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// A tag is a key-value pair where the key and value are case-sensitive. You 61// can use tags to categorize and track all your ElastiCache resources, with 62// the exception of global replication group. When you add or remove tags on 63// replication groups, those actions will be replicated to all nodes in the 64// replication group. For more information, see Resource-level permissions (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.ResourceLevelPermissions.html). 65// 66// For example, you can use cost-allocation tags to your ElastiCache resources, 67// Amazon generates a cost allocation report as a comma-separated value (CSV) 68// file with your usage and costs aggregated by your tags. You can apply tags 69// that represent business categories (such as cost centers, application names, 70// or owners) to organize your costs across multiple services. 71// 72// For more information, see Using Cost Allocation Tags in Amazon ElastiCache 73// (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html) 74// in the ElastiCache User Guide. 75// 76// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 77// with awserr.Error's Code and Message methods to get detailed information about 78// the error. 79// 80// See the AWS API reference guide for Amazon ElastiCache's 81// API operation AddTagsToResource for usage and error information. 82// 83// Returned Error Codes: 84// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 85// The requested cluster ID does not refer to an existing cluster. 86// 87// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 88// The requested cache parameter group name does not refer to an existing cache 89// parameter group. 90// 91// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 92// The requested cache security group name does not refer to an existing cache 93// security group. 94// 95// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 96// The requested cache subnet group name does not refer to an existing cache 97// subnet group. 98// 99// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 100// The requested replication group is not in the available state. 101// 102// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 103// The specified replication group does not exist. 104// 105// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 106// The requested reserved cache node was not found. 107// 108// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 109// The requested snapshot name does not refer to an existing snapshot. 110// 111// * ErrCodeUserNotFoundFault "UserNotFound" 112// The user does not exist or could not be found. 113// 114// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 115// The user group was not found or does not exist 116// 117// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 118// The request cannot be processed because it would cause the resource to have 119// more than the allowed number of tags. The maximum number of tags permitted 120// on a resource is 50. 121// 122// * ErrCodeInvalidARNFault "InvalidARN" 123// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 124// 125// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AddTagsToResource 126func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error) { 127 req, out := c.AddTagsToResourceRequest(input) 128 return out, req.Send() 129} 130 131// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of 132// the ability to pass a context and additional request options. 133// 134// See AddTagsToResource for details on how to use this API operation. 135// 136// The context must be non-nil and will be used for request cancellation. If 137// the context is nil a panic will occur. In the future the SDK may create 138// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 139// for more information on using Contexts. 140func (c *ElastiCache) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*TagListMessage, error) { 141 req, out := c.AddTagsToResourceRequest(input) 142 req.SetContext(ctx) 143 req.ApplyOptions(opts...) 144 return out, req.Send() 145} 146 147const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress" 148 149// AuthorizeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 150// client's request for the AuthorizeCacheSecurityGroupIngress operation. The "output" return 151// value will be populated with the request's response once the request completes 152// successfully. 153// 154// Use "Send" method on the returned Request to send the API call to the service. 155// the "output" return value is not valid until after Send returns without error. 156// 157// See AuthorizeCacheSecurityGroupIngress for more information on using the AuthorizeCacheSecurityGroupIngress 158// API call, and error handling. 159// 160// This method is useful when you want to inject custom logic or configuration 161// into the SDK's request lifecycle. Such as custom headers, or retry logic. 162// 163// 164// // Example sending a request using the AuthorizeCacheSecurityGroupIngressRequest method. 165// req, resp := client.AuthorizeCacheSecurityGroupIngressRequest(params) 166// 167// err := req.Send() 168// if err == nil { // resp is now filled 169// fmt.Println(resp) 170// } 171// 172// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizeCacheSecurityGroupIngress 173func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput) { 174 op := &request.Operation{ 175 Name: opAuthorizeCacheSecurityGroupIngress, 176 HTTPMethod: "POST", 177 HTTPPath: "/", 178 } 179 180 if input == nil { 181 input = &AuthorizeCacheSecurityGroupIngressInput{} 182 } 183 184 output = &AuthorizeCacheSecurityGroupIngressOutput{} 185 req = c.newRequest(op, input, output) 186 return 187} 188 189// AuthorizeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 190// 191// Allows network ingress to a cache security group. Applications using ElastiCache 192// must be running on Amazon EC2, and Amazon EC2 security groups are used as 193// the authorization mechanism. 194// 195// You cannot authorize ingress from an Amazon EC2 security group in one region 196// to an ElastiCache cluster in another region. 197// 198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 199// with awserr.Error's Code and Message methods to get detailed information about 200// the error. 201// 202// See the AWS API reference guide for Amazon ElastiCache's 203// API operation AuthorizeCacheSecurityGroupIngress for usage and error information. 204// 205// Returned Error Codes: 206// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 207// The requested cache security group name does not refer to an existing cache 208// security group. 209// 210// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 211// The current state of the cache security group does not allow deletion. 212// 213// * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists" 214// The specified Amazon EC2 security group is already authorized for the specified 215// cache security group. 216// 217// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 218// The value for a parameter is invalid. 219// 220// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 221// Two or more incompatible parameters were specified. 222// 223// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizeCacheSecurityGroupIngress 224func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSecurityGroupIngressInput) (*AuthorizeCacheSecurityGroupIngressOutput, error) { 225 req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input) 226 return out, req.Send() 227} 228 229// AuthorizeCacheSecurityGroupIngressWithContext is the same as AuthorizeCacheSecurityGroupIngress with the addition of 230// the ability to pass a context and additional request options. 231// 232// See AuthorizeCacheSecurityGroupIngress for details on how to use this API operation. 233// 234// The context must be non-nil and will be used for request cancellation. If 235// the context is nil a panic will occur. In the future the SDK may create 236// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 237// for more information on using Contexts. 238func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeCacheSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeCacheSecurityGroupIngressOutput, error) { 239 req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input) 240 req.SetContext(ctx) 241 req.ApplyOptions(opts...) 242 return out, req.Send() 243} 244 245const opBatchApplyUpdateAction = "BatchApplyUpdateAction" 246 247// BatchApplyUpdateActionRequest generates a "aws/request.Request" representing the 248// client's request for the BatchApplyUpdateAction operation. The "output" return 249// value will be populated with the request's response once the request completes 250// successfully. 251// 252// Use "Send" method on the returned Request to send the API call to the service. 253// the "output" return value is not valid until after Send returns without error. 254// 255// See BatchApplyUpdateAction for more information on using the BatchApplyUpdateAction 256// API call, and error handling. 257// 258// This method is useful when you want to inject custom logic or configuration 259// into the SDK's request lifecycle. Such as custom headers, or retry logic. 260// 261// 262// // Example sending a request using the BatchApplyUpdateActionRequest method. 263// req, resp := client.BatchApplyUpdateActionRequest(params) 264// 265// err := req.Send() 266// if err == nil { // resp is now filled 267// fmt.Println(resp) 268// } 269// 270// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchApplyUpdateAction 271func (c *ElastiCache) BatchApplyUpdateActionRequest(input *BatchApplyUpdateActionInput) (req *request.Request, output *BatchApplyUpdateActionOutput) { 272 op := &request.Operation{ 273 Name: opBatchApplyUpdateAction, 274 HTTPMethod: "POST", 275 HTTPPath: "/", 276 } 277 278 if input == nil { 279 input = &BatchApplyUpdateActionInput{} 280 } 281 282 output = &BatchApplyUpdateActionOutput{} 283 req = c.newRequest(op, input, output) 284 return 285} 286 287// BatchApplyUpdateAction API operation for Amazon ElastiCache. 288// 289// Apply the service update. For more information on service updates and applying 290// them, see Applying Service Updates (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/applying-updates.html). 291// 292// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 293// with awserr.Error's Code and Message methods to get detailed information about 294// the error. 295// 296// See the AWS API reference guide for Amazon ElastiCache's 297// API operation BatchApplyUpdateAction for usage and error information. 298// 299// Returned Error Codes: 300// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 301// The service update doesn't exist 302// 303// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 304// The value for a parameter is invalid. 305// 306// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchApplyUpdateAction 307func (c *ElastiCache) BatchApplyUpdateAction(input *BatchApplyUpdateActionInput) (*BatchApplyUpdateActionOutput, error) { 308 req, out := c.BatchApplyUpdateActionRequest(input) 309 return out, req.Send() 310} 311 312// BatchApplyUpdateActionWithContext is the same as BatchApplyUpdateAction with the addition of 313// the ability to pass a context and additional request options. 314// 315// See BatchApplyUpdateAction for details on how to use this API operation. 316// 317// The context must be non-nil and will be used for request cancellation. If 318// the context is nil a panic will occur. In the future the SDK may create 319// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 320// for more information on using Contexts. 321func (c *ElastiCache) BatchApplyUpdateActionWithContext(ctx aws.Context, input *BatchApplyUpdateActionInput, opts ...request.Option) (*BatchApplyUpdateActionOutput, error) { 322 req, out := c.BatchApplyUpdateActionRequest(input) 323 req.SetContext(ctx) 324 req.ApplyOptions(opts...) 325 return out, req.Send() 326} 327 328const opBatchStopUpdateAction = "BatchStopUpdateAction" 329 330// BatchStopUpdateActionRequest generates a "aws/request.Request" representing the 331// client's request for the BatchStopUpdateAction operation. The "output" return 332// value will be populated with the request's response once the request completes 333// successfully. 334// 335// Use "Send" method on the returned Request to send the API call to the service. 336// the "output" return value is not valid until after Send returns without error. 337// 338// See BatchStopUpdateAction for more information on using the BatchStopUpdateAction 339// API call, and error handling. 340// 341// This method is useful when you want to inject custom logic or configuration 342// into the SDK's request lifecycle. Such as custom headers, or retry logic. 343// 344// 345// // Example sending a request using the BatchStopUpdateActionRequest method. 346// req, resp := client.BatchStopUpdateActionRequest(params) 347// 348// err := req.Send() 349// if err == nil { // resp is now filled 350// fmt.Println(resp) 351// } 352// 353// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchStopUpdateAction 354func (c *ElastiCache) BatchStopUpdateActionRequest(input *BatchStopUpdateActionInput) (req *request.Request, output *BatchStopUpdateActionOutput) { 355 op := &request.Operation{ 356 Name: opBatchStopUpdateAction, 357 HTTPMethod: "POST", 358 HTTPPath: "/", 359 } 360 361 if input == nil { 362 input = &BatchStopUpdateActionInput{} 363 } 364 365 output = &BatchStopUpdateActionOutput{} 366 req = c.newRequest(op, input, output) 367 return 368} 369 370// BatchStopUpdateAction API operation for Amazon ElastiCache. 371// 372// Stop the service update. For more information on service updates and stopping 373// them, see Stopping Service Updates (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/stopping-self-service-updates.html). 374// 375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 376// with awserr.Error's Code and Message methods to get detailed information about 377// the error. 378// 379// See the AWS API reference guide for Amazon ElastiCache's 380// API operation BatchStopUpdateAction for usage and error information. 381// 382// Returned Error Codes: 383// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 384// The service update doesn't exist 385// 386// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 387// The value for a parameter is invalid. 388// 389// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchStopUpdateAction 390func (c *ElastiCache) BatchStopUpdateAction(input *BatchStopUpdateActionInput) (*BatchStopUpdateActionOutput, error) { 391 req, out := c.BatchStopUpdateActionRequest(input) 392 return out, req.Send() 393} 394 395// BatchStopUpdateActionWithContext is the same as BatchStopUpdateAction with the addition of 396// the ability to pass a context and additional request options. 397// 398// See BatchStopUpdateAction for details on how to use this API operation. 399// 400// The context must be non-nil and will be used for request cancellation. If 401// the context is nil a panic will occur. In the future the SDK may create 402// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 403// for more information on using Contexts. 404func (c *ElastiCache) BatchStopUpdateActionWithContext(ctx aws.Context, input *BatchStopUpdateActionInput, opts ...request.Option) (*BatchStopUpdateActionOutput, error) { 405 req, out := c.BatchStopUpdateActionRequest(input) 406 req.SetContext(ctx) 407 req.ApplyOptions(opts...) 408 return out, req.Send() 409} 410 411const opCompleteMigration = "CompleteMigration" 412 413// CompleteMigrationRequest generates a "aws/request.Request" representing the 414// client's request for the CompleteMigration operation. The "output" return 415// value will be populated with the request's response once the request completes 416// successfully. 417// 418// Use "Send" method on the returned Request to send the API call to the service. 419// the "output" return value is not valid until after Send returns without error. 420// 421// See CompleteMigration for more information on using the CompleteMigration 422// API call, and error handling. 423// 424// This method is useful when you want to inject custom logic or configuration 425// into the SDK's request lifecycle. Such as custom headers, or retry logic. 426// 427// 428// // Example sending a request using the CompleteMigrationRequest method. 429// req, resp := client.CompleteMigrationRequest(params) 430// 431// err := req.Send() 432// if err == nil { // resp is now filled 433// fmt.Println(resp) 434// } 435// 436// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration 437func (c *ElastiCache) CompleteMigrationRequest(input *CompleteMigrationInput) (req *request.Request, output *CompleteMigrationOutput) { 438 op := &request.Operation{ 439 Name: opCompleteMigration, 440 HTTPMethod: "POST", 441 HTTPPath: "/", 442 } 443 444 if input == nil { 445 input = &CompleteMigrationInput{} 446 } 447 448 output = &CompleteMigrationOutput{} 449 req = c.newRequest(op, input, output) 450 return 451} 452 453// CompleteMigration API operation for Amazon ElastiCache. 454// 455// Complete the migration of data. 456// 457// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 458// with awserr.Error's Code and Message methods to get detailed information about 459// the error. 460// 461// See the AWS API reference guide for Amazon ElastiCache's 462// API operation CompleteMigration for usage and error information. 463// 464// Returned Error Codes: 465// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 466// The specified replication group does not exist. 467// 468// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 469// The requested replication group is not in the available state. 470// 471// * ErrCodeReplicationGroupNotUnderMigrationFault "ReplicationGroupNotUnderMigrationFault" 472// The designated replication group is not available for data migration. 473// 474// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration 475func (c *ElastiCache) CompleteMigration(input *CompleteMigrationInput) (*CompleteMigrationOutput, error) { 476 req, out := c.CompleteMigrationRequest(input) 477 return out, req.Send() 478} 479 480// CompleteMigrationWithContext is the same as CompleteMigration with the addition of 481// the ability to pass a context and additional request options. 482// 483// See CompleteMigration for details on how to use this API operation. 484// 485// The context must be non-nil and will be used for request cancellation. If 486// the context is nil a panic will occur. In the future the SDK may create 487// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 488// for more information on using Contexts. 489func (c *ElastiCache) CompleteMigrationWithContext(ctx aws.Context, input *CompleteMigrationInput, opts ...request.Option) (*CompleteMigrationOutput, error) { 490 req, out := c.CompleteMigrationRequest(input) 491 req.SetContext(ctx) 492 req.ApplyOptions(opts...) 493 return out, req.Send() 494} 495 496const opCopySnapshot = "CopySnapshot" 497 498// CopySnapshotRequest generates a "aws/request.Request" representing the 499// client's request for the CopySnapshot operation. The "output" return 500// value will be populated with the request's response once the request completes 501// successfully. 502// 503// Use "Send" method on the returned Request to send the API call to the service. 504// the "output" return value is not valid until after Send returns without error. 505// 506// See CopySnapshot for more information on using the CopySnapshot 507// API call, and error handling. 508// 509// This method is useful when you want to inject custom logic or configuration 510// into the SDK's request lifecycle. Such as custom headers, or retry logic. 511// 512// 513// // Example sending a request using the CopySnapshotRequest method. 514// req, resp := client.CopySnapshotRequest(params) 515// 516// err := req.Send() 517// if err == nil { // resp is now filled 518// fmt.Println(resp) 519// } 520// 521// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot 522func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { 523 op := &request.Operation{ 524 Name: opCopySnapshot, 525 HTTPMethod: "POST", 526 HTTPPath: "/", 527 } 528 529 if input == nil { 530 input = &CopySnapshotInput{} 531 } 532 533 output = &CopySnapshotOutput{} 534 req = c.newRequest(op, input, output) 535 return 536} 537 538// CopySnapshot API operation for Amazon ElastiCache. 539// 540// Makes a copy of an existing snapshot. 541// 542// This operation is valid for Redis only. 543// 544// Users or groups that have permissions to use the CopySnapshot operation can 545// create their own Amazon S3 buckets and copy snapshots to it. To control access 546// to your snapshots, use an IAM policy to control who has the ability to use 547// the CopySnapshot operation. For more information about using IAM to control 548// the use of ElastiCache operations, see Exporting Snapshots (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 549// and Authentication & Access Control (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.html). 550// 551// You could receive the following error messages. 552// 553// Error Messages 554// 555// * Error Message: The S3 bucket %s is outside of the region. Solution: 556// Create an Amazon S3 bucket in the same region as your snapshot. For more 557// 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) 558// in the ElastiCache User Guide. 559// 560// * Error Message: The S3 bucket %s does not exist. Solution: Create an 561// Amazon S3 bucket in the same region as your snapshot. For more information, 562// 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) 563// in the ElastiCache User Guide. 564// 565// * Error Message: The S3 bucket %s is not owned by the authenticated user. 566// Solution: Create an Amazon S3 bucket in the same region as your snapshot. 567// 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) 568// in the ElastiCache User Guide. 569// 570// * Error Message: The authenticated user does not have sufficient permissions 571// to perform the desired activity. Solution: Contact your system administrator 572// to get the needed permissions. 573// 574// * Error Message: The S3 bucket %s already contains an object with key 575// %s. Solution: Give the TargetSnapshotName a new and unique value. If exporting 576// a snapshot, you could alternatively create a new Amazon S3 bucket and 577// use this same value for TargetSnapshotName. 578// 579// * Error Message: ElastiCache has not been granted READ permissions %s 580// on the S3 Bucket. Solution: Add List and Read permissions on the bucket. 581// For more information, see Step 2: Grant ElastiCache Access to Your Amazon 582// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 583// in the ElastiCache User Guide. 584// 585// * Error Message: ElastiCache has not been granted WRITE permissions %s 586// on the S3 Bucket. Solution: Add Upload/Delete permissions on the bucket. 587// For more information, see Step 2: Grant ElastiCache Access to Your Amazon 588// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 589// in the ElastiCache User Guide. 590// 591// * Error Message: ElastiCache has not been granted READ_ACP permissions 592// %s on the S3 Bucket. Solution: Add View Permissions on the bucket. For 593// more information, see Step 2: Grant ElastiCache Access to Your Amazon 594// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 595// in the ElastiCache User Guide. 596// 597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 598// with awserr.Error's Code and Message methods to get detailed information about 599// the error. 600// 601// See the AWS API reference guide for Amazon ElastiCache's 602// API operation CopySnapshot for usage and error information. 603// 604// Returned Error Codes: 605// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 606// You already have a snapshot with the given name. 607// 608// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 609// The requested snapshot name does not refer to an existing snapshot. 610// 611// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 612// The request cannot be processed because it would exceed the maximum number 613// of snapshots. 614// 615// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 616// The current state of the snapshot does not allow the requested operation 617// to occur. 618// 619// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 620// The request cannot be processed because it would cause the resource to have 621// more than the allowed number of tags. The maximum number of tags permitted 622// on a resource is 50. 623// 624// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 625// The value for a parameter is invalid. 626// 627// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 628// Two or more incompatible parameters were specified. 629// 630// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot 631func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { 632 req, out := c.CopySnapshotRequest(input) 633 return out, req.Send() 634} 635 636// CopySnapshotWithContext is the same as CopySnapshot with the addition of 637// the ability to pass a context and additional request options. 638// 639// See CopySnapshot for details on how to use this API operation. 640// 641// The context must be non-nil and will be used for request cancellation. If 642// the context is nil a panic will occur. In the future the SDK may create 643// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 644// for more information on using Contexts. 645func (c *ElastiCache) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) { 646 req, out := c.CopySnapshotRequest(input) 647 req.SetContext(ctx) 648 req.ApplyOptions(opts...) 649 return out, req.Send() 650} 651 652const opCreateCacheCluster = "CreateCacheCluster" 653 654// CreateCacheClusterRequest generates a "aws/request.Request" representing the 655// client's request for the CreateCacheCluster operation. The "output" return 656// value will be populated with the request's response once the request completes 657// successfully. 658// 659// Use "Send" method on the returned Request to send the API call to the service. 660// the "output" return value is not valid until after Send returns without error. 661// 662// See CreateCacheCluster for more information on using the CreateCacheCluster 663// API call, and error handling. 664// 665// This method is useful when you want to inject custom logic or configuration 666// into the SDK's request lifecycle. Such as custom headers, or retry logic. 667// 668// 669// // Example sending a request using the CreateCacheClusterRequest method. 670// req, resp := client.CreateCacheClusterRequest(params) 671// 672// err := req.Send() 673// if err == nil { // resp is now filled 674// fmt.Println(resp) 675// } 676// 677// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster 678func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) { 679 op := &request.Operation{ 680 Name: opCreateCacheCluster, 681 HTTPMethod: "POST", 682 HTTPPath: "/", 683 } 684 685 if input == nil { 686 input = &CreateCacheClusterInput{} 687 } 688 689 output = &CreateCacheClusterOutput{} 690 req = c.newRequest(op, input, output) 691 return 692} 693 694// CreateCacheCluster API operation for Amazon ElastiCache. 695// 696// Creates a cluster. All nodes in the cluster run the same protocol-compliant 697// cache engine software, either Memcached or Redis. 698// 699// This operation is not supported for Redis (cluster mode enabled) clusters. 700// 701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 702// with awserr.Error's Code and Message methods to get detailed information about 703// the error. 704// 705// See the AWS API reference guide for Amazon ElastiCache's 706// API operation CreateCacheCluster for usage and error information. 707// 708// Returned Error Codes: 709// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 710// The specified replication group does not exist. 711// 712// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 713// The requested replication group is not in the available state. 714// 715// * ErrCodeCacheClusterAlreadyExistsFault "CacheClusterAlreadyExists" 716// You already have a cluster with the given identifier. 717// 718// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 719// The requested cache node type is not available in the specified Availability 720// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 721// in the ElastiCache User Guide. 722// 723// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 724// The requested cache security group name does not refer to an existing cache 725// security group. 726// 727// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 728// The requested cache subnet group name does not refer to an existing cache 729// subnet group. 730// 731// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 732// The request cannot be processed because it would exceed the allowed number 733// of clusters per customer. 734// 735// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 736// The request cannot be processed because it would exceed the allowed number 737// of cache nodes in a single cluster. 738// 739// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 740// The request cannot be processed because it would exceed the allowed number 741// of cache nodes per customer. 742// 743// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 744// The requested cache parameter group name does not refer to an existing cache 745// parameter group. 746// 747// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 748// The VPC network is in an invalid state. 749// 750// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 751// The request cannot be processed because it would cause the resource to have 752// more than the allowed number of tags. The maximum number of tags permitted 753// on a resource is 50. 754// 755// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 756// The value for a parameter is invalid. 757// 758// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 759// Two or more incompatible parameters were specified. 760// 761// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster 762func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) { 763 req, out := c.CreateCacheClusterRequest(input) 764 return out, req.Send() 765} 766 767// CreateCacheClusterWithContext is the same as CreateCacheCluster with the addition of 768// the ability to pass a context and additional request options. 769// 770// See CreateCacheCluster for details on how to use this API operation. 771// 772// The context must be non-nil and will be used for request cancellation. If 773// the context is nil a panic will occur. In the future the SDK may create 774// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 775// for more information on using Contexts. 776func (c *ElastiCache) CreateCacheClusterWithContext(ctx aws.Context, input *CreateCacheClusterInput, opts ...request.Option) (*CreateCacheClusterOutput, error) { 777 req, out := c.CreateCacheClusterRequest(input) 778 req.SetContext(ctx) 779 req.ApplyOptions(opts...) 780 return out, req.Send() 781} 782 783const opCreateCacheParameterGroup = "CreateCacheParameterGroup" 784 785// CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the 786// client's request for the CreateCacheParameterGroup operation. The "output" return 787// value will be populated with the request's response once the request completes 788// successfully. 789// 790// Use "Send" method on the returned Request to send the API call to the service. 791// the "output" return value is not valid until after Send returns without error. 792// 793// See CreateCacheParameterGroup for more information on using the CreateCacheParameterGroup 794// API call, and error handling. 795// 796// This method is useful when you want to inject custom logic or configuration 797// into the SDK's request lifecycle. Such as custom headers, or retry logic. 798// 799// 800// // Example sending a request using the CreateCacheParameterGroupRequest method. 801// req, resp := client.CreateCacheParameterGroupRequest(params) 802// 803// err := req.Send() 804// if err == nil { // resp is now filled 805// fmt.Println(resp) 806// } 807// 808// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup 809func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) { 810 op := &request.Operation{ 811 Name: opCreateCacheParameterGroup, 812 HTTPMethod: "POST", 813 HTTPPath: "/", 814 } 815 816 if input == nil { 817 input = &CreateCacheParameterGroupInput{} 818 } 819 820 output = &CreateCacheParameterGroupOutput{} 821 req = c.newRequest(op, input, output) 822 return 823} 824 825// CreateCacheParameterGroup API operation for Amazon ElastiCache. 826// 827// Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache 828// parameter group is a collection of parameters and their values that are applied 829// to all of the nodes in any cluster or replication group using the CacheParameterGroup. 830// 831// A newly created CacheParameterGroup is an exact duplicate of the default 832// parameter group for the CacheParameterGroupFamily. To customize the newly 833// created CacheParameterGroup you can change the values of specific parameters. 834// For more information, see: 835// 836// * ModifyCacheParameterGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheParameterGroup.html) 837// in the ElastiCache API Reference. 838// 839// * Parameters and Parameter Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.html) 840// in the ElastiCache User Guide. 841// 842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 843// with awserr.Error's Code and Message methods to get detailed information about 844// the error. 845// 846// See the AWS API reference guide for Amazon ElastiCache's 847// API operation CreateCacheParameterGroup for usage and error information. 848// 849// Returned Error Codes: 850// * ErrCodeCacheParameterGroupQuotaExceededFault "CacheParameterGroupQuotaExceeded" 851// The request cannot be processed because it would exceed the maximum number 852// of cache security groups. 853// 854// * ErrCodeCacheParameterGroupAlreadyExistsFault "CacheParameterGroupAlreadyExists" 855// A cache parameter group with the requested name already exists. 856// 857// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 858// The current state of the cache parameter group does not allow the requested 859// operation to occur. 860// 861// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 862// The request cannot be processed because it would cause the resource to have 863// more than the allowed number of tags. The maximum number of tags permitted 864// on a resource is 50. 865// 866// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 867// The value for a parameter is invalid. 868// 869// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 870// Two or more incompatible parameters were specified. 871// 872// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup 873func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) { 874 req, out := c.CreateCacheParameterGroupRequest(input) 875 return out, req.Send() 876} 877 878// CreateCacheParameterGroupWithContext is the same as CreateCacheParameterGroup with the addition of 879// the ability to pass a context and additional request options. 880// 881// See CreateCacheParameterGroup for details on how to use this API operation. 882// 883// The context must be non-nil and will be used for request cancellation. If 884// the context is nil a panic will occur. In the future the SDK may create 885// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 886// for more information on using Contexts. 887func (c *ElastiCache) CreateCacheParameterGroupWithContext(ctx aws.Context, input *CreateCacheParameterGroupInput, opts ...request.Option) (*CreateCacheParameterGroupOutput, error) { 888 req, out := c.CreateCacheParameterGroupRequest(input) 889 req.SetContext(ctx) 890 req.ApplyOptions(opts...) 891 return out, req.Send() 892} 893 894const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup" 895 896// CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the 897// client's request for the CreateCacheSecurityGroup operation. The "output" return 898// value will be populated with the request's response once the request completes 899// successfully. 900// 901// Use "Send" method on the returned Request to send the API call to the service. 902// the "output" return value is not valid until after Send returns without error. 903// 904// See CreateCacheSecurityGroup for more information on using the CreateCacheSecurityGroup 905// API call, and error handling. 906// 907// This method is useful when you want to inject custom logic or configuration 908// into the SDK's request lifecycle. Such as custom headers, or retry logic. 909// 910// 911// // Example sending a request using the CreateCacheSecurityGroupRequest method. 912// req, resp := client.CreateCacheSecurityGroupRequest(params) 913// 914// err := req.Send() 915// if err == nil { // resp is now filled 916// fmt.Println(resp) 917// } 918// 919// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup 920func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) { 921 op := &request.Operation{ 922 Name: opCreateCacheSecurityGroup, 923 HTTPMethod: "POST", 924 HTTPPath: "/", 925 } 926 927 if input == nil { 928 input = &CreateCacheSecurityGroupInput{} 929 } 930 931 output = &CreateCacheSecurityGroupOutput{} 932 req = c.newRequest(op, input, output) 933 return 934} 935 936// CreateCacheSecurityGroup API operation for Amazon ElastiCache. 937// 938// Creates a new cache security group. Use a cache security group to control 939// access to one or more clusters. 940// 941// Cache security groups are only used when you are creating a cluster outside 942// of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster 943// inside of a VPC, use a cache subnet group instead. For more information, 944// see CreateCacheSubnetGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html). 945// 946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 947// with awserr.Error's Code and Message methods to get detailed information about 948// the error. 949// 950// See the AWS API reference guide for Amazon ElastiCache's 951// API operation CreateCacheSecurityGroup for usage and error information. 952// 953// Returned Error Codes: 954// * ErrCodeCacheSecurityGroupAlreadyExistsFault "CacheSecurityGroupAlreadyExists" 955// A cache security group with the specified name already exists. 956// 957// * ErrCodeCacheSecurityGroupQuotaExceededFault "QuotaExceeded.CacheSecurityGroup" 958// The request cannot be processed because it would exceed the allowed number 959// of cache security groups. 960// 961// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 962// The request cannot be processed because it would cause the resource to have 963// more than the allowed number of tags. The maximum number of tags permitted 964// on a resource is 50. 965// 966// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 967// The value for a parameter is invalid. 968// 969// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 970// Two or more incompatible parameters were specified. 971// 972// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup 973func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) { 974 req, out := c.CreateCacheSecurityGroupRequest(input) 975 return out, req.Send() 976} 977 978// CreateCacheSecurityGroupWithContext is the same as CreateCacheSecurityGroup with the addition of 979// the ability to pass a context and additional request options. 980// 981// See CreateCacheSecurityGroup for details on how to use this API operation. 982// 983// The context must be non-nil and will be used for request cancellation. If 984// the context is nil a panic will occur. In the future the SDK may create 985// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 986// for more information on using Contexts. 987func (c *ElastiCache) CreateCacheSecurityGroupWithContext(ctx aws.Context, input *CreateCacheSecurityGroupInput, opts ...request.Option) (*CreateCacheSecurityGroupOutput, error) { 988 req, out := c.CreateCacheSecurityGroupRequest(input) 989 req.SetContext(ctx) 990 req.ApplyOptions(opts...) 991 return out, req.Send() 992} 993 994const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup" 995 996// CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the 997// client's request for the CreateCacheSubnetGroup operation. The "output" return 998// value will be populated with the request's response once the request completes 999// successfully. 1000// 1001// Use "Send" method on the returned Request to send the API call to the service. 1002// the "output" return value is not valid until after Send returns without error. 1003// 1004// See CreateCacheSubnetGroup for more information on using the CreateCacheSubnetGroup 1005// API call, and error handling. 1006// 1007// This method is useful when you want to inject custom logic or configuration 1008// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1009// 1010// 1011// // Example sending a request using the CreateCacheSubnetGroupRequest method. 1012// req, resp := client.CreateCacheSubnetGroupRequest(params) 1013// 1014// err := req.Send() 1015// if err == nil { // resp is now filled 1016// fmt.Println(resp) 1017// } 1018// 1019// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup 1020func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) { 1021 op := &request.Operation{ 1022 Name: opCreateCacheSubnetGroup, 1023 HTTPMethod: "POST", 1024 HTTPPath: "/", 1025 } 1026 1027 if input == nil { 1028 input = &CreateCacheSubnetGroupInput{} 1029 } 1030 1031 output = &CreateCacheSubnetGroupOutput{} 1032 req = c.newRequest(op, input, output) 1033 return 1034} 1035 1036// CreateCacheSubnetGroup API operation for Amazon ElastiCache. 1037// 1038// Creates a new cache subnet group. 1039// 1040// Use this parameter only when you are creating a cluster in an Amazon Virtual 1041// Private Cloud (Amazon VPC). 1042// 1043// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1044// with awserr.Error's Code and Message methods to get detailed information about 1045// the error. 1046// 1047// See the AWS API reference guide for Amazon ElastiCache's 1048// API operation CreateCacheSubnetGroup for usage and error information. 1049// 1050// Returned Error Codes: 1051// * ErrCodeCacheSubnetGroupAlreadyExistsFault "CacheSubnetGroupAlreadyExists" 1052// The requested cache subnet group name is already in use by an existing cache 1053// subnet group. 1054// 1055// * ErrCodeCacheSubnetGroupQuotaExceededFault "CacheSubnetGroupQuotaExceeded" 1056// The request cannot be processed because it would exceed the allowed number 1057// of cache subnet groups. 1058// 1059// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 1060// The request cannot be processed because it would exceed the allowed number 1061// of subnets in a cache subnet group. 1062// 1063// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1064// The request cannot be processed because it would cause the resource to have 1065// more than the allowed number of tags. The maximum number of tags permitted 1066// on a resource is 50. 1067// 1068// * ErrCodeInvalidSubnet "InvalidSubnet" 1069// An invalid subnet identifier was specified. 1070// 1071// * ErrCodeSubnetNotAllowedFault "SubnetNotAllowedFault" 1072// At least one subnet ID does not match the other subnet IDs. This mismatch 1073// typically occurs when a user sets one subnet ID to a regional Availability 1074// Zone and a different one to an outpost. Or when a user sets the subnet ID 1075// to an Outpost when not subscribed on this service. 1076// 1077// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup 1078func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) { 1079 req, out := c.CreateCacheSubnetGroupRequest(input) 1080 return out, req.Send() 1081} 1082 1083// CreateCacheSubnetGroupWithContext is the same as CreateCacheSubnetGroup with the addition of 1084// the ability to pass a context and additional request options. 1085// 1086// See CreateCacheSubnetGroup for details on how to use this API operation. 1087// 1088// The context must be non-nil and will be used for request cancellation. If 1089// the context is nil a panic will occur. In the future the SDK may create 1090// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1091// for more information on using Contexts. 1092func (c *ElastiCache) CreateCacheSubnetGroupWithContext(ctx aws.Context, input *CreateCacheSubnetGroupInput, opts ...request.Option) (*CreateCacheSubnetGroupOutput, error) { 1093 req, out := c.CreateCacheSubnetGroupRequest(input) 1094 req.SetContext(ctx) 1095 req.ApplyOptions(opts...) 1096 return out, req.Send() 1097} 1098 1099const opCreateGlobalReplicationGroup = "CreateGlobalReplicationGroup" 1100 1101// CreateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 1102// client's request for the CreateGlobalReplicationGroup operation. The "output" return 1103// value will be populated with the request's response once the request completes 1104// successfully. 1105// 1106// Use "Send" method on the returned Request to send the API call to the service. 1107// the "output" return value is not valid until after Send returns without error. 1108// 1109// See CreateGlobalReplicationGroup for more information on using the CreateGlobalReplicationGroup 1110// API call, and error handling. 1111// 1112// This method is useful when you want to inject custom logic or configuration 1113// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1114// 1115// 1116// // Example sending a request using the CreateGlobalReplicationGroupRequest method. 1117// req, resp := client.CreateGlobalReplicationGroupRequest(params) 1118// 1119// err := req.Send() 1120// if err == nil { // resp is now filled 1121// fmt.Println(resp) 1122// } 1123// 1124// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroup 1125func (c *ElastiCache) CreateGlobalReplicationGroupRequest(input *CreateGlobalReplicationGroupInput) (req *request.Request, output *CreateGlobalReplicationGroupOutput) { 1126 op := &request.Operation{ 1127 Name: opCreateGlobalReplicationGroup, 1128 HTTPMethod: "POST", 1129 HTTPPath: "/", 1130 } 1131 1132 if input == nil { 1133 input = &CreateGlobalReplicationGroupInput{} 1134 } 1135 1136 output = &CreateGlobalReplicationGroupOutput{} 1137 req = c.newRequest(op, input, output) 1138 return 1139} 1140 1141// CreateGlobalReplicationGroup API operation for Amazon ElastiCache. 1142// 1143// Global Datastore for Redis offers fully managed, fast, reliable and secure 1144// cross-region replication. Using Global Datastore for Redis, you can create 1145// cross-region read replica clusters for ElastiCache for Redis to enable low-latency 1146// reads and disaster recovery across regions. For more information, see Replication 1147// Across Regions Using Global Datastore (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html). 1148// 1149// * The GlobalReplicationGroupIdSuffix is the name of the Global datastore. 1150// 1151// * The PrimaryReplicationGroupId represents the name of the primary cluster 1152// that accepts writes and will replicate updates to the secondary cluster. 1153// 1154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1155// with awserr.Error's Code and Message methods to get detailed information about 1156// the error. 1157// 1158// See the AWS API reference guide for Amazon ElastiCache's 1159// API operation CreateGlobalReplicationGroup for usage and error information. 1160// 1161// Returned Error Codes: 1162// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1163// The specified replication group does not exist. 1164// 1165// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1166// The requested replication group is not in the available state. 1167// 1168// * ErrCodeGlobalReplicationGroupAlreadyExistsFault "GlobalReplicationGroupAlreadyExistsFault" 1169// The Global datastore name already exists. 1170// 1171// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1172// The specified service linked role (SLR) was not found. 1173// 1174// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1175// The value for a parameter is invalid. 1176// 1177// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroup 1178func (c *ElastiCache) CreateGlobalReplicationGroup(input *CreateGlobalReplicationGroupInput) (*CreateGlobalReplicationGroupOutput, error) { 1179 req, out := c.CreateGlobalReplicationGroupRequest(input) 1180 return out, req.Send() 1181} 1182 1183// CreateGlobalReplicationGroupWithContext is the same as CreateGlobalReplicationGroup with the addition of 1184// the ability to pass a context and additional request options. 1185// 1186// See CreateGlobalReplicationGroup for details on how to use this API operation. 1187// 1188// The context must be non-nil and will be used for request cancellation. If 1189// the context is nil a panic will occur. In the future the SDK may create 1190// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1191// for more information on using Contexts. 1192func (c *ElastiCache) CreateGlobalReplicationGroupWithContext(ctx aws.Context, input *CreateGlobalReplicationGroupInput, opts ...request.Option) (*CreateGlobalReplicationGroupOutput, error) { 1193 req, out := c.CreateGlobalReplicationGroupRequest(input) 1194 req.SetContext(ctx) 1195 req.ApplyOptions(opts...) 1196 return out, req.Send() 1197} 1198 1199const opCreateReplicationGroup = "CreateReplicationGroup" 1200 1201// CreateReplicationGroupRequest generates a "aws/request.Request" representing the 1202// client's request for the CreateReplicationGroup operation. The "output" return 1203// value will be populated with the request's response once the request completes 1204// successfully. 1205// 1206// Use "Send" method on the returned Request to send the API call to the service. 1207// the "output" return value is not valid until after Send returns without error. 1208// 1209// See CreateReplicationGroup for more information on using the CreateReplicationGroup 1210// API call, and error handling. 1211// 1212// This method is useful when you want to inject custom logic or configuration 1213// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1214// 1215// 1216// // Example sending a request using the CreateReplicationGroupRequest method. 1217// req, resp := client.CreateReplicationGroupRequest(params) 1218// 1219// err := req.Send() 1220// if err == nil { // resp is now filled 1221// fmt.Println(resp) 1222// } 1223// 1224// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1225func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) { 1226 op := &request.Operation{ 1227 Name: opCreateReplicationGroup, 1228 HTTPMethod: "POST", 1229 HTTPPath: "/", 1230 } 1231 1232 if input == nil { 1233 input = &CreateReplicationGroupInput{} 1234 } 1235 1236 output = &CreateReplicationGroupOutput{} 1237 req = c.newRequest(op, input, output) 1238 return 1239} 1240 1241// CreateReplicationGroup API operation for Amazon ElastiCache. 1242// 1243// Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) 1244// replication group. 1245// 1246// This API can be used to create a standalone regional replication group or 1247// a secondary replication group associated with a Global datastore. 1248// 1249// A Redis (cluster mode disabled) replication group is a collection of clusters, 1250// where one of the clusters is a read/write primary and the others are read-only 1251// replicas. Writes to the primary are asynchronously propagated to the replicas. 1252// 1253// A Redis cluster-mode enabled cluster is comprised of from 1 to 90 shards 1254// (API/CLI: node groups). Each shard has a primary node and up to 5 read-only 1255// replica nodes. The configuration can range from 90 shards and 0 replicas 1256// to 15 shards and 5 replicas, which is the maximum number or replicas allowed. 1257// 1258// The node or shard limit can be increased to a maximum of 500 per cluster 1259// if the Redis engine version is 5.0.6 or higher. For example, you can choose 1260// to configure a 500 node cluster that ranges between 83 shards (one primary 1261// and 5 replicas per shard) and 500 shards (single primary and no replicas). 1262// Make sure there are enough available IP addresses to accommodate the increase. 1263// Common pitfalls include the subnets in the subnet group have too small a 1264// CIDR range or the subnets are shared and heavily used by other clusters. 1265// For more information, see Creating a Subnet Group (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.Creating.html). 1266// For versions below 5.0.6, the limit is 250 per cluster. 1267// 1268// To request a limit increase, see Amazon Service Limits (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) 1269// and choose the limit type Nodes per cluster per instance type. 1270// 1271// When a Redis (cluster mode disabled) replication group has been successfully 1272// created, you can add one or more read replicas to it, up to a total of 5 1273// read replicas. If you need to increase or decrease the number of node groups 1274// (console: shards), you can avail yourself of ElastiCache for Redis' scaling. 1275// For more information, see Scaling ElastiCache for Redis Clusters (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html) 1276// in the ElastiCache User Guide. 1277// 1278// This operation is valid for Redis only. 1279// 1280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1281// with awserr.Error's Code and Message methods to get detailed information about 1282// the error. 1283// 1284// See the AWS API reference guide for Amazon ElastiCache's 1285// API operation CreateReplicationGroup for usage and error information. 1286// 1287// Returned Error Codes: 1288// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1289// The requested cluster ID does not refer to an existing cluster. 1290// 1291// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1292// The requested cluster is not in the available state. 1293// 1294// * ErrCodeReplicationGroupAlreadyExistsFault "ReplicationGroupAlreadyExists" 1295// The specified replication group already exists. 1296// 1297// * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 1298// The user group is not in an active state. 1299// 1300// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 1301// The user group was not found or does not exist 1302// 1303// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1304// The requested cache node type is not available in the specified Availability 1305// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1306// in the ElastiCache User Guide. 1307// 1308// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1309// The requested cache security group name does not refer to an existing cache 1310// security group. 1311// 1312// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1313// The requested cache subnet group name does not refer to an existing cache 1314// subnet group. 1315// 1316// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1317// The request cannot be processed because it would exceed the allowed number 1318// of clusters per customer. 1319// 1320// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 1321// The request cannot be processed because it would exceed the allowed number 1322// of cache nodes in a single cluster. 1323// 1324// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1325// The request cannot be processed because it would exceed the allowed number 1326// of cache nodes per customer. 1327// 1328// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1329// The requested cache parameter group name does not refer to an existing cache 1330// parameter group. 1331// 1332// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1333// The VPC network is in an invalid state. 1334// 1335// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1336// The request cannot be processed because it would cause the resource to have 1337// more than the allowed number of tags. The maximum number of tags permitted 1338// on a resource is 50. 1339// 1340// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1341// The request cannot be processed because it would exceed the maximum allowed 1342// number of node groups (shards) in a single replication group. The default 1343// maximum is 90 1344// 1345// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 1346// The Global datastore does not exist 1347// 1348// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 1349// The Global datastore is not available or in primary-only state. 1350// 1351// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1352// The value for a parameter is invalid. 1353// 1354// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1355// Two or more incompatible parameters were specified. 1356// 1357// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1358func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { 1359 req, out := c.CreateReplicationGroupRequest(input) 1360 return out, req.Send() 1361} 1362 1363// CreateReplicationGroupWithContext is the same as CreateReplicationGroup with the addition of 1364// the ability to pass a context and additional request options. 1365// 1366// See CreateReplicationGroup for details on how to use this API operation. 1367// 1368// The context must be non-nil and will be used for request cancellation. If 1369// the context is nil a panic will occur. In the future the SDK may create 1370// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1371// for more information on using Contexts. 1372func (c *ElastiCache) CreateReplicationGroupWithContext(ctx aws.Context, input *CreateReplicationGroupInput, opts ...request.Option) (*CreateReplicationGroupOutput, error) { 1373 req, out := c.CreateReplicationGroupRequest(input) 1374 req.SetContext(ctx) 1375 req.ApplyOptions(opts...) 1376 return out, req.Send() 1377} 1378 1379const opCreateSnapshot = "CreateSnapshot" 1380 1381// CreateSnapshotRequest generates a "aws/request.Request" representing the 1382// client's request for the CreateSnapshot operation. The "output" return 1383// value will be populated with the request's response once the request completes 1384// successfully. 1385// 1386// Use "Send" method on the returned Request to send the API call to the service. 1387// the "output" return value is not valid until after Send returns without error. 1388// 1389// See CreateSnapshot for more information on using the CreateSnapshot 1390// API call, and error handling. 1391// 1392// This method is useful when you want to inject custom logic or configuration 1393// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1394// 1395// 1396// // Example sending a request using the CreateSnapshotRequest method. 1397// req, resp := client.CreateSnapshotRequest(params) 1398// 1399// err := req.Send() 1400// if err == nil { // resp is now filled 1401// fmt.Println(resp) 1402// } 1403// 1404// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1405func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { 1406 op := &request.Operation{ 1407 Name: opCreateSnapshot, 1408 HTTPMethod: "POST", 1409 HTTPPath: "/", 1410 } 1411 1412 if input == nil { 1413 input = &CreateSnapshotInput{} 1414 } 1415 1416 output = &CreateSnapshotOutput{} 1417 req = c.newRequest(op, input, output) 1418 return 1419} 1420 1421// CreateSnapshot API operation for Amazon ElastiCache. 1422// 1423// Creates a copy of an entire cluster or replication group at a specific moment 1424// in time. 1425// 1426// This operation is valid for Redis only. 1427// 1428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1429// with awserr.Error's Code and Message methods to get detailed information about 1430// the error. 1431// 1432// See the AWS API reference guide for Amazon ElastiCache's 1433// API operation CreateSnapshot for usage and error information. 1434// 1435// Returned Error Codes: 1436// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1437// You already have a snapshot with the given name. 1438// 1439// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1440// The requested cluster ID does not refer to an existing cluster. 1441// 1442// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1443// The specified replication group does not exist. 1444// 1445// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1446// The requested cluster is not in the available state. 1447// 1448// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1449// The requested replication group is not in the available state. 1450// 1451// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1452// The request cannot be processed because it would exceed the maximum number 1453// of snapshots. 1454// 1455// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1456// You attempted one of the following operations: 1457// 1458// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1459// node. 1460// 1461// * Creating a snapshot of a cluster that is running Memcached rather than 1462// Redis. 1463// 1464// Neither of these are supported by ElastiCache. 1465// 1466// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1467// The request cannot be processed because it would cause the resource to have 1468// more than the allowed number of tags. The maximum number of tags permitted 1469// on a resource is 50. 1470// 1471// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1472// Two or more incompatible parameters were specified. 1473// 1474// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1475// The value for a parameter is invalid. 1476// 1477// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1478func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { 1479 req, out := c.CreateSnapshotRequest(input) 1480 return out, req.Send() 1481} 1482 1483// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of 1484// the ability to pass a context and additional request options. 1485// 1486// See CreateSnapshot for details on how to use this API operation. 1487// 1488// The context must be non-nil and will be used for request cancellation. If 1489// the context is nil a panic will occur. In the future the SDK may create 1490// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1491// for more information on using Contexts. 1492func (c *ElastiCache) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { 1493 req, out := c.CreateSnapshotRequest(input) 1494 req.SetContext(ctx) 1495 req.ApplyOptions(opts...) 1496 return out, req.Send() 1497} 1498 1499const opCreateUser = "CreateUser" 1500 1501// CreateUserRequest generates a "aws/request.Request" representing the 1502// client's request for the CreateUser operation. The "output" return 1503// value will be populated with the request's response once the request completes 1504// successfully. 1505// 1506// Use "Send" method on the returned Request to send the API call to the service. 1507// the "output" return value is not valid until after Send returns without error. 1508// 1509// See CreateUser for more information on using the CreateUser 1510// API call, and error handling. 1511// 1512// This method is useful when you want to inject custom logic or configuration 1513// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1514// 1515// 1516// // Example sending a request using the CreateUserRequest method. 1517// req, resp := client.CreateUserRequest(params) 1518// 1519// err := req.Send() 1520// if err == nil { // resp is now filled 1521// fmt.Println(resp) 1522// } 1523// 1524// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUser 1525func (c *ElastiCache) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) { 1526 op := &request.Operation{ 1527 Name: opCreateUser, 1528 HTTPMethod: "POST", 1529 HTTPPath: "/", 1530 } 1531 1532 if input == nil { 1533 input = &CreateUserInput{} 1534 } 1535 1536 output = &CreateUserOutput{} 1537 req = c.newRequest(op, input, output) 1538 return 1539} 1540 1541// CreateUser API operation for Amazon ElastiCache. 1542// 1543// For Redis engine version 6.x onwards: Creates a Redis user. For more information, 1544// see Using Role Based Access Control (RBAC) (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html). 1545// 1546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1547// with awserr.Error's Code and Message methods to get detailed information about 1548// the error. 1549// 1550// See the AWS API reference guide for Amazon ElastiCache's 1551// API operation CreateUser for usage and error information. 1552// 1553// Returned Error Codes: 1554// * ErrCodeUserAlreadyExistsFault "UserAlreadyExists" 1555// A user with this ID already exists. 1556// 1557// * ErrCodeUserQuotaExceededFault "UserQuotaExceeded" 1558// The quota of users has been exceeded. 1559// 1560// * ErrCodeDuplicateUserNameFault "DuplicateUserName" 1561// A user with this username already exists. 1562// 1563// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1564// The value for a parameter is invalid. 1565// 1566// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1567// Two or more incompatible parameters were specified. 1568// 1569// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1570// The request cannot be processed because it would cause the resource to have 1571// more than the allowed number of tags. The maximum number of tags permitted 1572// on a resource is 50. 1573// 1574// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUser 1575func (c *ElastiCache) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { 1576 req, out := c.CreateUserRequest(input) 1577 return out, req.Send() 1578} 1579 1580// CreateUserWithContext is the same as CreateUser with the addition of 1581// the ability to pass a context and additional request options. 1582// 1583// See CreateUser for details on how to use this API operation. 1584// 1585// The context must be non-nil and will be used for request cancellation. If 1586// the context is nil a panic will occur. In the future the SDK may create 1587// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1588// for more information on using Contexts. 1589func (c *ElastiCache) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) { 1590 req, out := c.CreateUserRequest(input) 1591 req.SetContext(ctx) 1592 req.ApplyOptions(opts...) 1593 return out, req.Send() 1594} 1595 1596const opCreateUserGroup = "CreateUserGroup" 1597 1598// CreateUserGroupRequest generates a "aws/request.Request" representing the 1599// client's request for the CreateUserGroup operation. The "output" return 1600// value will be populated with the request's response once the request completes 1601// successfully. 1602// 1603// Use "Send" method on the returned Request to send the API call to the service. 1604// the "output" return value is not valid until after Send returns without error. 1605// 1606// See CreateUserGroup for more information on using the CreateUserGroup 1607// API call, and error handling. 1608// 1609// This method is useful when you want to inject custom logic or configuration 1610// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1611// 1612// 1613// // Example sending a request using the CreateUserGroupRequest method. 1614// req, resp := client.CreateUserGroupRequest(params) 1615// 1616// err := req.Send() 1617// if err == nil { // resp is now filled 1618// fmt.Println(resp) 1619// } 1620// 1621// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserGroup 1622func (c *ElastiCache) CreateUserGroupRequest(input *CreateUserGroupInput) (req *request.Request, output *CreateUserGroupOutput) { 1623 op := &request.Operation{ 1624 Name: opCreateUserGroup, 1625 HTTPMethod: "POST", 1626 HTTPPath: "/", 1627 } 1628 1629 if input == nil { 1630 input = &CreateUserGroupInput{} 1631 } 1632 1633 output = &CreateUserGroupOutput{} 1634 req = c.newRequest(op, input, output) 1635 return 1636} 1637 1638// CreateUserGroup API operation for Amazon ElastiCache. 1639// 1640// For Redis engine version 6.x onwards: Creates a Redis user group. For more 1641// information, see Using Role Based Access Control (RBAC) (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html) 1642// 1643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1644// with awserr.Error's Code and Message methods to get detailed information about 1645// the error. 1646// 1647// See the AWS API reference guide for Amazon ElastiCache's 1648// API operation CreateUserGroup for usage and error information. 1649// 1650// Returned Error Codes: 1651// * ErrCodeUserNotFoundFault "UserNotFound" 1652// The user does not exist or could not be found. 1653// 1654// * ErrCodeDuplicateUserNameFault "DuplicateUserName" 1655// A user with this username already exists. 1656// 1657// * ErrCodeUserGroupAlreadyExistsFault "UserGroupAlreadyExists" 1658// The user group with this ID already exists. 1659// 1660// * ErrCodeDefaultUserRequired "DefaultUserRequired" 1661// You must add default user to a user group. 1662// 1663// * ErrCodeUserGroupQuotaExceededFault "UserGroupQuotaExceeded" 1664// The number of users exceeds the user group limit. 1665// 1666// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1667// The value for a parameter is invalid. 1668// 1669// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1670// The request cannot be processed because it would cause the resource to have 1671// more than the allowed number of tags. The maximum number of tags permitted 1672// on a resource is 50. 1673// 1674// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateUserGroup 1675func (c *ElastiCache) CreateUserGroup(input *CreateUserGroupInput) (*CreateUserGroupOutput, error) { 1676 req, out := c.CreateUserGroupRequest(input) 1677 return out, req.Send() 1678} 1679 1680// CreateUserGroupWithContext is the same as CreateUserGroup with the addition of 1681// the ability to pass a context and additional request options. 1682// 1683// See CreateUserGroup for details on how to use this API operation. 1684// 1685// The context must be non-nil and will be used for request cancellation. If 1686// the context is nil a panic will occur. In the future the SDK may create 1687// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1688// for more information on using Contexts. 1689func (c *ElastiCache) CreateUserGroupWithContext(ctx aws.Context, input *CreateUserGroupInput, opts ...request.Option) (*CreateUserGroupOutput, error) { 1690 req, out := c.CreateUserGroupRequest(input) 1691 req.SetContext(ctx) 1692 req.ApplyOptions(opts...) 1693 return out, req.Send() 1694} 1695 1696const opDecreaseNodeGroupsInGlobalReplicationGroup = "DecreaseNodeGroupsInGlobalReplicationGroup" 1697 1698// DecreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 1699// client's request for the DecreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 1700// value will be populated with the request's response once the request completes 1701// successfully. 1702// 1703// Use "Send" method on the returned Request to send the API call to the service. 1704// the "output" return value is not valid until after Send returns without error. 1705// 1706// See DecreaseNodeGroupsInGlobalReplicationGroup for more information on using the DecreaseNodeGroupsInGlobalReplicationGroup 1707// API call, and error handling. 1708// 1709// This method is useful when you want to inject custom logic or configuration 1710// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1711// 1712// 1713// // Example sending a request using the DecreaseNodeGroupsInGlobalReplicationGroupRequest method. 1714// req, resp := client.DecreaseNodeGroupsInGlobalReplicationGroupRequest(params) 1715// 1716// err := req.Send() 1717// if err == nil { // resp is now filled 1718// fmt.Println(resp) 1719// } 1720// 1721// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup 1722func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupRequest(input *DecreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *DecreaseNodeGroupsInGlobalReplicationGroupOutput) { 1723 op := &request.Operation{ 1724 Name: opDecreaseNodeGroupsInGlobalReplicationGroup, 1725 HTTPMethod: "POST", 1726 HTTPPath: "/", 1727 } 1728 1729 if input == nil { 1730 input = &DecreaseNodeGroupsInGlobalReplicationGroupInput{} 1731 } 1732 1733 output = &DecreaseNodeGroupsInGlobalReplicationGroupOutput{} 1734 req = c.newRequest(op, input, output) 1735 return 1736} 1737 1738// DecreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 1739// 1740// Decreases the number of node groups in a Global datastore 1741// 1742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1743// with awserr.Error's Code and Message methods to get detailed information about 1744// the error. 1745// 1746// See the AWS API reference guide for Amazon ElastiCache's 1747// API operation DecreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 1748// 1749// Returned Error Codes: 1750// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 1751// The Global datastore does not exist 1752// 1753// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 1754// The Global datastore is not available or in primary-only state. 1755// 1756// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1757// The value for a parameter is invalid. 1758// 1759// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1760// Two or more incompatible parameters were specified. 1761// 1762// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup 1763func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroup(input *DecreaseNodeGroupsInGlobalReplicationGroupInput) (*DecreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 1764 req, out := c.DecreaseNodeGroupsInGlobalReplicationGroupRequest(input) 1765 return out, req.Send() 1766} 1767 1768// DecreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as DecreaseNodeGroupsInGlobalReplicationGroup with the addition of 1769// the ability to pass a context and additional request options. 1770// 1771// See DecreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 1772// 1773// The context must be non-nil and will be used for request cancellation. If 1774// the context is nil a panic will occur. In the future the SDK may create 1775// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1776// for more information on using Contexts. 1777func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *DecreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*DecreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 1778 req, out := c.DecreaseNodeGroupsInGlobalReplicationGroupRequest(input) 1779 req.SetContext(ctx) 1780 req.ApplyOptions(opts...) 1781 return out, req.Send() 1782} 1783 1784const opDecreaseReplicaCount = "DecreaseReplicaCount" 1785 1786// DecreaseReplicaCountRequest generates a "aws/request.Request" representing the 1787// client's request for the DecreaseReplicaCount operation. The "output" return 1788// value will be populated with the request's response once the request completes 1789// successfully. 1790// 1791// Use "Send" method on the returned Request to send the API call to the service. 1792// the "output" return value is not valid until after Send returns without error. 1793// 1794// See DecreaseReplicaCount for more information on using the DecreaseReplicaCount 1795// API call, and error handling. 1796// 1797// This method is useful when you want to inject custom logic or configuration 1798// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1799// 1800// 1801// // Example sending a request using the DecreaseReplicaCountRequest method. 1802// req, resp := client.DecreaseReplicaCountRequest(params) 1803// 1804// err := req.Send() 1805// if err == nil { // resp is now filled 1806// fmt.Println(resp) 1807// } 1808// 1809// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1810func (c *ElastiCache) DecreaseReplicaCountRequest(input *DecreaseReplicaCountInput) (req *request.Request, output *DecreaseReplicaCountOutput) { 1811 op := &request.Operation{ 1812 Name: opDecreaseReplicaCount, 1813 HTTPMethod: "POST", 1814 HTTPPath: "/", 1815 } 1816 1817 if input == nil { 1818 input = &DecreaseReplicaCountInput{} 1819 } 1820 1821 output = &DecreaseReplicaCountOutput{} 1822 req = c.newRequest(op, input, output) 1823 return 1824} 1825 1826// DecreaseReplicaCount API operation for Amazon ElastiCache. 1827// 1828// Dynamically decreases the number of replicas in a Redis (cluster mode disabled) 1829// replication group or the number of replica nodes in one or more node groups 1830// (shards) of a Redis (cluster mode enabled) replication group. This operation 1831// is performed with no cluster down time. 1832// 1833// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1834// with awserr.Error's Code and Message methods to get detailed information about 1835// the error. 1836// 1837// See the AWS API reference guide for Amazon ElastiCache's 1838// API operation DecreaseReplicaCount for usage and error information. 1839// 1840// Returned Error Codes: 1841// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1842// The specified replication group does not exist. 1843// 1844// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1845// The requested replication group is not in the available state. 1846// 1847// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1848// The requested cluster is not in the available state. 1849// 1850// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1851// The VPC network is in an invalid state. 1852// 1853// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1854// The requested cache node type is not available in the specified Availability 1855// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1856// in the ElastiCache User Guide. 1857// 1858// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1859// The request cannot be processed because it would exceed the allowed number 1860// of clusters per customer. 1861// 1862// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1863// The request cannot be processed because it would exceed the maximum allowed 1864// number of node groups (shards) in a single replication group. The default 1865// maximum is 90 1866// 1867// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1868// The request cannot be processed because it would exceed the allowed number 1869// of cache nodes per customer. 1870// 1871// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1872// The specified service linked role (SLR) was not found. 1873// 1874// * ErrCodeNoOperationFault "NoOperationFault" 1875// The operation was not performed because no changes were required. 1876// 1877// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1878// The value for a parameter is invalid. 1879// 1880// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1881// Two or more incompatible parameters were specified. 1882// 1883// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1884func (c *ElastiCache) DecreaseReplicaCount(input *DecreaseReplicaCountInput) (*DecreaseReplicaCountOutput, error) { 1885 req, out := c.DecreaseReplicaCountRequest(input) 1886 return out, req.Send() 1887} 1888 1889// DecreaseReplicaCountWithContext is the same as DecreaseReplicaCount with the addition of 1890// the ability to pass a context and additional request options. 1891// 1892// See DecreaseReplicaCount for details on how to use this API operation. 1893// 1894// The context must be non-nil and will be used for request cancellation. If 1895// the context is nil a panic will occur. In the future the SDK may create 1896// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1897// for more information on using Contexts. 1898func (c *ElastiCache) DecreaseReplicaCountWithContext(ctx aws.Context, input *DecreaseReplicaCountInput, opts ...request.Option) (*DecreaseReplicaCountOutput, error) { 1899 req, out := c.DecreaseReplicaCountRequest(input) 1900 req.SetContext(ctx) 1901 req.ApplyOptions(opts...) 1902 return out, req.Send() 1903} 1904 1905const opDeleteCacheCluster = "DeleteCacheCluster" 1906 1907// DeleteCacheClusterRequest generates a "aws/request.Request" representing the 1908// client's request for the DeleteCacheCluster operation. The "output" return 1909// value will be populated with the request's response once the request completes 1910// successfully. 1911// 1912// Use "Send" method on the returned Request to send the API call to the service. 1913// the "output" return value is not valid until after Send returns without error. 1914// 1915// See DeleteCacheCluster for more information on using the DeleteCacheCluster 1916// API call, and error handling. 1917// 1918// This method is useful when you want to inject custom logic or configuration 1919// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1920// 1921// 1922// // Example sending a request using the DeleteCacheClusterRequest method. 1923// req, resp := client.DeleteCacheClusterRequest(params) 1924// 1925// err := req.Send() 1926// if err == nil { // resp is now filled 1927// fmt.Println(resp) 1928// } 1929// 1930// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1931func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { 1932 op := &request.Operation{ 1933 Name: opDeleteCacheCluster, 1934 HTTPMethod: "POST", 1935 HTTPPath: "/", 1936 } 1937 1938 if input == nil { 1939 input = &DeleteCacheClusterInput{} 1940 } 1941 1942 output = &DeleteCacheClusterOutput{} 1943 req = c.newRequest(op, input, output) 1944 return 1945} 1946 1947// DeleteCacheCluster API operation for Amazon ElastiCache. 1948// 1949// Deletes a previously provisioned cluster. DeleteCacheCluster deletes all 1950// associated cache nodes, node endpoints and the cluster itself. When you receive 1951// a successful response from this operation, Amazon ElastiCache immediately 1952// begins deleting the cluster; you cannot cancel or revert this operation. 1953// 1954// This operation is not valid for: 1955// 1956// * Redis (cluster mode enabled) clusters 1957// 1958// * Redis (cluster mode disabled) clusters 1959// 1960// * A cluster that is the last read replica of a replication group 1961// 1962// * A cluster that is the primary node of a replication group 1963// 1964// * A node group (shard) that has Multi-AZ mode enabled 1965// 1966// * A cluster from a Redis (cluster mode enabled) replication group 1967// 1968// * A cluster that is not in the available state 1969// 1970// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1971// with awserr.Error's Code and Message methods to get detailed information about 1972// the error. 1973// 1974// See the AWS API reference guide for Amazon ElastiCache's 1975// API operation DeleteCacheCluster for usage and error information. 1976// 1977// Returned Error Codes: 1978// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1979// The requested cluster ID does not refer to an existing cluster. 1980// 1981// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1982// The requested cluster is not in the available state. 1983// 1984// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1985// You already have a snapshot with the given name. 1986// 1987// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1988// You attempted one of the following operations: 1989// 1990// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1991// node. 1992// 1993// * Creating a snapshot of a cluster that is running Memcached rather than 1994// Redis. 1995// 1996// Neither of these are supported by ElastiCache. 1997// 1998// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1999// The request cannot be processed because it would exceed the maximum number 2000// of snapshots. 2001// 2002// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2003// The value for a parameter is invalid. 2004// 2005// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2006// Two or more incompatible parameters were specified. 2007// 2008// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 2009func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { 2010 req, out := c.DeleteCacheClusterRequest(input) 2011 return out, req.Send() 2012} 2013 2014// DeleteCacheClusterWithContext is the same as DeleteCacheCluster with the addition of 2015// the ability to pass a context and additional request options. 2016// 2017// See DeleteCacheCluster for details on how to use this API operation. 2018// 2019// The context must be non-nil and will be used for request cancellation. If 2020// the context is nil a panic will occur. In the future the SDK may create 2021// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2022// for more information on using Contexts. 2023func (c *ElastiCache) DeleteCacheClusterWithContext(ctx aws.Context, input *DeleteCacheClusterInput, opts ...request.Option) (*DeleteCacheClusterOutput, error) { 2024 req, out := c.DeleteCacheClusterRequest(input) 2025 req.SetContext(ctx) 2026 req.ApplyOptions(opts...) 2027 return out, req.Send() 2028} 2029 2030const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" 2031 2032// DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the 2033// client's request for the DeleteCacheParameterGroup operation. The "output" return 2034// value will be populated with the request's response once the request completes 2035// successfully. 2036// 2037// Use "Send" method on the returned Request to send the API call to the service. 2038// the "output" return value is not valid until after Send returns without error. 2039// 2040// See DeleteCacheParameterGroup for more information on using the DeleteCacheParameterGroup 2041// API call, and error handling. 2042// 2043// This method is useful when you want to inject custom logic or configuration 2044// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2045// 2046// 2047// // Example sending a request using the DeleteCacheParameterGroupRequest method. 2048// req, resp := client.DeleteCacheParameterGroupRequest(params) 2049// 2050// err := req.Send() 2051// if err == nil { // resp is now filled 2052// fmt.Println(resp) 2053// } 2054// 2055// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 2056func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { 2057 op := &request.Operation{ 2058 Name: opDeleteCacheParameterGroup, 2059 HTTPMethod: "POST", 2060 HTTPPath: "/", 2061 } 2062 2063 if input == nil { 2064 input = &DeleteCacheParameterGroupInput{} 2065 } 2066 2067 output = &DeleteCacheParameterGroupOutput{} 2068 req = c.newRequest(op, input, output) 2069 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2070 return 2071} 2072 2073// DeleteCacheParameterGroup API operation for Amazon ElastiCache. 2074// 2075// Deletes the specified cache parameter group. You cannot delete a cache parameter 2076// group if it is associated with any cache clusters. You cannot delete the 2077// default cache parameter groups in your account. 2078// 2079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2080// with awserr.Error's Code and Message methods to get detailed information about 2081// the error. 2082// 2083// See the AWS API reference guide for Amazon ElastiCache's 2084// API operation DeleteCacheParameterGroup for usage and error information. 2085// 2086// Returned Error Codes: 2087// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 2088// The current state of the cache parameter group does not allow the requested 2089// operation to occur. 2090// 2091// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2092// The requested cache parameter group name does not refer to an existing cache 2093// parameter group. 2094// 2095// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2096// The value for a parameter is invalid. 2097// 2098// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2099// Two or more incompatible parameters were specified. 2100// 2101// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 2102func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { 2103 req, out := c.DeleteCacheParameterGroupRequest(input) 2104 return out, req.Send() 2105} 2106 2107// DeleteCacheParameterGroupWithContext is the same as DeleteCacheParameterGroup with the addition of 2108// the ability to pass a context and additional request options. 2109// 2110// See DeleteCacheParameterGroup for details on how to use this API operation. 2111// 2112// The context must be non-nil and will be used for request cancellation. If 2113// the context is nil a panic will occur. In the future the SDK may create 2114// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2115// for more information on using Contexts. 2116func (c *ElastiCache) DeleteCacheParameterGroupWithContext(ctx aws.Context, input *DeleteCacheParameterGroupInput, opts ...request.Option) (*DeleteCacheParameterGroupOutput, error) { 2117 req, out := c.DeleteCacheParameterGroupRequest(input) 2118 req.SetContext(ctx) 2119 req.ApplyOptions(opts...) 2120 return out, req.Send() 2121} 2122 2123const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" 2124 2125// DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the 2126// client's request for the DeleteCacheSecurityGroup operation. The "output" return 2127// value will be populated with the request's response once the request completes 2128// successfully. 2129// 2130// Use "Send" method on the returned Request to send the API call to the service. 2131// the "output" return value is not valid until after Send returns without error. 2132// 2133// See DeleteCacheSecurityGroup for more information on using the DeleteCacheSecurityGroup 2134// API call, and error handling. 2135// 2136// This method is useful when you want to inject custom logic or configuration 2137// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2138// 2139// 2140// // Example sending a request using the DeleteCacheSecurityGroupRequest method. 2141// req, resp := client.DeleteCacheSecurityGroupRequest(params) 2142// 2143// err := req.Send() 2144// if err == nil { // resp is now filled 2145// fmt.Println(resp) 2146// } 2147// 2148// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 2149func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { 2150 op := &request.Operation{ 2151 Name: opDeleteCacheSecurityGroup, 2152 HTTPMethod: "POST", 2153 HTTPPath: "/", 2154 } 2155 2156 if input == nil { 2157 input = &DeleteCacheSecurityGroupInput{} 2158 } 2159 2160 output = &DeleteCacheSecurityGroupOutput{} 2161 req = c.newRequest(op, input, output) 2162 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2163 return 2164} 2165 2166// DeleteCacheSecurityGroup API operation for Amazon ElastiCache. 2167// 2168// Deletes a cache security group. 2169// 2170// You cannot delete a cache security group if it is associated with any clusters. 2171// 2172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2173// with awserr.Error's Code and Message methods to get detailed information about 2174// the error. 2175// 2176// See the AWS API reference guide for Amazon ElastiCache's 2177// API operation DeleteCacheSecurityGroup for usage and error information. 2178// 2179// Returned Error Codes: 2180// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 2181// The current state of the cache security group does not allow deletion. 2182// 2183// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 2184// The requested cache security group name does not refer to an existing cache 2185// security group. 2186// 2187// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2188// The value for a parameter is invalid. 2189// 2190// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2191// Two or more incompatible parameters were specified. 2192// 2193// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 2194func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { 2195 req, out := c.DeleteCacheSecurityGroupRequest(input) 2196 return out, req.Send() 2197} 2198 2199// DeleteCacheSecurityGroupWithContext is the same as DeleteCacheSecurityGroup with the addition of 2200// the ability to pass a context and additional request options. 2201// 2202// See DeleteCacheSecurityGroup for details on how to use this API operation. 2203// 2204// The context must be non-nil and will be used for request cancellation. If 2205// the context is nil a panic will occur. In the future the SDK may create 2206// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2207// for more information on using Contexts. 2208func (c *ElastiCache) DeleteCacheSecurityGroupWithContext(ctx aws.Context, input *DeleteCacheSecurityGroupInput, opts ...request.Option) (*DeleteCacheSecurityGroupOutput, error) { 2209 req, out := c.DeleteCacheSecurityGroupRequest(input) 2210 req.SetContext(ctx) 2211 req.ApplyOptions(opts...) 2212 return out, req.Send() 2213} 2214 2215const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" 2216 2217// DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the 2218// client's request for the DeleteCacheSubnetGroup operation. The "output" return 2219// value will be populated with the request's response once the request completes 2220// successfully. 2221// 2222// Use "Send" method on the returned Request to send the API call to the service. 2223// the "output" return value is not valid until after Send returns without error. 2224// 2225// See DeleteCacheSubnetGroup for more information on using the DeleteCacheSubnetGroup 2226// API call, and error handling. 2227// 2228// This method is useful when you want to inject custom logic or configuration 2229// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2230// 2231// 2232// // Example sending a request using the DeleteCacheSubnetGroupRequest method. 2233// req, resp := client.DeleteCacheSubnetGroupRequest(params) 2234// 2235// err := req.Send() 2236// if err == nil { // resp is now filled 2237// fmt.Println(resp) 2238// } 2239// 2240// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 2241func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { 2242 op := &request.Operation{ 2243 Name: opDeleteCacheSubnetGroup, 2244 HTTPMethod: "POST", 2245 HTTPPath: "/", 2246 } 2247 2248 if input == nil { 2249 input = &DeleteCacheSubnetGroupInput{} 2250 } 2251 2252 output = &DeleteCacheSubnetGroupOutput{} 2253 req = c.newRequest(op, input, output) 2254 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2255 return 2256} 2257 2258// DeleteCacheSubnetGroup API operation for Amazon ElastiCache. 2259// 2260// Deletes a cache subnet group. 2261// 2262// You cannot delete a default cache subnet group or one that is associated 2263// with any clusters. 2264// 2265// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2266// with awserr.Error's Code and Message methods to get detailed information about 2267// the error. 2268// 2269// See the AWS API reference guide for Amazon ElastiCache's 2270// API operation DeleteCacheSubnetGroup for usage and error information. 2271// 2272// Returned Error Codes: 2273// * ErrCodeCacheSubnetGroupInUse "CacheSubnetGroupInUse" 2274// The requested cache subnet group is currently in use. 2275// 2276// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 2277// The requested cache subnet group name does not refer to an existing cache 2278// subnet group. 2279// 2280// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 2281func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { 2282 req, out := c.DeleteCacheSubnetGroupRequest(input) 2283 return out, req.Send() 2284} 2285 2286// DeleteCacheSubnetGroupWithContext is the same as DeleteCacheSubnetGroup with the addition of 2287// the ability to pass a context and additional request options. 2288// 2289// See DeleteCacheSubnetGroup for details on how to use this API operation. 2290// 2291// The context must be non-nil and will be used for request cancellation. If 2292// the context is nil a panic will occur. In the future the SDK may create 2293// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2294// for more information on using Contexts. 2295func (c *ElastiCache) DeleteCacheSubnetGroupWithContext(ctx aws.Context, input *DeleteCacheSubnetGroupInput, opts ...request.Option) (*DeleteCacheSubnetGroupOutput, error) { 2296 req, out := c.DeleteCacheSubnetGroupRequest(input) 2297 req.SetContext(ctx) 2298 req.ApplyOptions(opts...) 2299 return out, req.Send() 2300} 2301 2302const opDeleteGlobalReplicationGroup = "DeleteGlobalReplicationGroup" 2303 2304// DeleteGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 2305// client's request for the DeleteGlobalReplicationGroup operation. The "output" return 2306// value will be populated with the request's response once the request completes 2307// successfully. 2308// 2309// Use "Send" method on the returned Request to send the API call to the service. 2310// the "output" return value is not valid until after Send returns without error. 2311// 2312// See DeleteGlobalReplicationGroup for more information on using the DeleteGlobalReplicationGroup 2313// API call, and error handling. 2314// 2315// This method is useful when you want to inject custom logic or configuration 2316// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2317// 2318// 2319// // Example sending a request using the DeleteGlobalReplicationGroupRequest method. 2320// req, resp := client.DeleteGlobalReplicationGroupRequest(params) 2321// 2322// err := req.Send() 2323// if err == nil { // resp is now filled 2324// fmt.Println(resp) 2325// } 2326// 2327// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup 2328func (c *ElastiCache) DeleteGlobalReplicationGroupRequest(input *DeleteGlobalReplicationGroupInput) (req *request.Request, output *DeleteGlobalReplicationGroupOutput) { 2329 op := &request.Operation{ 2330 Name: opDeleteGlobalReplicationGroup, 2331 HTTPMethod: "POST", 2332 HTTPPath: "/", 2333 } 2334 2335 if input == nil { 2336 input = &DeleteGlobalReplicationGroupInput{} 2337 } 2338 2339 output = &DeleteGlobalReplicationGroupOutput{} 2340 req = c.newRequest(op, input, output) 2341 return 2342} 2343 2344// DeleteGlobalReplicationGroup API operation for Amazon ElastiCache. 2345// 2346// Deleting a Global datastore is a two-step process: 2347// 2348// * First, you must DisassociateGlobalReplicationGroup to remove the secondary 2349// clusters in the Global datastore. 2350// 2351// * Once the Global datastore contains only the primary cluster, you can 2352// use the DeleteGlobalReplicationGroup API to delete the Global datastore 2353// while retainining the primary cluster using RetainPrimaryReplicationGroup=true. 2354// 2355// Since the Global Datastore has only a primary cluster, you can delete the 2356// Global Datastore while retaining the primary by setting RetainPrimaryReplicationGroup=true. 2357// The primary cluster is never deleted when deleting a Global Datastore. It 2358// can only be deleted when it no longer is associated with any Global Datastore. 2359// 2360// When you receive a successful response from this operation, Amazon ElastiCache 2361// immediately begins deleting the selected resources; you cannot cancel or 2362// revert this operation. 2363// 2364// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2365// with awserr.Error's Code and Message methods to get detailed information about 2366// the error. 2367// 2368// See the AWS API reference guide for Amazon ElastiCache's 2369// API operation DeleteGlobalReplicationGroup for usage and error information. 2370// 2371// Returned Error Codes: 2372// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 2373// The Global datastore does not exist 2374// 2375// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 2376// The Global datastore is not available or in primary-only state. 2377// 2378// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2379// The value for a parameter is invalid. 2380// 2381// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup 2382func (c *ElastiCache) DeleteGlobalReplicationGroup(input *DeleteGlobalReplicationGroupInput) (*DeleteGlobalReplicationGroupOutput, error) { 2383 req, out := c.DeleteGlobalReplicationGroupRequest(input) 2384 return out, req.Send() 2385} 2386 2387// DeleteGlobalReplicationGroupWithContext is the same as DeleteGlobalReplicationGroup with the addition of 2388// the ability to pass a context and additional request options. 2389// 2390// See DeleteGlobalReplicationGroup for details on how to use this API operation. 2391// 2392// The context must be non-nil and will be used for request cancellation. If 2393// the context is nil a panic will occur. In the future the SDK may create 2394// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2395// for more information on using Contexts. 2396func (c *ElastiCache) DeleteGlobalReplicationGroupWithContext(ctx aws.Context, input *DeleteGlobalReplicationGroupInput, opts ...request.Option) (*DeleteGlobalReplicationGroupOutput, error) { 2397 req, out := c.DeleteGlobalReplicationGroupRequest(input) 2398 req.SetContext(ctx) 2399 req.ApplyOptions(opts...) 2400 return out, req.Send() 2401} 2402 2403const opDeleteReplicationGroup = "DeleteReplicationGroup" 2404 2405// DeleteReplicationGroupRequest generates a "aws/request.Request" representing the 2406// client's request for the DeleteReplicationGroup operation. The "output" return 2407// value will be populated with the request's response once the request completes 2408// successfully. 2409// 2410// Use "Send" method on the returned Request to send the API call to the service. 2411// the "output" return value is not valid until after Send returns without error. 2412// 2413// See DeleteReplicationGroup for more information on using the DeleteReplicationGroup 2414// API call, and error handling. 2415// 2416// This method is useful when you want to inject custom logic or configuration 2417// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2418// 2419// 2420// // Example sending a request using the DeleteReplicationGroupRequest method. 2421// req, resp := client.DeleteReplicationGroupRequest(params) 2422// 2423// err := req.Send() 2424// if err == nil { // resp is now filled 2425// fmt.Println(resp) 2426// } 2427// 2428// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 2429func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { 2430 op := &request.Operation{ 2431 Name: opDeleteReplicationGroup, 2432 HTTPMethod: "POST", 2433 HTTPPath: "/", 2434 } 2435 2436 if input == nil { 2437 input = &DeleteReplicationGroupInput{} 2438 } 2439 2440 output = &DeleteReplicationGroupOutput{} 2441 req = c.newRequest(op, input, output) 2442 return 2443} 2444 2445// DeleteReplicationGroup API operation for Amazon ElastiCache. 2446// 2447// Deletes an existing replication group. By default, this operation deletes 2448// the entire replication group, including the primary/primaries and all of 2449// the read replicas. If the replication group has only one primary, you can 2450// optionally delete only the read replicas, while retaining the primary by 2451// setting RetainPrimaryCluster=true. 2452// 2453// When you receive a successful response from this operation, Amazon ElastiCache 2454// immediately begins deleting the selected resources; you cannot cancel or 2455// revert this operation. 2456// 2457// This operation is valid for Redis only. 2458// 2459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2460// with awserr.Error's Code and Message methods to get detailed information about 2461// the error. 2462// 2463// See the AWS API reference guide for Amazon ElastiCache's 2464// API operation DeleteReplicationGroup for usage and error information. 2465// 2466// Returned Error Codes: 2467// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 2468// The specified replication group does not exist. 2469// 2470// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 2471// The requested replication group is not in the available state. 2472// 2473// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 2474// You already have a snapshot with the given name. 2475// 2476// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 2477// You attempted one of the following operations: 2478// 2479// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 2480// node. 2481// 2482// * Creating a snapshot of a cluster that is running Memcached rather than 2483// Redis. 2484// 2485// Neither of these are supported by ElastiCache. 2486// 2487// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 2488// The request cannot be processed because it would exceed the maximum number 2489// of snapshots. 2490// 2491// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2492// The value for a parameter is invalid. 2493// 2494// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2495// Two or more incompatible parameters were specified. 2496// 2497// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 2498func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { 2499 req, out := c.DeleteReplicationGroupRequest(input) 2500 return out, req.Send() 2501} 2502 2503// DeleteReplicationGroupWithContext is the same as DeleteReplicationGroup with the addition of 2504// the ability to pass a context and additional request options. 2505// 2506// See DeleteReplicationGroup for details on how to use this API operation. 2507// 2508// The context must be non-nil and will be used for request cancellation. If 2509// the context is nil a panic will occur. In the future the SDK may create 2510// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2511// for more information on using Contexts. 2512func (c *ElastiCache) DeleteReplicationGroupWithContext(ctx aws.Context, input *DeleteReplicationGroupInput, opts ...request.Option) (*DeleteReplicationGroupOutput, error) { 2513 req, out := c.DeleteReplicationGroupRequest(input) 2514 req.SetContext(ctx) 2515 req.ApplyOptions(opts...) 2516 return out, req.Send() 2517} 2518 2519const opDeleteSnapshot = "DeleteSnapshot" 2520 2521// DeleteSnapshotRequest generates a "aws/request.Request" representing the 2522// client's request for the DeleteSnapshot operation. The "output" return 2523// value will be populated with the request's response once the request completes 2524// successfully. 2525// 2526// Use "Send" method on the returned Request to send the API call to the service. 2527// the "output" return value is not valid until after Send returns without error. 2528// 2529// See DeleteSnapshot for more information on using the DeleteSnapshot 2530// API call, and error handling. 2531// 2532// This method is useful when you want to inject custom logic or configuration 2533// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2534// 2535// 2536// // Example sending a request using the DeleteSnapshotRequest method. 2537// req, resp := client.DeleteSnapshotRequest(params) 2538// 2539// err := req.Send() 2540// if err == nil { // resp is now filled 2541// fmt.Println(resp) 2542// } 2543// 2544// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2545func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { 2546 op := &request.Operation{ 2547 Name: opDeleteSnapshot, 2548 HTTPMethod: "POST", 2549 HTTPPath: "/", 2550 } 2551 2552 if input == nil { 2553 input = &DeleteSnapshotInput{} 2554 } 2555 2556 output = &DeleteSnapshotOutput{} 2557 req = c.newRequest(op, input, output) 2558 return 2559} 2560 2561// DeleteSnapshot API operation for Amazon ElastiCache. 2562// 2563// Deletes an existing snapshot. When you receive a successful response from 2564// this operation, ElastiCache immediately begins deleting the snapshot; you 2565// cannot cancel or revert this operation. 2566// 2567// This operation is valid for Redis only. 2568// 2569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2570// with awserr.Error's Code and Message methods to get detailed information about 2571// the error. 2572// 2573// See the AWS API reference guide for Amazon ElastiCache's 2574// API operation DeleteSnapshot for usage and error information. 2575// 2576// Returned Error Codes: 2577// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 2578// The requested snapshot name does not refer to an existing snapshot. 2579// 2580// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 2581// The current state of the snapshot does not allow the requested operation 2582// to occur. 2583// 2584// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2585// The value for a parameter is invalid. 2586// 2587// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2588// Two or more incompatible parameters were specified. 2589// 2590// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2591func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { 2592 req, out := c.DeleteSnapshotRequest(input) 2593 return out, req.Send() 2594} 2595 2596// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of 2597// the ability to pass a context and additional request options. 2598// 2599// See DeleteSnapshot for details on how to use this API operation. 2600// 2601// The context must be non-nil and will be used for request cancellation. If 2602// the context is nil a panic will occur. In the future the SDK may create 2603// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2604// for more information on using Contexts. 2605func (c *ElastiCache) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { 2606 req, out := c.DeleteSnapshotRequest(input) 2607 req.SetContext(ctx) 2608 req.ApplyOptions(opts...) 2609 return out, req.Send() 2610} 2611 2612const opDeleteUser = "DeleteUser" 2613 2614// DeleteUserRequest generates a "aws/request.Request" representing the 2615// client's request for the DeleteUser operation. The "output" return 2616// value will be populated with the request's response once the request completes 2617// successfully. 2618// 2619// Use "Send" method on the returned Request to send the API call to the service. 2620// the "output" return value is not valid until after Send returns without error. 2621// 2622// See DeleteUser for more information on using the DeleteUser 2623// API call, and error handling. 2624// 2625// This method is useful when you want to inject custom logic or configuration 2626// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2627// 2628// 2629// // Example sending a request using the DeleteUserRequest method. 2630// req, resp := client.DeleteUserRequest(params) 2631// 2632// err := req.Send() 2633// if err == nil { // resp is now filled 2634// fmt.Println(resp) 2635// } 2636// 2637// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUser 2638func (c *ElastiCache) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { 2639 op := &request.Operation{ 2640 Name: opDeleteUser, 2641 HTTPMethod: "POST", 2642 HTTPPath: "/", 2643 } 2644 2645 if input == nil { 2646 input = &DeleteUserInput{} 2647 } 2648 2649 output = &DeleteUserOutput{} 2650 req = c.newRequest(op, input, output) 2651 return 2652} 2653 2654// DeleteUser API operation for Amazon ElastiCache. 2655// 2656// For Redis engine version 6.x onwards: Deletes a user. The user will be removed 2657// from all user groups and in turn removed from all replication groups. For 2658// more information, see Using Role Based Access Control (RBAC) (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html). 2659// 2660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2661// with awserr.Error's Code and Message methods to get detailed information about 2662// the error. 2663// 2664// See the AWS API reference guide for Amazon ElastiCache's 2665// API operation DeleteUser for usage and error information. 2666// 2667// Returned Error Codes: 2668// * ErrCodeInvalidUserStateFault "InvalidUserState" 2669// The user is not in active state. 2670// 2671// * ErrCodeUserNotFoundFault "UserNotFound" 2672// The user does not exist or could not be found. 2673// 2674// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2675// The value for a parameter is invalid. 2676// 2677// * ErrCodeDefaultUserAssociatedToUserGroupFault "DefaultUserAssociatedToUserGroup" 2678// 2679// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUser 2680func (c *ElastiCache) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { 2681 req, out := c.DeleteUserRequest(input) 2682 return out, req.Send() 2683} 2684 2685// DeleteUserWithContext is the same as DeleteUser with the addition of 2686// the ability to pass a context and additional request options. 2687// 2688// See DeleteUser for details on how to use this API operation. 2689// 2690// The context must be non-nil and will be used for request cancellation. If 2691// the context is nil a panic will occur. In the future the SDK may create 2692// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2693// for more information on using Contexts. 2694func (c *ElastiCache) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { 2695 req, out := c.DeleteUserRequest(input) 2696 req.SetContext(ctx) 2697 req.ApplyOptions(opts...) 2698 return out, req.Send() 2699} 2700 2701const opDeleteUserGroup = "DeleteUserGroup" 2702 2703// DeleteUserGroupRequest generates a "aws/request.Request" representing the 2704// client's request for the DeleteUserGroup operation. The "output" return 2705// value will be populated with the request's response once the request completes 2706// successfully. 2707// 2708// Use "Send" method on the returned Request to send the API call to the service. 2709// the "output" return value is not valid until after Send returns without error. 2710// 2711// See DeleteUserGroup for more information on using the DeleteUserGroup 2712// API call, and error handling. 2713// 2714// This method is useful when you want to inject custom logic or configuration 2715// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2716// 2717// 2718// // Example sending a request using the DeleteUserGroupRequest method. 2719// req, resp := client.DeleteUserGroupRequest(params) 2720// 2721// err := req.Send() 2722// if err == nil { // resp is now filled 2723// fmt.Println(resp) 2724// } 2725// 2726// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroup 2727func (c *ElastiCache) DeleteUserGroupRequest(input *DeleteUserGroupInput) (req *request.Request, output *DeleteUserGroupOutput) { 2728 op := &request.Operation{ 2729 Name: opDeleteUserGroup, 2730 HTTPMethod: "POST", 2731 HTTPPath: "/", 2732 } 2733 2734 if input == nil { 2735 input = &DeleteUserGroupInput{} 2736 } 2737 2738 output = &DeleteUserGroupOutput{} 2739 req = c.newRequest(op, input, output) 2740 return 2741} 2742 2743// DeleteUserGroup API operation for Amazon ElastiCache. 2744// 2745// For Redis engine version 6.x onwards: Deletes a user group. The user group 2746// must first be disassociated from the replication group before it can be deleted. 2747// For more information, see Using Role Based Access Control (RBAC) (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html). 2748// 2749// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2750// with awserr.Error's Code and Message methods to get detailed information about 2751// the error. 2752// 2753// See the AWS API reference guide for Amazon ElastiCache's 2754// API operation DeleteUserGroup for usage and error information. 2755// 2756// Returned Error Codes: 2757// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 2758// The user group was not found or does not exist 2759// 2760// * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 2761// The user group is not in an active state. 2762// 2763// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2764// The value for a parameter is invalid. 2765// 2766// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroup 2767func (c *ElastiCache) DeleteUserGroup(input *DeleteUserGroupInput) (*DeleteUserGroupOutput, error) { 2768 req, out := c.DeleteUserGroupRequest(input) 2769 return out, req.Send() 2770} 2771 2772// DeleteUserGroupWithContext is the same as DeleteUserGroup with the addition of 2773// the ability to pass a context and additional request options. 2774// 2775// See DeleteUserGroup for details on how to use this API operation. 2776// 2777// The context must be non-nil and will be used for request cancellation. If 2778// the context is nil a panic will occur. In the future the SDK may create 2779// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2780// for more information on using Contexts. 2781func (c *ElastiCache) DeleteUserGroupWithContext(ctx aws.Context, input *DeleteUserGroupInput, opts ...request.Option) (*DeleteUserGroupOutput, error) { 2782 req, out := c.DeleteUserGroupRequest(input) 2783 req.SetContext(ctx) 2784 req.ApplyOptions(opts...) 2785 return out, req.Send() 2786} 2787 2788const opDescribeCacheClusters = "DescribeCacheClusters" 2789 2790// DescribeCacheClustersRequest generates a "aws/request.Request" representing the 2791// client's request for the DescribeCacheClusters operation. The "output" return 2792// value will be populated with the request's response once the request completes 2793// successfully. 2794// 2795// Use "Send" method on the returned Request to send the API call to the service. 2796// the "output" return value is not valid until after Send returns without error. 2797// 2798// See DescribeCacheClusters for more information on using the DescribeCacheClusters 2799// API call, and error handling. 2800// 2801// This method is useful when you want to inject custom logic or configuration 2802// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2803// 2804// 2805// // Example sending a request using the DescribeCacheClustersRequest method. 2806// req, resp := client.DescribeCacheClustersRequest(params) 2807// 2808// err := req.Send() 2809// if err == nil { // resp is now filled 2810// fmt.Println(resp) 2811// } 2812// 2813// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2814func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { 2815 op := &request.Operation{ 2816 Name: opDescribeCacheClusters, 2817 HTTPMethod: "POST", 2818 HTTPPath: "/", 2819 Paginator: &request.Paginator{ 2820 InputTokens: []string{"Marker"}, 2821 OutputTokens: []string{"Marker"}, 2822 LimitToken: "MaxRecords", 2823 TruncationToken: "", 2824 }, 2825 } 2826 2827 if input == nil { 2828 input = &DescribeCacheClustersInput{} 2829 } 2830 2831 output = &DescribeCacheClustersOutput{} 2832 req = c.newRequest(op, input, output) 2833 return 2834} 2835 2836// DescribeCacheClusters API operation for Amazon ElastiCache. 2837// 2838// Returns information about all provisioned clusters if no cluster identifier 2839// is specified, or about a specific cache cluster if a cluster identifier is 2840// supplied. 2841// 2842// By default, abbreviated information about the clusters is returned. You can 2843// use the optional ShowCacheNodeInfo flag to retrieve detailed information 2844// about the cache nodes associated with the clusters. These details include 2845// the DNS address and port for the cache node endpoint. 2846// 2847// If the cluster is in the creating state, only cluster-level information is 2848// displayed until all of the nodes are successfully provisioned. 2849// 2850// If the cluster is in the deleting state, only cluster-level information is 2851// displayed. 2852// 2853// If cache nodes are currently being added to the cluster, node endpoint information 2854// and creation time for the additional nodes are not displayed until they are 2855// completely provisioned. When the cluster state is available, the cluster 2856// is ready for use. 2857// 2858// If cache nodes are currently being removed from the cluster, no endpoint 2859// information for the removed nodes is displayed. 2860// 2861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2862// with awserr.Error's Code and Message methods to get detailed information about 2863// the error. 2864// 2865// See the AWS API reference guide for Amazon ElastiCache's 2866// API operation DescribeCacheClusters for usage and error information. 2867// 2868// Returned Error Codes: 2869// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 2870// The requested cluster ID does not refer to an existing cluster. 2871// 2872// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2873// The value for a parameter is invalid. 2874// 2875// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2876// Two or more incompatible parameters were specified. 2877// 2878// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2879func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { 2880 req, out := c.DescribeCacheClustersRequest(input) 2881 return out, req.Send() 2882} 2883 2884// DescribeCacheClustersWithContext is the same as DescribeCacheClusters with the addition of 2885// the ability to pass a context and additional request options. 2886// 2887// See DescribeCacheClusters for details on how to use this API operation. 2888// 2889// The context must be non-nil and will be used for request cancellation. If 2890// the context is nil a panic will occur. In the future the SDK may create 2891// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2892// for more information on using Contexts. 2893func (c *ElastiCache) DescribeCacheClustersWithContext(ctx aws.Context, input *DescribeCacheClustersInput, opts ...request.Option) (*DescribeCacheClustersOutput, error) { 2894 req, out := c.DescribeCacheClustersRequest(input) 2895 req.SetContext(ctx) 2896 req.ApplyOptions(opts...) 2897 return out, req.Send() 2898} 2899 2900// DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, 2901// calling the "fn" function with the response data for each page. To stop 2902// iterating, return false from the fn function. 2903// 2904// See DescribeCacheClusters method for more information on how to use this operation. 2905// 2906// Note: This operation can generate multiple requests to a service. 2907// 2908// // Example iterating over at most 3 pages of a DescribeCacheClusters operation. 2909// pageNum := 0 2910// err := client.DescribeCacheClustersPages(params, 2911// func(page *elasticache.DescribeCacheClustersOutput, lastPage bool) bool { 2912// pageNum++ 2913// fmt.Println(page) 2914// return pageNum <= 3 2915// }) 2916// 2917func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool) error { 2918 return c.DescribeCacheClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2919} 2920 2921// DescribeCacheClustersPagesWithContext same as DescribeCacheClustersPages except 2922// it takes a Context and allows setting request options on the pages. 2923// 2924// The context must be non-nil and will be used for request cancellation. If 2925// the context is nil a panic will occur. In the future the SDK may create 2926// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2927// for more information on using Contexts. 2928func (c *ElastiCache) DescribeCacheClustersPagesWithContext(ctx aws.Context, input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool, opts ...request.Option) error { 2929 p := request.Pagination{ 2930 NewRequest: func() (*request.Request, error) { 2931 var inCpy *DescribeCacheClustersInput 2932 if input != nil { 2933 tmp := *input 2934 inCpy = &tmp 2935 } 2936 req, _ := c.DescribeCacheClustersRequest(inCpy) 2937 req.SetContext(ctx) 2938 req.ApplyOptions(opts...) 2939 return req, nil 2940 }, 2941 } 2942 2943 for p.Next() { 2944 if !fn(p.Page().(*DescribeCacheClustersOutput), !p.HasNextPage()) { 2945 break 2946 } 2947 } 2948 2949 return p.Err() 2950} 2951 2952const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" 2953 2954// DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the 2955// client's request for the DescribeCacheEngineVersions operation. The "output" return 2956// value will be populated with the request's response once the request completes 2957// successfully. 2958// 2959// Use "Send" method on the returned Request to send the API call to the service. 2960// the "output" return value is not valid until after Send returns without error. 2961// 2962// See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions 2963// API call, and error handling. 2964// 2965// This method is useful when you want to inject custom logic or configuration 2966// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2967// 2968// 2969// // Example sending a request using the DescribeCacheEngineVersionsRequest method. 2970// req, resp := client.DescribeCacheEngineVersionsRequest(params) 2971// 2972// err := req.Send() 2973// if err == nil { // resp is now filled 2974// fmt.Println(resp) 2975// } 2976// 2977// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2978func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { 2979 op := &request.Operation{ 2980 Name: opDescribeCacheEngineVersions, 2981 HTTPMethod: "POST", 2982 HTTPPath: "/", 2983 Paginator: &request.Paginator{ 2984 InputTokens: []string{"Marker"}, 2985 OutputTokens: []string{"Marker"}, 2986 LimitToken: "MaxRecords", 2987 TruncationToken: "", 2988 }, 2989 } 2990 2991 if input == nil { 2992 input = &DescribeCacheEngineVersionsInput{} 2993 } 2994 2995 output = &DescribeCacheEngineVersionsOutput{} 2996 req = c.newRequest(op, input, output) 2997 return 2998} 2999 3000// DescribeCacheEngineVersions API operation for Amazon ElastiCache. 3001// 3002// Returns a list of the available cache engines and their versions. 3003// 3004// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3005// with awserr.Error's Code and Message methods to get detailed information about 3006// the error. 3007// 3008// See the AWS API reference guide for Amazon ElastiCache's 3009// API operation DescribeCacheEngineVersions for usage and error information. 3010// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 3011func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { 3012 req, out := c.DescribeCacheEngineVersionsRequest(input) 3013 return out, req.Send() 3014} 3015 3016// DescribeCacheEngineVersionsWithContext is the same as DescribeCacheEngineVersions with the addition of 3017// the ability to pass a context and additional request options. 3018// 3019// See DescribeCacheEngineVersions for details on how to use this API operation. 3020// 3021// The context must be non-nil and will be used for request cancellation. If 3022// the context is nil a panic will occur. In the future the SDK may create 3023// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3024// for more information on using Contexts. 3025func (c *ElastiCache) DescribeCacheEngineVersionsWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, opts ...request.Option) (*DescribeCacheEngineVersionsOutput, error) { 3026 req, out := c.DescribeCacheEngineVersionsRequest(input) 3027 req.SetContext(ctx) 3028 req.ApplyOptions(opts...) 3029 return out, req.Send() 3030} 3031 3032// DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, 3033// calling the "fn" function with the response data for each page. To stop 3034// iterating, return false from the fn function. 3035// 3036// See DescribeCacheEngineVersions method for more information on how to use this operation. 3037// 3038// Note: This operation can generate multiple requests to a service. 3039// 3040// // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation. 3041// pageNum := 0 3042// err := client.DescribeCacheEngineVersionsPages(params, 3043// func(page *elasticache.DescribeCacheEngineVersionsOutput, lastPage bool) bool { 3044// pageNum++ 3045// fmt.Println(page) 3046// return pageNum <= 3 3047// }) 3048// 3049func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool) error { 3050 return c.DescribeCacheEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 3051} 3052 3053// DescribeCacheEngineVersionsPagesWithContext same as DescribeCacheEngineVersionsPages except 3054// it takes a Context and allows setting request options on the pages. 3055// 3056// The context must be non-nil and will be used for request cancellation. If 3057// the context is nil a panic will occur. In the future the SDK may create 3058// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3059// for more information on using Contexts. 3060func (c *ElastiCache) DescribeCacheEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool, opts ...request.Option) error { 3061 p := request.Pagination{ 3062 NewRequest: func() (*request.Request, error) { 3063 var inCpy *DescribeCacheEngineVersionsInput 3064 if input != nil { 3065 tmp := *input 3066 inCpy = &tmp 3067 } 3068 req, _ := c.DescribeCacheEngineVersionsRequest(inCpy) 3069 req.SetContext(ctx) 3070 req.ApplyOptions(opts...) 3071 return req, nil 3072 }, 3073 } 3074 3075 for p.Next() { 3076 if !fn(p.Page().(*DescribeCacheEngineVersionsOutput), !p.HasNextPage()) { 3077 break 3078 } 3079 } 3080 3081 return p.Err() 3082} 3083 3084const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" 3085 3086// DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the 3087// client's request for the DescribeCacheParameterGroups operation. The "output" return 3088// value will be populated with the request's response once the request completes 3089// successfully. 3090// 3091// Use "Send" method on the returned Request to send the API call to the service. 3092// the "output" return value is not valid until after Send returns without error. 3093// 3094// See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups 3095// API call, and error handling. 3096// 3097// This method is useful when you want to inject custom logic or configuration 3098// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3099// 3100// 3101// // Example sending a request using the DescribeCacheParameterGroupsRequest method. 3102// req, resp := client.DescribeCacheParameterGroupsRequest(params) 3103// 3104// err := req.Send() 3105// if err == nil { // resp is now filled 3106// fmt.Println(resp) 3107// } 3108// 3109// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 3110func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { 3111 op := &request.Operation{ 3112 Name: opDescribeCacheParameterGroups, 3113 HTTPMethod: "POST", 3114 HTTPPath: "/", 3115 Paginator: &request.Paginator{ 3116 InputTokens: []string{"Marker"}, 3117 OutputTokens: []string{"Marker"}, 3118 LimitToken: "MaxRecords", 3119 TruncationToken: "", 3120 }, 3121 } 3122 3123 if input == nil { 3124 input = &DescribeCacheParameterGroupsInput{} 3125 } 3126 3127 output = &DescribeCacheParameterGroupsOutput{} 3128 req = c.newRequest(op, input, output) 3129 return 3130} 3131 3132// DescribeCacheParameterGroups API operation for Amazon ElastiCache. 3133// 3134// Returns a list of cache parameter group descriptions. If a cache parameter 3135// group name is specified, the list contains only the descriptions for that 3136// group. 3137// 3138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3139// with awserr.Error's Code and Message methods to get detailed information about 3140// the error. 3141// 3142// See the AWS API reference guide for Amazon ElastiCache's 3143// API operation DescribeCacheParameterGroups for usage and error information. 3144// 3145// Returned Error Codes: 3146// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 3147// The requested cache parameter group name does not refer to an existing cache 3148// parameter group. 3149// 3150// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3151// The value for a parameter is invalid. 3152// 3153// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3154// Two or more incompatible parameters were specified. 3155// 3156// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 3157func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { 3158 req, out := c.DescribeCacheParameterGroupsRequest(input) 3159 return out, req.Send() 3160} 3161 3162// DescribeCacheParameterGroupsWithContext is the same as DescribeCacheParameterGroups with the addition of 3163// the ability to pass a context and additional request options. 3164// 3165// See DescribeCacheParameterGroups for details on how to use this API operation. 3166// 3167// The context must be non-nil and will be used for request cancellation. If 3168// the context is nil a panic will occur. In the future the SDK may create 3169// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3170// for more information on using Contexts. 3171func (c *ElastiCache) DescribeCacheParameterGroupsWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, opts ...request.Option) (*DescribeCacheParameterGroupsOutput, error) { 3172 req, out := c.DescribeCacheParameterGroupsRequest(input) 3173 req.SetContext(ctx) 3174 req.ApplyOptions(opts...) 3175 return out, req.Send() 3176} 3177 3178// DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, 3179// calling the "fn" function with the response data for each page. To stop 3180// iterating, return false from the fn function. 3181// 3182// See DescribeCacheParameterGroups method for more information on how to use this operation. 3183// 3184// Note: This operation can generate multiple requests to a service. 3185// 3186// // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation. 3187// pageNum := 0 3188// err := client.DescribeCacheParameterGroupsPages(params, 3189// func(page *elasticache.DescribeCacheParameterGroupsOutput, lastPage bool) bool { 3190// pageNum++ 3191// fmt.Println(page) 3192// return pageNum <= 3 3193// }) 3194// 3195func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool) error { 3196 return c.DescribeCacheParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3197} 3198 3199// DescribeCacheParameterGroupsPagesWithContext same as DescribeCacheParameterGroupsPages except 3200// it takes a Context and allows setting request options on the pages. 3201// 3202// The context must be non-nil and will be used for request cancellation. If 3203// the context is nil a panic will occur. In the future the SDK may create 3204// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3205// for more information on using Contexts. 3206func (c *ElastiCache) DescribeCacheParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool, opts ...request.Option) error { 3207 p := request.Pagination{ 3208 NewRequest: func() (*request.Request, error) { 3209 var inCpy *DescribeCacheParameterGroupsInput 3210 if input != nil { 3211 tmp := *input 3212 inCpy = &tmp 3213 } 3214 req, _ := c.DescribeCacheParameterGroupsRequest(inCpy) 3215 req.SetContext(ctx) 3216 req.ApplyOptions(opts...) 3217 return req, nil 3218 }, 3219 } 3220 3221 for p.Next() { 3222 if !fn(p.Page().(*DescribeCacheParameterGroupsOutput), !p.HasNextPage()) { 3223 break 3224 } 3225 } 3226 3227 return p.Err() 3228} 3229 3230const opDescribeCacheParameters = "DescribeCacheParameters" 3231 3232// DescribeCacheParametersRequest generates a "aws/request.Request" representing the 3233// client's request for the DescribeCacheParameters operation. The "output" return 3234// value will be populated with the request's response once the request completes 3235// successfully. 3236// 3237// Use "Send" method on the returned Request to send the API call to the service. 3238// the "output" return value is not valid until after Send returns without error. 3239// 3240// See DescribeCacheParameters for more information on using the DescribeCacheParameters 3241// API call, and error handling. 3242// 3243// This method is useful when you want to inject custom logic or configuration 3244// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3245// 3246// 3247// // Example sending a request using the DescribeCacheParametersRequest method. 3248// req, resp := client.DescribeCacheParametersRequest(params) 3249// 3250// err := req.Send() 3251// if err == nil { // resp is now filled 3252// fmt.Println(resp) 3253// } 3254// 3255// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 3256func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { 3257 op := &request.Operation{ 3258 Name: opDescribeCacheParameters, 3259 HTTPMethod: "POST", 3260 HTTPPath: "/", 3261 Paginator: &request.Paginator{ 3262 InputTokens: []string{"Marker"}, 3263 OutputTokens: []string{"Marker"}, 3264 LimitToken: "MaxRecords", 3265 TruncationToken: "", 3266 }, 3267 } 3268 3269 if input == nil { 3270 input = &DescribeCacheParametersInput{} 3271 } 3272 3273 output = &DescribeCacheParametersOutput{} 3274 req = c.newRequest(op, input, output) 3275 return 3276} 3277 3278// DescribeCacheParameters API operation for Amazon ElastiCache. 3279// 3280// Returns the detailed parameter list for a particular cache parameter group. 3281// 3282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3283// with awserr.Error's Code and Message methods to get detailed information about 3284// the error. 3285// 3286// See the AWS API reference guide for Amazon ElastiCache's 3287// API operation DescribeCacheParameters for usage and error information. 3288// 3289// Returned Error Codes: 3290// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 3291// The requested cache parameter group name does not refer to an existing cache 3292// parameter group. 3293// 3294// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3295// The value for a parameter is invalid. 3296// 3297// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3298// Two or more incompatible parameters were specified. 3299// 3300// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 3301func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { 3302 req, out := c.DescribeCacheParametersRequest(input) 3303 return out, req.Send() 3304} 3305 3306// DescribeCacheParametersWithContext is the same as DescribeCacheParameters with the addition of 3307// the ability to pass a context and additional request options. 3308// 3309// See DescribeCacheParameters for details on how to use this API operation. 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) DescribeCacheParametersWithContext(ctx aws.Context, input *DescribeCacheParametersInput, opts ...request.Option) (*DescribeCacheParametersOutput, error) { 3316 req, out := c.DescribeCacheParametersRequest(input) 3317 req.SetContext(ctx) 3318 req.ApplyOptions(opts...) 3319 return out, req.Send() 3320} 3321 3322// DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, 3323// calling the "fn" function with the response data for each page. To stop 3324// iterating, return false from the fn function. 3325// 3326// See DescribeCacheParameters method for more information on how to use this operation. 3327// 3328// Note: This operation can generate multiple requests to a service. 3329// 3330// // Example iterating over at most 3 pages of a DescribeCacheParameters operation. 3331// pageNum := 0 3332// err := client.DescribeCacheParametersPages(params, 3333// func(page *elasticache.DescribeCacheParametersOutput, lastPage bool) bool { 3334// pageNum++ 3335// fmt.Println(page) 3336// return pageNum <= 3 3337// }) 3338// 3339func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool) error { 3340 return c.DescribeCacheParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3341} 3342 3343// DescribeCacheParametersPagesWithContext same as DescribeCacheParametersPages except 3344// it takes a Context and allows setting request options on the pages. 3345// 3346// The context must be non-nil and will be used for request cancellation. If 3347// the context is nil a panic will occur. In the future the SDK may create 3348// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3349// for more information on using Contexts. 3350func (c *ElastiCache) DescribeCacheParametersPagesWithContext(ctx aws.Context, input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool, opts ...request.Option) error { 3351 p := request.Pagination{ 3352 NewRequest: func() (*request.Request, error) { 3353 var inCpy *DescribeCacheParametersInput 3354 if input != nil { 3355 tmp := *input 3356 inCpy = &tmp 3357 } 3358 req, _ := c.DescribeCacheParametersRequest(inCpy) 3359 req.SetContext(ctx) 3360 req.ApplyOptions(opts...) 3361 return req, nil 3362 }, 3363 } 3364 3365 for p.Next() { 3366 if !fn(p.Page().(*DescribeCacheParametersOutput), !p.HasNextPage()) { 3367 break 3368 } 3369 } 3370 3371 return p.Err() 3372} 3373 3374const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" 3375 3376// DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the 3377// client's request for the DescribeCacheSecurityGroups operation. The "output" return 3378// value will be populated with the request's response once the request completes 3379// successfully. 3380// 3381// Use "Send" method on the returned Request to send the API call to the service. 3382// the "output" return value is not valid until after Send returns without error. 3383// 3384// See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups 3385// API call, and error handling. 3386// 3387// This method is useful when you want to inject custom logic or configuration 3388// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3389// 3390// 3391// // Example sending a request using the DescribeCacheSecurityGroupsRequest method. 3392// req, resp := client.DescribeCacheSecurityGroupsRequest(params) 3393// 3394// err := req.Send() 3395// if err == nil { // resp is now filled 3396// fmt.Println(resp) 3397// } 3398// 3399// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 3400func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { 3401 op := &request.Operation{ 3402 Name: opDescribeCacheSecurityGroups, 3403 HTTPMethod: "POST", 3404 HTTPPath: "/", 3405 Paginator: &request.Paginator{ 3406 InputTokens: []string{"Marker"}, 3407 OutputTokens: []string{"Marker"}, 3408 LimitToken: "MaxRecords", 3409 TruncationToken: "", 3410 }, 3411 } 3412 3413 if input == nil { 3414 input = &DescribeCacheSecurityGroupsInput{} 3415 } 3416 3417 output = &DescribeCacheSecurityGroupsOutput{} 3418 req = c.newRequest(op, input, output) 3419 return 3420} 3421 3422// DescribeCacheSecurityGroups API operation for Amazon ElastiCache. 3423// 3424// Returns a list of cache security group descriptions. If a cache security 3425// group name is specified, the list contains only the description of that group. 3426// This applicable only when you have ElastiCache in Classic setup 3427// 3428// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3429// with awserr.Error's Code and Message methods to get detailed information about 3430// the error. 3431// 3432// See the AWS API reference guide for Amazon ElastiCache's 3433// API operation DescribeCacheSecurityGroups for usage and error information. 3434// 3435// Returned Error Codes: 3436// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 3437// The requested cache security group name does not refer to an existing cache 3438// security group. 3439// 3440// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3441// The value for a parameter is invalid. 3442// 3443// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3444// Two or more incompatible parameters were specified. 3445// 3446// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 3447func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { 3448 req, out := c.DescribeCacheSecurityGroupsRequest(input) 3449 return out, req.Send() 3450} 3451 3452// DescribeCacheSecurityGroupsWithContext is the same as DescribeCacheSecurityGroups with the addition of 3453// the ability to pass a context and additional request options. 3454// 3455// See DescribeCacheSecurityGroups for details on how to use this API operation. 3456// 3457// The context must be non-nil and will be used for request cancellation. If 3458// the context is nil a panic will occur. In the future the SDK may create 3459// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3460// for more information on using Contexts. 3461func (c *ElastiCache) DescribeCacheSecurityGroupsWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, opts ...request.Option) (*DescribeCacheSecurityGroupsOutput, error) { 3462 req, out := c.DescribeCacheSecurityGroupsRequest(input) 3463 req.SetContext(ctx) 3464 req.ApplyOptions(opts...) 3465 return out, req.Send() 3466} 3467 3468// DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, 3469// calling the "fn" function with the response data for each page. To stop 3470// iterating, return false from the fn function. 3471// 3472// See DescribeCacheSecurityGroups method for more information on how to use this operation. 3473// 3474// Note: This operation can generate multiple requests to a service. 3475// 3476// // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation. 3477// pageNum := 0 3478// err := client.DescribeCacheSecurityGroupsPages(params, 3479// func(page *elasticache.DescribeCacheSecurityGroupsOutput, lastPage bool) bool { 3480// pageNum++ 3481// fmt.Println(page) 3482// return pageNum <= 3 3483// }) 3484// 3485func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool) error { 3486 return c.DescribeCacheSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3487} 3488 3489// DescribeCacheSecurityGroupsPagesWithContext same as DescribeCacheSecurityGroupsPages except 3490// it takes a Context and allows setting request options on the pages. 3491// 3492// The context must be non-nil and will be used for request cancellation. If 3493// the context is nil a panic will occur. In the future the SDK may create 3494// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3495// for more information on using Contexts. 3496func (c *ElastiCache) DescribeCacheSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 3497 p := request.Pagination{ 3498 NewRequest: func() (*request.Request, error) { 3499 var inCpy *DescribeCacheSecurityGroupsInput 3500 if input != nil { 3501 tmp := *input 3502 inCpy = &tmp 3503 } 3504 req, _ := c.DescribeCacheSecurityGroupsRequest(inCpy) 3505 req.SetContext(ctx) 3506 req.ApplyOptions(opts...) 3507 return req, nil 3508 }, 3509 } 3510 3511 for p.Next() { 3512 if !fn(p.Page().(*DescribeCacheSecurityGroupsOutput), !p.HasNextPage()) { 3513 break 3514 } 3515 } 3516 3517 return p.Err() 3518} 3519 3520const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" 3521 3522// DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the 3523// client's request for the DescribeCacheSubnetGroups operation. The "output" return 3524// value will be populated with the request's response once the request completes 3525// successfully. 3526// 3527// Use "Send" method on the returned Request to send the API call to the service. 3528// the "output" return value is not valid until after Send returns without error. 3529// 3530// See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups 3531// API call, and error handling. 3532// 3533// This method is useful when you want to inject custom logic or configuration 3534// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3535// 3536// 3537// // Example sending a request using the DescribeCacheSubnetGroupsRequest method. 3538// req, resp := client.DescribeCacheSubnetGroupsRequest(params) 3539// 3540// err := req.Send() 3541// if err == nil { // resp is now filled 3542// fmt.Println(resp) 3543// } 3544// 3545// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3546func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { 3547 op := &request.Operation{ 3548 Name: opDescribeCacheSubnetGroups, 3549 HTTPMethod: "POST", 3550 HTTPPath: "/", 3551 Paginator: &request.Paginator{ 3552 InputTokens: []string{"Marker"}, 3553 OutputTokens: []string{"Marker"}, 3554 LimitToken: "MaxRecords", 3555 TruncationToken: "", 3556 }, 3557 } 3558 3559 if input == nil { 3560 input = &DescribeCacheSubnetGroupsInput{} 3561 } 3562 3563 output = &DescribeCacheSubnetGroupsOutput{} 3564 req = c.newRequest(op, input, output) 3565 return 3566} 3567 3568// DescribeCacheSubnetGroups API operation for Amazon ElastiCache. 3569// 3570// Returns a list of cache subnet group descriptions. If a subnet group name 3571// is specified, the list contains only the description of that group. This 3572// is applicable only when you have ElastiCache in VPC setup. All ElastiCache 3573// clusters now launch in VPC by default. 3574// 3575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3576// with awserr.Error's Code and Message methods to get detailed information about 3577// the error. 3578// 3579// See the AWS API reference guide for Amazon ElastiCache's 3580// API operation DescribeCacheSubnetGroups for usage and error information. 3581// 3582// Returned Error Codes: 3583// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 3584// The requested cache subnet group name does not refer to an existing cache 3585// subnet group. 3586// 3587// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3588func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { 3589 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3590 return out, req.Send() 3591} 3592 3593// DescribeCacheSubnetGroupsWithContext is the same as DescribeCacheSubnetGroups with the addition of 3594// the ability to pass a context and additional request options. 3595// 3596// See DescribeCacheSubnetGroups for details on how to use this API operation. 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) DescribeCacheSubnetGroupsWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, opts ...request.Option) (*DescribeCacheSubnetGroupsOutput, error) { 3603 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3604 req.SetContext(ctx) 3605 req.ApplyOptions(opts...) 3606 return out, req.Send() 3607} 3608 3609// DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, 3610// calling the "fn" function with the response data for each page. To stop 3611// iterating, return false from the fn function. 3612// 3613// See DescribeCacheSubnetGroups method for more information on how to use this operation. 3614// 3615// Note: This operation can generate multiple requests to a service. 3616// 3617// // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation. 3618// pageNum := 0 3619// err := client.DescribeCacheSubnetGroupsPages(params, 3620// func(page *elasticache.DescribeCacheSubnetGroupsOutput, lastPage bool) bool { 3621// pageNum++ 3622// fmt.Println(page) 3623// return pageNum <= 3 3624// }) 3625// 3626func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool) error { 3627 return c.DescribeCacheSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3628} 3629 3630// DescribeCacheSubnetGroupsPagesWithContext same as DescribeCacheSubnetGroupsPages except 3631// it takes a Context and allows setting request options on the pages. 3632// 3633// The context must be non-nil and will be used for request cancellation. If 3634// the context is nil a panic will occur. In the future the SDK may create 3635// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3636// for more information on using Contexts. 3637func (c *ElastiCache) DescribeCacheSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 3638 p := request.Pagination{ 3639 NewRequest: func() (*request.Request, error) { 3640 var inCpy *DescribeCacheSubnetGroupsInput 3641 if input != nil { 3642 tmp := *input 3643 inCpy = &tmp 3644 } 3645 req, _ := c.DescribeCacheSubnetGroupsRequest(inCpy) 3646 req.SetContext(ctx) 3647 req.ApplyOptions(opts...) 3648 return req, nil 3649 }, 3650 } 3651 3652 for p.Next() { 3653 if !fn(p.Page().(*DescribeCacheSubnetGroupsOutput), !p.HasNextPage()) { 3654 break 3655 } 3656 } 3657 3658 return p.Err() 3659} 3660 3661const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" 3662 3663// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the 3664// client's request for the DescribeEngineDefaultParameters operation. The "output" return 3665// value will be populated with the request's response once the request completes 3666// successfully. 3667// 3668// Use "Send" method on the returned Request to send the API call to the service. 3669// the "output" return value is not valid until after Send returns without error. 3670// 3671// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters 3672// API call, and error handling. 3673// 3674// This method is useful when you want to inject custom logic or configuration 3675// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3676// 3677// 3678// // Example sending a request using the DescribeEngineDefaultParametersRequest method. 3679// req, resp := client.DescribeEngineDefaultParametersRequest(params) 3680// 3681// err := req.Send() 3682// if err == nil { // resp is now filled 3683// fmt.Println(resp) 3684// } 3685// 3686// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3687func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { 3688 op := &request.Operation{ 3689 Name: opDescribeEngineDefaultParameters, 3690 HTTPMethod: "POST", 3691 HTTPPath: "/", 3692 Paginator: &request.Paginator{ 3693 InputTokens: []string{"Marker"}, 3694 OutputTokens: []string{"EngineDefaults.Marker"}, 3695 LimitToken: "MaxRecords", 3696 TruncationToken: "", 3697 }, 3698 } 3699 3700 if input == nil { 3701 input = &DescribeEngineDefaultParametersInput{} 3702 } 3703 3704 output = &DescribeEngineDefaultParametersOutput{} 3705 req = c.newRequest(op, input, output) 3706 return 3707} 3708 3709// DescribeEngineDefaultParameters API operation for Amazon ElastiCache. 3710// 3711// Returns the default engine and system parameter information for the specified 3712// cache engine. 3713// 3714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3715// with awserr.Error's Code and Message methods to get detailed information about 3716// the error. 3717// 3718// See the AWS API reference guide for Amazon ElastiCache's 3719// API operation DescribeEngineDefaultParameters for usage and error information. 3720// 3721// Returned Error Codes: 3722// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3723// The value for a parameter is invalid. 3724// 3725// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3726// Two or more incompatible parameters were specified. 3727// 3728// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3729func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { 3730 req, out := c.DescribeEngineDefaultParametersRequest(input) 3731 return out, req.Send() 3732} 3733 3734// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of 3735// the ability to pass a context and additional request options. 3736// 3737// See DescribeEngineDefaultParameters for details on how to use this API operation. 3738// 3739// The context must be non-nil and will be used for request cancellation. If 3740// the context is nil a panic will occur. In the future the SDK may create 3741// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3742// for more information on using Contexts. 3743func (c *ElastiCache) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) { 3744 req, out := c.DescribeEngineDefaultParametersRequest(input) 3745 req.SetContext(ctx) 3746 req.ApplyOptions(opts...) 3747 return out, req.Send() 3748} 3749 3750// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, 3751// calling the "fn" function with the response data for each page. To stop 3752// iterating, return false from the fn function. 3753// 3754// See DescribeEngineDefaultParameters method for more information on how to use this operation. 3755// 3756// Note: This operation can generate multiple requests to a service. 3757// 3758// // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation. 3759// pageNum := 0 3760// err := client.DescribeEngineDefaultParametersPages(params, 3761// func(page *elasticache.DescribeEngineDefaultParametersOutput, lastPage bool) bool { 3762// pageNum++ 3763// fmt.Println(page) 3764// return pageNum <= 3 3765// }) 3766// 3767func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error { 3768 return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3769} 3770 3771// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except 3772// it takes a Context and allows setting request options on the pages. 3773// 3774// The context must be non-nil and will be used for request cancellation. If 3775// the context is nil a panic will occur. In the future the SDK may create 3776// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3777// for more information on using Contexts. 3778func (c *ElastiCache) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error { 3779 p := request.Pagination{ 3780 NewRequest: func() (*request.Request, error) { 3781 var inCpy *DescribeEngineDefaultParametersInput 3782 if input != nil { 3783 tmp := *input 3784 inCpy = &tmp 3785 } 3786 req, _ := c.DescribeEngineDefaultParametersRequest(inCpy) 3787 req.SetContext(ctx) 3788 req.ApplyOptions(opts...) 3789 return req, nil 3790 }, 3791 } 3792 3793 for p.Next() { 3794 if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) { 3795 break 3796 } 3797 } 3798 3799 return p.Err() 3800} 3801 3802const opDescribeEvents = "DescribeEvents" 3803 3804// DescribeEventsRequest generates a "aws/request.Request" representing the 3805// client's request for the DescribeEvents operation. The "output" return 3806// value will be populated with the request's response once the request completes 3807// successfully. 3808// 3809// Use "Send" method on the returned Request to send the API call to the service. 3810// the "output" return value is not valid until after Send returns without error. 3811// 3812// See DescribeEvents for more information on using the DescribeEvents 3813// API call, and error handling. 3814// 3815// This method is useful when you want to inject custom logic or configuration 3816// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3817// 3818// 3819// // Example sending a request using the DescribeEventsRequest method. 3820// req, resp := client.DescribeEventsRequest(params) 3821// 3822// err := req.Send() 3823// if err == nil { // resp is now filled 3824// fmt.Println(resp) 3825// } 3826// 3827// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3828func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 3829 op := &request.Operation{ 3830 Name: opDescribeEvents, 3831 HTTPMethod: "POST", 3832 HTTPPath: "/", 3833 Paginator: &request.Paginator{ 3834 InputTokens: []string{"Marker"}, 3835 OutputTokens: []string{"Marker"}, 3836 LimitToken: "MaxRecords", 3837 TruncationToken: "", 3838 }, 3839 } 3840 3841 if input == nil { 3842 input = &DescribeEventsInput{} 3843 } 3844 3845 output = &DescribeEventsOutput{} 3846 req = c.newRequest(op, input, output) 3847 return 3848} 3849 3850// DescribeEvents API operation for Amazon ElastiCache. 3851// 3852// Returns events related to clusters, cache security groups, and cache parameter 3853// groups. You can obtain events specific to a particular cluster, cache security 3854// group, or cache parameter group by providing the name as a parameter. 3855// 3856// By default, only the events occurring within the last hour are returned; 3857// however, you can retrieve up to 14 days' worth of events if necessary. 3858// 3859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3860// with awserr.Error's Code and Message methods to get detailed information about 3861// the error. 3862// 3863// See the AWS API reference guide for Amazon ElastiCache's 3864// API operation DescribeEvents for usage and error information. 3865// 3866// Returned Error Codes: 3867// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3868// The value for a parameter is invalid. 3869// 3870// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3871// Two or more incompatible parameters were specified. 3872// 3873// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3874func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 3875 req, out := c.DescribeEventsRequest(input) 3876 return out, req.Send() 3877} 3878 3879// DescribeEventsWithContext is the same as DescribeEvents with the addition of 3880// the ability to pass a context and additional request options. 3881// 3882// See DescribeEvents for details on how to use this API operation. 3883// 3884// The context must be non-nil and will be used for request cancellation. If 3885// the context is nil a panic will occur. In the future the SDK may create 3886// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3887// for more information on using Contexts. 3888func (c *ElastiCache) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 3889 req, out := c.DescribeEventsRequest(input) 3890 req.SetContext(ctx) 3891 req.ApplyOptions(opts...) 3892 return out, req.Send() 3893} 3894 3895// DescribeEventsPages iterates over the pages of a DescribeEvents operation, 3896// calling the "fn" function with the response data for each page. To stop 3897// iterating, return false from the fn function. 3898// 3899// See DescribeEvents method for more information on how to use this operation. 3900// 3901// Note: This operation can generate multiple requests to a service. 3902// 3903// // Example iterating over at most 3 pages of a DescribeEvents operation. 3904// pageNum := 0 3905// err := client.DescribeEventsPages(params, 3906// func(page *elasticache.DescribeEventsOutput, lastPage bool) bool { 3907// pageNum++ 3908// fmt.Println(page) 3909// return pageNum <= 3 3910// }) 3911// 3912func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 3913 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 3914} 3915 3916// DescribeEventsPagesWithContext same as DescribeEventsPages except 3917// it takes a Context and allows setting request options on the pages. 3918// 3919// The context must be non-nil and will be used for request cancellation. If 3920// the context is nil a panic will occur. In the future the SDK may create 3921// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3922// for more information on using Contexts. 3923func (c *ElastiCache) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 3924 p := request.Pagination{ 3925 NewRequest: func() (*request.Request, error) { 3926 var inCpy *DescribeEventsInput 3927 if input != nil { 3928 tmp := *input 3929 inCpy = &tmp 3930 } 3931 req, _ := c.DescribeEventsRequest(inCpy) 3932 req.SetContext(ctx) 3933 req.ApplyOptions(opts...) 3934 return req, nil 3935 }, 3936 } 3937 3938 for p.Next() { 3939 if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { 3940 break 3941 } 3942 } 3943 3944 return p.Err() 3945} 3946 3947const opDescribeGlobalReplicationGroups = "DescribeGlobalReplicationGroups" 3948 3949// DescribeGlobalReplicationGroupsRequest generates a "aws/request.Request" representing the 3950// client's request for the DescribeGlobalReplicationGroups operation. The "output" return 3951// value will be populated with the request's response once the request completes 3952// successfully. 3953// 3954// Use "Send" method on the returned Request to send the API call to the service. 3955// the "output" return value is not valid until after Send returns without error. 3956// 3957// See DescribeGlobalReplicationGroups for more information on using the DescribeGlobalReplicationGroups 3958// API call, and error handling. 3959// 3960// This method is useful when you want to inject custom logic or configuration 3961// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3962// 3963// 3964// // Example sending a request using the DescribeGlobalReplicationGroupsRequest method. 3965// req, resp := client.DescribeGlobalReplicationGroupsRequest(params) 3966// 3967// err := req.Send() 3968// if err == nil { // resp is now filled 3969// fmt.Println(resp) 3970// } 3971// 3972// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 3973func (c *ElastiCache) DescribeGlobalReplicationGroupsRequest(input *DescribeGlobalReplicationGroupsInput) (req *request.Request, output *DescribeGlobalReplicationGroupsOutput) { 3974 op := &request.Operation{ 3975 Name: opDescribeGlobalReplicationGroups, 3976 HTTPMethod: "POST", 3977 HTTPPath: "/", 3978 Paginator: &request.Paginator{ 3979 InputTokens: []string{"Marker"}, 3980 OutputTokens: []string{"Marker"}, 3981 LimitToken: "MaxRecords", 3982 TruncationToken: "", 3983 }, 3984 } 3985 3986 if input == nil { 3987 input = &DescribeGlobalReplicationGroupsInput{} 3988 } 3989 3990 output = &DescribeGlobalReplicationGroupsOutput{} 3991 req = c.newRequest(op, input, output) 3992 return 3993} 3994 3995// DescribeGlobalReplicationGroups API operation for Amazon ElastiCache. 3996// 3997// Returns information about a particular global replication group. If no identifier 3998// is specified, returns information about all Global datastores. 3999// 4000// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4001// with awserr.Error's Code and Message methods to get detailed information about 4002// the error. 4003// 4004// See the AWS API reference guide for Amazon ElastiCache's 4005// API operation DescribeGlobalReplicationGroups for usage and error information. 4006// 4007// Returned Error Codes: 4008// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4009// The Global datastore does not exist 4010// 4011// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4012// The value for a parameter is invalid. 4013// 4014// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4015// Two or more incompatible parameters were specified. 4016// 4017// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 4018func (c *ElastiCache) DescribeGlobalReplicationGroups(input *DescribeGlobalReplicationGroupsInput) (*DescribeGlobalReplicationGroupsOutput, error) { 4019 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 4020 return out, req.Send() 4021} 4022 4023// DescribeGlobalReplicationGroupsWithContext is the same as DescribeGlobalReplicationGroups with the addition of 4024// the ability to pass a context and additional request options. 4025// 4026// See DescribeGlobalReplicationGroups for details on how to use this API operation. 4027// 4028// The context must be non-nil and will be used for request cancellation. If 4029// the context is nil a panic will occur. In the future the SDK may create 4030// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4031// for more information on using Contexts. 4032func (c *ElastiCache) DescribeGlobalReplicationGroupsWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, opts ...request.Option) (*DescribeGlobalReplicationGroupsOutput, error) { 4033 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 4034 req.SetContext(ctx) 4035 req.ApplyOptions(opts...) 4036 return out, req.Send() 4037} 4038 4039// DescribeGlobalReplicationGroupsPages iterates over the pages of a DescribeGlobalReplicationGroups operation, 4040// calling the "fn" function with the response data for each page. To stop 4041// iterating, return false from the fn function. 4042// 4043// See DescribeGlobalReplicationGroups method for more information on how to use this operation. 4044// 4045// Note: This operation can generate multiple requests to a service. 4046// 4047// // Example iterating over at most 3 pages of a DescribeGlobalReplicationGroups operation. 4048// pageNum := 0 4049// err := client.DescribeGlobalReplicationGroupsPages(params, 4050// func(page *elasticache.DescribeGlobalReplicationGroupsOutput, lastPage bool) bool { 4051// pageNum++ 4052// fmt.Println(page) 4053// return pageNum <= 3 4054// }) 4055// 4056func (c *ElastiCache) DescribeGlobalReplicationGroupsPages(input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool) error { 4057 return c.DescribeGlobalReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 4058} 4059 4060// DescribeGlobalReplicationGroupsPagesWithContext same as DescribeGlobalReplicationGroupsPages except 4061// it takes a Context and allows setting request options on the pages. 4062// 4063// The context must be non-nil and will be used for request cancellation. If 4064// the context is nil a panic will occur. In the future the SDK may create 4065// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4066// for more information on using Contexts. 4067func (c *ElastiCache) DescribeGlobalReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 4068 p := request.Pagination{ 4069 NewRequest: func() (*request.Request, error) { 4070 var inCpy *DescribeGlobalReplicationGroupsInput 4071 if input != nil { 4072 tmp := *input 4073 inCpy = &tmp 4074 } 4075 req, _ := c.DescribeGlobalReplicationGroupsRequest(inCpy) 4076 req.SetContext(ctx) 4077 req.ApplyOptions(opts...) 4078 return req, nil 4079 }, 4080 } 4081 4082 for p.Next() { 4083 if !fn(p.Page().(*DescribeGlobalReplicationGroupsOutput), !p.HasNextPage()) { 4084 break 4085 } 4086 } 4087 4088 return p.Err() 4089} 4090 4091const opDescribeReplicationGroups = "DescribeReplicationGroups" 4092 4093// DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the 4094// client's request for the DescribeReplicationGroups operation. The "output" return 4095// value will be populated with the request's response once the request completes 4096// successfully. 4097// 4098// Use "Send" method on the returned Request to send the API call to the service. 4099// the "output" return value is not valid until after Send returns without error. 4100// 4101// See DescribeReplicationGroups for more information on using the DescribeReplicationGroups 4102// API call, and error handling. 4103// 4104// This method is useful when you want to inject custom logic or configuration 4105// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4106// 4107// 4108// // Example sending a request using the DescribeReplicationGroupsRequest method. 4109// req, resp := client.DescribeReplicationGroupsRequest(params) 4110// 4111// err := req.Send() 4112// if err == nil { // resp is now filled 4113// fmt.Println(resp) 4114// } 4115// 4116// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 4117func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { 4118 op := &request.Operation{ 4119 Name: opDescribeReplicationGroups, 4120 HTTPMethod: "POST", 4121 HTTPPath: "/", 4122 Paginator: &request.Paginator{ 4123 InputTokens: []string{"Marker"}, 4124 OutputTokens: []string{"Marker"}, 4125 LimitToken: "MaxRecords", 4126 TruncationToken: "", 4127 }, 4128 } 4129 4130 if input == nil { 4131 input = &DescribeReplicationGroupsInput{} 4132 } 4133 4134 output = &DescribeReplicationGroupsOutput{} 4135 req = c.newRequest(op, input, output) 4136 return 4137} 4138 4139// DescribeReplicationGroups API operation for Amazon ElastiCache. 4140// 4141// Returns information about a particular replication group. If no identifier 4142// is specified, DescribeReplicationGroups returns information about all replication 4143// groups. 4144// 4145// This operation is valid for Redis only. 4146// 4147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4148// with awserr.Error's Code and Message methods to get detailed information about 4149// the error. 4150// 4151// See the AWS API reference guide for Amazon ElastiCache's 4152// API operation DescribeReplicationGroups for usage and error information. 4153// 4154// Returned Error Codes: 4155// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4156// The specified replication group does not exist. 4157// 4158// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4159// The value for a parameter is invalid. 4160// 4161// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4162// Two or more incompatible parameters were specified. 4163// 4164// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 4165func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { 4166 req, out := c.DescribeReplicationGroupsRequest(input) 4167 return out, req.Send() 4168} 4169 4170// DescribeReplicationGroupsWithContext is the same as DescribeReplicationGroups with the addition of 4171// the ability to pass a context and additional request options. 4172// 4173// See DescribeReplicationGroups for details on how to use this API operation. 4174// 4175// The context must be non-nil and will be used for request cancellation. If 4176// the context is nil a panic will occur. In the future the SDK may create 4177// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4178// for more information on using Contexts. 4179func (c *ElastiCache) DescribeReplicationGroupsWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, opts ...request.Option) (*DescribeReplicationGroupsOutput, error) { 4180 req, out := c.DescribeReplicationGroupsRequest(input) 4181 req.SetContext(ctx) 4182 req.ApplyOptions(opts...) 4183 return out, req.Send() 4184} 4185 4186// DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, 4187// calling the "fn" function with the response data for each page. To stop 4188// iterating, return false from the fn function. 4189// 4190// See DescribeReplicationGroups method for more information on how to use this operation. 4191// 4192// Note: This operation can generate multiple requests to a service. 4193// 4194// // Example iterating over at most 3 pages of a DescribeReplicationGroups operation. 4195// pageNum := 0 4196// err := client.DescribeReplicationGroupsPages(params, 4197// func(page *elasticache.DescribeReplicationGroupsOutput, lastPage bool) bool { 4198// pageNum++ 4199// fmt.Println(page) 4200// return pageNum <= 3 4201// }) 4202// 4203func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool) error { 4204 return c.DescribeReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 4205} 4206 4207// DescribeReplicationGroupsPagesWithContext same as DescribeReplicationGroupsPages except 4208// it takes a Context and allows setting request options on the pages. 4209// 4210// The context must be non-nil and will be used for request cancellation. If 4211// the context is nil a panic will occur. In the future the SDK may create 4212// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4213// for more information on using Contexts. 4214func (c *ElastiCache) DescribeReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 4215 p := request.Pagination{ 4216 NewRequest: func() (*request.Request, error) { 4217 var inCpy *DescribeReplicationGroupsInput 4218 if input != nil { 4219 tmp := *input 4220 inCpy = &tmp 4221 } 4222 req, _ := c.DescribeReplicationGroupsRequest(inCpy) 4223 req.SetContext(ctx) 4224 req.ApplyOptions(opts...) 4225 return req, nil 4226 }, 4227 } 4228 4229 for p.Next() { 4230 if !fn(p.Page().(*DescribeReplicationGroupsOutput), !p.HasNextPage()) { 4231 break 4232 } 4233 } 4234 4235 return p.Err() 4236} 4237 4238const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" 4239 4240// DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the 4241// client's request for the DescribeReservedCacheNodes operation. The "output" return 4242// value will be populated with the request's response once the request completes 4243// successfully. 4244// 4245// Use "Send" method on the returned Request to send the API call to the service. 4246// the "output" return value is not valid until after Send returns without error. 4247// 4248// See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes 4249// API call, and error handling. 4250// 4251// This method is useful when you want to inject custom logic or configuration 4252// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4253// 4254// 4255// // Example sending a request using the DescribeReservedCacheNodesRequest method. 4256// req, resp := client.DescribeReservedCacheNodesRequest(params) 4257// 4258// err := req.Send() 4259// if err == nil { // resp is now filled 4260// fmt.Println(resp) 4261// } 4262// 4263// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 4264func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { 4265 op := &request.Operation{ 4266 Name: opDescribeReservedCacheNodes, 4267 HTTPMethod: "POST", 4268 HTTPPath: "/", 4269 Paginator: &request.Paginator{ 4270 InputTokens: []string{"Marker"}, 4271 OutputTokens: []string{"Marker"}, 4272 LimitToken: "MaxRecords", 4273 TruncationToken: "", 4274 }, 4275 } 4276 4277 if input == nil { 4278 input = &DescribeReservedCacheNodesInput{} 4279 } 4280 4281 output = &DescribeReservedCacheNodesOutput{} 4282 req = c.newRequest(op, input, output) 4283 return 4284} 4285 4286// DescribeReservedCacheNodes API operation for Amazon ElastiCache. 4287// 4288// Returns information about reserved cache nodes for this account, or about 4289// a specified reserved cache node. 4290// 4291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4292// with awserr.Error's Code and Message methods to get detailed information about 4293// the error. 4294// 4295// See the AWS API reference guide for Amazon ElastiCache's 4296// API operation DescribeReservedCacheNodes for usage and error information. 4297// 4298// Returned Error Codes: 4299// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 4300// The requested reserved cache node was not found. 4301// 4302// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4303// The value for a parameter is invalid. 4304// 4305// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4306// Two or more incompatible parameters were specified. 4307// 4308// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 4309func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { 4310 req, out := c.DescribeReservedCacheNodesRequest(input) 4311 return out, req.Send() 4312} 4313 4314// DescribeReservedCacheNodesWithContext is the same as DescribeReservedCacheNodes with the addition of 4315// the ability to pass a context and additional request options. 4316// 4317// See DescribeReservedCacheNodes for details on how to use this API operation. 4318// 4319// The context must be non-nil and will be used for request cancellation. If 4320// the context is nil a panic will occur. In the future the SDK may create 4321// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4322// for more information on using Contexts. 4323func (c *ElastiCache) DescribeReservedCacheNodesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, opts ...request.Option) (*DescribeReservedCacheNodesOutput, error) { 4324 req, out := c.DescribeReservedCacheNodesRequest(input) 4325 req.SetContext(ctx) 4326 req.ApplyOptions(opts...) 4327 return out, req.Send() 4328} 4329 4330// DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, 4331// calling the "fn" function with the response data for each page. To stop 4332// iterating, return false from the fn function. 4333// 4334// See DescribeReservedCacheNodes method for more information on how to use this operation. 4335// 4336// Note: This operation can generate multiple requests to a service. 4337// 4338// // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation. 4339// pageNum := 0 4340// err := client.DescribeReservedCacheNodesPages(params, 4341// func(page *elasticache.DescribeReservedCacheNodesOutput, lastPage bool) bool { 4342// pageNum++ 4343// fmt.Println(page) 4344// return pageNum <= 3 4345// }) 4346// 4347func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool) error { 4348 return c.DescribeReservedCacheNodesPagesWithContext(aws.BackgroundContext(), input, fn) 4349} 4350 4351// DescribeReservedCacheNodesPagesWithContext same as DescribeReservedCacheNodesPages except 4352// it takes a Context and allows setting request options on the pages. 4353// 4354// The context must be non-nil and will be used for request cancellation. If 4355// the context is nil a panic will occur. In the future the SDK may create 4356// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4357// for more information on using Contexts. 4358func (c *ElastiCache) DescribeReservedCacheNodesPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool, opts ...request.Option) error { 4359 p := request.Pagination{ 4360 NewRequest: func() (*request.Request, error) { 4361 var inCpy *DescribeReservedCacheNodesInput 4362 if input != nil { 4363 tmp := *input 4364 inCpy = &tmp 4365 } 4366 req, _ := c.DescribeReservedCacheNodesRequest(inCpy) 4367 req.SetContext(ctx) 4368 req.ApplyOptions(opts...) 4369 return req, nil 4370 }, 4371 } 4372 4373 for p.Next() { 4374 if !fn(p.Page().(*DescribeReservedCacheNodesOutput), !p.HasNextPage()) { 4375 break 4376 } 4377 } 4378 4379 return p.Err() 4380} 4381 4382const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" 4383 4384// DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the 4385// client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return 4386// value will be populated with the request's response once the request completes 4387// successfully. 4388// 4389// Use "Send" method on the returned Request to send the API call to the service. 4390// the "output" return value is not valid until after Send returns without error. 4391// 4392// See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings 4393// API call, and error handling. 4394// 4395// This method is useful when you want to inject custom logic or configuration 4396// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4397// 4398// 4399// // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. 4400// req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) 4401// 4402// err := req.Send() 4403// if err == nil { // resp is now filled 4404// fmt.Println(resp) 4405// } 4406// 4407// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 4408func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { 4409 op := &request.Operation{ 4410 Name: opDescribeReservedCacheNodesOfferings, 4411 HTTPMethod: "POST", 4412 HTTPPath: "/", 4413 Paginator: &request.Paginator{ 4414 InputTokens: []string{"Marker"}, 4415 OutputTokens: []string{"Marker"}, 4416 LimitToken: "MaxRecords", 4417 TruncationToken: "", 4418 }, 4419 } 4420 4421 if input == nil { 4422 input = &DescribeReservedCacheNodesOfferingsInput{} 4423 } 4424 4425 output = &DescribeReservedCacheNodesOfferingsOutput{} 4426 req = c.newRequest(op, input, output) 4427 return 4428} 4429 4430// DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. 4431// 4432// Lists available reserved cache node offerings. 4433// 4434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4435// with awserr.Error's Code and Message methods to get detailed information about 4436// the error. 4437// 4438// See the AWS API reference guide for Amazon ElastiCache's 4439// API operation DescribeReservedCacheNodesOfferings for usage and error information. 4440// 4441// Returned Error Codes: 4442// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 4443// The requested cache node offering does not exist. 4444// 4445// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4446// The value for a parameter is invalid. 4447// 4448// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4449// Two or more incompatible parameters were specified. 4450// 4451// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 4452func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { 4453 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 4454 return out, req.Send() 4455} 4456 4457// DescribeReservedCacheNodesOfferingsWithContext is the same as DescribeReservedCacheNodesOfferings with the addition of 4458// the ability to pass a context and additional request options. 4459// 4460// See DescribeReservedCacheNodesOfferings for details on how to use this API operation. 4461// 4462// The context must be non-nil and will be used for request cancellation. If 4463// the context is nil a panic will occur. In the future the SDK may create 4464// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4465// for more information on using Contexts. 4466func (c *ElastiCache) DescribeReservedCacheNodesOfferingsWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, opts ...request.Option) (*DescribeReservedCacheNodesOfferingsOutput, error) { 4467 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 4468 req.SetContext(ctx) 4469 req.ApplyOptions(opts...) 4470 return out, req.Send() 4471} 4472 4473// DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, 4474// calling the "fn" function with the response data for each page. To stop 4475// iterating, return false from the fn function. 4476// 4477// See DescribeReservedCacheNodesOfferings method for more information on how to use this operation. 4478// 4479// Note: This operation can generate multiple requests to a service. 4480// 4481// // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation. 4482// pageNum := 0 4483// err := client.DescribeReservedCacheNodesOfferingsPages(params, 4484// func(page *elasticache.DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { 4485// pageNum++ 4486// fmt.Println(page) 4487// return pageNum <= 3 4488// }) 4489// 4490func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool) error { 4491 return c.DescribeReservedCacheNodesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 4492} 4493 4494// DescribeReservedCacheNodesOfferingsPagesWithContext same as DescribeReservedCacheNodesOfferingsPages except 4495// it takes a Context and allows setting request options on the pages. 4496// 4497// The context must be non-nil and will be used for request cancellation. If 4498// the context is nil a panic will occur. In the future the SDK may create 4499// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4500// for more information on using Contexts. 4501func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool, opts ...request.Option) error { 4502 p := request.Pagination{ 4503 NewRequest: func() (*request.Request, error) { 4504 var inCpy *DescribeReservedCacheNodesOfferingsInput 4505 if input != nil { 4506 tmp := *input 4507 inCpy = &tmp 4508 } 4509 req, _ := c.DescribeReservedCacheNodesOfferingsRequest(inCpy) 4510 req.SetContext(ctx) 4511 req.ApplyOptions(opts...) 4512 return req, nil 4513 }, 4514 } 4515 4516 for p.Next() { 4517 if !fn(p.Page().(*DescribeReservedCacheNodesOfferingsOutput), !p.HasNextPage()) { 4518 break 4519 } 4520 } 4521 4522 return p.Err() 4523} 4524 4525const opDescribeServiceUpdates = "DescribeServiceUpdates" 4526 4527// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the 4528// client's request for the DescribeServiceUpdates operation. The "output" return 4529// value will be populated with the request's response once the request completes 4530// successfully. 4531// 4532// Use "Send" method on the returned Request to send the API call to the service. 4533// the "output" return value is not valid until after Send returns without error. 4534// 4535// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates 4536// API call, and error handling. 4537// 4538// This method is useful when you want to inject custom logic or configuration 4539// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4540// 4541// 4542// // Example sending a request using the DescribeServiceUpdatesRequest method. 4543// req, resp := client.DescribeServiceUpdatesRequest(params) 4544// 4545// err := req.Send() 4546// if err == nil { // resp is now filled 4547// fmt.Println(resp) 4548// } 4549// 4550// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4551func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { 4552 op := &request.Operation{ 4553 Name: opDescribeServiceUpdates, 4554 HTTPMethod: "POST", 4555 HTTPPath: "/", 4556 Paginator: &request.Paginator{ 4557 InputTokens: []string{"Marker"}, 4558 OutputTokens: []string{"Marker"}, 4559 LimitToken: "MaxRecords", 4560 TruncationToken: "", 4561 }, 4562 } 4563 4564 if input == nil { 4565 input = &DescribeServiceUpdatesInput{} 4566 } 4567 4568 output = &DescribeServiceUpdatesOutput{} 4569 req = c.newRequest(op, input, output) 4570 return 4571} 4572 4573// DescribeServiceUpdates API operation for Amazon ElastiCache. 4574// 4575// Returns details of the service updates 4576// 4577// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4578// with awserr.Error's Code and Message methods to get detailed information about 4579// the error. 4580// 4581// See the AWS API reference guide for Amazon ElastiCache's 4582// API operation DescribeServiceUpdates for usage and error information. 4583// 4584// Returned Error Codes: 4585// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 4586// The service update doesn't exist 4587// 4588// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4589// The value for a parameter is invalid. 4590// 4591// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4592// Two or more incompatible parameters were specified. 4593// 4594// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4595func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { 4596 req, out := c.DescribeServiceUpdatesRequest(input) 4597 return out, req.Send() 4598} 4599 4600// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of 4601// the ability to pass a context and additional request options. 4602// 4603// See DescribeServiceUpdates for details on how to use this API operation. 4604// 4605// The context must be non-nil and will be used for request cancellation. If 4606// the context is nil a panic will occur. In the future the SDK may create 4607// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4608// for more information on using Contexts. 4609func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { 4610 req, out := c.DescribeServiceUpdatesRequest(input) 4611 req.SetContext(ctx) 4612 req.ApplyOptions(opts...) 4613 return out, req.Send() 4614} 4615 4616// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, 4617// calling the "fn" function with the response data for each page. To stop 4618// iterating, return false from the fn function. 4619// 4620// See DescribeServiceUpdates method for more information on how to use this operation. 4621// 4622// Note: This operation can generate multiple requests to a service. 4623// 4624// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. 4625// pageNum := 0 4626// err := client.DescribeServiceUpdatesPages(params, 4627// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { 4628// pageNum++ 4629// fmt.Println(page) 4630// return pageNum <= 3 4631// }) 4632// 4633func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { 4634 return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 4635} 4636 4637// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except 4638// it takes a Context and allows setting request options on the pages. 4639// 4640// The context must be non-nil and will be used for request cancellation. If 4641// the context is nil a panic will occur. In the future the SDK may create 4642// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4643// for more information on using Contexts. 4644func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { 4645 p := request.Pagination{ 4646 NewRequest: func() (*request.Request, error) { 4647 var inCpy *DescribeServiceUpdatesInput 4648 if input != nil { 4649 tmp := *input 4650 inCpy = &tmp 4651 } 4652 req, _ := c.DescribeServiceUpdatesRequest(inCpy) 4653 req.SetContext(ctx) 4654 req.ApplyOptions(opts...) 4655 return req, nil 4656 }, 4657 } 4658 4659 for p.Next() { 4660 if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { 4661 break 4662 } 4663 } 4664 4665 return p.Err() 4666} 4667 4668const opDescribeSnapshots = "DescribeSnapshots" 4669 4670// DescribeSnapshotsRequest generates a "aws/request.Request" representing the 4671// client's request for the DescribeSnapshots operation. The "output" return 4672// value will be populated with the request's response once the request completes 4673// successfully. 4674// 4675// Use "Send" method on the returned Request to send the API call to the service. 4676// the "output" return value is not valid until after Send returns without error. 4677// 4678// See DescribeSnapshots for more information on using the DescribeSnapshots 4679// API call, and error handling. 4680// 4681// This method is useful when you want to inject custom logic or configuration 4682// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4683// 4684// 4685// // Example sending a request using the DescribeSnapshotsRequest method. 4686// req, resp := client.DescribeSnapshotsRequest(params) 4687// 4688// err := req.Send() 4689// if err == nil { // resp is now filled 4690// fmt.Println(resp) 4691// } 4692// 4693// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4694func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { 4695 op := &request.Operation{ 4696 Name: opDescribeSnapshots, 4697 HTTPMethod: "POST", 4698 HTTPPath: "/", 4699 Paginator: &request.Paginator{ 4700 InputTokens: []string{"Marker"}, 4701 OutputTokens: []string{"Marker"}, 4702 LimitToken: "MaxRecords", 4703 TruncationToken: "", 4704 }, 4705 } 4706 4707 if input == nil { 4708 input = &DescribeSnapshotsInput{} 4709 } 4710 4711 output = &DescribeSnapshotsOutput{} 4712 req = c.newRequest(op, input, output) 4713 return 4714} 4715 4716// DescribeSnapshots API operation for Amazon ElastiCache. 4717// 4718// Returns information about cluster or replication group snapshots. By default, 4719// DescribeSnapshots lists all of your snapshots; it can optionally describe 4720// a single snapshot, or just the snapshots associated with a particular cache 4721// cluster. 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 DescribeSnapshots for usage and error information. 4731// 4732// Returned Error Codes: 4733// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4734// The requested cluster ID does not refer to an existing cluster. 4735// 4736// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 4737// The requested snapshot name does not refer to an existing snapshot. 4738// 4739// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4740// The value for a parameter is invalid. 4741// 4742// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4743// Two or more incompatible parameters were specified. 4744// 4745// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4746func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { 4747 req, out := c.DescribeSnapshotsRequest(input) 4748 return out, req.Send() 4749} 4750 4751// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of 4752// the ability to pass a context and additional request options. 4753// 4754// See DescribeSnapshots for details on how to use this API operation. 4755// 4756// The context must be non-nil and will be used for request cancellation. If 4757// the context is nil a panic will occur. In the future the SDK may create 4758// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4759// for more information on using Contexts. 4760func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { 4761 req, out := c.DescribeSnapshotsRequest(input) 4762 req.SetContext(ctx) 4763 req.ApplyOptions(opts...) 4764 return out, req.Send() 4765} 4766 4767// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, 4768// calling the "fn" function with the response data for each page. To stop 4769// iterating, return false from the fn function. 4770// 4771// See DescribeSnapshots method for more information on how to use this operation. 4772// 4773// Note: This operation can generate multiple requests to a service. 4774// 4775// // Example iterating over at most 3 pages of a DescribeSnapshots operation. 4776// pageNum := 0 4777// err := client.DescribeSnapshotsPages(params, 4778// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { 4779// pageNum++ 4780// fmt.Println(page) 4781// return pageNum <= 3 4782// }) 4783// 4784func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { 4785 return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 4786} 4787 4788// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except 4789// it takes a Context and allows setting request options on the pages. 4790// 4791// The context must be non-nil and will be used for request cancellation. If 4792// the context is nil a panic will occur. In the future the SDK may create 4793// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4794// for more information on using Contexts. 4795func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { 4796 p := request.Pagination{ 4797 NewRequest: func() (*request.Request, error) { 4798 var inCpy *DescribeSnapshotsInput 4799 if input != nil { 4800 tmp := *input 4801 inCpy = &tmp 4802 } 4803 req, _ := c.DescribeSnapshotsRequest(inCpy) 4804 req.SetContext(ctx) 4805 req.ApplyOptions(opts...) 4806 return req, nil 4807 }, 4808 } 4809 4810 for p.Next() { 4811 if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { 4812 break 4813 } 4814 } 4815 4816 return p.Err() 4817} 4818 4819const opDescribeUpdateActions = "DescribeUpdateActions" 4820 4821// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the 4822// client's request for the DescribeUpdateActions operation. The "output" return 4823// value will be populated with the request's response once the request completes 4824// successfully. 4825// 4826// Use "Send" method on the returned Request to send the API call to the service. 4827// the "output" return value is not valid until after Send returns without error. 4828// 4829// See DescribeUpdateActions for more information on using the DescribeUpdateActions 4830// API call, and error handling. 4831// 4832// This method is useful when you want to inject custom logic or configuration 4833// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4834// 4835// 4836// // Example sending a request using the DescribeUpdateActionsRequest method. 4837// req, resp := client.DescribeUpdateActionsRequest(params) 4838// 4839// err := req.Send() 4840// if err == nil { // resp is now filled 4841// fmt.Println(resp) 4842// } 4843// 4844// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4845func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { 4846 op := &request.Operation{ 4847 Name: opDescribeUpdateActions, 4848 HTTPMethod: "POST", 4849 HTTPPath: "/", 4850 Paginator: &request.Paginator{ 4851 InputTokens: []string{"Marker"}, 4852 OutputTokens: []string{"Marker"}, 4853 LimitToken: "MaxRecords", 4854 TruncationToken: "", 4855 }, 4856 } 4857 4858 if input == nil { 4859 input = &DescribeUpdateActionsInput{} 4860 } 4861 4862 output = &DescribeUpdateActionsOutput{} 4863 req = c.newRequest(op, input, output) 4864 return 4865} 4866 4867// DescribeUpdateActions API operation for Amazon ElastiCache. 4868// 4869// Returns details of the update actions 4870// 4871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4872// with awserr.Error's Code and Message methods to get detailed information about 4873// the error. 4874// 4875// See the AWS API reference guide for Amazon ElastiCache's 4876// API operation DescribeUpdateActions for usage and error information. 4877// 4878// Returned Error Codes: 4879// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4880// The value for a parameter is invalid. 4881// 4882// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4883// Two or more incompatible parameters were specified. 4884// 4885// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4886func (c *ElastiCache) DescribeUpdateActions(input *DescribeUpdateActionsInput) (*DescribeUpdateActionsOutput, error) { 4887 req, out := c.DescribeUpdateActionsRequest(input) 4888 return out, req.Send() 4889} 4890 4891// DescribeUpdateActionsWithContext is the same as DescribeUpdateActions with the addition of 4892// the ability to pass a context and additional request options. 4893// 4894// See DescribeUpdateActions for details on how to use this API operation. 4895// 4896// The context must be non-nil and will be used for request cancellation. If 4897// the context is nil a panic will occur. In the future the SDK may create 4898// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4899// for more information on using Contexts. 4900func (c *ElastiCache) DescribeUpdateActionsWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, opts ...request.Option) (*DescribeUpdateActionsOutput, error) { 4901 req, out := c.DescribeUpdateActionsRequest(input) 4902 req.SetContext(ctx) 4903 req.ApplyOptions(opts...) 4904 return out, req.Send() 4905} 4906 4907// DescribeUpdateActionsPages iterates over the pages of a DescribeUpdateActions operation, 4908// calling the "fn" function with the response data for each page. To stop 4909// iterating, return false from the fn function. 4910// 4911// See DescribeUpdateActions method for more information on how to use this operation. 4912// 4913// Note: This operation can generate multiple requests to a service. 4914// 4915// // Example iterating over at most 3 pages of a DescribeUpdateActions operation. 4916// pageNum := 0 4917// err := client.DescribeUpdateActionsPages(params, 4918// func(page *elasticache.DescribeUpdateActionsOutput, lastPage bool) bool { 4919// pageNum++ 4920// fmt.Println(page) 4921// return pageNum <= 3 4922// }) 4923// 4924func (c *ElastiCache) DescribeUpdateActionsPages(input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool) error { 4925 return c.DescribeUpdateActionsPagesWithContext(aws.BackgroundContext(), input, fn) 4926} 4927 4928// DescribeUpdateActionsPagesWithContext same as DescribeUpdateActionsPages except 4929// it takes a Context and allows setting request options on the pages. 4930// 4931// The context must be non-nil and will be used for request cancellation. If 4932// the context is nil a panic will occur. In the future the SDK may create 4933// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4934// for more information on using Contexts. 4935func (c *ElastiCache) DescribeUpdateActionsPagesWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool, opts ...request.Option) error { 4936 p := request.Pagination{ 4937 NewRequest: func() (*request.Request, error) { 4938 var inCpy *DescribeUpdateActionsInput 4939 if input != nil { 4940 tmp := *input 4941 inCpy = &tmp 4942 } 4943 req, _ := c.DescribeUpdateActionsRequest(inCpy) 4944 req.SetContext(ctx) 4945 req.ApplyOptions(opts...) 4946 return req, nil 4947 }, 4948 } 4949 4950 for p.Next() { 4951 if !fn(p.Page().(*DescribeUpdateActionsOutput), !p.HasNextPage()) { 4952 break 4953 } 4954 } 4955 4956 return p.Err() 4957} 4958 4959const opDescribeUserGroups = "DescribeUserGroups" 4960 4961// DescribeUserGroupsRequest generates a "aws/request.Request" representing the 4962// client's request for the DescribeUserGroups operation. The "output" return 4963// value will be populated with the request's response once the request completes 4964// successfully. 4965// 4966// Use "Send" method on the returned Request to send the API call to the service. 4967// the "output" return value is not valid until after Send returns without error. 4968// 4969// See DescribeUserGroups for more information on using the DescribeUserGroups 4970// API call, and error handling. 4971// 4972// This method is useful when you want to inject custom logic or configuration 4973// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4974// 4975// 4976// // Example sending a request using the DescribeUserGroupsRequest method. 4977// req, resp := client.DescribeUserGroupsRequest(params) 4978// 4979// err := req.Send() 4980// if err == nil { // resp is now filled 4981// fmt.Println(resp) 4982// } 4983// 4984// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroups 4985func (c *ElastiCache) DescribeUserGroupsRequest(input *DescribeUserGroupsInput) (req *request.Request, output *DescribeUserGroupsOutput) { 4986 op := &request.Operation{ 4987 Name: opDescribeUserGroups, 4988 HTTPMethod: "POST", 4989 HTTPPath: "/", 4990 Paginator: &request.Paginator{ 4991 InputTokens: []string{"Marker"}, 4992 OutputTokens: []string{"Marker"}, 4993 LimitToken: "MaxRecords", 4994 TruncationToken: "", 4995 }, 4996 } 4997 4998 if input == nil { 4999 input = &DescribeUserGroupsInput{} 5000 } 5001 5002 output = &DescribeUserGroupsOutput{} 5003 req = c.newRequest(op, input, output) 5004 return 5005} 5006 5007// DescribeUserGroups API operation for Amazon ElastiCache. 5008// 5009// Returns a list of user groups. 5010// 5011// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5012// with awserr.Error's Code and Message methods to get detailed information about 5013// the error. 5014// 5015// See the AWS API reference guide for Amazon ElastiCache's 5016// API operation DescribeUserGroups for usage and error information. 5017// 5018// Returned Error Codes: 5019// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 5020// The user group was not found or does not exist 5021// 5022// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5023// Two or more incompatible parameters were specified. 5024// 5025// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroups 5026func (c *ElastiCache) DescribeUserGroups(input *DescribeUserGroupsInput) (*DescribeUserGroupsOutput, error) { 5027 req, out := c.DescribeUserGroupsRequest(input) 5028 return out, req.Send() 5029} 5030 5031// DescribeUserGroupsWithContext is the same as DescribeUserGroups with the addition of 5032// the ability to pass a context and additional request options. 5033// 5034// See DescribeUserGroups for details on how to use this API operation. 5035// 5036// The context must be non-nil and will be used for request cancellation. If 5037// the context is nil a panic will occur. In the future the SDK may create 5038// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5039// for more information on using Contexts. 5040func (c *ElastiCache) DescribeUserGroupsWithContext(ctx aws.Context, input *DescribeUserGroupsInput, opts ...request.Option) (*DescribeUserGroupsOutput, error) { 5041 req, out := c.DescribeUserGroupsRequest(input) 5042 req.SetContext(ctx) 5043 req.ApplyOptions(opts...) 5044 return out, req.Send() 5045} 5046 5047// DescribeUserGroupsPages iterates over the pages of a DescribeUserGroups operation, 5048// calling the "fn" function with the response data for each page. To stop 5049// iterating, return false from the fn function. 5050// 5051// See DescribeUserGroups method for more information on how to use this operation. 5052// 5053// Note: This operation can generate multiple requests to a service. 5054// 5055// // Example iterating over at most 3 pages of a DescribeUserGroups operation. 5056// pageNum := 0 5057// err := client.DescribeUserGroupsPages(params, 5058// func(page *elasticache.DescribeUserGroupsOutput, lastPage bool) bool { 5059// pageNum++ 5060// fmt.Println(page) 5061// return pageNum <= 3 5062// }) 5063// 5064func (c *ElastiCache) DescribeUserGroupsPages(input *DescribeUserGroupsInput, fn func(*DescribeUserGroupsOutput, bool) bool) error { 5065 return c.DescribeUserGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 5066} 5067 5068// DescribeUserGroupsPagesWithContext same as DescribeUserGroupsPages except 5069// it takes a Context and allows setting request options on the pages. 5070// 5071// The context must be non-nil and will be used for request cancellation. If 5072// the context is nil a panic will occur. In the future the SDK may create 5073// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5074// for more information on using Contexts. 5075func (c *ElastiCache) DescribeUserGroupsPagesWithContext(ctx aws.Context, input *DescribeUserGroupsInput, fn func(*DescribeUserGroupsOutput, bool) bool, opts ...request.Option) error { 5076 p := request.Pagination{ 5077 NewRequest: func() (*request.Request, error) { 5078 var inCpy *DescribeUserGroupsInput 5079 if input != nil { 5080 tmp := *input 5081 inCpy = &tmp 5082 } 5083 req, _ := c.DescribeUserGroupsRequest(inCpy) 5084 req.SetContext(ctx) 5085 req.ApplyOptions(opts...) 5086 return req, nil 5087 }, 5088 } 5089 5090 for p.Next() { 5091 if !fn(p.Page().(*DescribeUserGroupsOutput), !p.HasNextPage()) { 5092 break 5093 } 5094 } 5095 5096 return p.Err() 5097} 5098 5099const opDescribeUsers = "DescribeUsers" 5100 5101// DescribeUsersRequest generates a "aws/request.Request" representing the 5102// client's request for the DescribeUsers operation. The "output" return 5103// value will be populated with the request's response once the request completes 5104// successfully. 5105// 5106// Use "Send" method on the returned Request to send the API call to the service. 5107// the "output" return value is not valid until after Send returns without error. 5108// 5109// See DescribeUsers for more information on using the DescribeUsers 5110// API call, and error handling. 5111// 5112// This method is useful when you want to inject custom logic or configuration 5113// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5114// 5115// 5116// // Example sending a request using the DescribeUsersRequest method. 5117// req, resp := client.DescribeUsersRequest(params) 5118// 5119// err := req.Send() 5120// if err == nil { // resp is now filled 5121// fmt.Println(resp) 5122// } 5123// 5124// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsers 5125func (c *ElastiCache) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) { 5126 op := &request.Operation{ 5127 Name: opDescribeUsers, 5128 HTTPMethod: "POST", 5129 HTTPPath: "/", 5130 Paginator: &request.Paginator{ 5131 InputTokens: []string{"Marker"}, 5132 OutputTokens: []string{"Marker"}, 5133 LimitToken: "MaxRecords", 5134 TruncationToken: "", 5135 }, 5136 } 5137 5138 if input == nil { 5139 input = &DescribeUsersInput{} 5140 } 5141 5142 output = &DescribeUsersOutput{} 5143 req = c.newRequest(op, input, output) 5144 return 5145} 5146 5147// DescribeUsers API operation for Amazon ElastiCache. 5148// 5149// Returns a list of users. 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 DescribeUsers for usage and error information. 5157// 5158// Returned Error Codes: 5159// * ErrCodeUserNotFoundFault "UserNotFound" 5160// The user does not exist or could not be found. 5161// 5162// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5163// Two or more incompatible parameters were specified. 5164// 5165// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsers 5166func (c *ElastiCache) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) { 5167 req, out := c.DescribeUsersRequest(input) 5168 return out, req.Send() 5169} 5170 5171// DescribeUsersWithContext is the same as DescribeUsers with the addition of 5172// the ability to pass a context and additional request options. 5173// 5174// See DescribeUsers for details on how to use this API operation. 5175// 5176// The context must be non-nil and will be used for request cancellation. If 5177// the context is nil a panic will occur. In the future the SDK may create 5178// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5179// for more information on using Contexts. 5180func (c *ElastiCache) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) { 5181 req, out := c.DescribeUsersRequest(input) 5182 req.SetContext(ctx) 5183 req.ApplyOptions(opts...) 5184 return out, req.Send() 5185} 5186 5187// DescribeUsersPages iterates over the pages of a DescribeUsers operation, 5188// calling the "fn" function with the response data for each page. To stop 5189// iterating, return false from the fn function. 5190// 5191// See DescribeUsers method for more information on how to use this operation. 5192// 5193// Note: This operation can generate multiple requests to a service. 5194// 5195// // Example iterating over at most 3 pages of a DescribeUsers operation. 5196// pageNum := 0 5197// err := client.DescribeUsersPages(params, 5198// func(page *elasticache.DescribeUsersOutput, lastPage bool) bool { 5199// pageNum++ 5200// fmt.Println(page) 5201// return pageNum <= 3 5202// }) 5203// 5204func (c *ElastiCache) DescribeUsersPages(input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool) error { 5205 return c.DescribeUsersPagesWithContext(aws.BackgroundContext(), input, fn) 5206} 5207 5208// DescribeUsersPagesWithContext same as DescribeUsersPages except 5209// it takes a Context and allows setting request options on the pages. 5210// 5211// The context must be non-nil and will be used for request cancellation. If 5212// the context is nil a panic will occur. In the future the SDK may create 5213// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5214// for more information on using Contexts. 5215func (c *ElastiCache) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error { 5216 p := request.Pagination{ 5217 NewRequest: func() (*request.Request, error) { 5218 var inCpy *DescribeUsersInput 5219 if input != nil { 5220 tmp := *input 5221 inCpy = &tmp 5222 } 5223 req, _ := c.DescribeUsersRequest(inCpy) 5224 req.SetContext(ctx) 5225 req.ApplyOptions(opts...) 5226 return req, nil 5227 }, 5228 } 5229 5230 for p.Next() { 5231 if !fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage()) { 5232 break 5233 } 5234 } 5235 5236 return p.Err() 5237} 5238 5239const opDisassociateGlobalReplicationGroup = "DisassociateGlobalReplicationGroup" 5240 5241// DisassociateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5242// client's request for the DisassociateGlobalReplicationGroup operation. The "output" return 5243// value will be populated with the request's response once the request completes 5244// successfully. 5245// 5246// Use "Send" method on the returned Request to send the API call to the service. 5247// the "output" return value is not valid until after Send returns without error. 5248// 5249// See DisassociateGlobalReplicationGroup for more information on using the DisassociateGlobalReplicationGroup 5250// API call, and error handling. 5251// 5252// This method is useful when you want to inject custom logic or configuration 5253// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5254// 5255// 5256// // Example sending a request using the DisassociateGlobalReplicationGroupRequest method. 5257// req, resp := client.DisassociateGlobalReplicationGroupRequest(params) 5258// 5259// err := req.Send() 5260// if err == nil { // resp is now filled 5261// fmt.Println(resp) 5262// } 5263// 5264// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 5265func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *DisassociateGlobalReplicationGroupInput) (req *request.Request, output *DisassociateGlobalReplicationGroupOutput) { 5266 op := &request.Operation{ 5267 Name: opDisassociateGlobalReplicationGroup, 5268 HTTPMethod: "POST", 5269 HTTPPath: "/", 5270 } 5271 5272 if input == nil { 5273 input = &DisassociateGlobalReplicationGroupInput{} 5274 } 5275 5276 output = &DisassociateGlobalReplicationGroupOutput{} 5277 req = c.newRequest(op, input, output) 5278 return 5279} 5280 5281// DisassociateGlobalReplicationGroup API operation for Amazon ElastiCache. 5282// 5283// Remove a secondary cluster from the Global datastore using the Global datastore 5284// name. The secondary cluster will no longer receive updates from the primary 5285// cluster, but will remain as a standalone cluster in that Amazon region. 5286// 5287// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5288// with awserr.Error's Code and Message methods to get detailed information about 5289// the error. 5290// 5291// See the AWS API reference guide for Amazon ElastiCache's 5292// API operation DisassociateGlobalReplicationGroup for usage and error information. 5293// 5294// Returned Error Codes: 5295// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5296// The Global datastore does not exist 5297// 5298// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5299// The Global datastore is not available or in primary-only state. 5300// 5301// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5302// The value for a parameter is invalid. 5303// 5304// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5305// Two or more incompatible parameters were specified. 5306// 5307// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 5308func (c *ElastiCache) DisassociateGlobalReplicationGroup(input *DisassociateGlobalReplicationGroupInput) (*DisassociateGlobalReplicationGroupOutput, error) { 5309 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 5310 return out, req.Send() 5311} 5312 5313// DisassociateGlobalReplicationGroupWithContext is the same as DisassociateGlobalReplicationGroup with the addition of 5314// the ability to pass a context and additional request options. 5315// 5316// See DisassociateGlobalReplicationGroup for details on how to use this API operation. 5317// 5318// The context must be non-nil and will be used for request cancellation. If 5319// the context is nil a panic will occur. In the future the SDK may create 5320// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5321// for more information on using Contexts. 5322func (c *ElastiCache) DisassociateGlobalReplicationGroupWithContext(ctx aws.Context, input *DisassociateGlobalReplicationGroupInput, opts ...request.Option) (*DisassociateGlobalReplicationGroupOutput, error) { 5323 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 5324 req.SetContext(ctx) 5325 req.ApplyOptions(opts...) 5326 return out, req.Send() 5327} 5328 5329const opFailoverGlobalReplicationGroup = "FailoverGlobalReplicationGroup" 5330 5331// FailoverGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5332// client's request for the FailoverGlobalReplicationGroup operation. The "output" return 5333// value will be populated with the request's response once the request completes 5334// successfully. 5335// 5336// Use "Send" method on the returned Request to send the API call to the service. 5337// the "output" return value is not valid until after Send returns without error. 5338// 5339// See FailoverGlobalReplicationGroup for more information on using the FailoverGlobalReplicationGroup 5340// API call, and error handling. 5341// 5342// This method is useful when you want to inject custom logic or configuration 5343// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5344// 5345// 5346// // Example sending a request using the FailoverGlobalReplicationGroupRequest method. 5347// req, resp := client.FailoverGlobalReplicationGroupRequest(params) 5348// 5349// err := req.Send() 5350// if err == nil { // resp is now filled 5351// fmt.Println(resp) 5352// } 5353// 5354// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 5355func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGlobalReplicationGroupInput) (req *request.Request, output *FailoverGlobalReplicationGroupOutput) { 5356 op := &request.Operation{ 5357 Name: opFailoverGlobalReplicationGroup, 5358 HTTPMethod: "POST", 5359 HTTPPath: "/", 5360 } 5361 5362 if input == nil { 5363 input = &FailoverGlobalReplicationGroupInput{} 5364 } 5365 5366 output = &FailoverGlobalReplicationGroupOutput{} 5367 req = c.newRequest(op, input, output) 5368 return 5369} 5370 5371// FailoverGlobalReplicationGroup API operation for Amazon ElastiCache. 5372// 5373// Used to failover the primary region to a selected secondary region. The selected 5374// secondary region will become primary, and all other clusters will become 5375// secondary. 5376// 5377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5378// with awserr.Error's Code and Message methods to get detailed information about 5379// the error. 5380// 5381// See the AWS API reference guide for Amazon ElastiCache's 5382// API operation FailoverGlobalReplicationGroup for usage and error information. 5383// 5384// Returned Error Codes: 5385// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5386// The Global datastore does not exist 5387// 5388// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5389// The Global datastore is not available or in primary-only state. 5390// 5391// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5392// The value for a parameter is invalid. 5393// 5394// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5395// Two or more incompatible parameters were specified. 5396// 5397// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 5398func (c *ElastiCache) FailoverGlobalReplicationGroup(input *FailoverGlobalReplicationGroupInput) (*FailoverGlobalReplicationGroupOutput, error) { 5399 req, out := c.FailoverGlobalReplicationGroupRequest(input) 5400 return out, req.Send() 5401} 5402 5403// FailoverGlobalReplicationGroupWithContext is the same as FailoverGlobalReplicationGroup with the addition of 5404// the ability to pass a context and additional request options. 5405// 5406// See FailoverGlobalReplicationGroup for details on how to use this API operation. 5407// 5408// The context must be non-nil and will be used for request cancellation. If 5409// the context is nil a panic will occur. In the future the SDK may create 5410// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5411// for more information on using Contexts. 5412func (c *ElastiCache) FailoverGlobalReplicationGroupWithContext(ctx aws.Context, input *FailoverGlobalReplicationGroupInput, opts ...request.Option) (*FailoverGlobalReplicationGroupOutput, error) { 5413 req, out := c.FailoverGlobalReplicationGroupRequest(input) 5414 req.SetContext(ctx) 5415 req.ApplyOptions(opts...) 5416 return out, req.Send() 5417} 5418 5419const opIncreaseNodeGroupsInGlobalReplicationGroup = "IncreaseNodeGroupsInGlobalReplicationGroup" 5420 5421// IncreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5422// client's request for the IncreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 5423// value will be populated with the request's response once the request completes 5424// successfully. 5425// 5426// Use "Send" method on the returned Request to send the API call to the service. 5427// the "output" return value is not valid until after Send returns without error. 5428// 5429// See IncreaseNodeGroupsInGlobalReplicationGroup for more information on using the IncreaseNodeGroupsInGlobalReplicationGroup 5430// API call, and error handling. 5431// 5432// This method is useful when you want to inject custom logic or configuration 5433// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5434// 5435// 5436// // Example sending a request using the IncreaseNodeGroupsInGlobalReplicationGroupRequest method. 5437// req, resp := client.IncreaseNodeGroupsInGlobalReplicationGroupRequest(params) 5438// 5439// err := req.Send() 5440// if err == nil { // resp is now filled 5441// fmt.Println(resp) 5442// } 5443// 5444// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 5445func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupRequest(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *IncreaseNodeGroupsInGlobalReplicationGroupOutput) { 5446 op := &request.Operation{ 5447 Name: opIncreaseNodeGroupsInGlobalReplicationGroup, 5448 HTTPMethod: "POST", 5449 HTTPPath: "/", 5450 } 5451 5452 if input == nil { 5453 input = &IncreaseNodeGroupsInGlobalReplicationGroupInput{} 5454 } 5455 5456 output = &IncreaseNodeGroupsInGlobalReplicationGroupOutput{} 5457 req = c.newRequest(op, input, output) 5458 return 5459} 5460 5461// IncreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 5462// 5463// Increase the number of node groups in the Global datastore 5464// 5465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5466// with awserr.Error's Code and Message methods to get detailed information about 5467// the error. 5468// 5469// See the AWS API reference guide for Amazon ElastiCache's 5470// API operation IncreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 5471// 5472// Returned Error Codes: 5473// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5474// The Global datastore does not exist 5475// 5476// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5477// The Global datastore is not available or in primary-only state. 5478// 5479// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5480// The value for a parameter is invalid. 5481// 5482// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 5483func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroup(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 5484 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 5485 return out, req.Send() 5486} 5487 5488// IncreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as IncreaseNodeGroupsInGlobalReplicationGroup with the addition of 5489// the ability to pass a context and additional request options. 5490// 5491// See IncreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 5492// 5493// The context must be non-nil and will be used for request cancellation. If 5494// the context is nil a panic will occur. In the future the SDK may create 5495// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5496// for more information on using Contexts. 5497func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *IncreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 5498 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 5499 req.SetContext(ctx) 5500 req.ApplyOptions(opts...) 5501 return out, req.Send() 5502} 5503 5504const opIncreaseReplicaCount = "IncreaseReplicaCount" 5505 5506// IncreaseReplicaCountRequest generates a "aws/request.Request" representing the 5507// client's request for the IncreaseReplicaCount operation. The "output" return 5508// value will be populated with the request's response once the request completes 5509// successfully. 5510// 5511// Use "Send" method on the returned Request to send the API call to the service. 5512// the "output" return value is not valid until after Send returns without error. 5513// 5514// See IncreaseReplicaCount for more information on using the IncreaseReplicaCount 5515// API call, and error handling. 5516// 5517// This method is useful when you want to inject custom logic or configuration 5518// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5519// 5520// 5521// // Example sending a request using the IncreaseReplicaCountRequest method. 5522// req, resp := client.IncreaseReplicaCountRequest(params) 5523// 5524// err := req.Send() 5525// if err == nil { // resp is now filled 5526// fmt.Println(resp) 5527// } 5528// 5529// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 5530func (c *ElastiCache) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) (req *request.Request, output *IncreaseReplicaCountOutput) { 5531 op := &request.Operation{ 5532 Name: opIncreaseReplicaCount, 5533 HTTPMethod: "POST", 5534 HTTPPath: "/", 5535 } 5536 5537 if input == nil { 5538 input = &IncreaseReplicaCountInput{} 5539 } 5540 5541 output = &IncreaseReplicaCountOutput{} 5542 req = c.newRequest(op, input, output) 5543 return 5544} 5545 5546// IncreaseReplicaCount API operation for Amazon ElastiCache. 5547// 5548// Dynamically increases the number of replicas in a Redis (cluster mode disabled) 5549// replication group or the number of replica nodes in one or more node groups 5550// (shards) of a Redis (cluster mode enabled) replication group. This operation 5551// is performed with no cluster down time. 5552// 5553// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5554// with awserr.Error's Code and Message methods to get detailed information about 5555// the error. 5556// 5557// See the AWS API reference guide for Amazon ElastiCache's 5558// API operation IncreaseReplicaCount for usage and error information. 5559// 5560// Returned Error Codes: 5561// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5562// The specified replication group does not exist. 5563// 5564// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5565// The requested replication group is not in the available state. 5566// 5567// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5568// The requested cluster is not in the available state. 5569// 5570// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5571// The VPC network is in an invalid state. 5572// 5573// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5574// The requested cache node type is not available in the specified Availability 5575// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5576// in the ElastiCache User Guide. 5577// 5578// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 5579// The request cannot be processed because it would exceed the allowed number 5580// of clusters per customer. 5581// 5582// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 5583// The request cannot be processed because it would exceed the maximum allowed 5584// number of node groups (shards) in a single replication group. The default 5585// maximum is 90 5586// 5587// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5588// The request cannot be processed because it would exceed the allowed number 5589// of cache nodes per customer. 5590// 5591// * ErrCodeNoOperationFault "NoOperationFault" 5592// The operation was not performed because no changes were required. 5593// 5594// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5595// The KMS key supplied is not valid. 5596// 5597// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5598// The value for a parameter is invalid. 5599// 5600// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5601// Two or more incompatible parameters were specified. 5602// 5603// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 5604func (c *ElastiCache) IncreaseReplicaCount(input *IncreaseReplicaCountInput) (*IncreaseReplicaCountOutput, error) { 5605 req, out := c.IncreaseReplicaCountRequest(input) 5606 return out, req.Send() 5607} 5608 5609// IncreaseReplicaCountWithContext is the same as IncreaseReplicaCount with the addition of 5610// the ability to pass a context and additional request options. 5611// 5612// See IncreaseReplicaCount for details on how to use this API operation. 5613// 5614// The context must be non-nil and will be used for request cancellation. If 5615// the context is nil a panic will occur. In the future the SDK may create 5616// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5617// for more information on using Contexts. 5618func (c *ElastiCache) IncreaseReplicaCountWithContext(ctx aws.Context, input *IncreaseReplicaCountInput, opts ...request.Option) (*IncreaseReplicaCountOutput, error) { 5619 req, out := c.IncreaseReplicaCountRequest(input) 5620 req.SetContext(ctx) 5621 req.ApplyOptions(opts...) 5622 return out, req.Send() 5623} 5624 5625const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" 5626 5627// ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the 5628// client's request for the ListAllowedNodeTypeModifications operation. The "output" return 5629// value will be populated with the request's response once the request completes 5630// successfully. 5631// 5632// Use "Send" method on the returned Request to send the API call to the service. 5633// the "output" return value is not valid until after Send returns without error. 5634// 5635// See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications 5636// API call, and error handling. 5637// 5638// This method is useful when you want to inject custom logic or configuration 5639// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5640// 5641// 5642// // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. 5643// req, resp := client.ListAllowedNodeTypeModificationsRequest(params) 5644// 5645// err := req.Send() 5646// if err == nil { // resp is now filled 5647// fmt.Println(resp) 5648// } 5649// 5650// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 5651func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { 5652 op := &request.Operation{ 5653 Name: opListAllowedNodeTypeModifications, 5654 HTTPMethod: "POST", 5655 HTTPPath: "/", 5656 } 5657 5658 if input == nil { 5659 input = &ListAllowedNodeTypeModificationsInput{} 5660 } 5661 5662 output = &ListAllowedNodeTypeModificationsOutput{} 5663 req = c.newRequest(op, input, output) 5664 return 5665} 5666 5667// ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. 5668// 5669// Lists all available node types that you can scale your Redis cluster's or 5670// replication group's current node type. 5671// 5672// When you use the ModifyCacheCluster or ModifyReplicationGroup operations 5673// to scale your cluster or replication group, the value of the CacheNodeType 5674// parameter must be one of the node types returned by this operation. 5675// 5676// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5677// with awserr.Error's Code and Message methods to get detailed information about 5678// the error. 5679// 5680// See the AWS API reference guide for Amazon ElastiCache's 5681// API operation ListAllowedNodeTypeModifications for usage and error information. 5682// 5683// Returned Error Codes: 5684// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5685// The requested cluster ID does not refer to an existing cluster. 5686// 5687// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5688// The specified replication group does not exist. 5689// 5690// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5691// Two or more incompatible parameters were specified. 5692// 5693// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5694// The value for a parameter is invalid. 5695// 5696// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 5697func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { 5698 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 5699 return out, req.Send() 5700} 5701 5702// ListAllowedNodeTypeModificationsWithContext is the same as ListAllowedNodeTypeModifications with the addition of 5703// the ability to pass a context and additional request options. 5704// 5705// See ListAllowedNodeTypeModifications for details on how to use this API operation. 5706// 5707// The context must be non-nil and will be used for request cancellation. If 5708// the context is nil a panic will occur. In the future the SDK may create 5709// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5710// for more information on using Contexts. 5711func (c *ElastiCache) ListAllowedNodeTypeModificationsWithContext(ctx aws.Context, input *ListAllowedNodeTypeModificationsInput, opts ...request.Option) (*ListAllowedNodeTypeModificationsOutput, error) { 5712 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 5713 req.SetContext(ctx) 5714 req.ApplyOptions(opts...) 5715 return out, req.Send() 5716} 5717 5718const opListTagsForResource = "ListTagsForResource" 5719 5720// ListTagsForResourceRequest generates a "aws/request.Request" representing the 5721// client's request for the ListTagsForResource operation. The "output" return 5722// value will be populated with the request's response once the request completes 5723// successfully. 5724// 5725// Use "Send" method on the returned Request to send the API call to the service. 5726// the "output" return value is not valid until after Send returns without error. 5727// 5728// See ListTagsForResource for more information on using the ListTagsForResource 5729// API call, and error handling. 5730// 5731// This method is useful when you want to inject custom logic or configuration 5732// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5733// 5734// 5735// // Example sending a request using the ListTagsForResourceRequest method. 5736// req, resp := client.ListTagsForResourceRequest(params) 5737// 5738// err := req.Send() 5739// if err == nil { // resp is now filled 5740// fmt.Println(resp) 5741// } 5742// 5743// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5744func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { 5745 op := &request.Operation{ 5746 Name: opListTagsForResource, 5747 HTTPMethod: "POST", 5748 HTTPPath: "/", 5749 } 5750 5751 if input == nil { 5752 input = &ListTagsForResourceInput{} 5753 } 5754 5755 output = &TagListMessage{} 5756 req = c.newRequest(op, input, output) 5757 return 5758} 5759 5760// ListTagsForResource API operation for Amazon ElastiCache. 5761// 5762// Lists all tags currently on a named resource. 5763// 5764// A tag is a key-value pair where the key and value are case-sensitive. You 5765// can use tags to categorize and track all your ElastiCache resources, with 5766// the exception of global replication group. When you add or remove tags on 5767// replication groups, those actions will be replicated to all nodes in the 5768// replication group. For more information, see Resource-level permissions (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.ResourceLevelPermissions.html). 5769// 5770// If the cluster is not in the available state, ListTagsForResource returns 5771// an error. 5772// 5773// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5774// with awserr.Error's Code and Message methods to get detailed information about 5775// the error. 5776// 5777// See the AWS API reference guide for Amazon ElastiCache's 5778// API operation ListTagsForResource for usage and error information. 5779// 5780// Returned Error Codes: 5781// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5782// The requested cluster ID does not refer to an existing cluster. 5783// 5784// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5785// The requested cache parameter group name does not refer to an existing cache 5786// parameter group. 5787// 5788// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5789// The requested cache security group name does not refer to an existing cache 5790// security group. 5791// 5792// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 5793// The requested cache subnet group name does not refer to an existing cache 5794// subnet group. 5795// 5796// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5797// The requested replication group is not in the available state. 5798// 5799// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5800// The specified replication group does not exist. 5801// 5802// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 5803// The requested reserved cache node was not found. 5804// 5805// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 5806// The requested snapshot name does not refer to an existing snapshot. 5807// 5808// * ErrCodeUserNotFoundFault "UserNotFound" 5809// The user does not exist or could not be found. 5810// 5811// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 5812// The user group was not found or does not exist 5813// 5814// * ErrCodeInvalidARNFault "InvalidARN" 5815// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5816// 5817// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5818func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { 5819 req, out := c.ListTagsForResourceRequest(input) 5820 return out, req.Send() 5821} 5822 5823// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 5824// the ability to pass a context and additional request options. 5825// 5826// See ListTagsForResource for details on how to use this API operation. 5827// 5828// The context must be non-nil and will be used for request cancellation. If 5829// the context is nil a panic will occur. In the future the SDK may create 5830// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5831// for more information on using Contexts. 5832func (c *ElastiCache) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*TagListMessage, error) { 5833 req, out := c.ListTagsForResourceRequest(input) 5834 req.SetContext(ctx) 5835 req.ApplyOptions(opts...) 5836 return out, req.Send() 5837} 5838 5839const opModifyCacheCluster = "ModifyCacheCluster" 5840 5841// ModifyCacheClusterRequest generates a "aws/request.Request" representing the 5842// client's request for the ModifyCacheCluster operation. The "output" return 5843// value will be populated with the request's response once the request completes 5844// successfully. 5845// 5846// Use "Send" method on the returned Request to send the API call to the service. 5847// the "output" return value is not valid until after Send returns without error. 5848// 5849// See ModifyCacheCluster for more information on using the ModifyCacheCluster 5850// API call, and error handling. 5851// 5852// This method is useful when you want to inject custom logic or configuration 5853// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5854// 5855// 5856// // Example sending a request using the ModifyCacheClusterRequest method. 5857// req, resp := client.ModifyCacheClusterRequest(params) 5858// 5859// err := req.Send() 5860// if err == nil { // resp is now filled 5861// fmt.Println(resp) 5862// } 5863// 5864// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5865func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { 5866 op := &request.Operation{ 5867 Name: opModifyCacheCluster, 5868 HTTPMethod: "POST", 5869 HTTPPath: "/", 5870 } 5871 5872 if input == nil { 5873 input = &ModifyCacheClusterInput{} 5874 } 5875 5876 output = &ModifyCacheClusterOutput{} 5877 req = c.newRequest(op, input, output) 5878 return 5879} 5880 5881// ModifyCacheCluster API operation for Amazon ElastiCache. 5882// 5883// Modifies the settings for a cluster. You can use this operation to change 5884// one or more cluster configuration parameters by specifying the parameters 5885// and the new values. 5886// 5887// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5888// with awserr.Error's Code and Message methods to get detailed information about 5889// the error. 5890// 5891// See the AWS API reference guide for Amazon ElastiCache's 5892// API operation ModifyCacheCluster for usage and error information. 5893// 5894// Returned Error Codes: 5895// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5896// The requested cluster is not in the available state. 5897// 5898// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5899// The current state of the cache security group does not allow deletion. 5900// 5901// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5902// The requested cache node type is not available in the specified Availability 5903// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5904// in the ElastiCache User Guide. 5905// 5906// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5907// The requested cluster ID does not refer to an existing cluster. 5908// 5909// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 5910// The request cannot be processed because it would exceed the allowed number 5911// of cache nodes in a single cluster. 5912// 5913// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5914// The request cannot be processed because it would exceed the allowed number 5915// of cache nodes per customer. 5916// 5917// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5918// The requested cache security group name does not refer to an existing cache 5919// security group. 5920// 5921// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5922// The requested cache parameter group name does not refer to an existing cache 5923// parameter group. 5924// 5925// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5926// The VPC network is in an invalid state. 5927// 5928// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5929// The value for a parameter is invalid. 5930// 5931// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5932// Two or more incompatible parameters were specified. 5933// 5934// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5935func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { 5936 req, out := c.ModifyCacheClusterRequest(input) 5937 return out, req.Send() 5938} 5939 5940// ModifyCacheClusterWithContext is the same as ModifyCacheCluster with the addition of 5941// the ability to pass a context and additional request options. 5942// 5943// See ModifyCacheCluster for details on how to use this API operation. 5944// 5945// The context must be non-nil and will be used for request cancellation. If 5946// the context is nil a panic will occur. In the future the SDK may create 5947// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5948// for more information on using Contexts. 5949func (c *ElastiCache) ModifyCacheClusterWithContext(ctx aws.Context, input *ModifyCacheClusterInput, opts ...request.Option) (*ModifyCacheClusterOutput, error) { 5950 req, out := c.ModifyCacheClusterRequest(input) 5951 req.SetContext(ctx) 5952 req.ApplyOptions(opts...) 5953 return out, req.Send() 5954} 5955 5956const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" 5957 5958// ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the 5959// client's request for the ModifyCacheParameterGroup operation. The "output" return 5960// value will be populated with the request's response once the request completes 5961// successfully. 5962// 5963// Use "Send" method on the returned Request to send the API call to the service. 5964// the "output" return value is not valid until after Send returns without error. 5965// 5966// See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup 5967// API call, and error handling. 5968// 5969// This method is useful when you want to inject custom logic or configuration 5970// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5971// 5972// 5973// // Example sending a request using the ModifyCacheParameterGroupRequest method. 5974// req, resp := client.ModifyCacheParameterGroupRequest(params) 5975// 5976// err := req.Send() 5977// if err == nil { // resp is now filled 5978// fmt.Println(resp) 5979// } 5980// 5981// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 5982func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 5983 op := &request.Operation{ 5984 Name: opModifyCacheParameterGroup, 5985 HTTPMethod: "POST", 5986 HTTPPath: "/", 5987 } 5988 5989 if input == nil { 5990 input = &ModifyCacheParameterGroupInput{} 5991 } 5992 5993 output = &CacheParameterGroupNameMessage{} 5994 req = c.newRequest(op, input, output) 5995 return 5996} 5997 5998// ModifyCacheParameterGroup API operation for Amazon ElastiCache. 5999// 6000// Modifies the parameters of a cache parameter group. You can modify up to 6001// 20 parameters in a single request by submitting a list parameter name and 6002// value pairs. 6003// 6004// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6005// with awserr.Error's Code and Message methods to get detailed information about 6006// the error. 6007// 6008// See the AWS API reference guide for Amazon ElastiCache's 6009// API operation ModifyCacheParameterGroup for usage and error information. 6010// 6011// Returned Error Codes: 6012// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 6013// The requested cache parameter group name does not refer to an existing cache 6014// parameter group. 6015// 6016// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 6017// The current state of the cache parameter group does not allow the requested 6018// operation to occur. 6019// 6020// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6021// The value for a parameter is invalid. 6022// 6023// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6024// Two or more incompatible parameters were specified. 6025// 6026// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6027// The Global datastore is not available or in primary-only state. 6028// 6029// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 6030func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 6031 req, out := c.ModifyCacheParameterGroupRequest(input) 6032 return out, req.Send() 6033} 6034 6035// ModifyCacheParameterGroupWithContext is the same as ModifyCacheParameterGroup with the addition of 6036// the ability to pass a context and additional request options. 6037// 6038// See ModifyCacheParameterGroup for details on how to use this API operation. 6039// 6040// The context must be non-nil and will be used for request cancellation. If 6041// the context is nil a panic will occur. In the future the SDK may create 6042// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6043// for more information on using Contexts. 6044func (c *ElastiCache) ModifyCacheParameterGroupWithContext(ctx aws.Context, input *ModifyCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 6045 req, out := c.ModifyCacheParameterGroupRequest(input) 6046 req.SetContext(ctx) 6047 req.ApplyOptions(opts...) 6048 return out, req.Send() 6049} 6050 6051const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" 6052 6053// ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the 6054// client's request for the ModifyCacheSubnetGroup operation. The "output" return 6055// value will be populated with the request's response once the request completes 6056// successfully. 6057// 6058// Use "Send" method on the returned Request to send the API call to the service. 6059// the "output" return value is not valid until after Send returns without error. 6060// 6061// See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup 6062// API call, and error handling. 6063// 6064// This method is useful when you want to inject custom logic or configuration 6065// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6066// 6067// 6068// // Example sending a request using the ModifyCacheSubnetGroupRequest method. 6069// req, resp := client.ModifyCacheSubnetGroupRequest(params) 6070// 6071// err := req.Send() 6072// if err == nil { // resp is now filled 6073// fmt.Println(resp) 6074// } 6075// 6076// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 6077func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { 6078 op := &request.Operation{ 6079 Name: opModifyCacheSubnetGroup, 6080 HTTPMethod: "POST", 6081 HTTPPath: "/", 6082 } 6083 6084 if input == nil { 6085 input = &ModifyCacheSubnetGroupInput{} 6086 } 6087 6088 output = &ModifyCacheSubnetGroupOutput{} 6089 req = c.newRequest(op, input, output) 6090 return 6091} 6092 6093// ModifyCacheSubnetGroup API operation for Amazon ElastiCache. 6094// 6095// Modifies an existing cache subnet group. 6096// 6097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6098// with awserr.Error's Code and Message methods to get detailed information about 6099// the error. 6100// 6101// See the AWS API reference guide for Amazon ElastiCache's 6102// API operation ModifyCacheSubnetGroup for usage and error information. 6103// 6104// Returned Error Codes: 6105// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 6106// The requested cache subnet group name does not refer to an existing cache 6107// subnet group. 6108// 6109// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 6110// The request cannot be processed because it would exceed the allowed number 6111// of subnets in a cache subnet group. 6112// 6113// * ErrCodeSubnetInUse "SubnetInUse" 6114// The requested subnet is being used by another cache subnet group. 6115// 6116// * ErrCodeInvalidSubnet "InvalidSubnet" 6117// An invalid subnet identifier was specified. 6118// 6119// * ErrCodeSubnetNotAllowedFault "SubnetNotAllowedFault" 6120// At least one subnet ID does not match the other subnet IDs. This mismatch 6121// typically occurs when a user sets one subnet ID to a regional Availability 6122// Zone and a different one to an outpost. Or when a user sets the subnet ID 6123// to an Outpost when not subscribed on this service. 6124// 6125// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 6126func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { 6127 req, out := c.ModifyCacheSubnetGroupRequest(input) 6128 return out, req.Send() 6129} 6130 6131// ModifyCacheSubnetGroupWithContext is the same as ModifyCacheSubnetGroup with the addition of 6132// the ability to pass a context and additional request options. 6133// 6134// See ModifyCacheSubnetGroup for details on how to use this API operation. 6135// 6136// The context must be non-nil and will be used for request cancellation. If 6137// the context is nil a panic will occur. In the future the SDK may create 6138// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6139// for more information on using Contexts. 6140func (c *ElastiCache) ModifyCacheSubnetGroupWithContext(ctx aws.Context, input *ModifyCacheSubnetGroupInput, opts ...request.Option) (*ModifyCacheSubnetGroupOutput, error) { 6141 req, out := c.ModifyCacheSubnetGroupRequest(input) 6142 req.SetContext(ctx) 6143 req.ApplyOptions(opts...) 6144 return out, req.Send() 6145} 6146 6147const opModifyGlobalReplicationGroup = "ModifyGlobalReplicationGroup" 6148 6149// ModifyGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 6150// client's request for the ModifyGlobalReplicationGroup operation. The "output" return 6151// value will be populated with the request's response once the request completes 6152// successfully. 6153// 6154// Use "Send" method on the returned Request to send the API call to the service. 6155// the "output" return value is not valid until after Send returns without error. 6156// 6157// See ModifyGlobalReplicationGroup for more information on using the ModifyGlobalReplicationGroup 6158// API call, and error handling. 6159// 6160// This method is useful when you want to inject custom logic or configuration 6161// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6162// 6163// 6164// // Example sending a request using the ModifyGlobalReplicationGroupRequest method. 6165// req, resp := client.ModifyGlobalReplicationGroupRequest(params) 6166// 6167// err := req.Send() 6168// if err == nil { // resp is now filled 6169// fmt.Println(resp) 6170// } 6171// 6172// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 6173func (c *ElastiCache) ModifyGlobalReplicationGroupRequest(input *ModifyGlobalReplicationGroupInput) (req *request.Request, output *ModifyGlobalReplicationGroupOutput) { 6174 op := &request.Operation{ 6175 Name: opModifyGlobalReplicationGroup, 6176 HTTPMethod: "POST", 6177 HTTPPath: "/", 6178 } 6179 6180 if input == nil { 6181 input = &ModifyGlobalReplicationGroupInput{} 6182 } 6183 6184 output = &ModifyGlobalReplicationGroupOutput{} 6185 req = c.newRequest(op, input, output) 6186 return 6187} 6188 6189// ModifyGlobalReplicationGroup API operation for Amazon ElastiCache. 6190// 6191// Modifies the settings for a Global datastore. 6192// 6193// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6194// with awserr.Error's Code and Message methods to get detailed information about 6195// the error. 6196// 6197// See the AWS API reference guide for Amazon ElastiCache's 6198// API operation ModifyGlobalReplicationGroup for usage and error information. 6199// 6200// Returned Error Codes: 6201// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 6202// The Global datastore does not exist 6203// 6204// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6205// The Global datastore is not available or in primary-only state. 6206// 6207// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6208// The value for a parameter is invalid. 6209// 6210// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 6211func (c *ElastiCache) ModifyGlobalReplicationGroup(input *ModifyGlobalReplicationGroupInput) (*ModifyGlobalReplicationGroupOutput, error) { 6212 req, out := c.ModifyGlobalReplicationGroupRequest(input) 6213 return out, req.Send() 6214} 6215 6216// ModifyGlobalReplicationGroupWithContext is the same as ModifyGlobalReplicationGroup with the addition of 6217// the ability to pass a context and additional request options. 6218// 6219// See ModifyGlobalReplicationGroup for details on how to use this API operation. 6220// 6221// The context must be non-nil and will be used for request cancellation. If 6222// the context is nil a panic will occur. In the future the SDK may create 6223// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6224// for more information on using Contexts. 6225func (c *ElastiCache) ModifyGlobalReplicationGroupWithContext(ctx aws.Context, input *ModifyGlobalReplicationGroupInput, opts ...request.Option) (*ModifyGlobalReplicationGroupOutput, error) { 6226 req, out := c.ModifyGlobalReplicationGroupRequest(input) 6227 req.SetContext(ctx) 6228 req.ApplyOptions(opts...) 6229 return out, req.Send() 6230} 6231 6232const opModifyReplicationGroup = "ModifyReplicationGroup" 6233 6234// ModifyReplicationGroupRequest generates a "aws/request.Request" representing the 6235// client's request for the ModifyReplicationGroup operation. The "output" return 6236// value will be populated with the request's response once the request completes 6237// successfully. 6238// 6239// Use "Send" method on the returned Request to send the API call to the service. 6240// the "output" return value is not valid until after Send returns without error. 6241// 6242// See ModifyReplicationGroup for more information on using the ModifyReplicationGroup 6243// API call, and error handling. 6244// 6245// This method is useful when you want to inject custom logic or configuration 6246// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6247// 6248// 6249// // Example sending a request using the ModifyReplicationGroupRequest method. 6250// req, resp := client.ModifyReplicationGroupRequest(params) 6251// 6252// err := req.Send() 6253// if err == nil { // resp is now filled 6254// fmt.Println(resp) 6255// } 6256// 6257// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 6258func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { 6259 op := &request.Operation{ 6260 Name: opModifyReplicationGroup, 6261 HTTPMethod: "POST", 6262 HTTPPath: "/", 6263 } 6264 6265 if input == nil { 6266 input = &ModifyReplicationGroupInput{} 6267 } 6268 6269 output = &ModifyReplicationGroupOutput{} 6270 req = c.newRequest(op, input, output) 6271 return 6272} 6273 6274// ModifyReplicationGroup API operation for Amazon ElastiCache. 6275// 6276// Modifies the settings for a replication group. 6277// 6278// * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) 6279// in the ElastiCache User Guide 6280// 6281// * ModifyReplicationGroupShardConfiguration (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) 6282// in the ElastiCache API Reference 6283// 6284// This operation is valid for Redis only. 6285// 6286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6287// with awserr.Error's Code and Message methods to get detailed information about 6288// the error. 6289// 6290// See the AWS API reference guide for Amazon ElastiCache's 6291// API operation ModifyReplicationGroup for usage and error information. 6292// 6293// Returned Error Codes: 6294// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6295// The specified replication group does not exist. 6296// 6297// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6298// The requested replication group is not in the available state. 6299// 6300// * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 6301// The user group is not in an active state. 6302// 6303// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 6304// The user group was not found or does not exist 6305// 6306// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6307// The requested cluster is not in the available state. 6308// 6309// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 6310// The current state of the cache security group does not allow deletion. 6311// 6312// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 6313// The requested cache node type is not available in the specified Availability 6314// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 6315// in the ElastiCache User Guide. 6316// 6317// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 6318// The requested cluster ID does not refer to an existing cluster. 6319// 6320// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 6321// The request cannot be processed because it would exceed the allowed number 6322// of cache nodes in a single cluster. 6323// 6324// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 6325// The request cannot be processed because it would exceed the allowed number 6326// of cache nodes per customer. 6327// 6328// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 6329// The requested cache security group name does not refer to an existing cache 6330// security group. 6331// 6332// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 6333// The requested cache parameter group name does not refer to an existing cache 6334// parameter group. 6335// 6336// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 6337// The VPC network is in an invalid state. 6338// 6339// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 6340// The KMS key supplied is not valid. 6341// 6342// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6343// The value for a parameter is invalid. 6344// 6345// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6346// Two or more incompatible parameters were specified. 6347// 6348// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 6349func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { 6350 req, out := c.ModifyReplicationGroupRequest(input) 6351 return out, req.Send() 6352} 6353 6354// ModifyReplicationGroupWithContext is the same as ModifyReplicationGroup with the addition of 6355// the ability to pass a context and additional request options. 6356// 6357// See ModifyReplicationGroup for details on how to use this API operation. 6358// 6359// The context must be non-nil and will be used for request cancellation. If 6360// the context is nil a panic will occur. In the future the SDK may create 6361// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6362// for more information on using Contexts. 6363func (c *ElastiCache) ModifyReplicationGroupWithContext(ctx aws.Context, input *ModifyReplicationGroupInput, opts ...request.Option) (*ModifyReplicationGroupOutput, error) { 6364 req, out := c.ModifyReplicationGroupRequest(input) 6365 req.SetContext(ctx) 6366 req.ApplyOptions(opts...) 6367 return out, req.Send() 6368} 6369 6370const opModifyReplicationGroupShardConfiguration = "ModifyReplicationGroupShardConfiguration" 6371 6372// ModifyReplicationGroupShardConfigurationRequest generates a "aws/request.Request" representing the 6373// client's request for the ModifyReplicationGroupShardConfiguration operation. The "output" return 6374// value will be populated with the request's response once the request completes 6375// successfully. 6376// 6377// Use "Send" method on the returned Request to send the API call to the service. 6378// the "output" return value is not valid until after Send returns without error. 6379// 6380// See ModifyReplicationGroupShardConfiguration for more information on using the ModifyReplicationGroupShardConfiguration 6381// API call, and error handling. 6382// 6383// This method is useful when you want to inject custom logic or configuration 6384// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6385// 6386// 6387// // Example sending a request using the ModifyReplicationGroupShardConfigurationRequest method. 6388// req, resp := client.ModifyReplicationGroupShardConfigurationRequest(params) 6389// 6390// err := req.Send() 6391// if err == nil { // resp is now filled 6392// fmt.Println(resp) 6393// } 6394// 6395// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 6396func (c *ElastiCache) ModifyReplicationGroupShardConfigurationRequest(input *ModifyReplicationGroupShardConfigurationInput) (req *request.Request, output *ModifyReplicationGroupShardConfigurationOutput) { 6397 op := &request.Operation{ 6398 Name: opModifyReplicationGroupShardConfiguration, 6399 HTTPMethod: "POST", 6400 HTTPPath: "/", 6401 } 6402 6403 if input == nil { 6404 input = &ModifyReplicationGroupShardConfigurationInput{} 6405 } 6406 6407 output = &ModifyReplicationGroupShardConfigurationOutput{} 6408 req = c.newRequest(op, input, output) 6409 return 6410} 6411 6412// ModifyReplicationGroupShardConfiguration API operation for Amazon ElastiCache. 6413// 6414// Modifies a replication group's shards (node groups) by allowing you to add 6415// shards, remove shards, or rebalance the keyspaces among existing shards. 6416// 6417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6418// with awserr.Error's Code and Message methods to get detailed information about 6419// the error. 6420// 6421// See the AWS API reference guide for Amazon ElastiCache's 6422// API operation ModifyReplicationGroupShardConfiguration for usage and error information. 6423// 6424// Returned Error Codes: 6425// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6426// The specified replication group does not exist. 6427// 6428// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6429// The requested replication group is not in the available state. 6430// 6431// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6432// The requested cluster is not in the available state. 6433// 6434// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 6435// The VPC network is in an invalid state. 6436// 6437// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 6438// The requested cache node type is not available in the specified Availability 6439// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 6440// in the ElastiCache User Guide. 6441// 6442// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 6443// The request cannot be processed because it would exceed the maximum allowed 6444// number of node groups (shards) in a single replication group. The default 6445// maximum is 90 6446// 6447// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 6448// The request cannot be processed because it would exceed the allowed number 6449// of cache nodes per customer. 6450// 6451// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 6452// The KMS key supplied is not valid. 6453// 6454// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6455// The value for a parameter is invalid. 6456// 6457// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6458// Two or more incompatible parameters were specified. 6459// 6460// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 6461func (c *ElastiCache) ModifyReplicationGroupShardConfiguration(input *ModifyReplicationGroupShardConfigurationInput) (*ModifyReplicationGroupShardConfigurationOutput, error) { 6462 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 6463 return out, req.Send() 6464} 6465 6466// ModifyReplicationGroupShardConfigurationWithContext is the same as ModifyReplicationGroupShardConfiguration with the addition of 6467// the ability to pass a context and additional request options. 6468// 6469// See ModifyReplicationGroupShardConfiguration for details on how to use this API operation. 6470// 6471// The context must be non-nil and will be used for request cancellation. If 6472// the context is nil a panic will occur. In the future the SDK may create 6473// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6474// for more information on using Contexts. 6475func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aws.Context, input *ModifyReplicationGroupShardConfigurationInput, opts ...request.Option) (*ModifyReplicationGroupShardConfigurationOutput, error) { 6476 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 6477 req.SetContext(ctx) 6478 req.ApplyOptions(opts...) 6479 return out, req.Send() 6480} 6481 6482const opModifyUser = "ModifyUser" 6483 6484// ModifyUserRequest generates a "aws/request.Request" representing the 6485// client's request for the ModifyUser operation. The "output" return 6486// value will be populated with the request's response once the request completes 6487// successfully. 6488// 6489// Use "Send" method on the returned Request to send the API call to the service. 6490// the "output" return value is not valid until after Send returns without error. 6491// 6492// See ModifyUser for more information on using the ModifyUser 6493// API call, and error handling. 6494// 6495// This method is useful when you want to inject custom logic or configuration 6496// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6497// 6498// 6499// // Example sending a request using the ModifyUserRequest method. 6500// req, resp := client.ModifyUserRequest(params) 6501// 6502// err := req.Send() 6503// if err == nil { // resp is now filled 6504// fmt.Println(resp) 6505// } 6506// 6507// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUser 6508func (c *ElastiCache) ModifyUserRequest(input *ModifyUserInput) (req *request.Request, output *ModifyUserOutput) { 6509 op := &request.Operation{ 6510 Name: opModifyUser, 6511 HTTPMethod: "POST", 6512 HTTPPath: "/", 6513 } 6514 6515 if input == nil { 6516 input = &ModifyUserInput{} 6517 } 6518 6519 output = &ModifyUserOutput{} 6520 req = c.newRequest(op, input, output) 6521 return 6522} 6523 6524// ModifyUser API operation for Amazon ElastiCache. 6525// 6526// Changes user password(s) and/or access string. 6527// 6528// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6529// with awserr.Error's Code and Message methods to get detailed information about 6530// the error. 6531// 6532// See the AWS API reference guide for Amazon ElastiCache's 6533// API operation ModifyUser for usage and error information. 6534// 6535// Returned Error Codes: 6536// * ErrCodeUserNotFoundFault "UserNotFound" 6537// The user does not exist or could not be found. 6538// 6539// * ErrCodeInvalidUserStateFault "InvalidUserState" 6540// The user is not in active state. 6541// 6542// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6543// The value for a parameter is invalid. 6544// 6545// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6546// Two or more incompatible parameters were specified. 6547// 6548// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUser 6549func (c *ElastiCache) ModifyUser(input *ModifyUserInput) (*ModifyUserOutput, error) { 6550 req, out := c.ModifyUserRequest(input) 6551 return out, req.Send() 6552} 6553 6554// ModifyUserWithContext is the same as ModifyUser with the addition of 6555// the ability to pass a context and additional request options. 6556// 6557// See ModifyUser for details on how to use this API operation. 6558// 6559// The context must be non-nil and will be used for request cancellation. If 6560// the context is nil a panic will occur. In the future the SDK may create 6561// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6562// for more information on using Contexts. 6563func (c *ElastiCache) ModifyUserWithContext(ctx aws.Context, input *ModifyUserInput, opts ...request.Option) (*ModifyUserOutput, error) { 6564 req, out := c.ModifyUserRequest(input) 6565 req.SetContext(ctx) 6566 req.ApplyOptions(opts...) 6567 return out, req.Send() 6568} 6569 6570const opModifyUserGroup = "ModifyUserGroup" 6571 6572// ModifyUserGroupRequest generates a "aws/request.Request" representing the 6573// client's request for the ModifyUserGroup operation. The "output" return 6574// value will be populated with the request's response once the request completes 6575// successfully. 6576// 6577// Use "Send" method on the returned Request to send the API call to the service. 6578// the "output" return value is not valid until after Send returns without error. 6579// 6580// See ModifyUserGroup for more information on using the ModifyUserGroup 6581// API call, and error handling. 6582// 6583// This method is useful when you want to inject custom logic or configuration 6584// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6585// 6586// 6587// // Example sending a request using the ModifyUserGroupRequest method. 6588// req, resp := client.ModifyUserGroupRequest(params) 6589// 6590// err := req.Send() 6591// if err == nil { // resp is now filled 6592// fmt.Println(resp) 6593// } 6594// 6595// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroup 6596func (c *ElastiCache) ModifyUserGroupRequest(input *ModifyUserGroupInput) (req *request.Request, output *ModifyUserGroupOutput) { 6597 op := &request.Operation{ 6598 Name: opModifyUserGroup, 6599 HTTPMethod: "POST", 6600 HTTPPath: "/", 6601 } 6602 6603 if input == nil { 6604 input = &ModifyUserGroupInput{} 6605 } 6606 6607 output = &ModifyUserGroupOutput{} 6608 req = c.newRequest(op, input, output) 6609 return 6610} 6611 6612// ModifyUserGroup API operation for Amazon ElastiCache. 6613// 6614// Changes the list of users that belong to the user group. 6615// 6616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6617// with awserr.Error's Code and Message methods to get detailed information about 6618// the error. 6619// 6620// See the AWS API reference guide for Amazon ElastiCache's 6621// API operation ModifyUserGroup for usage and error information. 6622// 6623// Returned Error Codes: 6624// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 6625// The user group was not found or does not exist 6626// 6627// * ErrCodeUserNotFoundFault "UserNotFound" 6628// The user does not exist or could not be found. 6629// 6630// * ErrCodeDuplicateUserNameFault "DuplicateUserName" 6631// A user with this username already exists. 6632// 6633// * ErrCodeDefaultUserRequired "DefaultUserRequired" 6634// You must add default user to a user group. 6635// 6636// * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 6637// The user group is not in an active state. 6638// 6639// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6640// The value for a parameter is invalid. 6641// 6642// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6643// Two or more incompatible parameters were specified. 6644// 6645// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroup 6646func (c *ElastiCache) ModifyUserGroup(input *ModifyUserGroupInput) (*ModifyUserGroupOutput, error) { 6647 req, out := c.ModifyUserGroupRequest(input) 6648 return out, req.Send() 6649} 6650 6651// ModifyUserGroupWithContext is the same as ModifyUserGroup with the addition of 6652// the ability to pass a context and additional request options. 6653// 6654// See ModifyUserGroup for details on how to use this API operation. 6655// 6656// The context must be non-nil and will be used for request cancellation. If 6657// the context is nil a panic will occur. In the future the SDK may create 6658// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6659// for more information on using Contexts. 6660func (c *ElastiCache) ModifyUserGroupWithContext(ctx aws.Context, input *ModifyUserGroupInput, opts ...request.Option) (*ModifyUserGroupOutput, error) { 6661 req, out := c.ModifyUserGroupRequest(input) 6662 req.SetContext(ctx) 6663 req.ApplyOptions(opts...) 6664 return out, req.Send() 6665} 6666 6667const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" 6668 6669// PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the 6670// client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return 6671// value will be populated with the request's response once the request completes 6672// successfully. 6673// 6674// Use "Send" method on the returned Request to send the API call to the service. 6675// the "output" return value is not valid until after Send returns without error. 6676// 6677// See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering 6678// API call, and error handling. 6679// 6680// This method is useful when you want to inject custom logic or configuration 6681// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6682// 6683// 6684// // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. 6685// req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) 6686// 6687// err := req.Send() 6688// if err == nil { // resp is now filled 6689// fmt.Println(resp) 6690// } 6691// 6692// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 6693func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { 6694 op := &request.Operation{ 6695 Name: opPurchaseReservedCacheNodesOffering, 6696 HTTPMethod: "POST", 6697 HTTPPath: "/", 6698 } 6699 6700 if input == nil { 6701 input = &PurchaseReservedCacheNodesOfferingInput{} 6702 } 6703 6704 output = &PurchaseReservedCacheNodesOfferingOutput{} 6705 req = c.newRequest(op, input, output) 6706 return 6707} 6708 6709// PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. 6710// 6711// Allows you to purchase a reserved cache node offering. Reserved nodes are 6712// not eligible for cancellation and are non-refundable. For more information, 6713// see Managing Costs with Reserved Nodes (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/reserved-nodes.html) 6714// for Redis or Managing Costs with Reserved Nodes (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/reserved-nodes.html) 6715// for Memcached. 6716// 6717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6718// with awserr.Error's Code and Message methods to get detailed information about 6719// the error. 6720// 6721// See the AWS API reference guide for Amazon ElastiCache's 6722// API operation PurchaseReservedCacheNodesOffering for usage and error information. 6723// 6724// Returned Error Codes: 6725// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 6726// The requested cache node offering does not exist. 6727// 6728// * ErrCodeReservedCacheNodeAlreadyExistsFault "ReservedCacheNodeAlreadyExists" 6729// You already have a reservation with the given identifier. 6730// 6731// * ErrCodeReservedCacheNodeQuotaExceededFault "ReservedCacheNodeQuotaExceeded" 6732// The request cannot be processed because it would exceed the user's cache 6733// node quota. 6734// 6735// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 6736// The request cannot be processed because it would cause the resource to have 6737// more than the allowed number of tags. The maximum number of tags permitted 6738// on a resource is 50. 6739// 6740// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6741// The value for a parameter is invalid. 6742// 6743// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6744// Two or more incompatible parameters were specified. 6745// 6746// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 6747func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { 6748 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 6749 return out, req.Send() 6750} 6751 6752// PurchaseReservedCacheNodesOfferingWithContext is the same as PurchaseReservedCacheNodesOffering with the addition of 6753// the ability to pass a context and additional request options. 6754// 6755// See PurchaseReservedCacheNodesOffering for details on how to use this API operation. 6756// 6757// The context must be non-nil and will be used for request cancellation. If 6758// the context is nil a panic will occur. In the future the SDK may create 6759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6760// for more information on using Contexts. 6761func (c *ElastiCache) PurchaseReservedCacheNodesOfferingWithContext(ctx aws.Context, input *PurchaseReservedCacheNodesOfferingInput, opts ...request.Option) (*PurchaseReservedCacheNodesOfferingOutput, error) { 6762 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 6763 req.SetContext(ctx) 6764 req.ApplyOptions(opts...) 6765 return out, req.Send() 6766} 6767 6768const opRebalanceSlotsInGlobalReplicationGroup = "RebalanceSlotsInGlobalReplicationGroup" 6769 6770// RebalanceSlotsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 6771// client's request for the RebalanceSlotsInGlobalReplicationGroup operation. The "output" return 6772// value will be populated with the request's response once the request completes 6773// successfully. 6774// 6775// Use "Send" method on the returned Request to send the API call to the service. 6776// the "output" return value is not valid until after Send returns without error. 6777// 6778// See RebalanceSlotsInGlobalReplicationGroup for more information on using the RebalanceSlotsInGlobalReplicationGroup 6779// API call, and error handling. 6780// 6781// This method is useful when you want to inject custom logic or configuration 6782// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6783// 6784// 6785// // Example sending a request using the RebalanceSlotsInGlobalReplicationGroupRequest method. 6786// req, resp := client.RebalanceSlotsInGlobalReplicationGroupRequest(params) 6787// 6788// err := req.Send() 6789// if err == nil { // resp is now filled 6790// fmt.Println(resp) 6791// } 6792// 6793// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 6794func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupRequest(input *RebalanceSlotsInGlobalReplicationGroupInput) (req *request.Request, output *RebalanceSlotsInGlobalReplicationGroupOutput) { 6795 op := &request.Operation{ 6796 Name: opRebalanceSlotsInGlobalReplicationGroup, 6797 HTTPMethod: "POST", 6798 HTTPPath: "/", 6799 } 6800 6801 if input == nil { 6802 input = &RebalanceSlotsInGlobalReplicationGroupInput{} 6803 } 6804 6805 output = &RebalanceSlotsInGlobalReplicationGroupOutput{} 6806 req = c.newRequest(op, input, output) 6807 return 6808} 6809 6810// RebalanceSlotsInGlobalReplicationGroup API operation for Amazon ElastiCache. 6811// 6812// Redistribute slots to ensure uniform distribution across existing shards 6813// in the cluster. 6814// 6815// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6816// with awserr.Error's Code and Message methods to get detailed information about 6817// the error. 6818// 6819// See the AWS API reference guide for Amazon ElastiCache's 6820// API operation RebalanceSlotsInGlobalReplicationGroup for usage and error information. 6821// 6822// Returned Error Codes: 6823// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 6824// The Global datastore does not exist 6825// 6826// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6827// The Global datastore is not available or in primary-only state. 6828// 6829// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6830// The value for a parameter is invalid. 6831// 6832// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 6833func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroup(input *RebalanceSlotsInGlobalReplicationGroupInput) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 6834 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 6835 return out, req.Send() 6836} 6837 6838// RebalanceSlotsInGlobalReplicationGroupWithContext is the same as RebalanceSlotsInGlobalReplicationGroup with the addition of 6839// the ability to pass a context and additional request options. 6840// 6841// See RebalanceSlotsInGlobalReplicationGroup for details on how to use this API operation. 6842// 6843// The context must be non-nil and will be used for request cancellation. If 6844// the context is nil a panic will occur. In the future the SDK may create 6845// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6846// for more information on using Contexts. 6847func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupWithContext(ctx aws.Context, input *RebalanceSlotsInGlobalReplicationGroupInput, opts ...request.Option) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 6848 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 6849 req.SetContext(ctx) 6850 req.ApplyOptions(opts...) 6851 return out, req.Send() 6852} 6853 6854const opRebootCacheCluster = "RebootCacheCluster" 6855 6856// RebootCacheClusterRequest generates a "aws/request.Request" representing the 6857// client's request for the RebootCacheCluster operation. The "output" return 6858// value will be populated with the request's response once the request completes 6859// successfully. 6860// 6861// Use "Send" method on the returned Request to send the API call to the service. 6862// the "output" return value is not valid until after Send returns without error. 6863// 6864// See RebootCacheCluster for more information on using the RebootCacheCluster 6865// API call, and error handling. 6866// 6867// This method is useful when you want to inject custom logic or configuration 6868// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6869// 6870// 6871// // Example sending a request using the RebootCacheClusterRequest method. 6872// req, resp := client.RebootCacheClusterRequest(params) 6873// 6874// err := req.Send() 6875// if err == nil { // resp is now filled 6876// fmt.Println(resp) 6877// } 6878// 6879// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 6880func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { 6881 op := &request.Operation{ 6882 Name: opRebootCacheCluster, 6883 HTTPMethod: "POST", 6884 HTTPPath: "/", 6885 } 6886 6887 if input == nil { 6888 input = &RebootCacheClusterInput{} 6889 } 6890 6891 output = &RebootCacheClusterOutput{} 6892 req = c.newRequest(op, input, output) 6893 return 6894} 6895 6896// RebootCacheCluster API operation for Amazon ElastiCache. 6897// 6898// Reboots some, or all, of the cache nodes within a provisioned cluster. This 6899// operation applies any modified cache parameter groups to the cluster. The 6900// reboot operation takes place as soon as possible, and results in a momentary 6901// outage to the cluster. During the reboot, the cluster status is set to REBOOTING. 6902// 6903// The reboot causes the contents of the cache (for each cache node being rebooted) 6904// to be lost. 6905// 6906// When the reboot is complete, a cluster event is created. 6907// 6908// Rebooting a cluster is currently supported on Memcached and Redis (cluster 6909// mode disabled) clusters. Rebooting is not supported on Redis (cluster mode 6910// enabled) clusters. 6911// 6912// If you make changes to parameters that require a Redis (cluster mode enabled) 6913// cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) 6914// for an alternate process. 6915// 6916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6917// with awserr.Error's Code and Message methods to get detailed information about 6918// the error. 6919// 6920// See the AWS API reference guide for Amazon ElastiCache's 6921// API operation RebootCacheCluster for usage and error information. 6922// 6923// Returned Error Codes: 6924// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6925// The requested cluster is not in the available state. 6926// 6927// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 6928// The requested cluster ID does not refer to an existing cluster. 6929// 6930// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 6931func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { 6932 req, out := c.RebootCacheClusterRequest(input) 6933 return out, req.Send() 6934} 6935 6936// RebootCacheClusterWithContext is the same as RebootCacheCluster with the addition of 6937// the ability to pass a context and additional request options. 6938// 6939// See RebootCacheCluster for details on how to use this API operation. 6940// 6941// The context must be non-nil and will be used for request cancellation. If 6942// the context is nil a panic will occur. In the future the SDK may create 6943// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6944// for more information on using Contexts. 6945func (c *ElastiCache) RebootCacheClusterWithContext(ctx aws.Context, input *RebootCacheClusterInput, opts ...request.Option) (*RebootCacheClusterOutput, error) { 6946 req, out := c.RebootCacheClusterRequest(input) 6947 req.SetContext(ctx) 6948 req.ApplyOptions(opts...) 6949 return out, req.Send() 6950} 6951 6952const opRemoveTagsFromResource = "RemoveTagsFromResource" 6953 6954// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the 6955// client's request for the RemoveTagsFromResource operation. The "output" return 6956// value will be populated with the request's response once the request completes 6957// successfully. 6958// 6959// Use "Send" method on the returned Request to send the API call to the service. 6960// the "output" return value is not valid until after Send returns without error. 6961// 6962// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource 6963// API call, and error handling. 6964// 6965// This method is useful when you want to inject custom logic or configuration 6966// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6967// 6968// 6969// // Example sending a request using the RemoveTagsFromResourceRequest method. 6970// req, resp := client.RemoveTagsFromResourceRequest(params) 6971// 6972// err := req.Send() 6973// if err == nil { // resp is now filled 6974// fmt.Println(resp) 6975// } 6976// 6977// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 6978func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { 6979 op := &request.Operation{ 6980 Name: opRemoveTagsFromResource, 6981 HTTPMethod: "POST", 6982 HTTPPath: "/", 6983 } 6984 6985 if input == nil { 6986 input = &RemoveTagsFromResourceInput{} 6987 } 6988 6989 output = &TagListMessage{} 6990 req = c.newRequest(op, input, output) 6991 return 6992} 6993 6994// RemoveTagsFromResource API operation for Amazon ElastiCache. 6995// 6996// Removes the tags identified by the TagKeys list from the named resource. 6997// A tag is a key-value pair where the key and value are case-sensitive. You 6998// can use tags to categorize and track all your ElastiCache resources, with 6999// the exception of global replication group. When you add or remove tags on 7000// replication groups, those actions will be replicated to all nodes in the 7001// replication group. For more information, see Resource-level permissions (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.ResourceLevelPermissions.html). 7002// 7003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7004// with awserr.Error's Code and Message methods to get detailed information about 7005// the error. 7006// 7007// See the AWS API reference guide for Amazon ElastiCache's 7008// API operation RemoveTagsFromResource for usage and error information. 7009// 7010// Returned Error Codes: 7011// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 7012// The requested cluster ID does not refer to an existing cluster. 7013// 7014// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 7015// The requested cache parameter group name does not refer to an existing cache 7016// parameter group. 7017// 7018// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 7019// The requested cache security group name does not refer to an existing cache 7020// security group. 7021// 7022// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 7023// The requested cache subnet group name does not refer to an existing cache 7024// subnet group. 7025// 7026// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 7027// The requested replication group is not in the available state. 7028// 7029// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 7030// The specified replication group does not exist. 7031// 7032// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 7033// The requested reserved cache node was not found. 7034// 7035// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 7036// The requested snapshot name does not refer to an existing snapshot. 7037// 7038// * ErrCodeUserNotFoundFault "UserNotFound" 7039// The user does not exist or could not be found. 7040// 7041// * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 7042// The user group was not found or does not exist 7043// 7044// * ErrCodeInvalidARNFault "InvalidARN" 7045// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 7046// 7047// * ErrCodeTagNotFoundFault "TagNotFound" 7048// The requested tag was not found on this resource. 7049// 7050// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 7051func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { 7052 req, out := c.RemoveTagsFromResourceRequest(input) 7053 return out, req.Send() 7054} 7055 7056// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of 7057// the ability to pass a context and additional request options. 7058// 7059// See RemoveTagsFromResource for details on how to use this API operation. 7060// 7061// The context must be non-nil and will be used for request cancellation. If 7062// the context is nil a panic will occur. In the future the SDK may create 7063// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7064// for more information on using Contexts. 7065func (c *ElastiCache) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*TagListMessage, error) { 7066 req, out := c.RemoveTagsFromResourceRequest(input) 7067 req.SetContext(ctx) 7068 req.ApplyOptions(opts...) 7069 return out, req.Send() 7070} 7071 7072const opResetCacheParameterGroup = "ResetCacheParameterGroup" 7073 7074// ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the 7075// client's request for the ResetCacheParameterGroup operation. The "output" return 7076// value will be populated with the request's response once the request completes 7077// successfully. 7078// 7079// Use "Send" method on the returned Request to send the API call to the service. 7080// the "output" return value is not valid until after Send returns without error. 7081// 7082// See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup 7083// API call, and error handling. 7084// 7085// This method is useful when you want to inject custom logic or configuration 7086// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7087// 7088// 7089// // Example sending a request using the ResetCacheParameterGroupRequest method. 7090// req, resp := client.ResetCacheParameterGroupRequest(params) 7091// 7092// err := req.Send() 7093// if err == nil { // resp is now filled 7094// fmt.Println(resp) 7095// } 7096// 7097// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 7098func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 7099 op := &request.Operation{ 7100 Name: opResetCacheParameterGroup, 7101 HTTPMethod: "POST", 7102 HTTPPath: "/", 7103 } 7104 7105 if input == nil { 7106 input = &ResetCacheParameterGroupInput{} 7107 } 7108 7109 output = &CacheParameterGroupNameMessage{} 7110 req = c.newRequest(op, input, output) 7111 return 7112} 7113 7114// ResetCacheParameterGroup API operation for Amazon ElastiCache. 7115// 7116// Modifies the parameters of a cache parameter group to the engine or system 7117// default value. You can reset specific parameters by submitting a list of 7118// parameter names. To reset the entire cache parameter group, specify the ResetAllParameters 7119// and CacheParameterGroupName parameters. 7120// 7121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7122// with awserr.Error's Code and Message methods to get detailed information about 7123// the error. 7124// 7125// See the AWS API reference guide for Amazon ElastiCache's 7126// API operation ResetCacheParameterGroup for usage and error information. 7127// 7128// Returned Error Codes: 7129// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 7130// The current state of the cache parameter group does not allow the requested 7131// operation to occur. 7132// 7133// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 7134// The requested cache parameter group name does not refer to an existing cache 7135// parameter group. 7136// 7137// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7138// The value for a parameter is invalid. 7139// 7140// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 7141// Two or more incompatible parameters were specified. 7142// 7143// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 7144// The Global datastore is not available or in primary-only state. 7145// 7146// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 7147func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 7148 req, out := c.ResetCacheParameterGroupRequest(input) 7149 return out, req.Send() 7150} 7151 7152// ResetCacheParameterGroupWithContext is the same as ResetCacheParameterGroup with the addition of 7153// the ability to pass a context and additional request options. 7154// 7155// See ResetCacheParameterGroup for details on how to use this API operation. 7156// 7157// The context must be non-nil and will be used for request cancellation. If 7158// the context is nil a panic will occur. In the future the SDK may create 7159// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7160// for more information on using Contexts. 7161func (c *ElastiCache) ResetCacheParameterGroupWithContext(ctx aws.Context, input *ResetCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 7162 req, out := c.ResetCacheParameterGroupRequest(input) 7163 req.SetContext(ctx) 7164 req.ApplyOptions(opts...) 7165 return out, req.Send() 7166} 7167 7168const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" 7169 7170// RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 7171// client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return 7172// value will be populated with the request's response once the request completes 7173// successfully. 7174// 7175// Use "Send" method on the returned Request to send the API call to the service. 7176// the "output" return value is not valid until after Send returns without error. 7177// 7178// See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress 7179// API call, and error handling. 7180// 7181// This method is useful when you want to inject custom logic or configuration 7182// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7183// 7184// 7185// // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. 7186// req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) 7187// 7188// err := req.Send() 7189// if err == nil { // resp is now filled 7190// fmt.Println(resp) 7191// } 7192// 7193// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 7194func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { 7195 op := &request.Operation{ 7196 Name: opRevokeCacheSecurityGroupIngress, 7197 HTTPMethod: "POST", 7198 HTTPPath: "/", 7199 } 7200 7201 if input == nil { 7202 input = &RevokeCacheSecurityGroupIngressInput{} 7203 } 7204 7205 output = &RevokeCacheSecurityGroupIngressOutput{} 7206 req = c.newRequest(op, input, output) 7207 return 7208} 7209 7210// RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 7211// 7212// Revokes ingress from a cache security group. Use this operation to disallow 7213// access from an Amazon EC2 security group that had been previously authorized. 7214// 7215// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7216// with awserr.Error's Code and Message methods to get detailed information about 7217// the error. 7218// 7219// See the AWS API reference guide for Amazon ElastiCache's 7220// API operation RevokeCacheSecurityGroupIngress for usage and error information. 7221// 7222// Returned Error Codes: 7223// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 7224// The requested cache security group name does not refer to an existing cache 7225// security group. 7226// 7227// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 7228// The specified Amazon EC2 security group is not authorized for the specified 7229// cache security group. 7230// 7231// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 7232// The current state of the cache security group does not allow deletion. 7233// 7234// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7235// The value for a parameter is invalid. 7236// 7237// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 7238// Two or more incompatible parameters were specified. 7239// 7240// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 7241func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { 7242 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 7243 return out, req.Send() 7244} 7245 7246// RevokeCacheSecurityGroupIngressWithContext is the same as RevokeCacheSecurityGroupIngress with the addition of 7247// the ability to pass a context and additional request options. 7248// 7249// See RevokeCacheSecurityGroupIngress for details on how to use this API operation. 7250// 7251// The context must be non-nil and will be used for request cancellation. If 7252// the context is nil a panic will occur. In the future the SDK may create 7253// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7254// for more information on using Contexts. 7255func (c *ElastiCache) RevokeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeCacheSecurityGroupIngressInput, opts ...request.Option) (*RevokeCacheSecurityGroupIngressOutput, error) { 7256 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 7257 req.SetContext(ctx) 7258 req.ApplyOptions(opts...) 7259 return out, req.Send() 7260} 7261 7262const opStartMigration = "StartMigration" 7263 7264// StartMigrationRequest generates a "aws/request.Request" representing the 7265// client's request for the StartMigration operation. The "output" return 7266// value will be populated with the request's response once the request completes 7267// successfully. 7268// 7269// Use "Send" method on the returned Request to send the API call to the service. 7270// the "output" return value is not valid until after Send returns without error. 7271// 7272// See StartMigration for more information on using the StartMigration 7273// API call, and error handling. 7274// 7275// This method is useful when you want to inject custom logic or configuration 7276// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7277// 7278// 7279// // Example sending a request using the StartMigrationRequest method. 7280// req, resp := client.StartMigrationRequest(params) 7281// 7282// err := req.Send() 7283// if err == nil { // resp is now filled 7284// fmt.Println(resp) 7285// } 7286// 7287// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 7288func (c *ElastiCache) StartMigrationRequest(input *StartMigrationInput) (req *request.Request, output *StartMigrationOutput) { 7289 op := &request.Operation{ 7290 Name: opStartMigration, 7291 HTTPMethod: "POST", 7292 HTTPPath: "/", 7293 } 7294 7295 if input == nil { 7296 input = &StartMigrationInput{} 7297 } 7298 7299 output = &StartMigrationOutput{} 7300 req = c.newRequest(op, input, output) 7301 return 7302} 7303 7304// StartMigration API operation for Amazon ElastiCache. 7305// 7306// Start the migration of data. 7307// 7308// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7309// with awserr.Error's Code and Message methods to get detailed information about 7310// the error. 7311// 7312// See the AWS API reference guide for Amazon ElastiCache's 7313// API operation StartMigration for usage and error information. 7314// 7315// Returned Error Codes: 7316// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 7317// The specified replication group does not exist. 7318// 7319// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 7320// The requested replication group is not in the available state. 7321// 7322// * ErrCodeReplicationGroupAlreadyUnderMigrationFault "ReplicationGroupAlreadyUnderMigrationFault" 7323// The targeted replication group is not available. 7324// 7325// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7326// The value for a parameter is invalid. 7327// 7328// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 7329func (c *ElastiCache) StartMigration(input *StartMigrationInput) (*StartMigrationOutput, error) { 7330 req, out := c.StartMigrationRequest(input) 7331 return out, req.Send() 7332} 7333 7334// StartMigrationWithContext is the same as StartMigration with the addition of 7335// the ability to pass a context and additional request options. 7336// 7337// See StartMigration for details on how to use this API operation. 7338// 7339// The context must be non-nil and will be used for request cancellation. If 7340// the context is nil a panic will occur. In the future the SDK may create 7341// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7342// for more information on using Contexts. 7343func (c *ElastiCache) StartMigrationWithContext(ctx aws.Context, input *StartMigrationInput, opts ...request.Option) (*StartMigrationOutput, error) { 7344 req, out := c.StartMigrationRequest(input) 7345 req.SetContext(ctx) 7346 req.ApplyOptions(opts...) 7347 return out, req.Send() 7348} 7349 7350const opTestFailover = "TestFailover" 7351 7352// TestFailoverRequest generates a "aws/request.Request" representing the 7353// client's request for the TestFailover operation. The "output" return 7354// value will be populated with the request's response once the request completes 7355// successfully. 7356// 7357// Use "Send" method on the returned Request to send the API call to the service. 7358// the "output" return value is not valid until after Send returns without error. 7359// 7360// See TestFailover for more information on using the TestFailover 7361// API call, and error handling. 7362// 7363// This method is useful when you want to inject custom logic or configuration 7364// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7365// 7366// 7367// // Example sending a request using the TestFailoverRequest method. 7368// req, resp := client.TestFailoverRequest(params) 7369// 7370// err := req.Send() 7371// if err == nil { // resp is now filled 7372// fmt.Println(resp) 7373// } 7374// 7375// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 7376func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *request.Request, output *TestFailoverOutput) { 7377 op := &request.Operation{ 7378 Name: opTestFailover, 7379 HTTPMethod: "POST", 7380 HTTPPath: "/", 7381 } 7382 7383 if input == nil { 7384 input = &TestFailoverInput{} 7385 } 7386 7387 output = &TestFailoverOutput{} 7388 req = c.newRequest(op, input, output) 7389 return 7390} 7391 7392// TestFailover API operation for Amazon ElastiCache. 7393// 7394// Represents the input of a TestFailover operation which test automatic failover 7395// on a specified node group (called shard in the console) in a replication 7396// group (called cluster in the console). 7397// 7398// Note the following 7399// 7400// * A customer can use this operation to test automatic failover on up to 7401// 5 shards (called node groups in the ElastiCache API and Amazon CLI) in 7402// any rolling 24-hour period. 7403// 7404// * If calling this operation on shards in different clusters (called replication 7405// groups in the API and CLI), the calls can be made concurrently. 7406// 7407// * If calling this operation multiple times on different shards in the 7408// same Redis (cluster mode enabled) replication group, the first node replacement 7409// must complete before a subsequent call can be made. 7410// 7411// * To determine whether the node replacement is complete you can check 7412// Events using the Amazon ElastiCache console, the Amazon CLI, or the ElastiCache 7413// API. Look for the following automatic failover related events, listed 7414// here in order of occurrance: Replication group message: Test Failover 7415// API called for node group <node-group-id> Cache cluster message: Failover 7416// from primary node <primary-node-id> to replica node <node-id> completed 7417// Replication group message: Failover from primary node <primary-node-id> 7418// to replica node <node-id> completed Cache cluster message: Recovering 7419// cache nodes <node-id> Cache cluster message: Finished recovery for cache 7420// nodes <node-id> For more information see: Viewing ElastiCache Events (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) 7421// in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 7422// in the ElastiCache API Reference 7423// 7424// Also see, Testing Multi-AZ (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) 7425// in the ElastiCache User Guide. 7426// 7427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7428// with awserr.Error's Code and Message methods to get detailed information about 7429// the error. 7430// 7431// See the AWS API reference guide for Amazon ElastiCache's 7432// API operation TestFailover for usage and error information. 7433// 7434// Returned Error Codes: 7435// * ErrCodeAPICallRateForCustomerExceededFault "APICallRateForCustomerExceeded" 7436// The customer has exceeded the allowed rate of API calls. 7437// 7438// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 7439// The requested cluster is not in the available state. 7440// 7441// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 7442// The requested replication group is not in the available state. 7443// 7444// * ErrCodeNodeGroupNotFoundFault "NodeGroupNotFoundFault" 7445// The node group specified by the NodeGroupId parameter could not be found. 7446// Please verify that the node group exists and that you spelled the NodeGroupId 7447// value correctly. 7448// 7449// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 7450// The specified replication group does not exist. 7451// 7452// * ErrCodeTestFailoverNotAvailableFault "TestFailoverNotAvailableFault" 7453// The TestFailover action is not available. 7454// 7455// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 7456// The KMS key supplied is not valid. 7457// 7458// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7459// The value for a parameter is invalid. 7460// 7461// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 7462// Two or more incompatible parameters were specified. 7463// 7464// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 7465func (c *ElastiCache) TestFailover(input *TestFailoverInput) (*TestFailoverOutput, error) { 7466 req, out := c.TestFailoverRequest(input) 7467 return out, req.Send() 7468} 7469 7470// TestFailoverWithContext is the same as TestFailover with the addition of 7471// the ability to pass a context and additional request options. 7472// 7473// See TestFailover for details on how to use this API operation. 7474// 7475// The context must be non-nil and will be used for request cancellation. If 7476// the context is nil a panic will occur. In the future the SDK may create 7477// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7478// for more information on using Contexts. 7479func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailoverInput, opts ...request.Option) (*TestFailoverOutput, error) { 7480 req, out := c.TestFailoverRequest(input) 7481 req.SetContext(ctx) 7482 req.ApplyOptions(opts...) 7483 return out, req.Send() 7484} 7485 7486// Represents the input of an AddTagsToResource operation. 7487type AddTagsToResourceInput struct { 7488 _ struct{} `type:"structure"` 7489 7490 // The Amazon Resource Name (ARN) of the resource to which the tags are to be 7491 // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 7492 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache 7493 // resources are cluster and snapshot. 7494 // 7495 // For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon 7496 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7497 // 7498 // ResourceName is a required field 7499 ResourceName *string `type:"string" required:"true"` 7500 7501 // A list of tags to be added to this resource. A tag is a key-value pair. A 7502 // tag key must be accompanied by a tag value, although null is accepted. 7503 // 7504 // Tags is a required field 7505 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 7506} 7507 7508// String returns the string representation 7509func (s AddTagsToResourceInput) String() string { 7510 return awsutil.Prettify(s) 7511} 7512 7513// GoString returns the string representation 7514func (s AddTagsToResourceInput) GoString() string { 7515 return s.String() 7516} 7517 7518// Validate inspects the fields of the type to determine if they are valid. 7519func (s *AddTagsToResourceInput) Validate() error { 7520 invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} 7521 if s.ResourceName == nil { 7522 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 7523 } 7524 if s.Tags == nil { 7525 invalidParams.Add(request.NewErrParamRequired("Tags")) 7526 } 7527 7528 if invalidParams.Len() > 0 { 7529 return invalidParams 7530 } 7531 return nil 7532} 7533 7534// SetResourceName sets the ResourceName field's value. 7535func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { 7536 s.ResourceName = &v 7537 return s 7538} 7539 7540// SetTags sets the Tags field's value. 7541func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { 7542 s.Tags = v 7543 return s 7544} 7545 7546// Indicates whether the user requires a password to authenticate. 7547type Authentication struct { 7548 _ struct{} `type:"structure"` 7549 7550 // The number of passwords belonging to the user. The maximum is two. 7551 PasswordCount *int64 `type:"integer"` 7552 7553 // Indicates whether the user requires a password to authenticate. 7554 Type *string `type:"string" enum:"AuthenticationType"` 7555} 7556 7557// String returns the string representation 7558func (s Authentication) String() string { 7559 return awsutil.Prettify(s) 7560} 7561 7562// GoString returns the string representation 7563func (s Authentication) GoString() string { 7564 return s.String() 7565} 7566 7567// SetPasswordCount sets the PasswordCount field's value. 7568func (s *Authentication) SetPasswordCount(v int64) *Authentication { 7569 s.PasswordCount = &v 7570 return s 7571} 7572 7573// SetType sets the Type field's value. 7574func (s *Authentication) SetType(v string) *Authentication { 7575 s.Type = &v 7576 return s 7577} 7578 7579// Represents the input of an AuthorizeCacheSecurityGroupIngress operation. 7580type AuthorizeCacheSecurityGroupIngressInput struct { 7581 _ struct{} `type:"structure"` 7582 7583 // The cache security group that allows network ingress. 7584 // 7585 // CacheSecurityGroupName is a required field 7586 CacheSecurityGroupName *string `type:"string" required:"true"` 7587 7588 // The Amazon EC2 security group to be authorized for ingress to the cache security 7589 // group. 7590 // 7591 // EC2SecurityGroupName is a required field 7592 EC2SecurityGroupName *string `type:"string" required:"true"` 7593 7594 // The Amazon account number of the Amazon EC2 security group owner. Note that 7595 // this is not the same thing as an Amazon access key ID - you must provide 7596 // a valid Amazon account number for this parameter. 7597 // 7598 // EC2SecurityGroupOwnerId is a required field 7599 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 7600} 7601 7602// String returns the string representation 7603func (s AuthorizeCacheSecurityGroupIngressInput) String() string { 7604 return awsutil.Prettify(s) 7605} 7606 7607// GoString returns the string representation 7608func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { 7609 return s.String() 7610} 7611 7612// Validate inspects the fields of the type to determine if they are valid. 7613func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { 7614 invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} 7615 if s.CacheSecurityGroupName == nil { 7616 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 7617 } 7618 if s.EC2SecurityGroupName == nil { 7619 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 7620 } 7621 if s.EC2SecurityGroupOwnerId == nil { 7622 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 7623 } 7624 7625 if invalidParams.Len() > 0 { 7626 return invalidParams 7627 } 7628 return nil 7629} 7630 7631// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7632func (s *AuthorizeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 7633 s.CacheSecurityGroupName = &v 7634 return s 7635} 7636 7637// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 7638func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 7639 s.EC2SecurityGroupName = &v 7640 return s 7641} 7642 7643// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 7644func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeCacheSecurityGroupIngressInput { 7645 s.EC2SecurityGroupOwnerId = &v 7646 return s 7647} 7648 7649type AuthorizeCacheSecurityGroupIngressOutput struct { 7650 _ struct{} `type:"structure"` 7651 7652 // Represents the output of one of the following operations: 7653 // 7654 // * AuthorizeCacheSecurityGroupIngress 7655 // 7656 // * CreateCacheSecurityGroup 7657 // 7658 // * RevokeCacheSecurityGroupIngress 7659 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 7660} 7661 7662// String returns the string representation 7663func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { 7664 return awsutil.Prettify(s) 7665} 7666 7667// GoString returns the string representation 7668func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { 7669 return s.String() 7670} 7671 7672// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 7673func (s *AuthorizeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *AuthorizeCacheSecurityGroupIngressOutput { 7674 s.CacheSecurityGroup = v 7675 return s 7676} 7677 7678// Describes an Availability Zone in which the cluster is launched. 7679type AvailabilityZone struct { 7680 _ struct{} `type:"structure"` 7681 7682 // The name of the Availability Zone. 7683 Name *string `type:"string"` 7684} 7685 7686// String returns the string representation 7687func (s AvailabilityZone) String() string { 7688 return awsutil.Prettify(s) 7689} 7690 7691// GoString returns the string representation 7692func (s AvailabilityZone) GoString() string { 7693 return s.String() 7694} 7695 7696// SetName sets the Name field's value. 7697func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 7698 s.Name = &v 7699 return s 7700} 7701 7702type BatchApplyUpdateActionInput struct { 7703 _ struct{} `type:"structure"` 7704 7705 // The cache cluster IDs 7706 CacheClusterIds []*string `type:"list"` 7707 7708 // The replication group IDs 7709 ReplicationGroupIds []*string `type:"list"` 7710 7711 // The unique ID of the service update 7712 // 7713 // ServiceUpdateName is a required field 7714 ServiceUpdateName *string `type:"string" required:"true"` 7715} 7716 7717// String returns the string representation 7718func (s BatchApplyUpdateActionInput) String() string { 7719 return awsutil.Prettify(s) 7720} 7721 7722// GoString returns the string representation 7723func (s BatchApplyUpdateActionInput) GoString() string { 7724 return s.String() 7725} 7726 7727// Validate inspects the fields of the type to determine if they are valid. 7728func (s *BatchApplyUpdateActionInput) Validate() error { 7729 invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} 7730 if s.ServiceUpdateName == nil { 7731 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 7732 } 7733 7734 if invalidParams.Len() > 0 { 7735 return invalidParams 7736 } 7737 return nil 7738} 7739 7740// SetCacheClusterIds sets the CacheClusterIds field's value. 7741func (s *BatchApplyUpdateActionInput) SetCacheClusterIds(v []*string) *BatchApplyUpdateActionInput { 7742 s.CacheClusterIds = v 7743 return s 7744} 7745 7746// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 7747func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { 7748 s.ReplicationGroupIds = v 7749 return s 7750} 7751 7752// SetServiceUpdateName sets the ServiceUpdateName field's value. 7753func (s *BatchApplyUpdateActionInput) SetServiceUpdateName(v string) *BatchApplyUpdateActionInput { 7754 s.ServiceUpdateName = &v 7755 return s 7756} 7757 7758type BatchApplyUpdateActionOutput struct { 7759 _ struct{} `type:"structure"` 7760 7761 // Update actions that have been processed successfully 7762 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 7763 7764 // Update actions that haven't been processed successfully 7765 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 7766} 7767 7768// String returns the string representation 7769func (s BatchApplyUpdateActionOutput) String() string { 7770 return awsutil.Prettify(s) 7771} 7772 7773// GoString returns the string representation 7774func (s BatchApplyUpdateActionOutput) GoString() string { 7775 return s.String() 7776} 7777 7778// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 7779func (s *BatchApplyUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchApplyUpdateActionOutput { 7780 s.ProcessedUpdateActions = v 7781 return s 7782} 7783 7784// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 7785func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchApplyUpdateActionOutput { 7786 s.UnprocessedUpdateActions = v 7787 return s 7788} 7789 7790type BatchStopUpdateActionInput struct { 7791 _ struct{} `type:"structure"` 7792 7793 // The cache cluster IDs 7794 CacheClusterIds []*string `type:"list"` 7795 7796 // The replication group IDs 7797 ReplicationGroupIds []*string `type:"list"` 7798 7799 // The unique ID of the service update 7800 // 7801 // ServiceUpdateName is a required field 7802 ServiceUpdateName *string `type:"string" required:"true"` 7803} 7804 7805// String returns the string representation 7806func (s BatchStopUpdateActionInput) String() string { 7807 return awsutil.Prettify(s) 7808} 7809 7810// GoString returns the string representation 7811func (s BatchStopUpdateActionInput) GoString() string { 7812 return s.String() 7813} 7814 7815// Validate inspects the fields of the type to determine if they are valid. 7816func (s *BatchStopUpdateActionInput) Validate() error { 7817 invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} 7818 if s.ServiceUpdateName == nil { 7819 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 7820 } 7821 7822 if invalidParams.Len() > 0 { 7823 return invalidParams 7824 } 7825 return nil 7826} 7827 7828// SetCacheClusterIds sets the CacheClusterIds field's value. 7829func (s *BatchStopUpdateActionInput) SetCacheClusterIds(v []*string) *BatchStopUpdateActionInput { 7830 s.CacheClusterIds = v 7831 return s 7832} 7833 7834// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 7835func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { 7836 s.ReplicationGroupIds = v 7837 return s 7838} 7839 7840// SetServiceUpdateName sets the ServiceUpdateName field's value. 7841func (s *BatchStopUpdateActionInput) SetServiceUpdateName(v string) *BatchStopUpdateActionInput { 7842 s.ServiceUpdateName = &v 7843 return s 7844} 7845 7846type BatchStopUpdateActionOutput struct { 7847 _ struct{} `type:"structure"` 7848 7849 // Update actions that have been processed successfully 7850 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 7851 7852 // Update actions that haven't been processed successfully 7853 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 7854} 7855 7856// String returns the string representation 7857func (s BatchStopUpdateActionOutput) String() string { 7858 return awsutil.Prettify(s) 7859} 7860 7861// GoString returns the string representation 7862func (s BatchStopUpdateActionOutput) GoString() string { 7863 return s.String() 7864} 7865 7866// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 7867func (s *BatchStopUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchStopUpdateActionOutput { 7868 s.ProcessedUpdateActions = v 7869 return s 7870} 7871 7872// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 7873func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchStopUpdateActionOutput { 7874 s.UnprocessedUpdateActions = v 7875 return s 7876} 7877 7878// Contains all of the attributes of a specific cluster. 7879type CacheCluster struct { 7880 _ struct{} `type:"structure"` 7881 7882 // The ARN (Amazon Resource Name) of the cache cluster. 7883 ARN *string `type:"string"` 7884 7885 // A flag that enables encryption at-rest when set to true. 7886 // 7887 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 7888 // is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled 7889 // to true when you create a cluster. 7890 // 7891 // Required: Only available when creating a replication group in an Amazon VPC 7892 // using redis version 3.2.6, 4.x or later. 7893 // 7894 // Default: false 7895 AtRestEncryptionEnabled *bool `type:"boolean"` 7896 7897 // A flag that enables using an AuthToken (password) when issuing Redis commands. 7898 // 7899 // Default: false 7900 AuthTokenEnabled *bool `type:"boolean"` 7901 7902 // The date the auth token was last modified 7903 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 7904 7905 // This parameter is currently disabled. 7906 AutoMinorVersionUpgrade *bool `type:"boolean"` 7907 7908 // The date and time when the cluster was created. 7909 CacheClusterCreateTime *time.Time `type:"timestamp"` 7910 7911 // The user-supplied identifier of the cluster. This identifier is a unique 7912 // key that identifies a cluster. 7913 CacheClusterId *string `type:"string"` 7914 7915 // The current state of this cluster, one of the following values: available, 7916 // creating, deleted, deleting, incompatible-network, modifying, rebooting cluster 7917 // nodes, restore-failed, or snapshotting. 7918 CacheClusterStatus *string `type:"string"` 7919 7920 // The name of the compute and memory capacity node type for the cluster. 7921 // 7922 // The following node types are supported by ElastiCache. Generally speaking, 7923 // the current generation types provide more memory and computational power 7924 // at lower cost when compared to their equivalent previous generation counterparts. 7925 // 7926 // * General purpose: Current generation: M6g node types (available only 7927 // for Redis engine version 5.0.6 onward and for Memcached engine version 7928 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 7929 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 7930 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 7931 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 7932 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 7933 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 7934 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 7935 // cache.t2.medium Previous generation: (not recommended) T1 node types: 7936 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 7937 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 7938 // cache.m3.2xlarge 7939 // 7940 // * Compute optimized: Previous generation: (not recommended) C1 node types: 7941 // cache.c1.xlarge 7942 // 7943 // * Memory optimized: Current generation: R6g node types (available only 7944 // for Redis engine version 5.0.6 onward and for Memcached engine version 7945 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 7946 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 7947 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 7948 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 7949 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 7950 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 7951 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 7952 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 7953 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 7954 // 7955 // Additional node type info 7956 // 7957 // * All current generation instance types are created in Amazon VPC by default. 7958 // 7959 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 7960 // 7961 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 7962 // 7963 // * Redis configuration variables appendonly and appendfsync are not supported 7964 // on Redis version 2.8.22 and later. 7965 CacheNodeType *string `type:"string"` 7966 7967 // A list of cache nodes that are members of the cluster. 7968 CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` 7969 7970 // Status of the cache parameter group. 7971 CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` 7972 7973 // A list of cache security group elements, composed of name and status sub-elements. 7974 CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` 7975 7976 // The name of the cache subnet group associated with the cluster. 7977 CacheSubnetGroupName *string `type:"string"` 7978 7979 // The URL of the web page where you can download the latest ElastiCache client 7980 // library. 7981 ClientDownloadLandingPage *string `type:"string"` 7982 7983 // Represents a Memcached cluster endpoint which can be used by an application 7984 // to connect to any node in the cluster. The configuration endpoint will always 7985 // have .cfg in it. 7986 // 7987 // Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 7988 ConfigurationEndpoint *Endpoint `type:"structure"` 7989 7990 // The name of the cache engine (memcached or redis) to be used for this cluster. 7991 Engine *string `type:"string"` 7992 7993 // The version of the cache engine that is used in this cluster. 7994 EngineVersion *string `type:"string"` 7995 7996 // Returns the destination, format and type of the logs. 7997 LogDeliveryConfigurations []*LogDeliveryConfiguration `locationNameList:"LogDeliveryConfiguration" type:"list"` 7998 7999 // Describes a notification topic and its status. Notification topics are used 8000 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 8001 // Service (SNS). 8002 NotificationConfiguration *NotificationConfiguration `type:"structure"` 8003 8004 // The number of cache nodes in the cluster. 8005 // 8006 // For clusters running Redis, this value must be 1. For clusters running Memcached, 8007 // this value must be between 1 and 40. 8008 NumCacheNodes *int64 `type:"integer"` 8009 8010 // A group of settings that are applied to the cluster in the future, or that 8011 // are currently being applied. 8012 PendingModifiedValues *PendingModifiedValues `type:"structure"` 8013 8014 // The name of the Availability Zone in which the cluster is located or "Multiple" 8015 // if the cache nodes are located in different Availability Zones. 8016 PreferredAvailabilityZone *string `type:"string"` 8017 8018 // Specifies the weekly time range during which maintenance on the cluster is 8019 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8020 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 8021 // 8022 // Valid values for ddd are: 8023 // 8024 // * sun 8025 // 8026 // * mon 8027 // 8028 // * tue 8029 // 8030 // * wed 8031 // 8032 // * thu 8033 // 8034 // * fri 8035 // 8036 // * sat 8037 // 8038 // Example: sun:23:00-mon:01:30 8039 PreferredMaintenanceWindow *string `type:"string"` 8040 8041 // The outpost ARN in which the cache cluster is created. 8042 PreferredOutpostArn *string `type:"string"` 8043 8044 // The replication group to which this cluster belongs. If this field is empty, 8045 // the cluster is not associated with any replication group. 8046 ReplicationGroupId *string `type:"string"` 8047 8048 // A boolean value indicating whether log delivery is enabled for the replication 8049 // group. 8050 ReplicationGroupLogDeliveryEnabled *bool `type:"boolean"` 8051 8052 // A list of VPC Security Groups associated with the cluster. 8053 SecurityGroups []*SecurityGroupMembership `type:"list"` 8054 8055 // The number of days for which ElastiCache retains automatic cluster snapshots 8056 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 8057 // a snapshot that was taken today is retained for 5 days before being deleted. 8058 // 8059 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 8060 // off. 8061 SnapshotRetentionLimit *int64 `type:"integer"` 8062 8063 // The daily time range (in UTC) during which ElastiCache begins taking a daily 8064 // snapshot of your cluster. 8065 // 8066 // Example: 05:00-09:00 8067 SnapshotWindow *string `type:"string"` 8068 8069 // A flag that enables in-transit encryption when set to true. 8070 // 8071 // You cannot modify the value of TransitEncryptionEnabled after the cluster 8072 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 8073 // to true when you create a cluster. 8074 // 8075 // Required: Only available when creating a replication group in an Amazon VPC 8076 // using redis version 3.2.6, 4.x or later. 8077 // 8078 // Default: false 8079 TransitEncryptionEnabled *bool `type:"boolean"` 8080} 8081 8082// String returns the string representation 8083func (s CacheCluster) String() string { 8084 return awsutil.Prettify(s) 8085} 8086 8087// GoString returns the string representation 8088func (s CacheCluster) GoString() string { 8089 return s.String() 8090} 8091 8092// SetARN sets the ARN field's value. 8093func (s *CacheCluster) SetARN(v string) *CacheCluster { 8094 s.ARN = &v 8095 return s 8096} 8097 8098// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 8099func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { 8100 s.AtRestEncryptionEnabled = &v 8101 return s 8102} 8103 8104// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 8105func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster { 8106 s.AuthTokenEnabled = &v 8107 return s 8108} 8109 8110// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 8111func (s *CacheCluster) SetAuthTokenLastModifiedDate(v time.Time) *CacheCluster { 8112 s.AuthTokenLastModifiedDate = &v 8113 return s 8114} 8115 8116// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 8117func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster { 8118 s.AutoMinorVersionUpgrade = &v 8119 return s 8120} 8121 8122// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 8123func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster { 8124 s.CacheClusterCreateTime = &v 8125 return s 8126} 8127 8128// SetCacheClusterId sets the CacheClusterId field's value. 8129func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster { 8130 s.CacheClusterId = &v 8131 return s 8132} 8133 8134// SetCacheClusterStatus sets the CacheClusterStatus field's value. 8135func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster { 8136 s.CacheClusterStatus = &v 8137 return s 8138} 8139 8140// SetCacheNodeType sets the CacheNodeType field's value. 8141func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster { 8142 s.CacheNodeType = &v 8143 return s 8144} 8145 8146// SetCacheNodes sets the CacheNodes field's value. 8147func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster { 8148 s.CacheNodes = v 8149 return s 8150} 8151 8152// SetCacheParameterGroup sets the CacheParameterGroup field's value. 8153func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster { 8154 s.CacheParameterGroup = v 8155 return s 8156} 8157 8158// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 8159func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster { 8160 s.CacheSecurityGroups = v 8161 return s 8162} 8163 8164// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8165func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster { 8166 s.CacheSubnetGroupName = &v 8167 return s 8168} 8169 8170// SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value. 8171func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster { 8172 s.ClientDownloadLandingPage = &v 8173 return s 8174} 8175 8176// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 8177func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster { 8178 s.ConfigurationEndpoint = v 8179 return s 8180} 8181 8182// SetEngine sets the Engine field's value. 8183func (s *CacheCluster) SetEngine(v string) *CacheCluster { 8184 s.Engine = &v 8185 return s 8186} 8187 8188// SetEngineVersion sets the EngineVersion field's value. 8189func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { 8190 s.EngineVersion = &v 8191 return s 8192} 8193 8194// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 8195func (s *CacheCluster) SetLogDeliveryConfigurations(v []*LogDeliveryConfiguration) *CacheCluster { 8196 s.LogDeliveryConfigurations = v 8197 return s 8198} 8199 8200// SetNotificationConfiguration sets the NotificationConfiguration field's value. 8201func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { 8202 s.NotificationConfiguration = v 8203 return s 8204} 8205 8206// SetNumCacheNodes sets the NumCacheNodes field's value. 8207func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster { 8208 s.NumCacheNodes = &v 8209 return s 8210} 8211 8212// SetPendingModifiedValues sets the PendingModifiedValues field's value. 8213func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster { 8214 s.PendingModifiedValues = v 8215 return s 8216} 8217 8218// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 8219func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster { 8220 s.PreferredAvailabilityZone = &v 8221 return s 8222} 8223 8224// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 8225func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster { 8226 s.PreferredMaintenanceWindow = &v 8227 return s 8228} 8229 8230// SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 8231func (s *CacheCluster) SetPreferredOutpostArn(v string) *CacheCluster { 8232 s.PreferredOutpostArn = &v 8233 return s 8234} 8235 8236// SetReplicationGroupId sets the ReplicationGroupId field's value. 8237func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster { 8238 s.ReplicationGroupId = &v 8239 return s 8240} 8241 8242// SetReplicationGroupLogDeliveryEnabled sets the ReplicationGroupLogDeliveryEnabled field's value. 8243func (s *CacheCluster) SetReplicationGroupLogDeliveryEnabled(v bool) *CacheCluster { 8244 s.ReplicationGroupLogDeliveryEnabled = &v 8245 return s 8246} 8247 8248// SetSecurityGroups sets the SecurityGroups field's value. 8249func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster { 8250 s.SecurityGroups = v 8251 return s 8252} 8253 8254// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 8255func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster { 8256 s.SnapshotRetentionLimit = &v 8257 return s 8258} 8259 8260// SetSnapshotWindow sets the SnapshotWindow field's value. 8261func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster { 8262 s.SnapshotWindow = &v 8263 return s 8264} 8265 8266// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 8267func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster { 8268 s.TransitEncryptionEnabled = &v 8269 return s 8270} 8271 8272// Provides all of the details about a particular cache engine version. 8273type CacheEngineVersion struct { 8274 _ struct{} `type:"structure"` 8275 8276 // The description of the cache engine. 8277 CacheEngineDescription *string `type:"string"` 8278 8279 // The description of the cache engine version. 8280 CacheEngineVersionDescription *string `type:"string"` 8281 8282 // The name of the cache parameter group family associated with this cache engine. 8283 // 8284 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 8285 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 8286 CacheParameterGroupFamily *string `type:"string"` 8287 8288 // The name of the cache engine. 8289 Engine *string `type:"string"` 8290 8291 // The version number of the cache engine. 8292 EngineVersion *string `type:"string"` 8293} 8294 8295// String returns the string representation 8296func (s CacheEngineVersion) String() string { 8297 return awsutil.Prettify(s) 8298} 8299 8300// GoString returns the string representation 8301func (s CacheEngineVersion) GoString() string { 8302 return s.String() 8303} 8304 8305// SetCacheEngineDescription sets the CacheEngineDescription field's value. 8306func (s *CacheEngineVersion) SetCacheEngineDescription(v string) *CacheEngineVersion { 8307 s.CacheEngineDescription = &v 8308 return s 8309} 8310 8311// SetCacheEngineVersionDescription sets the CacheEngineVersionDescription field's value. 8312func (s *CacheEngineVersion) SetCacheEngineVersionDescription(v string) *CacheEngineVersion { 8313 s.CacheEngineVersionDescription = &v 8314 return s 8315} 8316 8317// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8318func (s *CacheEngineVersion) SetCacheParameterGroupFamily(v string) *CacheEngineVersion { 8319 s.CacheParameterGroupFamily = &v 8320 return s 8321} 8322 8323// SetEngine sets the Engine field's value. 8324func (s *CacheEngineVersion) SetEngine(v string) *CacheEngineVersion { 8325 s.Engine = &v 8326 return s 8327} 8328 8329// SetEngineVersion sets the EngineVersion field's value. 8330func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { 8331 s.EngineVersion = &v 8332 return s 8333} 8334 8335// Represents an individual cache node within a cluster. Each cache node runs 8336// its own instance of the cluster's protocol-compliant caching software - either 8337// Memcached or Redis. 8338// 8339// The following node types are supported by ElastiCache. Generally speaking, 8340// the current generation types provide more memory and computational power 8341// at lower cost when compared to their equivalent previous generation counterparts. 8342// 8343// * General purpose: Current generation: M6g node types (available only 8344// for Redis engine version 5.0.6 onward and for Memcached engine version 8345// 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 8346// cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 8347// For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 8348// M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 8349// cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 8350// cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 8351// cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 8352// cache.t2.medium Previous generation: (not recommended) T1 node types: 8353// cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 8354// cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 8355// cache.m3.2xlarge 8356// 8357// * Compute optimized: Previous generation: (not recommended) C1 node types: 8358// cache.c1.xlarge 8359// 8360// * Memory optimized: Current generation: R6g node types (available only 8361// for Redis engine version 5.0.6 onward and for Memcached engine version 8362// 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 8363// cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 8364// For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 8365// R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 8366// cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 8367// cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 8368// Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 8369// cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 8370// cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 8371// 8372// Additional node type info 8373// 8374// * All current generation instance types are created in Amazon VPC by default. 8375// 8376// * Redis append-only files (AOF) are not supported for T1 or T2 instances. 8377// 8378// * Redis Multi-AZ with automatic failover is not supported on T1 instances. 8379// 8380// * Redis configuration variables appendonly and appendfsync are not supported 8381// on Redis version 2.8.22 and later. 8382type CacheNode struct { 8383 _ struct{} `type:"structure"` 8384 8385 // The date and time when the cache node was created. 8386 CacheNodeCreateTime *time.Time `type:"timestamp"` 8387 8388 // The cache node identifier. A node ID is a numeric identifier (0001, 0002, 8389 // etc.). The combination of cluster ID and node ID uniquely identifies every 8390 // cache node used in a customer's Amazon account. 8391 CacheNodeId *string `type:"string"` 8392 8393 // The current state of this cache node, one of the following values: available, 8394 // creating, rebooting, or deleting. 8395 CacheNodeStatus *string `type:"string"` 8396 8397 // The Availability Zone where this node was created and now resides. 8398 CustomerAvailabilityZone *string `type:"string"` 8399 8400 // The customer outpost ARN of the cache node. 8401 CustomerOutpostArn *string `type:"string"` 8402 8403 // The hostname for connecting to this cache node. 8404 Endpoint *Endpoint `type:"structure"` 8405 8406 // The status of the parameter group applied to this cache node. 8407 ParameterGroupStatus *string `type:"string"` 8408 8409 // The ID of the primary node to which this read replica node is synchronized. 8410 // If this field is empty, this node is not associated with a primary cluster. 8411 SourceCacheNodeId *string `type:"string"` 8412} 8413 8414// String returns the string representation 8415func (s CacheNode) String() string { 8416 return awsutil.Prettify(s) 8417} 8418 8419// GoString returns the string representation 8420func (s CacheNode) GoString() string { 8421 return s.String() 8422} 8423 8424// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 8425func (s *CacheNode) SetCacheNodeCreateTime(v time.Time) *CacheNode { 8426 s.CacheNodeCreateTime = &v 8427 return s 8428} 8429 8430// SetCacheNodeId sets the CacheNodeId field's value. 8431func (s *CacheNode) SetCacheNodeId(v string) *CacheNode { 8432 s.CacheNodeId = &v 8433 return s 8434} 8435 8436// SetCacheNodeStatus sets the CacheNodeStatus field's value. 8437func (s *CacheNode) SetCacheNodeStatus(v string) *CacheNode { 8438 s.CacheNodeStatus = &v 8439 return s 8440} 8441 8442// SetCustomerAvailabilityZone sets the CustomerAvailabilityZone field's value. 8443func (s *CacheNode) SetCustomerAvailabilityZone(v string) *CacheNode { 8444 s.CustomerAvailabilityZone = &v 8445 return s 8446} 8447 8448// SetCustomerOutpostArn sets the CustomerOutpostArn field's value. 8449func (s *CacheNode) SetCustomerOutpostArn(v string) *CacheNode { 8450 s.CustomerOutpostArn = &v 8451 return s 8452} 8453 8454// SetEndpoint sets the Endpoint field's value. 8455func (s *CacheNode) SetEndpoint(v *Endpoint) *CacheNode { 8456 s.Endpoint = v 8457 return s 8458} 8459 8460// SetParameterGroupStatus sets the ParameterGroupStatus field's value. 8461func (s *CacheNode) SetParameterGroupStatus(v string) *CacheNode { 8462 s.ParameterGroupStatus = &v 8463 return s 8464} 8465 8466// SetSourceCacheNodeId sets the SourceCacheNodeId field's value. 8467func (s *CacheNode) SetSourceCacheNodeId(v string) *CacheNode { 8468 s.SourceCacheNodeId = &v 8469 return s 8470} 8471 8472// A parameter that has a different value for each cache node type it is applied 8473// to. For example, in a Redis cluster, a cache.m1.large cache node type would 8474// have a larger maxmemory value than a cache.m1.small type. 8475type CacheNodeTypeSpecificParameter struct { 8476 _ struct{} `type:"structure"` 8477 8478 // The valid range of values for the parameter. 8479 AllowedValues *string `type:"string"` 8480 8481 // A list of cache node types and their corresponding values for this parameter. 8482 CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` 8483 8484 // Indicates whether a change to the parameter is applied immediately or requires 8485 // a reboot for the change to be applied. You can force a reboot or wait until 8486 // the next maintenance window's reboot. For more information, see Rebooting 8487 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 8488 ChangeType *string `type:"string" enum:"ChangeType"` 8489 8490 // The valid data type for the parameter. 8491 DataType *string `type:"string"` 8492 8493 // A description of the parameter. 8494 Description *string `type:"string"` 8495 8496 // Indicates whether (true) or not (false) the parameter can be modified. Some 8497 // parameters have security or operational implications that prevent them from 8498 // being changed. 8499 IsModifiable *bool `type:"boolean"` 8500 8501 // The earliest cache engine version to which the parameter can apply. 8502 MinimumEngineVersion *string `type:"string"` 8503 8504 // The name of the parameter. 8505 ParameterName *string `type:"string"` 8506 8507 // The source of the parameter value. 8508 Source *string `type:"string"` 8509} 8510 8511// String returns the string representation 8512func (s CacheNodeTypeSpecificParameter) String() string { 8513 return awsutil.Prettify(s) 8514} 8515 8516// GoString returns the string representation 8517func (s CacheNodeTypeSpecificParameter) GoString() string { 8518 return s.String() 8519} 8520 8521// SetAllowedValues sets the AllowedValues field's value. 8522func (s *CacheNodeTypeSpecificParameter) SetAllowedValues(v string) *CacheNodeTypeSpecificParameter { 8523 s.AllowedValues = &v 8524 return s 8525} 8526 8527// SetCacheNodeTypeSpecificValues sets the CacheNodeTypeSpecificValues field's value. 8528func (s *CacheNodeTypeSpecificParameter) SetCacheNodeTypeSpecificValues(v []*CacheNodeTypeSpecificValue) *CacheNodeTypeSpecificParameter { 8529 s.CacheNodeTypeSpecificValues = v 8530 return s 8531} 8532 8533// SetChangeType sets the ChangeType field's value. 8534func (s *CacheNodeTypeSpecificParameter) SetChangeType(v string) *CacheNodeTypeSpecificParameter { 8535 s.ChangeType = &v 8536 return s 8537} 8538 8539// SetDataType sets the DataType field's value. 8540func (s *CacheNodeTypeSpecificParameter) SetDataType(v string) *CacheNodeTypeSpecificParameter { 8541 s.DataType = &v 8542 return s 8543} 8544 8545// SetDescription sets the Description field's value. 8546func (s *CacheNodeTypeSpecificParameter) SetDescription(v string) *CacheNodeTypeSpecificParameter { 8547 s.Description = &v 8548 return s 8549} 8550 8551// SetIsModifiable sets the IsModifiable field's value. 8552func (s *CacheNodeTypeSpecificParameter) SetIsModifiable(v bool) *CacheNodeTypeSpecificParameter { 8553 s.IsModifiable = &v 8554 return s 8555} 8556 8557// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 8558func (s *CacheNodeTypeSpecificParameter) SetMinimumEngineVersion(v string) *CacheNodeTypeSpecificParameter { 8559 s.MinimumEngineVersion = &v 8560 return s 8561} 8562 8563// SetParameterName sets the ParameterName field's value. 8564func (s *CacheNodeTypeSpecificParameter) SetParameterName(v string) *CacheNodeTypeSpecificParameter { 8565 s.ParameterName = &v 8566 return s 8567} 8568 8569// SetSource sets the Source field's value. 8570func (s *CacheNodeTypeSpecificParameter) SetSource(v string) *CacheNodeTypeSpecificParameter { 8571 s.Source = &v 8572 return s 8573} 8574 8575// A value that applies only to a certain cache node type. 8576type CacheNodeTypeSpecificValue struct { 8577 _ struct{} `type:"structure"` 8578 8579 // The cache node type for which this value applies. 8580 CacheNodeType *string `type:"string"` 8581 8582 // The value for the cache node type. 8583 Value *string `type:"string"` 8584} 8585 8586// String returns the string representation 8587func (s CacheNodeTypeSpecificValue) String() string { 8588 return awsutil.Prettify(s) 8589} 8590 8591// GoString returns the string representation 8592func (s CacheNodeTypeSpecificValue) GoString() string { 8593 return s.String() 8594} 8595 8596// SetCacheNodeType sets the CacheNodeType field's value. 8597func (s *CacheNodeTypeSpecificValue) SetCacheNodeType(v string) *CacheNodeTypeSpecificValue { 8598 s.CacheNodeType = &v 8599 return s 8600} 8601 8602// SetValue sets the Value field's value. 8603func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificValue { 8604 s.Value = &v 8605 return s 8606} 8607 8608// The status of the service update on the cache node 8609type CacheNodeUpdateStatus struct { 8610 _ struct{} `type:"structure"` 8611 8612 // The node ID of the cache cluster 8613 CacheNodeId *string `type:"string"` 8614 8615 // The deletion date of the node 8616 NodeDeletionDate *time.Time `type:"timestamp"` 8617 8618 // The end date of the update for a node 8619 NodeUpdateEndDate *time.Time `type:"timestamp"` 8620 8621 // Reflects whether the update was initiated by the customer or automatically 8622 // applied 8623 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 8624 8625 // The date when the update is triggered 8626 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 8627 8628 // The start date of the update for a node 8629 NodeUpdateStartDate *time.Time `type:"timestamp"` 8630 8631 // The update status of the node 8632 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 8633 8634 // The date when the NodeUpdateStatus was last modified> 8635 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 8636} 8637 8638// String returns the string representation 8639func (s CacheNodeUpdateStatus) String() string { 8640 return awsutil.Prettify(s) 8641} 8642 8643// GoString returns the string representation 8644func (s CacheNodeUpdateStatus) GoString() string { 8645 return s.String() 8646} 8647 8648// SetCacheNodeId sets the CacheNodeId field's value. 8649func (s *CacheNodeUpdateStatus) SetCacheNodeId(v string) *CacheNodeUpdateStatus { 8650 s.CacheNodeId = &v 8651 return s 8652} 8653 8654// SetNodeDeletionDate sets the NodeDeletionDate field's value. 8655func (s *CacheNodeUpdateStatus) SetNodeDeletionDate(v time.Time) *CacheNodeUpdateStatus { 8656 s.NodeDeletionDate = &v 8657 return s 8658} 8659 8660// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 8661func (s *CacheNodeUpdateStatus) SetNodeUpdateEndDate(v time.Time) *CacheNodeUpdateStatus { 8662 s.NodeUpdateEndDate = &v 8663 return s 8664} 8665 8666// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 8667func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedBy(v string) *CacheNodeUpdateStatus { 8668 s.NodeUpdateInitiatedBy = &v 8669 return s 8670} 8671 8672// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 8673func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *CacheNodeUpdateStatus { 8674 s.NodeUpdateInitiatedDate = &v 8675 return s 8676} 8677 8678// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 8679func (s *CacheNodeUpdateStatus) SetNodeUpdateStartDate(v time.Time) *CacheNodeUpdateStatus { 8680 s.NodeUpdateStartDate = &v 8681 return s 8682} 8683 8684// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 8685func (s *CacheNodeUpdateStatus) SetNodeUpdateStatus(v string) *CacheNodeUpdateStatus { 8686 s.NodeUpdateStatus = &v 8687 return s 8688} 8689 8690// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 8691func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *CacheNodeUpdateStatus { 8692 s.NodeUpdateStatusModifiedDate = &v 8693 return s 8694} 8695 8696// Represents the output of a CreateCacheParameterGroup operation. 8697type CacheParameterGroup struct { 8698 _ struct{} `type:"structure"` 8699 8700 // The ARN (Amazon Resource Name) of the cache parameter group. 8701 ARN *string `type:"string"` 8702 8703 // The name of the cache parameter group family that this cache parameter group 8704 // is compatible with. 8705 // 8706 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 8707 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 8708 CacheParameterGroupFamily *string `type:"string"` 8709 8710 // The name of the cache parameter group. 8711 CacheParameterGroupName *string `type:"string"` 8712 8713 // The description for this cache parameter group. 8714 Description *string `type:"string"` 8715 8716 // Indicates whether the parameter group is associated with a Global datastore 8717 IsGlobal *bool `type:"boolean"` 8718} 8719 8720// String returns the string representation 8721func (s CacheParameterGroup) String() string { 8722 return awsutil.Prettify(s) 8723} 8724 8725// GoString returns the string representation 8726func (s CacheParameterGroup) GoString() string { 8727 return s.String() 8728} 8729 8730// SetARN sets the ARN field's value. 8731func (s *CacheParameterGroup) SetARN(v string) *CacheParameterGroup { 8732 s.ARN = &v 8733 return s 8734} 8735 8736// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8737func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { 8738 s.CacheParameterGroupFamily = &v 8739 return s 8740} 8741 8742// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8743func (s *CacheParameterGroup) SetCacheParameterGroupName(v string) *CacheParameterGroup { 8744 s.CacheParameterGroupName = &v 8745 return s 8746} 8747 8748// SetDescription sets the Description field's value. 8749func (s *CacheParameterGroup) SetDescription(v string) *CacheParameterGroup { 8750 s.Description = &v 8751 return s 8752} 8753 8754// SetIsGlobal sets the IsGlobal field's value. 8755func (s *CacheParameterGroup) SetIsGlobal(v bool) *CacheParameterGroup { 8756 s.IsGlobal = &v 8757 return s 8758} 8759 8760// Represents the output of one of the following operations: 8761// 8762// * ModifyCacheParameterGroup 8763// 8764// * ResetCacheParameterGroup 8765type CacheParameterGroupNameMessage struct { 8766 _ struct{} `type:"structure"` 8767 8768 // The name of the cache parameter group. 8769 CacheParameterGroupName *string `type:"string"` 8770} 8771 8772// String returns the string representation 8773func (s CacheParameterGroupNameMessage) String() string { 8774 return awsutil.Prettify(s) 8775} 8776 8777// GoString returns the string representation 8778func (s CacheParameterGroupNameMessage) GoString() string { 8779 return s.String() 8780} 8781 8782// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8783func (s *CacheParameterGroupNameMessage) SetCacheParameterGroupName(v string) *CacheParameterGroupNameMessage { 8784 s.CacheParameterGroupName = &v 8785 return s 8786} 8787 8788// Status of the cache parameter group. 8789type CacheParameterGroupStatus struct { 8790 _ struct{} `type:"structure"` 8791 8792 // A list of the cache node IDs which need to be rebooted for parameter changes 8793 // to be applied. A node ID is a numeric identifier (0001, 0002, etc.). 8794 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"` 8795 8796 // The name of the cache parameter group. 8797 CacheParameterGroupName *string `type:"string"` 8798 8799 // The status of parameter updates. 8800 ParameterApplyStatus *string `type:"string"` 8801} 8802 8803// String returns the string representation 8804func (s CacheParameterGroupStatus) String() string { 8805 return awsutil.Prettify(s) 8806} 8807 8808// GoString returns the string representation 8809func (s CacheParameterGroupStatus) GoString() string { 8810 return s.String() 8811} 8812 8813// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 8814func (s *CacheParameterGroupStatus) SetCacheNodeIdsToReboot(v []*string) *CacheParameterGroupStatus { 8815 s.CacheNodeIdsToReboot = v 8816 return s 8817} 8818 8819// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8820func (s *CacheParameterGroupStatus) SetCacheParameterGroupName(v string) *CacheParameterGroupStatus { 8821 s.CacheParameterGroupName = &v 8822 return s 8823} 8824 8825// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 8826func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CacheParameterGroupStatus { 8827 s.ParameterApplyStatus = &v 8828 return s 8829} 8830 8831// Represents the output of one of the following operations: 8832// 8833// * AuthorizeCacheSecurityGroupIngress 8834// 8835// * CreateCacheSecurityGroup 8836// 8837// * RevokeCacheSecurityGroupIngress 8838type CacheSecurityGroup struct { 8839 _ struct{} `type:"structure"` 8840 8841 // The ARN of the cache security group, 8842 ARN *string `type:"string"` 8843 8844 // The name of the cache security group. 8845 CacheSecurityGroupName *string `type:"string"` 8846 8847 // The description of the cache security group. 8848 Description *string `type:"string"` 8849 8850 // A list of Amazon EC2 security groups that are associated with this cache 8851 // security group. 8852 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 8853 8854 // The Amazon account ID of the cache security group owner. 8855 OwnerId *string `type:"string"` 8856} 8857 8858// String returns the string representation 8859func (s CacheSecurityGroup) String() string { 8860 return awsutil.Prettify(s) 8861} 8862 8863// GoString returns the string representation 8864func (s CacheSecurityGroup) GoString() string { 8865 return s.String() 8866} 8867 8868// SetARN sets the ARN field's value. 8869func (s *CacheSecurityGroup) SetARN(v string) *CacheSecurityGroup { 8870 s.ARN = &v 8871 return s 8872} 8873 8874// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 8875func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { 8876 s.CacheSecurityGroupName = &v 8877 return s 8878} 8879 8880// SetDescription sets the Description field's value. 8881func (s *CacheSecurityGroup) SetDescription(v string) *CacheSecurityGroup { 8882 s.Description = &v 8883 return s 8884} 8885 8886// SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 8887func (s *CacheSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *CacheSecurityGroup { 8888 s.EC2SecurityGroups = v 8889 return s 8890} 8891 8892// SetOwnerId sets the OwnerId field's value. 8893func (s *CacheSecurityGroup) SetOwnerId(v string) *CacheSecurityGroup { 8894 s.OwnerId = &v 8895 return s 8896} 8897 8898// Represents a cluster's status within a particular cache security group. 8899type CacheSecurityGroupMembership struct { 8900 _ struct{} `type:"structure"` 8901 8902 // The name of the cache security group. 8903 CacheSecurityGroupName *string `type:"string"` 8904 8905 // The membership status in the cache security group. The status changes when 8906 // a cache security group is modified, or when the cache security groups assigned 8907 // to a cluster are modified. 8908 Status *string `type:"string"` 8909} 8910 8911// String returns the string representation 8912func (s CacheSecurityGroupMembership) String() string { 8913 return awsutil.Prettify(s) 8914} 8915 8916// GoString returns the string representation 8917func (s CacheSecurityGroupMembership) GoString() string { 8918 return s.String() 8919} 8920 8921// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 8922func (s *CacheSecurityGroupMembership) SetCacheSecurityGroupName(v string) *CacheSecurityGroupMembership { 8923 s.CacheSecurityGroupName = &v 8924 return s 8925} 8926 8927// SetStatus sets the Status field's value. 8928func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMembership { 8929 s.Status = &v 8930 return s 8931} 8932 8933// Represents the output of one of the following operations: 8934// 8935// * CreateCacheSubnetGroup 8936// 8937// * ModifyCacheSubnetGroup 8938type CacheSubnetGroup struct { 8939 _ struct{} `type:"structure"` 8940 8941 // The ARN (Amazon Resource Name) of the cache subnet group. 8942 ARN *string `type:"string"` 8943 8944 // The description of the cache subnet group. 8945 CacheSubnetGroupDescription *string `type:"string"` 8946 8947 // The name of the cache subnet group. 8948 CacheSubnetGroupName *string `type:"string"` 8949 8950 // A list of subnets associated with the cache subnet group. 8951 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 8952 8953 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 8954 // group. 8955 VpcId *string `type:"string"` 8956} 8957 8958// String returns the string representation 8959func (s CacheSubnetGroup) String() string { 8960 return awsutil.Prettify(s) 8961} 8962 8963// GoString returns the string representation 8964func (s CacheSubnetGroup) GoString() string { 8965 return s.String() 8966} 8967 8968// SetARN sets the ARN field's value. 8969func (s *CacheSubnetGroup) SetARN(v string) *CacheSubnetGroup { 8970 s.ARN = &v 8971 return s 8972} 8973 8974// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 8975func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { 8976 s.CacheSubnetGroupDescription = &v 8977 return s 8978} 8979 8980// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8981func (s *CacheSubnetGroup) SetCacheSubnetGroupName(v string) *CacheSubnetGroup { 8982 s.CacheSubnetGroupName = &v 8983 return s 8984} 8985 8986// SetSubnets sets the Subnets field's value. 8987func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { 8988 s.Subnets = v 8989 return s 8990} 8991 8992// SetVpcId sets the VpcId field's value. 8993func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { 8994 s.VpcId = &v 8995 return s 8996} 8997 8998// The configuration details of the CloudWatch Logs destination. 8999type CloudWatchLogsDestinationDetails struct { 9000 _ struct{} `type:"structure"` 9001 9002 // The name of the CloudWatch Logs log group. 9003 LogGroup *string `type:"string"` 9004} 9005 9006// String returns the string representation 9007func (s CloudWatchLogsDestinationDetails) String() string { 9008 return awsutil.Prettify(s) 9009} 9010 9011// GoString returns the string representation 9012func (s CloudWatchLogsDestinationDetails) GoString() string { 9013 return s.String() 9014} 9015 9016// SetLogGroup sets the LogGroup field's value. 9017func (s *CloudWatchLogsDestinationDetails) SetLogGroup(v string) *CloudWatchLogsDestinationDetails { 9018 s.LogGroup = &v 9019 return s 9020} 9021 9022type CompleteMigrationInput struct { 9023 _ struct{} `type:"structure"` 9024 9025 // Forces the migration to stop without ensuring that data is in sync. It is 9026 // recommended to use this option only to abort the migration and not recommended 9027 // when application wants to continue migration to ElastiCache. 9028 Force *bool `type:"boolean"` 9029 9030 // The ID of the replication group to which data is being migrated. 9031 // 9032 // ReplicationGroupId is a required field 9033 ReplicationGroupId *string `type:"string" required:"true"` 9034} 9035 9036// String returns the string representation 9037func (s CompleteMigrationInput) String() string { 9038 return awsutil.Prettify(s) 9039} 9040 9041// GoString returns the string representation 9042func (s CompleteMigrationInput) GoString() string { 9043 return s.String() 9044} 9045 9046// Validate inspects the fields of the type to determine if they are valid. 9047func (s *CompleteMigrationInput) Validate() error { 9048 invalidParams := request.ErrInvalidParams{Context: "CompleteMigrationInput"} 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// SetForce sets the Force field's value. 9060func (s *CompleteMigrationInput) SetForce(v bool) *CompleteMigrationInput { 9061 s.Force = &v 9062 return s 9063} 9064 9065// SetReplicationGroupId sets the ReplicationGroupId field's value. 9066func (s *CompleteMigrationInput) SetReplicationGroupId(v string) *CompleteMigrationInput { 9067 s.ReplicationGroupId = &v 9068 return s 9069} 9070 9071type CompleteMigrationOutput struct { 9072 _ struct{} `type:"structure"` 9073 9074 // Contains all of the attributes of a specific Redis replication group. 9075 ReplicationGroup *ReplicationGroup `type:"structure"` 9076} 9077 9078// String returns the string representation 9079func (s CompleteMigrationOutput) String() string { 9080 return awsutil.Prettify(s) 9081} 9082 9083// GoString returns the string representation 9084func (s CompleteMigrationOutput) GoString() string { 9085 return s.String() 9086} 9087 9088// SetReplicationGroup sets the ReplicationGroup field's value. 9089func (s *CompleteMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *CompleteMigrationOutput { 9090 s.ReplicationGroup = v 9091 return s 9092} 9093 9094// Node group (shard) configuration options when adding or removing replicas. 9095// Each node group (shard) configuration has the following members: NodeGroupId, 9096// NewReplicaCount, and PreferredAvailabilityZones. 9097type ConfigureShard struct { 9098 _ struct{} `type:"structure"` 9099 9100 // The number of replicas you want in this node group at the end of this operation. 9101 // The maximum value for NewReplicaCount is 5. The minimum value depends upon 9102 // the type of Redis replication group you are working with. 9103 // 9104 // The minimum number of replicas in a shard or replication group is: 9105 // 9106 // * Redis (cluster mode disabled) If Multi-AZ: 1 If Multi-AZ: 0 9107 // 9108 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 9109 // to a replica if your primary node fails) 9110 // 9111 // NewReplicaCount is a required field 9112 NewReplicaCount *int64 `type:"integer" required:"true"` 9113 9114 // The 4-digit id for the node group you are configuring. For Redis (cluster 9115 // mode disabled) replication groups, the node group id is always 0001. To find 9116 // a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a 9117 // Shard's Id (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html). 9118 // 9119 // NodeGroupId is a required field 9120 NodeGroupId *string `min:"1" type:"string" required:"true"` 9121 9122 // A list of PreferredAvailabilityZone strings that specify which availability 9123 // zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone 9124 // values must equal the value of NewReplicaCount plus 1 to account for the 9125 // primary node. If this member of ReplicaConfiguration is omitted, ElastiCache 9126 // for Redis selects the availability zone for each of the replicas. 9127 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 9128 9129 // The outpost ARNs in which the cache cluster is created. 9130 PreferredOutpostArns []*string `locationNameList:"PreferredOutpostArn" type:"list"` 9131} 9132 9133// String returns the string representation 9134func (s ConfigureShard) String() string { 9135 return awsutil.Prettify(s) 9136} 9137 9138// GoString returns the string representation 9139func (s ConfigureShard) GoString() string { 9140 return s.String() 9141} 9142 9143// Validate inspects the fields of the type to determine if they are valid. 9144func (s *ConfigureShard) Validate() error { 9145 invalidParams := request.ErrInvalidParams{Context: "ConfigureShard"} 9146 if s.NewReplicaCount == nil { 9147 invalidParams.Add(request.NewErrParamRequired("NewReplicaCount")) 9148 } 9149 if s.NodeGroupId == nil { 9150 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 9151 } 9152 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 9153 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 9154 } 9155 9156 if invalidParams.Len() > 0 { 9157 return invalidParams 9158 } 9159 return nil 9160} 9161 9162// SetNewReplicaCount sets the NewReplicaCount field's value. 9163func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { 9164 s.NewReplicaCount = &v 9165 return s 9166} 9167 9168// SetNodeGroupId sets the NodeGroupId field's value. 9169func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { 9170 s.NodeGroupId = &v 9171 return s 9172} 9173 9174// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 9175func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { 9176 s.PreferredAvailabilityZones = v 9177 return s 9178} 9179 9180// SetPreferredOutpostArns sets the PreferredOutpostArns field's value. 9181func (s *ConfigureShard) SetPreferredOutpostArns(v []*string) *ConfigureShard { 9182 s.PreferredOutpostArns = v 9183 return s 9184} 9185 9186// Represents the input of a CopySnapshotMessage operation. 9187type CopySnapshotInput struct { 9188 _ struct{} `type:"structure"` 9189 9190 // The ID of the KMS key used to encrypt the target snapshot. 9191 KmsKeyId *string `type:"string"` 9192 9193 // The name of an existing snapshot from which to make a copy. 9194 // 9195 // SourceSnapshotName is a required field 9196 SourceSnapshotName *string `type:"string" required:"true"` 9197 9198 // A list of tags to be added to this resource. A tag is a key-value pair. A 9199 // tag key must be accompanied by a tag value, although null is accepted. 9200 Tags []*Tag `locationNameList:"Tag" type:"list"` 9201 9202 // The Amazon S3 bucket to which the snapshot is exported. This parameter is 9203 // used only when exporting a snapshot for external access. 9204 // 9205 // When using this parameter to export a snapshot, be sure Amazon ElastiCache 9206 // has the needed permissions to this S3 bucket. For more information, see Step 9207 // 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) 9208 // in the Amazon ElastiCache User Guide. 9209 // 9210 // For more information, see Exporting a Snapshot (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 9211 // in the Amazon ElastiCache User Guide. 9212 TargetBucket *string `type:"string"` 9213 9214 // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, 9215 // therefore this name must be unique within its context - ElastiCache or an 9216 // Amazon S3 bucket if exporting. 9217 // 9218 // TargetSnapshotName is a required field 9219 TargetSnapshotName *string `type:"string" required:"true"` 9220} 9221 9222// String returns the string representation 9223func (s CopySnapshotInput) String() string { 9224 return awsutil.Prettify(s) 9225} 9226 9227// GoString returns the string representation 9228func (s CopySnapshotInput) GoString() string { 9229 return s.String() 9230} 9231 9232// Validate inspects the fields of the type to determine if they are valid. 9233func (s *CopySnapshotInput) Validate() error { 9234 invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} 9235 if s.SourceSnapshotName == nil { 9236 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) 9237 } 9238 if s.TargetSnapshotName == nil { 9239 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) 9240 } 9241 9242 if invalidParams.Len() > 0 { 9243 return invalidParams 9244 } 9245 return nil 9246} 9247 9248// SetKmsKeyId sets the KmsKeyId field's value. 9249func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput { 9250 s.KmsKeyId = &v 9251 return s 9252} 9253 9254// SetSourceSnapshotName sets the SourceSnapshotName field's value. 9255func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { 9256 s.SourceSnapshotName = &v 9257 return s 9258} 9259 9260// SetTags sets the Tags field's value. 9261func (s *CopySnapshotInput) SetTags(v []*Tag) *CopySnapshotInput { 9262 s.Tags = v 9263 return s 9264} 9265 9266// SetTargetBucket sets the TargetBucket field's value. 9267func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { 9268 s.TargetBucket = &v 9269 return s 9270} 9271 9272// SetTargetSnapshotName sets the TargetSnapshotName field's value. 9273func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { 9274 s.TargetSnapshotName = &v 9275 return s 9276} 9277 9278type CopySnapshotOutput struct { 9279 _ struct{} `type:"structure"` 9280 9281 // Represents a copy of an entire Redis cluster as of the time when the snapshot 9282 // was taken. 9283 Snapshot *Snapshot `type:"structure"` 9284} 9285 9286// String returns the string representation 9287func (s CopySnapshotOutput) String() string { 9288 return awsutil.Prettify(s) 9289} 9290 9291// GoString returns the string representation 9292func (s CopySnapshotOutput) GoString() string { 9293 return s.String() 9294} 9295 9296// SetSnapshot sets the Snapshot field's value. 9297func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { 9298 s.Snapshot = v 9299 return s 9300} 9301 9302// Represents the input of a CreateCacheCluster operation. 9303type CreateCacheClusterInput struct { 9304 _ struct{} `type:"structure"` 9305 9306 // Specifies whether the nodes in this Memcached cluster are created in a single 9307 // Availability Zone or created across multiple Availability Zones in the cluster's 9308 // region. 9309 // 9310 // This parameter is only supported for Memcached clusters. 9311 // 9312 // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache 9313 // assumes single-az mode. 9314 AZMode *string `type:"string" enum:"AZMode"` 9315 9316 // Reserved parameter. The password used to access a password protected server. 9317 // 9318 // Password constraints: 9319 // 9320 // * Must be only printable ASCII characters. 9321 // 9322 // * Must be at least 16 characters and no more than 128 characters in length. 9323 // 9324 // * The only permitted printable special characters are !, &, #, $, ^, <, 9325 // >, and -. Other printable special characters cannot be used in the AUTH 9326 // token. 9327 // 9328 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 9329 // http://redis.io/commands/AUTH. 9330 AuthToken *string `type:"string"` 9331 9332 // This parameter is currently disabled. 9333 AutoMinorVersionUpgrade *bool `type:"boolean"` 9334 9335 // The node group (shard) identifier. This parameter is stored as a lowercase 9336 // string. 9337 // 9338 // Constraints: 9339 // 9340 // * A name must contain from 1 to 50 alphanumeric characters or hyphens. 9341 // 9342 // * The first character must be a letter. 9343 // 9344 // * A name cannot end with a hyphen or contain two consecutive hyphens. 9345 // 9346 // CacheClusterId is a required field 9347 CacheClusterId *string `type:"string" required:"true"` 9348 9349 // The compute and memory capacity of the nodes in the node group (shard). 9350 // 9351 // The following node types are supported by ElastiCache. Generally speaking, 9352 // the current generation types provide more memory and computational power 9353 // at lower cost when compared to their equivalent previous generation counterparts. 9354 // 9355 // * General purpose: Current generation: M6g node types (available only 9356 // for Redis engine version 5.0.6 onward and for Memcached engine version 9357 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 9358 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 9359 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 9360 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 9361 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 9362 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 9363 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 9364 // cache.t2.medium Previous generation: (not recommended) T1 node types: 9365 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 9366 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 9367 // cache.m3.2xlarge 9368 // 9369 // * Compute optimized: Previous generation: (not recommended) C1 node types: 9370 // cache.c1.xlarge 9371 // 9372 // * Memory optimized: Current generation: R6g node types (available only 9373 // for Redis engine version 5.0.6 onward and for Memcached engine version 9374 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 9375 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 9376 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 9377 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 9378 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 9379 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 9380 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 9381 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 9382 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 9383 // 9384 // Additional node type info 9385 // 9386 // * All current generation instance types are created in Amazon VPC by default. 9387 // 9388 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 9389 // 9390 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 9391 // 9392 // * Redis configuration variables appendonly and appendfsync are not supported 9393 // on Redis version 2.8.22 and later. 9394 CacheNodeType *string `type:"string"` 9395 9396 // The name of the parameter group to associate with this cluster. If this argument 9397 // is omitted, the default parameter group for the specified engine is used. 9398 // You cannot use any parameter group which has cluster-enabled='yes' when creating 9399 // a cluster. 9400 CacheParameterGroupName *string `type:"string"` 9401 9402 // A list of security group names to associate with this cluster. 9403 // 9404 // Use this parameter only when you are creating a cluster outside of an Amazon 9405 // Virtual Private Cloud (Amazon VPC). 9406 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 9407 9408 // The name of the subnet group to be used for the cluster. 9409 // 9410 // Use this parameter only when you are creating a cluster in an Amazon Virtual 9411 // Private Cloud (Amazon VPC). 9412 // 9413 // If you're going to launch your cluster in an Amazon VPC, you need to create 9414 // a subnet group before you start creating a cluster. For more information, 9415 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 9416 CacheSubnetGroupName *string `type:"string"` 9417 9418 // The name of the cache engine to be used for this cluster. 9419 // 9420 // Valid values for this parameter are: memcached | redis 9421 Engine *string `type:"string"` 9422 9423 // The version number of the cache engine to be used for this cluster. To view 9424 // the supported cache engine versions, use the DescribeCacheEngineVersions 9425 // operation. 9426 // 9427 // Important: You can upgrade to a newer engine version (see Selecting a Cache 9428 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 9429 // but you cannot downgrade to an earlier engine version. If you want to use 9430 // an earlier engine version, you must delete the existing cluster or replication 9431 // group and create it anew with the earlier engine version. 9432 EngineVersion *string `type:"string"` 9433 9434 // Specifies the destination, format and type of the logs. 9435 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 9436 9437 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 9438 // (SNS) topic to which notifications are sent. 9439 // 9440 // The Amazon SNS topic owner must be the same as the cluster owner. 9441 NotificationTopicArn *string `type:"string"` 9442 9443 // The initial number of cache nodes that the cluster has. 9444 // 9445 // For clusters running Redis, this value must be 1. For clusters running Memcached, 9446 // this value must be between 1 and 40. 9447 // 9448 // If you need more than 40 nodes for your Memcached cluster, please fill out 9449 // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ 9450 // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). 9451 NumCacheNodes *int64 `type:"integer"` 9452 9453 // Specifies whether the nodes in the cluster are created in a single outpost 9454 // or across multiple outposts. 9455 OutpostMode *string `type:"string" enum:"OutpostMode"` 9456 9457 // The port number on which each of the cache nodes accepts connections. 9458 Port *int64 `type:"integer"` 9459 9460 // The EC2 Availability Zone in which the cluster is created. 9461 // 9462 // All nodes belonging to this cluster are placed in the preferred Availability 9463 // Zone. If you want to create your nodes across multiple Availability Zones, 9464 // use PreferredAvailabilityZones. 9465 // 9466 // Default: System chosen Availability Zone. 9467 PreferredAvailabilityZone *string `type:"string"` 9468 9469 // A list of the Availability Zones in which cache nodes are created. The order 9470 // of the zones in the list is not important. 9471 // 9472 // This option is only supported on Memcached. 9473 // 9474 // If you are creating your cluster in an Amazon VPC (recommended) you can only 9475 // locate nodes in Availability Zones that are associated with the subnets in 9476 // the selected subnet group. 9477 // 9478 // The number of Availability Zones listed must equal the value of NumCacheNodes. 9479 // 9480 // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone 9481 // instead, or repeat the Availability Zone multiple times in the list. 9482 // 9483 // Default: System chosen Availability Zones. 9484 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 9485 9486 // Specifies the weekly time range during which maintenance on the cluster is 9487 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 9488 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 9489 // values for ddd are: 9490 PreferredMaintenanceWindow *string `type:"string"` 9491 9492 // The outpost ARN in which the cache cluster is created. 9493 PreferredOutpostArn *string `type:"string"` 9494 9495 // The outpost ARNs in which the cache cluster is created. 9496 PreferredOutpostArns []*string `locationNameList:"PreferredOutpostArn" type:"list"` 9497 9498 // The ID of the replication group to which this cluster should belong. If this 9499 // parameter is specified, the cluster is added to the specified replication 9500 // group as a read replica; otherwise, the cluster is a standalone primary that 9501 // is not part of any replication group. 9502 // 9503 // If the specified replication group is Multi-AZ enabled and the Availability 9504 // Zone is not specified, the cluster is created in Availability Zones that 9505 // provide the best spread of read replicas across Availability Zones. 9506 // 9507 // This parameter is only valid if the Engine parameter is redis. 9508 ReplicationGroupId *string `type:"string"` 9509 9510 // One or more VPC security groups associated with the cluster. 9511 // 9512 // Use this parameter only when you are creating a cluster in an Amazon Virtual 9513 // Private Cloud (Amazon VPC). 9514 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 9515 9516 // A single-element string list containing an Amazon Resource Name (ARN) that 9517 // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 9518 // file is used to populate the node group (shard). The Amazon S3 object name 9519 // in the ARN cannot contain any commas. 9520 // 9521 // This parameter is only valid if the Engine parameter is redis. 9522 // 9523 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 9524 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 9525 9526 // The name of a Redis snapshot from which to restore data into the new node 9527 // group (shard). The snapshot status changes to restoring while the new node 9528 // group (shard) is being created. 9529 // 9530 // This parameter is only valid if the Engine parameter is redis. 9531 SnapshotName *string `type:"string"` 9532 9533 // The number of days for which ElastiCache retains automatic snapshots before 9534 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 9535 // taken today is retained for 5 days before being deleted. 9536 // 9537 // This parameter is only valid if the Engine parameter is redis. 9538 // 9539 // Default: 0 (i.e., automatic backups are disabled for this cache cluster). 9540 SnapshotRetentionLimit *int64 `type:"integer"` 9541 9542 // The daily time range (in UTC) during which ElastiCache begins taking a daily 9543 // snapshot of your node group (shard). 9544 // 9545 // Example: 05:00-09:00 9546 // 9547 // If you do not specify this parameter, ElastiCache automatically chooses an 9548 // appropriate time range. 9549 // 9550 // This parameter is only valid if the Engine parameter is redis. 9551 SnapshotWindow *string `type:"string"` 9552 9553 // A list of tags to be added to this resource. 9554 Tags []*Tag `locationNameList:"Tag" type:"list"` 9555} 9556 9557// String returns the string representation 9558func (s CreateCacheClusterInput) String() string { 9559 return awsutil.Prettify(s) 9560} 9561 9562// GoString returns the string representation 9563func (s CreateCacheClusterInput) GoString() string { 9564 return s.String() 9565} 9566 9567// Validate inspects the fields of the type to determine if they are valid. 9568func (s *CreateCacheClusterInput) Validate() error { 9569 invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} 9570 if s.CacheClusterId == nil { 9571 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 9572 } 9573 9574 if invalidParams.Len() > 0 { 9575 return invalidParams 9576 } 9577 return nil 9578} 9579 9580// SetAZMode sets the AZMode field's value. 9581func (s *CreateCacheClusterInput) SetAZMode(v string) *CreateCacheClusterInput { 9582 s.AZMode = &v 9583 return s 9584} 9585 9586// SetAuthToken sets the AuthToken field's value. 9587func (s *CreateCacheClusterInput) SetAuthToken(v string) *CreateCacheClusterInput { 9588 s.AuthToken = &v 9589 return s 9590} 9591 9592// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 9593func (s *CreateCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateCacheClusterInput { 9594 s.AutoMinorVersionUpgrade = &v 9595 return s 9596} 9597 9598// SetCacheClusterId sets the CacheClusterId field's value. 9599func (s *CreateCacheClusterInput) SetCacheClusterId(v string) *CreateCacheClusterInput { 9600 s.CacheClusterId = &v 9601 return s 9602} 9603 9604// SetCacheNodeType sets the CacheNodeType field's value. 9605func (s *CreateCacheClusterInput) SetCacheNodeType(v string) *CreateCacheClusterInput { 9606 s.CacheNodeType = &v 9607 return s 9608} 9609 9610// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9611func (s *CreateCacheClusterInput) SetCacheParameterGroupName(v string) *CreateCacheClusterInput { 9612 s.CacheParameterGroupName = &v 9613 return s 9614} 9615 9616// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 9617func (s *CreateCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *CreateCacheClusterInput { 9618 s.CacheSecurityGroupNames = v 9619 return s 9620} 9621 9622// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9623func (s *CreateCacheClusterInput) SetCacheSubnetGroupName(v string) *CreateCacheClusterInput { 9624 s.CacheSubnetGroupName = &v 9625 return s 9626} 9627 9628// SetEngine sets the Engine field's value. 9629func (s *CreateCacheClusterInput) SetEngine(v string) *CreateCacheClusterInput { 9630 s.Engine = &v 9631 return s 9632} 9633 9634// SetEngineVersion sets the EngineVersion field's value. 9635func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheClusterInput { 9636 s.EngineVersion = &v 9637 return s 9638} 9639 9640// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 9641func (s *CreateCacheClusterInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *CreateCacheClusterInput { 9642 s.LogDeliveryConfigurations = v 9643 return s 9644} 9645 9646// SetNotificationTopicArn sets the NotificationTopicArn field's value. 9647func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { 9648 s.NotificationTopicArn = &v 9649 return s 9650} 9651 9652// SetNumCacheNodes sets the NumCacheNodes field's value. 9653func (s *CreateCacheClusterInput) SetNumCacheNodes(v int64) *CreateCacheClusterInput { 9654 s.NumCacheNodes = &v 9655 return s 9656} 9657 9658// SetOutpostMode sets the OutpostMode field's value. 9659func (s *CreateCacheClusterInput) SetOutpostMode(v string) *CreateCacheClusterInput { 9660 s.OutpostMode = &v 9661 return s 9662} 9663 9664// SetPort sets the Port field's value. 9665func (s *CreateCacheClusterInput) SetPort(v int64) *CreateCacheClusterInput { 9666 s.Port = &v 9667 return s 9668} 9669 9670// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 9671func (s *CreateCacheClusterInput) SetPreferredAvailabilityZone(v string) *CreateCacheClusterInput { 9672 s.PreferredAvailabilityZone = &v 9673 return s 9674} 9675 9676// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 9677func (s *CreateCacheClusterInput) SetPreferredAvailabilityZones(v []*string) *CreateCacheClusterInput { 9678 s.PreferredAvailabilityZones = v 9679 return s 9680} 9681 9682// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 9683func (s *CreateCacheClusterInput) SetPreferredMaintenanceWindow(v string) *CreateCacheClusterInput { 9684 s.PreferredMaintenanceWindow = &v 9685 return s 9686} 9687 9688// SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 9689func (s *CreateCacheClusterInput) SetPreferredOutpostArn(v string) *CreateCacheClusterInput { 9690 s.PreferredOutpostArn = &v 9691 return s 9692} 9693 9694// SetPreferredOutpostArns sets the PreferredOutpostArns field's value. 9695func (s *CreateCacheClusterInput) SetPreferredOutpostArns(v []*string) *CreateCacheClusterInput { 9696 s.PreferredOutpostArns = v 9697 return s 9698} 9699 9700// SetReplicationGroupId sets the ReplicationGroupId field's value. 9701func (s *CreateCacheClusterInput) SetReplicationGroupId(v string) *CreateCacheClusterInput { 9702 s.ReplicationGroupId = &v 9703 return s 9704} 9705 9706// SetSecurityGroupIds sets the SecurityGroupIds field's value. 9707func (s *CreateCacheClusterInput) SetSecurityGroupIds(v []*string) *CreateCacheClusterInput { 9708 s.SecurityGroupIds = v 9709 return s 9710} 9711 9712// SetSnapshotArns sets the SnapshotArns field's value. 9713func (s *CreateCacheClusterInput) SetSnapshotArns(v []*string) *CreateCacheClusterInput { 9714 s.SnapshotArns = v 9715 return s 9716} 9717 9718// SetSnapshotName sets the SnapshotName field's value. 9719func (s *CreateCacheClusterInput) SetSnapshotName(v string) *CreateCacheClusterInput { 9720 s.SnapshotName = &v 9721 return s 9722} 9723 9724// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 9725func (s *CreateCacheClusterInput) SetSnapshotRetentionLimit(v int64) *CreateCacheClusterInput { 9726 s.SnapshotRetentionLimit = &v 9727 return s 9728} 9729 9730// SetSnapshotWindow sets the SnapshotWindow field's value. 9731func (s *CreateCacheClusterInput) SetSnapshotWindow(v string) *CreateCacheClusterInput { 9732 s.SnapshotWindow = &v 9733 return s 9734} 9735 9736// SetTags sets the Tags field's value. 9737func (s *CreateCacheClusterInput) SetTags(v []*Tag) *CreateCacheClusterInput { 9738 s.Tags = v 9739 return s 9740} 9741 9742type CreateCacheClusterOutput struct { 9743 _ struct{} `type:"structure"` 9744 9745 // Contains all of the attributes of a specific cluster. 9746 CacheCluster *CacheCluster `type:"structure"` 9747} 9748 9749// String returns the string representation 9750func (s CreateCacheClusterOutput) String() string { 9751 return awsutil.Prettify(s) 9752} 9753 9754// GoString returns the string representation 9755func (s CreateCacheClusterOutput) GoString() string { 9756 return s.String() 9757} 9758 9759// SetCacheCluster sets the CacheCluster field's value. 9760func (s *CreateCacheClusterOutput) SetCacheCluster(v *CacheCluster) *CreateCacheClusterOutput { 9761 s.CacheCluster = v 9762 return s 9763} 9764 9765// Represents the input of a CreateCacheParameterGroup operation. 9766type CreateCacheParameterGroupInput struct { 9767 _ struct{} `type:"structure"` 9768 9769 // The name of the cache parameter group family that the cache parameter group 9770 // can be used with. 9771 // 9772 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 9773 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 9774 // 9775 // CacheParameterGroupFamily is a required field 9776 CacheParameterGroupFamily *string `type:"string" required:"true"` 9777 9778 // A user-specified name for the cache parameter group. 9779 // 9780 // CacheParameterGroupName is a required field 9781 CacheParameterGroupName *string `type:"string" required:"true"` 9782 9783 // A user-specified description for the cache parameter group. 9784 // 9785 // Description is a required field 9786 Description *string `type:"string" required:"true"` 9787 9788 // A list of tags to be added to this resource. A tag is a key-value pair. A 9789 // tag key must be accompanied by a tag value, although null is accepted. 9790 Tags []*Tag `locationNameList:"Tag" type:"list"` 9791} 9792 9793// String returns the string representation 9794func (s CreateCacheParameterGroupInput) String() string { 9795 return awsutil.Prettify(s) 9796} 9797 9798// GoString returns the string representation 9799func (s CreateCacheParameterGroupInput) GoString() string { 9800 return s.String() 9801} 9802 9803// Validate inspects the fields of the type to determine if they are valid. 9804func (s *CreateCacheParameterGroupInput) Validate() error { 9805 invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} 9806 if s.CacheParameterGroupFamily == nil { 9807 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 9808 } 9809 if s.CacheParameterGroupName == nil { 9810 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 9811 } 9812 if s.Description == nil { 9813 invalidParams.Add(request.NewErrParamRequired("Description")) 9814 } 9815 9816 if invalidParams.Len() > 0 { 9817 return invalidParams 9818 } 9819 return nil 9820} 9821 9822// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 9823func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupFamily(v string) *CreateCacheParameterGroupInput { 9824 s.CacheParameterGroupFamily = &v 9825 return s 9826} 9827 9828// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9829func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupName(v string) *CreateCacheParameterGroupInput { 9830 s.CacheParameterGroupName = &v 9831 return s 9832} 9833 9834// SetDescription sets the Description field's value. 9835func (s *CreateCacheParameterGroupInput) SetDescription(v string) *CreateCacheParameterGroupInput { 9836 s.Description = &v 9837 return s 9838} 9839 9840// SetTags sets the Tags field's value. 9841func (s *CreateCacheParameterGroupInput) SetTags(v []*Tag) *CreateCacheParameterGroupInput { 9842 s.Tags = v 9843 return s 9844} 9845 9846type CreateCacheParameterGroupOutput struct { 9847 _ struct{} `type:"structure"` 9848 9849 // Represents the output of a CreateCacheParameterGroup operation. 9850 CacheParameterGroup *CacheParameterGroup `type:"structure"` 9851} 9852 9853// String returns the string representation 9854func (s CreateCacheParameterGroupOutput) String() string { 9855 return awsutil.Prettify(s) 9856} 9857 9858// GoString returns the string representation 9859func (s CreateCacheParameterGroupOutput) GoString() string { 9860 return s.String() 9861} 9862 9863// SetCacheParameterGroup sets the CacheParameterGroup field's value. 9864func (s *CreateCacheParameterGroupOutput) SetCacheParameterGroup(v *CacheParameterGroup) *CreateCacheParameterGroupOutput { 9865 s.CacheParameterGroup = v 9866 return s 9867} 9868 9869// Represents the input of a CreateCacheSecurityGroup operation. 9870type CreateCacheSecurityGroupInput struct { 9871 _ struct{} `type:"structure"` 9872 9873 // A name for the cache security group. This value is stored as a lowercase 9874 // string. 9875 // 9876 // Constraints: Must contain no more than 255 alphanumeric characters. Cannot 9877 // be the word "Default". 9878 // 9879 // Example: mysecuritygroup 9880 // 9881 // CacheSecurityGroupName is a required field 9882 CacheSecurityGroupName *string `type:"string" required:"true"` 9883 9884 // A description for the cache security group. 9885 // 9886 // Description is a required field 9887 Description *string `type:"string" required:"true"` 9888 9889 // A list of tags to be added to this resource. A tag is a key-value pair. A 9890 // tag key must be accompanied by a tag value, although null is accepted. 9891 Tags []*Tag `locationNameList:"Tag" type:"list"` 9892} 9893 9894// String returns the string representation 9895func (s CreateCacheSecurityGroupInput) String() string { 9896 return awsutil.Prettify(s) 9897} 9898 9899// GoString returns the string representation 9900func (s CreateCacheSecurityGroupInput) GoString() string { 9901 return s.String() 9902} 9903 9904// Validate inspects the fields of the type to determine if they are valid. 9905func (s *CreateCacheSecurityGroupInput) Validate() error { 9906 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} 9907 if s.CacheSecurityGroupName == nil { 9908 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 9909 } 9910 if s.Description == nil { 9911 invalidParams.Add(request.NewErrParamRequired("Description")) 9912 } 9913 9914 if invalidParams.Len() > 0 { 9915 return invalidParams 9916 } 9917 return nil 9918} 9919 9920// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 9921func (s *CreateCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *CreateCacheSecurityGroupInput { 9922 s.CacheSecurityGroupName = &v 9923 return s 9924} 9925 9926// SetDescription sets the Description field's value. 9927func (s *CreateCacheSecurityGroupInput) SetDescription(v string) *CreateCacheSecurityGroupInput { 9928 s.Description = &v 9929 return s 9930} 9931 9932// SetTags sets the Tags field's value. 9933func (s *CreateCacheSecurityGroupInput) SetTags(v []*Tag) *CreateCacheSecurityGroupInput { 9934 s.Tags = v 9935 return s 9936} 9937 9938type CreateCacheSecurityGroupOutput struct { 9939 _ struct{} `type:"structure"` 9940 9941 // Represents the output of one of the following operations: 9942 // 9943 // * AuthorizeCacheSecurityGroupIngress 9944 // 9945 // * CreateCacheSecurityGroup 9946 // 9947 // * RevokeCacheSecurityGroupIngress 9948 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 9949} 9950 9951// String returns the string representation 9952func (s CreateCacheSecurityGroupOutput) String() string { 9953 return awsutil.Prettify(s) 9954} 9955 9956// GoString returns the string representation 9957func (s CreateCacheSecurityGroupOutput) GoString() string { 9958 return s.String() 9959} 9960 9961// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 9962func (s *CreateCacheSecurityGroupOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *CreateCacheSecurityGroupOutput { 9963 s.CacheSecurityGroup = v 9964 return s 9965} 9966 9967// Represents the input of a CreateCacheSubnetGroup operation. 9968type CreateCacheSubnetGroupInput struct { 9969 _ struct{} `type:"structure"` 9970 9971 // A description for the cache subnet group. 9972 // 9973 // CacheSubnetGroupDescription is a required field 9974 CacheSubnetGroupDescription *string `type:"string" required:"true"` 9975 9976 // A name for the cache subnet group. This value is stored as a lowercase string. 9977 // 9978 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 9979 // 9980 // Example: mysubnetgroup 9981 // 9982 // CacheSubnetGroupName is a required field 9983 CacheSubnetGroupName *string `type:"string" required:"true"` 9984 9985 // A list of VPC subnet IDs for the cache subnet group. 9986 // 9987 // SubnetIds is a required field 9988 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 9989 9990 // A list of tags to be added to this resource. A tag is a key-value pair. A 9991 // tag key must be accompanied by a tag value, although null is accepted. 9992 Tags []*Tag `locationNameList:"Tag" type:"list"` 9993} 9994 9995// String returns the string representation 9996func (s CreateCacheSubnetGroupInput) String() string { 9997 return awsutil.Prettify(s) 9998} 9999 10000// GoString returns the string representation 10001func (s CreateCacheSubnetGroupInput) GoString() string { 10002 return s.String() 10003} 10004 10005// Validate inspects the fields of the type to determine if they are valid. 10006func (s *CreateCacheSubnetGroupInput) Validate() error { 10007 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} 10008 if s.CacheSubnetGroupDescription == nil { 10009 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) 10010 } 10011 if s.CacheSubnetGroupName == nil { 10012 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 10013 } 10014 if s.SubnetIds == nil { 10015 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 10016 } 10017 10018 if invalidParams.Len() > 0 { 10019 return invalidParams 10020 } 10021 return nil 10022} 10023 10024// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 10025func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *CreateCacheSubnetGroupInput { 10026 s.CacheSubnetGroupDescription = &v 10027 return s 10028} 10029 10030// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10031func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *CreateCacheSubnetGroupInput { 10032 s.CacheSubnetGroupName = &v 10033 return s 10034} 10035 10036// SetSubnetIds sets the SubnetIds field's value. 10037func (s *CreateCacheSubnetGroupInput) SetSubnetIds(v []*string) *CreateCacheSubnetGroupInput { 10038 s.SubnetIds = v 10039 return s 10040} 10041 10042// SetTags sets the Tags field's value. 10043func (s *CreateCacheSubnetGroupInput) SetTags(v []*Tag) *CreateCacheSubnetGroupInput { 10044 s.Tags = v 10045 return s 10046} 10047 10048type CreateCacheSubnetGroupOutput struct { 10049 _ struct{} `type:"structure"` 10050 10051 // Represents the output of one of the following operations: 10052 // 10053 // * CreateCacheSubnetGroup 10054 // 10055 // * ModifyCacheSubnetGroup 10056 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 10057} 10058 10059// String returns the string representation 10060func (s CreateCacheSubnetGroupOutput) String() string { 10061 return awsutil.Prettify(s) 10062} 10063 10064// GoString returns the string representation 10065func (s CreateCacheSubnetGroupOutput) GoString() string { 10066 return s.String() 10067} 10068 10069// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 10070func (s *CreateCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *CreateCacheSubnetGroupOutput { 10071 s.CacheSubnetGroup = v 10072 return s 10073} 10074 10075type CreateGlobalReplicationGroupInput struct { 10076 _ struct{} `type:"structure"` 10077 10078 // Provides details of the Global datastore 10079 GlobalReplicationGroupDescription *string `type:"string"` 10080 10081 // The suffix name of a Global datastore. Amazon ElastiCache automatically applies 10082 // a prefix to the Global datastore ID when it is created. Each Amazon Region 10083 // has its own prefix. For instance, a Global datastore ID created in the US-West-1 10084 // region will begin with "dsdfu" along with the suffix name you provide. The 10085 // suffix, combined with the auto-generated prefix, guarantees uniqueness of 10086 // the Global datastore name across multiple regions. 10087 // 10088 // For a full list of Amazon Regions and their respective Global datastore iD 10089 // prefixes, see Using the Amazon CLI with Global datastores (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastores-CLI.html). 10090 // 10091 // GlobalReplicationGroupIdSuffix is a required field 10092 GlobalReplicationGroupIdSuffix *string `type:"string" required:"true"` 10093 10094 // The name of the primary cluster that accepts writes and will replicate updates 10095 // to the secondary cluster. 10096 // 10097 // PrimaryReplicationGroupId is a required field 10098 PrimaryReplicationGroupId *string `type:"string" required:"true"` 10099} 10100 10101// String returns the string representation 10102func (s CreateGlobalReplicationGroupInput) String() string { 10103 return awsutil.Prettify(s) 10104} 10105 10106// GoString returns the string representation 10107func (s CreateGlobalReplicationGroupInput) GoString() string { 10108 return s.String() 10109} 10110 10111// Validate inspects the fields of the type to determine if they are valid. 10112func (s *CreateGlobalReplicationGroupInput) Validate() error { 10113 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalReplicationGroupInput"} 10114 if s.GlobalReplicationGroupIdSuffix == nil { 10115 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupIdSuffix")) 10116 } 10117 if s.PrimaryReplicationGroupId == nil { 10118 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 10119 } 10120 10121 if invalidParams.Len() > 0 { 10122 return invalidParams 10123 } 10124 return nil 10125} 10126 10127// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 10128func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *CreateGlobalReplicationGroupInput { 10129 s.GlobalReplicationGroupDescription = &v 10130 return s 10131} 10132 10133// SetGlobalReplicationGroupIdSuffix sets the GlobalReplicationGroupIdSuffix field's value. 10134func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupIdSuffix(v string) *CreateGlobalReplicationGroupInput { 10135 s.GlobalReplicationGroupIdSuffix = &v 10136 return s 10137} 10138 10139// SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 10140func (s *CreateGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *CreateGlobalReplicationGroupInput { 10141 s.PrimaryReplicationGroupId = &v 10142 return s 10143} 10144 10145type CreateGlobalReplicationGroupOutput struct { 10146 _ struct{} `type:"structure"` 10147 10148 // Consists of a primary cluster that accepts writes and an associated secondary 10149 // cluster that resides in a different Amazon region. The secondary cluster 10150 // accepts only reads. The primary cluster automatically replicates updates 10151 // to the secondary cluster. 10152 // 10153 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 10154 // datastore, which is what you use to associate a secondary cluster. 10155 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 10156} 10157 10158// String returns the string representation 10159func (s CreateGlobalReplicationGroupOutput) String() string { 10160 return awsutil.Prettify(s) 10161} 10162 10163// GoString returns the string representation 10164func (s CreateGlobalReplicationGroupOutput) GoString() string { 10165 return s.String() 10166} 10167 10168// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 10169func (s *CreateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *CreateGlobalReplicationGroupOutput { 10170 s.GlobalReplicationGroup = v 10171 return s 10172} 10173 10174// Represents the input of a CreateReplicationGroup operation. 10175type CreateReplicationGroupInput struct { 10176 _ struct{} `type:"structure"` 10177 10178 // A flag that enables encryption at rest when set to true. 10179 // 10180 // You cannot modify the value of AtRestEncryptionEnabled after the replication 10181 // group is created. To enable encryption at rest on a replication group you 10182 // must set AtRestEncryptionEnabled to true when you create the replication 10183 // group. 10184 // 10185 // Required: Only available when creating a replication group in an Amazon VPC 10186 // using redis version 3.2.6, 4.x or later. 10187 // 10188 // Default: false 10189 AtRestEncryptionEnabled *bool `type:"boolean"` 10190 10191 // Reserved parameter. The password used to access a password protected server. 10192 // 10193 // AuthToken can be specified only on replication groups where TransitEncryptionEnabled 10194 // is true. 10195 // 10196 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 10197 // an AuthToken, and a CacheSubnetGroup. 10198 // 10199 // Password constraints: 10200 // 10201 // * Must be only printable ASCII characters. 10202 // 10203 // * Must be at least 16 characters and no more than 128 characters in length. 10204 // 10205 // * The only permitted printable special characters are !, &, #, $, ^, <, 10206 // >, and -. Other printable special characters cannot be used in the AUTH 10207 // token. 10208 // 10209 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 10210 // http://redis.io/commands/AUTH. 10211 AuthToken *string `type:"string"` 10212 10213 // This parameter is currently disabled. 10214 AutoMinorVersionUpgrade *bool `type:"boolean"` 10215 10216 // Specifies whether a read-only replica is automatically promoted to read/write 10217 // primary if the existing primary fails. 10218 // 10219 // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) 10220 // replication groups. 10221 // 10222 // Default: false 10223 AutomaticFailoverEnabled *bool `type:"boolean"` 10224 10225 // The compute and memory capacity of the nodes in the node group (shard). 10226 // 10227 // The following node types are supported by ElastiCache. Generally speaking, 10228 // the current generation types provide more memory and computational power 10229 // at lower cost when compared to their equivalent previous generation counterparts. 10230 // 10231 // * General purpose: Current generation: M6g node types (available only 10232 // for Redis engine version 5.0.6 onward and for Memcached engine version 10233 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 10234 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 10235 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 10236 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 10237 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 10238 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 10239 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 10240 // cache.t2.medium Previous generation: (not recommended) T1 node types: 10241 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 10242 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 10243 // cache.m3.2xlarge 10244 // 10245 // * Compute optimized: Previous generation: (not recommended) C1 node types: 10246 // cache.c1.xlarge 10247 // 10248 // * Memory optimized: Current generation: R6g node types (available only 10249 // for Redis engine version 5.0.6 onward and for Memcached engine version 10250 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 10251 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 10252 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 10253 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 10254 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 10255 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 10256 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 10257 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 10258 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 10259 // 10260 // Additional node type info 10261 // 10262 // * All current generation instance types are created in Amazon VPC by default. 10263 // 10264 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 10265 // 10266 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 10267 // 10268 // * Redis configuration variables appendonly and appendfsync are not supported 10269 // on Redis version 2.8.22 and later. 10270 CacheNodeType *string `type:"string"` 10271 10272 // The name of the parameter group to associate with this replication group. 10273 // If this argument is omitted, the default cache parameter group for the specified 10274 // engine is used. 10275 // 10276 // If you are running Redis version 3.2.4 or later, only one node group (shard), 10277 // and want to use a default parameter group, we recommend that you specify 10278 // the parameter group by name. 10279 // 10280 // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. 10281 // 10282 // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. 10283 CacheParameterGroupName *string `type:"string"` 10284 10285 // A list of cache security group names to associate with this replication group. 10286 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 10287 10288 // The name of the cache subnet group to be used for the replication group. 10289 // 10290 // If you're going to launch your cluster in an Amazon VPC, you need to create 10291 // a subnet group before you start creating a cluster. For more information, 10292 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 10293 CacheSubnetGroupName *string `type:"string"` 10294 10295 // The name of the cache engine to be used for the clusters in this replication 10296 // group. Must be Redis. 10297 Engine *string `type:"string"` 10298 10299 // The version number of the cache engine to be used for the clusters in this 10300 // replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions 10301 // operation. 10302 // 10303 // Important: You can upgrade to a newer engine version (see Selecting a Cache 10304 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)) 10305 // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine 10306 // version. If you want to use an earlier engine version, you must delete the 10307 // existing cluster or replication group and create it anew with the earlier 10308 // engine version. 10309 EngineVersion *string `type:"string"` 10310 10311 // The name of the Global datastore 10312 GlobalReplicationGroupId *string `type:"string"` 10313 10314 // The ID of the KMS key used to encrypt the disk in the cluster. 10315 KmsKeyId *string `type:"string"` 10316 10317 // Specifies the destination, format and type of the logs. 10318 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 10319 10320 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 10321 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). 10322 MultiAZEnabled *bool `type:"boolean"` 10323 10324 // A list of node group (shard) configuration options. Each node group (shard) 10325 // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, 10326 // ReplicaCount, and Slots. 10327 // 10328 // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode 10329 // enabled) replication group, you can use this parameter to individually configure 10330 // each node group (shard), or you can omit this parameter. However, it is required 10331 // when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file. You 10332 // must configure each node group (shard) using this parameter because you must 10333 // specify the slots for each node group. 10334 NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` 10335 10336 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 10337 // (SNS) topic to which notifications are sent. 10338 // 10339 // The Amazon SNS topic owner must be the same as the cluster owner. 10340 NotificationTopicArn *string `type:"string"` 10341 10342 // The number of clusters this replication group initially has. 10343 // 10344 // This parameter is not used if there is more than one node group (shard). 10345 // You should use ReplicasPerNodeGroup instead. 10346 // 10347 // If AutomaticFailoverEnabled is true, the value of this parameter must be 10348 // at least 2. If AutomaticFailoverEnabled is false you can omit this parameter 10349 // (it will default to 1), or you can explicitly set it to a value between 2 10350 // and 6. 10351 // 10352 // The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas). 10353 NumCacheClusters *int64 `type:"integer"` 10354 10355 // An optional parameter that specifies the number of node groups (shards) for 10356 // this Redis (cluster mode enabled) replication group. For Redis (cluster mode 10357 // disabled) either omit this parameter or set it to 1. 10358 // 10359 // Default: 1 10360 NumNodeGroups *int64 `type:"integer"` 10361 10362 // The port number on which each member of the replication group accepts connections. 10363 Port *int64 `type:"integer"` 10364 10365 // A list of EC2 Availability Zones in which the replication group's clusters 10366 // are created. The order of the Availability Zones in the list is the order 10367 // in which clusters are allocated. The primary cluster is created in the first 10368 // AZ in the list. 10369 // 10370 // This parameter is not used if there is more than one node group (shard). 10371 // You should use NodeGroupConfiguration instead. 10372 // 10373 // If you are creating your replication group in an Amazon VPC (recommended), 10374 // you can only locate clusters in Availability Zones associated with the subnets 10375 // in the selected subnet group. 10376 // 10377 // The number of Availability Zones listed must equal the value of NumCacheClusters. 10378 // 10379 // Default: system chosen Availability Zones. 10380 PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` 10381 10382 // Specifies the weekly time range during which maintenance on the cluster is 10383 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 10384 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 10385 // values for ddd are: 10386 // 10387 // Specifies the weekly time range during which maintenance on the cluster is 10388 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 10389 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 10390 // 10391 // Valid values for ddd are: 10392 // 10393 // * sun 10394 // 10395 // * mon 10396 // 10397 // * tue 10398 // 10399 // * wed 10400 // 10401 // * thu 10402 // 10403 // * fri 10404 // 10405 // * sat 10406 // 10407 // Example: sun:23:00-mon:01:30 10408 PreferredMaintenanceWindow *string `type:"string"` 10409 10410 // The identifier of the cluster that serves as the primary for this replication 10411 // group. This cluster must already exist and have a status of available. 10412 // 10413 // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup 10414 // is specified. 10415 PrimaryClusterId *string `type:"string"` 10416 10417 // An optional parameter that specifies the number of replica nodes in each 10418 // node group (shard). Valid values are 0 to 5. 10419 ReplicasPerNodeGroup *int64 `type:"integer"` 10420 10421 // A user-created description for the replication group. 10422 // 10423 // ReplicationGroupDescription is a required field 10424 ReplicationGroupDescription *string `type:"string" required:"true"` 10425 10426 // The replication group identifier. This parameter is stored as a lowercase 10427 // string. 10428 // 10429 // Constraints: 10430 // 10431 // * A name must contain from 1 to 40 alphanumeric characters or hyphens. 10432 // 10433 // * The first character must be a letter. 10434 // 10435 // * A name cannot end with a hyphen or contain two consecutive hyphens. 10436 // 10437 // ReplicationGroupId is a required field 10438 ReplicationGroupId *string `type:"string" required:"true"` 10439 10440 // One or more Amazon VPC security groups associated with this replication group. 10441 // 10442 // Use this parameter only when you are creating a replication group in an Amazon 10443 // Virtual Private Cloud (Amazon VPC). 10444 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 10445 10446 // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB 10447 // snapshot files stored in Amazon S3. The snapshot files are used to populate 10448 // the new replication group. The Amazon S3 object name in the ARN cannot contain 10449 // any commas. The new replication group will have the number of node groups 10450 // (console: shards) specified by the parameter NumNodeGroups or the number 10451 // of node groups configured by NodeGroupConfiguration regardless of the number 10452 // of ARNs specified here. 10453 // 10454 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 10455 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 10456 10457 // The name of a snapshot from which to restore data into the new replication 10458 // group. The snapshot status changes to restoring while the new replication 10459 // group is being created. 10460 SnapshotName *string `type:"string"` 10461 10462 // The number of days for which ElastiCache retains automatic snapshots before 10463 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 10464 // that was taken today is retained for 5 days before being deleted. 10465 // 10466 // Default: 0 (i.e., automatic backups are disabled for this cluster). 10467 SnapshotRetentionLimit *int64 `type:"integer"` 10468 10469 // The daily time range (in UTC) during which ElastiCache begins taking a daily 10470 // snapshot of your node group (shard). 10471 // 10472 // Example: 05:00-09:00 10473 // 10474 // If you do not specify this parameter, ElastiCache automatically chooses an 10475 // appropriate time range. 10476 SnapshotWindow *string `type:"string"` 10477 10478 // A list of tags to be added to this resource. Tags are comma-separated key,value 10479 // pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as 10480 // shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. 10481 // Tags on replication groups will be replicated to all nodes. 10482 Tags []*Tag `locationNameList:"Tag" type:"list"` 10483 10484 // A flag that enables in-transit encryption when set to true. 10485 // 10486 // You cannot modify the value of TransitEncryptionEnabled after the cluster 10487 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 10488 // to true when you create a cluster. 10489 // 10490 // This parameter is valid only if the Engine parameter is redis, the EngineVersion 10491 // parameter is 3.2.6, 4.x or later, and the cluster is being created in an 10492 // Amazon VPC. 10493 // 10494 // If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. 10495 // 10496 // Required: Only available when creating a replication group in an Amazon VPC 10497 // using redis version 3.2.6, 4.x or later. 10498 // 10499 // Default: false 10500 // 10501 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 10502 // an AuthToken, and a CacheSubnetGroup. 10503 TransitEncryptionEnabled *bool `type:"boolean"` 10504 10505 // The user group to associate with the replication group. 10506 UserGroupIds []*string `min:"1" type:"list"` 10507} 10508 10509// String returns the string representation 10510func (s CreateReplicationGroupInput) String() string { 10511 return awsutil.Prettify(s) 10512} 10513 10514// GoString returns the string representation 10515func (s CreateReplicationGroupInput) GoString() string { 10516 return s.String() 10517} 10518 10519// Validate inspects the fields of the type to determine if they are valid. 10520func (s *CreateReplicationGroupInput) Validate() error { 10521 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} 10522 if s.ReplicationGroupDescription == nil { 10523 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) 10524 } 10525 if s.ReplicationGroupId == nil { 10526 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 10527 } 10528 if s.UserGroupIds != nil && len(s.UserGroupIds) < 1 { 10529 invalidParams.Add(request.NewErrParamMinLen("UserGroupIds", 1)) 10530 } 10531 if s.NodeGroupConfiguration != nil { 10532 for i, v := range s.NodeGroupConfiguration { 10533 if v == nil { 10534 continue 10535 } 10536 if err := v.Validate(); err != nil { 10537 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeGroupConfiguration", i), err.(request.ErrInvalidParams)) 10538 } 10539 } 10540 } 10541 10542 if invalidParams.Len() > 0 { 10543 return invalidParams 10544 } 10545 return nil 10546} 10547 10548// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 10549func (s *CreateReplicationGroupInput) SetAtRestEncryptionEnabled(v bool) *CreateReplicationGroupInput { 10550 s.AtRestEncryptionEnabled = &v 10551 return s 10552} 10553 10554// SetAuthToken sets the AuthToken field's value. 10555func (s *CreateReplicationGroupInput) SetAuthToken(v string) *CreateReplicationGroupInput { 10556 s.AuthToken = &v 10557 return s 10558} 10559 10560// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 10561func (s *CreateReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationGroupInput { 10562 s.AutoMinorVersionUpgrade = &v 10563 return s 10564} 10565 10566// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 10567func (s *CreateReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *CreateReplicationGroupInput { 10568 s.AutomaticFailoverEnabled = &v 10569 return s 10570} 10571 10572// SetCacheNodeType sets the CacheNodeType field's value. 10573func (s *CreateReplicationGroupInput) SetCacheNodeType(v string) *CreateReplicationGroupInput { 10574 s.CacheNodeType = &v 10575 return s 10576} 10577 10578// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10579func (s *CreateReplicationGroupInput) SetCacheParameterGroupName(v string) *CreateReplicationGroupInput { 10580 s.CacheParameterGroupName = &v 10581 return s 10582} 10583 10584// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 10585func (s *CreateReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *CreateReplicationGroupInput { 10586 s.CacheSecurityGroupNames = v 10587 return s 10588} 10589 10590// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10591func (s *CreateReplicationGroupInput) SetCacheSubnetGroupName(v string) *CreateReplicationGroupInput { 10592 s.CacheSubnetGroupName = &v 10593 return s 10594} 10595 10596// SetEngine sets the Engine field's value. 10597func (s *CreateReplicationGroupInput) SetEngine(v string) *CreateReplicationGroupInput { 10598 s.Engine = &v 10599 return s 10600} 10601 10602// SetEngineVersion sets the EngineVersion field's value. 10603func (s *CreateReplicationGroupInput) SetEngineVersion(v string) *CreateReplicationGroupInput { 10604 s.EngineVersion = &v 10605 return s 10606} 10607 10608// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 10609func (s *CreateReplicationGroupInput) SetGlobalReplicationGroupId(v string) *CreateReplicationGroupInput { 10610 s.GlobalReplicationGroupId = &v 10611 return s 10612} 10613 10614// SetKmsKeyId sets the KmsKeyId field's value. 10615func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGroupInput { 10616 s.KmsKeyId = &v 10617 return s 10618} 10619 10620// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 10621func (s *CreateReplicationGroupInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *CreateReplicationGroupInput { 10622 s.LogDeliveryConfigurations = v 10623 return s 10624} 10625 10626// SetMultiAZEnabled sets the MultiAZEnabled field's value. 10627func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicationGroupInput { 10628 s.MultiAZEnabled = &v 10629 return s 10630} 10631 10632// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 10633func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { 10634 s.NodeGroupConfiguration = v 10635 return s 10636} 10637 10638// SetNotificationTopicArn sets the NotificationTopicArn field's value. 10639func (s *CreateReplicationGroupInput) SetNotificationTopicArn(v string) *CreateReplicationGroupInput { 10640 s.NotificationTopicArn = &v 10641 return s 10642} 10643 10644// SetNumCacheClusters sets the NumCacheClusters field's value. 10645func (s *CreateReplicationGroupInput) SetNumCacheClusters(v int64) *CreateReplicationGroupInput { 10646 s.NumCacheClusters = &v 10647 return s 10648} 10649 10650// SetNumNodeGroups sets the NumNodeGroups field's value. 10651func (s *CreateReplicationGroupInput) SetNumNodeGroups(v int64) *CreateReplicationGroupInput { 10652 s.NumNodeGroups = &v 10653 return s 10654} 10655 10656// SetPort sets the Port field's value. 10657func (s *CreateReplicationGroupInput) SetPort(v int64) *CreateReplicationGroupInput { 10658 s.Port = &v 10659 return s 10660} 10661 10662// SetPreferredCacheClusterAZs sets the PreferredCacheClusterAZs field's value. 10663func (s *CreateReplicationGroupInput) SetPreferredCacheClusterAZs(v []*string) *CreateReplicationGroupInput { 10664 s.PreferredCacheClusterAZs = v 10665 return s 10666} 10667 10668// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 10669func (s *CreateReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationGroupInput { 10670 s.PreferredMaintenanceWindow = &v 10671 return s 10672} 10673 10674// SetPrimaryClusterId sets the PrimaryClusterId field's value. 10675func (s *CreateReplicationGroupInput) SetPrimaryClusterId(v string) *CreateReplicationGroupInput { 10676 s.PrimaryClusterId = &v 10677 return s 10678} 10679 10680// SetReplicasPerNodeGroup sets the ReplicasPerNodeGroup field's value. 10681func (s *CreateReplicationGroupInput) SetReplicasPerNodeGroup(v int64) *CreateReplicationGroupInput { 10682 s.ReplicasPerNodeGroup = &v 10683 return s 10684} 10685 10686// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 10687func (s *CreateReplicationGroupInput) SetReplicationGroupDescription(v string) *CreateReplicationGroupInput { 10688 s.ReplicationGroupDescription = &v 10689 return s 10690} 10691 10692// SetReplicationGroupId sets the ReplicationGroupId field's value. 10693func (s *CreateReplicationGroupInput) SetReplicationGroupId(v string) *CreateReplicationGroupInput { 10694 s.ReplicationGroupId = &v 10695 return s 10696} 10697 10698// SetSecurityGroupIds sets the SecurityGroupIds field's value. 10699func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateReplicationGroupInput { 10700 s.SecurityGroupIds = v 10701 return s 10702} 10703 10704// SetSnapshotArns sets the SnapshotArns field's value. 10705func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { 10706 s.SnapshotArns = v 10707 return s 10708} 10709 10710// SetSnapshotName sets the SnapshotName field's value. 10711func (s *CreateReplicationGroupInput) SetSnapshotName(v string) *CreateReplicationGroupInput { 10712 s.SnapshotName = &v 10713 return s 10714} 10715 10716// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 10717func (s *CreateReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *CreateReplicationGroupInput { 10718 s.SnapshotRetentionLimit = &v 10719 return s 10720} 10721 10722// SetSnapshotWindow sets the SnapshotWindow field's value. 10723func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplicationGroupInput { 10724 s.SnapshotWindow = &v 10725 return s 10726} 10727 10728// SetTags sets the Tags field's value. 10729func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { 10730 s.Tags = v 10731 return s 10732} 10733 10734// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 10735func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { 10736 s.TransitEncryptionEnabled = &v 10737 return s 10738} 10739 10740// SetUserGroupIds sets the UserGroupIds field's value. 10741func (s *CreateReplicationGroupInput) SetUserGroupIds(v []*string) *CreateReplicationGroupInput { 10742 s.UserGroupIds = v 10743 return s 10744} 10745 10746type CreateReplicationGroupOutput struct { 10747 _ struct{} `type:"structure"` 10748 10749 // Contains all of the attributes of a specific Redis replication group. 10750 ReplicationGroup *ReplicationGroup `type:"structure"` 10751} 10752 10753// String returns the string representation 10754func (s CreateReplicationGroupOutput) String() string { 10755 return awsutil.Prettify(s) 10756} 10757 10758// GoString returns the string representation 10759func (s CreateReplicationGroupOutput) GoString() string { 10760 return s.String() 10761} 10762 10763// SetReplicationGroup sets the ReplicationGroup field's value. 10764func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { 10765 s.ReplicationGroup = v 10766 return s 10767} 10768 10769// Represents the input of a CreateSnapshot operation. 10770type CreateSnapshotInput struct { 10771 _ struct{} `type:"structure"` 10772 10773 // The identifier of an existing cluster. The snapshot is created from this 10774 // cluster. 10775 CacheClusterId *string `type:"string"` 10776 10777 // The ID of the KMS key used to encrypt the snapshot. 10778 KmsKeyId *string `type:"string"` 10779 10780 // The identifier of an existing replication group. The snapshot is created 10781 // from this replication group. 10782 ReplicationGroupId *string `type:"string"` 10783 10784 // A name for the snapshot being created. 10785 // 10786 // SnapshotName is a required field 10787 SnapshotName *string `type:"string" required:"true"` 10788 10789 // A list of tags to be added to this resource. A tag is a key-value pair. A 10790 // tag key must be accompanied by a tag value, although null is accepted. 10791 Tags []*Tag `locationNameList:"Tag" type:"list"` 10792} 10793 10794// String returns the string representation 10795func (s CreateSnapshotInput) String() string { 10796 return awsutil.Prettify(s) 10797} 10798 10799// GoString returns the string representation 10800func (s CreateSnapshotInput) GoString() string { 10801 return s.String() 10802} 10803 10804// Validate inspects the fields of the type to determine if they are valid. 10805func (s *CreateSnapshotInput) Validate() error { 10806 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} 10807 if s.SnapshotName == nil { 10808 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 10809 } 10810 10811 if invalidParams.Len() > 0 { 10812 return invalidParams 10813 } 10814 return nil 10815} 10816 10817// SetCacheClusterId sets the CacheClusterId field's value. 10818func (s *CreateSnapshotInput) SetCacheClusterId(v string) *CreateSnapshotInput { 10819 s.CacheClusterId = &v 10820 return s 10821} 10822 10823// SetKmsKeyId sets the KmsKeyId field's value. 10824func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput { 10825 s.KmsKeyId = &v 10826 return s 10827} 10828 10829// SetReplicationGroupId sets the ReplicationGroupId field's value. 10830func (s *CreateSnapshotInput) SetReplicationGroupId(v string) *CreateSnapshotInput { 10831 s.ReplicationGroupId = &v 10832 return s 10833} 10834 10835// SetSnapshotName sets the SnapshotName field's value. 10836func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { 10837 s.SnapshotName = &v 10838 return s 10839} 10840 10841// SetTags sets the Tags field's value. 10842func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput { 10843 s.Tags = v 10844 return s 10845} 10846 10847type CreateSnapshotOutput struct { 10848 _ struct{} `type:"structure"` 10849 10850 // Represents a copy of an entire Redis cluster as of the time when the snapshot 10851 // was taken. 10852 Snapshot *Snapshot `type:"structure"` 10853} 10854 10855// String returns the string representation 10856func (s CreateSnapshotOutput) String() string { 10857 return awsutil.Prettify(s) 10858} 10859 10860// GoString returns the string representation 10861func (s CreateSnapshotOutput) GoString() string { 10862 return s.String() 10863} 10864 10865// SetSnapshot sets the Snapshot field's value. 10866func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { 10867 s.Snapshot = v 10868 return s 10869} 10870 10871type CreateUserGroupInput struct { 10872 _ struct{} `type:"structure"` 10873 10874 // The current supported value is Redis. 10875 // 10876 // Engine is a required field 10877 Engine *string `type:"string" required:"true"` 10878 10879 // A list of tags to be added to this resource. A tag is a key-value pair. A 10880 // tag key must be accompanied by a tag value, although null is accepted. 10881 Tags []*Tag `locationNameList:"Tag" type:"list"` 10882 10883 // The ID of the user group. 10884 // 10885 // UserGroupId is a required field 10886 UserGroupId *string `type:"string" required:"true"` 10887 10888 // The list of user IDs that belong to the user group. 10889 UserIds []*string `min:"1" type:"list"` 10890} 10891 10892// String returns the string representation 10893func (s CreateUserGroupInput) String() string { 10894 return awsutil.Prettify(s) 10895} 10896 10897// GoString returns the string representation 10898func (s CreateUserGroupInput) GoString() string { 10899 return s.String() 10900} 10901 10902// Validate inspects the fields of the type to determine if they are valid. 10903func (s *CreateUserGroupInput) Validate() error { 10904 invalidParams := request.ErrInvalidParams{Context: "CreateUserGroupInput"} 10905 if s.Engine == nil { 10906 invalidParams.Add(request.NewErrParamRequired("Engine")) 10907 } 10908 if s.UserGroupId == nil { 10909 invalidParams.Add(request.NewErrParamRequired("UserGroupId")) 10910 } 10911 if s.UserIds != nil && len(s.UserIds) < 1 { 10912 invalidParams.Add(request.NewErrParamMinLen("UserIds", 1)) 10913 } 10914 10915 if invalidParams.Len() > 0 { 10916 return invalidParams 10917 } 10918 return nil 10919} 10920 10921// SetEngine sets the Engine field's value. 10922func (s *CreateUserGroupInput) SetEngine(v string) *CreateUserGroupInput { 10923 s.Engine = &v 10924 return s 10925} 10926 10927// SetTags sets the Tags field's value. 10928func (s *CreateUserGroupInput) SetTags(v []*Tag) *CreateUserGroupInput { 10929 s.Tags = v 10930 return s 10931} 10932 10933// SetUserGroupId sets the UserGroupId field's value. 10934func (s *CreateUserGroupInput) SetUserGroupId(v string) *CreateUserGroupInput { 10935 s.UserGroupId = &v 10936 return s 10937} 10938 10939// SetUserIds sets the UserIds field's value. 10940func (s *CreateUserGroupInput) SetUserIds(v []*string) *CreateUserGroupInput { 10941 s.UserIds = v 10942 return s 10943} 10944 10945type CreateUserGroupOutput struct { 10946 _ struct{} `type:"structure"` 10947 10948 // The Amazon Resource Name (ARN) of the user group. 10949 ARN *string `type:"string"` 10950 10951 // The current supported value is Redis. 10952 Engine *string `type:"string"` 10953 10954 // A list of updates being applied to the user groups. 10955 PendingChanges *UserGroupPendingChanges `type:"structure"` 10956 10957 // A list of replication groups that the user group can access. 10958 ReplicationGroups []*string `type:"list"` 10959 10960 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 10961 Status *string `type:"string"` 10962 10963 // The ID of the user group. 10964 UserGroupId *string `type:"string"` 10965 10966 // The list of user IDs that belong to the user group. 10967 UserIds []*string `type:"list"` 10968} 10969 10970// String returns the string representation 10971func (s CreateUserGroupOutput) String() string { 10972 return awsutil.Prettify(s) 10973} 10974 10975// GoString returns the string representation 10976func (s CreateUserGroupOutput) GoString() string { 10977 return s.String() 10978} 10979 10980// SetARN sets the ARN field's value. 10981func (s *CreateUserGroupOutput) SetARN(v string) *CreateUserGroupOutput { 10982 s.ARN = &v 10983 return s 10984} 10985 10986// SetEngine sets the Engine field's value. 10987func (s *CreateUserGroupOutput) SetEngine(v string) *CreateUserGroupOutput { 10988 s.Engine = &v 10989 return s 10990} 10991 10992// SetPendingChanges sets the PendingChanges field's value. 10993func (s *CreateUserGroupOutput) SetPendingChanges(v *UserGroupPendingChanges) *CreateUserGroupOutput { 10994 s.PendingChanges = v 10995 return s 10996} 10997 10998// SetReplicationGroups sets the ReplicationGroups field's value. 10999func (s *CreateUserGroupOutput) SetReplicationGroups(v []*string) *CreateUserGroupOutput { 11000 s.ReplicationGroups = v 11001 return s 11002} 11003 11004// SetStatus sets the Status field's value. 11005func (s *CreateUserGroupOutput) SetStatus(v string) *CreateUserGroupOutput { 11006 s.Status = &v 11007 return s 11008} 11009 11010// SetUserGroupId sets the UserGroupId field's value. 11011func (s *CreateUserGroupOutput) SetUserGroupId(v string) *CreateUserGroupOutput { 11012 s.UserGroupId = &v 11013 return s 11014} 11015 11016// SetUserIds sets the UserIds field's value. 11017func (s *CreateUserGroupOutput) SetUserIds(v []*string) *CreateUserGroupOutput { 11018 s.UserIds = v 11019 return s 11020} 11021 11022type CreateUserInput struct { 11023 _ struct{} `type:"structure"` 11024 11025 // Access permissions string used for this user. 11026 // 11027 // AccessString is a required field 11028 AccessString *string `type:"string" required:"true"` 11029 11030 // The current supported value is Redis. 11031 // 11032 // Engine is a required field 11033 Engine *string `type:"string" required:"true"` 11034 11035 // Indicates a password is not required for this user. 11036 NoPasswordRequired *bool `type:"boolean"` 11037 11038 // Passwords used for this user. You can create up to two passwords for each 11039 // user. 11040 Passwords []*string `min:"1" type:"list"` 11041 11042 // A list of tags to be added to this resource. A tag is a key-value pair. A 11043 // tag key must be accompanied by a tag value, although null is accepted. 11044 Tags []*Tag `locationNameList:"Tag" type:"list"` 11045 11046 // The ID of the user. 11047 // 11048 // UserId is a required field 11049 UserId *string `min:"1" type:"string" required:"true"` 11050 11051 // The username of the user. 11052 // 11053 // UserName is a required field 11054 UserName *string `min:"1" type:"string" required:"true"` 11055} 11056 11057// String returns the string representation 11058func (s CreateUserInput) String() string { 11059 return awsutil.Prettify(s) 11060} 11061 11062// GoString returns the string representation 11063func (s CreateUserInput) GoString() string { 11064 return s.String() 11065} 11066 11067// Validate inspects the fields of the type to determine if they are valid. 11068func (s *CreateUserInput) Validate() error { 11069 invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} 11070 if s.AccessString == nil { 11071 invalidParams.Add(request.NewErrParamRequired("AccessString")) 11072 } 11073 if s.Engine == nil { 11074 invalidParams.Add(request.NewErrParamRequired("Engine")) 11075 } 11076 if s.Passwords != nil && len(s.Passwords) < 1 { 11077 invalidParams.Add(request.NewErrParamMinLen("Passwords", 1)) 11078 } 11079 if s.UserId == nil { 11080 invalidParams.Add(request.NewErrParamRequired("UserId")) 11081 } 11082 if s.UserId != nil && len(*s.UserId) < 1 { 11083 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 11084 } 11085 if s.UserName == nil { 11086 invalidParams.Add(request.NewErrParamRequired("UserName")) 11087 } 11088 if s.UserName != nil && len(*s.UserName) < 1 { 11089 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 11090 } 11091 11092 if invalidParams.Len() > 0 { 11093 return invalidParams 11094 } 11095 return nil 11096} 11097 11098// SetAccessString sets the AccessString field's value. 11099func (s *CreateUserInput) SetAccessString(v string) *CreateUserInput { 11100 s.AccessString = &v 11101 return s 11102} 11103 11104// SetEngine sets the Engine field's value. 11105func (s *CreateUserInput) SetEngine(v string) *CreateUserInput { 11106 s.Engine = &v 11107 return s 11108} 11109 11110// SetNoPasswordRequired sets the NoPasswordRequired field's value. 11111func (s *CreateUserInput) SetNoPasswordRequired(v bool) *CreateUserInput { 11112 s.NoPasswordRequired = &v 11113 return s 11114} 11115 11116// SetPasswords sets the Passwords field's value. 11117func (s *CreateUserInput) SetPasswords(v []*string) *CreateUserInput { 11118 s.Passwords = v 11119 return s 11120} 11121 11122// SetTags sets the Tags field's value. 11123func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput { 11124 s.Tags = v 11125 return s 11126} 11127 11128// SetUserId sets the UserId field's value. 11129func (s *CreateUserInput) SetUserId(v string) *CreateUserInput { 11130 s.UserId = &v 11131 return s 11132} 11133 11134// SetUserName sets the UserName field's value. 11135func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { 11136 s.UserName = &v 11137 return s 11138} 11139 11140type CreateUserOutput struct { 11141 _ struct{} `type:"structure"` 11142 11143 // The Amazon Resource Name (ARN) of the user. 11144 ARN *string `type:"string"` 11145 11146 // Access permissions string used for this user. 11147 AccessString *string `type:"string"` 11148 11149 // Denotes whether the user requires a password to authenticate. 11150 Authentication *Authentication `type:"structure"` 11151 11152 // The current supported value is Redis. 11153 Engine *string `type:"string"` 11154 11155 // Indicates the user status. Can be "active", "modifying" or "deleting". 11156 Status *string `type:"string"` 11157 11158 // Returns a list of the user group IDs the user belongs to. 11159 UserGroupIds []*string `type:"list"` 11160 11161 // The ID of the user. 11162 UserId *string `type:"string"` 11163 11164 // The username of the user. 11165 UserName *string `type:"string"` 11166} 11167 11168// String returns the string representation 11169func (s CreateUserOutput) String() string { 11170 return awsutil.Prettify(s) 11171} 11172 11173// GoString returns the string representation 11174func (s CreateUserOutput) GoString() string { 11175 return s.String() 11176} 11177 11178// SetARN sets the ARN field's value. 11179func (s *CreateUserOutput) SetARN(v string) *CreateUserOutput { 11180 s.ARN = &v 11181 return s 11182} 11183 11184// SetAccessString sets the AccessString field's value. 11185func (s *CreateUserOutput) SetAccessString(v string) *CreateUserOutput { 11186 s.AccessString = &v 11187 return s 11188} 11189 11190// SetAuthentication sets the Authentication field's value. 11191func (s *CreateUserOutput) SetAuthentication(v *Authentication) *CreateUserOutput { 11192 s.Authentication = v 11193 return s 11194} 11195 11196// SetEngine sets the Engine field's value. 11197func (s *CreateUserOutput) SetEngine(v string) *CreateUserOutput { 11198 s.Engine = &v 11199 return s 11200} 11201 11202// SetStatus sets the Status field's value. 11203func (s *CreateUserOutput) SetStatus(v string) *CreateUserOutput { 11204 s.Status = &v 11205 return s 11206} 11207 11208// SetUserGroupIds sets the UserGroupIds field's value. 11209func (s *CreateUserOutput) SetUserGroupIds(v []*string) *CreateUserOutput { 11210 s.UserGroupIds = v 11211 return s 11212} 11213 11214// SetUserId sets the UserId field's value. 11215func (s *CreateUserOutput) SetUserId(v string) *CreateUserOutput { 11216 s.UserId = &v 11217 return s 11218} 11219 11220// SetUserName sets the UserName field's value. 11221func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { 11222 s.UserName = &v 11223 return s 11224} 11225 11226// The endpoint from which data should be migrated. 11227type CustomerNodeEndpoint struct { 11228 _ struct{} `type:"structure"` 11229 11230 // The address of the node endpoint 11231 Address *string `type:"string"` 11232 11233 // The port of the node endpoint 11234 Port *int64 `type:"integer"` 11235} 11236 11237// String returns the string representation 11238func (s CustomerNodeEndpoint) String() string { 11239 return awsutil.Prettify(s) 11240} 11241 11242// GoString returns the string representation 11243func (s CustomerNodeEndpoint) GoString() string { 11244 return s.String() 11245} 11246 11247// SetAddress sets the Address field's value. 11248func (s *CustomerNodeEndpoint) SetAddress(v string) *CustomerNodeEndpoint { 11249 s.Address = &v 11250 return s 11251} 11252 11253// SetPort sets the Port field's value. 11254func (s *CustomerNodeEndpoint) SetPort(v int64) *CustomerNodeEndpoint { 11255 s.Port = &v 11256 return s 11257} 11258 11259type DecreaseNodeGroupsInGlobalReplicationGroupInput struct { 11260 _ struct{} `type:"structure"` 11261 11262 // Indicates that the shard reconfiguration process begins immediately. At present, 11263 // the only permitted value for this parameter is true. 11264 // 11265 // ApplyImmediately is a required field 11266 ApplyImmediately *bool `type:"boolean" required:"true"` 11267 11268 // If the value of NodeGroupCount is less than the current number of node groups 11269 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 11270 // GlobalNodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 11271 // ElastiCache for Redis will attempt to remove all node groups listed by GlobalNodeGroupsToRemove 11272 // from the cluster. 11273 GlobalNodeGroupsToRemove []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 11274 11275 // If the value of NodeGroupCount is less than the current number of node groups 11276 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 11277 // GlobalNodeGroupsToRetain is a list of NodeGroupIds to retain from the cluster. 11278 // ElastiCache for Redis will attempt to retain all node groups listed by GlobalNodeGroupsToRetain 11279 // from the cluster. 11280 GlobalNodeGroupsToRetain []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 11281 11282 // The name of the Global datastore 11283 // 11284 // GlobalReplicationGroupId is a required field 11285 GlobalReplicationGroupId *string `type:"string" required:"true"` 11286 11287 // The number of node groups (shards) that results from the modification of 11288 // the shard configuration 11289 // 11290 // NodeGroupCount is a required field 11291 NodeGroupCount *int64 `type:"integer" required:"true"` 11292} 11293 11294// String returns the string representation 11295func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 11296 return awsutil.Prettify(s) 11297} 11298 11299// GoString returns the string representation 11300func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 11301 return s.String() 11302} 11303 11304// Validate inspects the fields of the type to determine if they are valid. 11305func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 11306 invalidParams := request.ErrInvalidParams{Context: "DecreaseNodeGroupsInGlobalReplicationGroupInput"} 11307 if s.ApplyImmediately == nil { 11308 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 11309 } 11310 if s.GlobalReplicationGroupId == nil { 11311 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 11312 } 11313 if s.NodeGroupCount == nil { 11314 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 11315 } 11316 11317 if invalidParams.Len() > 0 { 11318 return invalidParams 11319 } 11320 return nil 11321} 11322 11323// SetApplyImmediately sets the ApplyImmediately field's value. 11324func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11325 s.ApplyImmediately = &v 11326 return s 11327} 11328 11329// SetGlobalNodeGroupsToRemove sets the GlobalNodeGroupsToRemove field's value. 11330func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRemove(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11331 s.GlobalNodeGroupsToRemove = v 11332 return s 11333} 11334 11335// SetGlobalNodeGroupsToRetain sets the GlobalNodeGroupsToRetain field's value. 11336func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRetain(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11337 s.GlobalNodeGroupsToRetain = v 11338 return s 11339} 11340 11341// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 11342func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11343 s.GlobalReplicationGroupId = &v 11344 return s 11345} 11346 11347// SetNodeGroupCount sets the NodeGroupCount field's value. 11348func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11349 s.NodeGroupCount = &v 11350 return s 11351} 11352 11353type DecreaseNodeGroupsInGlobalReplicationGroupOutput struct { 11354 _ struct{} `type:"structure"` 11355 11356 // Consists of a primary cluster that accepts writes and an associated secondary 11357 // cluster that resides in a different Amazon region. The secondary cluster 11358 // accepts only reads. The primary cluster automatically replicates updates 11359 // to the secondary cluster. 11360 // 11361 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 11362 // datastore, which is what you use to associate a secondary cluster. 11363 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 11364} 11365 11366// String returns the string representation 11367func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 11368 return awsutil.Prettify(s) 11369} 11370 11371// GoString returns the string representation 11372func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 11373 return s.String() 11374} 11375 11376// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 11377func (s *DecreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DecreaseNodeGroupsInGlobalReplicationGroupOutput { 11378 s.GlobalReplicationGroup = v 11379 return s 11380} 11381 11382type DecreaseReplicaCountInput struct { 11383 _ struct{} `type:"structure"` 11384 11385 // If True, the number of replica nodes is decreased immediately. ApplyImmediately=False 11386 // is not currently supported. 11387 // 11388 // ApplyImmediately is a required field 11389 ApplyImmediately *bool `type:"boolean" required:"true"` 11390 11391 // The number of read replica nodes you want at the completion of this operation. 11392 // For Redis (cluster mode disabled) replication groups, this is the number 11393 // of replica nodes in the replication group. For Redis (cluster mode enabled) 11394 // replication groups, this is the number of replica nodes in each of the replication 11395 // group's node groups. 11396 // 11397 // The minimum number of replicas in a shard or replication group is: 11398 // 11399 // * Redis (cluster mode disabled) If Multi-AZ is enabled: 1 If Multi-AZ 11400 // is not enabled: 0 11401 // 11402 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 11403 // to a replica if your primary node fails) 11404 NewReplicaCount *int64 `type:"integer"` 11405 11406 // A list of ConfigureShard objects that can be used to configure each shard 11407 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 11408 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 11409 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 11410 11411 // A list of the node ids to remove from the replication group or node group 11412 // (shard). 11413 ReplicasToRemove []*string `type:"list"` 11414 11415 // The id of the replication group from which you want to remove replica nodes. 11416 // 11417 // ReplicationGroupId is a required field 11418 ReplicationGroupId *string `type:"string" required:"true"` 11419} 11420 11421// String returns the string representation 11422func (s DecreaseReplicaCountInput) String() string { 11423 return awsutil.Prettify(s) 11424} 11425 11426// GoString returns the string representation 11427func (s DecreaseReplicaCountInput) GoString() string { 11428 return s.String() 11429} 11430 11431// Validate inspects the fields of the type to determine if they are valid. 11432func (s *DecreaseReplicaCountInput) Validate() error { 11433 invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicaCountInput"} 11434 if s.ApplyImmediately == nil { 11435 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 11436 } 11437 if s.ReplicationGroupId == nil { 11438 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11439 } 11440 if s.ReplicaConfiguration != nil { 11441 for i, v := range s.ReplicaConfiguration { 11442 if v == nil { 11443 continue 11444 } 11445 if err := v.Validate(); err != nil { 11446 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 11447 } 11448 } 11449 } 11450 11451 if invalidParams.Len() > 0 { 11452 return invalidParams 11453 } 11454 return nil 11455} 11456 11457// SetApplyImmediately sets the ApplyImmediately field's value. 11458func (s *DecreaseReplicaCountInput) SetApplyImmediately(v bool) *DecreaseReplicaCountInput { 11459 s.ApplyImmediately = &v 11460 return s 11461} 11462 11463// SetNewReplicaCount sets the NewReplicaCount field's value. 11464func (s *DecreaseReplicaCountInput) SetNewReplicaCount(v int64) *DecreaseReplicaCountInput { 11465 s.NewReplicaCount = &v 11466 return s 11467} 11468 11469// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 11470func (s *DecreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *DecreaseReplicaCountInput { 11471 s.ReplicaConfiguration = v 11472 return s 11473} 11474 11475// SetReplicasToRemove sets the ReplicasToRemove field's value. 11476func (s *DecreaseReplicaCountInput) SetReplicasToRemove(v []*string) *DecreaseReplicaCountInput { 11477 s.ReplicasToRemove = v 11478 return s 11479} 11480 11481// SetReplicationGroupId sets the ReplicationGroupId field's value. 11482func (s *DecreaseReplicaCountInput) SetReplicationGroupId(v string) *DecreaseReplicaCountInput { 11483 s.ReplicationGroupId = &v 11484 return s 11485} 11486 11487type DecreaseReplicaCountOutput struct { 11488 _ struct{} `type:"structure"` 11489 11490 // Contains all of the attributes of a specific Redis replication group. 11491 ReplicationGroup *ReplicationGroup `type:"structure"` 11492} 11493 11494// String returns the string representation 11495func (s DecreaseReplicaCountOutput) String() string { 11496 return awsutil.Prettify(s) 11497} 11498 11499// GoString returns the string representation 11500func (s DecreaseReplicaCountOutput) GoString() string { 11501 return s.String() 11502} 11503 11504// SetReplicationGroup sets the ReplicationGroup field's value. 11505func (s *DecreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *DecreaseReplicaCountOutput { 11506 s.ReplicationGroup = v 11507 return s 11508} 11509 11510// Represents the input of a DeleteCacheCluster operation. 11511type DeleteCacheClusterInput struct { 11512 _ struct{} `type:"structure"` 11513 11514 // The cluster identifier for the cluster to be deleted. This parameter is not 11515 // case sensitive. 11516 // 11517 // CacheClusterId is a required field 11518 CacheClusterId *string `type:"string" required:"true"` 11519 11520 // The user-supplied name of a final cluster snapshot. This is the unique name 11521 // that identifies the snapshot. ElastiCache creates the snapshot, and then 11522 // deletes the cluster immediately afterward. 11523 FinalSnapshotIdentifier *string `type:"string"` 11524} 11525 11526// String returns the string representation 11527func (s DeleteCacheClusterInput) String() string { 11528 return awsutil.Prettify(s) 11529} 11530 11531// GoString returns the string representation 11532func (s DeleteCacheClusterInput) GoString() string { 11533 return s.String() 11534} 11535 11536// Validate inspects the fields of the type to determine if they are valid. 11537func (s *DeleteCacheClusterInput) Validate() error { 11538 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} 11539 if s.CacheClusterId == nil { 11540 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 11541 } 11542 11543 if invalidParams.Len() > 0 { 11544 return invalidParams 11545 } 11546 return nil 11547} 11548 11549// SetCacheClusterId sets the CacheClusterId field's value. 11550func (s *DeleteCacheClusterInput) SetCacheClusterId(v string) *DeleteCacheClusterInput { 11551 s.CacheClusterId = &v 11552 return s 11553} 11554 11555// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 11556func (s *DeleteCacheClusterInput) SetFinalSnapshotIdentifier(v string) *DeleteCacheClusterInput { 11557 s.FinalSnapshotIdentifier = &v 11558 return s 11559} 11560 11561type DeleteCacheClusterOutput struct { 11562 _ struct{} `type:"structure"` 11563 11564 // Contains all of the attributes of a specific cluster. 11565 CacheCluster *CacheCluster `type:"structure"` 11566} 11567 11568// String returns the string representation 11569func (s DeleteCacheClusterOutput) String() string { 11570 return awsutil.Prettify(s) 11571} 11572 11573// GoString returns the string representation 11574func (s DeleteCacheClusterOutput) GoString() string { 11575 return s.String() 11576} 11577 11578// SetCacheCluster sets the CacheCluster field's value. 11579func (s *DeleteCacheClusterOutput) SetCacheCluster(v *CacheCluster) *DeleteCacheClusterOutput { 11580 s.CacheCluster = v 11581 return s 11582} 11583 11584// Represents the input of a DeleteCacheParameterGroup operation. 11585type DeleteCacheParameterGroupInput struct { 11586 _ struct{} `type:"structure"` 11587 11588 // The name of the cache parameter group to delete. 11589 // 11590 // The specified cache security group must not be associated with any clusters. 11591 // 11592 // CacheParameterGroupName is a required field 11593 CacheParameterGroupName *string `type:"string" required:"true"` 11594} 11595 11596// String returns the string representation 11597func (s DeleteCacheParameterGroupInput) String() string { 11598 return awsutil.Prettify(s) 11599} 11600 11601// GoString returns the string representation 11602func (s DeleteCacheParameterGroupInput) GoString() string { 11603 return s.String() 11604} 11605 11606// Validate inspects the fields of the type to determine if they are valid. 11607func (s *DeleteCacheParameterGroupInput) Validate() error { 11608 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} 11609 if s.CacheParameterGroupName == nil { 11610 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 11611 } 11612 11613 if invalidParams.Len() > 0 { 11614 return invalidParams 11615 } 11616 return nil 11617} 11618 11619// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 11620func (s *DeleteCacheParameterGroupInput) SetCacheParameterGroupName(v string) *DeleteCacheParameterGroupInput { 11621 s.CacheParameterGroupName = &v 11622 return s 11623} 11624 11625type DeleteCacheParameterGroupOutput struct { 11626 _ struct{} `type:"structure"` 11627} 11628 11629// String returns the string representation 11630func (s DeleteCacheParameterGroupOutput) String() string { 11631 return awsutil.Prettify(s) 11632} 11633 11634// GoString returns the string representation 11635func (s DeleteCacheParameterGroupOutput) GoString() string { 11636 return s.String() 11637} 11638 11639// Represents the input of a DeleteCacheSecurityGroup operation. 11640type DeleteCacheSecurityGroupInput struct { 11641 _ struct{} `type:"structure"` 11642 11643 // The name of the cache security group to delete. 11644 // 11645 // You cannot delete the default security group. 11646 // 11647 // CacheSecurityGroupName is a required field 11648 CacheSecurityGroupName *string `type:"string" required:"true"` 11649} 11650 11651// String returns the string representation 11652func (s DeleteCacheSecurityGroupInput) String() string { 11653 return awsutil.Prettify(s) 11654} 11655 11656// GoString returns the string representation 11657func (s DeleteCacheSecurityGroupInput) GoString() string { 11658 return s.String() 11659} 11660 11661// Validate inspects the fields of the type to determine if they are valid. 11662func (s *DeleteCacheSecurityGroupInput) Validate() error { 11663 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} 11664 if s.CacheSecurityGroupName == nil { 11665 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 11666 } 11667 11668 if invalidParams.Len() > 0 { 11669 return invalidParams 11670 } 11671 return nil 11672} 11673 11674// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 11675func (s *DeleteCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *DeleteCacheSecurityGroupInput { 11676 s.CacheSecurityGroupName = &v 11677 return s 11678} 11679 11680type DeleteCacheSecurityGroupOutput struct { 11681 _ struct{} `type:"structure"` 11682} 11683 11684// String returns the string representation 11685func (s DeleteCacheSecurityGroupOutput) String() string { 11686 return awsutil.Prettify(s) 11687} 11688 11689// GoString returns the string representation 11690func (s DeleteCacheSecurityGroupOutput) GoString() string { 11691 return s.String() 11692} 11693 11694// Represents the input of a DeleteCacheSubnetGroup operation. 11695type DeleteCacheSubnetGroupInput struct { 11696 _ struct{} `type:"structure"` 11697 11698 // The name of the cache subnet group to delete. 11699 // 11700 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 11701 // 11702 // CacheSubnetGroupName is a required field 11703 CacheSubnetGroupName *string `type:"string" required:"true"` 11704} 11705 11706// String returns the string representation 11707func (s DeleteCacheSubnetGroupInput) String() string { 11708 return awsutil.Prettify(s) 11709} 11710 11711// GoString returns the string representation 11712func (s DeleteCacheSubnetGroupInput) GoString() string { 11713 return s.String() 11714} 11715 11716// Validate inspects the fields of the type to determine if they are valid. 11717func (s *DeleteCacheSubnetGroupInput) Validate() error { 11718 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} 11719 if s.CacheSubnetGroupName == nil { 11720 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 11721 } 11722 11723 if invalidParams.Len() > 0 { 11724 return invalidParams 11725 } 11726 return nil 11727} 11728 11729// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 11730func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteCacheSubnetGroupInput { 11731 s.CacheSubnetGroupName = &v 11732 return s 11733} 11734 11735type DeleteCacheSubnetGroupOutput struct { 11736 _ struct{} `type:"structure"` 11737} 11738 11739// String returns the string representation 11740func (s DeleteCacheSubnetGroupOutput) String() string { 11741 return awsutil.Prettify(s) 11742} 11743 11744// GoString returns the string representation 11745func (s DeleteCacheSubnetGroupOutput) GoString() string { 11746 return s.String() 11747} 11748 11749type DeleteGlobalReplicationGroupInput struct { 11750 _ struct{} `type:"structure"` 11751 11752 // The name of the Global datastore 11753 // 11754 // GlobalReplicationGroupId is a required field 11755 GlobalReplicationGroupId *string `type:"string" required:"true"` 11756 11757 // The primary replication group is retained as a standalone replication group. 11758 // 11759 // RetainPrimaryReplicationGroup is a required field 11760 RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` 11761} 11762 11763// String returns the string representation 11764func (s DeleteGlobalReplicationGroupInput) String() string { 11765 return awsutil.Prettify(s) 11766} 11767 11768// GoString returns the string representation 11769func (s DeleteGlobalReplicationGroupInput) GoString() string { 11770 return s.String() 11771} 11772 11773// Validate inspects the fields of the type to determine if they are valid. 11774func (s *DeleteGlobalReplicationGroupInput) Validate() error { 11775 invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalReplicationGroupInput"} 11776 if s.GlobalReplicationGroupId == nil { 11777 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 11778 } 11779 if s.RetainPrimaryReplicationGroup == nil { 11780 invalidParams.Add(request.NewErrParamRequired("RetainPrimaryReplicationGroup")) 11781 } 11782 11783 if invalidParams.Len() > 0 { 11784 return invalidParams 11785 } 11786 return nil 11787} 11788 11789// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 11790func (s *DeleteGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DeleteGlobalReplicationGroupInput { 11791 s.GlobalReplicationGroupId = &v 11792 return s 11793} 11794 11795// SetRetainPrimaryReplicationGroup sets the RetainPrimaryReplicationGroup field's value. 11796func (s *DeleteGlobalReplicationGroupInput) SetRetainPrimaryReplicationGroup(v bool) *DeleteGlobalReplicationGroupInput { 11797 s.RetainPrimaryReplicationGroup = &v 11798 return s 11799} 11800 11801type DeleteGlobalReplicationGroupOutput struct { 11802 _ struct{} `type:"structure"` 11803 11804 // Consists of a primary cluster that accepts writes and an associated secondary 11805 // cluster that resides in a different Amazon region. The secondary cluster 11806 // accepts only reads. The primary cluster automatically replicates updates 11807 // to the secondary cluster. 11808 // 11809 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 11810 // datastore, which is what you use to associate a secondary cluster. 11811 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 11812} 11813 11814// String returns the string representation 11815func (s DeleteGlobalReplicationGroupOutput) String() string { 11816 return awsutil.Prettify(s) 11817} 11818 11819// GoString returns the string representation 11820func (s DeleteGlobalReplicationGroupOutput) GoString() string { 11821 return s.String() 11822} 11823 11824// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 11825func (s *DeleteGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DeleteGlobalReplicationGroupOutput { 11826 s.GlobalReplicationGroup = v 11827 return s 11828} 11829 11830// Represents the input of a DeleteReplicationGroup operation. 11831type DeleteReplicationGroupInput struct { 11832 _ struct{} `type:"structure"` 11833 11834 // The name of a final node group (shard) snapshot. ElastiCache creates the 11835 // snapshot from the primary node in the cluster, rather than one of the replicas; 11836 // this is to ensure that it captures the freshest data. After the final snapshot 11837 // is taken, the replication group is immediately deleted. 11838 FinalSnapshotIdentifier *string `type:"string"` 11839 11840 // The identifier for the cluster to be deleted. This parameter is not case 11841 // sensitive. 11842 // 11843 // ReplicationGroupId is a required field 11844 ReplicationGroupId *string `type:"string" required:"true"` 11845 11846 // If set to true, all of the read replicas are deleted, but the primary node 11847 // is retained. 11848 RetainPrimaryCluster *bool `type:"boolean"` 11849} 11850 11851// String returns the string representation 11852func (s DeleteReplicationGroupInput) String() string { 11853 return awsutil.Prettify(s) 11854} 11855 11856// GoString returns the string representation 11857func (s DeleteReplicationGroupInput) GoString() string { 11858 return s.String() 11859} 11860 11861// Validate inspects the fields of the type to determine if they are valid. 11862func (s *DeleteReplicationGroupInput) Validate() error { 11863 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} 11864 if s.ReplicationGroupId == nil { 11865 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11866 } 11867 11868 if invalidParams.Len() > 0 { 11869 return invalidParams 11870 } 11871 return nil 11872} 11873 11874// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 11875func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { 11876 s.FinalSnapshotIdentifier = &v 11877 return s 11878} 11879 11880// SetReplicationGroupId sets the ReplicationGroupId field's value. 11881func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { 11882 s.ReplicationGroupId = &v 11883 return s 11884} 11885 11886// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. 11887func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { 11888 s.RetainPrimaryCluster = &v 11889 return s 11890} 11891 11892type DeleteReplicationGroupOutput struct { 11893 _ struct{} `type:"structure"` 11894 11895 // Contains all of the attributes of a specific Redis replication group. 11896 ReplicationGroup *ReplicationGroup `type:"structure"` 11897} 11898 11899// String returns the string representation 11900func (s DeleteReplicationGroupOutput) String() string { 11901 return awsutil.Prettify(s) 11902} 11903 11904// GoString returns the string representation 11905func (s DeleteReplicationGroupOutput) GoString() string { 11906 return s.String() 11907} 11908 11909// SetReplicationGroup sets the ReplicationGroup field's value. 11910func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { 11911 s.ReplicationGroup = v 11912 return s 11913} 11914 11915// Represents the input of a DeleteSnapshot operation. 11916type DeleteSnapshotInput struct { 11917 _ struct{} `type:"structure"` 11918 11919 // The name of the snapshot to be deleted. 11920 // 11921 // SnapshotName is a required field 11922 SnapshotName *string `type:"string" required:"true"` 11923} 11924 11925// String returns the string representation 11926func (s DeleteSnapshotInput) String() string { 11927 return awsutil.Prettify(s) 11928} 11929 11930// GoString returns the string representation 11931func (s DeleteSnapshotInput) GoString() string { 11932 return s.String() 11933} 11934 11935// Validate inspects the fields of the type to determine if they are valid. 11936func (s *DeleteSnapshotInput) Validate() error { 11937 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} 11938 if s.SnapshotName == nil { 11939 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 11940 } 11941 11942 if invalidParams.Len() > 0 { 11943 return invalidParams 11944 } 11945 return nil 11946} 11947 11948// SetSnapshotName sets the SnapshotName field's value. 11949func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { 11950 s.SnapshotName = &v 11951 return s 11952} 11953 11954type DeleteSnapshotOutput struct { 11955 _ struct{} `type:"structure"` 11956 11957 // Represents a copy of an entire Redis cluster as of the time when the snapshot 11958 // was taken. 11959 Snapshot *Snapshot `type:"structure"` 11960} 11961 11962// String returns the string representation 11963func (s DeleteSnapshotOutput) String() string { 11964 return awsutil.Prettify(s) 11965} 11966 11967// GoString returns the string representation 11968func (s DeleteSnapshotOutput) GoString() string { 11969 return s.String() 11970} 11971 11972// SetSnapshot sets the Snapshot field's value. 11973func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { 11974 s.Snapshot = v 11975 return s 11976} 11977 11978type DeleteUserGroupInput struct { 11979 _ struct{} `type:"structure"` 11980 11981 // The ID of the user group. 11982 // 11983 // UserGroupId is a required field 11984 UserGroupId *string `type:"string" required:"true"` 11985} 11986 11987// String returns the string representation 11988func (s DeleteUserGroupInput) String() string { 11989 return awsutil.Prettify(s) 11990} 11991 11992// GoString returns the string representation 11993func (s DeleteUserGroupInput) GoString() string { 11994 return s.String() 11995} 11996 11997// Validate inspects the fields of the type to determine if they are valid. 11998func (s *DeleteUserGroupInput) Validate() error { 11999 invalidParams := request.ErrInvalidParams{Context: "DeleteUserGroupInput"} 12000 if s.UserGroupId == nil { 12001 invalidParams.Add(request.NewErrParamRequired("UserGroupId")) 12002 } 12003 12004 if invalidParams.Len() > 0 { 12005 return invalidParams 12006 } 12007 return nil 12008} 12009 12010// SetUserGroupId sets the UserGroupId field's value. 12011func (s *DeleteUserGroupInput) SetUserGroupId(v string) *DeleteUserGroupInput { 12012 s.UserGroupId = &v 12013 return s 12014} 12015 12016type DeleteUserGroupOutput struct { 12017 _ struct{} `type:"structure"` 12018 12019 // The Amazon Resource Name (ARN) of the user group. 12020 ARN *string `type:"string"` 12021 12022 // The current supported value is Redis. 12023 Engine *string `type:"string"` 12024 12025 // A list of updates being applied to the user groups. 12026 PendingChanges *UserGroupPendingChanges `type:"structure"` 12027 12028 // A list of replication groups that the user group can access. 12029 ReplicationGroups []*string `type:"list"` 12030 12031 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 12032 Status *string `type:"string"` 12033 12034 // The ID of the user group. 12035 UserGroupId *string `type:"string"` 12036 12037 // The list of user IDs that belong to the user group. 12038 UserIds []*string `type:"list"` 12039} 12040 12041// String returns the string representation 12042func (s DeleteUserGroupOutput) String() string { 12043 return awsutil.Prettify(s) 12044} 12045 12046// GoString returns the string representation 12047func (s DeleteUserGroupOutput) GoString() string { 12048 return s.String() 12049} 12050 12051// SetARN sets the ARN field's value. 12052func (s *DeleteUserGroupOutput) SetARN(v string) *DeleteUserGroupOutput { 12053 s.ARN = &v 12054 return s 12055} 12056 12057// SetEngine sets the Engine field's value. 12058func (s *DeleteUserGroupOutput) SetEngine(v string) *DeleteUserGroupOutput { 12059 s.Engine = &v 12060 return s 12061} 12062 12063// SetPendingChanges sets the PendingChanges field's value. 12064func (s *DeleteUserGroupOutput) SetPendingChanges(v *UserGroupPendingChanges) *DeleteUserGroupOutput { 12065 s.PendingChanges = v 12066 return s 12067} 12068 12069// SetReplicationGroups sets the ReplicationGroups field's value. 12070func (s *DeleteUserGroupOutput) SetReplicationGroups(v []*string) *DeleteUserGroupOutput { 12071 s.ReplicationGroups = v 12072 return s 12073} 12074 12075// SetStatus sets the Status field's value. 12076func (s *DeleteUserGroupOutput) SetStatus(v string) *DeleteUserGroupOutput { 12077 s.Status = &v 12078 return s 12079} 12080 12081// SetUserGroupId sets the UserGroupId field's value. 12082func (s *DeleteUserGroupOutput) SetUserGroupId(v string) *DeleteUserGroupOutput { 12083 s.UserGroupId = &v 12084 return s 12085} 12086 12087// SetUserIds sets the UserIds field's value. 12088func (s *DeleteUserGroupOutput) SetUserIds(v []*string) *DeleteUserGroupOutput { 12089 s.UserIds = v 12090 return s 12091} 12092 12093type DeleteUserInput struct { 12094 _ struct{} `type:"structure"` 12095 12096 // The ID of the user. 12097 // 12098 // UserId is a required field 12099 UserId *string `min:"1" type:"string" required:"true"` 12100} 12101 12102// String returns the string representation 12103func (s DeleteUserInput) String() string { 12104 return awsutil.Prettify(s) 12105} 12106 12107// GoString returns the string representation 12108func (s DeleteUserInput) GoString() string { 12109 return s.String() 12110} 12111 12112// Validate inspects the fields of the type to determine if they are valid. 12113func (s *DeleteUserInput) Validate() error { 12114 invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} 12115 if s.UserId == nil { 12116 invalidParams.Add(request.NewErrParamRequired("UserId")) 12117 } 12118 if s.UserId != nil && len(*s.UserId) < 1 { 12119 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 12120 } 12121 12122 if invalidParams.Len() > 0 { 12123 return invalidParams 12124 } 12125 return nil 12126} 12127 12128// SetUserId sets the UserId field's value. 12129func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput { 12130 s.UserId = &v 12131 return s 12132} 12133 12134type DeleteUserOutput struct { 12135 _ struct{} `type:"structure"` 12136 12137 // The Amazon Resource Name (ARN) of the user. 12138 ARN *string `type:"string"` 12139 12140 // Access permissions string used for this user. 12141 AccessString *string `type:"string"` 12142 12143 // Denotes whether the user requires a password to authenticate. 12144 Authentication *Authentication `type:"structure"` 12145 12146 // The current supported value is Redis. 12147 Engine *string `type:"string"` 12148 12149 // Indicates the user status. Can be "active", "modifying" or "deleting". 12150 Status *string `type:"string"` 12151 12152 // Returns a list of the user group IDs the user belongs to. 12153 UserGroupIds []*string `type:"list"` 12154 12155 // The ID of the user. 12156 UserId *string `type:"string"` 12157 12158 // The username of the user. 12159 UserName *string `type:"string"` 12160} 12161 12162// String returns the string representation 12163func (s DeleteUserOutput) String() string { 12164 return awsutil.Prettify(s) 12165} 12166 12167// GoString returns the string representation 12168func (s DeleteUserOutput) GoString() string { 12169 return s.String() 12170} 12171 12172// SetARN sets the ARN field's value. 12173func (s *DeleteUserOutput) SetARN(v string) *DeleteUserOutput { 12174 s.ARN = &v 12175 return s 12176} 12177 12178// SetAccessString sets the AccessString field's value. 12179func (s *DeleteUserOutput) SetAccessString(v string) *DeleteUserOutput { 12180 s.AccessString = &v 12181 return s 12182} 12183 12184// SetAuthentication sets the Authentication field's value. 12185func (s *DeleteUserOutput) SetAuthentication(v *Authentication) *DeleteUserOutput { 12186 s.Authentication = v 12187 return s 12188} 12189 12190// SetEngine sets the Engine field's value. 12191func (s *DeleteUserOutput) SetEngine(v string) *DeleteUserOutput { 12192 s.Engine = &v 12193 return s 12194} 12195 12196// SetStatus sets the Status field's value. 12197func (s *DeleteUserOutput) SetStatus(v string) *DeleteUserOutput { 12198 s.Status = &v 12199 return s 12200} 12201 12202// SetUserGroupIds sets the UserGroupIds field's value. 12203func (s *DeleteUserOutput) SetUserGroupIds(v []*string) *DeleteUserOutput { 12204 s.UserGroupIds = v 12205 return s 12206} 12207 12208// SetUserId sets the UserId field's value. 12209func (s *DeleteUserOutput) SetUserId(v string) *DeleteUserOutput { 12210 s.UserId = &v 12211 return s 12212} 12213 12214// SetUserName sets the UserName field's value. 12215func (s *DeleteUserOutput) SetUserName(v string) *DeleteUserOutput { 12216 s.UserName = &v 12217 return s 12218} 12219 12220// Represents the input of a DescribeCacheClusters operation. 12221type DescribeCacheClustersInput struct { 12222 _ struct{} `type:"structure"` 12223 12224 // The user-supplied cluster identifier. If this parameter is specified, only 12225 // information about that specific cluster is returned. This parameter isn't 12226 // case sensitive. 12227 CacheClusterId *string `type:"string"` 12228 12229 // An optional marker returned from a prior request. Use this marker for pagination 12230 // of results from this operation. If this parameter is specified, the response 12231 // includes only records beyond the marker, up to the value specified by MaxRecords. 12232 Marker *string `type:"string"` 12233 12234 // The maximum number of records to include in the response. If more records 12235 // exist than the specified MaxRecords value, a marker is included in the response 12236 // so that the remaining results can be retrieved. 12237 // 12238 // Default: 100 12239 // 12240 // Constraints: minimum 20; maximum 100. 12241 MaxRecords *int64 `type:"integer"` 12242 12243 // An optional flag that can be included in the DescribeCacheCluster request 12244 // to show only nodes (API/CLI: clusters) that are not members of a replication 12245 // group. In practice, this mean Memcached and single node Redis clusters. 12246 ShowCacheClustersNotInReplicationGroups *bool `type:"boolean"` 12247 12248 // An optional flag that can be included in the DescribeCacheCluster request 12249 // to retrieve information about the individual cache nodes. 12250 ShowCacheNodeInfo *bool `type:"boolean"` 12251} 12252 12253// String returns the string representation 12254func (s DescribeCacheClustersInput) String() string { 12255 return awsutil.Prettify(s) 12256} 12257 12258// GoString returns the string representation 12259func (s DescribeCacheClustersInput) GoString() string { 12260 return s.String() 12261} 12262 12263// SetCacheClusterId sets the CacheClusterId field's value. 12264func (s *DescribeCacheClustersInput) SetCacheClusterId(v string) *DescribeCacheClustersInput { 12265 s.CacheClusterId = &v 12266 return s 12267} 12268 12269// SetMarker sets the Marker field's value. 12270func (s *DescribeCacheClustersInput) SetMarker(v string) *DescribeCacheClustersInput { 12271 s.Marker = &v 12272 return s 12273} 12274 12275// SetMaxRecords sets the MaxRecords field's value. 12276func (s *DescribeCacheClustersInput) SetMaxRecords(v int64) *DescribeCacheClustersInput { 12277 s.MaxRecords = &v 12278 return s 12279} 12280 12281// SetShowCacheClustersNotInReplicationGroups sets the ShowCacheClustersNotInReplicationGroups field's value. 12282func (s *DescribeCacheClustersInput) SetShowCacheClustersNotInReplicationGroups(v bool) *DescribeCacheClustersInput { 12283 s.ShowCacheClustersNotInReplicationGroups = &v 12284 return s 12285} 12286 12287// SetShowCacheNodeInfo sets the ShowCacheNodeInfo field's value. 12288func (s *DescribeCacheClustersInput) SetShowCacheNodeInfo(v bool) *DescribeCacheClustersInput { 12289 s.ShowCacheNodeInfo = &v 12290 return s 12291} 12292 12293// Represents the output of a DescribeCacheClusters operation. 12294type DescribeCacheClustersOutput struct { 12295 _ struct{} `type:"structure"` 12296 12297 // A list of clusters. Each item in the list contains detailed information about 12298 // one cluster. 12299 CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"` 12300 12301 // Provides an identifier to allow retrieval of paginated results. 12302 Marker *string `type:"string"` 12303} 12304 12305// String returns the string representation 12306func (s DescribeCacheClustersOutput) String() string { 12307 return awsutil.Prettify(s) 12308} 12309 12310// GoString returns the string representation 12311func (s DescribeCacheClustersOutput) GoString() string { 12312 return s.String() 12313} 12314 12315// SetCacheClusters sets the CacheClusters field's value. 12316func (s *DescribeCacheClustersOutput) SetCacheClusters(v []*CacheCluster) *DescribeCacheClustersOutput { 12317 s.CacheClusters = v 12318 return s 12319} 12320 12321// SetMarker sets the Marker field's value. 12322func (s *DescribeCacheClustersOutput) SetMarker(v string) *DescribeCacheClustersOutput { 12323 s.Marker = &v 12324 return s 12325} 12326 12327// Represents the input of a DescribeCacheEngineVersions operation. 12328type DescribeCacheEngineVersionsInput struct { 12329 _ struct{} `type:"structure"` 12330 12331 // The name of a specific cache parameter group family to return details for. 12332 // 12333 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 12334 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 12335 // 12336 // Constraints: 12337 // 12338 // * Must be 1 to 255 alphanumeric characters 12339 // 12340 // * First character must be a letter 12341 // 12342 // * Cannot end with a hyphen or contain two consecutive hyphens 12343 CacheParameterGroupFamily *string `type:"string"` 12344 12345 // If true, specifies that only the default version of the specified engine 12346 // or engine and major version combination is to be returned. 12347 DefaultOnly *bool `type:"boolean"` 12348 12349 // The cache engine to return. Valid values: memcached | redis 12350 Engine *string `type:"string"` 12351 12352 // The cache engine version to return. 12353 // 12354 // Example: 1.4.14 12355 EngineVersion *string `type:"string"` 12356 12357 // An optional marker returned from a prior request. Use this marker for pagination 12358 // of results from this operation. If this parameter is specified, the response 12359 // includes only records beyond the marker, up to the value specified by MaxRecords. 12360 Marker *string `type:"string"` 12361 12362 // The maximum number of records to include in the response. If more records 12363 // exist than the specified MaxRecords value, a marker is included in the response 12364 // so that the remaining results can be retrieved. 12365 // 12366 // Default: 100 12367 // 12368 // Constraints: minimum 20; maximum 100. 12369 MaxRecords *int64 `type:"integer"` 12370} 12371 12372// String returns the string representation 12373func (s DescribeCacheEngineVersionsInput) String() string { 12374 return awsutil.Prettify(s) 12375} 12376 12377// GoString returns the string representation 12378func (s DescribeCacheEngineVersionsInput) GoString() string { 12379 return s.String() 12380} 12381 12382// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 12383func (s *DescribeCacheEngineVersionsInput) SetCacheParameterGroupFamily(v string) *DescribeCacheEngineVersionsInput { 12384 s.CacheParameterGroupFamily = &v 12385 return s 12386} 12387 12388// SetDefaultOnly sets the DefaultOnly field's value. 12389func (s *DescribeCacheEngineVersionsInput) SetDefaultOnly(v bool) *DescribeCacheEngineVersionsInput { 12390 s.DefaultOnly = &v 12391 return s 12392} 12393 12394// SetEngine sets the Engine field's value. 12395func (s *DescribeCacheEngineVersionsInput) SetEngine(v string) *DescribeCacheEngineVersionsInput { 12396 s.Engine = &v 12397 return s 12398} 12399 12400// SetEngineVersion sets the EngineVersion field's value. 12401func (s *DescribeCacheEngineVersionsInput) SetEngineVersion(v string) *DescribeCacheEngineVersionsInput { 12402 s.EngineVersion = &v 12403 return s 12404} 12405 12406// SetMarker sets the Marker field's value. 12407func (s *DescribeCacheEngineVersionsInput) SetMarker(v string) *DescribeCacheEngineVersionsInput { 12408 s.Marker = &v 12409 return s 12410} 12411 12412// SetMaxRecords sets the MaxRecords field's value. 12413func (s *DescribeCacheEngineVersionsInput) SetMaxRecords(v int64) *DescribeCacheEngineVersionsInput { 12414 s.MaxRecords = &v 12415 return s 12416} 12417 12418// Represents the output of a DescribeCacheEngineVersions operation. 12419type DescribeCacheEngineVersionsOutput struct { 12420 _ struct{} `type:"structure"` 12421 12422 // A list of cache engine version details. Each element in the list contains 12423 // detailed information about one cache engine version. 12424 CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"` 12425 12426 // Provides an identifier to allow retrieval of paginated results. 12427 Marker *string `type:"string"` 12428} 12429 12430// String returns the string representation 12431func (s DescribeCacheEngineVersionsOutput) String() string { 12432 return awsutil.Prettify(s) 12433} 12434 12435// GoString returns the string representation 12436func (s DescribeCacheEngineVersionsOutput) GoString() string { 12437 return s.String() 12438} 12439 12440// SetCacheEngineVersions sets the CacheEngineVersions field's value. 12441func (s *DescribeCacheEngineVersionsOutput) SetCacheEngineVersions(v []*CacheEngineVersion) *DescribeCacheEngineVersionsOutput { 12442 s.CacheEngineVersions = v 12443 return s 12444} 12445 12446// SetMarker sets the Marker field's value. 12447func (s *DescribeCacheEngineVersionsOutput) SetMarker(v string) *DescribeCacheEngineVersionsOutput { 12448 s.Marker = &v 12449 return s 12450} 12451 12452// Represents the input of a DescribeCacheParameterGroups operation. 12453type DescribeCacheParameterGroupsInput struct { 12454 _ struct{} `type:"structure"` 12455 12456 // The name of a specific cache parameter group to return details for. 12457 CacheParameterGroupName *string `type:"string"` 12458 12459 // An optional marker returned from a prior request. Use this marker for pagination 12460 // of results from this operation. If this parameter is specified, the response 12461 // includes only records beyond the marker, up to the value specified by MaxRecords. 12462 Marker *string `type:"string"` 12463 12464 // The maximum number of records to include in the response. If more records 12465 // exist than the specified MaxRecords value, a marker is included in the response 12466 // so that the remaining results can be retrieved. 12467 // 12468 // Default: 100 12469 // 12470 // Constraints: minimum 20; maximum 100. 12471 MaxRecords *int64 `type:"integer"` 12472} 12473 12474// String returns the string representation 12475func (s DescribeCacheParameterGroupsInput) String() string { 12476 return awsutil.Prettify(s) 12477} 12478 12479// GoString returns the string representation 12480func (s DescribeCacheParameterGroupsInput) GoString() string { 12481 return s.String() 12482} 12483 12484// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 12485func (s *DescribeCacheParameterGroupsInput) SetCacheParameterGroupName(v string) *DescribeCacheParameterGroupsInput { 12486 s.CacheParameterGroupName = &v 12487 return s 12488} 12489 12490// SetMarker sets the Marker field's value. 12491func (s *DescribeCacheParameterGroupsInput) SetMarker(v string) *DescribeCacheParameterGroupsInput { 12492 s.Marker = &v 12493 return s 12494} 12495 12496// SetMaxRecords sets the MaxRecords field's value. 12497func (s *DescribeCacheParameterGroupsInput) SetMaxRecords(v int64) *DescribeCacheParameterGroupsInput { 12498 s.MaxRecords = &v 12499 return s 12500} 12501 12502// Represents the output of a DescribeCacheParameterGroups operation. 12503type DescribeCacheParameterGroupsOutput struct { 12504 _ struct{} `type:"structure"` 12505 12506 // A list of cache parameter groups. Each element in the list contains detailed 12507 // information about one cache parameter group. 12508 CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"` 12509 12510 // Provides an identifier to allow retrieval of paginated results. 12511 Marker *string `type:"string"` 12512} 12513 12514// String returns the string representation 12515func (s DescribeCacheParameterGroupsOutput) String() string { 12516 return awsutil.Prettify(s) 12517} 12518 12519// GoString returns the string representation 12520func (s DescribeCacheParameterGroupsOutput) GoString() string { 12521 return s.String() 12522} 12523 12524// SetCacheParameterGroups sets the CacheParameterGroups field's value. 12525func (s *DescribeCacheParameterGroupsOutput) SetCacheParameterGroups(v []*CacheParameterGroup) *DescribeCacheParameterGroupsOutput { 12526 s.CacheParameterGroups = v 12527 return s 12528} 12529 12530// SetMarker sets the Marker field's value. 12531func (s *DescribeCacheParameterGroupsOutput) SetMarker(v string) *DescribeCacheParameterGroupsOutput { 12532 s.Marker = &v 12533 return s 12534} 12535 12536// Represents the input of a DescribeCacheParameters operation. 12537type DescribeCacheParametersInput struct { 12538 _ struct{} `type:"structure"` 12539 12540 // The name of a specific cache parameter group to return details for. 12541 // 12542 // CacheParameterGroupName is a required field 12543 CacheParameterGroupName *string `type:"string" required:"true"` 12544 12545 // An optional marker returned from a prior request. Use this marker for pagination 12546 // of results from this operation. If this parameter is specified, the response 12547 // includes only records beyond the marker, up to the value specified by MaxRecords. 12548 Marker *string `type:"string"` 12549 12550 // The maximum number of records to include in the response. If more records 12551 // exist than the specified MaxRecords value, a marker is included in the response 12552 // so that the remaining results can be retrieved. 12553 // 12554 // Default: 100 12555 // 12556 // Constraints: minimum 20; maximum 100. 12557 MaxRecords *int64 `type:"integer"` 12558 12559 // The parameter types to return. 12560 // 12561 // Valid values: user | system | engine-default 12562 Source *string `type:"string"` 12563} 12564 12565// String returns the string representation 12566func (s DescribeCacheParametersInput) String() string { 12567 return awsutil.Prettify(s) 12568} 12569 12570// GoString returns the string representation 12571func (s DescribeCacheParametersInput) GoString() string { 12572 return s.String() 12573} 12574 12575// Validate inspects the fields of the type to determine if they are valid. 12576func (s *DescribeCacheParametersInput) Validate() error { 12577 invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} 12578 if s.CacheParameterGroupName == nil { 12579 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 12580 } 12581 12582 if invalidParams.Len() > 0 { 12583 return invalidParams 12584 } 12585 return nil 12586} 12587 12588// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 12589func (s *DescribeCacheParametersInput) SetCacheParameterGroupName(v string) *DescribeCacheParametersInput { 12590 s.CacheParameterGroupName = &v 12591 return s 12592} 12593 12594// SetMarker sets the Marker field's value. 12595func (s *DescribeCacheParametersInput) SetMarker(v string) *DescribeCacheParametersInput { 12596 s.Marker = &v 12597 return s 12598} 12599 12600// SetMaxRecords sets the MaxRecords field's value. 12601func (s *DescribeCacheParametersInput) SetMaxRecords(v int64) *DescribeCacheParametersInput { 12602 s.MaxRecords = &v 12603 return s 12604} 12605 12606// SetSource sets the Source field's value. 12607func (s *DescribeCacheParametersInput) SetSource(v string) *DescribeCacheParametersInput { 12608 s.Source = &v 12609 return s 12610} 12611 12612// Represents the output of a DescribeCacheParameters operation. 12613type DescribeCacheParametersOutput struct { 12614 _ struct{} `type:"structure"` 12615 12616 // A list of parameters specific to a particular cache node type. Each element 12617 // in the list contains detailed information about one parameter. 12618 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 12619 12620 // Provides an identifier to allow retrieval of paginated results. 12621 Marker *string `type:"string"` 12622 12623 // A list of Parameter instances. 12624 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 12625} 12626 12627// String returns the string representation 12628func (s DescribeCacheParametersOutput) String() string { 12629 return awsutil.Prettify(s) 12630} 12631 12632// GoString returns the string representation 12633func (s DescribeCacheParametersOutput) GoString() string { 12634 return s.String() 12635} 12636 12637// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 12638func (s *DescribeCacheParametersOutput) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *DescribeCacheParametersOutput { 12639 s.CacheNodeTypeSpecificParameters = v 12640 return s 12641} 12642 12643// SetMarker sets the Marker field's value. 12644func (s *DescribeCacheParametersOutput) SetMarker(v string) *DescribeCacheParametersOutput { 12645 s.Marker = &v 12646 return s 12647} 12648 12649// SetParameters sets the Parameters field's value. 12650func (s *DescribeCacheParametersOutput) SetParameters(v []*Parameter) *DescribeCacheParametersOutput { 12651 s.Parameters = v 12652 return s 12653} 12654 12655// Represents the input of a DescribeCacheSecurityGroups operation. 12656type DescribeCacheSecurityGroupsInput struct { 12657 _ struct{} `type:"structure"` 12658 12659 // The name of the cache security group to return details for. 12660 CacheSecurityGroupName *string `type:"string"` 12661 12662 // An optional marker returned from a prior request. Use this marker for pagination 12663 // of results from this operation. If this parameter is specified, the response 12664 // includes only records beyond the marker, up to the value specified by MaxRecords. 12665 Marker *string `type:"string"` 12666 12667 // The maximum number of records to include in the response. If more records 12668 // exist than the specified MaxRecords value, a marker is included in the response 12669 // so that the remaining results can be retrieved. 12670 // 12671 // Default: 100 12672 // 12673 // Constraints: minimum 20; maximum 100. 12674 MaxRecords *int64 `type:"integer"` 12675} 12676 12677// String returns the string representation 12678func (s DescribeCacheSecurityGroupsInput) String() string { 12679 return awsutil.Prettify(s) 12680} 12681 12682// GoString returns the string representation 12683func (s DescribeCacheSecurityGroupsInput) GoString() string { 12684 return s.String() 12685} 12686 12687// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 12688func (s *DescribeCacheSecurityGroupsInput) SetCacheSecurityGroupName(v string) *DescribeCacheSecurityGroupsInput { 12689 s.CacheSecurityGroupName = &v 12690 return s 12691} 12692 12693// SetMarker sets the Marker field's value. 12694func (s *DescribeCacheSecurityGroupsInput) SetMarker(v string) *DescribeCacheSecurityGroupsInput { 12695 s.Marker = &v 12696 return s 12697} 12698 12699// SetMaxRecords sets the MaxRecords field's value. 12700func (s *DescribeCacheSecurityGroupsInput) SetMaxRecords(v int64) *DescribeCacheSecurityGroupsInput { 12701 s.MaxRecords = &v 12702 return s 12703} 12704 12705// Represents the output of a DescribeCacheSecurityGroups operation. 12706type DescribeCacheSecurityGroupsOutput struct { 12707 _ struct{} `type:"structure"` 12708 12709 // A list of cache security groups. Each element in the list contains detailed 12710 // information about one group. 12711 CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"` 12712 12713 // Provides an identifier to allow retrieval of paginated results. 12714 Marker *string `type:"string"` 12715} 12716 12717// String returns the string representation 12718func (s DescribeCacheSecurityGroupsOutput) String() string { 12719 return awsutil.Prettify(s) 12720} 12721 12722// GoString returns the string representation 12723func (s DescribeCacheSecurityGroupsOutput) GoString() string { 12724 return s.String() 12725} 12726 12727// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 12728func (s *DescribeCacheSecurityGroupsOutput) SetCacheSecurityGroups(v []*CacheSecurityGroup) *DescribeCacheSecurityGroupsOutput { 12729 s.CacheSecurityGroups = v 12730 return s 12731} 12732 12733// SetMarker sets the Marker field's value. 12734func (s *DescribeCacheSecurityGroupsOutput) SetMarker(v string) *DescribeCacheSecurityGroupsOutput { 12735 s.Marker = &v 12736 return s 12737} 12738 12739// Represents the input of a DescribeCacheSubnetGroups operation. 12740type DescribeCacheSubnetGroupsInput struct { 12741 _ struct{} `type:"structure"` 12742 12743 // The name of the cache subnet group to return details for. 12744 CacheSubnetGroupName *string `type:"string"` 12745 12746 // An optional marker returned from a prior request. Use this marker for pagination 12747 // of results from this operation. If this parameter is specified, the response 12748 // includes only records beyond the marker, up to the value specified by MaxRecords. 12749 Marker *string `type:"string"` 12750 12751 // The maximum number of records to include in the response. If more records 12752 // exist than the specified MaxRecords value, a marker is included in the response 12753 // so that the remaining results can be retrieved. 12754 // 12755 // Default: 100 12756 // 12757 // Constraints: minimum 20; maximum 100. 12758 MaxRecords *int64 `type:"integer"` 12759} 12760 12761// String returns the string representation 12762func (s DescribeCacheSubnetGroupsInput) String() string { 12763 return awsutil.Prettify(s) 12764} 12765 12766// GoString returns the string representation 12767func (s DescribeCacheSubnetGroupsInput) GoString() string { 12768 return s.String() 12769} 12770 12771// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 12772func (s *DescribeCacheSubnetGroupsInput) SetCacheSubnetGroupName(v string) *DescribeCacheSubnetGroupsInput { 12773 s.CacheSubnetGroupName = &v 12774 return s 12775} 12776 12777// SetMarker sets the Marker field's value. 12778func (s *DescribeCacheSubnetGroupsInput) SetMarker(v string) *DescribeCacheSubnetGroupsInput { 12779 s.Marker = &v 12780 return s 12781} 12782 12783// SetMaxRecords sets the MaxRecords field's value. 12784func (s *DescribeCacheSubnetGroupsInput) SetMaxRecords(v int64) *DescribeCacheSubnetGroupsInput { 12785 s.MaxRecords = &v 12786 return s 12787} 12788 12789// Represents the output of a DescribeCacheSubnetGroups operation. 12790type DescribeCacheSubnetGroupsOutput struct { 12791 _ struct{} `type:"structure"` 12792 12793 // A list of cache subnet groups. Each element in the list contains detailed 12794 // information about one group. 12795 CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"` 12796 12797 // Provides an identifier to allow retrieval of paginated results. 12798 Marker *string `type:"string"` 12799} 12800 12801// String returns the string representation 12802func (s DescribeCacheSubnetGroupsOutput) String() string { 12803 return awsutil.Prettify(s) 12804} 12805 12806// GoString returns the string representation 12807func (s DescribeCacheSubnetGroupsOutput) GoString() string { 12808 return s.String() 12809} 12810 12811// SetCacheSubnetGroups sets the CacheSubnetGroups field's value. 12812func (s *DescribeCacheSubnetGroupsOutput) SetCacheSubnetGroups(v []*CacheSubnetGroup) *DescribeCacheSubnetGroupsOutput { 12813 s.CacheSubnetGroups = v 12814 return s 12815} 12816 12817// SetMarker sets the Marker field's value. 12818func (s *DescribeCacheSubnetGroupsOutput) SetMarker(v string) *DescribeCacheSubnetGroupsOutput { 12819 s.Marker = &v 12820 return s 12821} 12822 12823// Represents the input of a DescribeEngineDefaultParameters operation. 12824type DescribeEngineDefaultParametersInput struct { 12825 _ struct{} `type:"structure"` 12826 12827 // The name of the cache parameter group family. 12828 // 12829 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 12830 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 12831 // 12832 // CacheParameterGroupFamily is a required field 12833 CacheParameterGroupFamily *string `type:"string" required:"true"` 12834 12835 // An optional marker returned from a prior request. Use this marker for pagination 12836 // of results from this operation. If this parameter is specified, the response 12837 // includes only records beyond the marker, up to the value specified by MaxRecords. 12838 Marker *string `type:"string"` 12839 12840 // The maximum number of records to include in the response. If more records 12841 // exist than the specified MaxRecords value, a marker is included in the response 12842 // so that the remaining results can be retrieved. 12843 // 12844 // Default: 100 12845 // 12846 // Constraints: minimum 20; maximum 100. 12847 MaxRecords *int64 `type:"integer"` 12848} 12849 12850// String returns the string representation 12851func (s DescribeEngineDefaultParametersInput) String() string { 12852 return awsutil.Prettify(s) 12853} 12854 12855// GoString returns the string representation 12856func (s DescribeEngineDefaultParametersInput) GoString() string { 12857 return s.String() 12858} 12859 12860// Validate inspects the fields of the type to determine if they are valid. 12861func (s *DescribeEngineDefaultParametersInput) Validate() error { 12862 invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} 12863 if s.CacheParameterGroupFamily == nil { 12864 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 12865 } 12866 12867 if invalidParams.Len() > 0 { 12868 return invalidParams 12869 } 12870 return nil 12871} 12872 12873// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 12874func (s *DescribeEngineDefaultParametersInput) SetCacheParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput { 12875 s.CacheParameterGroupFamily = &v 12876 return s 12877} 12878 12879// SetMarker sets the Marker field's value. 12880func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput { 12881 s.Marker = &v 12882 return s 12883} 12884 12885// SetMaxRecords sets the MaxRecords field's value. 12886func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput { 12887 s.MaxRecords = &v 12888 return s 12889} 12890 12891type DescribeEngineDefaultParametersOutput struct { 12892 _ struct{} `type:"structure"` 12893 12894 // Represents the output of a DescribeEngineDefaultParameters operation. 12895 EngineDefaults *EngineDefaults `type:"structure"` 12896} 12897 12898// String returns the string representation 12899func (s DescribeEngineDefaultParametersOutput) String() string { 12900 return awsutil.Prettify(s) 12901} 12902 12903// GoString returns the string representation 12904func (s DescribeEngineDefaultParametersOutput) GoString() string { 12905 return s.String() 12906} 12907 12908// SetEngineDefaults sets the EngineDefaults field's value. 12909func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput { 12910 s.EngineDefaults = v 12911 return s 12912} 12913 12914// Represents the input of a DescribeEvents operation. 12915type DescribeEventsInput struct { 12916 _ struct{} `type:"structure"` 12917 12918 // The number of minutes worth of events to retrieve. 12919 Duration *int64 `type:"integer"` 12920 12921 // The end of the time interval for which to retrieve events, specified in ISO 12922 // 8601 format. 12923 // 12924 // Example: 2017-03-30T07:03:49.555Z 12925 EndTime *time.Time `type:"timestamp"` 12926 12927 // An optional marker returned from a prior request. Use this marker for pagination 12928 // of results from this operation. If this parameter is specified, the response 12929 // includes only records beyond the marker, up to the value specified by MaxRecords. 12930 Marker *string `type:"string"` 12931 12932 // The maximum number of records to include in the response. If more records 12933 // exist than the specified MaxRecords value, a marker is included in the response 12934 // so that the remaining results can be retrieved. 12935 // 12936 // Default: 100 12937 // 12938 // Constraints: minimum 20; maximum 100. 12939 MaxRecords *int64 `type:"integer"` 12940 12941 // The identifier of the event source for which events are returned. If not 12942 // specified, all sources are included in the response. 12943 SourceIdentifier *string `type:"string"` 12944 12945 // The event source to retrieve events for. If no value is specified, all events 12946 // are returned. 12947 SourceType *string `type:"string" enum:"SourceType"` 12948 12949 // The beginning of the time interval to retrieve events for, specified in ISO 12950 // 8601 format. 12951 // 12952 // Example: 2017-03-30T07:03:49.555Z 12953 StartTime *time.Time `type:"timestamp"` 12954} 12955 12956// String returns the string representation 12957func (s DescribeEventsInput) String() string { 12958 return awsutil.Prettify(s) 12959} 12960 12961// GoString returns the string representation 12962func (s DescribeEventsInput) GoString() string { 12963 return s.String() 12964} 12965 12966// SetDuration sets the Duration field's value. 12967func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 12968 s.Duration = &v 12969 return s 12970} 12971 12972// SetEndTime sets the EndTime field's value. 12973func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 12974 s.EndTime = &v 12975 return s 12976} 12977 12978// SetMarker sets the Marker field's value. 12979func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 12980 s.Marker = &v 12981 return s 12982} 12983 12984// SetMaxRecords sets the MaxRecords field's value. 12985func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 12986 s.MaxRecords = &v 12987 return s 12988} 12989 12990// SetSourceIdentifier sets the SourceIdentifier field's value. 12991func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 12992 s.SourceIdentifier = &v 12993 return s 12994} 12995 12996// SetSourceType sets the SourceType field's value. 12997func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 12998 s.SourceType = &v 12999 return s 13000} 13001 13002// SetStartTime sets the StartTime field's value. 13003func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 13004 s.StartTime = &v 13005 return s 13006} 13007 13008// Represents the output of a DescribeEvents operation. 13009type DescribeEventsOutput struct { 13010 _ struct{} `type:"structure"` 13011 13012 // A list of events. Each element in the list contains detailed information 13013 // about one event. 13014 Events []*Event `locationNameList:"Event" type:"list"` 13015 13016 // Provides an identifier to allow retrieval of paginated results. 13017 Marker *string `type:"string"` 13018} 13019 13020// String returns the string representation 13021func (s DescribeEventsOutput) String() string { 13022 return awsutil.Prettify(s) 13023} 13024 13025// GoString returns the string representation 13026func (s DescribeEventsOutput) GoString() string { 13027 return s.String() 13028} 13029 13030// SetEvents sets the Events field's value. 13031func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 13032 s.Events = v 13033 return s 13034} 13035 13036// SetMarker sets the Marker field's value. 13037func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 13038 s.Marker = &v 13039 return s 13040} 13041 13042type DescribeGlobalReplicationGroupsInput struct { 13043 _ struct{} `type:"structure"` 13044 13045 // The name of the Global datastore 13046 GlobalReplicationGroupId *string `type:"string"` 13047 13048 // An optional marker returned from a prior request. Use this marker for pagination 13049 // of results from this operation. If this parameter is specified, the response 13050 // includes only records beyond the marker, up to the value specified by MaxRecords. 13051 Marker *string `type:"string"` 13052 13053 // The maximum number of records to include in the response. If more records 13054 // exist than the specified MaxRecords value, a marker is included in the response 13055 // so that the remaining results can be retrieved. 13056 MaxRecords *int64 `type:"integer"` 13057 13058 // Returns the list of members that comprise the Global datastore. 13059 ShowMemberInfo *bool `type:"boolean"` 13060} 13061 13062// String returns the string representation 13063func (s DescribeGlobalReplicationGroupsInput) String() string { 13064 return awsutil.Prettify(s) 13065} 13066 13067// GoString returns the string representation 13068func (s DescribeGlobalReplicationGroupsInput) GoString() string { 13069 return s.String() 13070} 13071 13072// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 13073func (s *DescribeGlobalReplicationGroupsInput) SetGlobalReplicationGroupId(v string) *DescribeGlobalReplicationGroupsInput { 13074 s.GlobalReplicationGroupId = &v 13075 return s 13076} 13077 13078// SetMarker sets the Marker field's value. 13079func (s *DescribeGlobalReplicationGroupsInput) SetMarker(v string) *DescribeGlobalReplicationGroupsInput { 13080 s.Marker = &v 13081 return s 13082} 13083 13084// SetMaxRecords sets the MaxRecords field's value. 13085func (s *DescribeGlobalReplicationGroupsInput) SetMaxRecords(v int64) *DescribeGlobalReplicationGroupsInput { 13086 s.MaxRecords = &v 13087 return s 13088} 13089 13090// SetShowMemberInfo sets the ShowMemberInfo field's value. 13091func (s *DescribeGlobalReplicationGroupsInput) SetShowMemberInfo(v bool) *DescribeGlobalReplicationGroupsInput { 13092 s.ShowMemberInfo = &v 13093 return s 13094} 13095 13096type DescribeGlobalReplicationGroupsOutput struct { 13097 _ struct{} `type:"structure"` 13098 13099 // Indicates the slot configuration and global identifier for each slice group. 13100 GlobalReplicationGroups []*GlobalReplicationGroup `locationNameList:"GlobalReplicationGroup" type:"list"` 13101 13102 // An optional marker returned from a prior request. Use this marker for pagination 13103 // of results from this operation. If this parameter is specified, the response 13104 // includes only records beyond the marker, up to the value specified by MaxRecords. 13105 // > 13106 Marker *string `type:"string"` 13107} 13108 13109// String returns the string representation 13110func (s DescribeGlobalReplicationGroupsOutput) String() string { 13111 return awsutil.Prettify(s) 13112} 13113 13114// GoString returns the string representation 13115func (s DescribeGlobalReplicationGroupsOutput) GoString() string { 13116 return s.String() 13117} 13118 13119// SetGlobalReplicationGroups sets the GlobalReplicationGroups field's value. 13120func (s *DescribeGlobalReplicationGroupsOutput) SetGlobalReplicationGroups(v []*GlobalReplicationGroup) *DescribeGlobalReplicationGroupsOutput { 13121 s.GlobalReplicationGroups = v 13122 return s 13123} 13124 13125// SetMarker sets the Marker field's value. 13126func (s *DescribeGlobalReplicationGroupsOutput) SetMarker(v string) *DescribeGlobalReplicationGroupsOutput { 13127 s.Marker = &v 13128 return s 13129} 13130 13131// Represents the input of a DescribeReplicationGroups operation. 13132type DescribeReplicationGroupsInput struct { 13133 _ struct{} `type:"structure"` 13134 13135 // An optional marker returned from a prior request. Use this marker for pagination 13136 // of results from this operation. If this parameter is specified, the response 13137 // includes only records beyond the marker, up to the value specified by MaxRecords. 13138 Marker *string `type:"string"` 13139 13140 // The maximum number of records to include in the response. If more records 13141 // exist than the specified MaxRecords value, a marker is included in the response 13142 // so that the remaining results can be retrieved. 13143 // 13144 // Default: 100 13145 // 13146 // Constraints: minimum 20; maximum 100. 13147 MaxRecords *int64 `type:"integer"` 13148 13149 // The identifier for the replication group to be described. This parameter 13150 // is not case sensitive. 13151 // 13152 // If you do not specify this parameter, information about all replication groups 13153 // is returned. 13154 ReplicationGroupId *string `type:"string"` 13155} 13156 13157// String returns the string representation 13158func (s DescribeReplicationGroupsInput) String() string { 13159 return awsutil.Prettify(s) 13160} 13161 13162// GoString returns the string representation 13163func (s DescribeReplicationGroupsInput) GoString() string { 13164 return s.String() 13165} 13166 13167// SetMarker sets the Marker field's value. 13168func (s *DescribeReplicationGroupsInput) SetMarker(v string) *DescribeReplicationGroupsInput { 13169 s.Marker = &v 13170 return s 13171} 13172 13173// SetMaxRecords sets the MaxRecords field's value. 13174func (s *DescribeReplicationGroupsInput) SetMaxRecords(v int64) *DescribeReplicationGroupsInput { 13175 s.MaxRecords = &v 13176 return s 13177} 13178 13179// SetReplicationGroupId sets the ReplicationGroupId field's value. 13180func (s *DescribeReplicationGroupsInput) SetReplicationGroupId(v string) *DescribeReplicationGroupsInput { 13181 s.ReplicationGroupId = &v 13182 return s 13183} 13184 13185// Represents the output of a DescribeReplicationGroups operation. 13186type DescribeReplicationGroupsOutput struct { 13187 _ struct{} `type:"structure"` 13188 13189 // Provides an identifier to allow retrieval of paginated results. 13190 Marker *string `type:"string"` 13191 13192 // A list of replication groups. Each item in the list contains detailed information 13193 // about one replication group. 13194 ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"` 13195} 13196 13197// String returns the string representation 13198func (s DescribeReplicationGroupsOutput) String() string { 13199 return awsutil.Prettify(s) 13200} 13201 13202// GoString returns the string representation 13203func (s DescribeReplicationGroupsOutput) GoString() string { 13204 return s.String() 13205} 13206 13207// SetMarker sets the Marker field's value. 13208func (s *DescribeReplicationGroupsOutput) SetMarker(v string) *DescribeReplicationGroupsOutput { 13209 s.Marker = &v 13210 return s 13211} 13212 13213// SetReplicationGroups sets the ReplicationGroups field's value. 13214func (s *DescribeReplicationGroupsOutput) SetReplicationGroups(v []*ReplicationGroup) *DescribeReplicationGroupsOutput { 13215 s.ReplicationGroups = v 13216 return s 13217} 13218 13219// Represents the input of a DescribeReservedCacheNodes operation. 13220type DescribeReservedCacheNodesInput struct { 13221 _ struct{} `type:"structure"` 13222 13223 // The cache node type filter value. Use this parameter to show only those reservations 13224 // matching the specified cache node type. 13225 // 13226 // The following node types are supported by ElastiCache. Generally speaking, 13227 // the current generation types provide more memory and computational power 13228 // at lower cost when compared to their equivalent previous generation counterparts. 13229 // 13230 // * General purpose: Current generation: M6g node types (available only 13231 // for Redis engine version 5.0.6 onward and for Memcached engine version 13232 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 13233 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 13234 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 13235 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 13236 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 13237 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 13238 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 13239 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13240 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13241 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13242 // cache.m3.2xlarge 13243 // 13244 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13245 // cache.c1.xlarge 13246 // 13247 // * Memory optimized: Current generation: R6g node types (available only 13248 // for Redis engine version 5.0.6 onward and for Memcached engine version 13249 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 13250 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 13251 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 13252 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 13253 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 13254 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 13255 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 13256 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 13257 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 13258 // 13259 // Additional node type info 13260 // 13261 // * All current generation instance types are created in Amazon VPC by default. 13262 // 13263 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13264 // 13265 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13266 // 13267 // * Redis configuration variables appendonly and appendfsync are not supported 13268 // on Redis version 2.8.22 and later. 13269 CacheNodeType *string `type:"string"` 13270 13271 // The duration filter value, specified in years or seconds. Use this parameter 13272 // to show only reservations for this duration. 13273 // 13274 // Valid Values: 1 | 3 | 31536000 | 94608000 13275 Duration *string `type:"string"` 13276 13277 // An optional marker returned from a prior request. Use this marker for pagination 13278 // of results from this operation. If this parameter is specified, the response 13279 // includes only records beyond the marker, up to the value specified by MaxRecords. 13280 Marker *string `type:"string"` 13281 13282 // The maximum number of records to include in the response. If more records 13283 // exist than the specified MaxRecords value, a marker is included in the response 13284 // so that the remaining results can be retrieved. 13285 // 13286 // Default: 100 13287 // 13288 // Constraints: minimum 20; maximum 100. 13289 MaxRecords *int64 `type:"integer"` 13290 13291 // The offering type filter value. Use this parameter to show only the available 13292 // offerings matching the specified offering type. 13293 // 13294 // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"|"All 13295 // Upfront"|"Partial Upfront"| "No Upfront" 13296 OfferingType *string `type:"string"` 13297 13298 // The product description filter value. Use this parameter to show only those 13299 // reservations matching the specified product description. 13300 ProductDescription *string `type:"string"` 13301 13302 // The reserved cache node identifier filter value. Use this parameter to show 13303 // only the reservation that matches the specified reservation ID. 13304 ReservedCacheNodeId *string `type:"string"` 13305 13306 // The offering identifier filter value. Use this parameter to show only purchased 13307 // reservations matching the specified offering identifier. 13308 ReservedCacheNodesOfferingId *string `type:"string"` 13309} 13310 13311// String returns the string representation 13312func (s DescribeReservedCacheNodesInput) String() string { 13313 return awsutil.Prettify(s) 13314} 13315 13316// GoString returns the string representation 13317func (s DescribeReservedCacheNodesInput) GoString() string { 13318 return s.String() 13319} 13320 13321// SetCacheNodeType sets the CacheNodeType field's value. 13322func (s *DescribeReservedCacheNodesInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesInput { 13323 s.CacheNodeType = &v 13324 return s 13325} 13326 13327// SetDuration sets the Duration field's value. 13328func (s *DescribeReservedCacheNodesInput) SetDuration(v string) *DescribeReservedCacheNodesInput { 13329 s.Duration = &v 13330 return s 13331} 13332 13333// SetMarker sets the Marker field's value. 13334func (s *DescribeReservedCacheNodesInput) SetMarker(v string) *DescribeReservedCacheNodesInput { 13335 s.Marker = &v 13336 return s 13337} 13338 13339// SetMaxRecords sets the MaxRecords field's value. 13340func (s *DescribeReservedCacheNodesInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesInput { 13341 s.MaxRecords = &v 13342 return s 13343} 13344 13345// SetOfferingType sets the OfferingType field's value. 13346func (s *DescribeReservedCacheNodesInput) SetOfferingType(v string) *DescribeReservedCacheNodesInput { 13347 s.OfferingType = &v 13348 return s 13349} 13350 13351// SetProductDescription sets the ProductDescription field's value. 13352func (s *DescribeReservedCacheNodesInput) SetProductDescription(v string) *DescribeReservedCacheNodesInput { 13353 s.ProductDescription = &v 13354 return s 13355} 13356 13357// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 13358func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodeId(v string) *DescribeReservedCacheNodesInput { 13359 s.ReservedCacheNodeId = &v 13360 return s 13361} 13362 13363// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13364func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesInput { 13365 s.ReservedCacheNodesOfferingId = &v 13366 return s 13367} 13368 13369// Represents the input of a DescribeReservedCacheNodesOfferings operation. 13370type DescribeReservedCacheNodesOfferingsInput struct { 13371 _ struct{} `type:"structure"` 13372 13373 // The cache node type filter value. Use this parameter to show only the available 13374 // offerings matching the specified cache node type. 13375 // 13376 // The following node types are supported by ElastiCache. Generally speaking, 13377 // the current generation types provide more memory and computational power 13378 // at lower cost when compared to their equivalent previous generation counterparts. 13379 // 13380 // * General purpose: Current generation: M6g node types (available only 13381 // for Redis engine version 5.0.6 onward and for Memcached engine version 13382 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 13383 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 13384 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 13385 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 13386 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 13387 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 13388 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 13389 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13390 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13391 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13392 // cache.m3.2xlarge 13393 // 13394 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13395 // cache.c1.xlarge 13396 // 13397 // * Memory optimized: Current generation: R6g node types (available only 13398 // for Redis engine version 5.0.6 onward and for Memcached engine version 13399 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 13400 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 13401 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 13402 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 13403 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 13404 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 13405 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 13406 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 13407 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 13408 // 13409 // Additional node type info 13410 // 13411 // * All current generation instance types are created in Amazon VPC by default. 13412 // 13413 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13414 // 13415 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13416 // 13417 // * Redis configuration variables appendonly and appendfsync are not supported 13418 // on Redis version 2.8.22 and later. 13419 CacheNodeType *string `type:"string"` 13420 13421 // Duration filter value, specified in years or seconds. Use this parameter 13422 // to show only reservations for a given duration. 13423 // 13424 // Valid Values: 1 | 3 | 31536000 | 94608000 13425 Duration *string `type:"string"` 13426 13427 // An optional marker returned from a prior request. Use this marker for pagination 13428 // of results from this operation. If this parameter is specified, the response 13429 // includes only records beyond the marker, up to the value specified by MaxRecords. 13430 Marker *string `type:"string"` 13431 13432 // The maximum number of records to include in the response. If more records 13433 // exist than the specified MaxRecords value, a marker is included in the response 13434 // so that the remaining results can be retrieved. 13435 // 13436 // Default: 100 13437 // 13438 // Constraints: minimum 20; maximum 100. 13439 MaxRecords *int64 `type:"integer"` 13440 13441 // The offering type filter value. Use this parameter to show only the available 13442 // offerings matching the specified offering type. 13443 // 13444 // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 13445 // |"All Upfront"|"Partial Upfront"| "No Upfront" 13446 OfferingType *string `type:"string"` 13447 13448 // The product description filter value. Use this parameter to show only the 13449 // available offerings matching the specified product description. 13450 ProductDescription *string `type:"string"` 13451 13452 // The offering identifier filter value. Use this parameter to show only the 13453 // available offering that matches the specified reservation identifier. 13454 // 13455 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 13456 ReservedCacheNodesOfferingId *string `type:"string"` 13457} 13458 13459// String returns the string representation 13460func (s DescribeReservedCacheNodesOfferingsInput) String() string { 13461 return awsutil.Prettify(s) 13462} 13463 13464// GoString returns the string representation 13465func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { 13466 return s.String() 13467} 13468 13469// SetCacheNodeType sets the CacheNodeType field's value. 13470func (s *DescribeReservedCacheNodesOfferingsInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesOfferingsInput { 13471 s.CacheNodeType = &v 13472 return s 13473} 13474 13475// SetDuration sets the Duration field's value. 13476func (s *DescribeReservedCacheNodesOfferingsInput) SetDuration(v string) *DescribeReservedCacheNodesOfferingsInput { 13477 s.Duration = &v 13478 return s 13479} 13480 13481// SetMarker sets the Marker field's value. 13482func (s *DescribeReservedCacheNodesOfferingsInput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsInput { 13483 s.Marker = &v 13484 return s 13485} 13486 13487// SetMaxRecords sets the MaxRecords field's value. 13488func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesOfferingsInput { 13489 s.MaxRecords = &v 13490 return s 13491} 13492 13493// SetOfferingType sets the OfferingType field's value. 13494func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { 13495 s.OfferingType = &v 13496 return s 13497} 13498 13499// SetProductDescription sets the ProductDescription field's value. 13500func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { 13501 s.ProductDescription = &v 13502 return s 13503} 13504 13505// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13506func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { 13507 s.ReservedCacheNodesOfferingId = &v 13508 return s 13509} 13510 13511// Represents the output of a DescribeReservedCacheNodesOfferings operation. 13512type DescribeReservedCacheNodesOfferingsOutput struct { 13513 _ struct{} `type:"structure"` 13514 13515 // Provides an identifier to allow retrieval of paginated results. 13516 Marker *string `type:"string"` 13517 13518 // A list of reserved cache node offerings. Each element in the list contains 13519 // detailed information about one offering. 13520 ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` 13521} 13522 13523// String returns the string representation 13524func (s DescribeReservedCacheNodesOfferingsOutput) String() string { 13525 return awsutil.Prettify(s) 13526} 13527 13528// GoString returns the string representation 13529func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { 13530 return s.String() 13531} 13532 13533// SetMarker sets the Marker field's value. 13534func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { 13535 s.Marker = &v 13536 return s 13537} 13538 13539// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. 13540func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { 13541 s.ReservedCacheNodesOfferings = v 13542 return s 13543} 13544 13545// Represents the output of a DescribeReservedCacheNodes operation. 13546type DescribeReservedCacheNodesOutput struct { 13547 _ struct{} `type:"structure"` 13548 13549 // Provides an identifier to allow retrieval of paginated results. 13550 Marker *string `type:"string"` 13551 13552 // A list of reserved cache nodes. Each element in the list contains detailed 13553 // information about one node. 13554 ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` 13555} 13556 13557// String returns the string representation 13558func (s DescribeReservedCacheNodesOutput) String() string { 13559 return awsutil.Prettify(s) 13560} 13561 13562// GoString returns the string representation 13563func (s DescribeReservedCacheNodesOutput) GoString() string { 13564 return s.String() 13565} 13566 13567// SetMarker sets the Marker field's value. 13568func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { 13569 s.Marker = &v 13570 return s 13571} 13572 13573// SetReservedCacheNodes sets the ReservedCacheNodes field's value. 13574func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { 13575 s.ReservedCacheNodes = v 13576 return s 13577} 13578 13579type DescribeServiceUpdatesInput struct { 13580 _ struct{} `type:"structure"` 13581 13582 // An optional marker returned from a prior request. Use this marker for pagination 13583 // of results from this operation. If this parameter is specified, the response 13584 // includes only records beyond the marker, up to the value specified by MaxRecords. 13585 Marker *string `type:"string"` 13586 13587 // The maximum number of records to include in the response 13588 MaxRecords *int64 `type:"integer"` 13589 13590 // The unique ID of the service update 13591 ServiceUpdateName *string `type:"string"` 13592 13593 // The status of the service update 13594 ServiceUpdateStatus []*string `type:"list"` 13595} 13596 13597// String returns the string representation 13598func (s DescribeServiceUpdatesInput) String() string { 13599 return awsutil.Prettify(s) 13600} 13601 13602// GoString returns the string representation 13603func (s DescribeServiceUpdatesInput) GoString() string { 13604 return s.String() 13605} 13606 13607// SetMarker sets the Marker field's value. 13608func (s *DescribeServiceUpdatesInput) SetMarker(v string) *DescribeServiceUpdatesInput { 13609 s.Marker = &v 13610 return s 13611} 13612 13613// SetMaxRecords sets the MaxRecords field's value. 13614func (s *DescribeServiceUpdatesInput) SetMaxRecords(v int64) *DescribeServiceUpdatesInput { 13615 s.MaxRecords = &v 13616 return s 13617} 13618 13619// SetServiceUpdateName sets the ServiceUpdateName field's value. 13620func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { 13621 s.ServiceUpdateName = &v 13622 return s 13623} 13624 13625// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 13626func (s *DescribeServiceUpdatesInput) SetServiceUpdateStatus(v []*string) *DescribeServiceUpdatesInput { 13627 s.ServiceUpdateStatus = v 13628 return s 13629} 13630 13631type DescribeServiceUpdatesOutput struct { 13632 _ struct{} `type:"structure"` 13633 13634 // An optional marker returned from a prior request. Use this marker for pagination 13635 // of results from this operation. If this parameter is specified, the response 13636 // includes only records beyond the marker, up to the value specified by MaxRecords. 13637 Marker *string `type:"string"` 13638 13639 // A list of service updates 13640 ServiceUpdates []*ServiceUpdate `locationNameList:"ServiceUpdate" type:"list"` 13641} 13642 13643// String returns the string representation 13644func (s DescribeServiceUpdatesOutput) String() string { 13645 return awsutil.Prettify(s) 13646} 13647 13648// GoString returns the string representation 13649func (s DescribeServiceUpdatesOutput) GoString() string { 13650 return s.String() 13651} 13652 13653// SetMarker sets the Marker field's value. 13654func (s *DescribeServiceUpdatesOutput) SetMarker(v string) *DescribeServiceUpdatesOutput { 13655 s.Marker = &v 13656 return s 13657} 13658 13659// SetServiceUpdates sets the ServiceUpdates field's value. 13660func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { 13661 s.ServiceUpdates = v 13662 return s 13663} 13664 13665// Represents the input of a DescribeSnapshotsMessage operation. 13666type DescribeSnapshotsInput struct { 13667 _ struct{} `type:"structure"` 13668 13669 // A user-supplied cluster identifier. If this parameter is specified, only 13670 // snapshots associated with that specific cluster are described. 13671 CacheClusterId *string `type:"string"` 13672 13673 // An optional marker returned from a prior request. Use this marker for pagination 13674 // of results from this operation. If this parameter is specified, the response 13675 // includes only records beyond the marker, up to the value specified by MaxRecords. 13676 Marker *string `type:"string"` 13677 13678 // The maximum number of records to include in the response. If more records 13679 // exist than the specified MaxRecords value, a marker is included in the response 13680 // so that the remaining results can be retrieved. 13681 // 13682 // Default: 50 13683 // 13684 // Constraints: minimum 20; maximum 50. 13685 MaxRecords *int64 `type:"integer"` 13686 13687 // A user-supplied replication group identifier. If this parameter is specified, 13688 // only snapshots associated with that specific replication group are described. 13689 ReplicationGroupId *string `type:"string"` 13690 13691 // A Boolean value which if true, the node group (shard) configuration is included 13692 // in the snapshot description. 13693 ShowNodeGroupConfig *bool `type:"boolean"` 13694 13695 // A user-supplied name of the snapshot. If this parameter is specified, only 13696 // this snapshot are described. 13697 SnapshotName *string `type:"string"` 13698 13699 // If set to system, the output shows snapshots that were automatically created 13700 // by ElastiCache. If set to user the output shows snapshots that were manually 13701 // created. If omitted, the output shows both automatically and manually created 13702 // snapshots. 13703 SnapshotSource *string `type:"string"` 13704} 13705 13706// String returns the string representation 13707func (s DescribeSnapshotsInput) String() string { 13708 return awsutil.Prettify(s) 13709} 13710 13711// GoString returns the string representation 13712func (s DescribeSnapshotsInput) GoString() string { 13713 return s.String() 13714} 13715 13716// SetCacheClusterId sets the CacheClusterId field's value. 13717func (s *DescribeSnapshotsInput) SetCacheClusterId(v string) *DescribeSnapshotsInput { 13718 s.CacheClusterId = &v 13719 return s 13720} 13721 13722// SetMarker sets the Marker field's value. 13723func (s *DescribeSnapshotsInput) SetMarker(v string) *DescribeSnapshotsInput { 13724 s.Marker = &v 13725 return s 13726} 13727 13728// SetMaxRecords sets the MaxRecords field's value. 13729func (s *DescribeSnapshotsInput) SetMaxRecords(v int64) *DescribeSnapshotsInput { 13730 s.MaxRecords = &v 13731 return s 13732} 13733 13734// SetReplicationGroupId sets the ReplicationGroupId field's value. 13735func (s *DescribeSnapshotsInput) SetReplicationGroupId(v string) *DescribeSnapshotsInput { 13736 s.ReplicationGroupId = &v 13737 return s 13738} 13739 13740// SetShowNodeGroupConfig sets the ShowNodeGroupConfig field's value. 13741func (s *DescribeSnapshotsInput) SetShowNodeGroupConfig(v bool) *DescribeSnapshotsInput { 13742 s.ShowNodeGroupConfig = &v 13743 return s 13744} 13745 13746// SetSnapshotName sets the SnapshotName field's value. 13747func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { 13748 s.SnapshotName = &v 13749 return s 13750} 13751 13752// SetSnapshotSource sets the SnapshotSource field's value. 13753func (s *DescribeSnapshotsInput) SetSnapshotSource(v string) *DescribeSnapshotsInput { 13754 s.SnapshotSource = &v 13755 return s 13756} 13757 13758// Represents the output of a DescribeSnapshots operation. 13759type DescribeSnapshotsOutput struct { 13760 _ struct{} `type:"structure"` 13761 13762 // An optional marker returned from a prior request. Use this marker for pagination 13763 // of results from this operation. If this parameter is specified, the response 13764 // includes only records beyond the marker, up to the value specified by MaxRecords. 13765 Marker *string `type:"string"` 13766 13767 // A list of snapshots. Each item in the list contains detailed information 13768 // about one snapshot. 13769 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 13770} 13771 13772// String returns the string representation 13773func (s DescribeSnapshotsOutput) String() string { 13774 return awsutil.Prettify(s) 13775} 13776 13777// GoString returns the string representation 13778func (s DescribeSnapshotsOutput) GoString() string { 13779 return s.String() 13780} 13781 13782// SetMarker sets the Marker field's value. 13783func (s *DescribeSnapshotsOutput) SetMarker(v string) *DescribeSnapshotsOutput { 13784 s.Marker = &v 13785 return s 13786} 13787 13788// SetSnapshots sets the Snapshots field's value. 13789func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { 13790 s.Snapshots = v 13791 return s 13792} 13793 13794type DescribeUpdateActionsInput struct { 13795 _ struct{} `type:"structure"` 13796 13797 // The cache cluster IDs 13798 CacheClusterIds []*string `type:"list"` 13799 13800 // The Elasticache engine to which the update applies. Either Redis or Memcached 13801 Engine *string `type:"string"` 13802 13803 // An optional marker returned from a prior request. Use this marker for pagination 13804 // of results from this operation. If this parameter is specified, the response 13805 // includes only records beyond the marker, up to the value specified by MaxRecords. 13806 Marker *string `type:"string"` 13807 13808 // The maximum number of records to include in the response 13809 MaxRecords *int64 `type:"integer"` 13810 13811 // The replication group IDs 13812 ReplicationGroupIds []*string `type:"list"` 13813 13814 // The unique ID of the service update 13815 ServiceUpdateName *string `type:"string"` 13816 13817 // The status of the service update 13818 ServiceUpdateStatus []*string `type:"list"` 13819 13820 // The range of time specified to search for service updates that are in available 13821 // status 13822 ServiceUpdateTimeRange *TimeRangeFilter `type:"structure"` 13823 13824 // Dictates whether to include node level update status in the response 13825 ShowNodeLevelUpdateStatus *bool `type:"boolean"` 13826 13827 // The status of the update action. 13828 UpdateActionStatus []*string `type:"list"` 13829} 13830 13831// String returns the string representation 13832func (s DescribeUpdateActionsInput) String() string { 13833 return awsutil.Prettify(s) 13834} 13835 13836// GoString returns the string representation 13837func (s DescribeUpdateActionsInput) GoString() string { 13838 return s.String() 13839} 13840 13841// SetCacheClusterIds sets the CacheClusterIds field's value. 13842func (s *DescribeUpdateActionsInput) SetCacheClusterIds(v []*string) *DescribeUpdateActionsInput { 13843 s.CacheClusterIds = v 13844 return s 13845} 13846 13847// SetEngine sets the Engine field's value. 13848func (s *DescribeUpdateActionsInput) SetEngine(v string) *DescribeUpdateActionsInput { 13849 s.Engine = &v 13850 return s 13851} 13852 13853// SetMarker sets the Marker field's value. 13854func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { 13855 s.Marker = &v 13856 return s 13857} 13858 13859// SetMaxRecords sets the MaxRecords field's value. 13860func (s *DescribeUpdateActionsInput) SetMaxRecords(v int64) *DescribeUpdateActionsInput { 13861 s.MaxRecords = &v 13862 return s 13863} 13864 13865// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 13866func (s *DescribeUpdateActionsInput) SetReplicationGroupIds(v []*string) *DescribeUpdateActionsInput { 13867 s.ReplicationGroupIds = v 13868 return s 13869} 13870 13871// SetServiceUpdateName sets the ServiceUpdateName field's value. 13872func (s *DescribeUpdateActionsInput) SetServiceUpdateName(v string) *DescribeUpdateActionsInput { 13873 s.ServiceUpdateName = &v 13874 return s 13875} 13876 13877// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 13878func (s *DescribeUpdateActionsInput) SetServiceUpdateStatus(v []*string) *DescribeUpdateActionsInput { 13879 s.ServiceUpdateStatus = v 13880 return s 13881} 13882 13883// SetServiceUpdateTimeRange sets the ServiceUpdateTimeRange field's value. 13884func (s *DescribeUpdateActionsInput) SetServiceUpdateTimeRange(v *TimeRangeFilter) *DescribeUpdateActionsInput { 13885 s.ServiceUpdateTimeRange = v 13886 return s 13887} 13888 13889// SetShowNodeLevelUpdateStatus sets the ShowNodeLevelUpdateStatus field's value. 13890func (s *DescribeUpdateActionsInput) SetShowNodeLevelUpdateStatus(v bool) *DescribeUpdateActionsInput { 13891 s.ShowNodeLevelUpdateStatus = &v 13892 return s 13893} 13894 13895// SetUpdateActionStatus sets the UpdateActionStatus field's value. 13896func (s *DescribeUpdateActionsInput) SetUpdateActionStatus(v []*string) *DescribeUpdateActionsInput { 13897 s.UpdateActionStatus = v 13898 return s 13899} 13900 13901type DescribeUpdateActionsOutput struct { 13902 _ struct{} `type:"structure"` 13903 13904 // An optional marker returned from a prior request. Use this marker for pagination 13905 // of results from this operation. If this parameter is specified, the response 13906 // includes only records beyond the marker, up to the value specified by MaxRecords. 13907 Marker *string `type:"string"` 13908 13909 // Returns a list of update actions 13910 UpdateActions []*UpdateAction `locationNameList:"UpdateAction" type:"list"` 13911} 13912 13913// String returns the string representation 13914func (s DescribeUpdateActionsOutput) String() string { 13915 return awsutil.Prettify(s) 13916} 13917 13918// GoString returns the string representation 13919func (s DescribeUpdateActionsOutput) GoString() string { 13920 return s.String() 13921} 13922 13923// SetMarker sets the Marker field's value. 13924func (s *DescribeUpdateActionsOutput) SetMarker(v string) *DescribeUpdateActionsOutput { 13925 s.Marker = &v 13926 return s 13927} 13928 13929// SetUpdateActions sets the UpdateActions field's value. 13930func (s *DescribeUpdateActionsOutput) SetUpdateActions(v []*UpdateAction) *DescribeUpdateActionsOutput { 13931 s.UpdateActions = v 13932 return s 13933} 13934 13935type DescribeUserGroupsInput struct { 13936 _ struct{} `type:"structure"` 13937 13938 // An optional marker returned from a prior request. Use this marker for pagination 13939 // of results from this operation. If this parameter is specified, the response 13940 // includes only records beyond the marker, up to the value specified by MaxRecords. 13941 // > 13942 Marker *string `type:"string"` 13943 13944 // The maximum number of records to include in the response. If more records 13945 // exist than the specified MaxRecords value, a marker is included in the response 13946 // so that the remaining results can be retrieved. 13947 MaxRecords *int64 `type:"integer"` 13948 13949 // The ID of the user group. 13950 UserGroupId *string `type:"string"` 13951} 13952 13953// String returns the string representation 13954func (s DescribeUserGroupsInput) String() string { 13955 return awsutil.Prettify(s) 13956} 13957 13958// GoString returns the string representation 13959func (s DescribeUserGroupsInput) GoString() string { 13960 return s.String() 13961} 13962 13963// SetMarker sets the Marker field's value. 13964func (s *DescribeUserGroupsInput) SetMarker(v string) *DescribeUserGroupsInput { 13965 s.Marker = &v 13966 return s 13967} 13968 13969// SetMaxRecords sets the MaxRecords field's value. 13970func (s *DescribeUserGroupsInput) SetMaxRecords(v int64) *DescribeUserGroupsInput { 13971 s.MaxRecords = &v 13972 return s 13973} 13974 13975// SetUserGroupId sets the UserGroupId field's value. 13976func (s *DescribeUserGroupsInput) SetUserGroupId(v string) *DescribeUserGroupsInput { 13977 s.UserGroupId = &v 13978 return s 13979} 13980 13981type DescribeUserGroupsOutput struct { 13982 _ struct{} `type:"structure"` 13983 13984 // An optional marker returned from a prior request. Use this marker for pagination 13985 // of results from this operation. If this parameter is specified, the response 13986 // includes only records beyond the marker, up to the value specified by MaxRecords. 13987 // > 13988 Marker *string `type:"string"` 13989 13990 // Returns a list of user groups. 13991 UserGroups []*UserGroup `type:"list"` 13992} 13993 13994// String returns the string representation 13995func (s DescribeUserGroupsOutput) String() string { 13996 return awsutil.Prettify(s) 13997} 13998 13999// GoString returns the string representation 14000func (s DescribeUserGroupsOutput) GoString() string { 14001 return s.String() 14002} 14003 14004// SetMarker sets the Marker field's value. 14005func (s *DescribeUserGroupsOutput) SetMarker(v string) *DescribeUserGroupsOutput { 14006 s.Marker = &v 14007 return s 14008} 14009 14010// SetUserGroups sets the UserGroups field's value. 14011func (s *DescribeUserGroupsOutput) SetUserGroups(v []*UserGroup) *DescribeUserGroupsOutput { 14012 s.UserGroups = v 14013 return s 14014} 14015 14016type DescribeUsersInput struct { 14017 _ struct{} `type:"structure"` 14018 14019 // The Redis engine. 14020 Engine *string `type:"string"` 14021 14022 // Filter to determine the list of User IDs to return. 14023 Filters []*Filter `type:"list"` 14024 14025 // An optional marker returned from a prior request. Use this marker for pagination 14026 // of results from this operation. If this parameter is specified, the response 14027 // includes only records beyond the marker, up to the value specified by MaxRecords. 14028 // > 14029 Marker *string `type:"string"` 14030 14031 // The maximum number of records to include in the response. If more records 14032 // exist than the specified MaxRecords value, a marker is included in the response 14033 // so that the remaining results can be retrieved. 14034 MaxRecords *int64 `type:"integer"` 14035 14036 // The ID of the user. 14037 UserId *string `min:"1" type:"string"` 14038} 14039 14040// String returns the string representation 14041func (s DescribeUsersInput) String() string { 14042 return awsutil.Prettify(s) 14043} 14044 14045// GoString returns the string representation 14046func (s DescribeUsersInput) GoString() string { 14047 return s.String() 14048} 14049 14050// Validate inspects the fields of the type to determine if they are valid. 14051func (s *DescribeUsersInput) Validate() error { 14052 invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"} 14053 if s.UserId != nil && len(*s.UserId) < 1 { 14054 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 14055 } 14056 if s.Filters != nil { 14057 for i, v := range s.Filters { 14058 if v == nil { 14059 continue 14060 } 14061 if err := v.Validate(); err != nil { 14062 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 14063 } 14064 } 14065 } 14066 14067 if invalidParams.Len() > 0 { 14068 return invalidParams 14069 } 14070 return nil 14071} 14072 14073// SetEngine sets the Engine field's value. 14074func (s *DescribeUsersInput) SetEngine(v string) *DescribeUsersInput { 14075 s.Engine = &v 14076 return s 14077} 14078 14079// SetFilters sets the Filters field's value. 14080func (s *DescribeUsersInput) SetFilters(v []*Filter) *DescribeUsersInput { 14081 s.Filters = v 14082 return s 14083} 14084 14085// SetMarker sets the Marker field's value. 14086func (s *DescribeUsersInput) SetMarker(v string) *DescribeUsersInput { 14087 s.Marker = &v 14088 return s 14089} 14090 14091// SetMaxRecords sets the MaxRecords field's value. 14092func (s *DescribeUsersInput) SetMaxRecords(v int64) *DescribeUsersInput { 14093 s.MaxRecords = &v 14094 return s 14095} 14096 14097// SetUserId sets the UserId field's value. 14098func (s *DescribeUsersInput) SetUserId(v string) *DescribeUsersInput { 14099 s.UserId = &v 14100 return s 14101} 14102 14103type DescribeUsersOutput struct { 14104 _ struct{} `type:"structure"` 14105 14106 // An optional marker returned from a prior request. Use this marker for pagination 14107 // of results from this operation. If this parameter is specified, the response 14108 // includes only records beyond the marker, up to the value specified by MaxRecords. 14109 // > 14110 Marker *string `type:"string"` 14111 14112 // A list of users. 14113 Users []*User `type:"list"` 14114} 14115 14116// String returns the string representation 14117func (s DescribeUsersOutput) String() string { 14118 return awsutil.Prettify(s) 14119} 14120 14121// GoString returns the string representation 14122func (s DescribeUsersOutput) GoString() string { 14123 return s.String() 14124} 14125 14126// SetMarker sets the Marker field's value. 14127func (s *DescribeUsersOutput) SetMarker(v string) *DescribeUsersOutput { 14128 s.Marker = &v 14129 return s 14130} 14131 14132// SetUsers sets the Users field's value. 14133func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput { 14134 s.Users = v 14135 return s 14136} 14137 14138// Configuration details of either a CloudWatch Logs destination or Kinesis 14139// Data Firehose destination. 14140type DestinationDetails struct { 14141 _ struct{} `type:"structure"` 14142 14143 // The configuration details of the CloudWatch Logs destination. 14144 CloudWatchLogsDetails *CloudWatchLogsDestinationDetails `type:"structure"` 14145 14146 // The configuration details of the Kinesis Data Firehose destination. 14147 KinesisFirehoseDetails *KinesisFirehoseDestinationDetails `type:"structure"` 14148} 14149 14150// String returns the string representation 14151func (s DestinationDetails) String() string { 14152 return awsutil.Prettify(s) 14153} 14154 14155// GoString returns the string representation 14156func (s DestinationDetails) GoString() string { 14157 return s.String() 14158} 14159 14160// SetCloudWatchLogsDetails sets the CloudWatchLogsDetails field's value. 14161func (s *DestinationDetails) SetCloudWatchLogsDetails(v *CloudWatchLogsDestinationDetails) *DestinationDetails { 14162 s.CloudWatchLogsDetails = v 14163 return s 14164} 14165 14166// SetKinesisFirehoseDetails sets the KinesisFirehoseDetails field's value. 14167func (s *DestinationDetails) SetKinesisFirehoseDetails(v *KinesisFirehoseDestinationDetails) *DestinationDetails { 14168 s.KinesisFirehoseDetails = v 14169 return s 14170} 14171 14172type DisassociateGlobalReplicationGroupInput struct { 14173 _ struct{} `type:"structure"` 14174 14175 // The name of the Global datastore 14176 // 14177 // GlobalReplicationGroupId is a required field 14178 GlobalReplicationGroupId *string `type:"string" required:"true"` 14179 14180 // The name of the secondary cluster you wish to remove from the Global datastore 14181 // 14182 // ReplicationGroupId is a required field 14183 ReplicationGroupId *string `type:"string" required:"true"` 14184 14185 // The Amazon region of secondary cluster you wish to remove from the Global 14186 // datastore 14187 // 14188 // ReplicationGroupRegion is a required field 14189 ReplicationGroupRegion *string `type:"string" required:"true"` 14190} 14191 14192// String returns the string representation 14193func (s DisassociateGlobalReplicationGroupInput) String() string { 14194 return awsutil.Prettify(s) 14195} 14196 14197// GoString returns the string representation 14198func (s DisassociateGlobalReplicationGroupInput) GoString() string { 14199 return s.String() 14200} 14201 14202// Validate inspects the fields of the type to determine if they are valid. 14203func (s *DisassociateGlobalReplicationGroupInput) Validate() error { 14204 invalidParams := request.ErrInvalidParams{Context: "DisassociateGlobalReplicationGroupInput"} 14205 if s.GlobalReplicationGroupId == nil { 14206 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 14207 } 14208 if s.ReplicationGroupId == nil { 14209 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 14210 } 14211 if s.ReplicationGroupRegion == nil { 14212 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 14213 } 14214 14215 if invalidParams.Len() > 0 { 14216 return invalidParams 14217 } 14218 return nil 14219} 14220 14221// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 14222func (s *DisassociateGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 14223 s.GlobalReplicationGroupId = &v 14224 return s 14225} 14226 14227// SetReplicationGroupId sets the ReplicationGroupId field's value. 14228func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 14229 s.ReplicationGroupId = &v 14230 return s 14231} 14232 14233// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 14234func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupRegion(v string) *DisassociateGlobalReplicationGroupInput { 14235 s.ReplicationGroupRegion = &v 14236 return s 14237} 14238 14239type DisassociateGlobalReplicationGroupOutput struct { 14240 _ struct{} `type:"structure"` 14241 14242 // Consists of a primary cluster that accepts writes and an associated secondary 14243 // cluster that resides in a different Amazon region. The secondary cluster 14244 // accepts only reads. The primary cluster automatically replicates updates 14245 // to the secondary cluster. 14246 // 14247 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 14248 // datastore, which is what you use to associate a secondary cluster. 14249 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 14250} 14251 14252// String returns the string representation 14253func (s DisassociateGlobalReplicationGroupOutput) String() string { 14254 return awsutil.Prettify(s) 14255} 14256 14257// GoString returns the string representation 14258func (s DisassociateGlobalReplicationGroupOutput) GoString() string { 14259 return s.String() 14260} 14261 14262// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 14263func (s *DisassociateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DisassociateGlobalReplicationGroupOutput { 14264 s.GlobalReplicationGroup = v 14265 return s 14266} 14267 14268// Provides ownership and status information for an Amazon EC2 security group. 14269type EC2SecurityGroup struct { 14270 _ struct{} `type:"structure"` 14271 14272 // The name of the Amazon EC2 security group. 14273 EC2SecurityGroupName *string `type:"string"` 14274 14275 // The Amazon account ID of the Amazon EC2 security group owner. 14276 EC2SecurityGroupOwnerId *string `type:"string"` 14277 14278 // The status of the Amazon EC2 security group. 14279 Status *string `type:"string"` 14280} 14281 14282// String returns the string representation 14283func (s EC2SecurityGroup) String() string { 14284 return awsutil.Prettify(s) 14285} 14286 14287// GoString returns the string representation 14288func (s EC2SecurityGroup) GoString() string { 14289 return s.String() 14290} 14291 14292// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 14293func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 14294 s.EC2SecurityGroupName = &v 14295 return s 14296} 14297 14298// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 14299func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 14300 s.EC2SecurityGroupOwnerId = &v 14301 return s 14302} 14303 14304// SetStatus sets the Status field's value. 14305func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 14306 s.Status = &v 14307 return s 14308} 14309 14310// Represents the information required for client programs to connect to a cache 14311// node. 14312type Endpoint struct { 14313 _ struct{} `type:"structure"` 14314 14315 // The DNS hostname of the cache node. 14316 Address *string `type:"string"` 14317 14318 // The port number that the cache engine is listening on. 14319 Port *int64 `type:"integer"` 14320} 14321 14322// String returns the string representation 14323func (s Endpoint) String() string { 14324 return awsutil.Prettify(s) 14325} 14326 14327// GoString returns the string representation 14328func (s Endpoint) GoString() string { 14329 return s.String() 14330} 14331 14332// SetAddress sets the Address field's value. 14333func (s *Endpoint) SetAddress(v string) *Endpoint { 14334 s.Address = &v 14335 return s 14336} 14337 14338// SetPort sets the Port field's value. 14339func (s *Endpoint) SetPort(v int64) *Endpoint { 14340 s.Port = &v 14341 return s 14342} 14343 14344// Represents the output of a DescribeEngineDefaultParameters operation. 14345type EngineDefaults struct { 14346 _ struct{} `type:"structure"` 14347 14348 // A list of parameters specific to a particular cache node type. Each element 14349 // in the list contains detailed information about one parameter. 14350 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 14351 14352 // Specifies the name of the cache parameter group family to which the engine 14353 // default parameters apply. 14354 // 14355 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 14356 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 14357 CacheParameterGroupFamily *string `type:"string"` 14358 14359 // Provides an identifier to allow retrieval of paginated results. 14360 Marker *string `type:"string"` 14361 14362 // Contains a list of engine default parameters. 14363 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 14364} 14365 14366// String returns the string representation 14367func (s EngineDefaults) String() string { 14368 return awsutil.Prettify(s) 14369} 14370 14371// GoString returns the string representation 14372func (s EngineDefaults) GoString() string { 14373 return s.String() 14374} 14375 14376// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 14377func (s *EngineDefaults) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *EngineDefaults { 14378 s.CacheNodeTypeSpecificParameters = v 14379 return s 14380} 14381 14382// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 14383func (s *EngineDefaults) SetCacheParameterGroupFamily(v string) *EngineDefaults { 14384 s.CacheParameterGroupFamily = &v 14385 return s 14386} 14387 14388// SetMarker sets the Marker field's value. 14389func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { 14390 s.Marker = &v 14391 return s 14392} 14393 14394// SetParameters sets the Parameters field's value. 14395func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { 14396 s.Parameters = v 14397 return s 14398} 14399 14400// Represents a single occurrence of something interesting within the system. 14401// Some examples of events are creating a cluster, adding or removing a cache 14402// node, or rebooting a node. 14403type Event struct { 14404 _ struct{} `type:"structure"` 14405 14406 // The date and time when the event occurred. 14407 Date *time.Time `type:"timestamp"` 14408 14409 // The text of the event. 14410 Message *string `type:"string"` 14411 14412 // The identifier for the source of the event. For example, if the event occurred 14413 // at the cluster level, the identifier would be the name of the cluster. 14414 SourceIdentifier *string `type:"string"` 14415 14416 // Specifies the origin of this event - a cluster, a parameter group, a security 14417 // group, etc. 14418 SourceType *string `type:"string" enum:"SourceType"` 14419} 14420 14421// String returns the string representation 14422func (s Event) String() string { 14423 return awsutil.Prettify(s) 14424} 14425 14426// GoString returns the string representation 14427func (s Event) GoString() string { 14428 return s.String() 14429} 14430 14431// SetDate sets the Date field's value. 14432func (s *Event) SetDate(v time.Time) *Event { 14433 s.Date = &v 14434 return s 14435} 14436 14437// SetMessage sets the Message field's value. 14438func (s *Event) SetMessage(v string) *Event { 14439 s.Message = &v 14440 return s 14441} 14442 14443// SetSourceIdentifier sets the SourceIdentifier field's value. 14444func (s *Event) SetSourceIdentifier(v string) *Event { 14445 s.SourceIdentifier = &v 14446 return s 14447} 14448 14449// SetSourceType sets the SourceType field's value. 14450func (s *Event) SetSourceType(v string) *Event { 14451 s.SourceType = &v 14452 return s 14453} 14454 14455type FailoverGlobalReplicationGroupInput struct { 14456 _ struct{} `type:"structure"` 14457 14458 // The name of the Global datastore 14459 // 14460 // GlobalReplicationGroupId is a required field 14461 GlobalReplicationGroupId *string `type:"string" required:"true"` 14462 14463 // The Amazon region of the primary cluster of the Global datastore 14464 // 14465 // PrimaryRegion is a required field 14466 PrimaryRegion *string `type:"string" required:"true"` 14467 14468 // The name of the primary replication group 14469 // 14470 // PrimaryReplicationGroupId is a required field 14471 PrimaryReplicationGroupId *string `type:"string" required:"true"` 14472} 14473 14474// String returns the string representation 14475func (s FailoverGlobalReplicationGroupInput) String() string { 14476 return awsutil.Prettify(s) 14477} 14478 14479// GoString returns the string representation 14480func (s FailoverGlobalReplicationGroupInput) GoString() string { 14481 return s.String() 14482} 14483 14484// Validate inspects the fields of the type to determine if they are valid. 14485func (s *FailoverGlobalReplicationGroupInput) Validate() error { 14486 invalidParams := request.ErrInvalidParams{Context: "FailoverGlobalReplicationGroupInput"} 14487 if s.GlobalReplicationGroupId == nil { 14488 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 14489 } 14490 if s.PrimaryRegion == nil { 14491 invalidParams.Add(request.NewErrParamRequired("PrimaryRegion")) 14492 } 14493 if s.PrimaryReplicationGroupId == nil { 14494 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 14495 } 14496 14497 if invalidParams.Len() > 0 { 14498 return invalidParams 14499 } 14500 return nil 14501} 14502 14503// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 14504func (s *FailoverGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 14505 s.GlobalReplicationGroupId = &v 14506 return s 14507} 14508 14509// SetPrimaryRegion sets the PrimaryRegion field's value. 14510func (s *FailoverGlobalReplicationGroupInput) SetPrimaryRegion(v string) *FailoverGlobalReplicationGroupInput { 14511 s.PrimaryRegion = &v 14512 return s 14513} 14514 14515// SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 14516func (s *FailoverGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 14517 s.PrimaryReplicationGroupId = &v 14518 return s 14519} 14520 14521type FailoverGlobalReplicationGroupOutput struct { 14522 _ struct{} `type:"structure"` 14523 14524 // Consists of a primary cluster that accepts writes and an associated secondary 14525 // cluster that resides in a different Amazon region. The secondary cluster 14526 // accepts only reads. The primary cluster automatically replicates updates 14527 // to the secondary cluster. 14528 // 14529 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 14530 // datastore, which is what you use to associate a secondary cluster. 14531 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 14532} 14533 14534// String returns the string representation 14535func (s FailoverGlobalReplicationGroupOutput) String() string { 14536 return awsutil.Prettify(s) 14537} 14538 14539// GoString returns the string representation 14540func (s FailoverGlobalReplicationGroupOutput) GoString() string { 14541 return s.String() 14542} 14543 14544// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 14545func (s *FailoverGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *FailoverGlobalReplicationGroupOutput { 14546 s.GlobalReplicationGroup = v 14547 return s 14548} 14549 14550// Used to streamline results of a search based on the property being filtered. 14551type Filter struct { 14552 _ struct{} `type:"structure"` 14553 14554 // The property being filtered. For example, UserId. 14555 // 14556 // Name is a required field 14557 Name *string `type:"string" required:"true"` 14558 14559 // The property values to filter on. For example, "user-123". 14560 // 14561 // Values is a required field 14562 Values []*string `min:"1" type:"list" required:"true"` 14563} 14564 14565// String returns the string representation 14566func (s Filter) String() string { 14567 return awsutil.Prettify(s) 14568} 14569 14570// GoString returns the string representation 14571func (s Filter) GoString() string { 14572 return s.String() 14573} 14574 14575// Validate inspects the fields of the type to determine if they are valid. 14576func (s *Filter) Validate() error { 14577 invalidParams := request.ErrInvalidParams{Context: "Filter"} 14578 if s.Name == nil { 14579 invalidParams.Add(request.NewErrParamRequired("Name")) 14580 } 14581 if s.Values == nil { 14582 invalidParams.Add(request.NewErrParamRequired("Values")) 14583 } 14584 if s.Values != nil && len(s.Values) < 1 { 14585 invalidParams.Add(request.NewErrParamMinLen("Values", 1)) 14586 } 14587 14588 if invalidParams.Len() > 0 { 14589 return invalidParams 14590 } 14591 return nil 14592} 14593 14594// SetName sets the Name field's value. 14595func (s *Filter) SetName(v string) *Filter { 14596 s.Name = &v 14597 return s 14598} 14599 14600// SetValues sets the Values field's value. 14601func (s *Filter) SetValues(v []*string) *Filter { 14602 s.Values = v 14603 return s 14604} 14605 14606// Indicates the slot configuration and global identifier for a slice group. 14607type GlobalNodeGroup struct { 14608 _ struct{} `type:"structure"` 14609 14610 // The name of the global node group 14611 GlobalNodeGroupId *string `type:"string"` 14612 14613 // The keyspace for this node group 14614 Slots *string `type:"string"` 14615} 14616 14617// String returns the string representation 14618func (s GlobalNodeGroup) String() string { 14619 return awsutil.Prettify(s) 14620} 14621 14622// GoString returns the string representation 14623func (s GlobalNodeGroup) GoString() string { 14624 return s.String() 14625} 14626 14627// SetGlobalNodeGroupId sets the GlobalNodeGroupId field's value. 14628func (s *GlobalNodeGroup) SetGlobalNodeGroupId(v string) *GlobalNodeGroup { 14629 s.GlobalNodeGroupId = &v 14630 return s 14631} 14632 14633// SetSlots sets the Slots field's value. 14634func (s *GlobalNodeGroup) SetSlots(v string) *GlobalNodeGroup { 14635 s.Slots = &v 14636 return s 14637} 14638 14639// Consists of a primary cluster that accepts writes and an associated secondary 14640// cluster that resides in a different Amazon region. The secondary cluster 14641// accepts only reads. The primary cluster automatically replicates updates 14642// to the secondary cluster. 14643// 14644// * The GlobalReplicationGroupIdSuffix represents the name of the Global 14645// datastore, which is what you use to associate a secondary cluster. 14646type GlobalReplicationGroup struct { 14647 _ struct{} `type:"structure"` 14648 14649 // The ARN (Amazon Resource Name) of the global replication group. 14650 ARN *string `type:"string"` 14651 14652 // A flag that enables encryption at rest when set to true. 14653 // 14654 // You cannot modify the value of AtRestEncryptionEnabled after the replication 14655 // group is created. To enable encryption at rest on a replication group you 14656 // must set AtRestEncryptionEnabled to true when you create the replication 14657 // group. 14658 // 14659 // Required: Only available when creating a replication group in an Amazon VPC 14660 // using redis version 3.2.6, 4.x or later. 14661 AtRestEncryptionEnabled *bool `type:"boolean"` 14662 14663 // A flag that enables using an AuthToken (password) when issuing Redis commands. 14664 // 14665 // Default: false 14666 AuthTokenEnabled *bool `type:"boolean"` 14667 14668 // The cache node type of the Global datastore 14669 CacheNodeType *string `type:"string"` 14670 14671 // A flag that indicates whether the Global datastore is cluster enabled. 14672 ClusterEnabled *bool `type:"boolean"` 14673 14674 // The Elasticache engine. For Redis only. 14675 Engine *string `type:"string"` 14676 14677 // The Elasticache Redis engine version. 14678 EngineVersion *string `type:"string"` 14679 14680 // Indicates the slot configuration and global identifier for each slice group. 14681 GlobalNodeGroups []*GlobalNodeGroup `locationNameList:"GlobalNodeGroup" type:"list"` 14682 14683 // The optional description of the Global datastore 14684 GlobalReplicationGroupDescription *string `type:"string"` 14685 14686 // The name of the Global datastore 14687 GlobalReplicationGroupId *string `type:"string"` 14688 14689 // The replication groups that comprise the Global datastore. 14690 Members []*GlobalReplicationGroupMember `locationNameList:"GlobalReplicationGroupMember" type:"list"` 14691 14692 // The status of the Global datastore 14693 Status *string `type:"string"` 14694 14695 // A flag that enables in-transit encryption when set to true. You cannot modify 14696 // the value of TransitEncryptionEnabled after the cluster is created. To enable 14697 // in-transit encryption on a cluster you must set TransitEncryptionEnabled 14698 // to true when you create a cluster. 14699 // 14700 // Required: Only available when creating a replication group in an Amazon VPC 14701 // using redis version 3.2.6, 4.x or later. 14702 TransitEncryptionEnabled *bool `type:"boolean"` 14703} 14704 14705// String returns the string representation 14706func (s GlobalReplicationGroup) String() string { 14707 return awsutil.Prettify(s) 14708} 14709 14710// GoString returns the string representation 14711func (s GlobalReplicationGroup) GoString() string { 14712 return s.String() 14713} 14714 14715// SetARN sets the ARN field's value. 14716func (s *GlobalReplicationGroup) SetARN(v string) *GlobalReplicationGroup { 14717 s.ARN = &v 14718 return s 14719} 14720 14721// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 14722func (s *GlobalReplicationGroup) SetAtRestEncryptionEnabled(v bool) *GlobalReplicationGroup { 14723 s.AtRestEncryptionEnabled = &v 14724 return s 14725} 14726 14727// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 14728func (s *GlobalReplicationGroup) SetAuthTokenEnabled(v bool) *GlobalReplicationGroup { 14729 s.AuthTokenEnabled = &v 14730 return s 14731} 14732 14733// SetCacheNodeType sets the CacheNodeType field's value. 14734func (s *GlobalReplicationGroup) SetCacheNodeType(v string) *GlobalReplicationGroup { 14735 s.CacheNodeType = &v 14736 return s 14737} 14738 14739// SetClusterEnabled sets the ClusterEnabled field's value. 14740func (s *GlobalReplicationGroup) SetClusterEnabled(v bool) *GlobalReplicationGroup { 14741 s.ClusterEnabled = &v 14742 return s 14743} 14744 14745// SetEngine sets the Engine field's value. 14746func (s *GlobalReplicationGroup) SetEngine(v string) *GlobalReplicationGroup { 14747 s.Engine = &v 14748 return s 14749} 14750 14751// SetEngineVersion sets the EngineVersion field's value. 14752func (s *GlobalReplicationGroup) SetEngineVersion(v string) *GlobalReplicationGroup { 14753 s.EngineVersion = &v 14754 return s 14755} 14756 14757// SetGlobalNodeGroups sets the GlobalNodeGroups field's value. 14758func (s *GlobalReplicationGroup) SetGlobalNodeGroups(v []*GlobalNodeGroup) *GlobalReplicationGroup { 14759 s.GlobalNodeGroups = v 14760 return s 14761} 14762 14763// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 14764func (s *GlobalReplicationGroup) SetGlobalReplicationGroupDescription(v string) *GlobalReplicationGroup { 14765 s.GlobalReplicationGroupDescription = &v 14766 return s 14767} 14768 14769// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 14770func (s *GlobalReplicationGroup) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroup { 14771 s.GlobalReplicationGroupId = &v 14772 return s 14773} 14774 14775// SetMembers sets the Members field's value. 14776func (s *GlobalReplicationGroup) SetMembers(v []*GlobalReplicationGroupMember) *GlobalReplicationGroup { 14777 s.Members = v 14778 return s 14779} 14780 14781// SetStatus sets the Status field's value. 14782func (s *GlobalReplicationGroup) SetStatus(v string) *GlobalReplicationGroup { 14783 s.Status = &v 14784 return s 14785} 14786 14787// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 14788func (s *GlobalReplicationGroup) SetTransitEncryptionEnabled(v bool) *GlobalReplicationGroup { 14789 s.TransitEncryptionEnabled = &v 14790 return s 14791} 14792 14793// The name of the Global datastore and role of this replication group in the 14794// Global datastore. 14795type GlobalReplicationGroupInfo struct { 14796 _ struct{} `type:"structure"` 14797 14798 // The name of the Global datastore 14799 GlobalReplicationGroupId *string `type:"string"` 14800 14801 // The role of the replication group in a Global datastore. Can be primary or 14802 // secondary. 14803 GlobalReplicationGroupMemberRole *string `type:"string"` 14804} 14805 14806// String returns the string representation 14807func (s GlobalReplicationGroupInfo) String() string { 14808 return awsutil.Prettify(s) 14809} 14810 14811// GoString returns the string representation 14812func (s GlobalReplicationGroupInfo) GoString() string { 14813 return s.String() 14814} 14815 14816// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 14817func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroupInfo { 14818 s.GlobalReplicationGroupId = &v 14819 return s 14820} 14821 14822// SetGlobalReplicationGroupMemberRole sets the GlobalReplicationGroupMemberRole field's value. 14823func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupMemberRole(v string) *GlobalReplicationGroupInfo { 14824 s.GlobalReplicationGroupMemberRole = &v 14825 return s 14826} 14827 14828// A member of a Global datastore. It contains the Replication Group Id, the 14829// Amazon region and the role of the replication group. 14830type GlobalReplicationGroupMember struct { 14831 _ struct{} `type:"structure"` 14832 14833 // Indicates whether automatic failover is enabled for the replication group. 14834 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 14835 14836 // The replication group id of the Global datastore member. 14837 ReplicationGroupId *string `type:"string"` 14838 14839 // The Amazon region of the Global datastore member. 14840 ReplicationGroupRegion *string `type:"string"` 14841 14842 // Indicates the role of the replication group, primary or secondary. 14843 Role *string `type:"string"` 14844 14845 // The status of the membership of the replication group. 14846 Status *string `type:"string"` 14847} 14848 14849// String returns the string representation 14850func (s GlobalReplicationGroupMember) String() string { 14851 return awsutil.Prettify(s) 14852} 14853 14854// GoString returns the string representation 14855func (s GlobalReplicationGroupMember) GoString() string { 14856 return s.String() 14857} 14858 14859// SetAutomaticFailover sets the AutomaticFailover field's value. 14860func (s *GlobalReplicationGroupMember) SetAutomaticFailover(v string) *GlobalReplicationGroupMember { 14861 s.AutomaticFailover = &v 14862 return s 14863} 14864 14865// SetReplicationGroupId sets the ReplicationGroupId field's value. 14866func (s *GlobalReplicationGroupMember) SetReplicationGroupId(v string) *GlobalReplicationGroupMember { 14867 s.ReplicationGroupId = &v 14868 return s 14869} 14870 14871// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 14872func (s *GlobalReplicationGroupMember) SetReplicationGroupRegion(v string) *GlobalReplicationGroupMember { 14873 s.ReplicationGroupRegion = &v 14874 return s 14875} 14876 14877// SetRole sets the Role field's value. 14878func (s *GlobalReplicationGroupMember) SetRole(v string) *GlobalReplicationGroupMember { 14879 s.Role = &v 14880 return s 14881} 14882 14883// SetStatus sets the Status field's value. 14884func (s *GlobalReplicationGroupMember) SetStatus(v string) *GlobalReplicationGroupMember { 14885 s.Status = &v 14886 return s 14887} 14888 14889type IncreaseNodeGroupsInGlobalReplicationGroupInput struct { 14890 _ struct{} `type:"structure"` 14891 14892 // Indicates that the process begins immediately. At present, the only permitted 14893 // value for this parameter is true. 14894 // 14895 // ApplyImmediately is a required field 14896 ApplyImmediately *bool `type:"boolean" required:"true"` 14897 14898 // The name of the Global datastore 14899 // 14900 // GlobalReplicationGroupId is a required field 14901 GlobalReplicationGroupId *string `type:"string" required:"true"` 14902 14903 // The number of node groups you wish to add 14904 // 14905 // NodeGroupCount is a required field 14906 NodeGroupCount *int64 `type:"integer" required:"true"` 14907 14908 // Describes the replication group IDs, the Amazon regions where they are stored 14909 // and the shard configuration for each that comprise the Global datastore 14910 RegionalConfigurations []*RegionalConfiguration `locationNameList:"RegionalConfiguration" type:"list"` 14911} 14912 14913// String returns the string representation 14914func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 14915 return awsutil.Prettify(s) 14916} 14917 14918// GoString returns the string representation 14919func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 14920 return s.String() 14921} 14922 14923// Validate inspects the fields of the type to determine if they are valid. 14924func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 14925 invalidParams := request.ErrInvalidParams{Context: "IncreaseNodeGroupsInGlobalReplicationGroupInput"} 14926 if s.ApplyImmediately == nil { 14927 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 14928 } 14929 if s.GlobalReplicationGroupId == nil { 14930 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 14931 } 14932 if s.NodeGroupCount == nil { 14933 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 14934 } 14935 if s.RegionalConfigurations != nil { 14936 for i, v := range s.RegionalConfigurations { 14937 if v == nil { 14938 continue 14939 } 14940 if err := v.Validate(); err != nil { 14941 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RegionalConfigurations", i), err.(request.ErrInvalidParams)) 14942 } 14943 } 14944 } 14945 14946 if invalidParams.Len() > 0 { 14947 return invalidParams 14948 } 14949 return nil 14950} 14951 14952// SetApplyImmediately sets the ApplyImmediately field's value. 14953func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 14954 s.ApplyImmediately = &v 14955 return s 14956} 14957 14958// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 14959func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 14960 s.GlobalReplicationGroupId = &v 14961 return s 14962} 14963 14964// SetNodeGroupCount sets the NodeGroupCount field's value. 14965func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 14966 s.NodeGroupCount = &v 14967 return s 14968} 14969 14970// SetRegionalConfigurations sets the RegionalConfigurations field's value. 14971func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetRegionalConfigurations(v []*RegionalConfiguration) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 14972 s.RegionalConfigurations = v 14973 return s 14974} 14975 14976type IncreaseNodeGroupsInGlobalReplicationGroupOutput struct { 14977 _ struct{} `type:"structure"` 14978 14979 // Consists of a primary cluster that accepts writes and an associated secondary 14980 // cluster that resides in a different Amazon region. The secondary cluster 14981 // accepts only reads. The primary cluster automatically replicates updates 14982 // to the secondary cluster. 14983 // 14984 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 14985 // datastore, which is what you use to associate a secondary cluster. 14986 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 14987} 14988 14989// String returns the string representation 14990func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 14991 return awsutil.Prettify(s) 14992} 14993 14994// GoString returns the string representation 14995func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 14996 return s.String() 14997} 14998 14999// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 15000func (s *IncreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *IncreaseNodeGroupsInGlobalReplicationGroupOutput { 15001 s.GlobalReplicationGroup = v 15002 return s 15003} 15004 15005type IncreaseReplicaCountInput struct { 15006 _ struct{} `type:"structure"` 15007 15008 // If True, the number of replica nodes is increased immediately. ApplyImmediately=False 15009 // is not currently supported. 15010 // 15011 // ApplyImmediately is a required field 15012 ApplyImmediately *bool `type:"boolean" required:"true"` 15013 15014 // The number of read replica nodes you want at the completion of this operation. 15015 // For Redis (cluster mode disabled) replication groups, this is the number 15016 // of replica nodes in the replication group. For Redis (cluster mode enabled) 15017 // replication groups, this is the number of replica nodes in each of the replication 15018 // group's node groups. 15019 NewReplicaCount *int64 `type:"integer"` 15020 15021 // A list of ConfigureShard objects that can be used to configure each shard 15022 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 15023 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 15024 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 15025 15026 // The id of the replication group to which you want to add replica nodes. 15027 // 15028 // ReplicationGroupId is a required field 15029 ReplicationGroupId *string `type:"string" required:"true"` 15030} 15031 15032// String returns the string representation 15033func (s IncreaseReplicaCountInput) String() string { 15034 return awsutil.Prettify(s) 15035} 15036 15037// GoString returns the string representation 15038func (s IncreaseReplicaCountInput) GoString() string { 15039 return s.String() 15040} 15041 15042// Validate inspects the fields of the type to determine if they are valid. 15043func (s *IncreaseReplicaCountInput) Validate() error { 15044 invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicaCountInput"} 15045 if s.ApplyImmediately == nil { 15046 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 15047 } 15048 if s.ReplicationGroupId == nil { 15049 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 15050 } 15051 if s.ReplicaConfiguration != nil { 15052 for i, v := range s.ReplicaConfiguration { 15053 if v == nil { 15054 continue 15055 } 15056 if err := v.Validate(); err != nil { 15057 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 15058 } 15059 } 15060 } 15061 15062 if invalidParams.Len() > 0 { 15063 return invalidParams 15064 } 15065 return nil 15066} 15067 15068// SetApplyImmediately sets the ApplyImmediately field's value. 15069func (s *IncreaseReplicaCountInput) SetApplyImmediately(v bool) *IncreaseReplicaCountInput { 15070 s.ApplyImmediately = &v 15071 return s 15072} 15073 15074// SetNewReplicaCount sets the NewReplicaCount field's value. 15075func (s *IncreaseReplicaCountInput) SetNewReplicaCount(v int64) *IncreaseReplicaCountInput { 15076 s.NewReplicaCount = &v 15077 return s 15078} 15079 15080// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 15081func (s *IncreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *IncreaseReplicaCountInput { 15082 s.ReplicaConfiguration = v 15083 return s 15084} 15085 15086// SetReplicationGroupId sets the ReplicationGroupId field's value. 15087func (s *IncreaseReplicaCountInput) SetReplicationGroupId(v string) *IncreaseReplicaCountInput { 15088 s.ReplicationGroupId = &v 15089 return s 15090} 15091 15092type IncreaseReplicaCountOutput struct { 15093 _ struct{} `type:"structure"` 15094 15095 // Contains all of the attributes of a specific Redis replication group. 15096 ReplicationGroup *ReplicationGroup `type:"structure"` 15097} 15098 15099// String returns the string representation 15100func (s IncreaseReplicaCountOutput) String() string { 15101 return awsutil.Prettify(s) 15102} 15103 15104// GoString returns the string representation 15105func (s IncreaseReplicaCountOutput) GoString() string { 15106 return s.String() 15107} 15108 15109// SetReplicationGroup sets the ReplicationGroup field's value. 15110func (s *IncreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *IncreaseReplicaCountOutput { 15111 s.ReplicationGroup = v 15112 return s 15113} 15114 15115// The configuration details of the Kinesis Data Firehose destination. 15116type KinesisFirehoseDestinationDetails struct { 15117 _ struct{} `type:"structure"` 15118 15119 // The name of the Kinesis Data Firehose delivery stream. 15120 DeliveryStream *string `type:"string"` 15121} 15122 15123// String returns the string representation 15124func (s KinesisFirehoseDestinationDetails) String() string { 15125 return awsutil.Prettify(s) 15126} 15127 15128// GoString returns the string representation 15129func (s KinesisFirehoseDestinationDetails) GoString() string { 15130 return s.String() 15131} 15132 15133// SetDeliveryStream sets the DeliveryStream field's value. 15134func (s *KinesisFirehoseDestinationDetails) SetDeliveryStream(v string) *KinesisFirehoseDestinationDetails { 15135 s.DeliveryStream = &v 15136 return s 15137} 15138 15139// The input parameters for the ListAllowedNodeTypeModifications operation. 15140type ListAllowedNodeTypeModificationsInput struct { 15141 _ struct{} `type:"structure"` 15142 15143 // The name of the cluster you want to scale up to a larger node instanced type. 15144 // ElastiCache uses the cluster id to identify the current node type of this 15145 // cluster and from that to create a list of node types you can scale up to. 15146 // 15147 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 15148 CacheClusterId *string `type:"string"` 15149 15150 // The name of the replication group want to scale up to a larger node type. 15151 // ElastiCache uses the replication group id to identify the current node type 15152 // being used by this replication group, and from that to create a list of node 15153 // types you can scale up to. 15154 // 15155 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 15156 ReplicationGroupId *string `type:"string"` 15157} 15158 15159// String returns the string representation 15160func (s ListAllowedNodeTypeModificationsInput) String() string { 15161 return awsutil.Prettify(s) 15162} 15163 15164// GoString returns the string representation 15165func (s ListAllowedNodeTypeModificationsInput) GoString() string { 15166 return s.String() 15167} 15168 15169// SetCacheClusterId sets the CacheClusterId field's value. 15170func (s *ListAllowedNodeTypeModificationsInput) SetCacheClusterId(v string) *ListAllowedNodeTypeModificationsInput { 15171 s.CacheClusterId = &v 15172 return s 15173} 15174 15175// SetReplicationGroupId sets the ReplicationGroupId field's value. 15176func (s *ListAllowedNodeTypeModificationsInput) SetReplicationGroupId(v string) *ListAllowedNodeTypeModificationsInput { 15177 s.ReplicationGroupId = &v 15178 return s 15179} 15180 15181// Represents the allowed node types you can use to modify your cluster or replication 15182// group. 15183type ListAllowedNodeTypeModificationsOutput struct { 15184 _ struct{} `type:"structure"` 15185 15186 // A string list, each element of which specifies a cache node type which you 15187 // can use to scale your cluster or replication group. When scaling down a Redis 15188 // cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, 15189 // use a value from this list for the CacheNodeType parameter. 15190 ScaleDownModifications []*string `type:"list"` 15191 15192 // A string list, each element of which specifies a cache node type which you 15193 // can use to scale your cluster or replication group. 15194 // 15195 // When scaling up a Redis cluster or replication group using ModifyCacheCluster 15196 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 15197 // parameter. 15198 ScaleUpModifications []*string `type:"list"` 15199} 15200 15201// String returns the string representation 15202func (s ListAllowedNodeTypeModificationsOutput) String() string { 15203 return awsutil.Prettify(s) 15204} 15205 15206// GoString returns the string representation 15207func (s ListAllowedNodeTypeModificationsOutput) GoString() string { 15208 return s.String() 15209} 15210 15211// SetScaleDownModifications sets the ScaleDownModifications field's value. 15212func (s *ListAllowedNodeTypeModificationsOutput) SetScaleDownModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 15213 s.ScaleDownModifications = v 15214 return s 15215} 15216 15217// SetScaleUpModifications sets the ScaleUpModifications field's value. 15218func (s *ListAllowedNodeTypeModificationsOutput) SetScaleUpModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 15219 s.ScaleUpModifications = v 15220 return s 15221} 15222 15223// The input parameters for the ListTagsForResource operation. 15224type ListTagsForResourceInput struct { 15225 _ struct{} `type:"structure"` 15226 15227 // The Amazon Resource Name (ARN) of the resource for which you want the list 15228 // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 15229 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 15230 // 15231 // For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon 15232 // Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 15233 // 15234 // ResourceName is a required field 15235 ResourceName *string `type:"string" required:"true"` 15236} 15237 15238// String returns the string representation 15239func (s ListTagsForResourceInput) String() string { 15240 return awsutil.Prettify(s) 15241} 15242 15243// GoString returns the string representation 15244func (s ListTagsForResourceInput) GoString() string { 15245 return s.String() 15246} 15247 15248// Validate inspects the fields of the type to determine if they are valid. 15249func (s *ListTagsForResourceInput) Validate() error { 15250 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 15251 if s.ResourceName == nil { 15252 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 15253 } 15254 15255 if invalidParams.Len() > 0 { 15256 return invalidParams 15257 } 15258 return nil 15259} 15260 15261// SetResourceName sets the ResourceName field's value. 15262func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { 15263 s.ResourceName = &v 15264 return s 15265} 15266 15267// Returns the destination, format and type of the logs. 15268type LogDeliveryConfiguration struct { 15269 _ struct{} `type:"structure"` 15270 15271 // Configuration details of either a CloudWatch Logs destination or Kinesis 15272 // Data Firehose destination. 15273 DestinationDetails *DestinationDetails `type:"structure"` 15274 15275 // Returns the destination type, either cloudwatch-logs or kinesis-firehose. 15276 DestinationType *string `type:"string" enum:"DestinationType"` 15277 15278 // Returns the log format, either JSON or TEXT. 15279 LogFormat *string `type:"string" enum:"LogFormat"` 15280 15281 // Refers to slow-log (https://redis.io/commands/slowlog). 15282 LogType *string `type:"string" enum:"LogType"` 15283 15284 // Returns an error message for the log delivery configuration. 15285 Message *string `type:"string"` 15286 15287 // Returns the log delivery configuration status. Values are one of enabling 15288 // | disabling | modifying | active | error 15289 Status *string `type:"string" enum:"LogDeliveryConfigurationStatus"` 15290} 15291 15292// String returns the string representation 15293func (s LogDeliveryConfiguration) String() string { 15294 return awsutil.Prettify(s) 15295} 15296 15297// GoString returns the string representation 15298func (s LogDeliveryConfiguration) GoString() string { 15299 return s.String() 15300} 15301 15302// SetDestinationDetails sets the DestinationDetails field's value. 15303func (s *LogDeliveryConfiguration) SetDestinationDetails(v *DestinationDetails) *LogDeliveryConfiguration { 15304 s.DestinationDetails = v 15305 return s 15306} 15307 15308// SetDestinationType sets the DestinationType field's value. 15309func (s *LogDeliveryConfiguration) SetDestinationType(v string) *LogDeliveryConfiguration { 15310 s.DestinationType = &v 15311 return s 15312} 15313 15314// SetLogFormat sets the LogFormat field's value. 15315func (s *LogDeliveryConfiguration) SetLogFormat(v string) *LogDeliveryConfiguration { 15316 s.LogFormat = &v 15317 return s 15318} 15319 15320// SetLogType sets the LogType field's value. 15321func (s *LogDeliveryConfiguration) SetLogType(v string) *LogDeliveryConfiguration { 15322 s.LogType = &v 15323 return s 15324} 15325 15326// SetMessage sets the Message field's value. 15327func (s *LogDeliveryConfiguration) SetMessage(v string) *LogDeliveryConfiguration { 15328 s.Message = &v 15329 return s 15330} 15331 15332// SetStatus sets the Status field's value. 15333func (s *LogDeliveryConfiguration) SetStatus(v string) *LogDeliveryConfiguration { 15334 s.Status = &v 15335 return s 15336} 15337 15338// Specifies the destination, format and type of the logs. 15339type LogDeliveryConfigurationRequest struct { 15340 _ struct{} `type:"structure"` 15341 15342 // Configuration details of either a CloudWatch Logs destination or Kinesis 15343 // Data Firehose destination. 15344 DestinationDetails *DestinationDetails `type:"structure"` 15345 15346 // Specify either cloudwatch-logs or kinesis-firehose as the destination type. 15347 DestinationType *string `type:"string" enum:"DestinationType"` 15348 15349 // Specify if log delivery is enabled. Default true. 15350 Enabled *bool `type:"boolean"` 15351 15352 // Specifies either JSON or TEXT 15353 LogFormat *string `type:"string" enum:"LogFormat"` 15354 15355 // Refers to slow-log (https://redis.io/commands/slowlog). 15356 LogType *string `type:"string" enum:"LogType"` 15357} 15358 15359// String returns the string representation 15360func (s LogDeliveryConfigurationRequest) String() string { 15361 return awsutil.Prettify(s) 15362} 15363 15364// GoString returns the string representation 15365func (s LogDeliveryConfigurationRequest) GoString() string { 15366 return s.String() 15367} 15368 15369// SetDestinationDetails sets the DestinationDetails field's value. 15370func (s *LogDeliveryConfigurationRequest) SetDestinationDetails(v *DestinationDetails) *LogDeliveryConfigurationRequest { 15371 s.DestinationDetails = v 15372 return s 15373} 15374 15375// SetDestinationType sets the DestinationType field's value. 15376func (s *LogDeliveryConfigurationRequest) SetDestinationType(v string) *LogDeliveryConfigurationRequest { 15377 s.DestinationType = &v 15378 return s 15379} 15380 15381// SetEnabled sets the Enabled field's value. 15382func (s *LogDeliveryConfigurationRequest) SetEnabled(v bool) *LogDeliveryConfigurationRequest { 15383 s.Enabled = &v 15384 return s 15385} 15386 15387// SetLogFormat sets the LogFormat field's value. 15388func (s *LogDeliveryConfigurationRequest) SetLogFormat(v string) *LogDeliveryConfigurationRequest { 15389 s.LogFormat = &v 15390 return s 15391} 15392 15393// SetLogType sets the LogType field's value. 15394func (s *LogDeliveryConfigurationRequest) SetLogType(v string) *LogDeliveryConfigurationRequest { 15395 s.LogType = &v 15396 return s 15397} 15398 15399// Represents the input of a ModifyCacheCluster operation. 15400type ModifyCacheClusterInput struct { 15401 _ struct{} `type:"structure"` 15402 15403 // Specifies whether the new nodes in this Memcached cluster are all created 15404 // in a single Availability Zone or created across multiple Availability Zones. 15405 // 15406 // Valid values: single-az | cross-az. 15407 // 15408 // This option is only supported for Memcached clusters. 15409 // 15410 // You cannot specify single-az if the Memcached cluster already has cache nodes 15411 // in different Availability Zones. If cross-az is specified, existing Memcached 15412 // nodes remain in their current Availability Zone. 15413 // 15414 // Only newly created nodes are located in different Availability Zones. 15415 AZMode *string `type:"string" enum:"AZMode"` 15416 15417 // If true, this parameter causes the modifications in this request and any 15418 // pending modifications to be applied, asynchronously and as soon as possible, 15419 // regardless of the PreferredMaintenanceWindow setting for the cluster. 15420 // 15421 // If false, changes to the cluster are applied on the next maintenance reboot, 15422 // or the next failure reboot, whichever occurs first. 15423 // 15424 // If you perform a ModifyCacheCluster before a pending modification is applied, 15425 // the pending modification is replaced by the newer modification. 15426 // 15427 // Valid values: true | false 15428 // 15429 // Default: false 15430 ApplyImmediately *bool `type:"boolean"` 15431 15432 // Reserved parameter. The password used to access a password protected server. 15433 // This parameter must be specified with the auth-token-update parameter. Password 15434 // constraints: 15435 // 15436 // * Must be only printable ASCII characters 15437 // 15438 // * Must be at least 16 characters and no more than 128 characters in length 15439 // 15440 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 15441 // 15442 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 15443 AuthToken *string `type:"string"` 15444 15445 // Specifies the strategy to use to update the AUTH token. This parameter must 15446 // be specified with the auth-token parameter. Possible values: 15447 // 15448 // * Rotate 15449 // 15450 // * Set 15451 // 15452 // For more information, see Authenticating Users with Redis AUTH (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 15453 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 15454 15455 // This parameter is currently disabled. 15456 AutoMinorVersionUpgrade *bool `type:"boolean"` 15457 15458 // The cluster identifier. This value is stored as a lowercase string. 15459 // 15460 // CacheClusterId is a required field 15461 CacheClusterId *string `type:"string" required:"true"` 15462 15463 // A list of cache node IDs to be removed. A node ID is a numeric identifier 15464 // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less 15465 // than the existing number of cache nodes. The number of cache node IDs supplied 15466 // in this parameter must match the difference between the existing number of 15467 // cache nodes in the cluster or pending cache nodes, whichever is greater, 15468 // and the value of NumCacheNodes in the request. 15469 // 15470 // For example: If you have 3 active cache nodes, 7 pending cache nodes, and 15471 // the number of cache nodes in this ModifyCacheCluster call is 5, you must 15472 // list 2 (7 - 5) cache node IDs to remove. 15473 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 15474 15475 // A valid cache node type that you want to scale this cluster up to. 15476 CacheNodeType *string `type:"string"` 15477 15478 // The name of the cache parameter group to apply to this cluster. This change 15479 // is asynchronously applied as soon as possible for parameters when the ApplyImmediately 15480 // parameter is specified as true for this request. 15481 CacheParameterGroupName *string `type:"string"` 15482 15483 // A list of cache security group names to authorize on this cluster. This change 15484 // is asynchronously applied as soon as possible. 15485 // 15486 // You can use this parameter only with clusters that are created outside of 15487 // an Amazon Virtual Private Cloud (Amazon VPC). 15488 // 15489 // Constraints: Must contain no more than 255 alphanumeric characters. Must 15490 // not be "Default". 15491 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 15492 15493 // The upgraded version of the cache engine to be run on the cache nodes. 15494 // 15495 // Important: You can upgrade to a newer engine version (see Selecting a Cache 15496 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 15497 // but you cannot downgrade to an earlier engine version. If you want to use 15498 // an earlier engine version, you must delete the existing cluster and create 15499 // it anew with the earlier engine version. 15500 EngineVersion *string `type:"string"` 15501 15502 // Specifies the destination, format and type of the logs. 15503 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 15504 15505 // 15506 // This option is only supported on Memcached clusters. 15507 // 15508 // The list of Availability Zones where the new Memcached cache nodes are created. 15509 // 15510 // This parameter is only valid when NumCacheNodes in the request is greater 15511 // than the sum of the number of active cache nodes and the number of cache 15512 // nodes pending creation (which may be zero). The number of Availability Zones 15513 // supplied in this list must match the cache nodes being added in this request. 15514 // 15515 // Scenarios: 15516 // 15517 // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify 15518 // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones 15519 // for the two new nodes. 15520 // 15521 // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from 15522 // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 15523 // ((3 + 2) + 1) and optionally specify an Availability Zone for the new 15524 // node. 15525 // 15526 // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 15527 // to cancel all pending operations. 15528 // 15529 // The Availability Zone placement of nodes pending creation cannot be modified. 15530 // If you wish to cancel any nodes pending creation, add 0 nodes by setting 15531 // NumCacheNodes to the number of current nodes. 15532 // 15533 // If cross-az is specified, existing Memcached nodes remain in their current 15534 // Availability Zone. Only newly created nodes can be located in different Availability 15535 // Zones. For guidance on how to move existing Memcached nodes to different 15536 // Availability Zones, see the Availability Zone Considerations section of Cache 15537 // Node Considerations for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 15538 // 15539 // Impact of new add/remove requests upon pending requests 15540 // 15541 // * Scenario-1 Pending Action: Delete New Request: Delete Result: The new 15542 // delete, pending or immediate, replaces the pending delete. 15543 // 15544 // * Scenario-2 Pending Action: Delete New Request: Create Result: The new 15545 // create, pending or immediate, replaces the pending delete. 15546 // 15547 // * Scenario-3 Pending Action: Create New Request: Delete Result: The new 15548 // delete, pending or immediate, replaces the pending create. 15549 // 15550 // * Scenario-4 Pending Action: Create New Request: Create Result: The new 15551 // create is added to the pending create. Important: If the new create request 15552 // is Apply Immediately - Yes, all creates are performed immediately. If 15553 // the new create request is Apply Immediately - No, all creates are pending. 15554 NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 15555 15556 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 15557 // are sent. 15558 // 15559 // The Amazon SNS topic owner must be same as the cluster owner. 15560 NotificationTopicArn *string `type:"string"` 15561 15562 // The status of the Amazon SNS notification topic. Notifications are sent only 15563 // if the status is active. 15564 // 15565 // Valid values: active | inactive 15566 NotificationTopicStatus *string `type:"string"` 15567 15568 // The number of cache nodes that the cluster should have. If the value for 15569 // NumCacheNodes is greater than the sum of the number of current cache nodes 15570 // and the number of cache nodes pending creation (which may be zero), more 15571 // nodes are added. If the value is less than the number of existing cache nodes, 15572 // nodes are removed. If the value is equal to the number of current cache nodes, 15573 // any pending add or remove requests are canceled. 15574 // 15575 // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter 15576 // to provide the IDs of the specific cache nodes to remove. 15577 // 15578 // For clusters running Redis, this value must be 1. For clusters running Memcached, 15579 // this value must be between 1 and 40. 15580 // 15581 // Adding or removing Memcached cache nodes can be applied immediately or as 15582 // a pending operation (see ApplyImmediately). 15583 // 15584 // A pending operation to modify the number of cache nodes in a cluster during 15585 // its maintenance window, whether by adding or removing nodes in accordance 15586 // with the scale out architecture, is not queued. The customer's latest request 15587 // to add or remove nodes to the cluster overrides any previous pending operations 15588 // to modify the number of cache nodes in the cluster. For example, a request 15589 // to remove 2 nodes would override a previous pending operation to remove 3 15590 // nodes. Similarly, a request to add 2 nodes would override a previous pending 15591 // operation to remove 3 nodes and vice versa. As Memcached cache nodes may 15592 // now be provisioned in different Availability Zones with flexible cache node 15593 // placement, a request to add nodes does not automatically override a previous 15594 // pending operation to add nodes. The customer can modify the previous pending 15595 // operation to add more nodes or explicitly cancel the pending request and 15596 // retry the new request. To cancel pending operations to modify the number 15597 // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes 15598 // equal to the number of cache nodes currently in the cluster. 15599 NumCacheNodes *int64 `type:"integer"` 15600 15601 // Specifies the weekly time range during which maintenance on the cluster is 15602 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 15603 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 15604 // 15605 // Valid values for ddd are: 15606 // 15607 // * sun 15608 // 15609 // * mon 15610 // 15611 // * tue 15612 // 15613 // * wed 15614 // 15615 // * thu 15616 // 15617 // * fri 15618 // 15619 // * sat 15620 // 15621 // Example: sun:23:00-mon:01:30 15622 PreferredMaintenanceWindow *string `type:"string"` 15623 15624 // Specifies the VPC Security Groups associated with the cluster. 15625 // 15626 // This parameter can be used only with clusters that are created in an Amazon 15627 // Virtual Private Cloud (Amazon VPC). 15628 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 15629 15630 // The number of days for which ElastiCache retains automatic cluster snapshots 15631 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 15632 // a snapshot that was taken today is retained for 5 days before being deleted. 15633 // 15634 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 15635 // off. 15636 SnapshotRetentionLimit *int64 `type:"integer"` 15637 15638 // The daily time range (in UTC) during which ElastiCache begins taking a daily 15639 // snapshot of your cluster. 15640 SnapshotWindow *string `type:"string"` 15641} 15642 15643// String returns the string representation 15644func (s ModifyCacheClusterInput) String() string { 15645 return awsutil.Prettify(s) 15646} 15647 15648// GoString returns the string representation 15649func (s ModifyCacheClusterInput) GoString() string { 15650 return s.String() 15651} 15652 15653// Validate inspects the fields of the type to determine if they are valid. 15654func (s *ModifyCacheClusterInput) Validate() error { 15655 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} 15656 if s.CacheClusterId == nil { 15657 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 15658 } 15659 15660 if invalidParams.Len() > 0 { 15661 return invalidParams 15662 } 15663 return nil 15664} 15665 15666// SetAZMode sets the AZMode field's value. 15667func (s *ModifyCacheClusterInput) SetAZMode(v string) *ModifyCacheClusterInput { 15668 s.AZMode = &v 15669 return s 15670} 15671 15672// SetApplyImmediately sets the ApplyImmediately field's value. 15673func (s *ModifyCacheClusterInput) SetApplyImmediately(v bool) *ModifyCacheClusterInput { 15674 s.ApplyImmediately = &v 15675 return s 15676} 15677 15678// SetAuthToken sets the AuthToken field's value. 15679func (s *ModifyCacheClusterInput) SetAuthToken(v string) *ModifyCacheClusterInput { 15680 s.AuthToken = &v 15681 return s 15682} 15683 15684// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 15685func (s *ModifyCacheClusterInput) SetAuthTokenUpdateStrategy(v string) *ModifyCacheClusterInput { 15686 s.AuthTokenUpdateStrategy = &v 15687 return s 15688} 15689 15690// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 15691func (s *ModifyCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *ModifyCacheClusterInput { 15692 s.AutoMinorVersionUpgrade = &v 15693 return s 15694} 15695 15696// SetCacheClusterId sets the CacheClusterId field's value. 15697func (s *ModifyCacheClusterInput) SetCacheClusterId(v string) *ModifyCacheClusterInput { 15698 s.CacheClusterId = &v 15699 return s 15700} 15701 15702// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 15703func (s *ModifyCacheClusterInput) SetCacheNodeIdsToRemove(v []*string) *ModifyCacheClusterInput { 15704 s.CacheNodeIdsToRemove = v 15705 return s 15706} 15707 15708// SetCacheNodeType sets the CacheNodeType field's value. 15709func (s *ModifyCacheClusterInput) SetCacheNodeType(v string) *ModifyCacheClusterInput { 15710 s.CacheNodeType = &v 15711 return s 15712} 15713 15714// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 15715func (s *ModifyCacheClusterInput) SetCacheParameterGroupName(v string) *ModifyCacheClusterInput { 15716 s.CacheParameterGroupName = &v 15717 return s 15718} 15719 15720// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 15721func (s *ModifyCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *ModifyCacheClusterInput { 15722 s.CacheSecurityGroupNames = v 15723 return s 15724} 15725 15726// SetEngineVersion sets the EngineVersion field's value. 15727func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheClusterInput { 15728 s.EngineVersion = &v 15729 return s 15730} 15731 15732// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 15733func (s *ModifyCacheClusterInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *ModifyCacheClusterInput { 15734 s.LogDeliveryConfigurations = v 15735 return s 15736} 15737 15738// SetNewAvailabilityZones sets the NewAvailabilityZones field's value. 15739func (s *ModifyCacheClusterInput) SetNewAvailabilityZones(v []*string) *ModifyCacheClusterInput { 15740 s.NewAvailabilityZones = v 15741 return s 15742} 15743 15744// SetNotificationTopicArn sets the NotificationTopicArn field's value. 15745func (s *ModifyCacheClusterInput) SetNotificationTopicArn(v string) *ModifyCacheClusterInput { 15746 s.NotificationTopicArn = &v 15747 return s 15748} 15749 15750// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 15751func (s *ModifyCacheClusterInput) SetNotificationTopicStatus(v string) *ModifyCacheClusterInput { 15752 s.NotificationTopicStatus = &v 15753 return s 15754} 15755 15756// SetNumCacheNodes sets the NumCacheNodes field's value. 15757func (s *ModifyCacheClusterInput) SetNumCacheNodes(v int64) *ModifyCacheClusterInput { 15758 s.NumCacheNodes = &v 15759 return s 15760} 15761 15762// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 15763func (s *ModifyCacheClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyCacheClusterInput { 15764 s.PreferredMaintenanceWindow = &v 15765 return s 15766} 15767 15768// SetSecurityGroupIds sets the SecurityGroupIds field's value. 15769func (s *ModifyCacheClusterInput) SetSecurityGroupIds(v []*string) *ModifyCacheClusterInput { 15770 s.SecurityGroupIds = v 15771 return s 15772} 15773 15774// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 15775func (s *ModifyCacheClusterInput) SetSnapshotRetentionLimit(v int64) *ModifyCacheClusterInput { 15776 s.SnapshotRetentionLimit = &v 15777 return s 15778} 15779 15780// SetSnapshotWindow sets the SnapshotWindow field's value. 15781func (s *ModifyCacheClusterInput) SetSnapshotWindow(v string) *ModifyCacheClusterInput { 15782 s.SnapshotWindow = &v 15783 return s 15784} 15785 15786type ModifyCacheClusterOutput struct { 15787 _ struct{} `type:"structure"` 15788 15789 // Contains all of the attributes of a specific cluster. 15790 CacheCluster *CacheCluster `type:"structure"` 15791} 15792 15793// String returns the string representation 15794func (s ModifyCacheClusterOutput) String() string { 15795 return awsutil.Prettify(s) 15796} 15797 15798// GoString returns the string representation 15799func (s ModifyCacheClusterOutput) GoString() string { 15800 return s.String() 15801} 15802 15803// SetCacheCluster sets the CacheCluster field's value. 15804func (s *ModifyCacheClusterOutput) SetCacheCluster(v *CacheCluster) *ModifyCacheClusterOutput { 15805 s.CacheCluster = v 15806 return s 15807} 15808 15809// Represents the input of a ModifyCacheParameterGroup operation. 15810type ModifyCacheParameterGroupInput struct { 15811 _ struct{} `type:"structure"` 15812 15813 // The name of the cache parameter group to modify. 15814 // 15815 // CacheParameterGroupName is a required field 15816 CacheParameterGroupName *string `type:"string" required:"true"` 15817 15818 // An array of parameter names and values for the parameter update. You must 15819 // supply at least one parameter name and value; subsequent arguments are optional. 15820 // A maximum of 20 parameters may be modified per request. 15821 // 15822 // ParameterNameValues is a required field 15823 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` 15824} 15825 15826// String returns the string representation 15827func (s ModifyCacheParameterGroupInput) String() string { 15828 return awsutil.Prettify(s) 15829} 15830 15831// GoString returns the string representation 15832func (s ModifyCacheParameterGroupInput) GoString() string { 15833 return s.String() 15834} 15835 15836// Validate inspects the fields of the type to determine if they are valid. 15837func (s *ModifyCacheParameterGroupInput) Validate() error { 15838 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} 15839 if s.CacheParameterGroupName == nil { 15840 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 15841 } 15842 if s.ParameterNameValues == nil { 15843 invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) 15844 } 15845 15846 if invalidParams.Len() > 0 { 15847 return invalidParams 15848 } 15849 return nil 15850} 15851 15852// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 15853func (s *ModifyCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ModifyCacheParameterGroupInput { 15854 s.CacheParameterGroupName = &v 15855 return s 15856} 15857 15858// SetParameterNameValues sets the ParameterNameValues field's value. 15859func (s *ModifyCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ModifyCacheParameterGroupInput { 15860 s.ParameterNameValues = v 15861 return s 15862} 15863 15864// Represents the input of a ModifyCacheSubnetGroup operation. 15865type ModifyCacheSubnetGroupInput struct { 15866 _ struct{} `type:"structure"` 15867 15868 // A description of the cache subnet group. 15869 CacheSubnetGroupDescription *string `type:"string"` 15870 15871 // The name for the cache subnet group. This value is stored as a lowercase 15872 // string. 15873 // 15874 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 15875 // 15876 // Example: mysubnetgroup 15877 // 15878 // CacheSubnetGroupName is a required field 15879 CacheSubnetGroupName *string `type:"string" required:"true"` 15880 15881 // The EC2 subnet IDs for the cache subnet group. 15882 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"` 15883} 15884 15885// String returns the string representation 15886func (s ModifyCacheSubnetGroupInput) String() string { 15887 return awsutil.Prettify(s) 15888} 15889 15890// GoString returns the string representation 15891func (s ModifyCacheSubnetGroupInput) GoString() string { 15892 return s.String() 15893} 15894 15895// Validate inspects the fields of the type to determine if they are valid. 15896func (s *ModifyCacheSubnetGroupInput) Validate() error { 15897 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} 15898 if s.CacheSubnetGroupName == nil { 15899 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 15900 } 15901 15902 if invalidParams.Len() > 0 { 15903 return invalidParams 15904 } 15905 return nil 15906} 15907 15908// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 15909func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *ModifyCacheSubnetGroupInput { 15910 s.CacheSubnetGroupDescription = &v 15911 return s 15912} 15913 15914// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 15915func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *ModifyCacheSubnetGroupInput { 15916 s.CacheSubnetGroupName = &v 15917 return s 15918} 15919 15920// SetSubnetIds sets the SubnetIds field's value. 15921func (s *ModifyCacheSubnetGroupInput) SetSubnetIds(v []*string) *ModifyCacheSubnetGroupInput { 15922 s.SubnetIds = v 15923 return s 15924} 15925 15926type ModifyCacheSubnetGroupOutput struct { 15927 _ struct{} `type:"structure"` 15928 15929 // Represents the output of one of the following operations: 15930 // 15931 // * CreateCacheSubnetGroup 15932 // 15933 // * ModifyCacheSubnetGroup 15934 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 15935} 15936 15937// String returns the string representation 15938func (s ModifyCacheSubnetGroupOutput) String() string { 15939 return awsutil.Prettify(s) 15940} 15941 15942// GoString returns the string representation 15943func (s ModifyCacheSubnetGroupOutput) GoString() string { 15944 return s.String() 15945} 15946 15947// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 15948func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *ModifyCacheSubnetGroupOutput { 15949 s.CacheSubnetGroup = v 15950 return s 15951} 15952 15953type ModifyGlobalReplicationGroupInput struct { 15954 _ struct{} `type:"structure"` 15955 15956 // This parameter causes the modifications in this request and any pending modifications 15957 // to be applied, asynchronously and as soon as possible. Modifications to Global 15958 // Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. 15959 // 15960 // ApplyImmediately is a required field 15961 ApplyImmediately *bool `type:"boolean" required:"true"` 15962 15963 // Determines whether a read replica is automatically promoted to read/write 15964 // primary if the existing primary encounters a failure. 15965 AutomaticFailoverEnabled *bool `type:"boolean"` 15966 15967 // A valid cache node type that you want to scale this Global datastore to. 15968 CacheNodeType *string `type:"string"` 15969 15970 // The name of the cache parameter group to use with the Global datastore. It 15971 // must be compatible with the major engine version used by the Global datastore. 15972 CacheParameterGroupName *string `type:"string"` 15973 15974 // The upgraded version of the cache engine to be run on the clusters in the 15975 // Global datastore. 15976 EngineVersion *string `type:"string"` 15977 15978 // A description of the Global datastore 15979 GlobalReplicationGroupDescription *string `type:"string"` 15980 15981 // The name of the Global datastore 15982 // 15983 // GlobalReplicationGroupId is a required field 15984 GlobalReplicationGroupId *string `type:"string" required:"true"` 15985} 15986 15987// String returns the string representation 15988func (s ModifyGlobalReplicationGroupInput) String() string { 15989 return awsutil.Prettify(s) 15990} 15991 15992// GoString returns the string representation 15993func (s ModifyGlobalReplicationGroupInput) GoString() string { 15994 return s.String() 15995} 15996 15997// Validate inspects the fields of the type to determine if they are valid. 15998func (s *ModifyGlobalReplicationGroupInput) Validate() error { 15999 invalidParams := request.ErrInvalidParams{Context: "ModifyGlobalReplicationGroupInput"} 16000 if s.ApplyImmediately == nil { 16001 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 16002 } 16003 if s.GlobalReplicationGroupId == nil { 16004 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 16005 } 16006 16007 if invalidParams.Len() > 0 { 16008 return invalidParams 16009 } 16010 return nil 16011} 16012 16013// SetApplyImmediately sets the ApplyImmediately field's value. 16014func (s *ModifyGlobalReplicationGroupInput) SetApplyImmediately(v bool) *ModifyGlobalReplicationGroupInput { 16015 s.ApplyImmediately = &v 16016 return s 16017} 16018 16019// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 16020func (s *ModifyGlobalReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyGlobalReplicationGroupInput { 16021 s.AutomaticFailoverEnabled = &v 16022 return s 16023} 16024 16025// SetCacheNodeType sets the CacheNodeType field's value. 16026func (s *ModifyGlobalReplicationGroupInput) SetCacheNodeType(v string) *ModifyGlobalReplicationGroupInput { 16027 s.CacheNodeType = &v 16028 return s 16029} 16030 16031// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16032func (s *ModifyGlobalReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyGlobalReplicationGroupInput { 16033 s.CacheParameterGroupName = &v 16034 return s 16035} 16036 16037// SetEngineVersion sets the EngineVersion field's value. 16038func (s *ModifyGlobalReplicationGroupInput) SetEngineVersion(v string) *ModifyGlobalReplicationGroupInput { 16039 s.EngineVersion = &v 16040 return s 16041} 16042 16043// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 16044func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *ModifyGlobalReplicationGroupInput { 16045 s.GlobalReplicationGroupDescription = &v 16046 return s 16047} 16048 16049// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 16050func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *ModifyGlobalReplicationGroupInput { 16051 s.GlobalReplicationGroupId = &v 16052 return s 16053} 16054 16055type ModifyGlobalReplicationGroupOutput struct { 16056 _ struct{} `type:"structure"` 16057 16058 // Consists of a primary cluster that accepts writes and an associated secondary 16059 // cluster that resides in a different Amazon region. The secondary cluster 16060 // accepts only reads. The primary cluster automatically replicates updates 16061 // to the secondary cluster. 16062 // 16063 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 16064 // datastore, which is what you use to associate a secondary cluster. 16065 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 16066} 16067 16068// String returns the string representation 16069func (s ModifyGlobalReplicationGroupOutput) String() string { 16070 return awsutil.Prettify(s) 16071} 16072 16073// GoString returns the string representation 16074func (s ModifyGlobalReplicationGroupOutput) GoString() string { 16075 return s.String() 16076} 16077 16078// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 16079func (s *ModifyGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *ModifyGlobalReplicationGroupOutput { 16080 s.GlobalReplicationGroup = v 16081 return s 16082} 16083 16084// Represents the input of a ModifyReplicationGroups operation. 16085type ModifyReplicationGroupInput struct { 16086 _ struct{} `type:"structure"` 16087 16088 // If true, this parameter causes the modifications in this request and any 16089 // pending modifications to be applied, asynchronously and as soon as possible, 16090 // regardless of the PreferredMaintenanceWindow setting for the replication 16091 // group. 16092 // 16093 // If false, changes to the nodes in the replication group are applied on the 16094 // next maintenance reboot, or the next failure reboot, whichever occurs first. 16095 // 16096 // Valid values: true | false 16097 // 16098 // Default: false 16099 ApplyImmediately *bool `type:"boolean"` 16100 16101 // Reserved parameter. The password used to access a password protected server. 16102 // This parameter must be specified with the auth-token-update-strategy parameter. 16103 // Password constraints: 16104 // 16105 // * Must be only printable ASCII characters 16106 // 16107 // * Must be at least 16 characters and no more than 128 characters in length 16108 // 16109 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 16110 // 16111 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 16112 AuthToken *string `type:"string"` 16113 16114 // Specifies the strategy to use to update the AUTH token. This parameter must 16115 // be specified with the auth-token parameter. Possible values: 16116 // 16117 // * Rotate 16118 // 16119 // * Set 16120 // 16121 // For more information, see Authenticating Users with Redis AUTH (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 16122 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 16123 16124 // This parameter is currently disabled. 16125 AutoMinorVersionUpgrade *bool `type:"boolean"` 16126 16127 // Determines whether a read replica is automatically promoted to read/write 16128 // primary if the existing primary encounters a failure. 16129 // 16130 // Valid values: true | false 16131 AutomaticFailoverEnabled *bool `type:"boolean"` 16132 16133 // A valid cache node type that you want to scale this replication group to. 16134 CacheNodeType *string `type:"string"` 16135 16136 // The name of the cache parameter group to apply to all of the clusters in 16137 // this replication group. This change is asynchronously applied as soon as 16138 // possible for parameters when the ApplyImmediately parameter is specified 16139 // as true for this request. 16140 CacheParameterGroupName *string `type:"string"` 16141 16142 // A list of cache security group names to authorize for the clusters in this 16143 // replication group. This change is asynchronously applied as soon as possible. 16144 // 16145 // This parameter can be used only with replication group containing clusters 16146 // running outside of an Amazon Virtual Private Cloud (Amazon VPC). 16147 // 16148 // Constraints: Must contain no more than 255 alphanumeric characters. Must 16149 // not be Default. 16150 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 16151 16152 // The upgraded version of the cache engine to be run on the clusters in the 16153 // replication group. 16154 // 16155 // Important: You can upgrade to a newer engine version (see Selecting a Cache 16156 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 16157 // but you cannot downgrade to an earlier engine version. If you want to use 16158 // an earlier engine version, you must delete the existing replication group 16159 // and create it anew with the earlier engine version. 16160 EngineVersion *string `type:"string"` 16161 16162 // Specifies the destination, format and type of the logs. 16163 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 16164 16165 // A flag to indicate MultiAZ is enabled. 16166 MultiAZEnabled *bool `type:"boolean"` 16167 16168 // Deprecated. This parameter is not used. 16169 // 16170 // Deprecated: NodeGroupId has been deprecated 16171 NodeGroupId *string `deprecated:"true" type:"string"` 16172 16173 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 16174 // are sent. 16175 // 16176 // The Amazon SNS topic owner must be same as the replication group owner. 16177 NotificationTopicArn *string `type:"string"` 16178 16179 // The status of the Amazon SNS notification topic for the replication group. 16180 // Notifications are sent only if the status is active. 16181 // 16182 // Valid values: active | inactive 16183 NotificationTopicStatus *string `type:"string"` 16184 16185 // Specifies the weekly time range during which maintenance on the cluster is 16186 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 16187 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 16188 // 16189 // Valid values for ddd are: 16190 // 16191 // * sun 16192 // 16193 // * mon 16194 // 16195 // * tue 16196 // 16197 // * wed 16198 // 16199 // * thu 16200 // 16201 // * fri 16202 // 16203 // * sat 16204 // 16205 // Example: sun:23:00-mon:01:30 16206 PreferredMaintenanceWindow *string `type:"string"` 16207 16208 // For replication groups with a single primary, if this parameter is specified, 16209 // ElastiCache promotes the specified cluster in the specified replication group 16210 // to the primary role. The nodes of all other clusters in the replication group 16211 // are read replicas. 16212 PrimaryClusterId *string `type:"string"` 16213 16214 // Removes the user groups that can access this replication group. 16215 RemoveUserGroups *bool `type:"boolean"` 16216 16217 // A description for the replication group. Maximum length is 255 characters. 16218 ReplicationGroupDescription *string `type:"string"` 16219 16220 // The identifier of the replication group to modify. 16221 // 16222 // ReplicationGroupId is a required field 16223 ReplicationGroupId *string `type:"string" required:"true"` 16224 16225 // Specifies the VPC Security Groups associated with the clusters in the replication 16226 // group. 16227 // 16228 // This parameter can be used only with replication group containing clusters 16229 // running in an Amazon Virtual Private Cloud (Amazon VPC). 16230 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 16231 16232 // The number of days for which ElastiCache retains automatic node group (shard) 16233 // snapshots before deleting them. For example, if you set SnapshotRetentionLimit 16234 // to 5, a snapshot that was taken today is retained for 5 days before being 16235 // deleted. 16236 // 16237 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 16238 // are turned off. 16239 SnapshotRetentionLimit *int64 `type:"integer"` 16240 16241 // The daily time range (in UTC) during which ElastiCache begins taking a daily 16242 // snapshot of the node group (shard) specified by SnapshottingClusterId. 16243 // 16244 // Example: 05:00-09:00 16245 // 16246 // If you do not specify this parameter, ElastiCache automatically chooses an 16247 // appropriate time range. 16248 SnapshotWindow *string `type:"string"` 16249 16250 // The cluster ID that is used as the daily snapshot source for the replication 16251 // group. This parameter cannot be set for Redis (cluster mode enabled) replication 16252 // groups. 16253 SnapshottingClusterId *string `type:"string"` 16254 16255 // The user group you are associating with the replication group. 16256 UserGroupIdsToAdd []*string `type:"list"` 16257 16258 // The user group to remove, meaning the users in the group no longer can access 16259 // the replication group. 16260 UserGroupIdsToRemove []*string `type:"list"` 16261} 16262 16263// String returns the string representation 16264func (s ModifyReplicationGroupInput) String() string { 16265 return awsutil.Prettify(s) 16266} 16267 16268// GoString returns the string representation 16269func (s ModifyReplicationGroupInput) GoString() string { 16270 return s.String() 16271} 16272 16273// Validate inspects the fields of the type to determine if they are valid. 16274func (s *ModifyReplicationGroupInput) Validate() error { 16275 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} 16276 if s.ReplicationGroupId == nil { 16277 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16278 } 16279 16280 if invalidParams.Len() > 0 { 16281 return invalidParams 16282 } 16283 return nil 16284} 16285 16286// SetApplyImmediately sets the ApplyImmediately field's value. 16287func (s *ModifyReplicationGroupInput) SetApplyImmediately(v bool) *ModifyReplicationGroupInput { 16288 s.ApplyImmediately = &v 16289 return s 16290} 16291 16292// SetAuthToken sets the AuthToken field's value. 16293func (s *ModifyReplicationGroupInput) SetAuthToken(v string) *ModifyReplicationGroupInput { 16294 s.AuthToken = &v 16295 return s 16296} 16297 16298// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 16299func (s *ModifyReplicationGroupInput) SetAuthTokenUpdateStrategy(v string) *ModifyReplicationGroupInput { 16300 s.AuthTokenUpdateStrategy = &v 16301 return s 16302} 16303 16304// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 16305func (s *ModifyReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationGroupInput { 16306 s.AutoMinorVersionUpgrade = &v 16307 return s 16308} 16309 16310// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 16311func (s *ModifyReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyReplicationGroupInput { 16312 s.AutomaticFailoverEnabled = &v 16313 return s 16314} 16315 16316// SetCacheNodeType sets the CacheNodeType field's value. 16317func (s *ModifyReplicationGroupInput) SetCacheNodeType(v string) *ModifyReplicationGroupInput { 16318 s.CacheNodeType = &v 16319 return s 16320} 16321 16322// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16323func (s *ModifyReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyReplicationGroupInput { 16324 s.CacheParameterGroupName = &v 16325 return s 16326} 16327 16328// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 16329func (s *ModifyReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *ModifyReplicationGroupInput { 16330 s.CacheSecurityGroupNames = v 16331 return s 16332} 16333 16334// SetEngineVersion sets the EngineVersion field's value. 16335func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicationGroupInput { 16336 s.EngineVersion = &v 16337 return s 16338} 16339 16340// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 16341func (s *ModifyReplicationGroupInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *ModifyReplicationGroupInput { 16342 s.LogDeliveryConfigurations = v 16343 return s 16344} 16345 16346// SetMultiAZEnabled sets the MultiAZEnabled field's value. 16347func (s *ModifyReplicationGroupInput) SetMultiAZEnabled(v bool) *ModifyReplicationGroupInput { 16348 s.MultiAZEnabled = &v 16349 return s 16350} 16351 16352// SetNodeGroupId sets the NodeGroupId field's value. 16353func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { 16354 s.NodeGroupId = &v 16355 return s 16356} 16357 16358// SetNotificationTopicArn sets the NotificationTopicArn field's value. 16359func (s *ModifyReplicationGroupInput) SetNotificationTopicArn(v string) *ModifyReplicationGroupInput { 16360 s.NotificationTopicArn = &v 16361 return s 16362} 16363 16364// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 16365func (s *ModifyReplicationGroupInput) SetNotificationTopicStatus(v string) *ModifyReplicationGroupInput { 16366 s.NotificationTopicStatus = &v 16367 return s 16368} 16369 16370// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 16371func (s *ModifyReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationGroupInput { 16372 s.PreferredMaintenanceWindow = &v 16373 return s 16374} 16375 16376// SetPrimaryClusterId sets the PrimaryClusterId field's value. 16377func (s *ModifyReplicationGroupInput) SetPrimaryClusterId(v string) *ModifyReplicationGroupInput { 16378 s.PrimaryClusterId = &v 16379 return s 16380} 16381 16382// SetRemoveUserGroups sets the RemoveUserGroups field's value. 16383func (s *ModifyReplicationGroupInput) SetRemoveUserGroups(v bool) *ModifyReplicationGroupInput { 16384 s.RemoveUserGroups = &v 16385 return s 16386} 16387 16388// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 16389func (s *ModifyReplicationGroupInput) SetReplicationGroupDescription(v string) *ModifyReplicationGroupInput { 16390 s.ReplicationGroupDescription = &v 16391 return s 16392} 16393 16394// SetReplicationGroupId sets the ReplicationGroupId field's value. 16395func (s *ModifyReplicationGroupInput) SetReplicationGroupId(v string) *ModifyReplicationGroupInput { 16396 s.ReplicationGroupId = &v 16397 return s 16398} 16399 16400// SetSecurityGroupIds sets the SecurityGroupIds field's value. 16401func (s *ModifyReplicationGroupInput) SetSecurityGroupIds(v []*string) *ModifyReplicationGroupInput { 16402 s.SecurityGroupIds = v 16403 return s 16404} 16405 16406// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 16407func (s *ModifyReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *ModifyReplicationGroupInput { 16408 s.SnapshotRetentionLimit = &v 16409 return s 16410} 16411 16412// SetSnapshotWindow sets the SnapshotWindow field's value. 16413func (s *ModifyReplicationGroupInput) SetSnapshotWindow(v string) *ModifyReplicationGroupInput { 16414 s.SnapshotWindow = &v 16415 return s 16416} 16417 16418// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 16419func (s *ModifyReplicationGroupInput) SetSnapshottingClusterId(v string) *ModifyReplicationGroupInput { 16420 s.SnapshottingClusterId = &v 16421 return s 16422} 16423 16424// SetUserGroupIdsToAdd sets the UserGroupIdsToAdd field's value. 16425func (s *ModifyReplicationGroupInput) SetUserGroupIdsToAdd(v []*string) *ModifyReplicationGroupInput { 16426 s.UserGroupIdsToAdd = v 16427 return s 16428} 16429 16430// SetUserGroupIdsToRemove sets the UserGroupIdsToRemove field's value. 16431func (s *ModifyReplicationGroupInput) SetUserGroupIdsToRemove(v []*string) *ModifyReplicationGroupInput { 16432 s.UserGroupIdsToRemove = v 16433 return s 16434} 16435 16436type ModifyReplicationGroupOutput struct { 16437 _ struct{} `type:"structure"` 16438 16439 // Contains all of the attributes of a specific Redis replication group. 16440 ReplicationGroup *ReplicationGroup `type:"structure"` 16441} 16442 16443// String returns the string representation 16444func (s ModifyReplicationGroupOutput) String() string { 16445 return awsutil.Prettify(s) 16446} 16447 16448// GoString returns the string representation 16449func (s ModifyReplicationGroupOutput) GoString() string { 16450 return s.String() 16451} 16452 16453// SetReplicationGroup sets the ReplicationGroup field's value. 16454func (s *ModifyReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupOutput { 16455 s.ReplicationGroup = v 16456 return s 16457} 16458 16459// Represents the input for a ModifyReplicationGroupShardConfiguration operation. 16460type ModifyReplicationGroupShardConfigurationInput struct { 16461 _ struct{} `type:"structure"` 16462 16463 // Indicates that the shard reconfiguration process begins immediately. At present, 16464 // the only permitted value for this parameter is true. 16465 // 16466 // Value: true 16467 // 16468 // ApplyImmediately is a required field 16469 ApplyImmediately *bool `type:"boolean" required:"true"` 16470 16471 // The number of node groups (shards) that results from the modification of 16472 // the shard configuration. 16473 // 16474 // NodeGroupCount is a required field 16475 NodeGroupCount *int64 `type:"integer" required:"true"` 16476 16477 // If the value of NodeGroupCount is less than the current number of node groups 16478 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 16479 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 16480 // 16481 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 16482 // from the cluster. 16483 NodeGroupsToRemove []*string `locationNameList:"NodeGroupToRemove" type:"list"` 16484 16485 // If the value of NodeGroupCount is less than the current number of node groups 16486 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 16487 // NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. 16488 // 16489 // ElastiCache for Redis will attempt to remove all node groups except those 16490 // listed by NodeGroupsToRetain from the cluster. 16491 NodeGroupsToRetain []*string `locationNameList:"NodeGroupToRetain" type:"list"` 16492 16493 // The name of the Redis (cluster mode enabled) cluster (replication group) 16494 // on which the shards are to be configured. 16495 // 16496 // ReplicationGroupId is a required field 16497 ReplicationGroupId *string `type:"string" required:"true"` 16498 16499 // Specifies the preferred availability zones for each node group in the cluster. 16500 // If the value of NodeGroupCount is greater than the current number of node 16501 // groups (shards), you can use this parameter to specify the preferred availability 16502 // zones of the cluster's shards. If you omit this parameter ElastiCache selects 16503 // availability zones for you. 16504 // 16505 // You can specify this parameter only if the value of NodeGroupCount is greater 16506 // than the current number of node groups (shards). 16507 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list"` 16508} 16509 16510// String returns the string representation 16511func (s ModifyReplicationGroupShardConfigurationInput) String() string { 16512 return awsutil.Prettify(s) 16513} 16514 16515// GoString returns the string representation 16516func (s ModifyReplicationGroupShardConfigurationInput) GoString() string { 16517 return s.String() 16518} 16519 16520// Validate inspects the fields of the type to determine if they are valid. 16521func (s *ModifyReplicationGroupShardConfigurationInput) Validate() error { 16522 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupShardConfigurationInput"} 16523 if s.ApplyImmediately == nil { 16524 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 16525 } 16526 if s.NodeGroupCount == nil { 16527 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 16528 } 16529 if s.ReplicationGroupId == nil { 16530 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16531 } 16532 if s.ReshardingConfiguration != nil { 16533 for i, v := range s.ReshardingConfiguration { 16534 if v == nil { 16535 continue 16536 } 16537 if err := v.Validate(); err != nil { 16538 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 16539 } 16540 } 16541 } 16542 16543 if invalidParams.Len() > 0 { 16544 return invalidParams 16545 } 16546 return nil 16547} 16548 16549// SetApplyImmediately sets the ApplyImmediately field's value. 16550func (s *ModifyReplicationGroupShardConfigurationInput) SetApplyImmediately(v bool) *ModifyReplicationGroupShardConfigurationInput { 16551 s.ApplyImmediately = &v 16552 return s 16553} 16554 16555// SetNodeGroupCount sets the NodeGroupCount field's value. 16556func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupCount(v int64) *ModifyReplicationGroupShardConfigurationInput { 16557 s.NodeGroupCount = &v 16558 return s 16559} 16560 16561// SetNodeGroupsToRemove sets the NodeGroupsToRemove field's value. 16562func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRemove(v []*string) *ModifyReplicationGroupShardConfigurationInput { 16563 s.NodeGroupsToRemove = v 16564 return s 16565} 16566 16567// SetNodeGroupsToRetain sets the NodeGroupsToRetain field's value. 16568func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v []*string) *ModifyReplicationGroupShardConfigurationInput { 16569 s.NodeGroupsToRetain = v 16570 return s 16571} 16572 16573// SetReplicationGroupId sets the ReplicationGroupId field's value. 16574func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { 16575 s.ReplicationGroupId = &v 16576 return s 16577} 16578 16579// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 16580func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { 16581 s.ReshardingConfiguration = v 16582 return s 16583} 16584 16585type ModifyReplicationGroupShardConfigurationOutput struct { 16586 _ struct{} `type:"structure"` 16587 16588 // Contains all of the attributes of a specific Redis replication group. 16589 ReplicationGroup *ReplicationGroup `type:"structure"` 16590} 16591 16592// String returns the string representation 16593func (s ModifyReplicationGroupShardConfigurationOutput) String() string { 16594 return awsutil.Prettify(s) 16595} 16596 16597// GoString returns the string representation 16598func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { 16599 return s.String() 16600} 16601 16602// SetReplicationGroup sets the ReplicationGroup field's value. 16603func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { 16604 s.ReplicationGroup = v 16605 return s 16606} 16607 16608type ModifyUserGroupInput struct { 16609 _ struct{} `type:"structure"` 16610 16611 // The ID of the user group. 16612 // 16613 // UserGroupId is a required field 16614 UserGroupId *string `type:"string" required:"true"` 16615 16616 // The list of user IDs to add to the user group. 16617 UserIdsToAdd []*string `min:"1" type:"list"` 16618 16619 // The list of user IDs to remove from the user group. 16620 UserIdsToRemove []*string `min:"1" type:"list"` 16621} 16622 16623// String returns the string representation 16624func (s ModifyUserGroupInput) String() string { 16625 return awsutil.Prettify(s) 16626} 16627 16628// GoString returns the string representation 16629func (s ModifyUserGroupInput) GoString() string { 16630 return s.String() 16631} 16632 16633// Validate inspects the fields of the type to determine if they are valid. 16634func (s *ModifyUserGroupInput) Validate() error { 16635 invalidParams := request.ErrInvalidParams{Context: "ModifyUserGroupInput"} 16636 if s.UserGroupId == nil { 16637 invalidParams.Add(request.NewErrParamRequired("UserGroupId")) 16638 } 16639 if s.UserIdsToAdd != nil && len(s.UserIdsToAdd) < 1 { 16640 invalidParams.Add(request.NewErrParamMinLen("UserIdsToAdd", 1)) 16641 } 16642 if s.UserIdsToRemove != nil && len(s.UserIdsToRemove) < 1 { 16643 invalidParams.Add(request.NewErrParamMinLen("UserIdsToRemove", 1)) 16644 } 16645 16646 if invalidParams.Len() > 0 { 16647 return invalidParams 16648 } 16649 return nil 16650} 16651 16652// SetUserGroupId sets the UserGroupId field's value. 16653func (s *ModifyUserGroupInput) SetUserGroupId(v string) *ModifyUserGroupInput { 16654 s.UserGroupId = &v 16655 return s 16656} 16657 16658// SetUserIdsToAdd sets the UserIdsToAdd field's value. 16659func (s *ModifyUserGroupInput) SetUserIdsToAdd(v []*string) *ModifyUserGroupInput { 16660 s.UserIdsToAdd = v 16661 return s 16662} 16663 16664// SetUserIdsToRemove sets the UserIdsToRemove field's value. 16665func (s *ModifyUserGroupInput) SetUserIdsToRemove(v []*string) *ModifyUserGroupInput { 16666 s.UserIdsToRemove = v 16667 return s 16668} 16669 16670type ModifyUserGroupOutput struct { 16671 _ struct{} `type:"structure"` 16672 16673 // The Amazon Resource Name (ARN) of the user group. 16674 ARN *string `type:"string"` 16675 16676 // The current supported value is Redis. 16677 Engine *string `type:"string"` 16678 16679 // A list of updates being applied to the user groups. 16680 PendingChanges *UserGroupPendingChanges `type:"structure"` 16681 16682 // A list of replication groups that the user group can access. 16683 ReplicationGroups []*string `type:"list"` 16684 16685 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 16686 Status *string `type:"string"` 16687 16688 // The ID of the user group. 16689 UserGroupId *string `type:"string"` 16690 16691 // The list of user IDs that belong to the user group. 16692 UserIds []*string `type:"list"` 16693} 16694 16695// String returns the string representation 16696func (s ModifyUserGroupOutput) String() string { 16697 return awsutil.Prettify(s) 16698} 16699 16700// GoString returns the string representation 16701func (s ModifyUserGroupOutput) GoString() string { 16702 return s.String() 16703} 16704 16705// SetARN sets the ARN field's value. 16706func (s *ModifyUserGroupOutput) SetARN(v string) *ModifyUserGroupOutput { 16707 s.ARN = &v 16708 return s 16709} 16710 16711// SetEngine sets the Engine field's value. 16712func (s *ModifyUserGroupOutput) SetEngine(v string) *ModifyUserGroupOutput { 16713 s.Engine = &v 16714 return s 16715} 16716 16717// SetPendingChanges sets the PendingChanges field's value. 16718func (s *ModifyUserGroupOutput) SetPendingChanges(v *UserGroupPendingChanges) *ModifyUserGroupOutput { 16719 s.PendingChanges = v 16720 return s 16721} 16722 16723// SetReplicationGroups sets the ReplicationGroups field's value. 16724func (s *ModifyUserGroupOutput) SetReplicationGroups(v []*string) *ModifyUserGroupOutput { 16725 s.ReplicationGroups = v 16726 return s 16727} 16728 16729// SetStatus sets the Status field's value. 16730func (s *ModifyUserGroupOutput) SetStatus(v string) *ModifyUserGroupOutput { 16731 s.Status = &v 16732 return s 16733} 16734 16735// SetUserGroupId sets the UserGroupId field's value. 16736func (s *ModifyUserGroupOutput) SetUserGroupId(v string) *ModifyUserGroupOutput { 16737 s.UserGroupId = &v 16738 return s 16739} 16740 16741// SetUserIds sets the UserIds field's value. 16742func (s *ModifyUserGroupOutput) SetUserIds(v []*string) *ModifyUserGroupOutput { 16743 s.UserIds = v 16744 return s 16745} 16746 16747type ModifyUserInput struct { 16748 _ struct{} `type:"structure"` 16749 16750 // Access permissions string used for this user. 16751 AccessString *string `type:"string"` 16752 16753 // Adds additional user permissions to the access string. 16754 AppendAccessString *string `type:"string"` 16755 16756 // Indicates no password is required for the user. 16757 NoPasswordRequired *bool `type:"boolean"` 16758 16759 // The passwords belonging to the user. You are allowed up to two. 16760 Passwords []*string `min:"1" type:"list"` 16761 16762 // The ID of the user. 16763 // 16764 // UserId is a required field 16765 UserId *string `min:"1" type:"string" required:"true"` 16766} 16767 16768// String returns the string representation 16769func (s ModifyUserInput) String() string { 16770 return awsutil.Prettify(s) 16771} 16772 16773// GoString returns the string representation 16774func (s ModifyUserInput) GoString() string { 16775 return s.String() 16776} 16777 16778// Validate inspects the fields of the type to determine if they are valid. 16779func (s *ModifyUserInput) Validate() error { 16780 invalidParams := request.ErrInvalidParams{Context: "ModifyUserInput"} 16781 if s.Passwords != nil && len(s.Passwords) < 1 { 16782 invalidParams.Add(request.NewErrParamMinLen("Passwords", 1)) 16783 } 16784 if s.UserId == nil { 16785 invalidParams.Add(request.NewErrParamRequired("UserId")) 16786 } 16787 if s.UserId != nil && len(*s.UserId) < 1 { 16788 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 16789 } 16790 16791 if invalidParams.Len() > 0 { 16792 return invalidParams 16793 } 16794 return nil 16795} 16796 16797// SetAccessString sets the AccessString field's value. 16798func (s *ModifyUserInput) SetAccessString(v string) *ModifyUserInput { 16799 s.AccessString = &v 16800 return s 16801} 16802 16803// SetAppendAccessString sets the AppendAccessString field's value. 16804func (s *ModifyUserInput) SetAppendAccessString(v string) *ModifyUserInput { 16805 s.AppendAccessString = &v 16806 return s 16807} 16808 16809// SetNoPasswordRequired sets the NoPasswordRequired field's value. 16810func (s *ModifyUserInput) SetNoPasswordRequired(v bool) *ModifyUserInput { 16811 s.NoPasswordRequired = &v 16812 return s 16813} 16814 16815// SetPasswords sets the Passwords field's value. 16816func (s *ModifyUserInput) SetPasswords(v []*string) *ModifyUserInput { 16817 s.Passwords = v 16818 return s 16819} 16820 16821// SetUserId sets the UserId field's value. 16822func (s *ModifyUserInput) SetUserId(v string) *ModifyUserInput { 16823 s.UserId = &v 16824 return s 16825} 16826 16827type ModifyUserOutput struct { 16828 _ struct{} `type:"structure"` 16829 16830 // The Amazon Resource Name (ARN) of the user. 16831 ARN *string `type:"string"` 16832 16833 // Access permissions string used for this user. 16834 AccessString *string `type:"string"` 16835 16836 // Denotes whether the user requires a password to authenticate. 16837 Authentication *Authentication `type:"structure"` 16838 16839 // The current supported value is Redis. 16840 Engine *string `type:"string"` 16841 16842 // Indicates the user status. Can be "active", "modifying" or "deleting". 16843 Status *string `type:"string"` 16844 16845 // Returns a list of the user group IDs the user belongs to. 16846 UserGroupIds []*string `type:"list"` 16847 16848 // The ID of the user. 16849 UserId *string `type:"string"` 16850 16851 // The username of the user. 16852 UserName *string `type:"string"` 16853} 16854 16855// String returns the string representation 16856func (s ModifyUserOutput) String() string { 16857 return awsutil.Prettify(s) 16858} 16859 16860// GoString returns the string representation 16861func (s ModifyUserOutput) GoString() string { 16862 return s.String() 16863} 16864 16865// SetARN sets the ARN field's value. 16866func (s *ModifyUserOutput) SetARN(v string) *ModifyUserOutput { 16867 s.ARN = &v 16868 return s 16869} 16870 16871// SetAccessString sets the AccessString field's value. 16872func (s *ModifyUserOutput) SetAccessString(v string) *ModifyUserOutput { 16873 s.AccessString = &v 16874 return s 16875} 16876 16877// SetAuthentication sets the Authentication field's value. 16878func (s *ModifyUserOutput) SetAuthentication(v *Authentication) *ModifyUserOutput { 16879 s.Authentication = v 16880 return s 16881} 16882 16883// SetEngine sets the Engine field's value. 16884func (s *ModifyUserOutput) SetEngine(v string) *ModifyUserOutput { 16885 s.Engine = &v 16886 return s 16887} 16888 16889// SetStatus sets the Status field's value. 16890func (s *ModifyUserOutput) SetStatus(v string) *ModifyUserOutput { 16891 s.Status = &v 16892 return s 16893} 16894 16895// SetUserGroupIds sets the UserGroupIds field's value. 16896func (s *ModifyUserOutput) SetUserGroupIds(v []*string) *ModifyUserOutput { 16897 s.UserGroupIds = v 16898 return s 16899} 16900 16901// SetUserId sets the UserId field's value. 16902func (s *ModifyUserOutput) SetUserId(v string) *ModifyUserOutput { 16903 s.UserId = &v 16904 return s 16905} 16906 16907// SetUserName sets the UserName field's value. 16908func (s *ModifyUserOutput) SetUserName(v string) *ModifyUserOutput { 16909 s.UserName = &v 16910 return s 16911} 16912 16913// Represents a collection of cache nodes in a replication group. One node in 16914// the node group is the read/write primary node. All the other nodes are read-only 16915// Replica nodes. 16916type NodeGroup struct { 16917 _ struct{} `type:"structure"` 16918 16919 // The identifier for the node group (shard). A Redis (cluster mode disabled) 16920 // replication group contains only 1 node group; therefore, the node group ID 16921 // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 16922 // node groups numbered 0001 to 0090. Optionally, the user can provide the id 16923 // for a node group. 16924 NodeGroupId *string `type:"string"` 16925 16926 // A list containing information about individual nodes within the node group 16927 // (shard). 16928 NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` 16929 16930 // The endpoint of the primary node in this node group (shard). 16931 PrimaryEndpoint *Endpoint `type:"structure"` 16932 16933 // The endpoint of the replica nodes in this node group (shard). 16934 ReaderEndpoint *Endpoint `type:"structure"` 16935 16936 // The keyspace for this node group (shard). 16937 Slots *string `type:"string"` 16938 16939 // The current state of this replication group - creating, available, modifying, 16940 // deleting. 16941 Status *string `type:"string"` 16942} 16943 16944// String returns the string representation 16945func (s NodeGroup) String() string { 16946 return awsutil.Prettify(s) 16947} 16948 16949// GoString returns the string representation 16950func (s NodeGroup) GoString() string { 16951 return s.String() 16952} 16953 16954// SetNodeGroupId sets the NodeGroupId field's value. 16955func (s *NodeGroup) SetNodeGroupId(v string) *NodeGroup { 16956 s.NodeGroupId = &v 16957 return s 16958} 16959 16960// SetNodeGroupMembers sets the NodeGroupMembers field's value. 16961func (s *NodeGroup) SetNodeGroupMembers(v []*NodeGroupMember) *NodeGroup { 16962 s.NodeGroupMembers = v 16963 return s 16964} 16965 16966// SetPrimaryEndpoint sets the PrimaryEndpoint field's value. 16967func (s *NodeGroup) SetPrimaryEndpoint(v *Endpoint) *NodeGroup { 16968 s.PrimaryEndpoint = v 16969 return s 16970} 16971 16972// SetReaderEndpoint sets the ReaderEndpoint field's value. 16973func (s *NodeGroup) SetReaderEndpoint(v *Endpoint) *NodeGroup { 16974 s.ReaderEndpoint = v 16975 return s 16976} 16977 16978// SetSlots sets the Slots field's value. 16979func (s *NodeGroup) SetSlots(v string) *NodeGroup { 16980 s.Slots = &v 16981 return s 16982} 16983 16984// SetStatus sets the Status field's value. 16985func (s *NodeGroup) SetStatus(v string) *NodeGroup { 16986 s.Status = &v 16987 return s 16988} 16989 16990// Node group (shard) configuration options. Each node group (shard) configuration 16991// has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, 16992// ReplicaCount. 16993type NodeGroupConfiguration struct { 16994 _ struct{} `type:"structure"` 16995 16996 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 16997 // for the node group these configuration values apply to. 16998 NodeGroupId *string `min:"1" type:"string"` 16999 17000 // The Availability Zone where the primary node of this node group (shard) is 17001 // launched. 17002 PrimaryAvailabilityZone *string `type:"string"` 17003 17004 // The outpost ARN of the primary node. 17005 PrimaryOutpostArn *string `type:"string"` 17006 17007 // A list of Availability Zones to be used for the read replicas. The number 17008 // of Availability Zones in this list must match the value of ReplicaCount or 17009 // ReplicasPerNodeGroup if not specified. 17010 ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 17011 17012 // The number of read replica nodes in this node group (shard). 17013 ReplicaCount *int64 `type:"integer"` 17014 17015 // The outpost ARN of the node replicas. 17016 ReplicaOutpostArns []*string `locationNameList:"OutpostArn" type:"list"` 17017 17018 // A string that specifies the keyspace for a particular node group. Keyspaces 17019 // range from 0 to 16,383. The string is in the format startkey-endkey. 17020 // 17021 // Example: "0-3999" 17022 Slots *string `type:"string"` 17023} 17024 17025// String returns the string representation 17026func (s NodeGroupConfiguration) String() string { 17027 return awsutil.Prettify(s) 17028} 17029 17030// GoString returns the string representation 17031func (s NodeGroupConfiguration) GoString() string { 17032 return s.String() 17033} 17034 17035// Validate inspects the fields of the type to determine if they are valid. 17036func (s *NodeGroupConfiguration) Validate() error { 17037 invalidParams := request.ErrInvalidParams{Context: "NodeGroupConfiguration"} 17038 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 17039 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 17040 } 17041 17042 if invalidParams.Len() > 0 { 17043 return invalidParams 17044 } 17045 return nil 17046} 17047 17048// SetNodeGroupId sets the NodeGroupId field's value. 17049func (s *NodeGroupConfiguration) SetNodeGroupId(v string) *NodeGroupConfiguration { 17050 s.NodeGroupId = &v 17051 return s 17052} 17053 17054// SetPrimaryAvailabilityZone sets the PrimaryAvailabilityZone field's value. 17055func (s *NodeGroupConfiguration) SetPrimaryAvailabilityZone(v string) *NodeGroupConfiguration { 17056 s.PrimaryAvailabilityZone = &v 17057 return s 17058} 17059 17060// SetPrimaryOutpostArn sets the PrimaryOutpostArn field's value. 17061func (s *NodeGroupConfiguration) SetPrimaryOutpostArn(v string) *NodeGroupConfiguration { 17062 s.PrimaryOutpostArn = &v 17063 return s 17064} 17065 17066// SetReplicaAvailabilityZones sets the ReplicaAvailabilityZones field's value. 17067func (s *NodeGroupConfiguration) SetReplicaAvailabilityZones(v []*string) *NodeGroupConfiguration { 17068 s.ReplicaAvailabilityZones = v 17069 return s 17070} 17071 17072// SetReplicaCount sets the ReplicaCount field's value. 17073func (s *NodeGroupConfiguration) SetReplicaCount(v int64) *NodeGroupConfiguration { 17074 s.ReplicaCount = &v 17075 return s 17076} 17077 17078// SetReplicaOutpostArns sets the ReplicaOutpostArns field's value. 17079func (s *NodeGroupConfiguration) SetReplicaOutpostArns(v []*string) *NodeGroupConfiguration { 17080 s.ReplicaOutpostArns = v 17081 return s 17082} 17083 17084// SetSlots sets the Slots field's value. 17085func (s *NodeGroupConfiguration) SetSlots(v string) *NodeGroupConfiguration { 17086 s.Slots = &v 17087 return s 17088} 17089 17090// Represents a single node within a node group (shard). 17091type NodeGroupMember struct { 17092 _ struct{} `type:"structure"` 17093 17094 // The ID of the cluster to which the node belongs. 17095 CacheClusterId *string `type:"string"` 17096 17097 // The ID of the node within its cluster. A node ID is a numeric identifier 17098 // (0001, 0002, etc.). 17099 CacheNodeId *string `type:"string"` 17100 17101 // The role that is currently assigned to the node - primary or replica. This 17102 // member is only applicable for Redis (cluster mode disabled) replication groups. 17103 CurrentRole *string `type:"string"` 17104 17105 // The name of the Availability Zone in which the node is located. 17106 PreferredAvailabilityZone *string `type:"string"` 17107 17108 // The outpost ARN of the node group member. 17109 PreferredOutpostArn *string `type:"string"` 17110 17111 // The information required for client programs to connect to a node for read 17112 // operations. The read endpoint is only applicable on Redis (cluster mode disabled) 17113 // clusters. 17114 ReadEndpoint *Endpoint `type:"structure"` 17115} 17116 17117// String returns the string representation 17118func (s NodeGroupMember) String() string { 17119 return awsutil.Prettify(s) 17120} 17121 17122// GoString returns the string representation 17123func (s NodeGroupMember) GoString() string { 17124 return s.String() 17125} 17126 17127// SetCacheClusterId sets the CacheClusterId field's value. 17128func (s *NodeGroupMember) SetCacheClusterId(v string) *NodeGroupMember { 17129 s.CacheClusterId = &v 17130 return s 17131} 17132 17133// SetCacheNodeId sets the CacheNodeId field's value. 17134func (s *NodeGroupMember) SetCacheNodeId(v string) *NodeGroupMember { 17135 s.CacheNodeId = &v 17136 return s 17137} 17138 17139// SetCurrentRole sets the CurrentRole field's value. 17140func (s *NodeGroupMember) SetCurrentRole(v string) *NodeGroupMember { 17141 s.CurrentRole = &v 17142 return s 17143} 17144 17145// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 17146func (s *NodeGroupMember) SetPreferredAvailabilityZone(v string) *NodeGroupMember { 17147 s.PreferredAvailabilityZone = &v 17148 return s 17149} 17150 17151// SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 17152func (s *NodeGroupMember) SetPreferredOutpostArn(v string) *NodeGroupMember { 17153 s.PreferredOutpostArn = &v 17154 return s 17155} 17156 17157// SetReadEndpoint sets the ReadEndpoint field's value. 17158func (s *NodeGroupMember) SetReadEndpoint(v *Endpoint) *NodeGroupMember { 17159 s.ReadEndpoint = v 17160 return s 17161} 17162 17163// The status of the service update on the node group member 17164type NodeGroupMemberUpdateStatus struct { 17165 _ struct{} `type:"structure"` 17166 17167 // The cache cluster ID 17168 CacheClusterId *string `type:"string"` 17169 17170 // The node ID of the cache cluster 17171 CacheNodeId *string `type:"string"` 17172 17173 // The deletion date of the node 17174 NodeDeletionDate *time.Time `type:"timestamp"` 17175 17176 // The end date of the update for a node 17177 NodeUpdateEndDate *time.Time `type:"timestamp"` 17178 17179 // Reflects whether the update was initiated by the customer or automatically 17180 // applied 17181 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 17182 17183 // The date when the update is triggered 17184 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 17185 17186 // The start date of the update for a node 17187 NodeUpdateStartDate *time.Time `type:"timestamp"` 17188 17189 // The update status of the node 17190 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 17191 17192 // The date when the NodeUpdateStatus was last modified 17193 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 17194} 17195 17196// String returns the string representation 17197func (s NodeGroupMemberUpdateStatus) String() string { 17198 return awsutil.Prettify(s) 17199} 17200 17201// GoString returns the string representation 17202func (s NodeGroupMemberUpdateStatus) GoString() string { 17203 return s.String() 17204} 17205 17206// SetCacheClusterId sets the CacheClusterId field's value. 17207func (s *NodeGroupMemberUpdateStatus) SetCacheClusterId(v string) *NodeGroupMemberUpdateStatus { 17208 s.CacheClusterId = &v 17209 return s 17210} 17211 17212// SetCacheNodeId sets the CacheNodeId field's value. 17213func (s *NodeGroupMemberUpdateStatus) SetCacheNodeId(v string) *NodeGroupMemberUpdateStatus { 17214 s.CacheNodeId = &v 17215 return s 17216} 17217 17218// SetNodeDeletionDate sets the NodeDeletionDate field's value. 17219func (s *NodeGroupMemberUpdateStatus) SetNodeDeletionDate(v time.Time) *NodeGroupMemberUpdateStatus { 17220 s.NodeDeletionDate = &v 17221 return s 17222} 17223 17224// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 17225func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateEndDate(v time.Time) *NodeGroupMemberUpdateStatus { 17226 s.NodeUpdateEndDate = &v 17227 return s 17228} 17229 17230// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 17231func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedBy(v string) *NodeGroupMemberUpdateStatus { 17232 s.NodeUpdateInitiatedBy = &v 17233 return s 17234} 17235 17236// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 17237func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *NodeGroupMemberUpdateStatus { 17238 s.NodeUpdateInitiatedDate = &v 17239 return s 17240} 17241 17242// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 17243func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStartDate(v time.Time) *NodeGroupMemberUpdateStatus { 17244 s.NodeUpdateStartDate = &v 17245 return s 17246} 17247 17248// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 17249func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatus(v string) *NodeGroupMemberUpdateStatus { 17250 s.NodeUpdateStatus = &v 17251 return s 17252} 17253 17254// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 17255func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *NodeGroupMemberUpdateStatus { 17256 s.NodeUpdateStatusModifiedDate = &v 17257 return s 17258} 17259 17260// The status of the service update on the node group 17261type NodeGroupUpdateStatus struct { 17262 _ struct{} `type:"structure"` 17263 17264 // The ID of the node group 17265 NodeGroupId *string `type:"string"` 17266 17267 // The status of the service update on the node group member 17268 NodeGroupMemberUpdateStatus []*NodeGroupMemberUpdateStatus `locationNameList:"NodeGroupMemberUpdateStatus" type:"list"` 17269} 17270 17271// String returns the string representation 17272func (s NodeGroupUpdateStatus) String() string { 17273 return awsutil.Prettify(s) 17274} 17275 17276// GoString returns the string representation 17277func (s NodeGroupUpdateStatus) GoString() string { 17278 return s.String() 17279} 17280 17281// SetNodeGroupId sets the NodeGroupId field's value. 17282func (s *NodeGroupUpdateStatus) SetNodeGroupId(v string) *NodeGroupUpdateStatus { 17283 s.NodeGroupId = &v 17284 return s 17285} 17286 17287// SetNodeGroupMemberUpdateStatus sets the NodeGroupMemberUpdateStatus field's value. 17288func (s *NodeGroupUpdateStatus) SetNodeGroupMemberUpdateStatus(v []*NodeGroupMemberUpdateStatus) *NodeGroupUpdateStatus { 17289 s.NodeGroupMemberUpdateStatus = v 17290 return s 17291} 17292 17293// Represents an individual cache node in a snapshot of a cluster. 17294type NodeSnapshot struct { 17295 _ struct{} `type:"structure"` 17296 17297 // A unique identifier for the source cluster. 17298 CacheClusterId *string `type:"string"` 17299 17300 // The date and time when the cache node was created in the source cluster. 17301 CacheNodeCreateTime *time.Time `type:"timestamp"` 17302 17303 // The cache node identifier for the node in the source cluster. 17304 CacheNodeId *string `type:"string"` 17305 17306 // The size of the cache on the source cache node. 17307 CacheSize *string `type:"string"` 17308 17309 // The configuration for the source node group (shard). 17310 NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` 17311 17312 // A unique identifier for the source node group (shard). 17313 NodeGroupId *string `type:"string"` 17314 17315 // The date and time when the source node's metadata and cache data set was 17316 // obtained for the snapshot. 17317 SnapshotCreateTime *time.Time `type:"timestamp"` 17318} 17319 17320// String returns the string representation 17321func (s NodeSnapshot) String() string { 17322 return awsutil.Prettify(s) 17323} 17324 17325// GoString returns the string representation 17326func (s NodeSnapshot) GoString() string { 17327 return s.String() 17328} 17329 17330// SetCacheClusterId sets the CacheClusterId field's value. 17331func (s *NodeSnapshot) SetCacheClusterId(v string) *NodeSnapshot { 17332 s.CacheClusterId = &v 17333 return s 17334} 17335 17336// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 17337func (s *NodeSnapshot) SetCacheNodeCreateTime(v time.Time) *NodeSnapshot { 17338 s.CacheNodeCreateTime = &v 17339 return s 17340} 17341 17342// SetCacheNodeId sets the CacheNodeId field's value. 17343func (s *NodeSnapshot) SetCacheNodeId(v string) *NodeSnapshot { 17344 s.CacheNodeId = &v 17345 return s 17346} 17347 17348// SetCacheSize sets the CacheSize field's value. 17349func (s *NodeSnapshot) SetCacheSize(v string) *NodeSnapshot { 17350 s.CacheSize = &v 17351 return s 17352} 17353 17354// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 17355func (s *NodeSnapshot) SetNodeGroupConfiguration(v *NodeGroupConfiguration) *NodeSnapshot { 17356 s.NodeGroupConfiguration = v 17357 return s 17358} 17359 17360// SetNodeGroupId sets the NodeGroupId field's value. 17361func (s *NodeSnapshot) SetNodeGroupId(v string) *NodeSnapshot { 17362 s.NodeGroupId = &v 17363 return s 17364} 17365 17366// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 17367func (s *NodeSnapshot) SetSnapshotCreateTime(v time.Time) *NodeSnapshot { 17368 s.SnapshotCreateTime = &v 17369 return s 17370} 17371 17372// Describes a notification topic and its status. Notification topics are used 17373// for publishing ElastiCache events to subscribers using Amazon Simple Notification 17374// Service (SNS). 17375type NotificationConfiguration struct { 17376 _ struct{} `type:"structure"` 17377 17378 // The Amazon Resource Name (ARN) that identifies the topic. 17379 TopicArn *string `type:"string"` 17380 17381 // The current state of the topic. 17382 TopicStatus *string `type:"string"` 17383} 17384 17385// String returns the string representation 17386func (s NotificationConfiguration) String() string { 17387 return awsutil.Prettify(s) 17388} 17389 17390// GoString returns the string representation 17391func (s NotificationConfiguration) GoString() string { 17392 return s.String() 17393} 17394 17395// SetTopicArn sets the TopicArn field's value. 17396func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { 17397 s.TopicArn = &v 17398 return s 17399} 17400 17401// SetTopicStatus sets the TopicStatus field's value. 17402func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { 17403 s.TopicStatus = &v 17404 return s 17405} 17406 17407// Describes an individual setting that controls some aspect of ElastiCache 17408// behavior. 17409type Parameter struct { 17410 _ struct{} `type:"structure"` 17411 17412 // The valid range of values for the parameter. 17413 AllowedValues *string `type:"string"` 17414 17415 // Indicates whether a change to the parameter is applied immediately or requires 17416 // a reboot for the change to be applied. You can force a reboot or wait until 17417 // the next maintenance window's reboot. For more information, see Rebooting 17418 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 17419 ChangeType *string `type:"string" enum:"ChangeType"` 17420 17421 // The valid data type for the parameter. 17422 DataType *string `type:"string"` 17423 17424 // A description of the parameter. 17425 Description *string `type:"string"` 17426 17427 // Indicates whether (true) or not (false) the parameter can be modified. Some 17428 // parameters have security or operational implications that prevent them from 17429 // being changed. 17430 IsModifiable *bool `type:"boolean"` 17431 17432 // The earliest cache engine version to which the parameter can apply. 17433 MinimumEngineVersion *string `type:"string"` 17434 17435 // The name of the parameter. 17436 ParameterName *string `type:"string"` 17437 17438 // The value of the parameter. 17439 ParameterValue *string `type:"string"` 17440 17441 // The source of the parameter. 17442 Source *string `type:"string"` 17443} 17444 17445// String returns the string representation 17446func (s Parameter) String() string { 17447 return awsutil.Prettify(s) 17448} 17449 17450// GoString returns the string representation 17451func (s Parameter) GoString() string { 17452 return s.String() 17453} 17454 17455// SetAllowedValues sets the AllowedValues field's value. 17456func (s *Parameter) SetAllowedValues(v string) *Parameter { 17457 s.AllowedValues = &v 17458 return s 17459} 17460 17461// SetChangeType sets the ChangeType field's value. 17462func (s *Parameter) SetChangeType(v string) *Parameter { 17463 s.ChangeType = &v 17464 return s 17465} 17466 17467// SetDataType sets the DataType field's value. 17468func (s *Parameter) SetDataType(v string) *Parameter { 17469 s.DataType = &v 17470 return s 17471} 17472 17473// SetDescription sets the Description field's value. 17474func (s *Parameter) SetDescription(v string) *Parameter { 17475 s.Description = &v 17476 return s 17477} 17478 17479// SetIsModifiable sets the IsModifiable field's value. 17480func (s *Parameter) SetIsModifiable(v bool) *Parameter { 17481 s.IsModifiable = &v 17482 return s 17483} 17484 17485// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 17486func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 17487 s.MinimumEngineVersion = &v 17488 return s 17489} 17490 17491// SetParameterName sets the ParameterName field's value. 17492func (s *Parameter) SetParameterName(v string) *Parameter { 17493 s.ParameterName = &v 17494 return s 17495} 17496 17497// SetParameterValue sets the ParameterValue field's value. 17498func (s *Parameter) SetParameterValue(v string) *Parameter { 17499 s.ParameterValue = &v 17500 return s 17501} 17502 17503// SetSource sets the Source field's value. 17504func (s *Parameter) SetSource(v string) *Parameter { 17505 s.Source = &v 17506 return s 17507} 17508 17509// Describes a name-value pair that is used to update the value of a parameter. 17510type ParameterNameValue struct { 17511 _ struct{} `type:"structure"` 17512 17513 // The name of the parameter. 17514 ParameterName *string `type:"string"` 17515 17516 // The value of the parameter. 17517 ParameterValue *string `type:"string"` 17518} 17519 17520// String returns the string representation 17521func (s ParameterNameValue) String() string { 17522 return awsutil.Prettify(s) 17523} 17524 17525// GoString returns the string representation 17526func (s ParameterNameValue) GoString() string { 17527 return s.String() 17528} 17529 17530// SetParameterName sets the ParameterName field's value. 17531func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { 17532 s.ParameterName = &v 17533 return s 17534} 17535 17536// SetParameterValue sets the ParameterValue field's value. 17537func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { 17538 s.ParameterValue = &v 17539 return s 17540} 17541 17542// The log delivery configurations being modified 17543type PendingLogDeliveryConfiguration struct { 17544 _ struct{} `type:"structure"` 17545 17546 // Configuration details of either a CloudWatch Logs destination or Kinesis 17547 // Data Firehose destination. 17548 DestinationDetails *DestinationDetails `type:"structure"` 17549 17550 // Returns the destination type, either CloudWatch Logs or Kinesis Data Firehose. 17551 DestinationType *string `type:"string" enum:"DestinationType"` 17552 17553 // Returns the log format, either JSON or TEXT 17554 LogFormat *string `type:"string" enum:"LogFormat"` 17555 17556 // Refers to slow-log (https://redis.io/commands/slowlog). 17557 LogType *string `type:"string" enum:"LogType"` 17558} 17559 17560// String returns the string representation 17561func (s PendingLogDeliveryConfiguration) String() string { 17562 return awsutil.Prettify(s) 17563} 17564 17565// GoString returns the string representation 17566func (s PendingLogDeliveryConfiguration) GoString() string { 17567 return s.String() 17568} 17569 17570// SetDestinationDetails sets the DestinationDetails field's value. 17571func (s *PendingLogDeliveryConfiguration) SetDestinationDetails(v *DestinationDetails) *PendingLogDeliveryConfiguration { 17572 s.DestinationDetails = v 17573 return s 17574} 17575 17576// SetDestinationType sets the DestinationType field's value. 17577func (s *PendingLogDeliveryConfiguration) SetDestinationType(v string) *PendingLogDeliveryConfiguration { 17578 s.DestinationType = &v 17579 return s 17580} 17581 17582// SetLogFormat sets the LogFormat field's value. 17583func (s *PendingLogDeliveryConfiguration) SetLogFormat(v string) *PendingLogDeliveryConfiguration { 17584 s.LogFormat = &v 17585 return s 17586} 17587 17588// SetLogType sets the LogType field's value. 17589func (s *PendingLogDeliveryConfiguration) SetLogType(v string) *PendingLogDeliveryConfiguration { 17590 s.LogType = &v 17591 return s 17592} 17593 17594// A group of settings that are applied to the cluster in the future, or that 17595// are currently being applied. 17596type PendingModifiedValues struct { 17597 _ struct{} `type:"structure"` 17598 17599 // The auth token status 17600 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 17601 17602 // A list of cache node IDs that are being removed (or will be removed) from 17603 // the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.). 17604 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 17605 17606 // The cache node type that this cluster or replication group is scaled to. 17607 CacheNodeType *string `type:"string"` 17608 17609 // The new cache engine version that the cluster runs. 17610 EngineVersion *string `type:"string"` 17611 17612 // The log delivery configurations being modified 17613 LogDeliveryConfigurations []*PendingLogDeliveryConfiguration `locationName:"PendingLogDeliveryConfiguration" type:"list"` 17614 17615 // The new number of cache nodes for the cluster. 17616 // 17617 // For clusters running Redis, this value must be 1. For clusters running Memcached, 17618 // this value must be between 1 and 40. 17619 NumCacheNodes *int64 `type:"integer"` 17620} 17621 17622// String returns the string representation 17623func (s PendingModifiedValues) String() string { 17624 return awsutil.Prettify(s) 17625} 17626 17627// GoString returns the string representation 17628func (s PendingModifiedValues) GoString() string { 17629 return s.String() 17630} 17631 17632// SetAuthTokenStatus sets the AuthTokenStatus field's value. 17633func (s *PendingModifiedValues) SetAuthTokenStatus(v string) *PendingModifiedValues { 17634 s.AuthTokenStatus = &v 17635 return s 17636} 17637 17638// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 17639func (s *PendingModifiedValues) SetCacheNodeIdsToRemove(v []*string) *PendingModifiedValues { 17640 s.CacheNodeIdsToRemove = v 17641 return s 17642} 17643 17644// SetCacheNodeType sets the CacheNodeType field's value. 17645func (s *PendingModifiedValues) SetCacheNodeType(v string) *PendingModifiedValues { 17646 s.CacheNodeType = &v 17647 return s 17648} 17649 17650// SetEngineVersion sets the EngineVersion field's value. 17651func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { 17652 s.EngineVersion = &v 17653 return s 17654} 17655 17656// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 17657func (s *PendingModifiedValues) SetLogDeliveryConfigurations(v []*PendingLogDeliveryConfiguration) *PendingModifiedValues { 17658 s.LogDeliveryConfigurations = v 17659 return s 17660} 17661 17662// SetNumCacheNodes sets the NumCacheNodes field's value. 17663func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues { 17664 s.NumCacheNodes = &v 17665 return s 17666} 17667 17668// Update action that has been processed for the corresponding apply/stop request 17669type ProcessedUpdateAction struct { 17670 _ struct{} `type:"structure"` 17671 17672 // The ID of the cache cluster 17673 CacheClusterId *string `type:"string"` 17674 17675 // The ID of the replication group 17676 ReplicationGroupId *string `type:"string"` 17677 17678 // The unique ID of the service update 17679 ServiceUpdateName *string `type:"string"` 17680 17681 // The status of the update action on the Redis cluster 17682 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 17683} 17684 17685// String returns the string representation 17686func (s ProcessedUpdateAction) String() string { 17687 return awsutil.Prettify(s) 17688} 17689 17690// GoString returns the string representation 17691func (s ProcessedUpdateAction) GoString() string { 17692 return s.String() 17693} 17694 17695// SetCacheClusterId sets the CacheClusterId field's value. 17696func (s *ProcessedUpdateAction) SetCacheClusterId(v string) *ProcessedUpdateAction { 17697 s.CacheClusterId = &v 17698 return s 17699} 17700 17701// SetReplicationGroupId sets the ReplicationGroupId field's value. 17702func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { 17703 s.ReplicationGroupId = &v 17704 return s 17705} 17706 17707// SetServiceUpdateName sets the ServiceUpdateName field's value. 17708func (s *ProcessedUpdateAction) SetServiceUpdateName(v string) *ProcessedUpdateAction { 17709 s.ServiceUpdateName = &v 17710 return s 17711} 17712 17713// SetUpdateActionStatus sets the UpdateActionStatus field's value. 17714func (s *ProcessedUpdateAction) SetUpdateActionStatus(v string) *ProcessedUpdateAction { 17715 s.UpdateActionStatus = &v 17716 return s 17717} 17718 17719// Represents the input of a PurchaseReservedCacheNodesOffering operation. 17720type PurchaseReservedCacheNodesOfferingInput struct { 17721 _ struct{} `type:"structure"` 17722 17723 // The number of cache node instances to reserve. 17724 // 17725 // Default: 1 17726 CacheNodeCount *int64 `type:"integer"` 17727 17728 // A customer-specified identifier to track this reservation. 17729 // 17730 // The Reserved Cache Node ID is an unique customer-specified identifier to 17731 // track this reservation. If this parameter is not specified, ElastiCache automatically 17732 // generates an identifier for the reservation. 17733 // 17734 // Example: myreservationID 17735 ReservedCacheNodeId *string `type:"string"` 17736 17737 // The ID of the reserved cache node offering to purchase. 17738 // 17739 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 17740 // 17741 // ReservedCacheNodesOfferingId is a required field 17742 ReservedCacheNodesOfferingId *string `type:"string" required:"true"` 17743 17744 // A list of tags to be added to this resource. A tag is a key-value pair. A 17745 // tag key must be accompanied by a tag value, although null is accepted. 17746 Tags []*Tag `locationNameList:"Tag" type:"list"` 17747} 17748 17749// String returns the string representation 17750func (s PurchaseReservedCacheNodesOfferingInput) String() string { 17751 return awsutil.Prettify(s) 17752} 17753 17754// GoString returns the string representation 17755func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { 17756 return s.String() 17757} 17758 17759// Validate inspects the fields of the type to determine if they are valid. 17760func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { 17761 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} 17762 if s.ReservedCacheNodesOfferingId == nil { 17763 invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) 17764 } 17765 17766 if invalidParams.Len() > 0 { 17767 return invalidParams 17768 } 17769 return nil 17770} 17771 17772// SetCacheNodeCount sets the CacheNodeCount field's value. 17773func (s *PurchaseReservedCacheNodesOfferingInput) SetCacheNodeCount(v int64) *PurchaseReservedCacheNodesOfferingInput { 17774 s.CacheNodeCount = &v 17775 return s 17776} 17777 17778// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 17779func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodeId(v string) *PurchaseReservedCacheNodesOfferingInput { 17780 s.ReservedCacheNodeId = &v 17781 return s 17782} 17783 17784// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 17785func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodesOfferingId(v string) *PurchaseReservedCacheNodesOfferingInput { 17786 s.ReservedCacheNodesOfferingId = &v 17787 return s 17788} 17789 17790// SetTags sets the Tags field's value. 17791func (s *PurchaseReservedCacheNodesOfferingInput) SetTags(v []*Tag) *PurchaseReservedCacheNodesOfferingInput { 17792 s.Tags = v 17793 return s 17794} 17795 17796type PurchaseReservedCacheNodesOfferingOutput struct { 17797 _ struct{} `type:"structure"` 17798 17799 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 17800 ReservedCacheNode *ReservedCacheNode `type:"structure"` 17801} 17802 17803// String returns the string representation 17804func (s PurchaseReservedCacheNodesOfferingOutput) String() string { 17805 return awsutil.Prettify(s) 17806} 17807 17808// GoString returns the string representation 17809func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { 17810 return s.String() 17811} 17812 17813// SetReservedCacheNode sets the ReservedCacheNode field's value. 17814func (s *PurchaseReservedCacheNodesOfferingOutput) SetReservedCacheNode(v *ReservedCacheNode) *PurchaseReservedCacheNodesOfferingOutput { 17815 s.ReservedCacheNode = v 17816 return s 17817} 17818 17819type RebalanceSlotsInGlobalReplicationGroupInput struct { 17820 _ struct{} `type:"structure"` 17821 17822 // If True, redistribution is applied immediately. 17823 // 17824 // ApplyImmediately is a required field 17825 ApplyImmediately *bool `type:"boolean" required:"true"` 17826 17827 // The name of the Global datastore 17828 // 17829 // GlobalReplicationGroupId is a required field 17830 GlobalReplicationGroupId *string `type:"string" required:"true"` 17831} 17832 17833// String returns the string representation 17834func (s RebalanceSlotsInGlobalReplicationGroupInput) String() string { 17835 return awsutil.Prettify(s) 17836} 17837 17838// GoString returns the string representation 17839func (s RebalanceSlotsInGlobalReplicationGroupInput) GoString() string { 17840 return s.String() 17841} 17842 17843// Validate inspects the fields of the type to determine if they are valid. 17844func (s *RebalanceSlotsInGlobalReplicationGroupInput) Validate() error { 17845 invalidParams := request.ErrInvalidParams{Context: "RebalanceSlotsInGlobalReplicationGroupInput"} 17846 if s.ApplyImmediately == nil { 17847 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 17848 } 17849 if s.GlobalReplicationGroupId == nil { 17850 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 17851 } 17852 17853 if invalidParams.Len() > 0 { 17854 return invalidParams 17855 } 17856 return nil 17857} 17858 17859// SetApplyImmediately sets the ApplyImmediately field's value. 17860func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *RebalanceSlotsInGlobalReplicationGroupInput { 17861 s.ApplyImmediately = &v 17862 return s 17863} 17864 17865// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 17866func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *RebalanceSlotsInGlobalReplicationGroupInput { 17867 s.GlobalReplicationGroupId = &v 17868 return s 17869} 17870 17871type RebalanceSlotsInGlobalReplicationGroupOutput struct { 17872 _ struct{} `type:"structure"` 17873 17874 // Consists of a primary cluster that accepts writes and an associated secondary 17875 // cluster that resides in a different Amazon region. The secondary cluster 17876 // accepts only reads. The primary cluster automatically replicates updates 17877 // to the secondary cluster. 17878 // 17879 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 17880 // datastore, which is what you use to associate a secondary cluster. 17881 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 17882} 17883 17884// String returns the string representation 17885func (s RebalanceSlotsInGlobalReplicationGroupOutput) String() string { 17886 return awsutil.Prettify(s) 17887} 17888 17889// GoString returns the string representation 17890func (s RebalanceSlotsInGlobalReplicationGroupOutput) GoString() string { 17891 return s.String() 17892} 17893 17894// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 17895func (s *RebalanceSlotsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *RebalanceSlotsInGlobalReplicationGroupOutput { 17896 s.GlobalReplicationGroup = v 17897 return s 17898} 17899 17900// Represents the input of a RebootCacheCluster operation. 17901type RebootCacheClusterInput struct { 17902 _ struct{} `type:"structure"` 17903 17904 // The cluster identifier. This parameter is stored as a lowercase string. 17905 // 17906 // CacheClusterId is a required field 17907 CacheClusterId *string `type:"string" required:"true"` 17908 17909 // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 17910 // 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs. 17911 // 17912 // CacheNodeIdsToReboot is a required field 17913 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` 17914} 17915 17916// String returns the string representation 17917func (s RebootCacheClusterInput) String() string { 17918 return awsutil.Prettify(s) 17919} 17920 17921// GoString returns the string representation 17922func (s RebootCacheClusterInput) GoString() string { 17923 return s.String() 17924} 17925 17926// Validate inspects the fields of the type to determine if they are valid. 17927func (s *RebootCacheClusterInput) Validate() error { 17928 invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} 17929 if s.CacheClusterId == nil { 17930 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 17931 } 17932 if s.CacheNodeIdsToReboot == nil { 17933 invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) 17934 } 17935 17936 if invalidParams.Len() > 0 { 17937 return invalidParams 17938 } 17939 return nil 17940} 17941 17942// SetCacheClusterId sets the CacheClusterId field's value. 17943func (s *RebootCacheClusterInput) SetCacheClusterId(v string) *RebootCacheClusterInput { 17944 s.CacheClusterId = &v 17945 return s 17946} 17947 17948// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 17949func (s *RebootCacheClusterInput) SetCacheNodeIdsToReboot(v []*string) *RebootCacheClusterInput { 17950 s.CacheNodeIdsToReboot = v 17951 return s 17952} 17953 17954type RebootCacheClusterOutput struct { 17955 _ struct{} `type:"structure"` 17956 17957 // Contains all of the attributes of a specific cluster. 17958 CacheCluster *CacheCluster `type:"structure"` 17959} 17960 17961// String returns the string representation 17962func (s RebootCacheClusterOutput) String() string { 17963 return awsutil.Prettify(s) 17964} 17965 17966// GoString returns the string representation 17967func (s RebootCacheClusterOutput) GoString() string { 17968 return s.String() 17969} 17970 17971// SetCacheCluster sets the CacheCluster field's value. 17972func (s *RebootCacheClusterOutput) SetCacheCluster(v *CacheCluster) *RebootCacheClusterOutput { 17973 s.CacheCluster = v 17974 return s 17975} 17976 17977// Contains the specific price and frequency of a recurring charges for a reserved 17978// cache node, or for a reserved cache node offering. 17979type RecurringCharge struct { 17980 _ struct{} `type:"structure"` 17981 17982 // The monetary amount of the recurring charge. 17983 RecurringChargeAmount *float64 `type:"double"` 17984 17985 // The frequency of the recurring charge. 17986 RecurringChargeFrequency *string `type:"string"` 17987} 17988 17989// String returns the string representation 17990func (s RecurringCharge) String() string { 17991 return awsutil.Prettify(s) 17992} 17993 17994// GoString returns the string representation 17995func (s RecurringCharge) GoString() string { 17996 return s.String() 17997} 17998 17999// SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 18000func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 18001 s.RecurringChargeAmount = &v 18002 return s 18003} 18004 18005// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 18006func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 18007 s.RecurringChargeFrequency = &v 18008 return s 18009} 18010 18011// A list of the replication groups 18012type RegionalConfiguration struct { 18013 _ struct{} `type:"structure"` 18014 18015 // The name of the secondary cluster 18016 // 18017 // ReplicationGroupId is a required field 18018 ReplicationGroupId *string `type:"string" required:"true"` 18019 18020 // The Amazon region where the cluster is stored 18021 // 18022 // ReplicationGroupRegion is a required field 18023 ReplicationGroupRegion *string `type:"string" required:"true"` 18024 18025 // A list of PreferredAvailabilityZones objects that specifies the configuration 18026 // of a node group in the resharded cluster. 18027 // 18028 // ReshardingConfiguration is a required field 18029 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list" required:"true"` 18030} 18031 18032// String returns the string representation 18033func (s RegionalConfiguration) String() string { 18034 return awsutil.Prettify(s) 18035} 18036 18037// GoString returns the string representation 18038func (s RegionalConfiguration) GoString() string { 18039 return s.String() 18040} 18041 18042// Validate inspects the fields of the type to determine if they are valid. 18043func (s *RegionalConfiguration) Validate() error { 18044 invalidParams := request.ErrInvalidParams{Context: "RegionalConfiguration"} 18045 if s.ReplicationGroupId == nil { 18046 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 18047 } 18048 if s.ReplicationGroupRegion == nil { 18049 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 18050 } 18051 if s.ReshardingConfiguration == nil { 18052 invalidParams.Add(request.NewErrParamRequired("ReshardingConfiguration")) 18053 } 18054 if s.ReshardingConfiguration != nil { 18055 for i, v := range s.ReshardingConfiguration { 18056 if v == nil { 18057 continue 18058 } 18059 if err := v.Validate(); err != nil { 18060 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 18061 } 18062 } 18063 } 18064 18065 if invalidParams.Len() > 0 { 18066 return invalidParams 18067 } 18068 return nil 18069} 18070 18071// SetReplicationGroupId sets the ReplicationGroupId field's value. 18072func (s *RegionalConfiguration) SetReplicationGroupId(v string) *RegionalConfiguration { 18073 s.ReplicationGroupId = &v 18074 return s 18075} 18076 18077// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 18078func (s *RegionalConfiguration) SetReplicationGroupRegion(v string) *RegionalConfiguration { 18079 s.ReplicationGroupRegion = &v 18080 return s 18081} 18082 18083// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 18084func (s *RegionalConfiguration) SetReshardingConfiguration(v []*ReshardingConfiguration) *RegionalConfiguration { 18085 s.ReshardingConfiguration = v 18086 return s 18087} 18088 18089// Represents the input of a RemoveTagsFromResource operation. 18090type RemoveTagsFromResourceInput struct { 18091 _ struct{} `type:"structure"` 18092 18093 // The Amazon Resource Name (ARN) of the resource from which you want the tags 18094 // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 18095 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 18096 // 18097 // For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon 18098 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 18099 // 18100 // ResourceName is a required field 18101 ResourceName *string `type:"string" required:"true"` 18102 18103 // A list of TagKeys identifying the tags you want removed from the named resource. 18104 // 18105 // TagKeys is a required field 18106 TagKeys []*string `type:"list" required:"true"` 18107} 18108 18109// String returns the string representation 18110func (s RemoveTagsFromResourceInput) String() string { 18111 return awsutil.Prettify(s) 18112} 18113 18114// GoString returns the string representation 18115func (s RemoveTagsFromResourceInput) GoString() string { 18116 return s.String() 18117} 18118 18119// Validate inspects the fields of the type to determine if they are valid. 18120func (s *RemoveTagsFromResourceInput) Validate() error { 18121 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} 18122 if s.ResourceName == nil { 18123 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 18124 } 18125 if s.TagKeys == nil { 18126 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 18127 } 18128 18129 if invalidParams.Len() > 0 { 18130 return invalidParams 18131 } 18132 return nil 18133} 18134 18135// SetResourceName sets the ResourceName field's value. 18136func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { 18137 s.ResourceName = &v 18138 return s 18139} 18140 18141// SetTagKeys sets the TagKeys field's value. 18142func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { 18143 s.TagKeys = v 18144 return s 18145} 18146 18147// Contains all of the attributes of a specific Redis replication group. 18148type ReplicationGroup struct { 18149 _ struct{} `type:"structure"` 18150 18151 // The ARN (Amazon Resource Name) of the replication group. 18152 ARN *string `type:"string"` 18153 18154 // A flag that enables encryption at-rest when set to true. 18155 // 18156 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 18157 // is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled 18158 // to true when you create a cluster. 18159 // 18160 // Required: Only available when creating a replication group in an Amazon VPC 18161 // using redis version 3.2.6, 4.x or later. 18162 // 18163 // Default: false 18164 AtRestEncryptionEnabled *bool `type:"boolean"` 18165 18166 // A flag that enables using an AuthToken (password) when issuing Redis commands. 18167 // 18168 // Default: false 18169 AuthTokenEnabled *bool `type:"boolean"` 18170 18171 // The date the auth token was last modified 18172 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 18173 18174 // Indicates the status of automatic failover for this Redis replication group. 18175 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 18176 18177 // The name of the compute and memory capacity node type for each node in the 18178 // replication group. 18179 CacheNodeType *string `type:"string"` 18180 18181 // A flag indicating whether or not this replication group is cluster enabled; 18182 // i.e., whether its data can be partitioned across multiple shards (API/CLI: 18183 // node groups). 18184 // 18185 // Valid values: true | false 18186 ClusterEnabled *bool `type:"boolean"` 18187 18188 // The configuration endpoint for this replication group. Use the configuration 18189 // endpoint to connect to this replication group. 18190 ConfigurationEndpoint *Endpoint `type:"structure"` 18191 18192 // The user supplied description of the replication group. 18193 Description *string `type:"string"` 18194 18195 // The name of the Global datastore and role of this replication group in the 18196 // Global datastore. 18197 GlobalReplicationGroupInfo *GlobalReplicationGroupInfo `type:"structure"` 18198 18199 // The ID of the KMS key used to encrypt the disk in the cluster. 18200 KmsKeyId *string `type:"string"` 18201 18202 // Returns the destination, format and type of the logs. 18203 LogDeliveryConfigurations []*LogDeliveryConfiguration `locationNameList:"LogDeliveryConfiguration" type:"list"` 18204 18205 // The names of all the cache clusters that are part of this replication group. 18206 MemberClusters []*string `locationNameList:"ClusterId" type:"list"` 18207 18208 // The outpost ARNs of the replication group's member clusters. 18209 MemberClustersOutpostArns []*string `locationNameList:"ReplicationGroupOutpostArn" type:"list"` 18210 18211 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 18212 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html) 18213 MultiAZ *string `type:"string" enum:"MultiAZStatus"` 18214 18215 // A list of node groups in this replication group. For Redis (cluster mode 18216 // disabled) replication groups, this is a single-element list. For Redis (cluster 18217 // mode enabled) replication groups, the list contains an entry for each node 18218 // group (shard). 18219 NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"` 18220 18221 // A group of settings to be applied to the replication group, either immediately 18222 // or during the next maintenance window. 18223 PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"` 18224 18225 // The date and time when the cluster was created. 18226 ReplicationGroupCreateTime *time.Time `type:"timestamp"` 18227 18228 // The identifier for the replication group. 18229 ReplicationGroupId *string `type:"string"` 18230 18231 // The number of days for which ElastiCache retains automatic cluster snapshots 18232 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 18233 // a snapshot that was taken today is retained for 5 days before being deleted. 18234 // 18235 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 18236 // off. 18237 SnapshotRetentionLimit *int64 `type:"integer"` 18238 18239 // The daily time range (in UTC) during which ElastiCache begins taking a daily 18240 // snapshot of your node group (shard). 18241 // 18242 // Example: 05:00-09:00 18243 // 18244 // If you do not specify this parameter, ElastiCache automatically chooses an 18245 // appropriate time range. 18246 // 18247 // This parameter is only valid if the Engine parameter is redis. 18248 SnapshotWindow *string `type:"string"` 18249 18250 // The cluster ID that is used as the daily snapshot source for the replication 18251 // group. 18252 SnapshottingClusterId *string `type:"string"` 18253 18254 // The current state of this replication group - creating, available, modifying, 18255 // deleting, create-failed, snapshotting. 18256 Status *string `type:"string"` 18257 18258 // A flag that enables in-transit encryption when set to true. 18259 // 18260 // You cannot modify the value of TransitEncryptionEnabled after the cluster 18261 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 18262 // to true when you create a cluster. 18263 // 18264 // Required: Only available when creating a replication group in an Amazon VPC 18265 // using redis version 3.2.6, 4.x or later. 18266 // 18267 // Default: false 18268 TransitEncryptionEnabled *bool `type:"boolean"` 18269 18270 // The list of user group IDs that have access to the replication group. 18271 UserGroupIds []*string `type:"list"` 18272} 18273 18274// String returns the string representation 18275func (s ReplicationGroup) String() string { 18276 return awsutil.Prettify(s) 18277} 18278 18279// GoString returns the string representation 18280func (s ReplicationGroup) GoString() string { 18281 return s.String() 18282} 18283 18284// SetARN sets the ARN field's value. 18285func (s *ReplicationGroup) SetARN(v string) *ReplicationGroup { 18286 s.ARN = &v 18287 return s 18288} 18289 18290// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 18291func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { 18292 s.AtRestEncryptionEnabled = &v 18293 return s 18294} 18295 18296// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 18297func (s *ReplicationGroup) SetAuthTokenEnabled(v bool) *ReplicationGroup { 18298 s.AuthTokenEnabled = &v 18299 return s 18300} 18301 18302// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 18303func (s *ReplicationGroup) SetAuthTokenLastModifiedDate(v time.Time) *ReplicationGroup { 18304 s.AuthTokenLastModifiedDate = &v 18305 return s 18306} 18307 18308// SetAutomaticFailover sets the AutomaticFailover field's value. 18309func (s *ReplicationGroup) SetAutomaticFailover(v string) *ReplicationGroup { 18310 s.AutomaticFailover = &v 18311 return s 18312} 18313 18314// SetCacheNodeType sets the CacheNodeType field's value. 18315func (s *ReplicationGroup) SetCacheNodeType(v string) *ReplicationGroup { 18316 s.CacheNodeType = &v 18317 return s 18318} 18319 18320// SetClusterEnabled sets the ClusterEnabled field's value. 18321func (s *ReplicationGroup) SetClusterEnabled(v bool) *ReplicationGroup { 18322 s.ClusterEnabled = &v 18323 return s 18324} 18325 18326// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 18327func (s *ReplicationGroup) SetConfigurationEndpoint(v *Endpoint) *ReplicationGroup { 18328 s.ConfigurationEndpoint = v 18329 return s 18330} 18331 18332// SetDescription sets the Description field's value. 18333func (s *ReplicationGroup) SetDescription(v string) *ReplicationGroup { 18334 s.Description = &v 18335 return s 18336} 18337 18338// SetGlobalReplicationGroupInfo sets the GlobalReplicationGroupInfo field's value. 18339func (s *ReplicationGroup) SetGlobalReplicationGroupInfo(v *GlobalReplicationGroupInfo) *ReplicationGroup { 18340 s.GlobalReplicationGroupInfo = v 18341 return s 18342} 18343 18344// SetKmsKeyId sets the KmsKeyId field's value. 18345func (s *ReplicationGroup) SetKmsKeyId(v string) *ReplicationGroup { 18346 s.KmsKeyId = &v 18347 return s 18348} 18349 18350// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 18351func (s *ReplicationGroup) SetLogDeliveryConfigurations(v []*LogDeliveryConfiguration) *ReplicationGroup { 18352 s.LogDeliveryConfigurations = v 18353 return s 18354} 18355 18356// SetMemberClusters sets the MemberClusters field's value. 18357func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { 18358 s.MemberClusters = v 18359 return s 18360} 18361 18362// SetMemberClustersOutpostArns sets the MemberClustersOutpostArns field's value. 18363func (s *ReplicationGroup) SetMemberClustersOutpostArns(v []*string) *ReplicationGroup { 18364 s.MemberClustersOutpostArns = v 18365 return s 18366} 18367 18368// SetMultiAZ sets the MultiAZ field's value. 18369func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { 18370 s.MultiAZ = &v 18371 return s 18372} 18373 18374// SetNodeGroups sets the NodeGroups field's value. 18375func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { 18376 s.NodeGroups = v 18377 return s 18378} 18379 18380// SetPendingModifiedValues sets the PendingModifiedValues field's value. 18381func (s *ReplicationGroup) SetPendingModifiedValues(v *ReplicationGroupPendingModifiedValues) *ReplicationGroup { 18382 s.PendingModifiedValues = v 18383 return s 18384} 18385 18386// SetReplicationGroupCreateTime sets the ReplicationGroupCreateTime field's value. 18387func (s *ReplicationGroup) SetReplicationGroupCreateTime(v time.Time) *ReplicationGroup { 18388 s.ReplicationGroupCreateTime = &v 18389 return s 18390} 18391 18392// SetReplicationGroupId sets the ReplicationGroupId field's value. 18393func (s *ReplicationGroup) SetReplicationGroupId(v string) *ReplicationGroup { 18394 s.ReplicationGroupId = &v 18395 return s 18396} 18397 18398// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 18399func (s *ReplicationGroup) SetSnapshotRetentionLimit(v int64) *ReplicationGroup { 18400 s.SnapshotRetentionLimit = &v 18401 return s 18402} 18403 18404// SetSnapshotWindow sets the SnapshotWindow field's value. 18405func (s *ReplicationGroup) SetSnapshotWindow(v string) *ReplicationGroup { 18406 s.SnapshotWindow = &v 18407 return s 18408} 18409 18410// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 18411func (s *ReplicationGroup) SetSnapshottingClusterId(v string) *ReplicationGroup { 18412 s.SnapshottingClusterId = &v 18413 return s 18414} 18415 18416// SetStatus sets the Status field's value. 18417func (s *ReplicationGroup) SetStatus(v string) *ReplicationGroup { 18418 s.Status = &v 18419 return s 18420} 18421 18422// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 18423func (s *ReplicationGroup) SetTransitEncryptionEnabled(v bool) *ReplicationGroup { 18424 s.TransitEncryptionEnabled = &v 18425 return s 18426} 18427 18428// SetUserGroupIds sets the UserGroupIds field's value. 18429func (s *ReplicationGroup) SetUserGroupIds(v []*string) *ReplicationGroup { 18430 s.UserGroupIds = v 18431 return s 18432} 18433 18434// The settings to be applied to the Redis replication group, either immediately 18435// or during the next maintenance window. 18436type ReplicationGroupPendingModifiedValues struct { 18437 _ struct{} `type:"structure"` 18438 18439 // The auth token status 18440 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 18441 18442 // Indicates the status of automatic failover for this Redis replication group. 18443 AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` 18444 18445 // The log delivery configurations being modified 18446 LogDeliveryConfigurations []*PendingLogDeliveryConfiguration `locationName:"PendingLogDeliveryConfiguration" type:"list"` 18447 18448 // The primary cluster ID that is applied immediately (if --apply-immediately 18449 // was specified), or during the next maintenance window. 18450 PrimaryClusterId *string `type:"string"` 18451 18452 // The status of an online resharding operation. 18453 Resharding *ReshardingStatus `type:"structure"` 18454 18455 // The user groups being modified. 18456 UserGroups *UserGroupsUpdateStatus `type:"structure"` 18457} 18458 18459// String returns the string representation 18460func (s ReplicationGroupPendingModifiedValues) String() string { 18461 return awsutil.Prettify(s) 18462} 18463 18464// GoString returns the string representation 18465func (s ReplicationGroupPendingModifiedValues) GoString() string { 18466 return s.String() 18467} 18468 18469// SetAuthTokenStatus sets the AuthTokenStatus field's value. 18470func (s *ReplicationGroupPendingModifiedValues) SetAuthTokenStatus(v string) *ReplicationGroupPendingModifiedValues { 18471 s.AuthTokenStatus = &v 18472 return s 18473} 18474 18475// SetAutomaticFailoverStatus sets the AutomaticFailoverStatus field's value. 18476func (s *ReplicationGroupPendingModifiedValues) SetAutomaticFailoverStatus(v string) *ReplicationGroupPendingModifiedValues { 18477 s.AutomaticFailoverStatus = &v 18478 return s 18479} 18480 18481// SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 18482func (s *ReplicationGroupPendingModifiedValues) SetLogDeliveryConfigurations(v []*PendingLogDeliveryConfiguration) *ReplicationGroupPendingModifiedValues { 18483 s.LogDeliveryConfigurations = v 18484 return s 18485} 18486 18487// SetPrimaryClusterId sets the PrimaryClusterId field's value. 18488func (s *ReplicationGroupPendingModifiedValues) SetPrimaryClusterId(v string) *ReplicationGroupPendingModifiedValues { 18489 s.PrimaryClusterId = &v 18490 return s 18491} 18492 18493// SetResharding sets the Resharding field's value. 18494func (s *ReplicationGroupPendingModifiedValues) SetResharding(v *ReshardingStatus) *ReplicationGroupPendingModifiedValues { 18495 s.Resharding = v 18496 return s 18497} 18498 18499// SetUserGroups sets the UserGroups field's value. 18500func (s *ReplicationGroupPendingModifiedValues) SetUserGroups(v *UserGroupsUpdateStatus) *ReplicationGroupPendingModifiedValues { 18501 s.UserGroups = v 18502 return s 18503} 18504 18505// Represents the output of a PurchaseReservedCacheNodesOffering operation. 18506type ReservedCacheNode struct { 18507 _ struct{} `type:"structure"` 18508 18509 // The number of cache nodes that have been reserved. 18510 CacheNodeCount *int64 `type:"integer"` 18511 18512 // The cache node type for the reserved cache nodes. 18513 // 18514 // The following node types are supported by ElastiCache. Generally speaking, 18515 // the current generation types provide more memory and computational power 18516 // at lower cost when compared to their equivalent previous generation counterparts. 18517 // 18518 // * General purpose: Current generation: M6g node types (available only 18519 // for Redis engine version 5.0.6 onward and for Memcached engine version 18520 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 18521 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 18522 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 18523 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 18524 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 18525 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 18526 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 18527 // cache.t2.medium Previous generation: (not recommended) T1 node types: 18528 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 18529 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 18530 // cache.m3.2xlarge 18531 // 18532 // * Compute optimized: Previous generation: (not recommended) C1 node types: 18533 // cache.c1.xlarge 18534 // 18535 // * Memory optimized: Current generation: R6g node types (available only 18536 // for Redis engine version 5.0.6 onward and for Memcached engine version 18537 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 18538 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 18539 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 18540 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 18541 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 18542 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 18543 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 18544 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 18545 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 18546 // 18547 // Additional node type info 18548 // 18549 // * All current generation instance types are created in Amazon VPC by default. 18550 // 18551 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 18552 // 18553 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 18554 // 18555 // * Redis configuration variables appendonly and appendfsync are not supported 18556 // on Redis version 2.8.22 and later. 18557 CacheNodeType *string `type:"string"` 18558 18559 // The duration of the reservation in seconds. 18560 Duration *int64 `type:"integer"` 18561 18562 // The fixed price charged for this reserved cache node. 18563 FixedPrice *float64 `type:"double"` 18564 18565 // The offering type of this reserved cache node. 18566 OfferingType *string `type:"string"` 18567 18568 // The description of the reserved cache node. 18569 ProductDescription *string `type:"string"` 18570 18571 // The recurring price charged to run this reserved cache node. 18572 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 18573 18574 // The Amazon Resource Name (ARN) of the reserved cache node. 18575 // 18576 // Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582 18577 ReservationARN *string `type:"string"` 18578 18579 // The unique identifier for the reservation. 18580 ReservedCacheNodeId *string `type:"string"` 18581 18582 // The offering identifier. 18583 ReservedCacheNodesOfferingId *string `type:"string"` 18584 18585 // The time the reservation started. 18586 StartTime *time.Time `type:"timestamp"` 18587 18588 // The state of the reserved cache node. 18589 State *string `type:"string"` 18590 18591 // The hourly price charged for this reserved cache node. 18592 UsagePrice *float64 `type:"double"` 18593} 18594 18595// String returns the string representation 18596func (s ReservedCacheNode) String() string { 18597 return awsutil.Prettify(s) 18598} 18599 18600// GoString returns the string representation 18601func (s ReservedCacheNode) GoString() string { 18602 return s.String() 18603} 18604 18605// SetCacheNodeCount sets the CacheNodeCount field's value. 18606func (s *ReservedCacheNode) SetCacheNodeCount(v int64) *ReservedCacheNode { 18607 s.CacheNodeCount = &v 18608 return s 18609} 18610 18611// SetCacheNodeType sets the CacheNodeType field's value. 18612func (s *ReservedCacheNode) SetCacheNodeType(v string) *ReservedCacheNode { 18613 s.CacheNodeType = &v 18614 return s 18615} 18616 18617// SetDuration sets the Duration field's value. 18618func (s *ReservedCacheNode) SetDuration(v int64) *ReservedCacheNode { 18619 s.Duration = &v 18620 return s 18621} 18622 18623// SetFixedPrice sets the FixedPrice field's value. 18624func (s *ReservedCacheNode) SetFixedPrice(v float64) *ReservedCacheNode { 18625 s.FixedPrice = &v 18626 return s 18627} 18628 18629// SetOfferingType sets the OfferingType field's value. 18630func (s *ReservedCacheNode) SetOfferingType(v string) *ReservedCacheNode { 18631 s.OfferingType = &v 18632 return s 18633} 18634 18635// SetProductDescription sets the ProductDescription field's value. 18636func (s *ReservedCacheNode) SetProductDescription(v string) *ReservedCacheNode { 18637 s.ProductDescription = &v 18638 return s 18639} 18640 18641// SetRecurringCharges sets the RecurringCharges field's value. 18642func (s *ReservedCacheNode) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNode { 18643 s.RecurringCharges = v 18644 return s 18645} 18646 18647// SetReservationARN sets the ReservationARN field's value. 18648func (s *ReservedCacheNode) SetReservationARN(v string) *ReservedCacheNode { 18649 s.ReservationARN = &v 18650 return s 18651} 18652 18653// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 18654func (s *ReservedCacheNode) SetReservedCacheNodeId(v string) *ReservedCacheNode { 18655 s.ReservedCacheNodeId = &v 18656 return s 18657} 18658 18659// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 18660func (s *ReservedCacheNode) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNode { 18661 s.ReservedCacheNodesOfferingId = &v 18662 return s 18663} 18664 18665// SetStartTime sets the StartTime field's value. 18666func (s *ReservedCacheNode) SetStartTime(v time.Time) *ReservedCacheNode { 18667 s.StartTime = &v 18668 return s 18669} 18670 18671// SetState sets the State field's value. 18672func (s *ReservedCacheNode) SetState(v string) *ReservedCacheNode { 18673 s.State = &v 18674 return s 18675} 18676 18677// SetUsagePrice sets the UsagePrice field's value. 18678func (s *ReservedCacheNode) SetUsagePrice(v float64) *ReservedCacheNode { 18679 s.UsagePrice = &v 18680 return s 18681} 18682 18683// Describes all of the attributes of a reserved cache node offering. 18684type ReservedCacheNodesOffering struct { 18685 _ struct{} `type:"structure"` 18686 18687 // The cache node type for the reserved cache node. 18688 // 18689 // The following node types are supported by ElastiCache. Generally speaking, 18690 // the current generation types provide more memory and computational power 18691 // at lower cost when compared to their equivalent previous generation counterparts. 18692 // 18693 // * General purpose: Current generation: M6g node types (available only 18694 // for Redis engine version 5.0.6 onward and for Memcached engine version 18695 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 18696 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 18697 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 18698 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 18699 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 18700 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 18701 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 18702 // cache.t2.medium Previous generation: (not recommended) T1 node types: 18703 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 18704 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 18705 // cache.m3.2xlarge 18706 // 18707 // * Compute optimized: Previous generation: (not recommended) C1 node types: 18708 // cache.c1.xlarge 18709 // 18710 // * Memory optimized: Current generation: R6g node types (available only 18711 // for Redis engine version 5.0.6 onward and for Memcached engine version 18712 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 18713 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 18714 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 18715 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 18716 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 18717 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 18718 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 18719 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 18720 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 18721 // 18722 // Additional node type info 18723 // 18724 // * All current generation instance types are created in Amazon VPC by default. 18725 // 18726 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 18727 // 18728 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 18729 // 18730 // * Redis configuration variables appendonly and appendfsync are not supported 18731 // on Redis version 2.8.22 and later. 18732 CacheNodeType *string `type:"string"` 18733 18734 // The duration of the offering. in seconds. 18735 Duration *int64 `type:"integer"` 18736 18737 // The fixed price charged for this offering. 18738 FixedPrice *float64 `type:"double"` 18739 18740 // The offering type. 18741 OfferingType *string `type:"string"` 18742 18743 // The cache engine used by the offering. 18744 ProductDescription *string `type:"string"` 18745 18746 // The recurring price charged to run this reserved cache node. 18747 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 18748 18749 // A unique identifier for the reserved cache node offering. 18750 ReservedCacheNodesOfferingId *string `type:"string"` 18751 18752 // The hourly price charged for this offering. 18753 UsagePrice *float64 `type:"double"` 18754} 18755 18756// String returns the string representation 18757func (s ReservedCacheNodesOffering) String() string { 18758 return awsutil.Prettify(s) 18759} 18760 18761// GoString returns the string representation 18762func (s ReservedCacheNodesOffering) GoString() string { 18763 return s.String() 18764} 18765 18766// SetCacheNodeType sets the CacheNodeType field's value. 18767func (s *ReservedCacheNodesOffering) SetCacheNodeType(v string) *ReservedCacheNodesOffering { 18768 s.CacheNodeType = &v 18769 return s 18770} 18771 18772// SetDuration sets the Duration field's value. 18773func (s *ReservedCacheNodesOffering) SetDuration(v int64) *ReservedCacheNodesOffering { 18774 s.Duration = &v 18775 return s 18776} 18777 18778// SetFixedPrice sets the FixedPrice field's value. 18779func (s *ReservedCacheNodesOffering) SetFixedPrice(v float64) *ReservedCacheNodesOffering { 18780 s.FixedPrice = &v 18781 return s 18782} 18783 18784// SetOfferingType sets the OfferingType field's value. 18785func (s *ReservedCacheNodesOffering) SetOfferingType(v string) *ReservedCacheNodesOffering { 18786 s.OfferingType = &v 18787 return s 18788} 18789 18790// SetProductDescription sets the ProductDescription field's value. 18791func (s *ReservedCacheNodesOffering) SetProductDescription(v string) *ReservedCacheNodesOffering { 18792 s.ProductDescription = &v 18793 return s 18794} 18795 18796// SetRecurringCharges sets the RecurringCharges field's value. 18797func (s *ReservedCacheNodesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNodesOffering { 18798 s.RecurringCharges = v 18799 return s 18800} 18801 18802// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 18803func (s *ReservedCacheNodesOffering) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNodesOffering { 18804 s.ReservedCacheNodesOfferingId = &v 18805 return s 18806} 18807 18808// SetUsagePrice sets the UsagePrice field's value. 18809func (s *ReservedCacheNodesOffering) SetUsagePrice(v float64) *ReservedCacheNodesOffering { 18810 s.UsagePrice = &v 18811 return s 18812} 18813 18814// Represents the input of a ResetCacheParameterGroup operation. 18815type ResetCacheParameterGroupInput struct { 18816 _ struct{} `type:"structure"` 18817 18818 // The name of the cache parameter group to reset. 18819 // 18820 // CacheParameterGroupName is a required field 18821 CacheParameterGroupName *string `type:"string" required:"true"` 18822 18823 // An array of parameter names to reset to their default values. If ResetAllParameters 18824 // is true, do not use ParameterNameValues. If ResetAllParameters is false, 18825 // you must specify the name of at least one parameter to reset. 18826 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` 18827 18828 // If true, all parameters in the cache parameter group are reset to their default 18829 // values. If false, only the parameters listed by ParameterNameValues are reset 18830 // to their default values. 18831 // 18832 // Valid values: true | false 18833 ResetAllParameters *bool `type:"boolean"` 18834} 18835 18836// String returns the string representation 18837func (s ResetCacheParameterGroupInput) String() string { 18838 return awsutil.Prettify(s) 18839} 18840 18841// GoString returns the string representation 18842func (s ResetCacheParameterGroupInput) GoString() string { 18843 return s.String() 18844} 18845 18846// Validate inspects the fields of the type to determine if they are valid. 18847func (s *ResetCacheParameterGroupInput) Validate() error { 18848 invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} 18849 if s.CacheParameterGroupName == nil { 18850 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 18851 } 18852 18853 if invalidParams.Len() > 0 { 18854 return invalidParams 18855 } 18856 return nil 18857} 18858 18859// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 18860func (s *ResetCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ResetCacheParameterGroupInput { 18861 s.CacheParameterGroupName = &v 18862 return s 18863} 18864 18865// SetParameterNameValues sets the ParameterNameValues field's value. 18866func (s *ResetCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ResetCacheParameterGroupInput { 18867 s.ParameterNameValues = v 18868 return s 18869} 18870 18871// SetResetAllParameters sets the ResetAllParameters field's value. 18872func (s *ResetCacheParameterGroupInput) SetResetAllParameters(v bool) *ResetCacheParameterGroupInput { 18873 s.ResetAllParameters = &v 18874 return s 18875} 18876 18877// A list of PreferredAvailabilityZones objects that specifies the configuration 18878// of a node group in the resharded cluster. 18879type ReshardingConfiguration struct { 18880 _ struct{} `type:"structure"` 18881 18882 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 18883 // for the node group these configuration values apply to. 18884 NodeGroupId *string `min:"1" type:"string"` 18885 18886 // A list of preferred availability zones for the nodes in this cluster. 18887 PreferredAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 18888} 18889 18890// String returns the string representation 18891func (s ReshardingConfiguration) String() string { 18892 return awsutil.Prettify(s) 18893} 18894 18895// GoString returns the string representation 18896func (s ReshardingConfiguration) GoString() string { 18897 return s.String() 18898} 18899 18900// Validate inspects the fields of the type to determine if they are valid. 18901func (s *ReshardingConfiguration) Validate() error { 18902 invalidParams := request.ErrInvalidParams{Context: "ReshardingConfiguration"} 18903 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 18904 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 18905 } 18906 18907 if invalidParams.Len() > 0 { 18908 return invalidParams 18909 } 18910 return nil 18911} 18912 18913// SetNodeGroupId sets the NodeGroupId field's value. 18914func (s *ReshardingConfiguration) SetNodeGroupId(v string) *ReshardingConfiguration { 18915 s.NodeGroupId = &v 18916 return s 18917} 18918 18919// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 18920func (s *ReshardingConfiguration) SetPreferredAvailabilityZones(v []*string) *ReshardingConfiguration { 18921 s.PreferredAvailabilityZones = v 18922 return s 18923} 18924 18925// The status of an online resharding operation. 18926type ReshardingStatus struct { 18927 _ struct{} `type:"structure"` 18928 18929 // Represents the progress of an online resharding operation. 18930 SlotMigration *SlotMigration `type:"structure"` 18931} 18932 18933// String returns the string representation 18934func (s ReshardingStatus) String() string { 18935 return awsutil.Prettify(s) 18936} 18937 18938// GoString returns the string representation 18939func (s ReshardingStatus) GoString() string { 18940 return s.String() 18941} 18942 18943// SetSlotMigration sets the SlotMigration field's value. 18944func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { 18945 s.SlotMigration = v 18946 return s 18947} 18948 18949// Represents the input of a RevokeCacheSecurityGroupIngress operation. 18950type RevokeCacheSecurityGroupIngressInput struct { 18951 _ struct{} `type:"structure"` 18952 18953 // The name of the cache security group to revoke ingress from. 18954 // 18955 // CacheSecurityGroupName is a required field 18956 CacheSecurityGroupName *string `type:"string" required:"true"` 18957 18958 // The name of the Amazon EC2 security group to revoke access from. 18959 // 18960 // EC2SecurityGroupName is a required field 18961 EC2SecurityGroupName *string `type:"string" required:"true"` 18962 18963 // The Amazon account number of the Amazon EC2 security group owner. Note that 18964 // this is not the same thing as an Amazon access key ID - you must provide 18965 // a valid Amazon account number for this parameter. 18966 // 18967 // EC2SecurityGroupOwnerId is a required field 18968 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 18969} 18970 18971// String returns the string representation 18972func (s RevokeCacheSecurityGroupIngressInput) String() string { 18973 return awsutil.Prettify(s) 18974} 18975 18976// GoString returns the string representation 18977func (s RevokeCacheSecurityGroupIngressInput) GoString() string { 18978 return s.String() 18979} 18980 18981// Validate inspects the fields of the type to determine if they are valid. 18982func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { 18983 invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} 18984 if s.CacheSecurityGroupName == nil { 18985 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 18986 } 18987 if s.EC2SecurityGroupName == nil { 18988 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 18989 } 18990 if s.EC2SecurityGroupOwnerId == nil { 18991 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 18992 } 18993 18994 if invalidParams.Len() > 0 { 18995 return invalidParams 18996 } 18997 return nil 18998} 18999 19000// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 19001func (s *RevokeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 19002 s.CacheSecurityGroupName = &v 19003 return s 19004} 19005 19006// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 19007func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 19008 s.EC2SecurityGroupName = &v 19009 return s 19010} 19011 19012// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 19013func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeCacheSecurityGroupIngressInput { 19014 s.EC2SecurityGroupOwnerId = &v 19015 return s 19016} 19017 19018type RevokeCacheSecurityGroupIngressOutput struct { 19019 _ struct{} `type:"structure"` 19020 19021 // Represents the output of one of the following operations: 19022 // 19023 // * AuthorizeCacheSecurityGroupIngress 19024 // 19025 // * CreateCacheSecurityGroup 19026 // 19027 // * RevokeCacheSecurityGroupIngress 19028 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 19029} 19030 19031// String returns the string representation 19032func (s RevokeCacheSecurityGroupIngressOutput) String() string { 19033 return awsutil.Prettify(s) 19034} 19035 19036// GoString returns the string representation 19037func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { 19038 return s.String() 19039} 19040 19041// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 19042func (s *RevokeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *RevokeCacheSecurityGroupIngressOutput { 19043 s.CacheSecurityGroup = v 19044 return s 19045} 19046 19047// Represents a single cache security group and its status. 19048type SecurityGroupMembership struct { 19049 _ struct{} `type:"structure"` 19050 19051 // The identifier of the cache security group. 19052 SecurityGroupId *string `type:"string"` 19053 19054 // The status of the cache security group membership. The status changes whenever 19055 // a cache security group is modified, or when the cache security groups assigned 19056 // to a cluster are modified. 19057 Status *string `type:"string"` 19058} 19059 19060// String returns the string representation 19061func (s SecurityGroupMembership) String() string { 19062 return awsutil.Prettify(s) 19063} 19064 19065// GoString returns the string representation 19066func (s SecurityGroupMembership) GoString() string { 19067 return s.String() 19068} 19069 19070// SetSecurityGroupId sets the SecurityGroupId field's value. 19071func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { 19072 s.SecurityGroupId = &v 19073 return s 19074} 19075 19076// SetStatus sets the Status field's value. 19077func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { 19078 s.Status = &v 19079 return s 19080} 19081 19082// An update that you can apply to your Redis clusters. 19083type ServiceUpdate struct { 19084 _ struct{} `type:"structure"` 19085 19086 // Indicates whether the service update will be automatically applied once the 19087 // recommended apply-by date has expired. 19088 AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` 19089 19090 // The Elasticache engine to which the update applies. Either Redis or Memcached 19091 Engine *string `type:"string"` 19092 19093 // The Elasticache engine version to which the update applies. Either Redis 19094 // or Memcached engine version 19095 EngineVersion *string `type:"string"` 19096 19097 // The estimated length of time the service update will take 19098 EstimatedUpdateTime *string `type:"string"` 19099 19100 // Provides details of the service update 19101 ServiceUpdateDescription *string `type:"string"` 19102 19103 // The date after which the service update is no longer available 19104 ServiceUpdateEndDate *time.Time `type:"timestamp"` 19105 19106 // The unique ID of the service update 19107 ServiceUpdateName *string `type:"string"` 19108 19109 // The recommendend date to apply the service update in order to ensure compliance. 19110 // For information on compliance, see Self-Service Security Updates for Compliance 19111 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 19112 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 19113 19114 // The date when the service update is initially available 19115 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 19116 19117 // The severity of the service update 19118 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 19119 19120 // The status of the service update 19121 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 19122 19123 // Reflects the nature of the service update 19124 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 19125} 19126 19127// String returns the string representation 19128func (s ServiceUpdate) String() string { 19129 return awsutil.Prettify(s) 19130} 19131 19132// GoString returns the string representation 19133func (s ServiceUpdate) GoString() string { 19134 return s.String() 19135} 19136 19137// SetAutoUpdateAfterRecommendedApplyByDate sets the AutoUpdateAfterRecommendedApplyByDate field's value. 19138func (s *ServiceUpdate) SetAutoUpdateAfterRecommendedApplyByDate(v bool) *ServiceUpdate { 19139 s.AutoUpdateAfterRecommendedApplyByDate = &v 19140 return s 19141} 19142 19143// SetEngine sets the Engine field's value. 19144func (s *ServiceUpdate) SetEngine(v string) *ServiceUpdate { 19145 s.Engine = &v 19146 return s 19147} 19148 19149// SetEngineVersion sets the EngineVersion field's value. 19150func (s *ServiceUpdate) SetEngineVersion(v string) *ServiceUpdate { 19151 s.EngineVersion = &v 19152 return s 19153} 19154 19155// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 19156func (s *ServiceUpdate) SetEstimatedUpdateTime(v string) *ServiceUpdate { 19157 s.EstimatedUpdateTime = &v 19158 return s 19159} 19160 19161// SetServiceUpdateDescription sets the ServiceUpdateDescription field's value. 19162func (s *ServiceUpdate) SetServiceUpdateDescription(v string) *ServiceUpdate { 19163 s.ServiceUpdateDescription = &v 19164 return s 19165} 19166 19167// SetServiceUpdateEndDate sets the ServiceUpdateEndDate field's value. 19168func (s *ServiceUpdate) SetServiceUpdateEndDate(v time.Time) *ServiceUpdate { 19169 s.ServiceUpdateEndDate = &v 19170 return s 19171} 19172 19173// SetServiceUpdateName sets the ServiceUpdateName field's value. 19174func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { 19175 s.ServiceUpdateName = &v 19176 return s 19177} 19178 19179// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 19180func (s *ServiceUpdate) SetServiceUpdateRecommendedApplyByDate(v time.Time) *ServiceUpdate { 19181 s.ServiceUpdateRecommendedApplyByDate = &v 19182 return s 19183} 19184 19185// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 19186func (s *ServiceUpdate) SetServiceUpdateReleaseDate(v time.Time) *ServiceUpdate { 19187 s.ServiceUpdateReleaseDate = &v 19188 return s 19189} 19190 19191// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 19192func (s *ServiceUpdate) SetServiceUpdateSeverity(v string) *ServiceUpdate { 19193 s.ServiceUpdateSeverity = &v 19194 return s 19195} 19196 19197// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 19198func (s *ServiceUpdate) SetServiceUpdateStatus(v string) *ServiceUpdate { 19199 s.ServiceUpdateStatus = &v 19200 return s 19201} 19202 19203// SetServiceUpdateType sets the ServiceUpdateType field's value. 19204func (s *ServiceUpdate) SetServiceUpdateType(v string) *ServiceUpdate { 19205 s.ServiceUpdateType = &v 19206 return s 19207} 19208 19209// Represents the progress of an online resharding operation. 19210type SlotMigration struct { 19211 _ struct{} `type:"structure"` 19212 19213 // The percentage of the slot migration that is complete. 19214 ProgressPercentage *float64 `type:"double"` 19215} 19216 19217// String returns the string representation 19218func (s SlotMigration) String() string { 19219 return awsutil.Prettify(s) 19220} 19221 19222// GoString returns the string representation 19223func (s SlotMigration) GoString() string { 19224 return s.String() 19225} 19226 19227// SetProgressPercentage sets the ProgressPercentage field's value. 19228func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { 19229 s.ProgressPercentage = &v 19230 return s 19231} 19232 19233// Represents a copy of an entire Redis cluster as of the time when the snapshot 19234// was taken. 19235type Snapshot struct { 19236 _ struct{} `type:"structure"` 19237 19238 // The ARN (Amazon Resource Name) of the snapshot. 19239 ARN *string `type:"string"` 19240 19241 // This parameter is currently disabled. 19242 AutoMinorVersionUpgrade *bool `type:"boolean"` 19243 19244 // Indicates the status of automatic failover for the source Redis replication 19245 // group. 19246 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 19247 19248 // The date and time when the source cluster was created. 19249 CacheClusterCreateTime *time.Time `type:"timestamp"` 19250 19251 // The user-supplied identifier of the source cluster. 19252 CacheClusterId *string `type:"string"` 19253 19254 // The name of the compute and memory capacity node type for the source cluster. 19255 // 19256 // The following node types are supported by ElastiCache. Generally speaking, 19257 // the current generation types provide more memory and computational power 19258 // at lower cost when compared to their equivalent previous generation counterparts. 19259 // 19260 // * General purpose: Current generation: M6g node types (available only 19261 // for Redis engine version 5.0.6 onward and for Memcached engine version 19262 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 19263 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 19264 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 19265 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 19266 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 19267 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 19268 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 19269 // cache.t2.medium Previous generation: (not recommended) T1 node types: 19270 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 19271 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 19272 // cache.m3.2xlarge 19273 // 19274 // * Compute optimized: Previous generation: (not recommended) C1 node types: 19275 // cache.c1.xlarge 19276 // 19277 // * Memory optimized: Current generation: R6g node types (available only 19278 // for Redis engine version 5.0.6 onward and for Memcached engine version 19279 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 19280 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 19281 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 19282 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 19283 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 19284 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 19285 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 19286 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 19287 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 19288 // 19289 // Additional node type info 19290 // 19291 // * All current generation instance types are created in Amazon VPC by default. 19292 // 19293 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 19294 // 19295 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 19296 // 19297 // * Redis configuration variables appendonly and appendfsync are not supported 19298 // on Redis version 2.8.22 and later. 19299 CacheNodeType *string `type:"string"` 19300 19301 // The cache parameter group that is associated with the source cluster. 19302 CacheParameterGroupName *string `type:"string"` 19303 19304 // The name of the cache subnet group associated with the source cluster. 19305 CacheSubnetGroupName *string `type:"string"` 19306 19307 // The name of the cache engine (memcached or redis) used by the source cluster. 19308 Engine *string `type:"string"` 19309 19310 // The version of the cache engine version that is used by the source cluster. 19311 EngineVersion *string `type:"string"` 19312 19313 // The ID of the KMS key used to encrypt the snapshot. 19314 KmsKeyId *string `type:"string"` 19315 19316 // A list of the cache nodes in the source cluster. 19317 NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"` 19318 19319 // The number of cache nodes in the source cluster. 19320 // 19321 // For clusters running Redis, this value must be 1. For clusters running Memcached, 19322 // this value must be between 1 and 40. 19323 NumCacheNodes *int64 `type:"integer"` 19324 19325 // The number of node groups (shards) in this snapshot. When restoring from 19326 // a snapshot, the number of node groups (shards) in the snapshot and in the 19327 // restored replication group must be the same. 19328 NumNodeGroups *int64 `type:"integer"` 19329 19330 // The port number used by each cache nodes in the source cluster. 19331 Port *int64 `type:"integer"` 19332 19333 // The name of the Availability Zone in which the source cluster is located. 19334 PreferredAvailabilityZone *string `type:"string"` 19335 19336 // Specifies the weekly time range during which maintenance on the cluster is 19337 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 19338 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 19339 // 19340 // Valid values for ddd are: 19341 // 19342 // * sun 19343 // 19344 // * mon 19345 // 19346 // * tue 19347 // 19348 // * wed 19349 // 19350 // * thu 19351 // 19352 // * fri 19353 // 19354 // * sat 19355 // 19356 // Example: sun:23:00-mon:01:30 19357 PreferredMaintenanceWindow *string `type:"string"` 19358 19359 // The ARN (Amazon Resource Name) of the preferred outpost. 19360 PreferredOutpostArn *string `type:"string"` 19361 19362 // A description of the source replication group. 19363 ReplicationGroupDescription *string `type:"string"` 19364 19365 // The unique identifier of the source replication group. 19366 ReplicationGroupId *string `type:"string"` 19367 19368 // The name of a snapshot. For an automatic snapshot, the name is system-generated. 19369 // For a manual snapshot, this is the user-provided name. 19370 SnapshotName *string `type:"string"` 19371 19372 // For an automatic snapshot, the number of days for which ElastiCache retains 19373 // the snapshot before deleting it. 19374 // 19375 // For manual snapshots, this field reflects the SnapshotRetentionLimit for 19376 // the source cluster when the snapshot was created. This field is otherwise 19377 // ignored: Manual snapshots do not expire, and can only be deleted using the 19378 // DeleteSnapshot operation. 19379 // 19380 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 19381 // are turned off. 19382 SnapshotRetentionLimit *int64 `type:"integer"` 19383 19384 // Indicates whether the snapshot is from an automatic backup (automated) or 19385 // was created manually (manual). 19386 SnapshotSource *string `type:"string"` 19387 19388 // The status of the snapshot. Valid values: creating | available | restoring 19389 // | copying | deleting. 19390 SnapshotStatus *string `type:"string"` 19391 19392 // The daily time range during which ElastiCache takes daily snapshots of the 19393 // source cluster. 19394 SnapshotWindow *string `type:"string"` 19395 19396 // The Amazon Resource Name (ARN) for the topic used by the source cluster for 19397 // publishing notifications. 19398 TopicArn *string `type:"string"` 19399 19400 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 19401 // group for the source cluster. 19402 VpcId *string `type:"string"` 19403} 19404 19405// String returns the string representation 19406func (s Snapshot) String() string { 19407 return awsutil.Prettify(s) 19408} 19409 19410// GoString returns the string representation 19411func (s Snapshot) GoString() string { 19412 return s.String() 19413} 19414 19415// SetARN sets the ARN field's value. 19416func (s *Snapshot) SetARN(v string) *Snapshot { 19417 s.ARN = &v 19418 return s 19419} 19420 19421// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 19422func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { 19423 s.AutoMinorVersionUpgrade = &v 19424 return s 19425} 19426 19427// SetAutomaticFailover sets the AutomaticFailover field's value. 19428func (s *Snapshot) SetAutomaticFailover(v string) *Snapshot { 19429 s.AutomaticFailover = &v 19430 return s 19431} 19432 19433// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 19434func (s *Snapshot) SetCacheClusterCreateTime(v time.Time) *Snapshot { 19435 s.CacheClusterCreateTime = &v 19436 return s 19437} 19438 19439// SetCacheClusterId sets the CacheClusterId field's value. 19440func (s *Snapshot) SetCacheClusterId(v string) *Snapshot { 19441 s.CacheClusterId = &v 19442 return s 19443} 19444 19445// SetCacheNodeType sets the CacheNodeType field's value. 19446func (s *Snapshot) SetCacheNodeType(v string) *Snapshot { 19447 s.CacheNodeType = &v 19448 return s 19449} 19450 19451// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 19452func (s *Snapshot) SetCacheParameterGroupName(v string) *Snapshot { 19453 s.CacheParameterGroupName = &v 19454 return s 19455} 19456 19457// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 19458func (s *Snapshot) SetCacheSubnetGroupName(v string) *Snapshot { 19459 s.CacheSubnetGroupName = &v 19460 return s 19461} 19462 19463// SetEngine sets the Engine field's value. 19464func (s *Snapshot) SetEngine(v string) *Snapshot { 19465 s.Engine = &v 19466 return s 19467} 19468 19469// SetEngineVersion sets the EngineVersion field's value. 19470func (s *Snapshot) SetEngineVersion(v string) *Snapshot { 19471 s.EngineVersion = &v 19472 return s 19473} 19474 19475// SetKmsKeyId sets the KmsKeyId field's value. 19476func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { 19477 s.KmsKeyId = &v 19478 return s 19479} 19480 19481// SetNodeSnapshots sets the NodeSnapshots field's value. 19482func (s *Snapshot) SetNodeSnapshots(v []*NodeSnapshot) *Snapshot { 19483 s.NodeSnapshots = v 19484 return s 19485} 19486 19487// SetNumCacheNodes sets the NumCacheNodes field's value. 19488func (s *Snapshot) SetNumCacheNodes(v int64) *Snapshot { 19489 s.NumCacheNodes = &v 19490 return s 19491} 19492 19493// SetNumNodeGroups sets the NumNodeGroups field's value. 19494func (s *Snapshot) SetNumNodeGroups(v int64) *Snapshot { 19495 s.NumNodeGroups = &v 19496 return s 19497} 19498 19499// SetPort sets the Port field's value. 19500func (s *Snapshot) SetPort(v int64) *Snapshot { 19501 s.Port = &v 19502 return s 19503} 19504 19505// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 19506func (s *Snapshot) SetPreferredAvailabilityZone(v string) *Snapshot { 19507 s.PreferredAvailabilityZone = &v 19508 return s 19509} 19510 19511// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 19512func (s *Snapshot) SetPreferredMaintenanceWindow(v string) *Snapshot { 19513 s.PreferredMaintenanceWindow = &v 19514 return s 19515} 19516 19517// SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 19518func (s *Snapshot) SetPreferredOutpostArn(v string) *Snapshot { 19519 s.PreferredOutpostArn = &v 19520 return s 19521} 19522 19523// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 19524func (s *Snapshot) SetReplicationGroupDescription(v string) *Snapshot { 19525 s.ReplicationGroupDescription = &v 19526 return s 19527} 19528 19529// SetReplicationGroupId sets the ReplicationGroupId field's value. 19530func (s *Snapshot) SetReplicationGroupId(v string) *Snapshot { 19531 s.ReplicationGroupId = &v 19532 return s 19533} 19534 19535// SetSnapshotName sets the SnapshotName field's value. 19536func (s *Snapshot) SetSnapshotName(v string) *Snapshot { 19537 s.SnapshotName = &v 19538 return s 19539} 19540 19541// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 19542func (s *Snapshot) SetSnapshotRetentionLimit(v int64) *Snapshot { 19543 s.SnapshotRetentionLimit = &v 19544 return s 19545} 19546 19547// SetSnapshotSource sets the SnapshotSource field's value. 19548func (s *Snapshot) SetSnapshotSource(v string) *Snapshot { 19549 s.SnapshotSource = &v 19550 return s 19551} 19552 19553// SetSnapshotStatus sets the SnapshotStatus field's value. 19554func (s *Snapshot) SetSnapshotStatus(v string) *Snapshot { 19555 s.SnapshotStatus = &v 19556 return s 19557} 19558 19559// SetSnapshotWindow sets the SnapshotWindow field's value. 19560func (s *Snapshot) SetSnapshotWindow(v string) *Snapshot { 19561 s.SnapshotWindow = &v 19562 return s 19563} 19564 19565// SetTopicArn sets the TopicArn field's value. 19566func (s *Snapshot) SetTopicArn(v string) *Snapshot { 19567 s.TopicArn = &v 19568 return s 19569} 19570 19571// SetVpcId sets the VpcId field's value. 19572func (s *Snapshot) SetVpcId(v string) *Snapshot { 19573 s.VpcId = &v 19574 return s 19575} 19576 19577type StartMigrationInput struct { 19578 _ struct{} `type:"structure"` 19579 19580 // List of endpoints from which data should be migrated. For Redis (cluster 19581 // mode disabled), list should have only one element. 19582 // 19583 // CustomerNodeEndpointList is a required field 19584 CustomerNodeEndpointList []*CustomerNodeEndpoint `type:"list" required:"true"` 19585 19586 // The ID of the replication group to which data should be migrated. 19587 // 19588 // ReplicationGroupId is a required field 19589 ReplicationGroupId *string `type:"string" required:"true"` 19590} 19591 19592// String returns the string representation 19593func (s StartMigrationInput) String() string { 19594 return awsutil.Prettify(s) 19595} 19596 19597// GoString returns the string representation 19598func (s StartMigrationInput) GoString() string { 19599 return s.String() 19600} 19601 19602// Validate inspects the fields of the type to determine if they are valid. 19603func (s *StartMigrationInput) Validate() error { 19604 invalidParams := request.ErrInvalidParams{Context: "StartMigrationInput"} 19605 if s.CustomerNodeEndpointList == nil { 19606 invalidParams.Add(request.NewErrParamRequired("CustomerNodeEndpointList")) 19607 } 19608 if s.ReplicationGroupId == nil { 19609 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 19610 } 19611 19612 if invalidParams.Len() > 0 { 19613 return invalidParams 19614 } 19615 return nil 19616} 19617 19618// SetCustomerNodeEndpointList sets the CustomerNodeEndpointList field's value. 19619func (s *StartMigrationInput) SetCustomerNodeEndpointList(v []*CustomerNodeEndpoint) *StartMigrationInput { 19620 s.CustomerNodeEndpointList = v 19621 return s 19622} 19623 19624// SetReplicationGroupId sets the ReplicationGroupId field's value. 19625func (s *StartMigrationInput) SetReplicationGroupId(v string) *StartMigrationInput { 19626 s.ReplicationGroupId = &v 19627 return s 19628} 19629 19630type StartMigrationOutput struct { 19631 _ struct{} `type:"structure"` 19632 19633 // Contains all of the attributes of a specific Redis replication group. 19634 ReplicationGroup *ReplicationGroup `type:"structure"` 19635} 19636 19637// String returns the string representation 19638func (s StartMigrationOutput) String() string { 19639 return awsutil.Prettify(s) 19640} 19641 19642// GoString returns the string representation 19643func (s StartMigrationOutput) GoString() string { 19644 return s.String() 19645} 19646 19647// SetReplicationGroup sets the ReplicationGroup field's value. 19648func (s *StartMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *StartMigrationOutput { 19649 s.ReplicationGroup = v 19650 return s 19651} 19652 19653// Represents the subnet associated with a cluster. This parameter refers to 19654// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with 19655// ElastiCache. 19656type Subnet struct { 19657 _ struct{} `type:"structure"` 19658 19659 // The Availability Zone associated with the subnet. 19660 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 19661 19662 // The unique identifier for the subnet. 19663 SubnetIdentifier *string `type:"string"` 19664 19665 // The outpost ARN of the subnet. 19666 SubnetOutpost *SubnetOutpost `type:"structure"` 19667} 19668 19669// String returns the string representation 19670func (s Subnet) String() string { 19671 return awsutil.Prettify(s) 19672} 19673 19674// GoString returns the string representation 19675func (s Subnet) GoString() string { 19676 return s.String() 19677} 19678 19679// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 19680func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 19681 s.SubnetAvailabilityZone = v 19682 return s 19683} 19684 19685// SetSubnetIdentifier sets the SubnetIdentifier field's value. 19686func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 19687 s.SubnetIdentifier = &v 19688 return s 19689} 19690 19691// SetSubnetOutpost sets the SubnetOutpost field's value. 19692func (s *Subnet) SetSubnetOutpost(v *SubnetOutpost) *Subnet { 19693 s.SubnetOutpost = v 19694 return s 19695} 19696 19697// The ID of the outpost subnet. 19698type SubnetOutpost struct { 19699 _ struct{} `type:"structure"` 19700 19701 // The outpost ARN of the subnet. 19702 SubnetOutpostArn *string `type:"string"` 19703} 19704 19705// String returns the string representation 19706func (s SubnetOutpost) String() string { 19707 return awsutil.Prettify(s) 19708} 19709 19710// GoString returns the string representation 19711func (s SubnetOutpost) GoString() string { 19712 return s.String() 19713} 19714 19715// SetSubnetOutpostArn sets the SubnetOutpostArn field's value. 19716func (s *SubnetOutpost) SetSubnetOutpostArn(v string) *SubnetOutpost { 19717 s.SubnetOutpostArn = &v 19718 return s 19719} 19720 19721// A tag that can be added to an ElastiCache cluster or replication group. Tags 19722// are composed of a Key/Value pair. You can use tags to categorize and track 19723// all your ElastiCache resources, with the exception of global replication 19724// group. When you add or remove tags on replication groups, those actions will 19725// be replicated to all nodes in the replication group. A tag with a null Value 19726// is permitted. 19727type Tag struct { 19728 _ struct{} `type:"structure"` 19729 19730 // The key for the tag. May not be null. 19731 Key *string `type:"string"` 19732 19733 // The tag's value. May be null. 19734 Value *string `type:"string"` 19735} 19736 19737// String returns the string representation 19738func (s Tag) String() string { 19739 return awsutil.Prettify(s) 19740} 19741 19742// GoString returns the string representation 19743func (s Tag) GoString() string { 19744 return s.String() 19745} 19746 19747// SetKey sets the Key field's value. 19748func (s *Tag) SetKey(v string) *Tag { 19749 s.Key = &v 19750 return s 19751} 19752 19753// SetValue sets the Value field's value. 19754func (s *Tag) SetValue(v string) *Tag { 19755 s.Value = &v 19756 return s 19757} 19758 19759// Represents the output from the AddTagsToResource, ListTagsForResource, and 19760// RemoveTagsFromResource operations. 19761type TagListMessage struct { 19762 _ struct{} `type:"structure"` 19763 19764 // A list of tags as key-value pairs. 19765 TagList []*Tag `locationNameList:"Tag" type:"list"` 19766} 19767 19768// String returns the string representation 19769func (s TagListMessage) String() string { 19770 return awsutil.Prettify(s) 19771} 19772 19773// GoString returns the string representation 19774func (s TagListMessage) GoString() string { 19775 return s.String() 19776} 19777 19778// SetTagList sets the TagList field's value. 19779func (s *TagListMessage) SetTagList(v []*Tag) *TagListMessage { 19780 s.TagList = v 19781 return s 19782} 19783 19784type TestFailoverInput struct { 19785 _ struct{} `type:"structure"` 19786 19787 // The name of the node group (called shard in the console) in this replication 19788 // group on which automatic failover is to be tested. You may test automatic 19789 // failover on up to 5 node groups in any rolling 24-hour period. 19790 // 19791 // NodeGroupId is a required field 19792 NodeGroupId *string `min:"1" type:"string" required:"true"` 19793 19794 // The name of the replication group (console: cluster) whose automatic failover 19795 // is being tested by this operation. 19796 // 19797 // ReplicationGroupId is a required field 19798 ReplicationGroupId *string `type:"string" required:"true"` 19799} 19800 19801// String returns the string representation 19802func (s TestFailoverInput) String() string { 19803 return awsutil.Prettify(s) 19804} 19805 19806// GoString returns the string representation 19807func (s TestFailoverInput) GoString() string { 19808 return s.String() 19809} 19810 19811// Validate inspects the fields of the type to determine if they are valid. 19812func (s *TestFailoverInput) Validate() error { 19813 invalidParams := request.ErrInvalidParams{Context: "TestFailoverInput"} 19814 if s.NodeGroupId == nil { 19815 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 19816 } 19817 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 19818 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 19819 } 19820 if s.ReplicationGroupId == nil { 19821 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 19822 } 19823 19824 if invalidParams.Len() > 0 { 19825 return invalidParams 19826 } 19827 return nil 19828} 19829 19830// SetNodeGroupId sets the NodeGroupId field's value. 19831func (s *TestFailoverInput) SetNodeGroupId(v string) *TestFailoverInput { 19832 s.NodeGroupId = &v 19833 return s 19834} 19835 19836// SetReplicationGroupId sets the ReplicationGroupId field's value. 19837func (s *TestFailoverInput) SetReplicationGroupId(v string) *TestFailoverInput { 19838 s.ReplicationGroupId = &v 19839 return s 19840} 19841 19842type TestFailoverOutput struct { 19843 _ struct{} `type:"structure"` 19844 19845 // Contains all of the attributes of a specific Redis replication group. 19846 ReplicationGroup *ReplicationGroup `type:"structure"` 19847} 19848 19849// String returns the string representation 19850func (s TestFailoverOutput) String() string { 19851 return awsutil.Prettify(s) 19852} 19853 19854// GoString returns the string representation 19855func (s TestFailoverOutput) GoString() string { 19856 return s.String() 19857} 19858 19859// SetReplicationGroup sets the ReplicationGroup field's value. 19860func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailoverOutput { 19861 s.ReplicationGroup = v 19862 return s 19863} 19864 19865// Filters update actions from the service updates that are in available status 19866// during the time range. 19867type TimeRangeFilter struct { 19868 _ struct{} `type:"structure"` 19869 19870 // The end time of the time range filter 19871 EndTime *time.Time `type:"timestamp"` 19872 19873 // The start time of the time range filter 19874 StartTime *time.Time `type:"timestamp"` 19875} 19876 19877// String returns the string representation 19878func (s TimeRangeFilter) String() string { 19879 return awsutil.Prettify(s) 19880} 19881 19882// GoString returns the string representation 19883func (s TimeRangeFilter) GoString() string { 19884 return s.String() 19885} 19886 19887// SetEndTime sets the EndTime field's value. 19888func (s *TimeRangeFilter) SetEndTime(v time.Time) *TimeRangeFilter { 19889 s.EndTime = &v 19890 return s 19891} 19892 19893// SetStartTime sets the StartTime field's value. 19894func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { 19895 s.StartTime = &v 19896 return s 19897} 19898 19899// Update action that has failed to be processed for the corresponding apply/stop 19900// request 19901type UnprocessedUpdateAction struct { 19902 _ struct{} `type:"structure"` 19903 19904 // The ID of the cache cluster 19905 CacheClusterId *string `type:"string"` 19906 19907 // The error message that describes the reason the request was not processed 19908 ErrorMessage *string `type:"string"` 19909 19910 // The error type for requests that are not processed 19911 ErrorType *string `type:"string"` 19912 19913 // The replication group ID 19914 ReplicationGroupId *string `type:"string"` 19915 19916 // The unique ID of the service update 19917 ServiceUpdateName *string `type:"string"` 19918} 19919 19920// String returns the string representation 19921func (s UnprocessedUpdateAction) String() string { 19922 return awsutil.Prettify(s) 19923} 19924 19925// GoString returns the string representation 19926func (s UnprocessedUpdateAction) GoString() string { 19927 return s.String() 19928} 19929 19930// SetCacheClusterId sets the CacheClusterId field's value. 19931func (s *UnprocessedUpdateAction) SetCacheClusterId(v string) *UnprocessedUpdateAction { 19932 s.CacheClusterId = &v 19933 return s 19934} 19935 19936// SetErrorMessage sets the ErrorMessage field's value. 19937func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { 19938 s.ErrorMessage = &v 19939 return s 19940} 19941 19942// SetErrorType sets the ErrorType field's value. 19943func (s *UnprocessedUpdateAction) SetErrorType(v string) *UnprocessedUpdateAction { 19944 s.ErrorType = &v 19945 return s 19946} 19947 19948// SetReplicationGroupId sets the ReplicationGroupId field's value. 19949func (s *UnprocessedUpdateAction) SetReplicationGroupId(v string) *UnprocessedUpdateAction { 19950 s.ReplicationGroupId = &v 19951 return s 19952} 19953 19954// SetServiceUpdateName sets the ServiceUpdateName field's value. 19955func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpdateAction { 19956 s.ServiceUpdateName = &v 19957 return s 19958} 19959 19960// The status of the service update for a specific replication group 19961type UpdateAction struct { 19962 _ struct{} `type:"structure"` 19963 19964 // The ID of the cache cluster 19965 CacheClusterId *string `type:"string"` 19966 19967 // The status of the service update on the cache node 19968 CacheNodeUpdateStatus []*CacheNodeUpdateStatus `locationNameList:"CacheNodeUpdateStatus" type:"list"` 19969 19970 // The Elasticache engine to which the update applies. Either Redis or Memcached 19971 Engine *string `type:"string"` 19972 19973 // The estimated length of time for the update to complete 19974 EstimatedUpdateTime *string `type:"string"` 19975 19976 // The status of the service update on the node group 19977 NodeGroupUpdateStatus []*NodeGroupUpdateStatus `locationNameList:"NodeGroupUpdateStatus" type:"list"` 19978 19979 // The progress of the service update on the replication group 19980 NodesUpdated *string `type:"string"` 19981 19982 // The ID of the replication group 19983 ReplicationGroupId *string `type:"string"` 19984 19985 // The unique ID of the service update 19986 ServiceUpdateName *string `type:"string"` 19987 19988 // The recommended date to apply the service update to ensure compliance. For 19989 // information on compliance, see Self-Service Security Updates for Compliance 19990 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 19991 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 19992 19993 // The date the update is first available 19994 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 19995 19996 // The severity of the service update 19997 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 19998 19999 // The status of the service update 20000 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 20001 20002 // Reflects the nature of the service update 20003 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 20004 20005 // If yes, all nodes in the replication group have been updated by the recommended 20006 // apply-by date. If no, at least one node in the replication group have not 20007 // been updated by the recommended apply-by date. If N/A, the replication group 20008 // was created after the recommended apply-by date. 20009 SlaMet *string `type:"string" enum:"SlaMet"` 20010 20011 // The date that the service update is available to a replication group 20012 UpdateActionAvailableDate *time.Time `type:"timestamp"` 20013 20014 // The status of the update action 20015 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 20016 20017 // The date when the UpdateActionStatus was last modified 20018 UpdateActionStatusModifiedDate *time.Time `type:"timestamp"` 20019} 20020 20021// String returns the string representation 20022func (s UpdateAction) String() string { 20023 return awsutil.Prettify(s) 20024} 20025 20026// GoString returns the string representation 20027func (s UpdateAction) GoString() string { 20028 return s.String() 20029} 20030 20031// SetCacheClusterId sets the CacheClusterId field's value. 20032func (s *UpdateAction) SetCacheClusterId(v string) *UpdateAction { 20033 s.CacheClusterId = &v 20034 return s 20035} 20036 20037// SetCacheNodeUpdateStatus sets the CacheNodeUpdateStatus field's value. 20038func (s *UpdateAction) SetCacheNodeUpdateStatus(v []*CacheNodeUpdateStatus) *UpdateAction { 20039 s.CacheNodeUpdateStatus = v 20040 return s 20041} 20042 20043// SetEngine sets the Engine field's value. 20044func (s *UpdateAction) SetEngine(v string) *UpdateAction { 20045 s.Engine = &v 20046 return s 20047} 20048 20049// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 20050func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { 20051 s.EstimatedUpdateTime = &v 20052 return s 20053} 20054 20055// SetNodeGroupUpdateStatus sets the NodeGroupUpdateStatus field's value. 20056func (s *UpdateAction) SetNodeGroupUpdateStatus(v []*NodeGroupUpdateStatus) *UpdateAction { 20057 s.NodeGroupUpdateStatus = v 20058 return s 20059} 20060 20061// SetNodesUpdated sets the NodesUpdated field's value. 20062func (s *UpdateAction) SetNodesUpdated(v string) *UpdateAction { 20063 s.NodesUpdated = &v 20064 return s 20065} 20066 20067// SetReplicationGroupId sets the ReplicationGroupId field's value. 20068func (s *UpdateAction) SetReplicationGroupId(v string) *UpdateAction { 20069 s.ReplicationGroupId = &v 20070 return s 20071} 20072 20073// SetServiceUpdateName sets the ServiceUpdateName field's value. 20074func (s *UpdateAction) SetServiceUpdateName(v string) *UpdateAction { 20075 s.ServiceUpdateName = &v 20076 return s 20077} 20078 20079// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 20080func (s *UpdateAction) SetServiceUpdateRecommendedApplyByDate(v time.Time) *UpdateAction { 20081 s.ServiceUpdateRecommendedApplyByDate = &v 20082 return s 20083} 20084 20085// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 20086func (s *UpdateAction) SetServiceUpdateReleaseDate(v time.Time) *UpdateAction { 20087 s.ServiceUpdateReleaseDate = &v 20088 return s 20089} 20090 20091// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 20092func (s *UpdateAction) SetServiceUpdateSeverity(v string) *UpdateAction { 20093 s.ServiceUpdateSeverity = &v 20094 return s 20095} 20096 20097// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 20098func (s *UpdateAction) SetServiceUpdateStatus(v string) *UpdateAction { 20099 s.ServiceUpdateStatus = &v 20100 return s 20101} 20102 20103// SetServiceUpdateType sets the ServiceUpdateType field's value. 20104func (s *UpdateAction) SetServiceUpdateType(v string) *UpdateAction { 20105 s.ServiceUpdateType = &v 20106 return s 20107} 20108 20109// SetSlaMet sets the SlaMet field's value. 20110func (s *UpdateAction) SetSlaMet(v string) *UpdateAction { 20111 s.SlaMet = &v 20112 return s 20113} 20114 20115// SetUpdateActionAvailableDate sets the UpdateActionAvailableDate field's value. 20116func (s *UpdateAction) SetUpdateActionAvailableDate(v time.Time) *UpdateAction { 20117 s.UpdateActionAvailableDate = &v 20118 return s 20119} 20120 20121// SetUpdateActionStatus sets the UpdateActionStatus field's value. 20122func (s *UpdateAction) SetUpdateActionStatus(v string) *UpdateAction { 20123 s.UpdateActionStatus = &v 20124 return s 20125} 20126 20127// SetUpdateActionStatusModifiedDate sets the UpdateActionStatusModifiedDate field's value. 20128func (s *UpdateAction) SetUpdateActionStatusModifiedDate(v time.Time) *UpdateAction { 20129 s.UpdateActionStatusModifiedDate = &v 20130 return s 20131} 20132 20133type User struct { 20134 _ struct{} `type:"structure"` 20135 20136 // The Amazon Resource Name (ARN) of the user. 20137 ARN *string `type:"string"` 20138 20139 // Access permissions string used for this user. 20140 AccessString *string `type:"string"` 20141 20142 // Denotes whether the user requires a password to authenticate. 20143 Authentication *Authentication `type:"structure"` 20144 20145 // The current supported value is Redis. 20146 Engine *string `type:"string"` 20147 20148 // Indicates the user status. Can be "active", "modifying" or "deleting". 20149 Status *string `type:"string"` 20150 20151 // Returns a list of the user group IDs the user belongs to. 20152 UserGroupIds []*string `type:"list"` 20153 20154 // The ID of the user. 20155 UserId *string `type:"string"` 20156 20157 // The username of the user. 20158 UserName *string `type:"string"` 20159} 20160 20161// String returns the string representation 20162func (s User) String() string { 20163 return awsutil.Prettify(s) 20164} 20165 20166// GoString returns the string representation 20167func (s User) GoString() string { 20168 return s.String() 20169} 20170 20171// SetARN sets the ARN field's value. 20172func (s *User) SetARN(v string) *User { 20173 s.ARN = &v 20174 return s 20175} 20176 20177// SetAccessString sets the AccessString field's value. 20178func (s *User) SetAccessString(v string) *User { 20179 s.AccessString = &v 20180 return s 20181} 20182 20183// SetAuthentication sets the Authentication field's value. 20184func (s *User) SetAuthentication(v *Authentication) *User { 20185 s.Authentication = v 20186 return s 20187} 20188 20189// SetEngine sets the Engine field's value. 20190func (s *User) SetEngine(v string) *User { 20191 s.Engine = &v 20192 return s 20193} 20194 20195// SetStatus sets the Status field's value. 20196func (s *User) SetStatus(v string) *User { 20197 s.Status = &v 20198 return s 20199} 20200 20201// SetUserGroupIds sets the UserGroupIds field's value. 20202func (s *User) SetUserGroupIds(v []*string) *User { 20203 s.UserGroupIds = v 20204 return s 20205} 20206 20207// SetUserId sets the UserId field's value. 20208func (s *User) SetUserId(v string) *User { 20209 s.UserId = &v 20210 return s 20211} 20212 20213// SetUserName sets the UserName field's value. 20214func (s *User) SetUserName(v string) *User { 20215 s.UserName = &v 20216 return s 20217} 20218 20219type UserGroup struct { 20220 _ struct{} `type:"structure"` 20221 20222 // The Amazon Resource Name (ARN) of the user group. 20223 ARN *string `type:"string"` 20224 20225 // The current supported value is Redis. 20226 Engine *string `type:"string"` 20227 20228 // A list of updates being applied to the user groups. 20229 PendingChanges *UserGroupPendingChanges `type:"structure"` 20230 20231 // A list of replication groups that the user group can access. 20232 ReplicationGroups []*string `type:"list"` 20233 20234 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 20235 Status *string `type:"string"` 20236 20237 // The ID of the user group. 20238 UserGroupId *string `type:"string"` 20239 20240 // The list of user IDs that belong to the user group. 20241 UserIds []*string `type:"list"` 20242} 20243 20244// String returns the string representation 20245func (s UserGroup) String() string { 20246 return awsutil.Prettify(s) 20247} 20248 20249// GoString returns the string representation 20250func (s UserGroup) GoString() string { 20251 return s.String() 20252} 20253 20254// SetARN sets the ARN field's value. 20255func (s *UserGroup) SetARN(v string) *UserGroup { 20256 s.ARN = &v 20257 return s 20258} 20259 20260// SetEngine sets the Engine field's value. 20261func (s *UserGroup) SetEngine(v string) *UserGroup { 20262 s.Engine = &v 20263 return s 20264} 20265 20266// SetPendingChanges sets the PendingChanges field's value. 20267func (s *UserGroup) SetPendingChanges(v *UserGroupPendingChanges) *UserGroup { 20268 s.PendingChanges = v 20269 return s 20270} 20271 20272// SetReplicationGroups sets the ReplicationGroups field's value. 20273func (s *UserGroup) SetReplicationGroups(v []*string) *UserGroup { 20274 s.ReplicationGroups = v 20275 return s 20276} 20277 20278// SetStatus sets the Status field's value. 20279func (s *UserGroup) SetStatus(v string) *UserGroup { 20280 s.Status = &v 20281 return s 20282} 20283 20284// SetUserGroupId sets the UserGroupId field's value. 20285func (s *UserGroup) SetUserGroupId(v string) *UserGroup { 20286 s.UserGroupId = &v 20287 return s 20288} 20289 20290// SetUserIds sets the UserIds field's value. 20291func (s *UserGroup) SetUserIds(v []*string) *UserGroup { 20292 s.UserIds = v 20293 return s 20294} 20295 20296// Returns the updates being applied to the user group. 20297type UserGroupPendingChanges struct { 20298 _ struct{} `type:"structure"` 20299 20300 // The list of user IDs to add. 20301 UserIdsToAdd []*string `type:"list"` 20302 20303 // The list of user IDs to remove. 20304 UserIdsToRemove []*string `type:"list"` 20305} 20306 20307// String returns the string representation 20308func (s UserGroupPendingChanges) String() string { 20309 return awsutil.Prettify(s) 20310} 20311 20312// GoString returns the string representation 20313func (s UserGroupPendingChanges) GoString() string { 20314 return s.String() 20315} 20316 20317// SetUserIdsToAdd sets the UserIdsToAdd field's value. 20318func (s *UserGroupPendingChanges) SetUserIdsToAdd(v []*string) *UserGroupPendingChanges { 20319 s.UserIdsToAdd = v 20320 return s 20321} 20322 20323// SetUserIdsToRemove sets the UserIdsToRemove field's value. 20324func (s *UserGroupPendingChanges) SetUserIdsToRemove(v []*string) *UserGroupPendingChanges { 20325 s.UserIdsToRemove = v 20326 return s 20327} 20328 20329// The status of the user group update. 20330type UserGroupsUpdateStatus struct { 20331 _ struct{} `type:"structure"` 20332 20333 // The list of user group IDs to add. 20334 UserGroupIdsToAdd []*string `type:"list"` 20335 20336 // The list of user group IDs to remove. 20337 UserGroupIdsToRemove []*string `type:"list"` 20338} 20339 20340// String returns the string representation 20341func (s UserGroupsUpdateStatus) String() string { 20342 return awsutil.Prettify(s) 20343} 20344 20345// GoString returns the string representation 20346func (s UserGroupsUpdateStatus) GoString() string { 20347 return s.String() 20348} 20349 20350// SetUserGroupIdsToAdd sets the UserGroupIdsToAdd field's value. 20351func (s *UserGroupsUpdateStatus) SetUserGroupIdsToAdd(v []*string) *UserGroupsUpdateStatus { 20352 s.UserGroupIdsToAdd = v 20353 return s 20354} 20355 20356// SetUserGroupIdsToRemove sets the UserGroupIdsToRemove field's value. 20357func (s *UserGroupsUpdateStatus) SetUserGroupIdsToRemove(v []*string) *UserGroupsUpdateStatus { 20358 s.UserGroupIdsToRemove = v 20359 return s 20360} 20361 20362const ( 20363 // AZModeSingleAz is a AZMode enum value 20364 AZModeSingleAz = "single-az" 20365 20366 // AZModeCrossAz is a AZMode enum value 20367 AZModeCrossAz = "cross-az" 20368) 20369 20370// AZMode_Values returns all elements of the AZMode enum 20371func AZMode_Values() []string { 20372 return []string{ 20373 AZModeSingleAz, 20374 AZModeCrossAz, 20375 } 20376} 20377 20378const ( 20379 // AuthTokenUpdateStatusSetting is a AuthTokenUpdateStatus enum value 20380 AuthTokenUpdateStatusSetting = "SETTING" 20381 20382 // AuthTokenUpdateStatusRotating is a AuthTokenUpdateStatus enum value 20383 AuthTokenUpdateStatusRotating = "ROTATING" 20384) 20385 20386// AuthTokenUpdateStatus_Values returns all elements of the AuthTokenUpdateStatus enum 20387func AuthTokenUpdateStatus_Values() []string { 20388 return []string{ 20389 AuthTokenUpdateStatusSetting, 20390 AuthTokenUpdateStatusRotating, 20391 } 20392} 20393 20394const ( 20395 // AuthTokenUpdateStrategyTypeSet is a AuthTokenUpdateStrategyType enum value 20396 AuthTokenUpdateStrategyTypeSet = "SET" 20397 20398 // AuthTokenUpdateStrategyTypeRotate is a AuthTokenUpdateStrategyType enum value 20399 AuthTokenUpdateStrategyTypeRotate = "ROTATE" 20400 20401 // AuthTokenUpdateStrategyTypeDelete is a AuthTokenUpdateStrategyType enum value 20402 AuthTokenUpdateStrategyTypeDelete = "DELETE" 20403) 20404 20405// AuthTokenUpdateStrategyType_Values returns all elements of the AuthTokenUpdateStrategyType enum 20406func AuthTokenUpdateStrategyType_Values() []string { 20407 return []string{ 20408 AuthTokenUpdateStrategyTypeSet, 20409 AuthTokenUpdateStrategyTypeRotate, 20410 AuthTokenUpdateStrategyTypeDelete, 20411 } 20412} 20413 20414const ( 20415 // AuthenticationTypePassword is a AuthenticationType enum value 20416 AuthenticationTypePassword = "password" 20417 20418 // AuthenticationTypeNoPassword is a AuthenticationType enum value 20419 AuthenticationTypeNoPassword = "no-password" 20420) 20421 20422// AuthenticationType_Values returns all elements of the AuthenticationType enum 20423func AuthenticationType_Values() []string { 20424 return []string{ 20425 AuthenticationTypePassword, 20426 AuthenticationTypeNoPassword, 20427 } 20428} 20429 20430const ( 20431 // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value 20432 AutomaticFailoverStatusEnabled = "enabled" 20433 20434 // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value 20435 AutomaticFailoverStatusDisabled = "disabled" 20436 20437 // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value 20438 AutomaticFailoverStatusEnabling = "enabling" 20439 20440 // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value 20441 AutomaticFailoverStatusDisabling = "disabling" 20442) 20443 20444// AutomaticFailoverStatus_Values returns all elements of the AutomaticFailoverStatus enum 20445func AutomaticFailoverStatus_Values() []string { 20446 return []string{ 20447 AutomaticFailoverStatusEnabled, 20448 AutomaticFailoverStatusDisabled, 20449 AutomaticFailoverStatusEnabling, 20450 AutomaticFailoverStatusDisabling, 20451 } 20452} 20453 20454const ( 20455 // ChangeTypeImmediate is a ChangeType enum value 20456 ChangeTypeImmediate = "immediate" 20457 20458 // ChangeTypeRequiresReboot is a ChangeType enum value 20459 ChangeTypeRequiresReboot = "requires-reboot" 20460) 20461 20462// ChangeType_Values returns all elements of the ChangeType enum 20463func ChangeType_Values() []string { 20464 return []string{ 20465 ChangeTypeImmediate, 20466 ChangeTypeRequiresReboot, 20467 } 20468} 20469 20470const ( 20471 // DestinationTypeCloudwatchLogs is a DestinationType enum value 20472 DestinationTypeCloudwatchLogs = "cloudwatch-logs" 20473 20474 // DestinationTypeKinesisFirehose is a DestinationType enum value 20475 DestinationTypeKinesisFirehose = "kinesis-firehose" 20476) 20477 20478// DestinationType_Values returns all elements of the DestinationType enum 20479func DestinationType_Values() []string { 20480 return []string{ 20481 DestinationTypeCloudwatchLogs, 20482 DestinationTypeKinesisFirehose, 20483 } 20484} 20485 20486const ( 20487 // LogDeliveryConfigurationStatusActive is a LogDeliveryConfigurationStatus enum value 20488 LogDeliveryConfigurationStatusActive = "active" 20489 20490 // LogDeliveryConfigurationStatusEnabling is a LogDeliveryConfigurationStatus enum value 20491 LogDeliveryConfigurationStatusEnabling = "enabling" 20492 20493 // LogDeliveryConfigurationStatusModifying is a LogDeliveryConfigurationStatus enum value 20494 LogDeliveryConfigurationStatusModifying = "modifying" 20495 20496 // LogDeliveryConfigurationStatusDisabling is a LogDeliveryConfigurationStatus enum value 20497 LogDeliveryConfigurationStatusDisabling = "disabling" 20498 20499 // LogDeliveryConfigurationStatusError is a LogDeliveryConfigurationStatus enum value 20500 LogDeliveryConfigurationStatusError = "error" 20501) 20502 20503// LogDeliveryConfigurationStatus_Values returns all elements of the LogDeliveryConfigurationStatus enum 20504func LogDeliveryConfigurationStatus_Values() []string { 20505 return []string{ 20506 LogDeliveryConfigurationStatusActive, 20507 LogDeliveryConfigurationStatusEnabling, 20508 LogDeliveryConfigurationStatusModifying, 20509 LogDeliveryConfigurationStatusDisabling, 20510 LogDeliveryConfigurationStatusError, 20511 } 20512} 20513 20514const ( 20515 // LogFormatText is a LogFormat enum value 20516 LogFormatText = "text" 20517 20518 // LogFormatJson is a LogFormat enum value 20519 LogFormatJson = "json" 20520) 20521 20522// LogFormat_Values returns all elements of the LogFormat enum 20523func LogFormat_Values() []string { 20524 return []string{ 20525 LogFormatText, 20526 LogFormatJson, 20527 } 20528} 20529 20530const ( 20531 // LogTypeSlowLog is a LogType enum value 20532 LogTypeSlowLog = "slow-log" 20533) 20534 20535// LogType_Values returns all elements of the LogType enum 20536func LogType_Values() []string { 20537 return []string{ 20538 LogTypeSlowLog, 20539 } 20540} 20541 20542const ( 20543 // MultiAZStatusEnabled is a MultiAZStatus enum value 20544 MultiAZStatusEnabled = "enabled" 20545 20546 // MultiAZStatusDisabled is a MultiAZStatus enum value 20547 MultiAZStatusDisabled = "disabled" 20548) 20549 20550// MultiAZStatus_Values returns all elements of the MultiAZStatus enum 20551func MultiAZStatus_Values() []string { 20552 return []string{ 20553 MultiAZStatusEnabled, 20554 MultiAZStatusDisabled, 20555 } 20556} 20557 20558const ( 20559 // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value 20560 NodeUpdateInitiatedBySystem = "system" 20561 20562 // NodeUpdateInitiatedByCustomer is a NodeUpdateInitiatedBy enum value 20563 NodeUpdateInitiatedByCustomer = "customer" 20564) 20565 20566// NodeUpdateInitiatedBy_Values returns all elements of the NodeUpdateInitiatedBy enum 20567func NodeUpdateInitiatedBy_Values() []string { 20568 return []string{ 20569 NodeUpdateInitiatedBySystem, 20570 NodeUpdateInitiatedByCustomer, 20571 } 20572} 20573 20574const ( 20575 // NodeUpdateStatusNotApplied is a NodeUpdateStatus enum value 20576 NodeUpdateStatusNotApplied = "not-applied" 20577 20578 // NodeUpdateStatusWaitingToStart is a NodeUpdateStatus enum value 20579 NodeUpdateStatusWaitingToStart = "waiting-to-start" 20580 20581 // NodeUpdateStatusInProgress is a NodeUpdateStatus enum value 20582 NodeUpdateStatusInProgress = "in-progress" 20583 20584 // NodeUpdateStatusStopping is a NodeUpdateStatus enum value 20585 NodeUpdateStatusStopping = "stopping" 20586 20587 // NodeUpdateStatusStopped is a NodeUpdateStatus enum value 20588 NodeUpdateStatusStopped = "stopped" 20589 20590 // NodeUpdateStatusComplete is a NodeUpdateStatus enum value 20591 NodeUpdateStatusComplete = "complete" 20592) 20593 20594// NodeUpdateStatus_Values returns all elements of the NodeUpdateStatus enum 20595func NodeUpdateStatus_Values() []string { 20596 return []string{ 20597 NodeUpdateStatusNotApplied, 20598 NodeUpdateStatusWaitingToStart, 20599 NodeUpdateStatusInProgress, 20600 NodeUpdateStatusStopping, 20601 NodeUpdateStatusStopped, 20602 NodeUpdateStatusComplete, 20603 } 20604} 20605 20606const ( 20607 // OutpostModeSingleOutpost is a OutpostMode enum value 20608 OutpostModeSingleOutpost = "single-outpost" 20609 20610 // OutpostModeCrossOutpost is a OutpostMode enum value 20611 OutpostModeCrossOutpost = "cross-outpost" 20612) 20613 20614// OutpostMode_Values returns all elements of the OutpostMode enum 20615func OutpostMode_Values() []string { 20616 return []string{ 20617 OutpostModeSingleOutpost, 20618 OutpostModeCrossOutpost, 20619 } 20620} 20621 20622const ( 20623 // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value 20624 PendingAutomaticFailoverStatusEnabled = "enabled" 20625 20626 // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value 20627 PendingAutomaticFailoverStatusDisabled = "disabled" 20628) 20629 20630// PendingAutomaticFailoverStatus_Values returns all elements of the PendingAutomaticFailoverStatus enum 20631func PendingAutomaticFailoverStatus_Values() []string { 20632 return []string{ 20633 PendingAutomaticFailoverStatusEnabled, 20634 PendingAutomaticFailoverStatusDisabled, 20635 } 20636} 20637 20638const ( 20639 // ServiceUpdateSeverityCritical is a ServiceUpdateSeverity enum value 20640 ServiceUpdateSeverityCritical = "critical" 20641 20642 // ServiceUpdateSeverityImportant is a ServiceUpdateSeverity enum value 20643 ServiceUpdateSeverityImportant = "important" 20644 20645 // ServiceUpdateSeverityMedium is a ServiceUpdateSeverity enum value 20646 ServiceUpdateSeverityMedium = "medium" 20647 20648 // ServiceUpdateSeverityLow is a ServiceUpdateSeverity enum value 20649 ServiceUpdateSeverityLow = "low" 20650) 20651 20652// ServiceUpdateSeverity_Values returns all elements of the ServiceUpdateSeverity enum 20653func ServiceUpdateSeverity_Values() []string { 20654 return []string{ 20655 ServiceUpdateSeverityCritical, 20656 ServiceUpdateSeverityImportant, 20657 ServiceUpdateSeverityMedium, 20658 ServiceUpdateSeverityLow, 20659 } 20660} 20661 20662const ( 20663 // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value 20664 ServiceUpdateStatusAvailable = "available" 20665 20666 // ServiceUpdateStatusCancelled is a ServiceUpdateStatus enum value 20667 ServiceUpdateStatusCancelled = "cancelled" 20668 20669 // ServiceUpdateStatusExpired is a ServiceUpdateStatus enum value 20670 ServiceUpdateStatusExpired = "expired" 20671) 20672 20673// ServiceUpdateStatus_Values returns all elements of the ServiceUpdateStatus enum 20674func ServiceUpdateStatus_Values() []string { 20675 return []string{ 20676 ServiceUpdateStatusAvailable, 20677 ServiceUpdateStatusCancelled, 20678 ServiceUpdateStatusExpired, 20679 } 20680} 20681 20682const ( 20683 // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value 20684 ServiceUpdateTypeSecurityUpdate = "security-update" 20685) 20686 20687// ServiceUpdateType_Values returns all elements of the ServiceUpdateType enum 20688func ServiceUpdateType_Values() []string { 20689 return []string{ 20690 ServiceUpdateTypeSecurityUpdate, 20691 } 20692} 20693 20694const ( 20695 // SlaMetYes is a SlaMet enum value 20696 SlaMetYes = "yes" 20697 20698 // SlaMetNo is a SlaMet enum value 20699 SlaMetNo = "no" 20700 20701 // SlaMetNA is a SlaMet enum value 20702 SlaMetNA = "n/a" 20703) 20704 20705// SlaMet_Values returns all elements of the SlaMet enum 20706func SlaMet_Values() []string { 20707 return []string{ 20708 SlaMetYes, 20709 SlaMetNo, 20710 SlaMetNA, 20711 } 20712} 20713 20714const ( 20715 // SourceTypeCacheCluster is a SourceType enum value 20716 SourceTypeCacheCluster = "cache-cluster" 20717 20718 // SourceTypeCacheParameterGroup is a SourceType enum value 20719 SourceTypeCacheParameterGroup = "cache-parameter-group" 20720 20721 // SourceTypeCacheSecurityGroup is a SourceType enum value 20722 SourceTypeCacheSecurityGroup = "cache-security-group" 20723 20724 // SourceTypeCacheSubnetGroup is a SourceType enum value 20725 SourceTypeCacheSubnetGroup = "cache-subnet-group" 20726 20727 // SourceTypeReplicationGroup is a SourceType enum value 20728 SourceTypeReplicationGroup = "replication-group" 20729 20730 // SourceTypeUser is a SourceType enum value 20731 SourceTypeUser = "user" 20732 20733 // SourceTypeUserGroup is a SourceType enum value 20734 SourceTypeUserGroup = "user-group" 20735) 20736 20737// SourceType_Values returns all elements of the SourceType enum 20738func SourceType_Values() []string { 20739 return []string{ 20740 SourceTypeCacheCluster, 20741 SourceTypeCacheParameterGroup, 20742 SourceTypeCacheSecurityGroup, 20743 SourceTypeCacheSubnetGroup, 20744 SourceTypeReplicationGroup, 20745 SourceTypeUser, 20746 SourceTypeUserGroup, 20747 } 20748} 20749 20750const ( 20751 // UpdateActionStatusNotApplied is a UpdateActionStatus enum value 20752 UpdateActionStatusNotApplied = "not-applied" 20753 20754 // UpdateActionStatusWaitingToStart is a UpdateActionStatus enum value 20755 UpdateActionStatusWaitingToStart = "waiting-to-start" 20756 20757 // UpdateActionStatusInProgress is a UpdateActionStatus enum value 20758 UpdateActionStatusInProgress = "in-progress" 20759 20760 // UpdateActionStatusStopping is a UpdateActionStatus enum value 20761 UpdateActionStatusStopping = "stopping" 20762 20763 // UpdateActionStatusStopped is a UpdateActionStatus enum value 20764 UpdateActionStatusStopped = "stopped" 20765 20766 // UpdateActionStatusComplete is a UpdateActionStatus enum value 20767 UpdateActionStatusComplete = "complete" 20768 20769 // UpdateActionStatusScheduling is a UpdateActionStatus enum value 20770 UpdateActionStatusScheduling = "scheduling" 20771 20772 // UpdateActionStatusScheduled is a UpdateActionStatus enum value 20773 UpdateActionStatusScheduled = "scheduled" 20774 20775 // UpdateActionStatusNotApplicable is a UpdateActionStatus enum value 20776 UpdateActionStatusNotApplicable = "not-applicable" 20777) 20778 20779// UpdateActionStatus_Values returns all elements of the UpdateActionStatus enum 20780func UpdateActionStatus_Values() []string { 20781 return []string{ 20782 UpdateActionStatusNotApplied, 20783 UpdateActionStatusWaitingToStart, 20784 UpdateActionStatusInProgress, 20785 UpdateActionStatusStopping, 20786 UpdateActionStatusStopped, 20787 UpdateActionStatusComplete, 20788 UpdateActionStatusScheduling, 20789 UpdateActionStatusScheduled, 20790 UpdateActionStatusNotApplicable, 20791 } 20792} 20793