github.com/aavshr/aws-sdk-go@v1.41.3/service/elasticache/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package elasticache 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/query" 14 ) 15 16 const 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 42 func (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 126 func (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. 140 func (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 147 const 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 173 func (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 224 func (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. 238 func (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 245 const 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 271 func (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 307 func (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. 321 func (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 328 const 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 354 func (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 390 func (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. 404 func (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 411 const 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 437 func (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 475 func (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. 489 func (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 496 const 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 522 func (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 631 func (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. 645 func (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 652 const 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 678 func (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 762 func (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. 776 func (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 783 const 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 809 func (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 873 func (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. 887 func (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 894 const 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 920 func (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 973 func (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. 987 func (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 994 const 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 1020 func (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 1078 func (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. 1092 func (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 1099 const 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 1125 func (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 1178 func (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. 1192 func (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 1199 const 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 1225 func (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 1358 func (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. 1372 func (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 1379 const 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 1405 func (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 1478 func (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. 1492 func (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 1499 const 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 1525 func (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 1575 func (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. 1589 func (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 1596 const 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 1622 func (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 1675 func (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. 1689 func (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 1696 const 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 1722 func (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 1763 func (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. 1777 func (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 1784 const 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 1810 func (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 1884 func (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. 1898 func (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 1905 const 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 1931 func (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 2009 func (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. 2023 func (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 2030 const 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 2056 func (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 2102 func (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. 2116 func (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 2123 const 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 2149 func (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 2194 func (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. 2208 func (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 2215 const 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 2241 func (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 2281 func (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. 2295 func (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 2302 const 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 2328 func (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 2382 func (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. 2396 func (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 2403 const 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 2429 func (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 2498 func (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. 2512 func (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 2519 const 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 2545 func (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 2591 func (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. 2605 func (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 2612 const 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 2638 func (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 // The default user assigned to the user group. 2679 // 2680 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUser 2681 func (c *ElastiCache) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { 2682 req, out := c.DeleteUserRequest(input) 2683 return out, req.Send() 2684 } 2685 2686 // DeleteUserWithContext is the same as DeleteUser with the addition of 2687 // the ability to pass a context and additional request options. 2688 // 2689 // See DeleteUser for details on how to use this API operation. 2690 // 2691 // The context must be non-nil and will be used for request cancellation. If 2692 // the context is nil a panic will occur. In the future the SDK may create 2693 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2694 // for more information on using Contexts. 2695 func (c *ElastiCache) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { 2696 req, out := c.DeleteUserRequest(input) 2697 req.SetContext(ctx) 2698 req.ApplyOptions(opts...) 2699 return out, req.Send() 2700 } 2701 2702 const opDeleteUserGroup = "DeleteUserGroup" 2703 2704 // DeleteUserGroupRequest generates a "aws/request.Request" representing the 2705 // client's request for the DeleteUserGroup operation. The "output" return 2706 // value will be populated with the request's response once the request completes 2707 // successfully. 2708 // 2709 // Use "Send" method on the returned Request to send the API call to the service. 2710 // the "output" return value is not valid until after Send returns without error. 2711 // 2712 // See DeleteUserGroup for more information on using the DeleteUserGroup 2713 // API call, and error handling. 2714 // 2715 // This method is useful when you want to inject custom logic or configuration 2716 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2717 // 2718 // 2719 // // Example sending a request using the DeleteUserGroupRequest method. 2720 // req, resp := client.DeleteUserGroupRequest(params) 2721 // 2722 // err := req.Send() 2723 // if err == nil { // resp is now filled 2724 // fmt.Println(resp) 2725 // } 2726 // 2727 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroup 2728 func (c *ElastiCache) DeleteUserGroupRequest(input *DeleteUserGroupInput) (req *request.Request, output *DeleteUserGroupOutput) { 2729 op := &request.Operation{ 2730 Name: opDeleteUserGroup, 2731 HTTPMethod: "POST", 2732 HTTPPath: "/", 2733 } 2734 2735 if input == nil { 2736 input = &DeleteUserGroupInput{} 2737 } 2738 2739 output = &DeleteUserGroupOutput{} 2740 req = c.newRequest(op, input, output) 2741 return 2742 } 2743 2744 // DeleteUserGroup API operation for Amazon ElastiCache. 2745 // 2746 // For Redis engine version 6.x onwards: Deletes a user group. The user group 2747 // must first be disassociated from the replication group before it can be deleted. 2748 // For more information, see Using Role Based Access Control (RBAC) (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html). 2749 // 2750 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2751 // with awserr.Error's Code and Message methods to get detailed information about 2752 // the error. 2753 // 2754 // See the AWS API reference guide for Amazon ElastiCache's 2755 // API operation DeleteUserGroup for usage and error information. 2756 // 2757 // Returned Error Codes: 2758 // * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 2759 // The user group was not found or does not exist 2760 // 2761 // * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 2762 // The user group is not in an active state. 2763 // 2764 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2765 // The value for a parameter is invalid. 2766 // 2767 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteUserGroup 2768 func (c *ElastiCache) DeleteUserGroup(input *DeleteUserGroupInput) (*DeleteUserGroupOutput, error) { 2769 req, out := c.DeleteUserGroupRequest(input) 2770 return out, req.Send() 2771 } 2772 2773 // DeleteUserGroupWithContext is the same as DeleteUserGroup with the addition of 2774 // the ability to pass a context and additional request options. 2775 // 2776 // See DeleteUserGroup for details on how to use this API operation. 2777 // 2778 // The context must be non-nil and will be used for request cancellation. If 2779 // the context is nil a panic will occur. In the future the SDK may create 2780 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2781 // for more information on using Contexts. 2782 func (c *ElastiCache) DeleteUserGroupWithContext(ctx aws.Context, input *DeleteUserGroupInput, opts ...request.Option) (*DeleteUserGroupOutput, error) { 2783 req, out := c.DeleteUserGroupRequest(input) 2784 req.SetContext(ctx) 2785 req.ApplyOptions(opts...) 2786 return out, req.Send() 2787 } 2788 2789 const opDescribeCacheClusters = "DescribeCacheClusters" 2790 2791 // DescribeCacheClustersRequest generates a "aws/request.Request" representing the 2792 // client's request for the DescribeCacheClusters operation. The "output" return 2793 // value will be populated with the request's response once the request completes 2794 // successfully. 2795 // 2796 // Use "Send" method on the returned Request to send the API call to the service. 2797 // the "output" return value is not valid until after Send returns without error. 2798 // 2799 // See DescribeCacheClusters for more information on using the DescribeCacheClusters 2800 // API call, and error handling. 2801 // 2802 // This method is useful when you want to inject custom logic or configuration 2803 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2804 // 2805 // 2806 // // Example sending a request using the DescribeCacheClustersRequest method. 2807 // req, resp := client.DescribeCacheClustersRequest(params) 2808 // 2809 // err := req.Send() 2810 // if err == nil { // resp is now filled 2811 // fmt.Println(resp) 2812 // } 2813 // 2814 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2815 func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { 2816 op := &request.Operation{ 2817 Name: opDescribeCacheClusters, 2818 HTTPMethod: "POST", 2819 HTTPPath: "/", 2820 Paginator: &request.Paginator{ 2821 InputTokens: []string{"Marker"}, 2822 OutputTokens: []string{"Marker"}, 2823 LimitToken: "MaxRecords", 2824 TruncationToken: "", 2825 }, 2826 } 2827 2828 if input == nil { 2829 input = &DescribeCacheClustersInput{} 2830 } 2831 2832 output = &DescribeCacheClustersOutput{} 2833 req = c.newRequest(op, input, output) 2834 return 2835 } 2836 2837 // DescribeCacheClusters API operation for Amazon ElastiCache. 2838 // 2839 // Returns information about all provisioned clusters if no cluster identifier 2840 // is specified, or about a specific cache cluster if a cluster identifier is 2841 // supplied. 2842 // 2843 // By default, abbreviated information about the clusters is returned. You can 2844 // use the optional ShowCacheNodeInfo flag to retrieve detailed information 2845 // about the cache nodes associated with the clusters. These details include 2846 // the DNS address and port for the cache node endpoint. 2847 // 2848 // If the cluster is in the creating state, only cluster-level information is 2849 // displayed until all of the nodes are successfully provisioned. 2850 // 2851 // If the cluster is in the deleting state, only cluster-level information is 2852 // displayed. 2853 // 2854 // If cache nodes are currently being added to the cluster, node endpoint information 2855 // and creation time for the additional nodes are not displayed until they are 2856 // completely provisioned. When the cluster state is available, the cluster 2857 // is ready for use. 2858 // 2859 // If cache nodes are currently being removed from the cluster, no endpoint 2860 // information for the removed nodes is displayed. 2861 // 2862 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2863 // with awserr.Error's Code and Message methods to get detailed information about 2864 // the error. 2865 // 2866 // See the AWS API reference guide for Amazon ElastiCache's 2867 // API operation DescribeCacheClusters for usage and error information. 2868 // 2869 // Returned Error Codes: 2870 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 2871 // The requested cluster ID does not refer to an existing cluster. 2872 // 2873 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2874 // The value for a parameter is invalid. 2875 // 2876 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2877 // Two or more incompatible parameters were specified. 2878 // 2879 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2880 func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { 2881 req, out := c.DescribeCacheClustersRequest(input) 2882 return out, req.Send() 2883 } 2884 2885 // DescribeCacheClustersWithContext is the same as DescribeCacheClusters with the addition of 2886 // the ability to pass a context and additional request options. 2887 // 2888 // See DescribeCacheClusters for details on how to use this API operation. 2889 // 2890 // The context must be non-nil and will be used for request cancellation. If 2891 // the context is nil a panic will occur. In the future the SDK may create 2892 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2893 // for more information on using Contexts. 2894 func (c *ElastiCache) DescribeCacheClustersWithContext(ctx aws.Context, input *DescribeCacheClustersInput, opts ...request.Option) (*DescribeCacheClustersOutput, error) { 2895 req, out := c.DescribeCacheClustersRequest(input) 2896 req.SetContext(ctx) 2897 req.ApplyOptions(opts...) 2898 return out, req.Send() 2899 } 2900 2901 // DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, 2902 // calling the "fn" function with the response data for each page. To stop 2903 // iterating, return false from the fn function. 2904 // 2905 // See DescribeCacheClusters method for more information on how to use this operation. 2906 // 2907 // Note: This operation can generate multiple requests to a service. 2908 // 2909 // // Example iterating over at most 3 pages of a DescribeCacheClusters operation. 2910 // pageNum := 0 2911 // err := client.DescribeCacheClustersPages(params, 2912 // func(page *elasticache.DescribeCacheClustersOutput, lastPage bool) bool { 2913 // pageNum++ 2914 // fmt.Println(page) 2915 // return pageNum <= 3 2916 // }) 2917 // 2918 func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool) error { 2919 return c.DescribeCacheClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2920 } 2921 2922 // DescribeCacheClustersPagesWithContext same as DescribeCacheClustersPages except 2923 // it takes a Context and allows setting request options on the pages. 2924 // 2925 // The context must be non-nil and will be used for request cancellation. If 2926 // the context is nil a panic will occur. In the future the SDK may create 2927 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2928 // for more information on using Contexts. 2929 func (c *ElastiCache) DescribeCacheClustersPagesWithContext(ctx aws.Context, input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool, opts ...request.Option) error { 2930 p := request.Pagination{ 2931 NewRequest: func() (*request.Request, error) { 2932 var inCpy *DescribeCacheClustersInput 2933 if input != nil { 2934 tmp := *input 2935 inCpy = &tmp 2936 } 2937 req, _ := c.DescribeCacheClustersRequest(inCpy) 2938 req.SetContext(ctx) 2939 req.ApplyOptions(opts...) 2940 return req, nil 2941 }, 2942 } 2943 2944 for p.Next() { 2945 if !fn(p.Page().(*DescribeCacheClustersOutput), !p.HasNextPage()) { 2946 break 2947 } 2948 } 2949 2950 return p.Err() 2951 } 2952 2953 const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" 2954 2955 // DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the 2956 // client's request for the DescribeCacheEngineVersions operation. The "output" return 2957 // value will be populated with the request's response once the request completes 2958 // successfully. 2959 // 2960 // Use "Send" method on the returned Request to send the API call to the service. 2961 // the "output" return value is not valid until after Send returns without error. 2962 // 2963 // See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions 2964 // API call, and error handling. 2965 // 2966 // This method is useful when you want to inject custom logic or configuration 2967 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 2968 // 2969 // 2970 // // Example sending a request using the DescribeCacheEngineVersionsRequest method. 2971 // req, resp := client.DescribeCacheEngineVersionsRequest(params) 2972 // 2973 // err := req.Send() 2974 // if err == nil { // resp is now filled 2975 // fmt.Println(resp) 2976 // } 2977 // 2978 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2979 func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { 2980 op := &request.Operation{ 2981 Name: opDescribeCacheEngineVersions, 2982 HTTPMethod: "POST", 2983 HTTPPath: "/", 2984 Paginator: &request.Paginator{ 2985 InputTokens: []string{"Marker"}, 2986 OutputTokens: []string{"Marker"}, 2987 LimitToken: "MaxRecords", 2988 TruncationToken: "", 2989 }, 2990 } 2991 2992 if input == nil { 2993 input = &DescribeCacheEngineVersionsInput{} 2994 } 2995 2996 output = &DescribeCacheEngineVersionsOutput{} 2997 req = c.newRequest(op, input, output) 2998 return 2999 } 3000 3001 // DescribeCacheEngineVersions API operation for Amazon ElastiCache. 3002 // 3003 // Returns a list of the available cache engines and their versions. 3004 // 3005 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3006 // with awserr.Error's Code and Message methods to get detailed information about 3007 // the error. 3008 // 3009 // See the AWS API reference guide for Amazon ElastiCache's 3010 // API operation DescribeCacheEngineVersions for usage and error information. 3011 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 3012 func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { 3013 req, out := c.DescribeCacheEngineVersionsRequest(input) 3014 return out, req.Send() 3015 } 3016 3017 // DescribeCacheEngineVersionsWithContext is the same as DescribeCacheEngineVersions with the addition of 3018 // the ability to pass a context and additional request options. 3019 // 3020 // See DescribeCacheEngineVersions for details on how to use this API operation. 3021 // 3022 // The context must be non-nil and will be used for request cancellation. If 3023 // the context is nil a panic will occur. In the future the SDK may create 3024 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3025 // for more information on using Contexts. 3026 func (c *ElastiCache) DescribeCacheEngineVersionsWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, opts ...request.Option) (*DescribeCacheEngineVersionsOutput, error) { 3027 req, out := c.DescribeCacheEngineVersionsRequest(input) 3028 req.SetContext(ctx) 3029 req.ApplyOptions(opts...) 3030 return out, req.Send() 3031 } 3032 3033 // DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, 3034 // calling the "fn" function with the response data for each page. To stop 3035 // iterating, return false from the fn function. 3036 // 3037 // See DescribeCacheEngineVersions method for more information on how to use this operation. 3038 // 3039 // Note: This operation can generate multiple requests to a service. 3040 // 3041 // // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation. 3042 // pageNum := 0 3043 // err := client.DescribeCacheEngineVersionsPages(params, 3044 // func(page *elasticache.DescribeCacheEngineVersionsOutput, lastPage bool) bool { 3045 // pageNum++ 3046 // fmt.Println(page) 3047 // return pageNum <= 3 3048 // }) 3049 // 3050 func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool) error { 3051 return c.DescribeCacheEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 3052 } 3053 3054 // DescribeCacheEngineVersionsPagesWithContext same as DescribeCacheEngineVersionsPages except 3055 // it takes a Context and allows setting request options on the pages. 3056 // 3057 // The context must be non-nil and will be used for request cancellation. If 3058 // the context is nil a panic will occur. In the future the SDK may create 3059 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3060 // for more information on using Contexts. 3061 func (c *ElastiCache) DescribeCacheEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool, opts ...request.Option) error { 3062 p := request.Pagination{ 3063 NewRequest: func() (*request.Request, error) { 3064 var inCpy *DescribeCacheEngineVersionsInput 3065 if input != nil { 3066 tmp := *input 3067 inCpy = &tmp 3068 } 3069 req, _ := c.DescribeCacheEngineVersionsRequest(inCpy) 3070 req.SetContext(ctx) 3071 req.ApplyOptions(opts...) 3072 return req, nil 3073 }, 3074 } 3075 3076 for p.Next() { 3077 if !fn(p.Page().(*DescribeCacheEngineVersionsOutput), !p.HasNextPage()) { 3078 break 3079 } 3080 } 3081 3082 return p.Err() 3083 } 3084 3085 const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" 3086 3087 // DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the 3088 // client's request for the DescribeCacheParameterGroups operation. The "output" return 3089 // value will be populated with the request's response once the request completes 3090 // successfully. 3091 // 3092 // Use "Send" method on the returned Request to send the API call to the service. 3093 // the "output" return value is not valid until after Send returns without error. 3094 // 3095 // See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups 3096 // API call, and error handling. 3097 // 3098 // This method is useful when you want to inject custom logic or configuration 3099 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3100 // 3101 // 3102 // // Example sending a request using the DescribeCacheParameterGroupsRequest method. 3103 // req, resp := client.DescribeCacheParameterGroupsRequest(params) 3104 // 3105 // err := req.Send() 3106 // if err == nil { // resp is now filled 3107 // fmt.Println(resp) 3108 // } 3109 // 3110 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 3111 func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { 3112 op := &request.Operation{ 3113 Name: opDescribeCacheParameterGroups, 3114 HTTPMethod: "POST", 3115 HTTPPath: "/", 3116 Paginator: &request.Paginator{ 3117 InputTokens: []string{"Marker"}, 3118 OutputTokens: []string{"Marker"}, 3119 LimitToken: "MaxRecords", 3120 TruncationToken: "", 3121 }, 3122 } 3123 3124 if input == nil { 3125 input = &DescribeCacheParameterGroupsInput{} 3126 } 3127 3128 output = &DescribeCacheParameterGroupsOutput{} 3129 req = c.newRequest(op, input, output) 3130 return 3131 } 3132 3133 // DescribeCacheParameterGroups API operation for Amazon ElastiCache. 3134 // 3135 // Returns a list of cache parameter group descriptions. If a cache parameter 3136 // group name is specified, the list contains only the descriptions for that 3137 // group. 3138 // 3139 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3140 // with awserr.Error's Code and Message methods to get detailed information about 3141 // the error. 3142 // 3143 // See the AWS API reference guide for Amazon ElastiCache's 3144 // API operation DescribeCacheParameterGroups for usage and error information. 3145 // 3146 // Returned Error Codes: 3147 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 3148 // The requested cache parameter group name does not refer to an existing cache 3149 // parameter group. 3150 // 3151 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3152 // The value for a parameter is invalid. 3153 // 3154 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3155 // Two or more incompatible parameters were specified. 3156 // 3157 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 3158 func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { 3159 req, out := c.DescribeCacheParameterGroupsRequest(input) 3160 return out, req.Send() 3161 } 3162 3163 // DescribeCacheParameterGroupsWithContext is the same as DescribeCacheParameterGroups with the addition of 3164 // the ability to pass a context and additional request options. 3165 // 3166 // See DescribeCacheParameterGroups for details on how to use this API operation. 3167 // 3168 // The context must be non-nil and will be used for request cancellation. If 3169 // the context is nil a panic will occur. In the future the SDK may create 3170 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3171 // for more information on using Contexts. 3172 func (c *ElastiCache) DescribeCacheParameterGroupsWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, opts ...request.Option) (*DescribeCacheParameterGroupsOutput, error) { 3173 req, out := c.DescribeCacheParameterGroupsRequest(input) 3174 req.SetContext(ctx) 3175 req.ApplyOptions(opts...) 3176 return out, req.Send() 3177 } 3178 3179 // DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, 3180 // calling the "fn" function with the response data for each page. To stop 3181 // iterating, return false from the fn function. 3182 // 3183 // See DescribeCacheParameterGroups method for more information on how to use this operation. 3184 // 3185 // Note: This operation can generate multiple requests to a service. 3186 // 3187 // // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation. 3188 // pageNum := 0 3189 // err := client.DescribeCacheParameterGroupsPages(params, 3190 // func(page *elasticache.DescribeCacheParameterGroupsOutput, lastPage bool) bool { 3191 // pageNum++ 3192 // fmt.Println(page) 3193 // return pageNum <= 3 3194 // }) 3195 // 3196 func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool) error { 3197 return c.DescribeCacheParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3198 } 3199 3200 // DescribeCacheParameterGroupsPagesWithContext same as DescribeCacheParameterGroupsPages except 3201 // it takes a Context and allows setting request options on the pages. 3202 // 3203 // The context must be non-nil and will be used for request cancellation. If 3204 // the context is nil a panic will occur. In the future the SDK may create 3205 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3206 // for more information on using Contexts. 3207 func (c *ElastiCache) DescribeCacheParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool, opts ...request.Option) error { 3208 p := request.Pagination{ 3209 NewRequest: func() (*request.Request, error) { 3210 var inCpy *DescribeCacheParameterGroupsInput 3211 if input != nil { 3212 tmp := *input 3213 inCpy = &tmp 3214 } 3215 req, _ := c.DescribeCacheParameterGroupsRequest(inCpy) 3216 req.SetContext(ctx) 3217 req.ApplyOptions(opts...) 3218 return req, nil 3219 }, 3220 } 3221 3222 for p.Next() { 3223 if !fn(p.Page().(*DescribeCacheParameterGroupsOutput), !p.HasNextPage()) { 3224 break 3225 } 3226 } 3227 3228 return p.Err() 3229 } 3230 3231 const opDescribeCacheParameters = "DescribeCacheParameters" 3232 3233 // DescribeCacheParametersRequest generates a "aws/request.Request" representing the 3234 // client's request for the DescribeCacheParameters operation. The "output" return 3235 // value will be populated with the request's response once the request completes 3236 // successfully. 3237 // 3238 // Use "Send" method on the returned Request to send the API call to the service. 3239 // the "output" return value is not valid until after Send returns without error. 3240 // 3241 // See DescribeCacheParameters for more information on using the DescribeCacheParameters 3242 // API call, and error handling. 3243 // 3244 // This method is useful when you want to inject custom logic or configuration 3245 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3246 // 3247 // 3248 // // Example sending a request using the DescribeCacheParametersRequest method. 3249 // req, resp := client.DescribeCacheParametersRequest(params) 3250 // 3251 // err := req.Send() 3252 // if err == nil { // resp is now filled 3253 // fmt.Println(resp) 3254 // } 3255 // 3256 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 3257 func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { 3258 op := &request.Operation{ 3259 Name: opDescribeCacheParameters, 3260 HTTPMethod: "POST", 3261 HTTPPath: "/", 3262 Paginator: &request.Paginator{ 3263 InputTokens: []string{"Marker"}, 3264 OutputTokens: []string{"Marker"}, 3265 LimitToken: "MaxRecords", 3266 TruncationToken: "", 3267 }, 3268 } 3269 3270 if input == nil { 3271 input = &DescribeCacheParametersInput{} 3272 } 3273 3274 output = &DescribeCacheParametersOutput{} 3275 req = c.newRequest(op, input, output) 3276 return 3277 } 3278 3279 // DescribeCacheParameters API operation for Amazon ElastiCache. 3280 // 3281 // Returns the detailed parameter list for a particular cache parameter group. 3282 // 3283 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3284 // with awserr.Error's Code and Message methods to get detailed information about 3285 // the error. 3286 // 3287 // See the AWS API reference guide for Amazon ElastiCache's 3288 // API operation DescribeCacheParameters for usage and error information. 3289 // 3290 // Returned Error Codes: 3291 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 3292 // The requested cache parameter group name does not refer to an existing cache 3293 // parameter group. 3294 // 3295 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3296 // The value for a parameter is invalid. 3297 // 3298 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3299 // Two or more incompatible parameters were specified. 3300 // 3301 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 3302 func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { 3303 req, out := c.DescribeCacheParametersRequest(input) 3304 return out, req.Send() 3305 } 3306 3307 // DescribeCacheParametersWithContext is the same as DescribeCacheParameters with the addition of 3308 // the ability to pass a context and additional request options. 3309 // 3310 // See DescribeCacheParameters for details on how to use this API operation. 3311 // 3312 // The context must be non-nil and will be used for request cancellation. If 3313 // the context is nil a panic will occur. In the future the SDK may create 3314 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3315 // for more information on using Contexts. 3316 func (c *ElastiCache) DescribeCacheParametersWithContext(ctx aws.Context, input *DescribeCacheParametersInput, opts ...request.Option) (*DescribeCacheParametersOutput, error) { 3317 req, out := c.DescribeCacheParametersRequest(input) 3318 req.SetContext(ctx) 3319 req.ApplyOptions(opts...) 3320 return out, req.Send() 3321 } 3322 3323 // DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, 3324 // calling the "fn" function with the response data for each page. To stop 3325 // iterating, return false from the fn function. 3326 // 3327 // See DescribeCacheParameters method for more information on how to use this operation. 3328 // 3329 // Note: This operation can generate multiple requests to a service. 3330 // 3331 // // Example iterating over at most 3 pages of a DescribeCacheParameters operation. 3332 // pageNum := 0 3333 // err := client.DescribeCacheParametersPages(params, 3334 // func(page *elasticache.DescribeCacheParametersOutput, lastPage bool) bool { 3335 // pageNum++ 3336 // fmt.Println(page) 3337 // return pageNum <= 3 3338 // }) 3339 // 3340 func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool) error { 3341 return c.DescribeCacheParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3342 } 3343 3344 // DescribeCacheParametersPagesWithContext same as DescribeCacheParametersPages except 3345 // it takes a Context and allows setting request options on the pages. 3346 // 3347 // The context must be non-nil and will be used for request cancellation. If 3348 // the context is nil a panic will occur. In the future the SDK may create 3349 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3350 // for more information on using Contexts. 3351 func (c *ElastiCache) DescribeCacheParametersPagesWithContext(ctx aws.Context, input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool, opts ...request.Option) error { 3352 p := request.Pagination{ 3353 NewRequest: func() (*request.Request, error) { 3354 var inCpy *DescribeCacheParametersInput 3355 if input != nil { 3356 tmp := *input 3357 inCpy = &tmp 3358 } 3359 req, _ := c.DescribeCacheParametersRequest(inCpy) 3360 req.SetContext(ctx) 3361 req.ApplyOptions(opts...) 3362 return req, nil 3363 }, 3364 } 3365 3366 for p.Next() { 3367 if !fn(p.Page().(*DescribeCacheParametersOutput), !p.HasNextPage()) { 3368 break 3369 } 3370 } 3371 3372 return p.Err() 3373 } 3374 3375 const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" 3376 3377 // DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the 3378 // client's request for the DescribeCacheSecurityGroups operation. The "output" return 3379 // value will be populated with the request's response once the request completes 3380 // successfully. 3381 // 3382 // Use "Send" method on the returned Request to send the API call to the service. 3383 // the "output" return value is not valid until after Send returns without error. 3384 // 3385 // See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups 3386 // API call, and error handling. 3387 // 3388 // This method is useful when you want to inject custom logic or configuration 3389 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3390 // 3391 // 3392 // // Example sending a request using the DescribeCacheSecurityGroupsRequest method. 3393 // req, resp := client.DescribeCacheSecurityGroupsRequest(params) 3394 // 3395 // err := req.Send() 3396 // if err == nil { // resp is now filled 3397 // fmt.Println(resp) 3398 // } 3399 // 3400 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 3401 func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { 3402 op := &request.Operation{ 3403 Name: opDescribeCacheSecurityGroups, 3404 HTTPMethod: "POST", 3405 HTTPPath: "/", 3406 Paginator: &request.Paginator{ 3407 InputTokens: []string{"Marker"}, 3408 OutputTokens: []string{"Marker"}, 3409 LimitToken: "MaxRecords", 3410 TruncationToken: "", 3411 }, 3412 } 3413 3414 if input == nil { 3415 input = &DescribeCacheSecurityGroupsInput{} 3416 } 3417 3418 output = &DescribeCacheSecurityGroupsOutput{} 3419 req = c.newRequest(op, input, output) 3420 return 3421 } 3422 3423 // DescribeCacheSecurityGroups API operation for Amazon ElastiCache. 3424 // 3425 // Returns a list of cache security group descriptions. If a cache security 3426 // group name is specified, the list contains only the description of that group. 3427 // This applicable only when you have ElastiCache in Classic setup 3428 // 3429 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3430 // with awserr.Error's Code and Message methods to get detailed information about 3431 // the error. 3432 // 3433 // See the AWS API reference guide for Amazon ElastiCache's 3434 // API operation DescribeCacheSecurityGroups for usage and error information. 3435 // 3436 // Returned Error Codes: 3437 // * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 3438 // The requested cache security group name does not refer to an existing cache 3439 // security group. 3440 // 3441 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3442 // The value for a parameter is invalid. 3443 // 3444 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3445 // Two or more incompatible parameters were specified. 3446 // 3447 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 3448 func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { 3449 req, out := c.DescribeCacheSecurityGroupsRequest(input) 3450 return out, req.Send() 3451 } 3452 3453 // DescribeCacheSecurityGroupsWithContext is the same as DescribeCacheSecurityGroups with the addition of 3454 // the ability to pass a context and additional request options. 3455 // 3456 // See DescribeCacheSecurityGroups for details on how to use this API operation. 3457 // 3458 // The context must be non-nil and will be used for request cancellation. If 3459 // the context is nil a panic will occur. In the future the SDK may create 3460 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3461 // for more information on using Contexts. 3462 func (c *ElastiCache) DescribeCacheSecurityGroupsWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, opts ...request.Option) (*DescribeCacheSecurityGroupsOutput, error) { 3463 req, out := c.DescribeCacheSecurityGroupsRequest(input) 3464 req.SetContext(ctx) 3465 req.ApplyOptions(opts...) 3466 return out, req.Send() 3467 } 3468 3469 // DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, 3470 // calling the "fn" function with the response data for each page. To stop 3471 // iterating, return false from the fn function. 3472 // 3473 // See DescribeCacheSecurityGroups method for more information on how to use this operation. 3474 // 3475 // Note: This operation can generate multiple requests to a service. 3476 // 3477 // // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation. 3478 // pageNum := 0 3479 // err := client.DescribeCacheSecurityGroupsPages(params, 3480 // func(page *elasticache.DescribeCacheSecurityGroupsOutput, lastPage bool) bool { 3481 // pageNum++ 3482 // fmt.Println(page) 3483 // return pageNum <= 3 3484 // }) 3485 // 3486 func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool) error { 3487 return c.DescribeCacheSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3488 } 3489 3490 // DescribeCacheSecurityGroupsPagesWithContext same as DescribeCacheSecurityGroupsPages except 3491 // it takes a Context and allows setting request options on the pages. 3492 // 3493 // The context must be non-nil and will be used for request cancellation. If 3494 // the context is nil a panic will occur. In the future the SDK may create 3495 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3496 // for more information on using Contexts. 3497 func (c *ElastiCache) DescribeCacheSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 3498 p := request.Pagination{ 3499 NewRequest: func() (*request.Request, error) { 3500 var inCpy *DescribeCacheSecurityGroupsInput 3501 if input != nil { 3502 tmp := *input 3503 inCpy = &tmp 3504 } 3505 req, _ := c.DescribeCacheSecurityGroupsRequest(inCpy) 3506 req.SetContext(ctx) 3507 req.ApplyOptions(opts...) 3508 return req, nil 3509 }, 3510 } 3511 3512 for p.Next() { 3513 if !fn(p.Page().(*DescribeCacheSecurityGroupsOutput), !p.HasNextPage()) { 3514 break 3515 } 3516 } 3517 3518 return p.Err() 3519 } 3520 3521 const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" 3522 3523 // DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the 3524 // client's request for the DescribeCacheSubnetGroups operation. The "output" return 3525 // value will be populated with the request's response once the request completes 3526 // successfully. 3527 // 3528 // Use "Send" method on the returned Request to send the API call to the service. 3529 // the "output" return value is not valid until after Send returns without error. 3530 // 3531 // See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups 3532 // API call, and error handling. 3533 // 3534 // This method is useful when you want to inject custom logic or configuration 3535 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3536 // 3537 // 3538 // // Example sending a request using the DescribeCacheSubnetGroupsRequest method. 3539 // req, resp := client.DescribeCacheSubnetGroupsRequest(params) 3540 // 3541 // err := req.Send() 3542 // if err == nil { // resp is now filled 3543 // fmt.Println(resp) 3544 // } 3545 // 3546 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3547 func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { 3548 op := &request.Operation{ 3549 Name: opDescribeCacheSubnetGroups, 3550 HTTPMethod: "POST", 3551 HTTPPath: "/", 3552 Paginator: &request.Paginator{ 3553 InputTokens: []string{"Marker"}, 3554 OutputTokens: []string{"Marker"}, 3555 LimitToken: "MaxRecords", 3556 TruncationToken: "", 3557 }, 3558 } 3559 3560 if input == nil { 3561 input = &DescribeCacheSubnetGroupsInput{} 3562 } 3563 3564 output = &DescribeCacheSubnetGroupsOutput{} 3565 req = c.newRequest(op, input, output) 3566 return 3567 } 3568 3569 // DescribeCacheSubnetGroups API operation for Amazon ElastiCache. 3570 // 3571 // Returns a list of cache subnet group descriptions. If a subnet group name 3572 // is specified, the list contains only the description of that group. This 3573 // is applicable only when you have ElastiCache in VPC setup. All ElastiCache 3574 // clusters now launch in VPC by default. 3575 // 3576 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3577 // with awserr.Error's Code and Message methods to get detailed information about 3578 // the error. 3579 // 3580 // See the AWS API reference guide for Amazon ElastiCache's 3581 // API operation DescribeCacheSubnetGroups for usage and error information. 3582 // 3583 // Returned Error Codes: 3584 // * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 3585 // The requested cache subnet group name does not refer to an existing cache 3586 // subnet group. 3587 // 3588 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3589 func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { 3590 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3591 return out, req.Send() 3592 } 3593 3594 // DescribeCacheSubnetGroupsWithContext is the same as DescribeCacheSubnetGroups with the addition of 3595 // the ability to pass a context and additional request options. 3596 // 3597 // See DescribeCacheSubnetGroups for details on how to use this API operation. 3598 // 3599 // The context must be non-nil and will be used for request cancellation. If 3600 // the context is nil a panic will occur. In the future the SDK may create 3601 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3602 // for more information on using Contexts. 3603 func (c *ElastiCache) DescribeCacheSubnetGroupsWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, opts ...request.Option) (*DescribeCacheSubnetGroupsOutput, error) { 3604 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3605 req.SetContext(ctx) 3606 req.ApplyOptions(opts...) 3607 return out, req.Send() 3608 } 3609 3610 // DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, 3611 // calling the "fn" function with the response data for each page. To stop 3612 // iterating, return false from the fn function. 3613 // 3614 // See DescribeCacheSubnetGroups method for more information on how to use this operation. 3615 // 3616 // Note: This operation can generate multiple requests to a service. 3617 // 3618 // // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation. 3619 // pageNum := 0 3620 // err := client.DescribeCacheSubnetGroupsPages(params, 3621 // func(page *elasticache.DescribeCacheSubnetGroupsOutput, lastPage bool) bool { 3622 // pageNum++ 3623 // fmt.Println(page) 3624 // return pageNum <= 3 3625 // }) 3626 // 3627 func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool) error { 3628 return c.DescribeCacheSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3629 } 3630 3631 // DescribeCacheSubnetGroupsPagesWithContext same as DescribeCacheSubnetGroupsPages except 3632 // it takes a Context and allows setting request options on the pages. 3633 // 3634 // The context must be non-nil and will be used for request cancellation. If 3635 // the context is nil a panic will occur. In the future the SDK may create 3636 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3637 // for more information on using Contexts. 3638 func (c *ElastiCache) DescribeCacheSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 3639 p := request.Pagination{ 3640 NewRequest: func() (*request.Request, error) { 3641 var inCpy *DescribeCacheSubnetGroupsInput 3642 if input != nil { 3643 tmp := *input 3644 inCpy = &tmp 3645 } 3646 req, _ := c.DescribeCacheSubnetGroupsRequest(inCpy) 3647 req.SetContext(ctx) 3648 req.ApplyOptions(opts...) 3649 return req, nil 3650 }, 3651 } 3652 3653 for p.Next() { 3654 if !fn(p.Page().(*DescribeCacheSubnetGroupsOutput), !p.HasNextPage()) { 3655 break 3656 } 3657 } 3658 3659 return p.Err() 3660 } 3661 3662 const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" 3663 3664 // DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the 3665 // client's request for the DescribeEngineDefaultParameters operation. The "output" return 3666 // value will be populated with the request's response once the request completes 3667 // successfully. 3668 // 3669 // Use "Send" method on the returned Request to send the API call to the service. 3670 // the "output" return value is not valid until after Send returns without error. 3671 // 3672 // See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters 3673 // API call, and error handling. 3674 // 3675 // This method is useful when you want to inject custom logic or configuration 3676 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3677 // 3678 // 3679 // // Example sending a request using the DescribeEngineDefaultParametersRequest method. 3680 // req, resp := client.DescribeEngineDefaultParametersRequest(params) 3681 // 3682 // err := req.Send() 3683 // if err == nil { // resp is now filled 3684 // fmt.Println(resp) 3685 // } 3686 // 3687 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3688 func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { 3689 op := &request.Operation{ 3690 Name: opDescribeEngineDefaultParameters, 3691 HTTPMethod: "POST", 3692 HTTPPath: "/", 3693 Paginator: &request.Paginator{ 3694 InputTokens: []string{"Marker"}, 3695 OutputTokens: []string{"EngineDefaults.Marker"}, 3696 LimitToken: "MaxRecords", 3697 TruncationToken: "", 3698 }, 3699 } 3700 3701 if input == nil { 3702 input = &DescribeEngineDefaultParametersInput{} 3703 } 3704 3705 output = &DescribeEngineDefaultParametersOutput{} 3706 req = c.newRequest(op, input, output) 3707 return 3708 } 3709 3710 // DescribeEngineDefaultParameters API operation for Amazon ElastiCache. 3711 // 3712 // Returns the default engine and system parameter information for the specified 3713 // cache engine. 3714 // 3715 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3716 // with awserr.Error's Code and Message methods to get detailed information about 3717 // the error. 3718 // 3719 // See the AWS API reference guide for Amazon ElastiCache's 3720 // API operation DescribeEngineDefaultParameters for usage and error information. 3721 // 3722 // Returned Error Codes: 3723 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3724 // The value for a parameter is invalid. 3725 // 3726 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3727 // Two or more incompatible parameters were specified. 3728 // 3729 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3730 func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { 3731 req, out := c.DescribeEngineDefaultParametersRequest(input) 3732 return out, req.Send() 3733 } 3734 3735 // DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of 3736 // the ability to pass a context and additional request options. 3737 // 3738 // See DescribeEngineDefaultParameters for details on how to use this API operation. 3739 // 3740 // The context must be non-nil and will be used for request cancellation. If 3741 // the context is nil a panic will occur. In the future the SDK may create 3742 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3743 // for more information on using Contexts. 3744 func (c *ElastiCache) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) { 3745 req, out := c.DescribeEngineDefaultParametersRequest(input) 3746 req.SetContext(ctx) 3747 req.ApplyOptions(opts...) 3748 return out, req.Send() 3749 } 3750 3751 // DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, 3752 // calling the "fn" function with the response data for each page. To stop 3753 // iterating, return false from the fn function. 3754 // 3755 // See DescribeEngineDefaultParameters method for more information on how to use this operation. 3756 // 3757 // Note: This operation can generate multiple requests to a service. 3758 // 3759 // // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation. 3760 // pageNum := 0 3761 // err := client.DescribeEngineDefaultParametersPages(params, 3762 // func(page *elasticache.DescribeEngineDefaultParametersOutput, lastPage bool) bool { 3763 // pageNum++ 3764 // fmt.Println(page) 3765 // return pageNum <= 3 3766 // }) 3767 // 3768 func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error { 3769 return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3770 } 3771 3772 // DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except 3773 // it takes a Context and allows setting request options on the pages. 3774 // 3775 // The context must be non-nil and will be used for request cancellation. If 3776 // the context is nil a panic will occur. In the future the SDK may create 3777 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3778 // for more information on using Contexts. 3779 func (c *ElastiCache) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error { 3780 p := request.Pagination{ 3781 NewRequest: func() (*request.Request, error) { 3782 var inCpy *DescribeEngineDefaultParametersInput 3783 if input != nil { 3784 tmp := *input 3785 inCpy = &tmp 3786 } 3787 req, _ := c.DescribeEngineDefaultParametersRequest(inCpy) 3788 req.SetContext(ctx) 3789 req.ApplyOptions(opts...) 3790 return req, nil 3791 }, 3792 } 3793 3794 for p.Next() { 3795 if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) { 3796 break 3797 } 3798 } 3799 3800 return p.Err() 3801 } 3802 3803 const opDescribeEvents = "DescribeEvents" 3804 3805 // DescribeEventsRequest generates a "aws/request.Request" representing the 3806 // client's request for the DescribeEvents operation. The "output" return 3807 // value will be populated with the request's response once the request completes 3808 // successfully. 3809 // 3810 // Use "Send" method on the returned Request to send the API call to the service. 3811 // the "output" return value is not valid until after Send returns without error. 3812 // 3813 // See DescribeEvents for more information on using the DescribeEvents 3814 // API call, and error handling. 3815 // 3816 // This method is useful when you want to inject custom logic or configuration 3817 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3818 // 3819 // 3820 // // Example sending a request using the DescribeEventsRequest method. 3821 // req, resp := client.DescribeEventsRequest(params) 3822 // 3823 // err := req.Send() 3824 // if err == nil { // resp is now filled 3825 // fmt.Println(resp) 3826 // } 3827 // 3828 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3829 func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 3830 op := &request.Operation{ 3831 Name: opDescribeEvents, 3832 HTTPMethod: "POST", 3833 HTTPPath: "/", 3834 Paginator: &request.Paginator{ 3835 InputTokens: []string{"Marker"}, 3836 OutputTokens: []string{"Marker"}, 3837 LimitToken: "MaxRecords", 3838 TruncationToken: "", 3839 }, 3840 } 3841 3842 if input == nil { 3843 input = &DescribeEventsInput{} 3844 } 3845 3846 output = &DescribeEventsOutput{} 3847 req = c.newRequest(op, input, output) 3848 return 3849 } 3850 3851 // DescribeEvents API operation for Amazon ElastiCache. 3852 // 3853 // Returns events related to clusters, cache security groups, and cache parameter 3854 // groups. You can obtain events specific to a particular cluster, cache security 3855 // group, or cache parameter group by providing the name as a parameter. 3856 // 3857 // By default, only the events occurring within the last hour are returned; 3858 // however, you can retrieve up to 14 days' worth of events if necessary. 3859 // 3860 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3861 // with awserr.Error's Code and Message methods to get detailed information about 3862 // the error. 3863 // 3864 // See the AWS API reference guide for Amazon ElastiCache's 3865 // API operation DescribeEvents for usage and error information. 3866 // 3867 // Returned Error Codes: 3868 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3869 // The value for a parameter is invalid. 3870 // 3871 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3872 // Two or more incompatible parameters were specified. 3873 // 3874 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3875 func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 3876 req, out := c.DescribeEventsRequest(input) 3877 return out, req.Send() 3878 } 3879 3880 // DescribeEventsWithContext is the same as DescribeEvents with the addition of 3881 // the ability to pass a context and additional request options. 3882 // 3883 // See DescribeEvents for details on how to use this API operation. 3884 // 3885 // The context must be non-nil and will be used for request cancellation. If 3886 // the context is nil a panic will occur. In the future the SDK may create 3887 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3888 // for more information on using Contexts. 3889 func (c *ElastiCache) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 3890 req, out := c.DescribeEventsRequest(input) 3891 req.SetContext(ctx) 3892 req.ApplyOptions(opts...) 3893 return out, req.Send() 3894 } 3895 3896 // DescribeEventsPages iterates over the pages of a DescribeEvents operation, 3897 // calling the "fn" function with the response data for each page. To stop 3898 // iterating, return false from the fn function. 3899 // 3900 // See DescribeEvents method for more information on how to use this operation. 3901 // 3902 // Note: This operation can generate multiple requests to a service. 3903 // 3904 // // Example iterating over at most 3 pages of a DescribeEvents operation. 3905 // pageNum := 0 3906 // err := client.DescribeEventsPages(params, 3907 // func(page *elasticache.DescribeEventsOutput, lastPage bool) bool { 3908 // pageNum++ 3909 // fmt.Println(page) 3910 // return pageNum <= 3 3911 // }) 3912 // 3913 func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 3914 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 3915 } 3916 3917 // DescribeEventsPagesWithContext same as DescribeEventsPages except 3918 // it takes a Context and allows setting request options on the pages. 3919 // 3920 // The context must be non-nil and will be used for request cancellation. If 3921 // the context is nil a panic will occur. In the future the SDK may create 3922 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3923 // for more information on using Contexts. 3924 func (c *ElastiCache) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 3925 p := request.Pagination{ 3926 NewRequest: func() (*request.Request, error) { 3927 var inCpy *DescribeEventsInput 3928 if input != nil { 3929 tmp := *input 3930 inCpy = &tmp 3931 } 3932 req, _ := c.DescribeEventsRequest(inCpy) 3933 req.SetContext(ctx) 3934 req.ApplyOptions(opts...) 3935 return req, nil 3936 }, 3937 } 3938 3939 for p.Next() { 3940 if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { 3941 break 3942 } 3943 } 3944 3945 return p.Err() 3946 } 3947 3948 const opDescribeGlobalReplicationGroups = "DescribeGlobalReplicationGroups" 3949 3950 // DescribeGlobalReplicationGroupsRequest generates a "aws/request.Request" representing the 3951 // client's request for the DescribeGlobalReplicationGroups operation. The "output" return 3952 // value will be populated with the request's response once the request completes 3953 // successfully. 3954 // 3955 // Use "Send" method on the returned Request to send the API call to the service. 3956 // the "output" return value is not valid until after Send returns without error. 3957 // 3958 // See DescribeGlobalReplicationGroups for more information on using the DescribeGlobalReplicationGroups 3959 // API call, and error handling. 3960 // 3961 // This method is useful when you want to inject custom logic or configuration 3962 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 3963 // 3964 // 3965 // // Example sending a request using the DescribeGlobalReplicationGroupsRequest method. 3966 // req, resp := client.DescribeGlobalReplicationGroupsRequest(params) 3967 // 3968 // err := req.Send() 3969 // if err == nil { // resp is now filled 3970 // fmt.Println(resp) 3971 // } 3972 // 3973 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 3974 func (c *ElastiCache) DescribeGlobalReplicationGroupsRequest(input *DescribeGlobalReplicationGroupsInput) (req *request.Request, output *DescribeGlobalReplicationGroupsOutput) { 3975 op := &request.Operation{ 3976 Name: opDescribeGlobalReplicationGroups, 3977 HTTPMethod: "POST", 3978 HTTPPath: "/", 3979 Paginator: &request.Paginator{ 3980 InputTokens: []string{"Marker"}, 3981 OutputTokens: []string{"Marker"}, 3982 LimitToken: "MaxRecords", 3983 TruncationToken: "", 3984 }, 3985 } 3986 3987 if input == nil { 3988 input = &DescribeGlobalReplicationGroupsInput{} 3989 } 3990 3991 output = &DescribeGlobalReplicationGroupsOutput{} 3992 req = c.newRequest(op, input, output) 3993 return 3994 } 3995 3996 // DescribeGlobalReplicationGroups API operation for Amazon ElastiCache. 3997 // 3998 // Returns information about a particular global replication group. If no identifier 3999 // is specified, returns information about all Global datastores. 4000 // 4001 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4002 // with awserr.Error's Code and Message methods to get detailed information about 4003 // the error. 4004 // 4005 // See the AWS API reference guide for Amazon ElastiCache's 4006 // API operation DescribeGlobalReplicationGroups for usage and error information. 4007 // 4008 // Returned Error Codes: 4009 // * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4010 // The Global datastore does not exist 4011 // 4012 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4013 // The value for a parameter is invalid. 4014 // 4015 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4016 // Two or more incompatible parameters were specified. 4017 // 4018 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 4019 func (c *ElastiCache) DescribeGlobalReplicationGroups(input *DescribeGlobalReplicationGroupsInput) (*DescribeGlobalReplicationGroupsOutput, error) { 4020 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 4021 return out, req.Send() 4022 } 4023 4024 // DescribeGlobalReplicationGroupsWithContext is the same as DescribeGlobalReplicationGroups with the addition of 4025 // the ability to pass a context and additional request options. 4026 // 4027 // See DescribeGlobalReplicationGroups for details on how to use this API operation. 4028 // 4029 // The context must be non-nil and will be used for request cancellation. If 4030 // the context is nil a panic will occur. In the future the SDK may create 4031 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4032 // for more information on using Contexts. 4033 func (c *ElastiCache) DescribeGlobalReplicationGroupsWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, opts ...request.Option) (*DescribeGlobalReplicationGroupsOutput, error) { 4034 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 4035 req.SetContext(ctx) 4036 req.ApplyOptions(opts...) 4037 return out, req.Send() 4038 } 4039 4040 // DescribeGlobalReplicationGroupsPages iterates over the pages of a DescribeGlobalReplicationGroups operation, 4041 // calling the "fn" function with the response data for each page. To stop 4042 // iterating, return false from the fn function. 4043 // 4044 // See DescribeGlobalReplicationGroups method for more information on how to use this operation. 4045 // 4046 // Note: This operation can generate multiple requests to a service. 4047 // 4048 // // Example iterating over at most 3 pages of a DescribeGlobalReplicationGroups operation. 4049 // pageNum := 0 4050 // err := client.DescribeGlobalReplicationGroupsPages(params, 4051 // func(page *elasticache.DescribeGlobalReplicationGroupsOutput, lastPage bool) bool { 4052 // pageNum++ 4053 // fmt.Println(page) 4054 // return pageNum <= 3 4055 // }) 4056 // 4057 func (c *ElastiCache) DescribeGlobalReplicationGroupsPages(input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool) error { 4058 return c.DescribeGlobalReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 4059 } 4060 4061 // DescribeGlobalReplicationGroupsPagesWithContext same as DescribeGlobalReplicationGroupsPages except 4062 // it takes a Context and allows setting request options on the pages. 4063 // 4064 // The context must be non-nil and will be used for request cancellation. If 4065 // the context is nil a panic will occur. In the future the SDK may create 4066 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4067 // for more information on using Contexts. 4068 func (c *ElastiCache) DescribeGlobalReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 4069 p := request.Pagination{ 4070 NewRequest: func() (*request.Request, error) { 4071 var inCpy *DescribeGlobalReplicationGroupsInput 4072 if input != nil { 4073 tmp := *input 4074 inCpy = &tmp 4075 } 4076 req, _ := c.DescribeGlobalReplicationGroupsRequest(inCpy) 4077 req.SetContext(ctx) 4078 req.ApplyOptions(opts...) 4079 return req, nil 4080 }, 4081 } 4082 4083 for p.Next() { 4084 if !fn(p.Page().(*DescribeGlobalReplicationGroupsOutput), !p.HasNextPage()) { 4085 break 4086 } 4087 } 4088 4089 return p.Err() 4090 } 4091 4092 const opDescribeReplicationGroups = "DescribeReplicationGroups" 4093 4094 // DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the 4095 // client's request for the DescribeReplicationGroups operation. The "output" return 4096 // value will be populated with the request's response once the request completes 4097 // successfully. 4098 // 4099 // Use "Send" method on the returned Request to send the API call to the service. 4100 // the "output" return value is not valid until after Send returns without error. 4101 // 4102 // See DescribeReplicationGroups for more information on using the DescribeReplicationGroups 4103 // API call, and error handling. 4104 // 4105 // This method is useful when you want to inject custom logic or configuration 4106 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4107 // 4108 // 4109 // // Example sending a request using the DescribeReplicationGroupsRequest method. 4110 // req, resp := client.DescribeReplicationGroupsRequest(params) 4111 // 4112 // err := req.Send() 4113 // if err == nil { // resp is now filled 4114 // fmt.Println(resp) 4115 // } 4116 // 4117 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 4118 func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { 4119 op := &request.Operation{ 4120 Name: opDescribeReplicationGroups, 4121 HTTPMethod: "POST", 4122 HTTPPath: "/", 4123 Paginator: &request.Paginator{ 4124 InputTokens: []string{"Marker"}, 4125 OutputTokens: []string{"Marker"}, 4126 LimitToken: "MaxRecords", 4127 TruncationToken: "", 4128 }, 4129 } 4130 4131 if input == nil { 4132 input = &DescribeReplicationGroupsInput{} 4133 } 4134 4135 output = &DescribeReplicationGroupsOutput{} 4136 req = c.newRequest(op, input, output) 4137 return 4138 } 4139 4140 // DescribeReplicationGroups API operation for Amazon ElastiCache. 4141 // 4142 // Returns information about a particular replication group. If no identifier 4143 // is specified, DescribeReplicationGroups returns information about all replication 4144 // groups. 4145 // 4146 // This operation is valid for Redis only. 4147 // 4148 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4149 // with awserr.Error's Code and Message methods to get detailed information about 4150 // the error. 4151 // 4152 // See the AWS API reference guide for Amazon ElastiCache's 4153 // API operation DescribeReplicationGroups for usage and error information. 4154 // 4155 // Returned Error Codes: 4156 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4157 // The specified replication group does not exist. 4158 // 4159 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4160 // The value for a parameter is invalid. 4161 // 4162 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4163 // Two or more incompatible parameters were specified. 4164 // 4165 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 4166 func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { 4167 req, out := c.DescribeReplicationGroupsRequest(input) 4168 return out, req.Send() 4169 } 4170 4171 // DescribeReplicationGroupsWithContext is the same as DescribeReplicationGroups with the addition of 4172 // the ability to pass a context and additional request options. 4173 // 4174 // See DescribeReplicationGroups for details on how to use this API operation. 4175 // 4176 // The context must be non-nil and will be used for request cancellation. If 4177 // the context is nil a panic will occur. In the future the SDK may create 4178 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4179 // for more information on using Contexts. 4180 func (c *ElastiCache) DescribeReplicationGroupsWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, opts ...request.Option) (*DescribeReplicationGroupsOutput, error) { 4181 req, out := c.DescribeReplicationGroupsRequest(input) 4182 req.SetContext(ctx) 4183 req.ApplyOptions(opts...) 4184 return out, req.Send() 4185 } 4186 4187 // DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, 4188 // calling the "fn" function with the response data for each page. To stop 4189 // iterating, return false from the fn function. 4190 // 4191 // See DescribeReplicationGroups method for more information on how to use this operation. 4192 // 4193 // Note: This operation can generate multiple requests to a service. 4194 // 4195 // // Example iterating over at most 3 pages of a DescribeReplicationGroups operation. 4196 // pageNum := 0 4197 // err := client.DescribeReplicationGroupsPages(params, 4198 // func(page *elasticache.DescribeReplicationGroupsOutput, lastPage bool) bool { 4199 // pageNum++ 4200 // fmt.Println(page) 4201 // return pageNum <= 3 4202 // }) 4203 // 4204 func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool) error { 4205 return c.DescribeReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 4206 } 4207 4208 // DescribeReplicationGroupsPagesWithContext same as DescribeReplicationGroupsPages except 4209 // it takes a Context and allows setting request options on the pages. 4210 // 4211 // The context must be non-nil and will be used for request cancellation. If 4212 // the context is nil a panic will occur. In the future the SDK may create 4213 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4214 // for more information on using Contexts. 4215 func (c *ElastiCache) DescribeReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 4216 p := request.Pagination{ 4217 NewRequest: func() (*request.Request, error) { 4218 var inCpy *DescribeReplicationGroupsInput 4219 if input != nil { 4220 tmp := *input 4221 inCpy = &tmp 4222 } 4223 req, _ := c.DescribeReplicationGroupsRequest(inCpy) 4224 req.SetContext(ctx) 4225 req.ApplyOptions(opts...) 4226 return req, nil 4227 }, 4228 } 4229 4230 for p.Next() { 4231 if !fn(p.Page().(*DescribeReplicationGroupsOutput), !p.HasNextPage()) { 4232 break 4233 } 4234 } 4235 4236 return p.Err() 4237 } 4238 4239 const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" 4240 4241 // DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the 4242 // client's request for the DescribeReservedCacheNodes operation. The "output" return 4243 // value will be populated with the request's response once the request completes 4244 // successfully. 4245 // 4246 // Use "Send" method on the returned Request to send the API call to the service. 4247 // the "output" return value is not valid until after Send returns without error. 4248 // 4249 // See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes 4250 // API call, and error handling. 4251 // 4252 // This method is useful when you want to inject custom logic or configuration 4253 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4254 // 4255 // 4256 // // Example sending a request using the DescribeReservedCacheNodesRequest method. 4257 // req, resp := client.DescribeReservedCacheNodesRequest(params) 4258 // 4259 // err := req.Send() 4260 // if err == nil { // resp is now filled 4261 // fmt.Println(resp) 4262 // } 4263 // 4264 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 4265 func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { 4266 op := &request.Operation{ 4267 Name: opDescribeReservedCacheNodes, 4268 HTTPMethod: "POST", 4269 HTTPPath: "/", 4270 Paginator: &request.Paginator{ 4271 InputTokens: []string{"Marker"}, 4272 OutputTokens: []string{"Marker"}, 4273 LimitToken: "MaxRecords", 4274 TruncationToken: "", 4275 }, 4276 } 4277 4278 if input == nil { 4279 input = &DescribeReservedCacheNodesInput{} 4280 } 4281 4282 output = &DescribeReservedCacheNodesOutput{} 4283 req = c.newRequest(op, input, output) 4284 return 4285 } 4286 4287 // DescribeReservedCacheNodes API operation for Amazon ElastiCache. 4288 // 4289 // Returns information about reserved cache nodes for this account, or about 4290 // a specified reserved cache node. 4291 // 4292 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4293 // with awserr.Error's Code and Message methods to get detailed information about 4294 // the error. 4295 // 4296 // See the AWS API reference guide for Amazon ElastiCache's 4297 // API operation DescribeReservedCacheNodes for usage and error information. 4298 // 4299 // Returned Error Codes: 4300 // * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 4301 // The requested reserved cache node was not found. 4302 // 4303 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4304 // The value for a parameter is invalid. 4305 // 4306 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4307 // Two or more incompatible parameters were specified. 4308 // 4309 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 4310 func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { 4311 req, out := c.DescribeReservedCacheNodesRequest(input) 4312 return out, req.Send() 4313 } 4314 4315 // DescribeReservedCacheNodesWithContext is the same as DescribeReservedCacheNodes with the addition of 4316 // the ability to pass a context and additional request options. 4317 // 4318 // See DescribeReservedCacheNodes for details on how to use this API operation. 4319 // 4320 // The context must be non-nil and will be used for request cancellation. If 4321 // the context is nil a panic will occur. In the future the SDK may create 4322 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4323 // for more information on using Contexts. 4324 func (c *ElastiCache) DescribeReservedCacheNodesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, opts ...request.Option) (*DescribeReservedCacheNodesOutput, error) { 4325 req, out := c.DescribeReservedCacheNodesRequest(input) 4326 req.SetContext(ctx) 4327 req.ApplyOptions(opts...) 4328 return out, req.Send() 4329 } 4330 4331 // DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, 4332 // calling the "fn" function with the response data for each page. To stop 4333 // iterating, return false from the fn function. 4334 // 4335 // See DescribeReservedCacheNodes method for more information on how to use this operation. 4336 // 4337 // Note: This operation can generate multiple requests to a service. 4338 // 4339 // // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation. 4340 // pageNum := 0 4341 // err := client.DescribeReservedCacheNodesPages(params, 4342 // func(page *elasticache.DescribeReservedCacheNodesOutput, lastPage bool) bool { 4343 // pageNum++ 4344 // fmt.Println(page) 4345 // return pageNum <= 3 4346 // }) 4347 // 4348 func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool) error { 4349 return c.DescribeReservedCacheNodesPagesWithContext(aws.BackgroundContext(), input, fn) 4350 } 4351 4352 // DescribeReservedCacheNodesPagesWithContext same as DescribeReservedCacheNodesPages except 4353 // it takes a Context and allows setting request options on the pages. 4354 // 4355 // The context must be non-nil and will be used for request cancellation. If 4356 // the context is nil a panic will occur. In the future the SDK may create 4357 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4358 // for more information on using Contexts. 4359 func (c *ElastiCache) DescribeReservedCacheNodesPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool, opts ...request.Option) error { 4360 p := request.Pagination{ 4361 NewRequest: func() (*request.Request, error) { 4362 var inCpy *DescribeReservedCacheNodesInput 4363 if input != nil { 4364 tmp := *input 4365 inCpy = &tmp 4366 } 4367 req, _ := c.DescribeReservedCacheNodesRequest(inCpy) 4368 req.SetContext(ctx) 4369 req.ApplyOptions(opts...) 4370 return req, nil 4371 }, 4372 } 4373 4374 for p.Next() { 4375 if !fn(p.Page().(*DescribeReservedCacheNodesOutput), !p.HasNextPage()) { 4376 break 4377 } 4378 } 4379 4380 return p.Err() 4381 } 4382 4383 const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" 4384 4385 // DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the 4386 // client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return 4387 // value will be populated with the request's response once the request completes 4388 // successfully. 4389 // 4390 // Use "Send" method on the returned Request to send the API call to the service. 4391 // the "output" return value is not valid until after Send returns without error. 4392 // 4393 // See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings 4394 // API call, and error handling. 4395 // 4396 // This method is useful when you want to inject custom logic or configuration 4397 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4398 // 4399 // 4400 // // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. 4401 // req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) 4402 // 4403 // err := req.Send() 4404 // if err == nil { // resp is now filled 4405 // fmt.Println(resp) 4406 // } 4407 // 4408 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 4409 func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { 4410 op := &request.Operation{ 4411 Name: opDescribeReservedCacheNodesOfferings, 4412 HTTPMethod: "POST", 4413 HTTPPath: "/", 4414 Paginator: &request.Paginator{ 4415 InputTokens: []string{"Marker"}, 4416 OutputTokens: []string{"Marker"}, 4417 LimitToken: "MaxRecords", 4418 TruncationToken: "", 4419 }, 4420 } 4421 4422 if input == nil { 4423 input = &DescribeReservedCacheNodesOfferingsInput{} 4424 } 4425 4426 output = &DescribeReservedCacheNodesOfferingsOutput{} 4427 req = c.newRequest(op, input, output) 4428 return 4429 } 4430 4431 // DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. 4432 // 4433 // Lists available reserved cache node offerings. 4434 // 4435 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4436 // with awserr.Error's Code and Message methods to get detailed information about 4437 // the error. 4438 // 4439 // See the AWS API reference guide for Amazon ElastiCache's 4440 // API operation DescribeReservedCacheNodesOfferings for usage and error information. 4441 // 4442 // Returned Error Codes: 4443 // * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 4444 // The requested cache node offering does not exist. 4445 // 4446 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4447 // The value for a parameter is invalid. 4448 // 4449 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4450 // Two or more incompatible parameters were specified. 4451 // 4452 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 4453 func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { 4454 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 4455 return out, req.Send() 4456 } 4457 4458 // DescribeReservedCacheNodesOfferingsWithContext is the same as DescribeReservedCacheNodesOfferings with the addition of 4459 // the ability to pass a context and additional request options. 4460 // 4461 // See DescribeReservedCacheNodesOfferings for details on how to use this API operation. 4462 // 4463 // The context must be non-nil and will be used for request cancellation. If 4464 // the context is nil a panic will occur. In the future the SDK may create 4465 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4466 // for more information on using Contexts. 4467 func (c *ElastiCache) DescribeReservedCacheNodesOfferingsWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, opts ...request.Option) (*DescribeReservedCacheNodesOfferingsOutput, error) { 4468 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 4469 req.SetContext(ctx) 4470 req.ApplyOptions(opts...) 4471 return out, req.Send() 4472 } 4473 4474 // DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, 4475 // calling the "fn" function with the response data for each page. To stop 4476 // iterating, return false from the fn function. 4477 // 4478 // See DescribeReservedCacheNodesOfferings method for more information on how to use this operation. 4479 // 4480 // Note: This operation can generate multiple requests to a service. 4481 // 4482 // // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation. 4483 // pageNum := 0 4484 // err := client.DescribeReservedCacheNodesOfferingsPages(params, 4485 // func(page *elasticache.DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { 4486 // pageNum++ 4487 // fmt.Println(page) 4488 // return pageNum <= 3 4489 // }) 4490 // 4491 func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool) error { 4492 return c.DescribeReservedCacheNodesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 4493 } 4494 4495 // DescribeReservedCacheNodesOfferingsPagesWithContext same as DescribeReservedCacheNodesOfferingsPages except 4496 // it takes a Context and allows setting request options on the pages. 4497 // 4498 // The context must be non-nil and will be used for request cancellation. If 4499 // the context is nil a panic will occur. In the future the SDK may create 4500 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4501 // for more information on using Contexts. 4502 func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool, opts ...request.Option) error { 4503 p := request.Pagination{ 4504 NewRequest: func() (*request.Request, error) { 4505 var inCpy *DescribeReservedCacheNodesOfferingsInput 4506 if input != nil { 4507 tmp := *input 4508 inCpy = &tmp 4509 } 4510 req, _ := c.DescribeReservedCacheNodesOfferingsRequest(inCpy) 4511 req.SetContext(ctx) 4512 req.ApplyOptions(opts...) 4513 return req, nil 4514 }, 4515 } 4516 4517 for p.Next() { 4518 if !fn(p.Page().(*DescribeReservedCacheNodesOfferingsOutput), !p.HasNextPage()) { 4519 break 4520 } 4521 } 4522 4523 return p.Err() 4524 } 4525 4526 const opDescribeServiceUpdates = "DescribeServiceUpdates" 4527 4528 // DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the 4529 // client's request for the DescribeServiceUpdates operation. The "output" return 4530 // value will be populated with the request's response once the request completes 4531 // successfully. 4532 // 4533 // Use "Send" method on the returned Request to send the API call to the service. 4534 // the "output" return value is not valid until after Send returns without error. 4535 // 4536 // See DescribeServiceUpdates for more information on using the DescribeServiceUpdates 4537 // API call, and error handling. 4538 // 4539 // This method is useful when you want to inject custom logic or configuration 4540 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4541 // 4542 // 4543 // // Example sending a request using the DescribeServiceUpdatesRequest method. 4544 // req, resp := client.DescribeServiceUpdatesRequest(params) 4545 // 4546 // err := req.Send() 4547 // if err == nil { // resp is now filled 4548 // fmt.Println(resp) 4549 // } 4550 // 4551 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4552 func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { 4553 op := &request.Operation{ 4554 Name: opDescribeServiceUpdates, 4555 HTTPMethod: "POST", 4556 HTTPPath: "/", 4557 Paginator: &request.Paginator{ 4558 InputTokens: []string{"Marker"}, 4559 OutputTokens: []string{"Marker"}, 4560 LimitToken: "MaxRecords", 4561 TruncationToken: "", 4562 }, 4563 } 4564 4565 if input == nil { 4566 input = &DescribeServiceUpdatesInput{} 4567 } 4568 4569 output = &DescribeServiceUpdatesOutput{} 4570 req = c.newRequest(op, input, output) 4571 return 4572 } 4573 4574 // DescribeServiceUpdates API operation for Amazon ElastiCache. 4575 // 4576 // Returns details of the service updates 4577 // 4578 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4579 // with awserr.Error's Code and Message methods to get detailed information about 4580 // the error. 4581 // 4582 // See the AWS API reference guide for Amazon ElastiCache's 4583 // API operation DescribeServiceUpdates for usage and error information. 4584 // 4585 // Returned Error Codes: 4586 // * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 4587 // The service update doesn't exist 4588 // 4589 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4590 // The value for a parameter is invalid. 4591 // 4592 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4593 // Two or more incompatible parameters were specified. 4594 // 4595 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4596 func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { 4597 req, out := c.DescribeServiceUpdatesRequest(input) 4598 return out, req.Send() 4599 } 4600 4601 // DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of 4602 // the ability to pass a context and additional request options. 4603 // 4604 // See DescribeServiceUpdates for details on how to use this API operation. 4605 // 4606 // The context must be non-nil and will be used for request cancellation. If 4607 // the context is nil a panic will occur. In the future the SDK may create 4608 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4609 // for more information on using Contexts. 4610 func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { 4611 req, out := c.DescribeServiceUpdatesRequest(input) 4612 req.SetContext(ctx) 4613 req.ApplyOptions(opts...) 4614 return out, req.Send() 4615 } 4616 4617 // DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, 4618 // calling the "fn" function with the response data for each page. To stop 4619 // iterating, return false from the fn function. 4620 // 4621 // See DescribeServiceUpdates method for more information on how to use this operation. 4622 // 4623 // Note: This operation can generate multiple requests to a service. 4624 // 4625 // // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. 4626 // pageNum := 0 4627 // err := client.DescribeServiceUpdatesPages(params, 4628 // func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { 4629 // pageNum++ 4630 // fmt.Println(page) 4631 // return pageNum <= 3 4632 // }) 4633 // 4634 func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { 4635 return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 4636 } 4637 4638 // DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except 4639 // it takes a Context and allows setting request options on the pages. 4640 // 4641 // The context must be non-nil and will be used for request cancellation. If 4642 // the context is nil a panic will occur. In the future the SDK may create 4643 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4644 // for more information on using Contexts. 4645 func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { 4646 p := request.Pagination{ 4647 NewRequest: func() (*request.Request, error) { 4648 var inCpy *DescribeServiceUpdatesInput 4649 if input != nil { 4650 tmp := *input 4651 inCpy = &tmp 4652 } 4653 req, _ := c.DescribeServiceUpdatesRequest(inCpy) 4654 req.SetContext(ctx) 4655 req.ApplyOptions(opts...) 4656 return req, nil 4657 }, 4658 } 4659 4660 for p.Next() { 4661 if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { 4662 break 4663 } 4664 } 4665 4666 return p.Err() 4667 } 4668 4669 const opDescribeSnapshots = "DescribeSnapshots" 4670 4671 // DescribeSnapshotsRequest generates a "aws/request.Request" representing the 4672 // client's request for the DescribeSnapshots operation. The "output" return 4673 // value will be populated with the request's response once the request completes 4674 // successfully. 4675 // 4676 // Use "Send" method on the returned Request to send the API call to the service. 4677 // the "output" return value is not valid until after Send returns without error. 4678 // 4679 // See DescribeSnapshots for more information on using the DescribeSnapshots 4680 // API call, and error handling. 4681 // 4682 // This method is useful when you want to inject custom logic or configuration 4683 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4684 // 4685 // 4686 // // Example sending a request using the DescribeSnapshotsRequest method. 4687 // req, resp := client.DescribeSnapshotsRequest(params) 4688 // 4689 // err := req.Send() 4690 // if err == nil { // resp is now filled 4691 // fmt.Println(resp) 4692 // } 4693 // 4694 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4695 func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { 4696 op := &request.Operation{ 4697 Name: opDescribeSnapshots, 4698 HTTPMethod: "POST", 4699 HTTPPath: "/", 4700 Paginator: &request.Paginator{ 4701 InputTokens: []string{"Marker"}, 4702 OutputTokens: []string{"Marker"}, 4703 LimitToken: "MaxRecords", 4704 TruncationToken: "", 4705 }, 4706 } 4707 4708 if input == nil { 4709 input = &DescribeSnapshotsInput{} 4710 } 4711 4712 output = &DescribeSnapshotsOutput{} 4713 req = c.newRequest(op, input, output) 4714 return 4715 } 4716 4717 // DescribeSnapshots API operation for Amazon ElastiCache. 4718 // 4719 // Returns information about cluster or replication group snapshots. By default, 4720 // DescribeSnapshots lists all of your snapshots; it can optionally describe 4721 // a single snapshot, or just the snapshots associated with a particular cache 4722 // cluster. 4723 // 4724 // This operation is valid for Redis only. 4725 // 4726 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4727 // with awserr.Error's Code and Message methods to get detailed information about 4728 // the error. 4729 // 4730 // See the AWS API reference guide for Amazon ElastiCache's 4731 // API operation DescribeSnapshots for usage and error information. 4732 // 4733 // Returned Error Codes: 4734 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4735 // The requested cluster ID does not refer to an existing cluster. 4736 // 4737 // * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 4738 // The requested snapshot name does not refer to an existing snapshot. 4739 // 4740 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4741 // The value for a parameter is invalid. 4742 // 4743 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4744 // Two or more incompatible parameters were specified. 4745 // 4746 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4747 func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { 4748 req, out := c.DescribeSnapshotsRequest(input) 4749 return out, req.Send() 4750 } 4751 4752 // DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of 4753 // the ability to pass a context and additional request options. 4754 // 4755 // See DescribeSnapshots for details on how to use this API operation. 4756 // 4757 // The context must be non-nil and will be used for request cancellation. If 4758 // the context is nil a panic will occur. In the future the SDK may create 4759 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4760 // for more information on using Contexts. 4761 func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { 4762 req, out := c.DescribeSnapshotsRequest(input) 4763 req.SetContext(ctx) 4764 req.ApplyOptions(opts...) 4765 return out, req.Send() 4766 } 4767 4768 // DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, 4769 // calling the "fn" function with the response data for each page. To stop 4770 // iterating, return false from the fn function. 4771 // 4772 // See DescribeSnapshots method for more information on how to use this operation. 4773 // 4774 // Note: This operation can generate multiple requests to a service. 4775 // 4776 // // Example iterating over at most 3 pages of a DescribeSnapshots operation. 4777 // pageNum := 0 4778 // err := client.DescribeSnapshotsPages(params, 4779 // func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { 4780 // pageNum++ 4781 // fmt.Println(page) 4782 // return pageNum <= 3 4783 // }) 4784 // 4785 func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { 4786 return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 4787 } 4788 4789 // DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except 4790 // it takes a Context and allows setting request options on the pages. 4791 // 4792 // The context must be non-nil and will be used for request cancellation. If 4793 // the context is nil a panic will occur. In the future the SDK may create 4794 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4795 // for more information on using Contexts. 4796 func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { 4797 p := request.Pagination{ 4798 NewRequest: func() (*request.Request, error) { 4799 var inCpy *DescribeSnapshotsInput 4800 if input != nil { 4801 tmp := *input 4802 inCpy = &tmp 4803 } 4804 req, _ := c.DescribeSnapshotsRequest(inCpy) 4805 req.SetContext(ctx) 4806 req.ApplyOptions(opts...) 4807 return req, nil 4808 }, 4809 } 4810 4811 for p.Next() { 4812 if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { 4813 break 4814 } 4815 } 4816 4817 return p.Err() 4818 } 4819 4820 const opDescribeUpdateActions = "DescribeUpdateActions" 4821 4822 // DescribeUpdateActionsRequest generates a "aws/request.Request" representing the 4823 // client's request for the DescribeUpdateActions operation. The "output" return 4824 // value will be populated with the request's response once the request completes 4825 // successfully. 4826 // 4827 // Use "Send" method on the returned Request to send the API call to the service. 4828 // the "output" return value is not valid until after Send returns without error. 4829 // 4830 // See DescribeUpdateActions for more information on using the DescribeUpdateActions 4831 // API call, and error handling. 4832 // 4833 // This method is useful when you want to inject custom logic or configuration 4834 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4835 // 4836 // 4837 // // Example sending a request using the DescribeUpdateActionsRequest method. 4838 // req, resp := client.DescribeUpdateActionsRequest(params) 4839 // 4840 // err := req.Send() 4841 // if err == nil { // resp is now filled 4842 // fmt.Println(resp) 4843 // } 4844 // 4845 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4846 func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { 4847 op := &request.Operation{ 4848 Name: opDescribeUpdateActions, 4849 HTTPMethod: "POST", 4850 HTTPPath: "/", 4851 Paginator: &request.Paginator{ 4852 InputTokens: []string{"Marker"}, 4853 OutputTokens: []string{"Marker"}, 4854 LimitToken: "MaxRecords", 4855 TruncationToken: "", 4856 }, 4857 } 4858 4859 if input == nil { 4860 input = &DescribeUpdateActionsInput{} 4861 } 4862 4863 output = &DescribeUpdateActionsOutput{} 4864 req = c.newRequest(op, input, output) 4865 return 4866 } 4867 4868 // DescribeUpdateActions API operation for Amazon ElastiCache. 4869 // 4870 // Returns details of the update actions 4871 // 4872 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4873 // with awserr.Error's Code and Message methods to get detailed information about 4874 // the error. 4875 // 4876 // See the AWS API reference guide for Amazon ElastiCache's 4877 // API operation DescribeUpdateActions for usage and error information. 4878 // 4879 // Returned Error Codes: 4880 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4881 // The value for a parameter is invalid. 4882 // 4883 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4884 // Two or more incompatible parameters were specified. 4885 // 4886 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4887 func (c *ElastiCache) DescribeUpdateActions(input *DescribeUpdateActionsInput) (*DescribeUpdateActionsOutput, error) { 4888 req, out := c.DescribeUpdateActionsRequest(input) 4889 return out, req.Send() 4890 } 4891 4892 // DescribeUpdateActionsWithContext is the same as DescribeUpdateActions with the addition of 4893 // the ability to pass a context and additional request options. 4894 // 4895 // See DescribeUpdateActions for details on how to use this API operation. 4896 // 4897 // The context must be non-nil and will be used for request cancellation. If 4898 // the context is nil a panic will occur. In the future the SDK may create 4899 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4900 // for more information on using Contexts. 4901 func (c *ElastiCache) DescribeUpdateActionsWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, opts ...request.Option) (*DescribeUpdateActionsOutput, error) { 4902 req, out := c.DescribeUpdateActionsRequest(input) 4903 req.SetContext(ctx) 4904 req.ApplyOptions(opts...) 4905 return out, req.Send() 4906 } 4907 4908 // DescribeUpdateActionsPages iterates over the pages of a DescribeUpdateActions operation, 4909 // calling the "fn" function with the response data for each page. To stop 4910 // iterating, return false from the fn function. 4911 // 4912 // See DescribeUpdateActions method for more information on how to use this operation. 4913 // 4914 // Note: This operation can generate multiple requests to a service. 4915 // 4916 // // Example iterating over at most 3 pages of a DescribeUpdateActions operation. 4917 // pageNum := 0 4918 // err := client.DescribeUpdateActionsPages(params, 4919 // func(page *elasticache.DescribeUpdateActionsOutput, lastPage bool) bool { 4920 // pageNum++ 4921 // fmt.Println(page) 4922 // return pageNum <= 3 4923 // }) 4924 // 4925 func (c *ElastiCache) DescribeUpdateActionsPages(input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool) error { 4926 return c.DescribeUpdateActionsPagesWithContext(aws.BackgroundContext(), input, fn) 4927 } 4928 4929 // DescribeUpdateActionsPagesWithContext same as DescribeUpdateActionsPages except 4930 // it takes a Context and allows setting request options on the pages. 4931 // 4932 // The context must be non-nil and will be used for request cancellation. If 4933 // the context is nil a panic will occur. In the future the SDK may create 4934 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4935 // for more information on using Contexts. 4936 func (c *ElastiCache) DescribeUpdateActionsPagesWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool, opts ...request.Option) error { 4937 p := request.Pagination{ 4938 NewRequest: func() (*request.Request, error) { 4939 var inCpy *DescribeUpdateActionsInput 4940 if input != nil { 4941 tmp := *input 4942 inCpy = &tmp 4943 } 4944 req, _ := c.DescribeUpdateActionsRequest(inCpy) 4945 req.SetContext(ctx) 4946 req.ApplyOptions(opts...) 4947 return req, nil 4948 }, 4949 } 4950 4951 for p.Next() { 4952 if !fn(p.Page().(*DescribeUpdateActionsOutput), !p.HasNextPage()) { 4953 break 4954 } 4955 } 4956 4957 return p.Err() 4958 } 4959 4960 const opDescribeUserGroups = "DescribeUserGroups" 4961 4962 // DescribeUserGroupsRequest generates a "aws/request.Request" representing the 4963 // client's request for the DescribeUserGroups operation. The "output" return 4964 // value will be populated with the request's response once the request completes 4965 // successfully. 4966 // 4967 // Use "Send" method on the returned Request to send the API call to the service. 4968 // the "output" return value is not valid until after Send returns without error. 4969 // 4970 // See DescribeUserGroups for more information on using the DescribeUserGroups 4971 // API call, and error handling. 4972 // 4973 // This method is useful when you want to inject custom logic or configuration 4974 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 4975 // 4976 // 4977 // // Example sending a request using the DescribeUserGroupsRequest method. 4978 // req, resp := client.DescribeUserGroupsRequest(params) 4979 // 4980 // err := req.Send() 4981 // if err == nil { // resp is now filled 4982 // fmt.Println(resp) 4983 // } 4984 // 4985 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroups 4986 func (c *ElastiCache) DescribeUserGroupsRequest(input *DescribeUserGroupsInput) (req *request.Request, output *DescribeUserGroupsOutput) { 4987 op := &request.Operation{ 4988 Name: opDescribeUserGroups, 4989 HTTPMethod: "POST", 4990 HTTPPath: "/", 4991 Paginator: &request.Paginator{ 4992 InputTokens: []string{"Marker"}, 4993 OutputTokens: []string{"Marker"}, 4994 LimitToken: "MaxRecords", 4995 TruncationToken: "", 4996 }, 4997 } 4998 4999 if input == nil { 5000 input = &DescribeUserGroupsInput{} 5001 } 5002 5003 output = &DescribeUserGroupsOutput{} 5004 req = c.newRequest(op, input, output) 5005 return 5006 } 5007 5008 // DescribeUserGroups API operation for Amazon ElastiCache. 5009 // 5010 // Returns a list of user groups. 5011 // 5012 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5013 // with awserr.Error's Code and Message methods to get detailed information about 5014 // the error. 5015 // 5016 // See the AWS API reference guide for Amazon ElastiCache's 5017 // API operation DescribeUserGroups for usage and error information. 5018 // 5019 // Returned Error Codes: 5020 // * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 5021 // The user group was not found or does not exist 5022 // 5023 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5024 // Two or more incompatible parameters were specified. 5025 // 5026 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUserGroups 5027 func (c *ElastiCache) DescribeUserGroups(input *DescribeUserGroupsInput) (*DescribeUserGroupsOutput, error) { 5028 req, out := c.DescribeUserGroupsRequest(input) 5029 return out, req.Send() 5030 } 5031 5032 // DescribeUserGroupsWithContext is the same as DescribeUserGroups with the addition of 5033 // the ability to pass a context and additional request options. 5034 // 5035 // See DescribeUserGroups for details on how to use this API operation. 5036 // 5037 // The context must be non-nil and will be used for request cancellation. If 5038 // the context is nil a panic will occur. In the future the SDK may create 5039 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5040 // for more information on using Contexts. 5041 func (c *ElastiCache) DescribeUserGroupsWithContext(ctx aws.Context, input *DescribeUserGroupsInput, opts ...request.Option) (*DescribeUserGroupsOutput, error) { 5042 req, out := c.DescribeUserGroupsRequest(input) 5043 req.SetContext(ctx) 5044 req.ApplyOptions(opts...) 5045 return out, req.Send() 5046 } 5047 5048 // DescribeUserGroupsPages iterates over the pages of a DescribeUserGroups operation, 5049 // calling the "fn" function with the response data for each page. To stop 5050 // iterating, return false from the fn function. 5051 // 5052 // See DescribeUserGroups method for more information on how to use this operation. 5053 // 5054 // Note: This operation can generate multiple requests to a service. 5055 // 5056 // // Example iterating over at most 3 pages of a DescribeUserGroups operation. 5057 // pageNum := 0 5058 // err := client.DescribeUserGroupsPages(params, 5059 // func(page *elasticache.DescribeUserGroupsOutput, lastPage bool) bool { 5060 // pageNum++ 5061 // fmt.Println(page) 5062 // return pageNum <= 3 5063 // }) 5064 // 5065 func (c *ElastiCache) DescribeUserGroupsPages(input *DescribeUserGroupsInput, fn func(*DescribeUserGroupsOutput, bool) bool) error { 5066 return c.DescribeUserGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 5067 } 5068 5069 // DescribeUserGroupsPagesWithContext same as DescribeUserGroupsPages except 5070 // it takes a Context and allows setting request options on the pages. 5071 // 5072 // The context must be non-nil and will be used for request cancellation. If 5073 // the context is nil a panic will occur. In the future the SDK may create 5074 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5075 // for more information on using Contexts. 5076 func (c *ElastiCache) DescribeUserGroupsPagesWithContext(ctx aws.Context, input *DescribeUserGroupsInput, fn func(*DescribeUserGroupsOutput, bool) bool, opts ...request.Option) error { 5077 p := request.Pagination{ 5078 NewRequest: func() (*request.Request, error) { 5079 var inCpy *DescribeUserGroupsInput 5080 if input != nil { 5081 tmp := *input 5082 inCpy = &tmp 5083 } 5084 req, _ := c.DescribeUserGroupsRequest(inCpy) 5085 req.SetContext(ctx) 5086 req.ApplyOptions(opts...) 5087 return req, nil 5088 }, 5089 } 5090 5091 for p.Next() { 5092 if !fn(p.Page().(*DescribeUserGroupsOutput), !p.HasNextPage()) { 5093 break 5094 } 5095 } 5096 5097 return p.Err() 5098 } 5099 5100 const opDescribeUsers = "DescribeUsers" 5101 5102 // DescribeUsersRequest generates a "aws/request.Request" representing the 5103 // client's request for the DescribeUsers operation. The "output" return 5104 // value will be populated with the request's response once the request completes 5105 // successfully. 5106 // 5107 // Use "Send" method on the returned Request to send the API call to the service. 5108 // the "output" return value is not valid until after Send returns without error. 5109 // 5110 // See DescribeUsers for more information on using the DescribeUsers 5111 // API call, and error handling. 5112 // 5113 // This method is useful when you want to inject custom logic or configuration 5114 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5115 // 5116 // 5117 // // Example sending a request using the DescribeUsersRequest method. 5118 // req, resp := client.DescribeUsersRequest(params) 5119 // 5120 // err := req.Send() 5121 // if err == nil { // resp is now filled 5122 // fmt.Println(resp) 5123 // } 5124 // 5125 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsers 5126 func (c *ElastiCache) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) { 5127 op := &request.Operation{ 5128 Name: opDescribeUsers, 5129 HTTPMethod: "POST", 5130 HTTPPath: "/", 5131 Paginator: &request.Paginator{ 5132 InputTokens: []string{"Marker"}, 5133 OutputTokens: []string{"Marker"}, 5134 LimitToken: "MaxRecords", 5135 TruncationToken: "", 5136 }, 5137 } 5138 5139 if input == nil { 5140 input = &DescribeUsersInput{} 5141 } 5142 5143 output = &DescribeUsersOutput{} 5144 req = c.newRequest(op, input, output) 5145 return 5146 } 5147 5148 // DescribeUsers API operation for Amazon ElastiCache. 5149 // 5150 // Returns a list of users. 5151 // 5152 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5153 // with awserr.Error's Code and Message methods to get detailed information about 5154 // the error. 5155 // 5156 // See the AWS API reference guide for Amazon ElastiCache's 5157 // API operation DescribeUsers for usage and error information. 5158 // 5159 // Returned Error Codes: 5160 // * ErrCodeUserNotFoundFault "UserNotFound" 5161 // The user does not exist or could not be found. 5162 // 5163 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5164 // Two or more incompatible parameters were specified. 5165 // 5166 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUsers 5167 func (c *ElastiCache) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) { 5168 req, out := c.DescribeUsersRequest(input) 5169 return out, req.Send() 5170 } 5171 5172 // DescribeUsersWithContext is the same as DescribeUsers with the addition of 5173 // the ability to pass a context and additional request options. 5174 // 5175 // See DescribeUsers for details on how to use this API operation. 5176 // 5177 // The context must be non-nil and will be used for request cancellation. If 5178 // the context is nil a panic will occur. In the future the SDK may create 5179 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5180 // for more information on using Contexts. 5181 func (c *ElastiCache) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) { 5182 req, out := c.DescribeUsersRequest(input) 5183 req.SetContext(ctx) 5184 req.ApplyOptions(opts...) 5185 return out, req.Send() 5186 } 5187 5188 // DescribeUsersPages iterates over the pages of a DescribeUsers operation, 5189 // calling the "fn" function with the response data for each page. To stop 5190 // iterating, return false from the fn function. 5191 // 5192 // See DescribeUsers method for more information on how to use this operation. 5193 // 5194 // Note: This operation can generate multiple requests to a service. 5195 // 5196 // // Example iterating over at most 3 pages of a DescribeUsers operation. 5197 // pageNum := 0 5198 // err := client.DescribeUsersPages(params, 5199 // func(page *elasticache.DescribeUsersOutput, lastPage bool) bool { 5200 // pageNum++ 5201 // fmt.Println(page) 5202 // return pageNum <= 3 5203 // }) 5204 // 5205 func (c *ElastiCache) DescribeUsersPages(input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool) error { 5206 return c.DescribeUsersPagesWithContext(aws.BackgroundContext(), input, fn) 5207 } 5208 5209 // DescribeUsersPagesWithContext same as DescribeUsersPages except 5210 // it takes a Context and allows setting request options on the pages. 5211 // 5212 // The context must be non-nil and will be used for request cancellation. If 5213 // the context is nil a panic will occur. In the future the SDK may create 5214 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5215 // for more information on using Contexts. 5216 func (c *ElastiCache) DescribeUsersPagesWithContext(ctx aws.Context, input *DescribeUsersInput, fn func(*DescribeUsersOutput, bool) bool, opts ...request.Option) error { 5217 p := request.Pagination{ 5218 NewRequest: func() (*request.Request, error) { 5219 var inCpy *DescribeUsersInput 5220 if input != nil { 5221 tmp := *input 5222 inCpy = &tmp 5223 } 5224 req, _ := c.DescribeUsersRequest(inCpy) 5225 req.SetContext(ctx) 5226 req.ApplyOptions(opts...) 5227 return req, nil 5228 }, 5229 } 5230 5231 for p.Next() { 5232 if !fn(p.Page().(*DescribeUsersOutput), !p.HasNextPage()) { 5233 break 5234 } 5235 } 5236 5237 return p.Err() 5238 } 5239 5240 const opDisassociateGlobalReplicationGroup = "DisassociateGlobalReplicationGroup" 5241 5242 // DisassociateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5243 // client's request for the DisassociateGlobalReplicationGroup operation. The "output" return 5244 // value will be populated with the request's response once the request completes 5245 // successfully. 5246 // 5247 // Use "Send" method on the returned Request to send the API call to the service. 5248 // the "output" return value is not valid until after Send returns without error. 5249 // 5250 // See DisassociateGlobalReplicationGroup for more information on using the DisassociateGlobalReplicationGroup 5251 // API call, and error handling. 5252 // 5253 // This method is useful when you want to inject custom logic or configuration 5254 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5255 // 5256 // 5257 // // Example sending a request using the DisassociateGlobalReplicationGroupRequest method. 5258 // req, resp := client.DisassociateGlobalReplicationGroupRequest(params) 5259 // 5260 // err := req.Send() 5261 // if err == nil { // resp is now filled 5262 // fmt.Println(resp) 5263 // } 5264 // 5265 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 5266 func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *DisassociateGlobalReplicationGroupInput) (req *request.Request, output *DisassociateGlobalReplicationGroupOutput) { 5267 op := &request.Operation{ 5268 Name: opDisassociateGlobalReplicationGroup, 5269 HTTPMethod: "POST", 5270 HTTPPath: "/", 5271 } 5272 5273 if input == nil { 5274 input = &DisassociateGlobalReplicationGroupInput{} 5275 } 5276 5277 output = &DisassociateGlobalReplicationGroupOutput{} 5278 req = c.newRequest(op, input, output) 5279 return 5280 } 5281 5282 // DisassociateGlobalReplicationGroup API operation for Amazon ElastiCache. 5283 // 5284 // Remove a secondary cluster from the Global datastore using the Global datastore 5285 // name. The secondary cluster will no longer receive updates from the primary 5286 // cluster, but will remain as a standalone cluster in that Amazon region. 5287 // 5288 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5289 // with awserr.Error's Code and Message methods to get detailed information about 5290 // the error. 5291 // 5292 // See the AWS API reference guide for Amazon ElastiCache's 5293 // API operation DisassociateGlobalReplicationGroup for usage and error information. 5294 // 5295 // Returned Error Codes: 5296 // * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5297 // The Global datastore does not exist 5298 // 5299 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5300 // The Global datastore is not available or in primary-only state. 5301 // 5302 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5303 // The value for a parameter is invalid. 5304 // 5305 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5306 // Two or more incompatible parameters were specified. 5307 // 5308 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 5309 func (c *ElastiCache) DisassociateGlobalReplicationGroup(input *DisassociateGlobalReplicationGroupInput) (*DisassociateGlobalReplicationGroupOutput, error) { 5310 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 5311 return out, req.Send() 5312 } 5313 5314 // DisassociateGlobalReplicationGroupWithContext is the same as DisassociateGlobalReplicationGroup with the addition of 5315 // the ability to pass a context and additional request options. 5316 // 5317 // See DisassociateGlobalReplicationGroup for details on how to use this API operation. 5318 // 5319 // The context must be non-nil and will be used for request cancellation. If 5320 // the context is nil a panic will occur. In the future the SDK may create 5321 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5322 // for more information on using Contexts. 5323 func (c *ElastiCache) DisassociateGlobalReplicationGroupWithContext(ctx aws.Context, input *DisassociateGlobalReplicationGroupInput, opts ...request.Option) (*DisassociateGlobalReplicationGroupOutput, error) { 5324 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 5325 req.SetContext(ctx) 5326 req.ApplyOptions(opts...) 5327 return out, req.Send() 5328 } 5329 5330 const opFailoverGlobalReplicationGroup = "FailoverGlobalReplicationGroup" 5331 5332 // FailoverGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5333 // client's request for the FailoverGlobalReplicationGroup operation. The "output" return 5334 // value will be populated with the request's response once the request completes 5335 // successfully. 5336 // 5337 // Use "Send" method on the returned Request to send the API call to the service. 5338 // the "output" return value is not valid until after Send returns without error. 5339 // 5340 // See FailoverGlobalReplicationGroup for more information on using the FailoverGlobalReplicationGroup 5341 // API call, and error handling. 5342 // 5343 // This method is useful when you want to inject custom logic or configuration 5344 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5345 // 5346 // 5347 // // Example sending a request using the FailoverGlobalReplicationGroupRequest method. 5348 // req, resp := client.FailoverGlobalReplicationGroupRequest(params) 5349 // 5350 // err := req.Send() 5351 // if err == nil { // resp is now filled 5352 // fmt.Println(resp) 5353 // } 5354 // 5355 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 5356 func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGlobalReplicationGroupInput) (req *request.Request, output *FailoverGlobalReplicationGroupOutput) { 5357 op := &request.Operation{ 5358 Name: opFailoverGlobalReplicationGroup, 5359 HTTPMethod: "POST", 5360 HTTPPath: "/", 5361 } 5362 5363 if input == nil { 5364 input = &FailoverGlobalReplicationGroupInput{} 5365 } 5366 5367 output = &FailoverGlobalReplicationGroupOutput{} 5368 req = c.newRequest(op, input, output) 5369 return 5370 } 5371 5372 // FailoverGlobalReplicationGroup API operation for Amazon ElastiCache. 5373 // 5374 // Used to failover the primary region to a selected secondary region. The selected 5375 // secondary region will become primary, and all other clusters will become 5376 // secondary. 5377 // 5378 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5379 // with awserr.Error's Code and Message methods to get detailed information about 5380 // the error. 5381 // 5382 // See the AWS API reference guide for Amazon ElastiCache's 5383 // API operation FailoverGlobalReplicationGroup for usage and error information. 5384 // 5385 // Returned Error Codes: 5386 // * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5387 // The Global datastore does not exist 5388 // 5389 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5390 // The Global datastore is not available or in primary-only state. 5391 // 5392 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5393 // The value for a parameter is invalid. 5394 // 5395 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5396 // Two or more incompatible parameters were specified. 5397 // 5398 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 5399 func (c *ElastiCache) FailoverGlobalReplicationGroup(input *FailoverGlobalReplicationGroupInput) (*FailoverGlobalReplicationGroupOutput, error) { 5400 req, out := c.FailoverGlobalReplicationGroupRequest(input) 5401 return out, req.Send() 5402 } 5403 5404 // FailoverGlobalReplicationGroupWithContext is the same as FailoverGlobalReplicationGroup with the addition of 5405 // the ability to pass a context and additional request options. 5406 // 5407 // See FailoverGlobalReplicationGroup for details on how to use this API operation. 5408 // 5409 // The context must be non-nil and will be used for request cancellation. If 5410 // the context is nil a panic will occur. In the future the SDK may create 5411 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5412 // for more information on using Contexts. 5413 func (c *ElastiCache) FailoverGlobalReplicationGroupWithContext(ctx aws.Context, input *FailoverGlobalReplicationGroupInput, opts ...request.Option) (*FailoverGlobalReplicationGroupOutput, error) { 5414 req, out := c.FailoverGlobalReplicationGroupRequest(input) 5415 req.SetContext(ctx) 5416 req.ApplyOptions(opts...) 5417 return out, req.Send() 5418 } 5419 5420 const opIncreaseNodeGroupsInGlobalReplicationGroup = "IncreaseNodeGroupsInGlobalReplicationGroup" 5421 5422 // IncreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5423 // client's request for the IncreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 5424 // value will be populated with the request's response once the request completes 5425 // successfully. 5426 // 5427 // Use "Send" method on the returned Request to send the API call to the service. 5428 // the "output" return value is not valid until after Send returns without error. 5429 // 5430 // See IncreaseNodeGroupsInGlobalReplicationGroup for more information on using the IncreaseNodeGroupsInGlobalReplicationGroup 5431 // API call, and error handling. 5432 // 5433 // This method is useful when you want to inject custom logic or configuration 5434 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5435 // 5436 // 5437 // // Example sending a request using the IncreaseNodeGroupsInGlobalReplicationGroupRequest method. 5438 // req, resp := client.IncreaseNodeGroupsInGlobalReplicationGroupRequest(params) 5439 // 5440 // err := req.Send() 5441 // if err == nil { // resp is now filled 5442 // fmt.Println(resp) 5443 // } 5444 // 5445 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 5446 func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupRequest(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *IncreaseNodeGroupsInGlobalReplicationGroupOutput) { 5447 op := &request.Operation{ 5448 Name: opIncreaseNodeGroupsInGlobalReplicationGroup, 5449 HTTPMethod: "POST", 5450 HTTPPath: "/", 5451 } 5452 5453 if input == nil { 5454 input = &IncreaseNodeGroupsInGlobalReplicationGroupInput{} 5455 } 5456 5457 output = &IncreaseNodeGroupsInGlobalReplicationGroupOutput{} 5458 req = c.newRequest(op, input, output) 5459 return 5460 } 5461 5462 // IncreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 5463 // 5464 // Increase the number of node groups in the Global datastore 5465 // 5466 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5467 // with awserr.Error's Code and Message methods to get detailed information about 5468 // the error. 5469 // 5470 // See the AWS API reference guide for Amazon ElastiCache's 5471 // API operation IncreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 5472 // 5473 // Returned Error Codes: 5474 // * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5475 // The Global datastore does not exist 5476 // 5477 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5478 // The Global datastore is not available or in primary-only state. 5479 // 5480 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5481 // The value for a parameter is invalid. 5482 // 5483 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 5484 func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroup(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 5485 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 5486 return out, req.Send() 5487 } 5488 5489 // IncreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as IncreaseNodeGroupsInGlobalReplicationGroup with the addition of 5490 // the ability to pass a context and additional request options. 5491 // 5492 // See IncreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 5493 // 5494 // The context must be non-nil and will be used for request cancellation. If 5495 // the context is nil a panic will occur. In the future the SDK may create 5496 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5497 // for more information on using Contexts. 5498 func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *IncreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 5499 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 5500 req.SetContext(ctx) 5501 req.ApplyOptions(opts...) 5502 return out, req.Send() 5503 } 5504 5505 const opIncreaseReplicaCount = "IncreaseReplicaCount" 5506 5507 // IncreaseReplicaCountRequest generates a "aws/request.Request" representing the 5508 // client's request for the IncreaseReplicaCount operation. The "output" return 5509 // value will be populated with the request's response once the request completes 5510 // successfully. 5511 // 5512 // Use "Send" method on the returned Request to send the API call to the service. 5513 // the "output" return value is not valid until after Send returns without error. 5514 // 5515 // See IncreaseReplicaCount for more information on using the IncreaseReplicaCount 5516 // API call, and error handling. 5517 // 5518 // This method is useful when you want to inject custom logic or configuration 5519 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5520 // 5521 // 5522 // // Example sending a request using the IncreaseReplicaCountRequest method. 5523 // req, resp := client.IncreaseReplicaCountRequest(params) 5524 // 5525 // err := req.Send() 5526 // if err == nil { // resp is now filled 5527 // fmt.Println(resp) 5528 // } 5529 // 5530 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 5531 func (c *ElastiCache) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) (req *request.Request, output *IncreaseReplicaCountOutput) { 5532 op := &request.Operation{ 5533 Name: opIncreaseReplicaCount, 5534 HTTPMethod: "POST", 5535 HTTPPath: "/", 5536 } 5537 5538 if input == nil { 5539 input = &IncreaseReplicaCountInput{} 5540 } 5541 5542 output = &IncreaseReplicaCountOutput{} 5543 req = c.newRequest(op, input, output) 5544 return 5545 } 5546 5547 // IncreaseReplicaCount API operation for Amazon ElastiCache. 5548 // 5549 // Dynamically increases the number of replicas in a Redis (cluster mode disabled) 5550 // replication group or the number of replica nodes in one or more node groups 5551 // (shards) of a Redis (cluster mode enabled) replication group. This operation 5552 // is performed with no cluster down time. 5553 // 5554 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5555 // with awserr.Error's Code and Message methods to get detailed information about 5556 // the error. 5557 // 5558 // See the AWS API reference guide for Amazon ElastiCache's 5559 // API operation IncreaseReplicaCount for usage and error information. 5560 // 5561 // Returned Error Codes: 5562 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5563 // The specified replication group does not exist. 5564 // 5565 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5566 // The requested replication group is not in the available state. 5567 // 5568 // * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5569 // The requested cluster is not in the available state. 5570 // 5571 // * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5572 // The VPC network is in an invalid state. 5573 // 5574 // * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5575 // The requested cache node type is not available in the specified Availability 5576 // Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5577 // in the ElastiCache User Guide. 5578 // 5579 // * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 5580 // The request cannot be processed because it would exceed the allowed number 5581 // of clusters per customer. 5582 // 5583 // * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 5584 // The request cannot be processed because it would exceed the maximum allowed 5585 // number of node groups (shards) in a single replication group. The default 5586 // maximum is 90 5587 // 5588 // * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5589 // The request cannot be processed because it would exceed the allowed number 5590 // of cache nodes per customer. 5591 // 5592 // * ErrCodeNoOperationFault "NoOperationFault" 5593 // The operation was not performed because no changes were required. 5594 // 5595 // * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5596 // The KMS key supplied is not valid. 5597 // 5598 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5599 // The value for a parameter is invalid. 5600 // 5601 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5602 // Two or more incompatible parameters were specified. 5603 // 5604 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 5605 func (c *ElastiCache) IncreaseReplicaCount(input *IncreaseReplicaCountInput) (*IncreaseReplicaCountOutput, error) { 5606 req, out := c.IncreaseReplicaCountRequest(input) 5607 return out, req.Send() 5608 } 5609 5610 // IncreaseReplicaCountWithContext is the same as IncreaseReplicaCount with the addition of 5611 // the ability to pass a context and additional request options. 5612 // 5613 // See IncreaseReplicaCount for details on how to use this API operation. 5614 // 5615 // The context must be non-nil and will be used for request cancellation. If 5616 // the context is nil a panic will occur. In the future the SDK may create 5617 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5618 // for more information on using Contexts. 5619 func (c *ElastiCache) IncreaseReplicaCountWithContext(ctx aws.Context, input *IncreaseReplicaCountInput, opts ...request.Option) (*IncreaseReplicaCountOutput, error) { 5620 req, out := c.IncreaseReplicaCountRequest(input) 5621 req.SetContext(ctx) 5622 req.ApplyOptions(opts...) 5623 return out, req.Send() 5624 } 5625 5626 const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" 5627 5628 // ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the 5629 // client's request for the ListAllowedNodeTypeModifications operation. The "output" return 5630 // value will be populated with the request's response once the request completes 5631 // successfully. 5632 // 5633 // Use "Send" method on the returned Request to send the API call to the service. 5634 // the "output" return value is not valid until after Send returns without error. 5635 // 5636 // See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications 5637 // API call, and error handling. 5638 // 5639 // This method is useful when you want to inject custom logic or configuration 5640 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5641 // 5642 // 5643 // // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. 5644 // req, resp := client.ListAllowedNodeTypeModificationsRequest(params) 5645 // 5646 // err := req.Send() 5647 // if err == nil { // resp is now filled 5648 // fmt.Println(resp) 5649 // } 5650 // 5651 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 5652 func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { 5653 op := &request.Operation{ 5654 Name: opListAllowedNodeTypeModifications, 5655 HTTPMethod: "POST", 5656 HTTPPath: "/", 5657 } 5658 5659 if input == nil { 5660 input = &ListAllowedNodeTypeModificationsInput{} 5661 } 5662 5663 output = &ListAllowedNodeTypeModificationsOutput{} 5664 req = c.newRequest(op, input, output) 5665 return 5666 } 5667 5668 // ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. 5669 // 5670 // Lists all available node types that you can scale your Redis cluster's or 5671 // replication group's current node type. 5672 // 5673 // When you use the ModifyCacheCluster or ModifyReplicationGroup operations 5674 // to scale your cluster or replication group, the value of the CacheNodeType 5675 // parameter must be one of the node types returned by this operation. 5676 // 5677 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5678 // with awserr.Error's Code and Message methods to get detailed information about 5679 // the error. 5680 // 5681 // See the AWS API reference guide for Amazon ElastiCache's 5682 // API operation ListAllowedNodeTypeModifications for usage and error information. 5683 // 5684 // Returned Error Codes: 5685 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5686 // The requested cluster ID does not refer to an existing cluster. 5687 // 5688 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5689 // The specified replication group does not exist. 5690 // 5691 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5692 // Two or more incompatible parameters were specified. 5693 // 5694 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5695 // The value for a parameter is invalid. 5696 // 5697 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 5698 func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { 5699 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 5700 return out, req.Send() 5701 } 5702 5703 // ListAllowedNodeTypeModificationsWithContext is the same as ListAllowedNodeTypeModifications with the addition of 5704 // the ability to pass a context and additional request options. 5705 // 5706 // See ListAllowedNodeTypeModifications for details on how to use this API operation. 5707 // 5708 // The context must be non-nil and will be used for request cancellation. If 5709 // the context is nil a panic will occur. In the future the SDK may create 5710 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5711 // for more information on using Contexts. 5712 func (c *ElastiCache) ListAllowedNodeTypeModificationsWithContext(ctx aws.Context, input *ListAllowedNodeTypeModificationsInput, opts ...request.Option) (*ListAllowedNodeTypeModificationsOutput, error) { 5713 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 5714 req.SetContext(ctx) 5715 req.ApplyOptions(opts...) 5716 return out, req.Send() 5717 } 5718 5719 const opListTagsForResource = "ListTagsForResource" 5720 5721 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 5722 // client's request for the ListTagsForResource operation. The "output" return 5723 // value will be populated with the request's response once the request completes 5724 // successfully. 5725 // 5726 // Use "Send" method on the returned Request to send the API call to the service. 5727 // the "output" return value is not valid until after Send returns without error. 5728 // 5729 // See ListTagsForResource for more information on using the ListTagsForResource 5730 // API call, and error handling. 5731 // 5732 // This method is useful when you want to inject custom logic or configuration 5733 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5734 // 5735 // 5736 // // Example sending a request using the ListTagsForResourceRequest method. 5737 // req, resp := client.ListTagsForResourceRequest(params) 5738 // 5739 // err := req.Send() 5740 // if err == nil { // resp is now filled 5741 // fmt.Println(resp) 5742 // } 5743 // 5744 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5745 func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { 5746 op := &request.Operation{ 5747 Name: opListTagsForResource, 5748 HTTPMethod: "POST", 5749 HTTPPath: "/", 5750 } 5751 5752 if input == nil { 5753 input = &ListTagsForResourceInput{} 5754 } 5755 5756 output = &TagListMessage{} 5757 req = c.newRequest(op, input, output) 5758 return 5759 } 5760 5761 // ListTagsForResource API operation for Amazon ElastiCache. 5762 // 5763 // Lists all tags currently on a named resource. 5764 // 5765 // A tag is a key-value pair where the key and value are case-sensitive. You 5766 // can use tags to categorize and track all your ElastiCache resources, with 5767 // the exception of global replication group. When you add or remove tags on 5768 // replication groups, those actions will be replicated to all nodes in the 5769 // replication group. For more information, see Resource-level permissions (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.ResourceLevelPermissions.html). 5770 // 5771 // If the cluster is not in the available state, ListTagsForResource returns 5772 // an error. 5773 // 5774 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5775 // with awserr.Error's Code and Message methods to get detailed information about 5776 // the error. 5777 // 5778 // See the AWS API reference guide for Amazon ElastiCache's 5779 // API operation ListTagsForResource for usage and error information. 5780 // 5781 // Returned Error Codes: 5782 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5783 // The requested cluster ID does not refer to an existing cluster. 5784 // 5785 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5786 // The requested cache parameter group name does not refer to an existing cache 5787 // parameter group. 5788 // 5789 // * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5790 // The requested cache security group name does not refer to an existing cache 5791 // security group. 5792 // 5793 // * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 5794 // The requested cache subnet group name does not refer to an existing cache 5795 // subnet group. 5796 // 5797 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5798 // The requested replication group is not in the available state. 5799 // 5800 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5801 // The specified replication group does not exist. 5802 // 5803 // * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 5804 // The requested reserved cache node was not found. 5805 // 5806 // * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 5807 // The requested snapshot name does not refer to an existing snapshot. 5808 // 5809 // * ErrCodeUserNotFoundFault "UserNotFound" 5810 // The user does not exist or could not be found. 5811 // 5812 // * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 5813 // The user group was not found or does not exist 5814 // 5815 // * ErrCodeInvalidARNFault "InvalidARN" 5816 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5817 // 5818 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5819 func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { 5820 req, out := c.ListTagsForResourceRequest(input) 5821 return out, req.Send() 5822 } 5823 5824 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 5825 // the ability to pass a context and additional request options. 5826 // 5827 // See ListTagsForResource for details on how to use this API operation. 5828 // 5829 // The context must be non-nil and will be used for request cancellation. If 5830 // the context is nil a panic will occur. In the future the SDK may create 5831 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5832 // for more information on using Contexts. 5833 func (c *ElastiCache) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*TagListMessage, error) { 5834 req, out := c.ListTagsForResourceRequest(input) 5835 req.SetContext(ctx) 5836 req.ApplyOptions(opts...) 5837 return out, req.Send() 5838 } 5839 5840 const opModifyCacheCluster = "ModifyCacheCluster" 5841 5842 // ModifyCacheClusterRequest generates a "aws/request.Request" representing the 5843 // client's request for the ModifyCacheCluster operation. The "output" return 5844 // value will be populated with the request's response once the request completes 5845 // successfully. 5846 // 5847 // Use "Send" method on the returned Request to send the API call to the service. 5848 // the "output" return value is not valid until after Send returns without error. 5849 // 5850 // See ModifyCacheCluster for more information on using the ModifyCacheCluster 5851 // API call, and error handling. 5852 // 5853 // This method is useful when you want to inject custom logic or configuration 5854 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5855 // 5856 // 5857 // // Example sending a request using the ModifyCacheClusterRequest method. 5858 // req, resp := client.ModifyCacheClusterRequest(params) 5859 // 5860 // err := req.Send() 5861 // if err == nil { // resp is now filled 5862 // fmt.Println(resp) 5863 // } 5864 // 5865 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5866 func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { 5867 op := &request.Operation{ 5868 Name: opModifyCacheCluster, 5869 HTTPMethod: "POST", 5870 HTTPPath: "/", 5871 } 5872 5873 if input == nil { 5874 input = &ModifyCacheClusterInput{} 5875 } 5876 5877 output = &ModifyCacheClusterOutput{} 5878 req = c.newRequest(op, input, output) 5879 return 5880 } 5881 5882 // ModifyCacheCluster API operation for Amazon ElastiCache. 5883 // 5884 // Modifies the settings for a cluster. You can use this operation to change 5885 // one or more cluster configuration parameters by specifying the parameters 5886 // and the new values. 5887 // 5888 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5889 // with awserr.Error's Code and Message methods to get detailed information about 5890 // the error. 5891 // 5892 // See the AWS API reference guide for Amazon ElastiCache's 5893 // API operation ModifyCacheCluster for usage and error information. 5894 // 5895 // Returned Error Codes: 5896 // * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5897 // The requested cluster is not in the available state. 5898 // 5899 // * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5900 // The current state of the cache security group does not allow deletion. 5901 // 5902 // * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5903 // The requested cache node type is not available in the specified Availability 5904 // Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5905 // in the ElastiCache User Guide. 5906 // 5907 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5908 // The requested cluster ID does not refer to an existing cluster. 5909 // 5910 // * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 5911 // The request cannot be processed because it would exceed the allowed number 5912 // of cache nodes in a single cluster. 5913 // 5914 // * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5915 // The request cannot be processed because it would exceed the allowed number 5916 // of cache nodes per customer. 5917 // 5918 // * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5919 // The requested cache security group name does not refer to an existing cache 5920 // security group. 5921 // 5922 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5923 // The requested cache parameter group name does not refer to an existing cache 5924 // parameter group. 5925 // 5926 // * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5927 // The VPC network is in an invalid state. 5928 // 5929 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5930 // The value for a parameter is invalid. 5931 // 5932 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5933 // Two or more incompatible parameters were specified. 5934 // 5935 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5936 func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { 5937 req, out := c.ModifyCacheClusterRequest(input) 5938 return out, req.Send() 5939 } 5940 5941 // ModifyCacheClusterWithContext is the same as ModifyCacheCluster with the addition of 5942 // the ability to pass a context and additional request options. 5943 // 5944 // See ModifyCacheCluster for details on how to use this API operation. 5945 // 5946 // The context must be non-nil and will be used for request cancellation. If 5947 // the context is nil a panic will occur. In the future the SDK may create 5948 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5949 // for more information on using Contexts. 5950 func (c *ElastiCache) ModifyCacheClusterWithContext(ctx aws.Context, input *ModifyCacheClusterInput, opts ...request.Option) (*ModifyCacheClusterOutput, error) { 5951 req, out := c.ModifyCacheClusterRequest(input) 5952 req.SetContext(ctx) 5953 req.ApplyOptions(opts...) 5954 return out, req.Send() 5955 } 5956 5957 const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" 5958 5959 // ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the 5960 // client's request for the ModifyCacheParameterGroup operation. The "output" return 5961 // value will be populated with the request's response once the request completes 5962 // successfully. 5963 // 5964 // Use "Send" method on the returned Request to send the API call to the service. 5965 // the "output" return value is not valid until after Send returns without error. 5966 // 5967 // See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup 5968 // API call, and error handling. 5969 // 5970 // This method is useful when you want to inject custom logic or configuration 5971 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 5972 // 5973 // 5974 // // Example sending a request using the ModifyCacheParameterGroupRequest method. 5975 // req, resp := client.ModifyCacheParameterGroupRequest(params) 5976 // 5977 // err := req.Send() 5978 // if err == nil { // resp is now filled 5979 // fmt.Println(resp) 5980 // } 5981 // 5982 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 5983 func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 5984 op := &request.Operation{ 5985 Name: opModifyCacheParameterGroup, 5986 HTTPMethod: "POST", 5987 HTTPPath: "/", 5988 } 5989 5990 if input == nil { 5991 input = &ModifyCacheParameterGroupInput{} 5992 } 5993 5994 output = &CacheParameterGroupNameMessage{} 5995 req = c.newRequest(op, input, output) 5996 return 5997 } 5998 5999 // ModifyCacheParameterGroup API operation for Amazon ElastiCache. 6000 // 6001 // Modifies the parameters of a cache parameter group. You can modify up to 6002 // 20 parameters in a single request by submitting a list parameter name and 6003 // value pairs. 6004 // 6005 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6006 // with awserr.Error's Code and Message methods to get detailed information about 6007 // the error. 6008 // 6009 // See the AWS API reference guide for Amazon ElastiCache's 6010 // API operation ModifyCacheParameterGroup for usage and error information. 6011 // 6012 // Returned Error Codes: 6013 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 6014 // The requested cache parameter group name does not refer to an existing cache 6015 // parameter group. 6016 // 6017 // * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 6018 // The current state of the cache parameter group does not allow the requested 6019 // operation to occur. 6020 // 6021 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6022 // The value for a parameter is invalid. 6023 // 6024 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6025 // Two or more incompatible parameters were specified. 6026 // 6027 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6028 // The Global datastore is not available or in primary-only state. 6029 // 6030 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 6031 func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 6032 req, out := c.ModifyCacheParameterGroupRequest(input) 6033 return out, req.Send() 6034 } 6035 6036 // ModifyCacheParameterGroupWithContext is the same as ModifyCacheParameterGroup with the addition of 6037 // the ability to pass a context and additional request options. 6038 // 6039 // See ModifyCacheParameterGroup for details on how to use this API operation. 6040 // 6041 // The context must be non-nil and will be used for request cancellation. If 6042 // the context is nil a panic will occur. In the future the SDK may create 6043 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6044 // for more information on using Contexts. 6045 func (c *ElastiCache) ModifyCacheParameterGroupWithContext(ctx aws.Context, input *ModifyCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 6046 req, out := c.ModifyCacheParameterGroupRequest(input) 6047 req.SetContext(ctx) 6048 req.ApplyOptions(opts...) 6049 return out, req.Send() 6050 } 6051 6052 const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" 6053 6054 // ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the 6055 // client's request for the ModifyCacheSubnetGroup operation. The "output" return 6056 // value will be populated with the request's response once the request completes 6057 // successfully. 6058 // 6059 // Use "Send" method on the returned Request to send the API call to the service. 6060 // the "output" return value is not valid until after Send returns without error. 6061 // 6062 // See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup 6063 // API call, and error handling. 6064 // 6065 // This method is useful when you want to inject custom logic or configuration 6066 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6067 // 6068 // 6069 // // Example sending a request using the ModifyCacheSubnetGroupRequest method. 6070 // req, resp := client.ModifyCacheSubnetGroupRequest(params) 6071 // 6072 // err := req.Send() 6073 // if err == nil { // resp is now filled 6074 // fmt.Println(resp) 6075 // } 6076 // 6077 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 6078 func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { 6079 op := &request.Operation{ 6080 Name: opModifyCacheSubnetGroup, 6081 HTTPMethod: "POST", 6082 HTTPPath: "/", 6083 } 6084 6085 if input == nil { 6086 input = &ModifyCacheSubnetGroupInput{} 6087 } 6088 6089 output = &ModifyCacheSubnetGroupOutput{} 6090 req = c.newRequest(op, input, output) 6091 return 6092 } 6093 6094 // ModifyCacheSubnetGroup API operation for Amazon ElastiCache. 6095 // 6096 // Modifies an existing cache subnet group. 6097 // 6098 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6099 // with awserr.Error's Code and Message methods to get detailed information about 6100 // the error. 6101 // 6102 // See the AWS API reference guide for Amazon ElastiCache's 6103 // API operation ModifyCacheSubnetGroup for usage and error information. 6104 // 6105 // Returned Error Codes: 6106 // * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 6107 // The requested cache subnet group name does not refer to an existing cache 6108 // subnet group. 6109 // 6110 // * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 6111 // The request cannot be processed because it would exceed the allowed number 6112 // of subnets in a cache subnet group. 6113 // 6114 // * ErrCodeSubnetInUse "SubnetInUse" 6115 // The requested subnet is being used by another cache subnet group. 6116 // 6117 // * ErrCodeInvalidSubnet "InvalidSubnet" 6118 // An invalid subnet identifier was specified. 6119 // 6120 // * ErrCodeSubnetNotAllowedFault "SubnetNotAllowedFault" 6121 // At least one subnet ID does not match the other subnet IDs. This mismatch 6122 // typically occurs when a user sets one subnet ID to a regional Availability 6123 // Zone and a different one to an outpost. Or when a user sets the subnet ID 6124 // to an Outpost when not subscribed on this service. 6125 // 6126 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 6127 func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { 6128 req, out := c.ModifyCacheSubnetGroupRequest(input) 6129 return out, req.Send() 6130 } 6131 6132 // ModifyCacheSubnetGroupWithContext is the same as ModifyCacheSubnetGroup with the addition of 6133 // the ability to pass a context and additional request options. 6134 // 6135 // See ModifyCacheSubnetGroup for details on how to use this API operation. 6136 // 6137 // The context must be non-nil and will be used for request cancellation. If 6138 // the context is nil a panic will occur. In the future the SDK may create 6139 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6140 // for more information on using Contexts. 6141 func (c *ElastiCache) ModifyCacheSubnetGroupWithContext(ctx aws.Context, input *ModifyCacheSubnetGroupInput, opts ...request.Option) (*ModifyCacheSubnetGroupOutput, error) { 6142 req, out := c.ModifyCacheSubnetGroupRequest(input) 6143 req.SetContext(ctx) 6144 req.ApplyOptions(opts...) 6145 return out, req.Send() 6146 } 6147 6148 const opModifyGlobalReplicationGroup = "ModifyGlobalReplicationGroup" 6149 6150 // ModifyGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 6151 // client's request for the ModifyGlobalReplicationGroup operation. The "output" return 6152 // value will be populated with the request's response once the request completes 6153 // successfully. 6154 // 6155 // Use "Send" method on the returned Request to send the API call to the service. 6156 // the "output" return value is not valid until after Send returns without error. 6157 // 6158 // See ModifyGlobalReplicationGroup for more information on using the ModifyGlobalReplicationGroup 6159 // API call, and error handling. 6160 // 6161 // This method is useful when you want to inject custom logic or configuration 6162 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6163 // 6164 // 6165 // // Example sending a request using the ModifyGlobalReplicationGroupRequest method. 6166 // req, resp := client.ModifyGlobalReplicationGroupRequest(params) 6167 // 6168 // err := req.Send() 6169 // if err == nil { // resp is now filled 6170 // fmt.Println(resp) 6171 // } 6172 // 6173 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 6174 func (c *ElastiCache) ModifyGlobalReplicationGroupRequest(input *ModifyGlobalReplicationGroupInput) (req *request.Request, output *ModifyGlobalReplicationGroupOutput) { 6175 op := &request.Operation{ 6176 Name: opModifyGlobalReplicationGroup, 6177 HTTPMethod: "POST", 6178 HTTPPath: "/", 6179 } 6180 6181 if input == nil { 6182 input = &ModifyGlobalReplicationGroupInput{} 6183 } 6184 6185 output = &ModifyGlobalReplicationGroupOutput{} 6186 req = c.newRequest(op, input, output) 6187 return 6188 } 6189 6190 // ModifyGlobalReplicationGroup API operation for Amazon ElastiCache. 6191 // 6192 // Modifies the settings for a Global datastore. 6193 // 6194 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6195 // with awserr.Error's Code and Message methods to get detailed information about 6196 // the error. 6197 // 6198 // See the AWS API reference guide for Amazon ElastiCache's 6199 // API operation ModifyGlobalReplicationGroup for usage and error information. 6200 // 6201 // Returned Error Codes: 6202 // * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 6203 // The Global datastore does not exist 6204 // 6205 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6206 // The Global datastore is not available or in primary-only state. 6207 // 6208 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6209 // The value for a parameter is invalid. 6210 // 6211 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 6212 func (c *ElastiCache) ModifyGlobalReplicationGroup(input *ModifyGlobalReplicationGroupInput) (*ModifyGlobalReplicationGroupOutput, error) { 6213 req, out := c.ModifyGlobalReplicationGroupRequest(input) 6214 return out, req.Send() 6215 } 6216 6217 // ModifyGlobalReplicationGroupWithContext is the same as ModifyGlobalReplicationGroup with the addition of 6218 // the ability to pass a context and additional request options. 6219 // 6220 // See ModifyGlobalReplicationGroup for details on how to use this API operation. 6221 // 6222 // The context must be non-nil and will be used for request cancellation. If 6223 // the context is nil a panic will occur. In the future the SDK may create 6224 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6225 // for more information on using Contexts. 6226 func (c *ElastiCache) ModifyGlobalReplicationGroupWithContext(ctx aws.Context, input *ModifyGlobalReplicationGroupInput, opts ...request.Option) (*ModifyGlobalReplicationGroupOutput, error) { 6227 req, out := c.ModifyGlobalReplicationGroupRequest(input) 6228 req.SetContext(ctx) 6229 req.ApplyOptions(opts...) 6230 return out, req.Send() 6231 } 6232 6233 const opModifyReplicationGroup = "ModifyReplicationGroup" 6234 6235 // ModifyReplicationGroupRequest generates a "aws/request.Request" representing the 6236 // client's request for the ModifyReplicationGroup operation. The "output" return 6237 // value will be populated with the request's response once the request completes 6238 // successfully. 6239 // 6240 // Use "Send" method on the returned Request to send the API call to the service. 6241 // the "output" return value is not valid until after Send returns without error. 6242 // 6243 // See ModifyReplicationGroup for more information on using the ModifyReplicationGroup 6244 // API call, and error handling. 6245 // 6246 // This method is useful when you want to inject custom logic or configuration 6247 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6248 // 6249 // 6250 // // Example sending a request using the ModifyReplicationGroupRequest method. 6251 // req, resp := client.ModifyReplicationGroupRequest(params) 6252 // 6253 // err := req.Send() 6254 // if err == nil { // resp is now filled 6255 // fmt.Println(resp) 6256 // } 6257 // 6258 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 6259 func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { 6260 op := &request.Operation{ 6261 Name: opModifyReplicationGroup, 6262 HTTPMethod: "POST", 6263 HTTPPath: "/", 6264 } 6265 6266 if input == nil { 6267 input = &ModifyReplicationGroupInput{} 6268 } 6269 6270 output = &ModifyReplicationGroupOutput{} 6271 req = c.newRequest(op, input, output) 6272 return 6273 } 6274 6275 // ModifyReplicationGroup API operation for Amazon ElastiCache. 6276 // 6277 // Modifies the settings for a replication group. 6278 // 6279 // * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) 6280 // in the ElastiCache User Guide 6281 // 6282 // * ModifyReplicationGroupShardConfiguration (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) 6283 // in the ElastiCache API Reference 6284 // 6285 // This operation is valid for Redis only. 6286 // 6287 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6288 // with awserr.Error's Code and Message methods to get detailed information about 6289 // the error. 6290 // 6291 // See the AWS API reference guide for Amazon ElastiCache's 6292 // API operation ModifyReplicationGroup for usage and error information. 6293 // 6294 // Returned Error Codes: 6295 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6296 // The specified replication group does not exist. 6297 // 6298 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6299 // The requested replication group is not in the available state. 6300 // 6301 // * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 6302 // The user group is not in an active state. 6303 // 6304 // * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 6305 // The user group was not found or does not exist 6306 // 6307 // * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6308 // The requested cluster is not in the available state. 6309 // 6310 // * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 6311 // The current state of the cache security group does not allow deletion. 6312 // 6313 // * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 6314 // The requested cache node type is not available in the specified Availability 6315 // Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 6316 // in the ElastiCache User Guide. 6317 // 6318 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 6319 // The requested cluster ID does not refer to an existing cluster. 6320 // 6321 // * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 6322 // The request cannot be processed because it would exceed the allowed number 6323 // of cache nodes in a single cluster. 6324 // 6325 // * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 6326 // The request cannot be processed because it would exceed the allowed number 6327 // of cache nodes per customer. 6328 // 6329 // * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 6330 // The requested cache security group name does not refer to an existing cache 6331 // security group. 6332 // 6333 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 6334 // The requested cache parameter group name does not refer to an existing cache 6335 // parameter group. 6336 // 6337 // * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 6338 // The VPC network is in an invalid state. 6339 // 6340 // * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 6341 // The KMS key supplied is not valid. 6342 // 6343 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6344 // The value for a parameter is invalid. 6345 // 6346 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6347 // Two or more incompatible parameters were specified. 6348 // 6349 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 6350 func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { 6351 req, out := c.ModifyReplicationGroupRequest(input) 6352 return out, req.Send() 6353 } 6354 6355 // ModifyReplicationGroupWithContext is the same as ModifyReplicationGroup with the addition of 6356 // the ability to pass a context and additional request options. 6357 // 6358 // See ModifyReplicationGroup for details on how to use this API operation. 6359 // 6360 // The context must be non-nil and will be used for request cancellation. If 6361 // the context is nil a panic will occur. In the future the SDK may create 6362 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6363 // for more information on using Contexts. 6364 func (c *ElastiCache) ModifyReplicationGroupWithContext(ctx aws.Context, input *ModifyReplicationGroupInput, opts ...request.Option) (*ModifyReplicationGroupOutput, error) { 6365 req, out := c.ModifyReplicationGroupRequest(input) 6366 req.SetContext(ctx) 6367 req.ApplyOptions(opts...) 6368 return out, req.Send() 6369 } 6370 6371 const opModifyReplicationGroupShardConfiguration = "ModifyReplicationGroupShardConfiguration" 6372 6373 // ModifyReplicationGroupShardConfigurationRequest generates a "aws/request.Request" representing the 6374 // client's request for the ModifyReplicationGroupShardConfiguration operation. The "output" return 6375 // value will be populated with the request's response once the request completes 6376 // successfully. 6377 // 6378 // Use "Send" method on the returned Request to send the API call to the service. 6379 // the "output" return value is not valid until after Send returns without error. 6380 // 6381 // See ModifyReplicationGroupShardConfiguration for more information on using the ModifyReplicationGroupShardConfiguration 6382 // API call, and error handling. 6383 // 6384 // This method is useful when you want to inject custom logic or configuration 6385 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6386 // 6387 // 6388 // // Example sending a request using the ModifyReplicationGroupShardConfigurationRequest method. 6389 // req, resp := client.ModifyReplicationGroupShardConfigurationRequest(params) 6390 // 6391 // err := req.Send() 6392 // if err == nil { // resp is now filled 6393 // fmt.Println(resp) 6394 // } 6395 // 6396 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 6397 func (c *ElastiCache) ModifyReplicationGroupShardConfigurationRequest(input *ModifyReplicationGroupShardConfigurationInput) (req *request.Request, output *ModifyReplicationGroupShardConfigurationOutput) { 6398 op := &request.Operation{ 6399 Name: opModifyReplicationGroupShardConfiguration, 6400 HTTPMethod: "POST", 6401 HTTPPath: "/", 6402 } 6403 6404 if input == nil { 6405 input = &ModifyReplicationGroupShardConfigurationInput{} 6406 } 6407 6408 output = &ModifyReplicationGroupShardConfigurationOutput{} 6409 req = c.newRequest(op, input, output) 6410 return 6411 } 6412 6413 // ModifyReplicationGroupShardConfiguration API operation for Amazon ElastiCache. 6414 // 6415 // Modifies a replication group's shards (node groups) by allowing you to add 6416 // shards, remove shards, or rebalance the keyspaces among existing shards. 6417 // 6418 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6419 // with awserr.Error's Code and Message methods to get detailed information about 6420 // the error. 6421 // 6422 // See the AWS API reference guide for Amazon ElastiCache's 6423 // API operation ModifyReplicationGroupShardConfiguration for usage and error information. 6424 // 6425 // Returned Error Codes: 6426 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6427 // The specified replication group does not exist. 6428 // 6429 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6430 // The requested replication group is not in the available state. 6431 // 6432 // * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6433 // The requested cluster is not in the available state. 6434 // 6435 // * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 6436 // The VPC network is in an invalid state. 6437 // 6438 // * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 6439 // The requested cache node type is not available in the specified Availability 6440 // Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 6441 // in the ElastiCache User Guide. 6442 // 6443 // * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 6444 // The request cannot be processed because it would exceed the maximum allowed 6445 // number of node groups (shards) in a single replication group. The default 6446 // maximum is 90 6447 // 6448 // * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 6449 // The request cannot be processed because it would exceed the allowed number 6450 // of cache nodes per customer. 6451 // 6452 // * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 6453 // The KMS key supplied is not valid. 6454 // 6455 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6456 // The value for a parameter is invalid. 6457 // 6458 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6459 // Two or more incompatible parameters were specified. 6460 // 6461 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 6462 func (c *ElastiCache) ModifyReplicationGroupShardConfiguration(input *ModifyReplicationGroupShardConfigurationInput) (*ModifyReplicationGroupShardConfigurationOutput, error) { 6463 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 6464 return out, req.Send() 6465 } 6466 6467 // ModifyReplicationGroupShardConfigurationWithContext is the same as ModifyReplicationGroupShardConfiguration with the addition of 6468 // the ability to pass a context and additional request options. 6469 // 6470 // See ModifyReplicationGroupShardConfiguration for details on how to use this API operation. 6471 // 6472 // The context must be non-nil and will be used for request cancellation. If 6473 // the context is nil a panic will occur. In the future the SDK may create 6474 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6475 // for more information on using Contexts. 6476 func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aws.Context, input *ModifyReplicationGroupShardConfigurationInput, opts ...request.Option) (*ModifyReplicationGroupShardConfigurationOutput, error) { 6477 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 6478 req.SetContext(ctx) 6479 req.ApplyOptions(opts...) 6480 return out, req.Send() 6481 } 6482 6483 const opModifyUser = "ModifyUser" 6484 6485 // ModifyUserRequest generates a "aws/request.Request" representing the 6486 // client's request for the ModifyUser operation. The "output" return 6487 // value will be populated with the request's response once the request completes 6488 // successfully. 6489 // 6490 // Use "Send" method on the returned Request to send the API call to the service. 6491 // the "output" return value is not valid until after Send returns without error. 6492 // 6493 // See ModifyUser for more information on using the ModifyUser 6494 // API call, and error handling. 6495 // 6496 // This method is useful when you want to inject custom logic or configuration 6497 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6498 // 6499 // 6500 // // Example sending a request using the ModifyUserRequest method. 6501 // req, resp := client.ModifyUserRequest(params) 6502 // 6503 // err := req.Send() 6504 // if err == nil { // resp is now filled 6505 // fmt.Println(resp) 6506 // } 6507 // 6508 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUser 6509 func (c *ElastiCache) ModifyUserRequest(input *ModifyUserInput) (req *request.Request, output *ModifyUserOutput) { 6510 op := &request.Operation{ 6511 Name: opModifyUser, 6512 HTTPMethod: "POST", 6513 HTTPPath: "/", 6514 } 6515 6516 if input == nil { 6517 input = &ModifyUserInput{} 6518 } 6519 6520 output = &ModifyUserOutput{} 6521 req = c.newRequest(op, input, output) 6522 return 6523 } 6524 6525 // ModifyUser API operation for Amazon ElastiCache. 6526 // 6527 // Changes user password(s) and/or access string. 6528 // 6529 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6530 // with awserr.Error's Code and Message methods to get detailed information about 6531 // the error. 6532 // 6533 // See the AWS API reference guide for Amazon ElastiCache's 6534 // API operation ModifyUser for usage and error information. 6535 // 6536 // Returned Error Codes: 6537 // * ErrCodeUserNotFoundFault "UserNotFound" 6538 // The user does not exist or could not be found. 6539 // 6540 // * ErrCodeInvalidUserStateFault "InvalidUserState" 6541 // The user is not in active state. 6542 // 6543 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6544 // The value for a parameter is invalid. 6545 // 6546 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6547 // Two or more incompatible parameters were specified. 6548 // 6549 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUser 6550 func (c *ElastiCache) ModifyUser(input *ModifyUserInput) (*ModifyUserOutput, error) { 6551 req, out := c.ModifyUserRequest(input) 6552 return out, req.Send() 6553 } 6554 6555 // ModifyUserWithContext is the same as ModifyUser with the addition of 6556 // the ability to pass a context and additional request options. 6557 // 6558 // See ModifyUser for details on how to use this API operation. 6559 // 6560 // The context must be non-nil and will be used for request cancellation. If 6561 // the context is nil a panic will occur. In the future the SDK may create 6562 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6563 // for more information on using Contexts. 6564 func (c *ElastiCache) ModifyUserWithContext(ctx aws.Context, input *ModifyUserInput, opts ...request.Option) (*ModifyUserOutput, error) { 6565 req, out := c.ModifyUserRequest(input) 6566 req.SetContext(ctx) 6567 req.ApplyOptions(opts...) 6568 return out, req.Send() 6569 } 6570 6571 const opModifyUserGroup = "ModifyUserGroup" 6572 6573 // ModifyUserGroupRequest generates a "aws/request.Request" representing the 6574 // client's request for the ModifyUserGroup operation. The "output" return 6575 // value will be populated with the request's response once the request completes 6576 // successfully. 6577 // 6578 // Use "Send" method on the returned Request to send the API call to the service. 6579 // the "output" return value is not valid until after Send returns without error. 6580 // 6581 // See ModifyUserGroup for more information on using the ModifyUserGroup 6582 // API call, and error handling. 6583 // 6584 // This method is useful when you want to inject custom logic or configuration 6585 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6586 // 6587 // 6588 // // Example sending a request using the ModifyUserGroupRequest method. 6589 // req, resp := client.ModifyUserGroupRequest(params) 6590 // 6591 // err := req.Send() 6592 // if err == nil { // resp is now filled 6593 // fmt.Println(resp) 6594 // } 6595 // 6596 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroup 6597 func (c *ElastiCache) ModifyUserGroupRequest(input *ModifyUserGroupInput) (req *request.Request, output *ModifyUserGroupOutput) { 6598 op := &request.Operation{ 6599 Name: opModifyUserGroup, 6600 HTTPMethod: "POST", 6601 HTTPPath: "/", 6602 } 6603 6604 if input == nil { 6605 input = &ModifyUserGroupInput{} 6606 } 6607 6608 output = &ModifyUserGroupOutput{} 6609 req = c.newRequest(op, input, output) 6610 return 6611 } 6612 6613 // ModifyUserGroup API operation for Amazon ElastiCache. 6614 // 6615 // Changes the list of users that belong to the user group. 6616 // 6617 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6618 // with awserr.Error's Code and Message methods to get detailed information about 6619 // the error. 6620 // 6621 // See the AWS API reference guide for Amazon ElastiCache's 6622 // API operation ModifyUserGroup for usage and error information. 6623 // 6624 // Returned Error Codes: 6625 // * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 6626 // The user group was not found or does not exist 6627 // 6628 // * ErrCodeUserNotFoundFault "UserNotFound" 6629 // The user does not exist or could not be found. 6630 // 6631 // * ErrCodeDuplicateUserNameFault "DuplicateUserName" 6632 // A user with this username already exists. 6633 // 6634 // * ErrCodeDefaultUserRequired "DefaultUserRequired" 6635 // You must add default user to a user group. 6636 // 6637 // * ErrCodeInvalidUserGroupStateFault "InvalidUserGroupState" 6638 // The user group is not in an active state. 6639 // 6640 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6641 // The value for a parameter is invalid. 6642 // 6643 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6644 // Two or more incompatible parameters were specified. 6645 // 6646 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyUserGroup 6647 func (c *ElastiCache) ModifyUserGroup(input *ModifyUserGroupInput) (*ModifyUserGroupOutput, error) { 6648 req, out := c.ModifyUserGroupRequest(input) 6649 return out, req.Send() 6650 } 6651 6652 // ModifyUserGroupWithContext is the same as ModifyUserGroup with the addition of 6653 // the ability to pass a context and additional request options. 6654 // 6655 // See ModifyUserGroup for details on how to use this API operation. 6656 // 6657 // The context must be non-nil and will be used for request cancellation. If 6658 // the context is nil a panic will occur. In the future the SDK may create 6659 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6660 // for more information on using Contexts. 6661 func (c *ElastiCache) ModifyUserGroupWithContext(ctx aws.Context, input *ModifyUserGroupInput, opts ...request.Option) (*ModifyUserGroupOutput, error) { 6662 req, out := c.ModifyUserGroupRequest(input) 6663 req.SetContext(ctx) 6664 req.ApplyOptions(opts...) 6665 return out, req.Send() 6666 } 6667 6668 const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" 6669 6670 // PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the 6671 // client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return 6672 // value will be populated with the request's response once the request completes 6673 // successfully. 6674 // 6675 // Use "Send" method on the returned Request to send the API call to the service. 6676 // the "output" return value is not valid until after Send returns without error. 6677 // 6678 // See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering 6679 // API call, and error handling. 6680 // 6681 // This method is useful when you want to inject custom logic or configuration 6682 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6683 // 6684 // 6685 // // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. 6686 // req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) 6687 // 6688 // err := req.Send() 6689 // if err == nil { // resp is now filled 6690 // fmt.Println(resp) 6691 // } 6692 // 6693 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 6694 func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { 6695 op := &request.Operation{ 6696 Name: opPurchaseReservedCacheNodesOffering, 6697 HTTPMethod: "POST", 6698 HTTPPath: "/", 6699 } 6700 6701 if input == nil { 6702 input = &PurchaseReservedCacheNodesOfferingInput{} 6703 } 6704 6705 output = &PurchaseReservedCacheNodesOfferingOutput{} 6706 req = c.newRequest(op, input, output) 6707 return 6708 } 6709 6710 // PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. 6711 // 6712 // Allows you to purchase a reserved cache node offering. Reserved nodes are 6713 // not eligible for cancellation and are non-refundable. For more information, 6714 // see Managing Costs with Reserved Nodes (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/reserved-nodes.html) 6715 // for Redis or Managing Costs with Reserved Nodes (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/reserved-nodes.html) 6716 // for Memcached. 6717 // 6718 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6719 // with awserr.Error's Code and Message methods to get detailed information about 6720 // the error. 6721 // 6722 // See the AWS API reference guide for Amazon ElastiCache's 6723 // API operation PurchaseReservedCacheNodesOffering for usage and error information. 6724 // 6725 // Returned Error Codes: 6726 // * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 6727 // The requested cache node offering does not exist. 6728 // 6729 // * ErrCodeReservedCacheNodeAlreadyExistsFault "ReservedCacheNodeAlreadyExists" 6730 // You already have a reservation with the given identifier. 6731 // 6732 // * ErrCodeReservedCacheNodeQuotaExceededFault "ReservedCacheNodeQuotaExceeded" 6733 // The request cannot be processed because it would exceed the user's cache 6734 // node quota. 6735 // 6736 // * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 6737 // The request cannot be processed because it would cause the resource to have 6738 // more than the allowed number of tags. The maximum number of tags permitted 6739 // on a resource is 50. 6740 // 6741 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6742 // The value for a parameter is invalid. 6743 // 6744 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6745 // Two or more incompatible parameters were specified. 6746 // 6747 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 6748 func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { 6749 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 6750 return out, req.Send() 6751 } 6752 6753 // PurchaseReservedCacheNodesOfferingWithContext is the same as PurchaseReservedCacheNodesOffering with the addition of 6754 // the ability to pass a context and additional request options. 6755 // 6756 // See PurchaseReservedCacheNodesOffering for details on how to use this API operation. 6757 // 6758 // The context must be non-nil and will be used for request cancellation. If 6759 // the context is nil a panic will occur. In the future the SDK may create 6760 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6761 // for more information on using Contexts. 6762 func (c *ElastiCache) PurchaseReservedCacheNodesOfferingWithContext(ctx aws.Context, input *PurchaseReservedCacheNodesOfferingInput, opts ...request.Option) (*PurchaseReservedCacheNodesOfferingOutput, error) { 6763 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 6764 req.SetContext(ctx) 6765 req.ApplyOptions(opts...) 6766 return out, req.Send() 6767 } 6768 6769 const opRebalanceSlotsInGlobalReplicationGroup = "RebalanceSlotsInGlobalReplicationGroup" 6770 6771 // RebalanceSlotsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 6772 // client's request for the RebalanceSlotsInGlobalReplicationGroup operation. The "output" return 6773 // value will be populated with the request's response once the request completes 6774 // successfully. 6775 // 6776 // Use "Send" method on the returned Request to send the API call to the service. 6777 // the "output" return value is not valid until after Send returns without error. 6778 // 6779 // See RebalanceSlotsInGlobalReplicationGroup for more information on using the RebalanceSlotsInGlobalReplicationGroup 6780 // API call, and error handling. 6781 // 6782 // This method is useful when you want to inject custom logic or configuration 6783 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6784 // 6785 // 6786 // // Example sending a request using the RebalanceSlotsInGlobalReplicationGroupRequest method. 6787 // req, resp := client.RebalanceSlotsInGlobalReplicationGroupRequest(params) 6788 // 6789 // err := req.Send() 6790 // if err == nil { // resp is now filled 6791 // fmt.Println(resp) 6792 // } 6793 // 6794 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 6795 func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupRequest(input *RebalanceSlotsInGlobalReplicationGroupInput) (req *request.Request, output *RebalanceSlotsInGlobalReplicationGroupOutput) { 6796 op := &request.Operation{ 6797 Name: opRebalanceSlotsInGlobalReplicationGroup, 6798 HTTPMethod: "POST", 6799 HTTPPath: "/", 6800 } 6801 6802 if input == nil { 6803 input = &RebalanceSlotsInGlobalReplicationGroupInput{} 6804 } 6805 6806 output = &RebalanceSlotsInGlobalReplicationGroupOutput{} 6807 req = c.newRequest(op, input, output) 6808 return 6809 } 6810 6811 // RebalanceSlotsInGlobalReplicationGroup API operation for Amazon ElastiCache. 6812 // 6813 // Redistribute slots to ensure uniform distribution across existing shards 6814 // in the cluster. 6815 // 6816 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6817 // with awserr.Error's Code and Message methods to get detailed information about 6818 // the error. 6819 // 6820 // See the AWS API reference guide for Amazon ElastiCache's 6821 // API operation RebalanceSlotsInGlobalReplicationGroup for usage and error information. 6822 // 6823 // Returned Error Codes: 6824 // * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 6825 // The Global datastore does not exist 6826 // 6827 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6828 // The Global datastore is not available or in primary-only state. 6829 // 6830 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6831 // The value for a parameter is invalid. 6832 // 6833 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 6834 func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroup(input *RebalanceSlotsInGlobalReplicationGroupInput) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 6835 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 6836 return out, req.Send() 6837 } 6838 6839 // RebalanceSlotsInGlobalReplicationGroupWithContext is the same as RebalanceSlotsInGlobalReplicationGroup with the addition of 6840 // the ability to pass a context and additional request options. 6841 // 6842 // See RebalanceSlotsInGlobalReplicationGroup for details on how to use this API operation. 6843 // 6844 // The context must be non-nil and will be used for request cancellation. If 6845 // the context is nil a panic will occur. In the future the SDK may create 6846 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6847 // for more information on using Contexts. 6848 func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupWithContext(ctx aws.Context, input *RebalanceSlotsInGlobalReplicationGroupInput, opts ...request.Option) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 6849 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 6850 req.SetContext(ctx) 6851 req.ApplyOptions(opts...) 6852 return out, req.Send() 6853 } 6854 6855 const opRebootCacheCluster = "RebootCacheCluster" 6856 6857 // RebootCacheClusterRequest generates a "aws/request.Request" representing the 6858 // client's request for the RebootCacheCluster operation. The "output" return 6859 // value will be populated with the request's response once the request completes 6860 // successfully. 6861 // 6862 // Use "Send" method on the returned Request to send the API call to the service. 6863 // the "output" return value is not valid until after Send returns without error. 6864 // 6865 // See RebootCacheCluster for more information on using the RebootCacheCluster 6866 // API call, and error handling. 6867 // 6868 // This method is useful when you want to inject custom logic or configuration 6869 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6870 // 6871 // 6872 // // Example sending a request using the RebootCacheClusterRequest method. 6873 // req, resp := client.RebootCacheClusterRequest(params) 6874 // 6875 // err := req.Send() 6876 // if err == nil { // resp is now filled 6877 // fmt.Println(resp) 6878 // } 6879 // 6880 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 6881 func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { 6882 op := &request.Operation{ 6883 Name: opRebootCacheCluster, 6884 HTTPMethod: "POST", 6885 HTTPPath: "/", 6886 } 6887 6888 if input == nil { 6889 input = &RebootCacheClusterInput{} 6890 } 6891 6892 output = &RebootCacheClusterOutput{} 6893 req = c.newRequest(op, input, output) 6894 return 6895 } 6896 6897 // RebootCacheCluster API operation for Amazon ElastiCache. 6898 // 6899 // Reboots some, or all, of the cache nodes within a provisioned cluster. This 6900 // operation applies any modified cache parameter groups to the cluster. The 6901 // reboot operation takes place as soon as possible, and results in a momentary 6902 // outage to the cluster. During the reboot, the cluster status is set to REBOOTING. 6903 // 6904 // The reboot causes the contents of the cache (for each cache node being rebooted) 6905 // to be lost. 6906 // 6907 // When the reboot is complete, a cluster event is created. 6908 // 6909 // Rebooting a cluster is currently supported on Memcached and Redis (cluster 6910 // mode disabled) clusters. Rebooting is not supported on Redis (cluster mode 6911 // enabled) clusters. 6912 // 6913 // If you make changes to parameters that require a Redis (cluster mode enabled) 6914 // cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) 6915 // for an alternate process. 6916 // 6917 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6918 // with awserr.Error's Code and Message methods to get detailed information about 6919 // the error. 6920 // 6921 // See the AWS API reference guide for Amazon ElastiCache's 6922 // API operation RebootCacheCluster for usage and error information. 6923 // 6924 // Returned Error Codes: 6925 // * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6926 // The requested cluster is not in the available state. 6927 // 6928 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 6929 // The requested cluster ID does not refer to an existing cluster. 6930 // 6931 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 6932 func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { 6933 req, out := c.RebootCacheClusterRequest(input) 6934 return out, req.Send() 6935 } 6936 6937 // RebootCacheClusterWithContext is the same as RebootCacheCluster with the addition of 6938 // the ability to pass a context and additional request options. 6939 // 6940 // See RebootCacheCluster for details on how to use this API operation. 6941 // 6942 // The context must be non-nil and will be used for request cancellation. If 6943 // the context is nil a panic will occur. In the future the SDK may create 6944 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6945 // for more information on using Contexts. 6946 func (c *ElastiCache) RebootCacheClusterWithContext(ctx aws.Context, input *RebootCacheClusterInput, opts ...request.Option) (*RebootCacheClusterOutput, error) { 6947 req, out := c.RebootCacheClusterRequest(input) 6948 req.SetContext(ctx) 6949 req.ApplyOptions(opts...) 6950 return out, req.Send() 6951 } 6952 6953 const opRemoveTagsFromResource = "RemoveTagsFromResource" 6954 6955 // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the 6956 // client's request for the RemoveTagsFromResource operation. The "output" return 6957 // value will be populated with the request's response once the request completes 6958 // successfully. 6959 // 6960 // Use "Send" method on the returned Request to send the API call to the service. 6961 // the "output" return value is not valid until after Send returns without error. 6962 // 6963 // See RemoveTagsFromResource for more information on using the RemoveTagsFromResource 6964 // API call, and error handling. 6965 // 6966 // This method is useful when you want to inject custom logic or configuration 6967 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 6968 // 6969 // 6970 // // Example sending a request using the RemoveTagsFromResourceRequest method. 6971 // req, resp := client.RemoveTagsFromResourceRequest(params) 6972 // 6973 // err := req.Send() 6974 // if err == nil { // resp is now filled 6975 // fmt.Println(resp) 6976 // } 6977 // 6978 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 6979 func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { 6980 op := &request.Operation{ 6981 Name: opRemoveTagsFromResource, 6982 HTTPMethod: "POST", 6983 HTTPPath: "/", 6984 } 6985 6986 if input == nil { 6987 input = &RemoveTagsFromResourceInput{} 6988 } 6989 6990 output = &TagListMessage{} 6991 req = c.newRequest(op, input, output) 6992 return 6993 } 6994 6995 // RemoveTagsFromResource API operation for Amazon ElastiCache. 6996 // 6997 // Removes the tags identified by the TagKeys list from the named resource. 6998 // A tag is a key-value pair where the key and value are case-sensitive. You 6999 // can use tags to categorize and track all your ElastiCache resources, with 7000 // the exception of global replication group. When you add or remove tags on 7001 // replication groups, those actions will be replicated to all nodes in the 7002 // replication group. For more information, see Resource-level permissions (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.ResourceLevelPermissions.html). 7003 // 7004 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7005 // with awserr.Error's Code and Message methods to get detailed information about 7006 // the error. 7007 // 7008 // See the AWS API reference guide for Amazon ElastiCache's 7009 // API operation RemoveTagsFromResource for usage and error information. 7010 // 7011 // Returned Error Codes: 7012 // * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 7013 // The requested cluster ID does not refer to an existing cluster. 7014 // 7015 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 7016 // The requested cache parameter group name does not refer to an existing cache 7017 // parameter group. 7018 // 7019 // * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 7020 // The requested cache security group name does not refer to an existing cache 7021 // security group. 7022 // 7023 // * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 7024 // The requested cache subnet group name does not refer to an existing cache 7025 // subnet group. 7026 // 7027 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 7028 // The requested replication group is not in the available state. 7029 // 7030 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 7031 // The specified replication group does not exist. 7032 // 7033 // * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 7034 // The requested reserved cache node was not found. 7035 // 7036 // * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 7037 // The requested snapshot name does not refer to an existing snapshot. 7038 // 7039 // * ErrCodeUserNotFoundFault "UserNotFound" 7040 // The user does not exist or could not be found. 7041 // 7042 // * ErrCodeUserGroupNotFoundFault "UserGroupNotFound" 7043 // The user group was not found or does not exist 7044 // 7045 // * ErrCodeInvalidARNFault "InvalidARN" 7046 // The requested Amazon Resource Name (ARN) does not refer to an existing resource. 7047 // 7048 // * ErrCodeTagNotFoundFault "TagNotFound" 7049 // The requested tag was not found on this resource. 7050 // 7051 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 7052 func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { 7053 req, out := c.RemoveTagsFromResourceRequest(input) 7054 return out, req.Send() 7055 } 7056 7057 // RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of 7058 // the ability to pass a context and additional request options. 7059 // 7060 // See RemoveTagsFromResource for details on how to use this API operation. 7061 // 7062 // The context must be non-nil and will be used for request cancellation. If 7063 // the context is nil a panic will occur. In the future the SDK may create 7064 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7065 // for more information on using Contexts. 7066 func (c *ElastiCache) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*TagListMessage, error) { 7067 req, out := c.RemoveTagsFromResourceRequest(input) 7068 req.SetContext(ctx) 7069 req.ApplyOptions(opts...) 7070 return out, req.Send() 7071 } 7072 7073 const opResetCacheParameterGroup = "ResetCacheParameterGroup" 7074 7075 // ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the 7076 // client's request for the ResetCacheParameterGroup operation. The "output" return 7077 // value will be populated with the request's response once the request completes 7078 // successfully. 7079 // 7080 // Use "Send" method on the returned Request to send the API call to the service. 7081 // the "output" return value is not valid until after Send returns without error. 7082 // 7083 // See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup 7084 // API call, and error handling. 7085 // 7086 // This method is useful when you want to inject custom logic or configuration 7087 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7088 // 7089 // 7090 // // Example sending a request using the ResetCacheParameterGroupRequest method. 7091 // req, resp := client.ResetCacheParameterGroupRequest(params) 7092 // 7093 // err := req.Send() 7094 // if err == nil { // resp is now filled 7095 // fmt.Println(resp) 7096 // } 7097 // 7098 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 7099 func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 7100 op := &request.Operation{ 7101 Name: opResetCacheParameterGroup, 7102 HTTPMethod: "POST", 7103 HTTPPath: "/", 7104 } 7105 7106 if input == nil { 7107 input = &ResetCacheParameterGroupInput{} 7108 } 7109 7110 output = &CacheParameterGroupNameMessage{} 7111 req = c.newRequest(op, input, output) 7112 return 7113 } 7114 7115 // ResetCacheParameterGroup API operation for Amazon ElastiCache. 7116 // 7117 // Modifies the parameters of a cache parameter group to the engine or system 7118 // default value. You can reset specific parameters by submitting a list of 7119 // parameter names. To reset the entire cache parameter group, specify the ResetAllParameters 7120 // and CacheParameterGroupName parameters. 7121 // 7122 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7123 // with awserr.Error's Code and Message methods to get detailed information about 7124 // the error. 7125 // 7126 // See the AWS API reference guide for Amazon ElastiCache's 7127 // API operation ResetCacheParameterGroup for usage and error information. 7128 // 7129 // Returned Error Codes: 7130 // * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 7131 // The current state of the cache parameter group does not allow the requested 7132 // operation to occur. 7133 // 7134 // * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 7135 // The requested cache parameter group name does not refer to an existing cache 7136 // parameter group. 7137 // 7138 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7139 // The value for a parameter is invalid. 7140 // 7141 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 7142 // Two or more incompatible parameters were specified. 7143 // 7144 // * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 7145 // The Global datastore is not available or in primary-only state. 7146 // 7147 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 7148 func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 7149 req, out := c.ResetCacheParameterGroupRequest(input) 7150 return out, req.Send() 7151 } 7152 7153 // ResetCacheParameterGroupWithContext is the same as ResetCacheParameterGroup with the addition of 7154 // the ability to pass a context and additional request options. 7155 // 7156 // See ResetCacheParameterGroup for details on how to use this API operation. 7157 // 7158 // The context must be non-nil and will be used for request cancellation. If 7159 // the context is nil a panic will occur. In the future the SDK may create 7160 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7161 // for more information on using Contexts. 7162 func (c *ElastiCache) ResetCacheParameterGroupWithContext(ctx aws.Context, input *ResetCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 7163 req, out := c.ResetCacheParameterGroupRequest(input) 7164 req.SetContext(ctx) 7165 req.ApplyOptions(opts...) 7166 return out, req.Send() 7167 } 7168 7169 const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" 7170 7171 // RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 7172 // client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return 7173 // value will be populated with the request's response once the request completes 7174 // successfully. 7175 // 7176 // Use "Send" method on the returned Request to send the API call to the service. 7177 // the "output" return value is not valid until after Send returns without error. 7178 // 7179 // See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress 7180 // API call, and error handling. 7181 // 7182 // This method is useful when you want to inject custom logic or configuration 7183 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7184 // 7185 // 7186 // // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. 7187 // req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) 7188 // 7189 // err := req.Send() 7190 // if err == nil { // resp is now filled 7191 // fmt.Println(resp) 7192 // } 7193 // 7194 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 7195 func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { 7196 op := &request.Operation{ 7197 Name: opRevokeCacheSecurityGroupIngress, 7198 HTTPMethod: "POST", 7199 HTTPPath: "/", 7200 } 7201 7202 if input == nil { 7203 input = &RevokeCacheSecurityGroupIngressInput{} 7204 } 7205 7206 output = &RevokeCacheSecurityGroupIngressOutput{} 7207 req = c.newRequest(op, input, output) 7208 return 7209 } 7210 7211 // RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 7212 // 7213 // Revokes ingress from a cache security group. Use this operation to disallow 7214 // access from an Amazon EC2 security group that had been previously authorized. 7215 // 7216 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7217 // with awserr.Error's Code and Message methods to get detailed information about 7218 // the error. 7219 // 7220 // See the AWS API reference guide for Amazon ElastiCache's 7221 // API operation RevokeCacheSecurityGroupIngress for usage and error information. 7222 // 7223 // Returned Error Codes: 7224 // * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 7225 // The requested cache security group name does not refer to an existing cache 7226 // security group. 7227 // 7228 // * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 7229 // The specified Amazon EC2 security group is not authorized for the specified 7230 // cache security group. 7231 // 7232 // * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 7233 // The current state of the cache security group does not allow deletion. 7234 // 7235 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7236 // The value for a parameter is invalid. 7237 // 7238 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 7239 // Two or more incompatible parameters were specified. 7240 // 7241 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 7242 func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { 7243 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 7244 return out, req.Send() 7245 } 7246 7247 // RevokeCacheSecurityGroupIngressWithContext is the same as RevokeCacheSecurityGroupIngress with the addition of 7248 // the ability to pass a context and additional request options. 7249 // 7250 // See RevokeCacheSecurityGroupIngress for details on how to use this API operation. 7251 // 7252 // The context must be non-nil and will be used for request cancellation. If 7253 // the context is nil a panic will occur. In the future the SDK may create 7254 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7255 // for more information on using Contexts. 7256 func (c *ElastiCache) RevokeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeCacheSecurityGroupIngressInput, opts ...request.Option) (*RevokeCacheSecurityGroupIngressOutput, error) { 7257 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 7258 req.SetContext(ctx) 7259 req.ApplyOptions(opts...) 7260 return out, req.Send() 7261 } 7262 7263 const opStartMigration = "StartMigration" 7264 7265 // StartMigrationRequest generates a "aws/request.Request" representing the 7266 // client's request for the StartMigration operation. The "output" return 7267 // value will be populated with the request's response once the request completes 7268 // successfully. 7269 // 7270 // Use "Send" method on the returned Request to send the API call to the service. 7271 // the "output" return value is not valid until after Send returns without error. 7272 // 7273 // See StartMigration for more information on using the StartMigration 7274 // API call, and error handling. 7275 // 7276 // This method is useful when you want to inject custom logic or configuration 7277 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7278 // 7279 // 7280 // // Example sending a request using the StartMigrationRequest method. 7281 // req, resp := client.StartMigrationRequest(params) 7282 // 7283 // err := req.Send() 7284 // if err == nil { // resp is now filled 7285 // fmt.Println(resp) 7286 // } 7287 // 7288 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 7289 func (c *ElastiCache) StartMigrationRequest(input *StartMigrationInput) (req *request.Request, output *StartMigrationOutput) { 7290 op := &request.Operation{ 7291 Name: opStartMigration, 7292 HTTPMethod: "POST", 7293 HTTPPath: "/", 7294 } 7295 7296 if input == nil { 7297 input = &StartMigrationInput{} 7298 } 7299 7300 output = &StartMigrationOutput{} 7301 req = c.newRequest(op, input, output) 7302 return 7303 } 7304 7305 // StartMigration API operation for Amazon ElastiCache. 7306 // 7307 // Start the migration of data. 7308 // 7309 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7310 // with awserr.Error's Code and Message methods to get detailed information about 7311 // the error. 7312 // 7313 // See the AWS API reference guide for Amazon ElastiCache's 7314 // API operation StartMigration for usage and error information. 7315 // 7316 // Returned Error Codes: 7317 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 7318 // The specified replication group does not exist. 7319 // 7320 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 7321 // The requested replication group is not in the available state. 7322 // 7323 // * ErrCodeReplicationGroupAlreadyUnderMigrationFault "ReplicationGroupAlreadyUnderMigrationFault" 7324 // The targeted replication group is not available. 7325 // 7326 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7327 // The value for a parameter is invalid. 7328 // 7329 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 7330 func (c *ElastiCache) StartMigration(input *StartMigrationInput) (*StartMigrationOutput, error) { 7331 req, out := c.StartMigrationRequest(input) 7332 return out, req.Send() 7333 } 7334 7335 // StartMigrationWithContext is the same as StartMigration with the addition of 7336 // the ability to pass a context and additional request options. 7337 // 7338 // See StartMigration for details on how to use this API operation. 7339 // 7340 // The context must be non-nil and will be used for request cancellation. If 7341 // the context is nil a panic will occur. In the future the SDK may create 7342 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7343 // for more information on using Contexts. 7344 func (c *ElastiCache) StartMigrationWithContext(ctx aws.Context, input *StartMigrationInput, opts ...request.Option) (*StartMigrationOutput, error) { 7345 req, out := c.StartMigrationRequest(input) 7346 req.SetContext(ctx) 7347 req.ApplyOptions(opts...) 7348 return out, req.Send() 7349 } 7350 7351 const opTestFailover = "TestFailover" 7352 7353 // TestFailoverRequest generates a "aws/request.Request" representing the 7354 // client's request for the TestFailover operation. The "output" return 7355 // value will be populated with the request's response once the request completes 7356 // successfully. 7357 // 7358 // Use "Send" method on the returned Request to send the API call to the service. 7359 // the "output" return value is not valid until after Send returns without error. 7360 // 7361 // See TestFailover for more information on using the TestFailover 7362 // API call, and error handling. 7363 // 7364 // This method is useful when you want to inject custom logic or configuration 7365 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 7366 // 7367 // 7368 // // Example sending a request using the TestFailoverRequest method. 7369 // req, resp := client.TestFailoverRequest(params) 7370 // 7371 // err := req.Send() 7372 // if err == nil { // resp is now filled 7373 // fmt.Println(resp) 7374 // } 7375 // 7376 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 7377 func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *request.Request, output *TestFailoverOutput) { 7378 op := &request.Operation{ 7379 Name: opTestFailover, 7380 HTTPMethod: "POST", 7381 HTTPPath: "/", 7382 } 7383 7384 if input == nil { 7385 input = &TestFailoverInput{} 7386 } 7387 7388 output = &TestFailoverOutput{} 7389 req = c.newRequest(op, input, output) 7390 return 7391 } 7392 7393 // TestFailover API operation for Amazon ElastiCache. 7394 // 7395 // Represents the input of a TestFailover operation which test automatic failover 7396 // on a specified node group (called shard in the console) in a replication 7397 // group (called cluster in the console). 7398 // 7399 // Note the following 7400 // 7401 // * A customer can use this operation to test automatic failover on up to 7402 // 5 shards (called node groups in the ElastiCache API and Amazon CLI) in 7403 // any rolling 24-hour period. 7404 // 7405 // * If calling this operation on shards in different clusters (called replication 7406 // groups in the API and CLI), the calls can be made concurrently. 7407 // 7408 // * If calling this operation multiple times on different shards in the 7409 // same Redis (cluster mode enabled) replication group, the first node replacement 7410 // must complete before a subsequent call can be made. 7411 // 7412 // * To determine whether the node replacement is complete you can check 7413 // Events using the Amazon ElastiCache console, the Amazon CLI, or the ElastiCache 7414 // API. Look for the following automatic failover related events, listed 7415 // here in order of occurrance: Replication group message: Test Failover 7416 // API called for node group <node-group-id> Cache cluster message: Failover 7417 // from primary node <primary-node-id> to replica node <node-id> completed 7418 // Replication group message: Failover from primary node <primary-node-id> 7419 // to replica node <node-id> completed Cache cluster message: Recovering 7420 // cache nodes <node-id> Cache cluster message: Finished recovery for cache 7421 // nodes <node-id> For more information see: Viewing ElastiCache Events (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) 7422 // in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 7423 // in the ElastiCache API Reference 7424 // 7425 // Also see, Testing Multi-AZ (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) 7426 // in the ElastiCache User Guide. 7427 // 7428 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7429 // with awserr.Error's Code and Message methods to get detailed information about 7430 // the error. 7431 // 7432 // See the AWS API reference guide for Amazon ElastiCache's 7433 // API operation TestFailover for usage and error information. 7434 // 7435 // Returned Error Codes: 7436 // * ErrCodeAPICallRateForCustomerExceededFault "APICallRateForCustomerExceeded" 7437 // The customer has exceeded the allowed rate of API calls. 7438 // 7439 // * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 7440 // The requested cluster is not in the available state. 7441 // 7442 // * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 7443 // The requested replication group is not in the available state. 7444 // 7445 // * ErrCodeNodeGroupNotFoundFault "NodeGroupNotFoundFault" 7446 // The node group specified by the NodeGroupId parameter could not be found. 7447 // Please verify that the node group exists and that you spelled the NodeGroupId 7448 // value correctly. 7449 // 7450 // * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 7451 // The specified replication group does not exist. 7452 // 7453 // * ErrCodeTestFailoverNotAvailableFault "TestFailoverNotAvailableFault" 7454 // The TestFailover action is not available. 7455 // 7456 // * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 7457 // The KMS key supplied is not valid. 7458 // 7459 // * ErrCodeInvalidParameterValueException "InvalidParameterValue" 7460 // The value for a parameter is invalid. 7461 // 7462 // * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 7463 // Two or more incompatible parameters were specified. 7464 // 7465 // See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 7466 func (c *ElastiCache) TestFailover(input *TestFailoverInput) (*TestFailoverOutput, error) { 7467 req, out := c.TestFailoverRequest(input) 7468 return out, req.Send() 7469 } 7470 7471 // TestFailoverWithContext is the same as TestFailover with the addition of 7472 // the ability to pass a context and additional request options. 7473 // 7474 // See TestFailover for details on how to use this API operation. 7475 // 7476 // The context must be non-nil and will be used for request cancellation. If 7477 // the context is nil a panic will occur. In the future the SDK may create 7478 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7479 // for more information on using Contexts. 7480 func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailoverInput, opts ...request.Option) (*TestFailoverOutput, error) { 7481 req, out := c.TestFailoverRequest(input) 7482 req.SetContext(ctx) 7483 req.ApplyOptions(opts...) 7484 return out, req.Send() 7485 } 7486 7487 // Represents the input of an AddTagsToResource operation. 7488 type AddTagsToResourceInput struct { 7489 _ struct{} `type:"structure"` 7490 7491 // The Amazon Resource Name (ARN) of the resource to which the tags are to be 7492 // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 7493 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache 7494 // resources are cluster and snapshot. 7495 // 7496 // For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon 7497 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 7498 // 7499 // ResourceName is a required field 7500 ResourceName *string `type:"string" required:"true"` 7501 7502 // A list of tags to be added to this resource. A tag is a key-value pair. A 7503 // tag key must be accompanied by a tag value, although null is accepted. 7504 // 7505 // Tags is a required field 7506 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 7507 } 7508 7509 // String returns the string representation. 7510 // 7511 // API parameter values that are decorated as "sensitive" in the API will not 7512 // be included in the string output. The member name will be present, but the 7513 // value will be replaced with "sensitive". 7514 func (s AddTagsToResourceInput) String() string { 7515 return awsutil.Prettify(s) 7516 } 7517 7518 // GoString returns the string representation. 7519 // 7520 // API parameter values that are decorated as "sensitive" in the API will not 7521 // be included in the string output. The member name will be present, but the 7522 // value will be replaced with "sensitive". 7523 func (s AddTagsToResourceInput) GoString() string { 7524 return s.String() 7525 } 7526 7527 // Validate inspects the fields of the type to determine if they are valid. 7528 func (s *AddTagsToResourceInput) Validate() error { 7529 invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} 7530 if s.ResourceName == nil { 7531 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 7532 } 7533 if s.Tags == nil { 7534 invalidParams.Add(request.NewErrParamRequired("Tags")) 7535 } 7536 7537 if invalidParams.Len() > 0 { 7538 return invalidParams 7539 } 7540 return nil 7541 } 7542 7543 // SetResourceName sets the ResourceName field's value. 7544 func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { 7545 s.ResourceName = &v 7546 return s 7547 } 7548 7549 // SetTags sets the Tags field's value. 7550 func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { 7551 s.Tags = v 7552 return s 7553 } 7554 7555 // Indicates whether the user requires a password to authenticate. 7556 type Authentication struct { 7557 _ struct{} `type:"structure"` 7558 7559 // The number of passwords belonging to the user. The maximum is two. 7560 PasswordCount *int64 `type:"integer"` 7561 7562 // Indicates whether the user requires a password to authenticate. 7563 Type *string `type:"string" enum:"AuthenticationType"` 7564 } 7565 7566 // String returns the string representation. 7567 // 7568 // API parameter values that are decorated as "sensitive" in the API will not 7569 // be included in the string output. The member name will be present, but the 7570 // value will be replaced with "sensitive". 7571 func (s Authentication) String() string { 7572 return awsutil.Prettify(s) 7573 } 7574 7575 // GoString returns the string representation. 7576 // 7577 // API parameter values that are decorated as "sensitive" in the API will not 7578 // be included in the string output. The member name will be present, but the 7579 // value will be replaced with "sensitive". 7580 func (s Authentication) GoString() string { 7581 return s.String() 7582 } 7583 7584 // SetPasswordCount sets the PasswordCount field's value. 7585 func (s *Authentication) SetPasswordCount(v int64) *Authentication { 7586 s.PasswordCount = &v 7587 return s 7588 } 7589 7590 // SetType sets the Type field's value. 7591 func (s *Authentication) SetType(v string) *Authentication { 7592 s.Type = &v 7593 return s 7594 } 7595 7596 // Represents the input of an AuthorizeCacheSecurityGroupIngress operation. 7597 type AuthorizeCacheSecurityGroupIngressInput struct { 7598 _ struct{} `type:"structure"` 7599 7600 // The cache security group that allows network ingress. 7601 // 7602 // CacheSecurityGroupName is a required field 7603 CacheSecurityGroupName *string `type:"string" required:"true"` 7604 7605 // The Amazon EC2 security group to be authorized for ingress to the cache security 7606 // group. 7607 // 7608 // EC2SecurityGroupName is a required field 7609 EC2SecurityGroupName *string `type:"string" required:"true"` 7610 7611 // The Amazon account number of the Amazon EC2 security group owner. Note that 7612 // this is not the same thing as an Amazon access key ID - you must provide 7613 // a valid Amazon account number for this parameter. 7614 // 7615 // EC2SecurityGroupOwnerId is a required field 7616 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 7617 } 7618 7619 // String returns the string representation. 7620 // 7621 // API parameter values that are decorated as "sensitive" in the API will not 7622 // be included in the string output. The member name will be present, but the 7623 // value will be replaced with "sensitive". 7624 func (s AuthorizeCacheSecurityGroupIngressInput) String() string { 7625 return awsutil.Prettify(s) 7626 } 7627 7628 // GoString returns the string representation. 7629 // 7630 // API parameter values that are decorated as "sensitive" in the API will not 7631 // be included in the string output. The member name will be present, but the 7632 // value will be replaced with "sensitive". 7633 func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { 7634 return s.String() 7635 } 7636 7637 // Validate inspects the fields of the type to determine if they are valid. 7638 func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { 7639 invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} 7640 if s.CacheSecurityGroupName == nil { 7641 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 7642 } 7643 if s.EC2SecurityGroupName == nil { 7644 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 7645 } 7646 if s.EC2SecurityGroupOwnerId == nil { 7647 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 7648 } 7649 7650 if invalidParams.Len() > 0 { 7651 return invalidParams 7652 } 7653 return nil 7654 } 7655 7656 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7657 func (s *AuthorizeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 7658 s.CacheSecurityGroupName = &v 7659 return s 7660 } 7661 7662 // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 7663 func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 7664 s.EC2SecurityGroupName = &v 7665 return s 7666 } 7667 7668 // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 7669 func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeCacheSecurityGroupIngressInput { 7670 s.EC2SecurityGroupOwnerId = &v 7671 return s 7672 } 7673 7674 type AuthorizeCacheSecurityGroupIngressOutput struct { 7675 _ struct{} `type:"structure"` 7676 7677 // Represents the output of one of the following operations: 7678 // 7679 // * AuthorizeCacheSecurityGroupIngress 7680 // 7681 // * CreateCacheSecurityGroup 7682 // 7683 // * RevokeCacheSecurityGroupIngress 7684 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 7685 } 7686 7687 // String returns the string representation. 7688 // 7689 // API parameter values that are decorated as "sensitive" in the API will not 7690 // be included in the string output. The member name will be present, but the 7691 // value will be replaced with "sensitive". 7692 func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { 7693 return awsutil.Prettify(s) 7694 } 7695 7696 // GoString returns the string representation. 7697 // 7698 // API parameter values that are decorated as "sensitive" in the API will not 7699 // be included in the string output. The member name will be present, but the 7700 // value will be replaced with "sensitive". 7701 func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { 7702 return s.String() 7703 } 7704 7705 // SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 7706 func (s *AuthorizeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *AuthorizeCacheSecurityGroupIngressOutput { 7707 s.CacheSecurityGroup = v 7708 return s 7709 } 7710 7711 // Describes an Availability Zone in which the cluster is launched. 7712 type AvailabilityZone struct { 7713 _ struct{} `type:"structure"` 7714 7715 // The name of the Availability Zone. 7716 Name *string `type:"string"` 7717 } 7718 7719 // String returns the string representation. 7720 // 7721 // API parameter values that are decorated as "sensitive" in the API will not 7722 // be included in the string output. The member name will be present, but the 7723 // value will be replaced with "sensitive". 7724 func (s AvailabilityZone) String() string { 7725 return awsutil.Prettify(s) 7726 } 7727 7728 // GoString returns the string representation. 7729 // 7730 // API parameter values that are decorated as "sensitive" in the API will not 7731 // be included in the string output. The member name will be present, but the 7732 // value will be replaced with "sensitive". 7733 func (s AvailabilityZone) GoString() string { 7734 return s.String() 7735 } 7736 7737 // SetName sets the Name field's value. 7738 func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 7739 s.Name = &v 7740 return s 7741 } 7742 7743 type BatchApplyUpdateActionInput struct { 7744 _ struct{} `type:"structure"` 7745 7746 // The cache cluster IDs 7747 CacheClusterIds []*string `type:"list"` 7748 7749 // The replication group IDs 7750 ReplicationGroupIds []*string `type:"list"` 7751 7752 // The unique ID of the service update 7753 // 7754 // ServiceUpdateName is a required field 7755 ServiceUpdateName *string `type:"string" required:"true"` 7756 } 7757 7758 // String returns the string representation. 7759 // 7760 // API parameter values that are decorated as "sensitive" in the API will not 7761 // be included in the string output. The member name will be present, but the 7762 // value will be replaced with "sensitive". 7763 func (s BatchApplyUpdateActionInput) String() string { 7764 return awsutil.Prettify(s) 7765 } 7766 7767 // GoString returns the string representation. 7768 // 7769 // API parameter values that are decorated as "sensitive" in the API will not 7770 // be included in the string output. The member name will be present, but the 7771 // value will be replaced with "sensitive". 7772 func (s BatchApplyUpdateActionInput) GoString() string { 7773 return s.String() 7774 } 7775 7776 // Validate inspects the fields of the type to determine if they are valid. 7777 func (s *BatchApplyUpdateActionInput) Validate() error { 7778 invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} 7779 if s.ServiceUpdateName == nil { 7780 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 7781 } 7782 7783 if invalidParams.Len() > 0 { 7784 return invalidParams 7785 } 7786 return nil 7787 } 7788 7789 // SetCacheClusterIds sets the CacheClusterIds field's value. 7790 func (s *BatchApplyUpdateActionInput) SetCacheClusterIds(v []*string) *BatchApplyUpdateActionInput { 7791 s.CacheClusterIds = v 7792 return s 7793 } 7794 7795 // SetReplicationGroupIds sets the ReplicationGroupIds field's value. 7796 func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { 7797 s.ReplicationGroupIds = v 7798 return s 7799 } 7800 7801 // SetServiceUpdateName sets the ServiceUpdateName field's value. 7802 func (s *BatchApplyUpdateActionInput) SetServiceUpdateName(v string) *BatchApplyUpdateActionInput { 7803 s.ServiceUpdateName = &v 7804 return s 7805 } 7806 7807 type BatchApplyUpdateActionOutput struct { 7808 _ struct{} `type:"structure"` 7809 7810 // Update actions that have been processed successfully 7811 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 7812 7813 // Update actions that haven't been processed successfully 7814 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 7815 } 7816 7817 // String returns the string representation. 7818 // 7819 // API parameter values that are decorated as "sensitive" in the API will not 7820 // be included in the string output. The member name will be present, but the 7821 // value will be replaced with "sensitive". 7822 func (s BatchApplyUpdateActionOutput) String() string { 7823 return awsutil.Prettify(s) 7824 } 7825 7826 // GoString returns the string representation. 7827 // 7828 // API parameter values that are decorated as "sensitive" in the API will not 7829 // be included in the string output. The member name will be present, but the 7830 // value will be replaced with "sensitive". 7831 func (s BatchApplyUpdateActionOutput) GoString() string { 7832 return s.String() 7833 } 7834 7835 // SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 7836 func (s *BatchApplyUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchApplyUpdateActionOutput { 7837 s.ProcessedUpdateActions = v 7838 return s 7839 } 7840 7841 // SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 7842 func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchApplyUpdateActionOutput { 7843 s.UnprocessedUpdateActions = v 7844 return s 7845 } 7846 7847 type BatchStopUpdateActionInput struct { 7848 _ struct{} `type:"structure"` 7849 7850 // The cache cluster IDs 7851 CacheClusterIds []*string `type:"list"` 7852 7853 // The replication group IDs 7854 ReplicationGroupIds []*string `type:"list"` 7855 7856 // The unique ID of the service update 7857 // 7858 // ServiceUpdateName is a required field 7859 ServiceUpdateName *string `type:"string" required:"true"` 7860 } 7861 7862 // String returns the string representation. 7863 // 7864 // API parameter values that are decorated as "sensitive" in the API will not 7865 // be included in the string output. The member name will be present, but the 7866 // value will be replaced with "sensitive". 7867 func (s BatchStopUpdateActionInput) String() string { 7868 return awsutil.Prettify(s) 7869 } 7870 7871 // GoString returns the string representation. 7872 // 7873 // API parameter values that are decorated as "sensitive" in the API will not 7874 // be included in the string output. The member name will be present, but the 7875 // value will be replaced with "sensitive". 7876 func (s BatchStopUpdateActionInput) GoString() string { 7877 return s.String() 7878 } 7879 7880 // Validate inspects the fields of the type to determine if they are valid. 7881 func (s *BatchStopUpdateActionInput) Validate() error { 7882 invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} 7883 if s.ServiceUpdateName == nil { 7884 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 7885 } 7886 7887 if invalidParams.Len() > 0 { 7888 return invalidParams 7889 } 7890 return nil 7891 } 7892 7893 // SetCacheClusterIds sets the CacheClusterIds field's value. 7894 func (s *BatchStopUpdateActionInput) SetCacheClusterIds(v []*string) *BatchStopUpdateActionInput { 7895 s.CacheClusterIds = v 7896 return s 7897 } 7898 7899 // SetReplicationGroupIds sets the ReplicationGroupIds field's value. 7900 func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { 7901 s.ReplicationGroupIds = v 7902 return s 7903 } 7904 7905 // SetServiceUpdateName sets the ServiceUpdateName field's value. 7906 func (s *BatchStopUpdateActionInput) SetServiceUpdateName(v string) *BatchStopUpdateActionInput { 7907 s.ServiceUpdateName = &v 7908 return s 7909 } 7910 7911 type BatchStopUpdateActionOutput struct { 7912 _ struct{} `type:"structure"` 7913 7914 // Update actions that have been processed successfully 7915 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 7916 7917 // Update actions that haven't been processed successfully 7918 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 7919 } 7920 7921 // String returns the string representation. 7922 // 7923 // API parameter values that are decorated as "sensitive" in the API will not 7924 // be included in the string output. The member name will be present, but the 7925 // value will be replaced with "sensitive". 7926 func (s BatchStopUpdateActionOutput) String() string { 7927 return awsutil.Prettify(s) 7928 } 7929 7930 // GoString returns the string representation. 7931 // 7932 // API parameter values that are decorated as "sensitive" in the API will not 7933 // be included in the string output. The member name will be present, but the 7934 // value will be replaced with "sensitive". 7935 func (s BatchStopUpdateActionOutput) GoString() string { 7936 return s.String() 7937 } 7938 7939 // SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 7940 func (s *BatchStopUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchStopUpdateActionOutput { 7941 s.ProcessedUpdateActions = v 7942 return s 7943 } 7944 7945 // SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 7946 func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchStopUpdateActionOutput { 7947 s.UnprocessedUpdateActions = v 7948 return s 7949 } 7950 7951 // Contains all of the attributes of a specific cluster. 7952 type CacheCluster struct { 7953 _ struct{} `type:"structure"` 7954 7955 // The ARN (Amazon Resource Name) of the cache cluster. 7956 ARN *string `type:"string"` 7957 7958 // A flag that enables encryption at-rest when set to true. 7959 // 7960 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 7961 // is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled 7962 // to true when you create a cluster. 7963 // 7964 // Required: Only available when creating a replication group in an Amazon VPC 7965 // using redis version 3.2.6, 4.x or later. 7966 // 7967 // Default: false 7968 AtRestEncryptionEnabled *bool `type:"boolean"` 7969 7970 // A flag that enables using an AuthToken (password) when issuing Redis commands. 7971 // 7972 // Default: false 7973 AuthTokenEnabled *bool `type:"boolean"` 7974 7975 // The date the auth token was last modified 7976 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 7977 7978 // This parameter is currently disabled. 7979 AutoMinorVersionUpgrade *bool `type:"boolean"` 7980 7981 // The date and time when the cluster was created. 7982 CacheClusterCreateTime *time.Time `type:"timestamp"` 7983 7984 // The user-supplied identifier of the cluster. This identifier is a unique 7985 // key that identifies a cluster. 7986 CacheClusterId *string `type:"string"` 7987 7988 // The current state of this cluster, one of the following values: available, 7989 // creating, deleted, deleting, incompatible-network, modifying, rebooting cluster 7990 // nodes, restore-failed, or snapshotting. 7991 CacheClusterStatus *string `type:"string"` 7992 7993 // The name of the compute and memory capacity node type for the cluster. 7994 // 7995 // The following node types are supported by ElastiCache. Generally speaking, 7996 // the current generation types provide more memory and computational power 7997 // at lower cost when compared to their equivalent previous generation counterparts. 7998 // 7999 // * General purpose: Current generation: M6g node types (available only 8000 // for Redis engine version 5.0.6 onward and for Memcached engine version 8001 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 8002 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 8003 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 8004 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 8005 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 8006 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 8007 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 8008 // cache.t2.medium Previous generation: (not recommended) T1 node types: 8009 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 8010 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 8011 // cache.m3.2xlarge 8012 // 8013 // * Compute optimized: Previous generation: (not recommended) C1 node types: 8014 // cache.c1.xlarge 8015 // 8016 // * Memory optimized: Current generation: R6g node types (available only 8017 // for Redis engine version 5.0.6 onward and for Memcached engine version 8018 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 8019 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 8020 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 8021 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 8022 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 8023 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 8024 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 8025 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 8026 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 8027 // 8028 // Additional node type info 8029 // 8030 // * All current generation instance types are created in Amazon VPC by default. 8031 // 8032 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 8033 // 8034 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 8035 // 8036 // * Redis configuration variables appendonly and appendfsync are not supported 8037 // on Redis version 2.8.22 and later. 8038 CacheNodeType *string `type:"string"` 8039 8040 // A list of cache nodes that are members of the cluster. 8041 CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` 8042 8043 // Status of the cache parameter group. 8044 CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` 8045 8046 // A list of cache security group elements, composed of name and status sub-elements. 8047 CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` 8048 8049 // The name of the cache subnet group associated with the cluster. 8050 CacheSubnetGroupName *string `type:"string"` 8051 8052 // The URL of the web page where you can download the latest ElastiCache client 8053 // library. 8054 ClientDownloadLandingPage *string `type:"string"` 8055 8056 // Represents a Memcached cluster endpoint which can be used by an application 8057 // to connect to any node in the cluster. The configuration endpoint will always 8058 // have .cfg in it. 8059 // 8060 // Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 8061 ConfigurationEndpoint *Endpoint `type:"structure"` 8062 8063 // The name of the cache engine (memcached or redis) to be used for this cluster. 8064 Engine *string `type:"string"` 8065 8066 // The version of the cache engine that is used in this cluster. 8067 EngineVersion *string `type:"string"` 8068 8069 // Returns the destination, format and type of the logs. 8070 LogDeliveryConfigurations []*LogDeliveryConfiguration `locationNameList:"LogDeliveryConfiguration" type:"list"` 8071 8072 // Describes a notification topic and its status. Notification topics are used 8073 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 8074 // Service (SNS). 8075 NotificationConfiguration *NotificationConfiguration `type:"structure"` 8076 8077 // The number of cache nodes in the cluster. 8078 // 8079 // For clusters running Redis, this value must be 1. For clusters running Memcached, 8080 // this value must be between 1 and 40. 8081 NumCacheNodes *int64 `type:"integer"` 8082 8083 // A group of settings that are applied to the cluster in the future, or that 8084 // are currently being applied. 8085 PendingModifiedValues *PendingModifiedValues `type:"structure"` 8086 8087 // The name of the Availability Zone in which the cluster is located or "Multiple" 8088 // if the cache nodes are located in different Availability Zones. 8089 PreferredAvailabilityZone *string `type:"string"` 8090 8091 // Specifies the weekly time range during which maintenance on the cluster is 8092 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8093 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 8094 // 8095 // Valid values for ddd are: 8096 // 8097 // * sun 8098 // 8099 // * mon 8100 // 8101 // * tue 8102 // 8103 // * wed 8104 // 8105 // * thu 8106 // 8107 // * fri 8108 // 8109 // * sat 8110 // 8111 // Example: sun:23:00-mon:01:30 8112 PreferredMaintenanceWindow *string `type:"string"` 8113 8114 // The outpost ARN in which the cache cluster is created. 8115 PreferredOutpostArn *string `type:"string"` 8116 8117 // The replication group to which this cluster belongs. If this field is empty, 8118 // the cluster is not associated with any replication group. 8119 ReplicationGroupId *string `type:"string"` 8120 8121 // A boolean value indicating whether log delivery is enabled for the replication 8122 // group. 8123 ReplicationGroupLogDeliveryEnabled *bool `type:"boolean"` 8124 8125 // A list of VPC Security Groups associated with the cluster. 8126 SecurityGroups []*SecurityGroupMembership `type:"list"` 8127 8128 // The number of days for which ElastiCache retains automatic cluster snapshots 8129 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 8130 // a snapshot that was taken today is retained for 5 days before being deleted. 8131 // 8132 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 8133 // off. 8134 SnapshotRetentionLimit *int64 `type:"integer"` 8135 8136 // The daily time range (in UTC) during which ElastiCache begins taking a daily 8137 // snapshot of your cluster. 8138 // 8139 // Example: 05:00-09:00 8140 SnapshotWindow *string `type:"string"` 8141 8142 // A flag that enables in-transit encryption when set to true. 8143 // 8144 // You cannot modify the value of TransitEncryptionEnabled after the cluster 8145 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 8146 // to true when you create a cluster. 8147 // 8148 // Required: Only available when creating a replication group in an Amazon VPC 8149 // using redis version 3.2.6, 4.x or later. 8150 // 8151 // Default: false 8152 TransitEncryptionEnabled *bool `type:"boolean"` 8153 } 8154 8155 // String returns the string representation. 8156 // 8157 // API parameter values that are decorated as "sensitive" in the API will not 8158 // be included in the string output. The member name will be present, but the 8159 // value will be replaced with "sensitive". 8160 func (s CacheCluster) String() string { 8161 return awsutil.Prettify(s) 8162 } 8163 8164 // GoString returns the string representation. 8165 // 8166 // API parameter values that are decorated as "sensitive" in the API will not 8167 // be included in the string output. The member name will be present, but the 8168 // value will be replaced with "sensitive". 8169 func (s CacheCluster) GoString() string { 8170 return s.String() 8171 } 8172 8173 // SetARN sets the ARN field's value. 8174 func (s *CacheCluster) SetARN(v string) *CacheCluster { 8175 s.ARN = &v 8176 return s 8177 } 8178 8179 // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 8180 func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { 8181 s.AtRestEncryptionEnabled = &v 8182 return s 8183 } 8184 8185 // SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 8186 func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster { 8187 s.AuthTokenEnabled = &v 8188 return s 8189 } 8190 8191 // SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 8192 func (s *CacheCluster) SetAuthTokenLastModifiedDate(v time.Time) *CacheCluster { 8193 s.AuthTokenLastModifiedDate = &v 8194 return s 8195 } 8196 8197 // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 8198 func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster { 8199 s.AutoMinorVersionUpgrade = &v 8200 return s 8201 } 8202 8203 // SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 8204 func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster { 8205 s.CacheClusterCreateTime = &v 8206 return s 8207 } 8208 8209 // SetCacheClusterId sets the CacheClusterId field's value. 8210 func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster { 8211 s.CacheClusterId = &v 8212 return s 8213 } 8214 8215 // SetCacheClusterStatus sets the CacheClusterStatus field's value. 8216 func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster { 8217 s.CacheClusterStatus = &v 8218 return s 8219 } 8220 8221 // SetCacheNodeType sets the CacheNodeType field's value. 8222 func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster { 8223 s.CacheNodeType = &v 8224 return s 8225 } 8226 8227 // SetCacheNodes sets the CacheNodes field's value. 8228 func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster { 8229 s.CacheNodes = v 8230 return s 8231 } 8232 8233 // SetCacheParameterGroup sets the CacheParameterGroup field's value. 8234 func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster { 8235 s.CacheParameterGroup = v 8236 return s 8237 } 8238 8239 // SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 8240 func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster { 8241 s.CacheSecurityGroups = v 8242 return s 8243 } 8244 8245 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8246 func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster { 8247 s.CacheSubnetGroupName = &v 8248 return s 8249 } 8250 8251 // SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value. 8252 func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster { 8253 s.ClientDownloadLandingPage = &v 8254 return s 8255 } 8256 8257 // SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 8258 func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster { 8259 s.ConfigurationEndpoint = v 8260 return s 8261 } 8262 8263 // SetEngine sets the Engine field's value. 8264 func (s *CacheCluster) SetEngine(v string) *CacheCluster { 8265 s.Engine = &v 8266 return s 8267 } 8268 8269 // SetEngineVersion sets the EngineVersion field's value. 8270 func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { 8271 s.EngineVersion = &v 8272 return s 8273 } 8274 8275 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 8276 func (s *CacheCluster) SetLogDeliveryConfigurations(v []*LogDeliveryConfiguration) *CacheCluster { 8277 s.LogDeliveryConfigurations = v 8278 return s 8279 } 8280 8281 // SetNotificationConfiguration sets the NotificationConfiguration field's value. 8282 func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { 8283 s.NotificationConfiguration = v 8284 return s 8285 } 8286 8287 // SetNumCacheNodes sets the NumCacheNodes field's value. 8288 func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster { 8289 s.NumCacheNodes = &v 8290 return s 8291 } 8292 8293 // SetPendingModifiedValues sets the PendingModifiedValues field's value. 8294 func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster { 8295 s.PendingModifiedValues = v 8296 return s 8297 } 8298 8299 // SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 8300 func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster { 8301 s.PreferredAvailabilityZone = &v 8302 return s 8303 } 8304 8305 // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 8306 func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster { 8307 s.PreferredMaintenanceWindow = &v 8308 return s 8309 } 8310 8311 // SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 8312 func (s *CacheCluster) SetPreferredOutpostArn(v string) *CacheCluster { 8313 s.PreferredOutpostArn = &v 8314 return s 8315 } 8316 8317 // SetReplicationGroupId sets the ReplicationGroupId field's value. 8318 func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster { 8319 s.ReplicationGroupId = &v 8320 return s 8321 } 8322 8323 // SetReplicationGroupLogDeliveryEnabled sets the ReplicationGroupLogDeliveryEnabled field's value. 8324 func (s *CacheCluster) SetReplicationGroupLogDeliveryEnabled(v bool) *CacheCluster { 8325 s.ReplicationGroupLogDeliveryEnabled = &v 8326 return s 8327 } 8328 8329 // SetSecurityGroups sets the SecurityGroups field's value. 8330 func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster { 8331 s.SecurityGroups = v 8332 return s 8333 } 8334 8335 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 8336 func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster { 8337 s.SnapshotRetentionLimit = &v 8338 return s 8339 } 8340 8341 // SetSnapshotWindow sets the SnapshotWindow field's value. 8342 func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster { 8343 s.SnapshotWindow = &v 8344 return s 8345 } 8346 8347 // SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 8348 func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster { 8349 s.TransitEncryptionEnabled = &v 8350 return s 8351 } 8352 8353 // Provides all of the details about a particular cache engine version. 8354 type CacheEngineVersion struct { 8355 _ struct{} `type:"structure"` 8356 8357 // The description of the cache engine. 8358 CacheEngineDescription *string `type:"string"` 8359 8360 // The description of the cache engine version. 8361 CacheEngineVersionDescription *string `type:"string"` 8362 8363 // The name of the cache parameter group family associated with this cache engine. 8364 // 8365 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 8366 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 8367 CacheParameterGroupFamily *string `type:"string"` 8368 8369 // The name of the cache engine. 8370 Engine *string `type:"string"` 8371 8372 // The version number of the cache engine. 8373 EngineVersion *string `type:"string"` 8374 } 8375 8376 // String returns the string representation. 8377 // 8378 // API parameter values that are decorated as "sensitive" in the API will not 8379 // be included in the string output. The member name will be present, but the 8380 // value will be replaced with "sensitive". 8381 func (s CacheEngineVersion) String() string { 8382 return awsutil.Prettify(s) 8383 } 8384 8385 // GoString returns the string representation. 8386 // 8387 // API parameter values that are decorated as "sensitive" in the API will not 8388 // be included in the string output. The member name will be present, but the 8389 // value will be replaced with "sensitive". 8390 func (s CacheEngineVersion) GoString() string { 8391 return s.String() 8392 } 8393 8394 // SetCacheEngineDescription sets the CacheEngineDescription field's value. 8395 func (s *CacheEngineVersion) SetCacheEngineDescription(v string) *CacheEngineVersion { 8396 s.CacheEngineDescription = &v 8397 return s 8398 } 8399 8400 // SetCacheEngineVersionDescription sets the CacheEngineVersionDescription field's value. 8401 func (s *CacheEngineVersion) SetCacheEngineVersionDescription(v string) *CacheEngineVersion { 8402 s.CacheEngineVersionDescription = &v 8403 return s 8404 } 8405 8406 // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8407 func (s *CacheEngineVersion) SetCacheParameterGroupFamily(v string) *CacheEngineVersion { 8408 s.CacheParameterGroupFamily = &v 8409 return s 8410 } 8411 8412 // SetEngine sets the Engine field's value. 8413 func (s *CacheEngineVersion) SetEngine(v string) *CacheEngineVersion { 8414 s.Engine = &v 8415 return s 8416 } 8417 8418 // SetEngineVersion sets the EngineVersion field's value. 8419 func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { 8420 s.EngineVersion = &v 8421 return s 8422 } 8423 8424 // Represents an individual cache node within a cluster. Each cache node runs 8425 // its own instance of the cluster's protocol-compliant caching software - either 8426 // Memcached or Redis. 8427 // 8428 // The following node types are supported by ElastiCache. Generally speaking, 8429 // the current generation types provide more memory and computational power 8430 // at lower cost when compared to their equivalent previous generation counterparts. 8431 // 8432 // * General purpose: Current generation: M6g node types (available only 8433 // for Redis engine version 5.0.6 onward and for Memcached engine version 8434 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 8435 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 8436 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 8437 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 8438 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 8439 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 8440 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 8441 // cache.t2.medium Previous generation: (not recommended) T1 node types: 8442 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 8443 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 8444 // cache.m3.2xlarge 8445 // 8446 // * Compute optimized: Previous generation: (not recommended) C1 node types: 8447 // cache.c1.xlarge 8448 // 8449 // * Memory optimized: Current generation: R6g node types (available only 8450 // for Redis engine version 5.0.6 onward and for Memcached engine version 8451 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 8452 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 8453 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 8454 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 8455 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 8456 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 8457 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 8458 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 8459 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 8460 // 8461 // Additional node type info 8462 // 8463 // * All current generation instance types are created in Amazon VPC by default. 8464 // 8465 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 8466 // 8467 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 8468 // 8469 // * Redis configuration variables appendonly and appendfsync are not supported 8470 // on Redis version 2.8.22 and later. 8471 type CacheNode struct { 8472 _ struct{} `type:"structure"` 8473 8474 // The date and time when the cache node was created. 8475 CacheNodeCreateTime *time.Time `type:"timestamp"` 8476 8477 // The cache node identifier. A node ID is a numeric identifier (0001, 0002, 8478 // etc.). The combination of cluster ID and node ID uniquely identifies every 8479 // cache node used in a customer's Amazon account. 8480 CacheNodeId *string `type:"string"` 8481 8482 // The current state of this cache node, one of the following values: available, 8483 // creating, rebooting, or deleting. 8484 CacheNodeStatus *string `type:"string"` 8485 8486 // The Availability Zone where this node was created and now resides. 8487 CustomerAvailabilityZone *string `type:"string"` 8488 8489 // The customer outpost ARN of the cache node. 8490 CustomerOutpostArn *string `type:"string"` 8491 8492 // The hostname for connecting to this cache node. 8493 Endpoint *Endpoint `type:"structure"` 8494 8495 // The status of the parameter group applied to this cache node. 8496 ParameterGroupStatus *string `type:"string"` 8497 8498 // The ID of the primary node to which this read replica node is synchronized. 8499 // If this field is empty, this node is not associated with a primary cluster. 8500 SourceCacheNodeId *string `type:"string"` 8501 } 8502 8503 // String returns the string representation. 8504 // 8505 // API parameter values that are decorated as "sensitive" in the API will not 8506 // be included in the string output. The member name will be present, but the 8507 // value will be replaced with "sensitive". 8508 func (s CacheNode) String() string { 8509 return awsutil.Prettify(s) 8510 } 8511 8512 // GoString returns the string representation. 8513 // 8514 // API parameter values that are decorated as "sensitive" in the API will not 8515 // be included in the string output. The member name will be present, but the 8516 // value will be replaced with "sensitive". 8517 func (s CacheNode) GoString() string { 8518 return s.String() 8519 } 8520 8521 // SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 8522 func (s *CacheNode) SetCacheNodeCreateTime(v time.Time) *CacheNode { 8523 s.CacheNodeCreateTime = &v 8524 return s 8525 } 8526 8527 // SetCacheNodeId sets the CacheNodeId field's value. 8528 func (s *CacheNode) SetCacheNodeId(v string) *CacheNode { 8529 s.CacheNodeId = &v 8530 return s 8531 } 8532 8533 // SetCacheNodeStatus sets the CacheNodeStatus field's value. 8534 func (s *CacheNode) SetCacheNodeStatus(v string) *CacheNode { 8535 s.CacheNodeStatus = &v 8536 return s 8537 } 8538 8539 // SetCustomerAvailabilityZone sets the CustomerAvailabilityZone field's value. 8540 func (s *CacheNode) SetCustomerAvailabilityZone(v string) *CacheNode { 8541 s.CustomerAvailabilityZone = &v 8542 return s 8543 } 8544 8545 // SetCustomerOutpostArn sets the CustomerOutpostArn field's value. 8546 func (s *CacheNode) SetCustomerOutpostArn(v string) *CacheNode { 8547 s.CustomerOutpostArn = &v 8548 return s 8549 } 8550 8551 // SetEndpoint sets the Endpoint field's value. 8552 func (s *CacheNode) SetEndpoint(v *Endpoint) *CacheNode { 8553 s.Endpoint = v 8554 return s 8555 } 8556 8557 // SetParameterGroupStatus sets the ParameterGroupStatus field's value. 8558 func (s *CacheNode) SetParameterGroupStatus(v string) *CacheNode { 8559 s.ParameterGroupStatus = &v 8560 return s 8561 } 8562 8563 // SetSourceCacheNodeId sets the SourceCacheNodeId field's value. 8564 func (s *CacheNode) SetSourceCacheNodeId(v string) *CacheNode { 8565 s.SourceCacheNodeId = &v 8566 return s 8567 } 8568 8569 // A parameter that has a different value for each cache node type it is applied 8570 // to. For example, in a Redis cluster, a cache.m1.large cache node type would 8571 // have a larger maxmemory value than a cache.m1.small type. 8572 type CacheNodeTypeSpecificParameter struct { 8573 _ struct{} `type:"structure"` 8574 8575 // The valid range of values for the parameter. 8576 AllowedValues *string `type:"string"` 8577 8578 // A list of cache node types and their corresponding values for this parameter. 8579 CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` 8580 8581 // Indicates whether a change to the parameter is applied immediately or requires 8582 // a reboot for the change to be applied. You can force a reboot or wait until 8583 // the next maintenance window's reboot. For more information, see Rebooting 8584 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 8585 ChangeType *string `type:"string" enum:"ChangeType"` 8586 8587 // The valid data type for the parameter. 8588 DataType *string `type:"string"` 8589 8590 // A description of the parameter. 8591 Description *string `type:"string"` 8592 8593 // Indicates whether (true) or not (false) the parameter can be modified. Some 8594 // parameters have security or operational implications that prevent them from 8595 // being changed. 8596 IsModifiable *bool `type:"boolean"` 8597 8598 // The earliest cache engine version to which the parameter can apply. 8599 MinimumEngineVersion *string `type:"string"` 8600 8601 // The name of the parameter. 8602 ParameterName *string `type:"string"` 8603 8604 // The source of the parameter value. 8605 Source *string `type:"string"` 8606 } 8607 8608 // String returns the string representation. 8609 // 8610 // API parameter values that are decorated as "sensitive" in the API will not 8611 // be included in the string output. The member name will be present, but the 8612 // value will be replaced with "sensitive". 8613 func (s CacheNodeTypeSpecificParameter) String() string { 8614 return awsutil.Prettify(s) 8615 } 8616 8617 // GoString returns the string representation. 8618 // 8619 // API parameter values that are decorated as "sensitive" in the API will not 8620 // be included in the string output. The member name will be present, but the 8621 // value will be replaced with "sensitive". 8622 func (s CacheNodeTypeSpecificParameter) GoString() string { 8623 return s.String() 8624 } 8625 8626 // SetAllowedValues sets the AllowedValues field's value. 8627 func (s *CacheNodeTypeSpecificParameter) SetAllowedValues(v string) *CacheNodeTypeSpecificParameter { 8628 s.AllowedValues = &v 8629 return s 8630 } 8631 8632 // SetCacheNodeTypeSpecificValues sets the CacheNodeTypeSpecificValues field's value. 8633 func (s *CacheNodeTypeSpecificParameter) SetCacheNodeTypeSpecificValues(v []*CacheNodeTypeSpecificValue) *CacheNodeTypeSpecificParameter { 8634 s.CacheNodeTypeSpecificValues = v 8635 return s 8636 } 8637 8638 // SetChangeType sets the ChangeType field's value. 8639 func (s *CacheNodeTypeSpecificParameter) SetChangeType(v string) *CacheNodeTypeSpecificParameter { 8640 s.ChangeType = &v 8641 return s 8642 } 8643 8644 // SetDataType sets the DataType field's value. 8645 func (s *CacheNodeTypeSpecificParameter) SetDataType(v string) *CacheNodeTypeSpecificParameter { 8646 s.DataType = &v 8647 return s 8648 } 8649 8650 // SetDescription sets the Description field's value. 8651 func (s *CacheNodeTypeSpecificParameter) SetDescription(v string) *CacheNodeTypeSpecificParameter { 8652 s.Description = &v 8653 return s 8654 } 8655 8656 // SetIsModifiable sets the IsModifiable field's value. 8657 func (s *CacheNodeTypeSpecificParameter) SetIsModifiable(v bool) *CacheNodeTypeSpecificParameter { 8658 s.IsModifiable = &v 8659 return s 8660 } 8661 8662 // SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 8663 func (s *CacheNodeTypeSpecificParameter) SetMinimumEngineVersion(v string) *CacheNodeTypeSpecificParameter { 8664 s.MinimumEngineVersion = &v 8665 return s 8666 } 8667 8668 // SetParameterName sets the ParameterName field's value. 8669 func (s *CacheNodeTypeSpecificParameter) SetParameterName(v string) *CacheNodeTypeSpecificParameter { 8670 s.ParameterName = &v 8671 return s 8672 } 8673 8674 // SetSource sets the Source field's value. 8675 func (s *CacheNodeTypeSpecificParameter) SetSource(v string) *CacheNodeTypeSpecificParameter { 8676 s.Source = &v 8677 return s 8678 } 8679 8680 // A value that applies only to a certain cache node type. 8681 type CacheNodeTypeSpecificValue struct { 8682 _ struct{} `type:"structure"` 8683 8684 // The cache node type for which this value applies. 8685 CacheNodeType *string `type:"string"` 8686 8687 // The value for the cache node type. 8688 Value *string `type:"string"` 8689 } 8690 8691 // String returns the string representation. 8692 // 8693 // API parameter values that are decorated as "sensitive" in the API will not 8694 // be included in the string output. The member name will be present, but the 8695 // value will be replaced with "sensitive". 8696 func (s CacheNodeTypeSpecificValue) String() string { 8697 return awsutil.Prettify(s) 8698 } 8699 8700 // GoString returns the string representation. 8701 // 8702 // API parameter values that are decorated as "sensitive" in the API will not 8703 // be included in the string output. The member name will be present, but the 8704 // value will be replaced with "sensitive". 8705 func (s CacheNodeTypeSpecificValue) GoString() string { 8706 return s.String() 8707 } 8708 8709 // SetCacheNodeType sets the CacheNodeType field's value. 8710 func (s *CacheNodeTypeSpecificValue) SetCacheNodeType(v string) *CacheNodeTypeSpecificValue { 8711 s.CacheNodeType = &v 8712 return s 8713 } 8714 8715 // SetValue sets the Value field's value. 8716 func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificValue { 8717 s.Value = &v 8718 return s 8719 } 8720 8721 // The status of the service update on the cache node 8722 type CacheNodeUpdateStatus struct { 8723 _ struct{} `type:"structure"` 8724 8725 // The node ID of the cache cluster 8726 CacheNodeId *string `type:"string"` 8727 8728 // The deletion date of the node 8729 NodeDeletionDate *time.Time `type:"timestamp"` 8730 8731 // The end date of the update for a node 8732 NodeUpdateEndDate *time.Time `type:"timestamp"` 8733 8734 // Reflects whether the update was initiated by the customer or automatically 8735 // applied 8736 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 8737 8738 // The date when the update is triggered 8739 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 8740 8741 // The start date of the update for a node 8742 NodeUpdateStartDate *time.Time `type:"timestamp"` 8743 8744 // The update status of the node 8745 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 8746 8747 // The date when the NodeUpdateStatus was last modified> 8748 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 8749 } 8750 8751 // String returns the string representation. 8752 // 8753 // API parameter values that are decorated as "sensitive" in the API will not 8754 // be included in the string output. The member name will be present, but the 8755 // value will be replaced with "sensitive". 8756 func (s CacheNodeUpdateStatus) String() string { 8757 return awsutil.Prettify(s) 8758 } 8759 8760 // GoString returns the string representation. 8761 // 8762 // API parameter values that are decorated as "sensitive" in the API will not 8763 // be included in the string output. The member name will be present, but the 8764 // value will be replaced with "sensitive". 8765 func (s CacheNodeUpdateStatus) GoString() string { 8766 return s.String() 8767 } 8768 8769 // SetCacheNodeId sets the CacheNodeId field's value. 8770 func (s *CacheNodeUpdateStatus) SetCacheNodeId(v string) *CacheNodeUpdateStatus { 8771 s.CacheNodeId = &v 8772 return s 8773 } 8774 8775 // SetNodeDeletionDate sets the NodeDeletionDate field's value. 8776 func (s *CacheNodeUpdateStatus) SetNodeDeletionDate(v time.Time) *CacheNodeUpdateStatus { 8777 s.NodeDeletionDate = &v 8778 return s 8779 } 8780 8781 // SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 8782 func (s *CacheNodeUpdateStatus) SetNodeUpdateEndDate(v time.Time) *CacheNodeUpdateStatus { 8783 s.NodeUpdateEndDate = &v 8784 return s 8785 } 8786 8787 // SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 8788 func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedBy(v string) *CacheNodeUpdateStatus { 8789 s.NodeUpdateInitiatedBy = &v 8790 return s 8791 } 8792 8793 // SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 8794 func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *CacheNodeUpdateStatus { 8795 s.NodeUpdateInitiatedDate = &v 8796 return s 8797 } 8798 8799 // SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 8800 func (s *CacheNodeUpdateStatus) SetNodeUpdateStartDate(v time.Time) *CacheNodeUpdateStatus { 8801 s.NodeUpdateStartDate = &v 8802 return s 8803 } 8804 8805 // SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 8806 func (s *CacheNodeUpdateStatus) SetNodeUpdateStatus(v string) *CacheNodeUpdateStatus { 8807 s.NodeUpdateStatus = &v 8808 return s 8809 } 8810 8811 // SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 8812 func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *CacheNodeUpdateStatus { 8813 s.NodeUpdateStatusModifiedDate = &v 8814 return s 8815 } 8816 8817 // Represents the output of a CreateCacheParameterGroup operation. 8818 type CacheParameterGroup struct { 8819 _ struct{} `type:"structure"` 8820 8821 // The ARN (Amazon Resource Name) of the cache parameter group. 8822 ARN *string `type:"string"` 8823 8824 // The name of the cache parameter group family that this cache parameter group 8825 // is compatible with. 8826 // 8827 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 8828 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 8829 CacheParameterGroupFamily *string `type:"string"` 8830 8831 // The name of the cache parameter group. 8832 CacheParameterGroupName *string `type:"string"` 8833 8834 // The description for this cache parameter group. 8835 Description *string `type:"string"` 8836 8837 // Indicates whether the parameter group is associated with a Global datastore 8838 IsGlobal *bool `type:"boolean"` 8839 } 8840 8841 // String returns the string representation. 8842 // 8843 // API parameter values that are decorated as "sensitive" in the API will not 8844 // be included in the string output. The member name will be present, but the 8845 // value will be replaced with "sensitive". 8846 func (s CacheParameterGroup) String() string { 8847 return awsutil.Prettify(s) 8848 } 8849 8850 // GoString returns the string representation. 8851 // 8852 // API parameter values that are decorated as "sensitive" in the API will not 8853 // be included in the string output. The member name will be present, but the 8854 // value will be replaced with "sensitive". 8855 func (s CacheParameterGroup) GoString() string { 8856 return s.String() 8857 } 8858 8859 // SetARN sets the ARN field's value. 8860 func (s *CacheParameterGroup) SetARN(v string) *CacheParameterGroup { 8861 s.ARN = &v 8862 return s 8863 } 8864 8865 // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8866 func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { 8867 s.CacheParameterGroupFamily = &v 8868 return s 8869 } 8870 8871 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8872 func (s *CacheParameterGroup) SetCacheParameterGroupName(v string) *CacheParameterGroup { 8873 s.CacheParameterGroupName = &v 8874 return s 8875 } 8876 8877 // SetDescription sets the Description field's value. 8878 func (s *CacheParameterGroup) SetDescription(v string) *CacheParameterGroup { 8879 s.Description = &v 8880 return s 8881 } 8882 8883 // SetIsGlobal sets the IsGlobal field's value. 8884 func (s *CacheParameterGroup) SetIsGlobal(v bool) *CacheParameterGroup { 8885 s.IsGlobal = &v 8886 return s 8887 } 8888 8889 // Represents the output of one of the following operations: 8890 // 8891 // * ModifyCacheParameterGroup 8892 // 8893 // * ResetCacheParameterGroup 8894 type CacheParameterGroupNameMessage struct { 8895 _ struct{} `type:"structure"` 8896 8897 // The name of the cache parameter group. 8898 CacheParameterGroupName *string `type:"string"` 8899 } 8900 8901 // String returns the string representation. 8902 // 8903 // API parameter values that are decorated as "sensitive" in the API will not 8904 // be included in the string output. The member name will be present, but the 8905 // value will be replaced with "sensitive". 8906 func (s CacheParameterGroupNameMessage) String() string { 8907 return awsutil.Prettify(s) 8908 } 8909 8910 // GoString returns the string representation. 8911 // 8912 // API parameter values that are decorated as "sensitive" in the API will not 8913 // be included in the string output. The member name will be present, but the 8914 // value will be replaced with "sensitive". 8915 func (s CacheParameterGroupNameMessage) GoString() string { 8916 return s.String() 8917 } 8918 8919 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8920 func (s *CacheParameterGroupNameMessage) SetCacheParameterGroupName(v string) *CacheParameterGroupNameMessage { 8921 s.CacheParameterGroupName = &v 8922 return s 8923 } 8924 8925 // Status of the cache parameter group. 8926 type CacheParameterGroupStatus struct { 8927 _ struct{} `type:"structure"` 8928 8929 // A list of the cache node IDs which need to be rebooted for parameter changes 8930 // to be applied. A node ID is a numeric identifier (0001, 0002, etc.). 8931 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"` 8932 8933 // The name of the cache parameter group. 8934 CacheParameterGroupName *string `type:"string"` 8935 8936 // The status of parameter updates. 8937 ParameterApplyStatus *string `type:"string"` 8938 } 8939 8940 // String returns the string representation. 8941 // 8942 // API parameter values that are decorated as "sensitive" in the API will not 8943 // be included in the string output. The member name will be present, but the 8944 // value will be replaced with "sensitive". 8945 func (s CacheParameterGroupStatus) String() string { 8946 return awsutil.Prettify(s) 8947 } 8948 8949 // GoString returns the string representation. 8950 // 8951 // API parameter values that are decorated as "sensitive" in the API will not 8952 // be included in the string output. The member name will be present, but the 8953 // value will be replaced with "sensitive". 8954 func (s CacheParameterGroupStatus) GoString() string { 8955 return s.String() 8956 } 8957 8958 // SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 8959 func (s *CacheParameterGroupStatus) SetCacheNodeIdsToReboot(v []*string) *CacheParameterGroupStatus { 8960 s.CacheNodeIdsToReboot = v 8961 return s 8962 } 8963 8964 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8965 func (s *CacheParameterGroupStatus) SetCacheParameterGroupName(v string) *CacheParameterGroupStatus { 8966 s.CacheParameterGroupName = &v 8967 return s 8968 } 8969 8970 // SetParameterApplyStatus sets the ParameterApplyStatus field's value. 8971 func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CacheParameterGroupStatus { 8972 s.ParameterApplyStatus = &v 8973 return s 8974 } 8975 8976 // Represents the output of one of the following operations: 8977 // 8978 // * AuthorizeCacheSecurityGroupIngress 8979 // 8980 // * CreateCacheSecurityGroup 8981 // 8982 // * RevokeCacheSecurityGroupIngress 8983 type CacheSecurityGroup struct { 8984 _ struct{} `type:"structure"` 8985 8986 // The ARN of the cache security group, 8987 ARN *string `type:"string"` 8988 8989 // The name of the cache security group. 8990 CacheSecurityGroupName *string `type:"string"` 8991 8992 // The description of the cache security group. 8993 Description *string `type:"string"` 8994 8995 // A list of Amazon EC2 security groups that are associated with this cache 8996 // security group. 8997 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 8998 8999 // The Amazon account ID of the cache security group owner. 9000 OwnerId *string `type:"string"` 9001 } 9002 9003 // String returns the string representation. 9004 // 9005 // API parameter values that are decorated as "sensitive" in the API will not 9006 // be included in the string output. The member name will be present, but the 9007 // value will be replaced with "sensitive". 9008 func (s CacheSecurityGroup) String() string { 9009 return awsutil.Prettify(s) 9010 } 9011 9012 // GoString returns the string representation. 9013 // 9014 // API parameter values that are decorated as "sensitive" in the API will not 9015 // be included in the string output. The member name will be present, but the 9016 // value will be replaced with "sensitive". 9017 func (s CacheSecurityGroup) GoString() string { 9018 return s.String() 9019 } 9020 9021 // SetARN sets the ARN field's value. 9022 func (s *CacheSecurityGroup) SetARN(v string) *CacheSecurityGroup { 9023 s.ARN = &v 9024 return s 9025 } 9026 9027 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 9028 func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { 9029 s.CacheSecurityGroupName = &v 9030 return s 9031 } 9032 9033 // SetDescription sets the Description field's value. 9034 func (s *CacheSecurityGroup) SetDescription(v string) *CacheSecurityGroup { 9035 s.Description = &v 9036 return s 9037 } 9038 9039 // SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 9040 func (s *CacheSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *CacheSecurityGroup { 9041 s.EC2SecurityGroups = v 9042 return s 9043 } 9044 9045 // SetOwnerId sets the OwnerId field's value. 9046 func (s *CacheSecurityGroup) SetOwnerId(v string) *CacheSecurityGroup { 9047 s.OwnerId = &v 9048 return s 9049 } 9050 9051 // Represents a cluster's status within a particular cache security group. 9052 type CacheSecurityGroupMembership struct { 9053 _ struct{} `type:"structure"` 9054 9055 // The name of the cache security group. 9056 CacheSecurityGroupName *string `type:"string"` 9057 9058 // The membership status in the cache security group. The status changes when 9059 // a cache security group is modified, or when the cache security groups assigned 9060 // to a cluster are modified. 9061 Status *string `type:"string"` 9062 } 9063 9064 // String returns the string representation. 9065 // 9066 // API parameter values that are decorated as "sensitive" in the API will not 9067 // be included in the string output. The member name will be present, but the 9068 // value will be replaced with "sensitive". 9069 func (s CacheSecurityGroupMembership) String() string { 9070 return awsutil.Prettify(s) 9071 } 9072 9073 // GoString returns the string representation. 9074 // 9075 // API parameter values that are decorated as "sensitive" in the API will not 9076 // be included in the string output. The member name will be present, but the 9077 // value will be replaced with "sensitive". 9078 func (s CacheSecurityGroupMembership) GoString() string { 9079 return s.String() 9080 } 9081 9082 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 9083 func (s *CacheSecurityGroupMembership) SetCacheSecurityGroupName(v string) *CacheSecurityGroupMembership { 9084 s.CacheSecurityGroupName = &v 9085 return s 9086 } 9087 9088 // SetStatus sets the Status field's value. 9089 func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMembership { 9090 s.Status = &v 9091 return s 9092 } 9093 9094 // Represents the output of one of the following operations: 9095 // 9096 // * CreateCacheSubnetGroup 9097 // 9098 // * ModifyCacheSubnetGroup 9099 type CacheSubnetGroup struct { 9100 _ struct{} `type:"structure"` 9101 9102 // The ARN (Amazon Resource Name) of the cache subnet group. 9103 ARN *string `type:"string"` 9104 9105 // The description of the cache subnet group. 9106 CacheSubnetGroupDescription *string `type:"string"` 9107 9108 // The name of the cache subnet group. 9109 CacheSubnetGroupName *string `type:"string"` 9110 9111 // A list of subnets associated with the cache subnet group. 9112 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 9113 9114 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 9115 // group. 9116 VpcId *string `type:"string"` 9117 } 9118 9119 // String returns the string representation. 9120 // 9121 // API parameter values that are decorated as "sensitive" in the API will not 9122 // be included in the string output. The member name will be present, but the 9123 // value will be replaced with "sensitive". 9124 func (s CacheSubnetGroup) String() string { 9125 return awsutil.Prettify(s) 9126 } 9127 9128 // GoString returns the string representation. 9129 // 9130 // API parameter values that are decorated as "sensitive" in the API will not 9131 // be included in the string output. The member name will be present, but the 9132 // value will be replaced with "sensitive". 9133 func (s CacheSubnetGroup) GoString() string { 9134 return s.String() 9135 } 9136 9137 // SetARN sets the ARN field's value. 9138 func (s *CacheSubnetGroup) SetARN(v string) *CacheSubnetGroup { 9139 s.ARN = &v 9140 return s 9141 } 9142 9143 // SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 9144 func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { 9145 s.CacheSubnetGroupDescription = &v 9146 return s 9147 } 9148 9149 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9150 func (s *CacheSubnetGroup) SetCacheSubnetGroupName(v string) *CacheSubnetGroup { 9151 s.CacheSubnetGroupName = &v 9152 return s 9153 } 9154 9155 // SetSubnets sets the Subnets field's value. 9156 func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { 9157 s.Subnets = v 9158 return s 9159 } 9160 9161 // SetVpcId sets the VpcId field's value. 9162 func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { 9163 s.VpcId = &v 9164 return s 9165 } 9166 9167 // The configuration details of the CloudWatch Logs destination. 9168 type CloudWatchLogsDestinationDetails struct { 9169 _ struct{} `type:"structure"` 9170 9171 // The name of the CloudWatch Logs log group. 9172 LogGroup *string `type:"string"` 9173 } 9174 9175 // String returns the string representation. 9176 // 9177 // API parameter values that are decorated as "sensitive" in the API will not 9178 // be included in the string output. The member name will be present, but the 9179 // value will be replaced with "sensitive". 9180 func (s CloudWatchLogsDestinationDetails) String() string { 9181 return awsutil.Prettify(s) 9182 } 9183 9184 // GoString returns the string representation. 9185 // 9186 // API parameter values that are decorated as "sensitive" in the API will not 9187 // be included in the string output. The member name will be present, but the 9188 // value will be replaced with "sensitive". 9189 func (s CloudWatchLogsDestinationDetails) GoString() string { 9190 return s.String() 9191 } 9192 9193 // SetLogGroup sets the LogGroup field's value. 9194 func (s *CloudWatchLogsDestinationDetails) SetLogGroup(v string) *CloudWatchLogsDestinationDetails { 9195 s.LogGroup = &v 9196 return s 9197 } 9198 9199 type CompleteMigrationInput struct { 9200 _ struct{} `type:"structure"` 9201 9202 // Forces the migration to stop without ensuring that data is in sync. It is 9203 // recommended to use this option only to abort the migration and not recommended 9204 // when application wants to continue migration to ElastiCache. 9205 Force *bool `type:"boolean"` 9206 9207 // The ID of the replication group to which data is being migrated. 9208 // 9209 // ReplicationGroupId is a required field 9210 ReplicationGroupId *string `type:"string" required:"true"` 9211 } 9212 9213 // String returns the string representation. 9214 // 9215 // API parameter values that are decorated as "sensitive" in the API will not 9216 // be included in the string output. The member name will be present, but the 9217 // value will be replaced with "sensitive". 9218 func (s CompleteMigrationInput) String() string { 9219 return awsutil.Prettify(s) 9220 } 9221 9222 // GoString returns the string representation. 9223 // 9224 // API parameter values that are decorated as "sensitive" in the API will not 9225 // be included in the string output. The member name will be present, but the 9226 // value will be replaced with "sensitive". 9227 func (s CompleteMigrationInput) GoString() string { 9228 return s.String() 9229 } 9230 9231 // Validate inspects the fields of the type to determine if they are valid. 9232 func (s *CompleteMigrationInput) Validate() error { 9233 invalidParams := request.ErrInvalidParams{Context: "CompleteMigrationInput"} 9234 if s.ReplicationGroupId == nil { 9235 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 9236 } 9237 9238 if invalidParams.Len() > 0 { 9239 return invalidParams 9240 } 9241 return nil 9242 } 9243 9244 // SetForce sets the Force field's value. 9245 func (s *CompleteMigrationInput) SetForce(v bool) *CompleteMigrationInput { 9246 s.Force = &v 9247 return s 9248 } 9249 9250 // SetReplicationGroupId sets the ReplicationGroupId field's value. 9251 func (s *CompleteMigrationInput) SetReplicationGroupId(v string) *CompleteMigrationInput { 9252 s.ReplicationGroupId = &v 9253 return s 9254 } 9255 9256 type CompleteMigrationOutput struct { 9257 _ struct{} `type:"structure"` 9258 9259 // Contains all of the attributes of a specific Redis replication group. 9260 ReplicationGroup *ReplicationGroup `type:"structure"` 9261 } 9262 9263 // String returns the string representation. 9264 // 9265 // API parameter values that are decorated as "sensitive" in the API will not 9266 // be included in the string output. The member name will be present, but the 9267 // value will be replaced with "sensitive". 9268 func (s CompleteMigrationOutput) String() string { 9269 return awsutil.Prettify(s) 9270 } 9271 9272 // GoString returns the string representation. 9273 // 9274 // API parameter values that are decorated as "sensitive" in the API will not 9275 // be included in the string output. The member name will be present, but the 9276 // value will be replaced with "sensitive". 9277 func (s CompleteMigrationOutput) GoString() string { 9278 return s.String() 9279 } 9280 9281 // SetReplicationGroup sets the ReplicationGroup field's value. 9282 func (s *CompleteMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *CompleteMigrationOutput { 9283 s.ReplicationGroup = v 9284 return s 9285 } 9286 9287 // Node group (shard) configuration options when adding or removing replicas. 9288 // Each node group (shard) configuration has the following members: NodeGroupId, 9289 // NewReplicaCount, and PreferredAvailabilityZones. 9290 type ConfigureShard struct { 9291 _ struct{} `type:"structure"` 9292 9293 // The number of replicas you want in this node group at the end of this operation. 9294 // The maximum value for NewReplicaCount is 5. The minimum value depends upon 9295 // the type of Redis replication group you are working with. 9296 // 9297 // The minimum number of replicas in a shard or replication group is: 9298 // 9299 // * Redis (cluster mode disabled) If Multi-AZ: 1 If Multi-AZ: 0 9300 // 9301 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 9302 // to a replica if your primary node fails) 9303 // 9304 // NewReplicaCount is a required field 9305 NewReplicaCount *int64 `type:"integer" required:"true"` 9306 9307 // The 4-digit id for the node group you are configuring. For Redis (cluster 9308 // mode disabled) replication groups, the node group id is always 0001. To find 9309 // a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a 9310 // Shard's Id (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html). 9311 // 9312 // NodeGroupId is a required field 9313 NodeGroupId *string `min:"1" type:"string" required:"true"` 9314 9315 // A list of PreferredAvailabilityZone strings that specify which availability 9316 // zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone 9317 // values must equal the value of NewReplicaCount plus 1 to account for the 9318 // primary node. If this member of ReplicaConfiguration is omitted, ElastiCache 9319 // for Redis selects the availability zone for each of the replicas. 9320 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 9321 9322 // The outpost ARNs in which the cache cluster is created. 9323 PreferredOutpostArns []*string `locationNameList:"PreferredOutpostArn" type:"list"` 9324 } 9325 9326 // String returns the string representation. 9327 // 9328 // API parameter values that are decorated as "sensitive" in the API will not 9329 // be included in the string output. The member name will be present, but the 9330 // value will be replaced with "sensitive". 9331 func (s ConfigureShard) String() string { 9332 return awsutil.Prettify(s) 9333 } 9334 9335 // GoString returns the string representation. 9336 // 9337 // API parameter values that are decorated as "sensitive" in the API will not 9338 // be included in the string output. The member name will be present, but the 9339 // value will be replaced with "sensitive". 9340 func (s ConfigureShard) GoString() string { 9341 return s.String() 9342 } 9343 9344 // Validate inspects the fields of the type to determine if they are valid. 9345 func (s *ConfigureShard) Validate() error { 9346 invalidParams := request.ErrInvalidParams{Context: "ConfigureShard"} 9347 if s.NewReplicaCount == nil { 9348 invalidParams.Add(request.NewErrParamRequired("NewReplicaCount")) 9349 } 9350 if s.NodeGroupId == nil { 9351 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 9352 } 9353 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 9354 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 9355 } 9356 9357 if invalidParams.Len() > 0 { 9358 return invalidParams 9359 } 9360 return nil 9361 } 9362 9363 // SetNewReplicaCount sets the NewReplicaCount field's value. 9364 func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { 9365 s.NewReplicaCount = &v 9366 return s 9367 } 9368 9369 // SetNodeGroupId sets the NodeGroupId field's value. 9370 func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { 9371 s.NodeGroupId = &v 9372 return s 9373 } 9374 9375 // SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 9376 func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { 9377 s.PreferredAvailabilityZones = v 9378 return s 9379 } 9380 9381 // SetPreferredOutpostArns sets the PreferredOutpostArns field's value. 9382 func (s *ConfigureShard) SetPreferredOutpostArns(v []*string) *ConfigureShard { 9383 s.PreferredOutpostArns = v 9384 return s 9385 } 9386 9387 // Represents the input of a CopySnapshotMessage operation. 9388 type CopySnapshotInput struct { 9389 _ struct{} `type:"structure"` 9390 9391 // The ID of the KMS key used to encrypt the target snapshot. 9392 KmsKeyId *string `type:"string"` 9393 9394 // The name of an existing snapshot from which to make a copy. 9395 // 9396 // SourceSnapshotName is a required field 9397 SourceSnapshotName *string `type:"string" required:"true"` 9398 9399 // A list of tags to be added to this resource. A tag is a key-value pair. A 9400 // tag key must be accompanied by a tag value, although null is accepted. 9401 Tags []*Tag `locationNameList:"Tag" type:"list"` 9402 9403 // The Amazon S3 bucket to which the snapshot is exported. This parameter is 9404 // used only when exporting a snapshot for external access. 9405 // 9406 // When using this parameter to export a snapshot, be sure Amazon ElastiCache 9407 // has the needed permissions to this S3 bucket. For more information, see Step 9408 // 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) 9409 // in the Amazon ElastiCache User Guide. 9410 // 9411 // For more information, see Exporting a Snapshot (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 9412 // in the Amazon ElastiCache User Guide. 9413 TargetBucket *string `type:"string"` 9414 9415 // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, 9416 // therefore this name must be unique within its context - ElastiCache or an 9417 // Amazon S3 bucket if exporting. 9418 // 9419 // TargetSnapshotName is a required field 9420 TargetSnapshotName *string `type:"string" required:"true"` 9421 } 9422 9423 // String returns the string representation. 9424 // 9425 // API parameter values that are decorated as "sensitive" in the API will not 9426 // be included in the string output. The member name will be present, but the 9427 // value will be replaced with "sensitive". 9428 func (s CopySnapshotInput) String() string { 9429 return awsutil.Prettify(s) 9430 } 9431 9432 // GoString returns the string representation. 9433 // 9434 // API parameter values that are decorated as "sensitive" in the API will not 9435 // be included in the string output. The member name will be present, but the 9436 // value will be replaced with "sensitive". 9437 func (s CopySnapshotInput) GoString() string { 9438 return s.String() 9439 } 9440 9441 // Validate inspects the fields of the type to determine if they are valid. 9442 func (s *CopySnapshotInput) Validate() error { 9443 invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} 9444 if s.SourceSnapshotName == nil { 9445 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) 9446 } 9447 if s.TargetSnapshotName == nil { 9448 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) 9449 } 9450 9451 if invalidParams.Len() > 0 { 9452 return invalidParams 9453 } 9454 return nil 9455 } 9456 9457 // SetKmsKeyId sets the KmsKeyId field's value. 9458 func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput { 9459 s.KmsKeyId = &v 9460 return s 9461 } 9462 9463 // SetSourceSnapshotName sets the SourceSnapshotName field's value. 9464 func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { 9465 s.SourceSnapshotName = &v 9466 return s 9467 } 9468 9469 // SetTags sets the Tags field's value. 9470 func (s *CopySnapshotInput) SetTags(v []*Tag) *CopySnapshotInput { 9471 s.Tags = v 9472 return s 9473 } 9474 9475 // SetTargetBucket sets the TargetBucket field's value. 9476 func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { 9477 s.TargetBucket = &v 9478 return s 9479 } 9480 9481 // SetTargetSnapshotName sets the TargetSnapshotName field's value. 9482 func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { 9483 s.TargetSnapshotName = &v 9484 return s 9485 } 9486 9487 type CopySnapshotOutput struct { 9488 _ struct{} `type:"structure"` 9489 9490 // Represents a copy of an entire Redis cluster as of the time when the snapshot 9491 // was taken. 9492 Snapshot *Snapshot `type:"structure"` 9493 } 9494 9495 // String returns the string representation. 9496 // 9497 // API parameter values that are decorated as "sensitive" in the API will not 9498 // be included in the string output. The member name will be present, but the 9499 // value will be replaced with "sensitive". 9500 func (s CopySnapshotOutput) String() string { 9501 return awsutil.Prettify(s) 9502 } 9503 9504 // GoString returns the string representation. 9505 // 9506 // API parameter values that are decorated as "sensitive" in the API will not 9507 // be included in the string output. The member name will be present, but the 9508 // value will be replaced with "sensitive". 9509 func (s CopySnapshotOutput) GoString() string { 9510 return s.String() 9511 } 9512 9513 // SetSnapshot sets the Snapshot field's value. 9514 func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { 9515 s.Snapshot = v 9516 return s 9517 } 9518 9519 // Represents the input of a CreateCacheCluster operation. 9520 type CreateCacheClusterInput struct { 9521 _ struct{} `type:"structure"` 9522 9523 // Specifies whether the nodes in this Memcached cluster are created in a single 9524 // Availability Zone or created across multiple Availability Zones in the cluster's 9525 // region. 9526 // 9527 // This parameter is only supported for Memcached clusters. 9528 // 9529 // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache 9530 // assumes single-az mode. 9531 AZMode *string `type:"string" enum:"AZMode"` 9532 9533 // Reserved parameter. The password used to access a password protected server. 9534 // 9535 // Password constraints: 9536 // 9537 // * Must be only printable ASCII characters. 9538 // 9539 // * Must be at least 16 characters and no more than 128 characters in length. 9540 // 9541 // * The only permitted printable special characters are !, &, #, $, ^, <, 9542 // >, and -. Other printable special characters cannot be used in the AUTH 9543 // token. 9544 // 9545 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 9546 // http://redis.io/commands/AUTH. 9547 AuthToken *string `type:"string"` 9548 9549 // This parameter is currently disabled. 9550 AutoMinorVersionUpgrade *bool `type:"boolean"` 9551 9552 // The node group (shard) identifier. This parameter is stored as a lowercase 9553 // string. 9554 // 9555 // Constraints: 9556 // 9557 // * A name must contain from 1 to 50 alphanumeric characters or hyphens. 9558 // 9559 // * The first character must be a letter. 9560 // 9561 // * A name cannot end with a hyphen or contain two consecutive hyphens. 9562 // 9563 // CacheClusterId is a required field 9564 CacheClusterId *string `type:"string" required:"true"` 9565 9566 // The compute and memory capacity of the nodes in the node group (shard). 9567 // 9568 // The following node types are supported by ElastiCache. Generally speaking, 9569 // the current generation types provide more memory and computational power 9570 // at lower cost when compared to their equivalent previous generation counterparts. 9571 // 9572 // * General purpose: Current generation: M6g node types (available only 9573 // for Redis engine version 5.0.6 onward and for Memcached engine version 9574 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 9575 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 9576 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 9577 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 9578 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 9579 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 9580 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 9581 // cache.t2.medium Previous generation: (not recommended) T1 node types: 9582 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 9583 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 9584 // cache.m3.2xlarge 9585 // 9586 // * Compute optimized: Previous generation: (not recommended) C1 node types: 9587 // cache.c1.xlarge 9588 // 9589 // * Memory optimized: Current generation: R6g node types (available only 9590 // for Redis engine version 5.0.6 onward and for Memcached engine version 9591 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 9592 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 9593 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 9594 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 9595 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 9596 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 9597 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 9598 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 9599 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 9600 // 9601 // Additional node type info 9602 // 9603 // * All current generation instance types are created in Amazon VPC by default. 9604 // 9605 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 9606 // 9607 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 9608 // 9609 // * Redis configuration variables appendonly and appendfsync are not supported 9610 // on Redis version 2.8.22 and later. 9611 CacheNodeType *string `type:"string"` 9612 9613 // The name of the parameter group to associate with this cluster. If this argument 9614 // is omitted, the default parameter group for the specified engine is used. 9615 // You cannot use any parameter group which has cluster-enabled='yes' when creating 9616 // a cluster. 9617 CacheParameterGroupName *string `type:"string"` 9618 9619 // A list of security group names to associate with this cluster. 9620 // 9621 // Use this parameter only when you are creating a cluster outside of an Amazon 9622 // Virtual Private Cloud (Amazon VPC). 9623 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 9624 9625 // The name of the subnet group to be used for the cluster. 9626 // 9627 // Use this parameter only when you are creating a cluster in an Amazon Virtual 9628 // Private Cloud (Amazon VPC). 9629 // 9630 // If you're going to launch your cluster in an Amazon VPC, you need to create 9631 // a subnet group before you start creating a cluster. For more information, 9632 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 9633 CacheSubnetGroupName *string `type:"string"` 9634 9635 // The name of the cache engine to be used for this cluster. 9636 // 9637 // Valid values for this parameter are: memcached | redis 9638 Engine *string `type:"string"` 9639 9640 // The version number of the cache engine to be used for this cluster. To view 9641 // the supported cache engine versions, use the DescribeCacheEngineVersions 9642 // operation. 9643 // 9644 // Important: You can upgrade to a newer engine version (see Selecting a Cache 9645 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 9646 // but you cannot downgrade to an earlier engine version. If you want to use 9647 // an earlier engine version, you must delete the existing cluster or replication 9648 // group and create it anew with the earlier engine version. 9649 EngineVersion *string `type:"string"` 9650 9651 // Specifies the destination, format and type of the logs. 9652 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 9653 9654 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 9655 // (SNS) topic to which notifications are sent. 9656 // 9657 // The Amazon SNS topic owner must be the same as the cluster owner. 9658 NotificationTopicArn *string `type:"string"` 9659 9660 // The initial number of cache nodes that the cluster has. 9661 // 9662 // For clusters running Redis, this value must be 1. For clusters running Memcached, 9663 // this value must be between 1 and 40. 9664 // 9665 // If you need more than 40 nodes for your Memcached cluster, please fill out 9666 // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ 9667 // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). 9668 NumCacheNodes *int64 `type:"integer"` 9669 9670 // Specifies whether the nodes in the cluster are created in a single outpost 9671 // or across multiple outposts. 9672 OutpostMode *string `type:"string" enum:"OutpostMode"` 9673 9674 // The port number on which each of the cache nodes accepts connections. 9675 Port *int64 `type:"integer"` 9676 9677 // The EC2 Availability Zone in which the cluster is created. 9678 // 9679 // All nodes belonging to this cluster are placed in the preferred Availability 9680 // Zone. If you want to create your nodes across multiple Availability Zones, 9681 // use PreferredAvailabilityZones. 9682 // 9683 // Default: System chosen Availability Zone. 9684 PreferredAvailabilityZone *string `type:"string"` 9685 9686 // A list of the Availability Zones in which cache nodes are created. The order 9687 // of the zones in the list is not important. 9688 // 9689 // This option is only supported on Memcached. 9690 // 9691 // If you are creating your cluster in an Amazon VPC (recommended) you can only 9692 // locate nodes in Availability Zones that are associated with the subnets in 9693 // the selected subnet group. 9694 // 9695 // The number of Availability Zones listed must equal the value of NumCacheNodes. 9696 // 9697 // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone 9698 // instead, or repeat the Availability Zone multiple times in the list. 9699 // 9700 // Default: System chosen Availability Zones. 9701 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 9702 9703 // Specifies the weekly time range during which maintenance on the cluster is 9704 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 9705 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 9706 // values for ddd are: 9707 PreferredMaintenanceWindow *string `type:"string"` 9708 9709 // The outpost ARN in which the cache cluster is created. 9710 PreferredOutpostArn *string `type:"string"` 9711 9712 // The outpost ARNs in which the cache cluster is created. 9713 PreferredOutpostArns []*string `locationNameList:"PreferredOutpostArn" type:"list"` 9714 9715 // The ID of the replication group to which this cluster should belong. If this 9716 // parameter is specified, the cluster is added to the specified replication 9717 // group as a read replica; otherwise, the cluster is a standalone primary that 9718 // is not part of any replication group. 9719 // 9720 // If the specified replication group is Multi-AZ enabled and the Availability 9721 // Zone is not specified, the cluster is created in Availability Zones that 9722 // provide the best spread of read replicas across Availability Zones. 9723 // 9724 // This parameter is only valid if the Engine parameter is redis. 9725 ReplicationGroupId *string `type:"string"` 9726 9727 // One or more VPC security groups associated with the cluster. 9728 // 9729 // Use this parameter only when you are creating a cluster in an Amazon Virtual 9730 // Private Cloud (Amazon VPC). 9731 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 9732 9733 // A single-element string list containing an Amazon Resource Name (ARN) that 9734 // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 9735 // file is used to populate the node group (shard). The Amazon S3 object name 9736 // in the ARN cannot contain any commas. 9737 // 9738 // This parameter is only valid if the Engine parameter is redis. 9739 // 9740 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 9741 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 9742 9743 // The name of a Redis snapshot from which to restore data into the new node 9744 // group (shard). The snapshot status changes to restoring while the new node 9745 // group (shard) is being created. 9746 // 9747 // This parameter is only valid if the Engine parameter is redis. 9748 SnapshotName *string `type:"string"` 9749 9750 // The number of days for which ElastiCache retains automatic snapshots before 9751 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 9752 // taken today is retained for 5 days before being deleted. 9753 // 9754 // This parameter is only valid if the Engine parameter is redis. 9755 // 9756 // Default: 0 (i.e., automatic backups are disabled for this cache cluster). 9757 SnapshotRetentionLimit *int64 `type:"integer"` 9758 9759 // The daily time range (in UTC) during which ElastiCache begins taking a daily 9760 // snapshot of your node group (shard). 9761 // 9762 // Example: 05:00-09:00 9763 // 9764 // If you do not specify this parameter, ElastiCache automatically chooses an 9765 // appropriate time range. 9766 // 9767 // This parameter is only valid if the Engine parameter is redis. 9768 SnapshotWindow *string `type:"string"` 9769 9770 // A list of tags to be added to this resource. 9771 Tags []*Tag `locationNameList:"Tag" type:"list"` 9772 } 9773 9774 // String returns the string representation. 9775 // 9776 // API parameter values that are decorated as "sensitive" in the API will not 9777 // be included in the string output. The member name will be present, but the 9778 // value will be replaced with "sensitive". 9779 func (s CreateCacheClusterInput) String() string { 9780 return awsutil.Prettify(s) 9781 } 9782 9783 // GoString returns the string representation. 9784 // 9785 // API parameter values that are decorated as "sensitive" in the API will not 9786 // be included in the string output. The member name will be present, but the 9787 // value will be replaced with "sensitive". 9788 func (s CreateCacheClusterInput) GoString() string { 9789 return s.String() 9790 } 9791 9792 // Validate inspects the fields of the type to determine if they are valid. 9793 func (s *CreateCacheClusterInput) Validate() error { 9794 invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} 9795 if s.CacheClusterId == nil { 9796 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 9797 } 9798 9799 if invalidParams.Len() > 0 { 9800 return invalidParams 9801 } 9802 return nil 9803 } 9804 9805 // SetAZMode sets the AZMode field's value. 9806 func (s *CreateCacheClusterInput) SetAZMode(v string) *CreateCacheClusterInput { 9807 s.AZMode = &v 9808 return s 9809 } 9810 9811 // SetAuthToken sets the AuthToken field's value. 9812 func (s *CreateCacheClusterInput) SetAuthToken(v string) *CreateCacheClusterInput { 9813 s.AuthToken = &v 9814 return s 9815 } 9816 9817 // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 9818 func (s *CreateCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateCacheClusterInput { 9819 s.AutoMinorVersionUpgrade = &v 9820 return s 9821 } 9822 9823 // SetCacheClusterId sets the CacheClusterId field's value. 9824 func (s *CreateCacheClusterInput) SetCacheClusterId(v string) *CreateCacheClusterInput { 9825 s.CacheClusterId = &v 9826 return s 9827 } 9828 9829 // SetCacheNodeType sets the CacheNodeType field's value. 9830 func (s *CreateCacheClusterInput) SetCacheNodeType(v string) *CreateCacheClusterInput { 9831 s.CacheNodeType = &v 9832 return s 9833 } 9834 9835 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9836 func (s *CreateCacheClusterInput) SetCacheParameterGroupName(v string) *CreateCacheClusterInput { 9837 s.CacheParameterGroupName = &v 9838 return s 9839 } 9840 9841 // SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 9842 func (s *CreateCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *CreateCacheClusterInput { 9843 s.CacheSecurityGroupNames = v 9844 return s 9845 } 9846 9847 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9848 func (s *CreateCacheClusterInput) SetCacheSubnetGroupName(v string) *CreateCacheClusterInput { 9849 s.CacheSubnetGroupName = &v 9850 return s 9851 } 9852 9853 // SetEngine sets the Engine field's value. 9854 func (s *CreateCacheClusterInput) SetEngine(v string) *CreateCacheClusterInput { 9855 s.Engine = &v 9856 return s 9857 } 9858 9859 // SetEngineVersion sets the EngineVersion field's value. 9860 func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheClusterInput { 9861 s.EngineVersion = &v 9862 return s 9863 } 9864 9865 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 9866 func (s *CreateCacheClusterInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *CreateCacheClusterInput { 9867 s.LogDeliveryConfigurations = v 9868 return s 9869 } 9870 9871 // SetNotificationTopicArn sets the NotificationTopicArn field's value. 9872 func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { 9873 s.NotificationTopicArn = &v 9874 return s 9875 } 9876 9877 // SetNumCacheNodes sets the NumCacheNodes field's value. 9878 func (s *CreateCacheClusterInput) SetNumCacheNodes(v int64) *CreateCacheClusterInput { 9879 s.NumCacheNodes = &v 9880 return s 9881 } 9882 9883 // SetOutpostMode sets the OutpostMode field's value. 9884 func (s *CreateCacheClusterInput) SetOutpostMode(v string) *CreateCacheClusterInput { 9885 s.OutpostMode = &v 9886 return s 9887 } 9888 9889 // SetPort sets the Port field's value. 9890 func (s *CreateCacheClusterInput) SetPort(v int64) *CreateCacheClusterInput { 9891 s.Port = &v 9892 return s 9893 } 9894 9895 // SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 9896 func (s *CreateCacheClusterInput) SetPreferredAvailabilityZone(v string) *CreateCacheClusterInput { 9897 s.PreferredAvailabilityZone = &v 9898 return s 9899 } 9900 9901 // SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 9902 func (s *CreateCacheClusterInput) SetPreferredAvailabilityZones(v []*string) *CreateCacheClusterInput { 9903 s.PreferredAvailabilityZones = v 9904 return s 9905 } 9906 9907 // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 9908 func (s *CreateCacheClusterInput) SetPreferredMaintenanceWindow(v string) *CreateCacheClusterInput { 9909 s.PreferredMaintenanceWindow = &v 9910 return s 9911 } 9912 9913 // SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 9914 func (s *CreateCacheClusterInput) SetPreferredOutpostArn(v string) *CreateCacheClusterInput { 9915 s.PreferredOutpostArn = &v 9916 return s 9917 } 9918 9919 // SetPreferredOutpostArns sets the PreferredOutpostArns field's value. 9920 func (s *CreateCacheClusterInput) SetPreferredOutpostArns(v []*string) *CreateCacheClusterInput { 9921 s.PreferredOutpostArns = v 9922 return s 9923 } 9924 9925 // SetReplicationGroupId sets the ReplicationGroupId field's value. 9926 func (s *CreateCacheClusterInput) SetReplicationGroupId(v string) *CreateCacheClusterInput { 9927 s.ReplicationGroupId = &v 9928 return s 9929 } 9930 9931 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 9932 func (s *CreateCacheClusterInput) SetSecurityGroupIds(v []*string) *CreateCacheClusterInput { 9933 s.SecurityGroupIds = v 9934 return s 9935 } 9936 9937 // SetSnapshotArns sets the SnapshotArns field's value. 9938 func (s *CreateCacheClusterInput) SetSnapshotArns(v []*string) *CreateCacheClusterInput { 9939 s.SnapshotArns = v 9940 return s 9941 } 9942 9943 // SetSnapshotName sets the SnapshotName field's value. 9944 func (s *CreateCacheClusterInput) SetSnapshotName(v string) *CreateCacheClusterInput { 9945 s.SnapshotName = &v 9946 return s 9947 } 9948 9949 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 9950 func (s *CreateCacheClusterInput) SetSnapshotRetentionLimit(v int64) *CreateCacheClusterInput { 9951 s.SnapshotRetentionLimit = &v 9952 return s 9953 } 9954 9955 // SetSnapshotWindow sets the SnapshotWindow field's value. 9956 func (s *CreateCacheClusterInput) SetSnapshotWindow(v string) *CreateCacheClusterInput { 9957 s.SnapshotWindow = &v 9958 return s 9959 } 9960 9961 // SetTags sets the Tags field's value. 9962 func (s *CreateCacheClusterInput) SetTags(v []*Tag) *CreateCacheClusterInput { 9963 s.Tags = v 9964 return s 9965 } 9966 9967 type CreateCacheClusterOutput struct { 9968 _ struct{} `type:"structure"` 9969 9970 // Contains all of the attributes of a specific cluster. 9971 CacheCluster *CacheCluster `type:"structure"` 9972 } 9973 9974 // String returns the string representation. 9975 // 9976 // API parameter values that are decorated as "sensitive" in the API will not 9977 // be included in the string output. The member name will be present, but the 9978 // value will be replaced with "sensitive". 9979 func (s CreateCacheClusterOutput) String() string { 9980 return awsutil.Prettify(s) 9981 } 9982 9983 // GoString returns the string representation. 9984 // 9985 // API parameter values that are decorated as "sensitive" in the API will not 9986 // be included in the string output. The member name will be present, but the 9987 // value will be replaced with "sensitive". 9988 func (s CreateCacheClusterOutput) GoString() string { 9989 return s.String() 9990 } 9991 9992 // SetCacheCluster sets the CacheCluster field's value. 9993 func (s *CreateCacheClusterOutput) SetCacheCluster(v *CacheCluster) *CreateCacheClusterOutput { 9994 s.CacheCluster = v 9995 return s 9996 } 9997 9998 // Represents the input of a CreateCacheParameterGroup operation. 9999 type CreateCacheParameterGroupInput struct { 10000 _ struct{} `type:"structure"` 10001 10002 // The name of the cache parameter group family that the cache parameter group 10003 // can be used with. 10004 // 10005 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 10006 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 10007 // 10008 // CacheParameterGroupFamily is a required field 10009 CacheParameterGroupFamily *string `type:"string" required:"true"` 10010 10011 // A user-specified name for the cache parameter group. 10012 // 10013 // CacheParameterGroupName is a required field 10014 CacheParameterGroupName *string `type:"string" required:"true"` 10015 10016 // A user-specified description for the cache parameter group. 10017 // 10018 // Description is a required field 10019 Description *string `type:"string" required:"true"` 10020 10021 // A list of tags to be added to this resource. A tag is a key-value pair. A 10022 // tag key must be accompanied by a tag value, although null is accepted. 10023 Tags []*Tag `locationNameList:"Tag" type:"list"` 10024 } 10025 10026 // String returns the string representation. 10027 // 10028 // API parameter values that are decorated as "sensitive" in the API will not 10029 // be included in the string output. The member name will be present, but the 10030 // value will be replaced with "sensitive". 10031 func (s CreateCacheParameterGroupInput) String() string { 10032 return awsutil.Prettify(s) 10033 } 10034 10035 // GoString returns the string representation. 10036 // 10037 // API parameter values that are decorated as "sensitive" in the API will not 10038 // be included in the string output. The member name will be present, but the 10039 // value will be replaced with "sensitive". 10040 func (s CreateCacheParameterGroupInput) GoString() string { 10041 return s.String() 10042 } 10043 10044 // Validate inspects the fields of the type to determine if they are valid. 10045 func (s *CreateCacheParameterGroupInput) Validate() error { 10046 invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} 10047 if s.CacheParameterGroupFamily == nil { 10048 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 10049 } 10050 if s.CacheParameterGroupName == nil { 10051 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 10052 } 10053 if s.Description == nil { 10054 invalidParams.Add(request.NewErrParamRequired("Description")) 10055 } 10056 10057 if invalidParams.Len() > 0 { 10058 return invalidParams 10059 } 10060 return nil 10061 } 10062 10063 // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 10064 func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupFamily(v string) *CreateCacheParameterGroupInput { 10065 s.CacheParameterGroupFamily = &v 10066 return s 10067 } 10068 10069 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10070 func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupName(v string) *CreateCacheParameterGroupInput { 10071 s.CacheParameterGroupName = &v 10072 return s 10073 } 10074 10075 // SetDescription sets the Description field's value. 10076 func (s *CreateCacheParameterGroupInput) SetDescription(v string) *CreateCacheParameterGroupInput { 10077 s.Description = &v 10078 return s 10079 } 10080 10081 // SetTags sets the Tags field's value. 10082 func (s *CreateCacheParameterGroupInput) SetTags(v []*Tag) *CreateCacheParameterGroupInput { 10083 s.Tags = v 10084 return s 10085 } 10086 10087 type CreateCacheParameterGroupOutput struct { 10088 _ struct{} `type:"structure"` 10089 10090 // Represents the output of a CreateCacheParameterGroup operation. 10091 CacheParameterGroup *CacheParameterGroup `type:"structure"` 10092 } 10093 10094 // String returns the string representation. 10095 // 10096 // API parameter values that are decorated as "sensitive" in the API will not 10097 // be included in the string output. The member name will be present, but the 10098 // value will be replaced with "sensitive". 10099 func (s CreateCacheParameterGroupOutput) String() string { 10100 return awsutil.Prettify(s) 10101 } 10102 10103 // GoString returns the string representation. 10104 // 10105 // API parameter values that are decorated as "sensitive" in the API will not 10106 // be included in the string output. The member name will be present, but the 10107 // value will be replaced with "sensitive". 10108 func (s CreateCacheParameterGroupOutput) GoString() string { 10109 return s.String() 10110 } 10111 10112 // SetCacheParameterGroup sets the CacheParameterGroup field's value. 10113 func (s *CreateCacheParameterGroupOutput) SetCacheParameterGroup(v *CacheParameterGroup) *CreateCacheParameterGroupOutput { 10114 s.CacheParameterGroup = v 10115 return s 10116 } 10117 10118 // Represents the input of a CreateCacheSecurityGroup operation. 10119 type CreateCacheSecurityGroupInput struct { 10120 _ struct{} `type:"structure"` 10121 10122 // A name for the cache security group. This value is stored as a lowercase 10123 // string. 10124 // 10125 // Constraints: Must contain no more than 255 alphanumeric characters. Cannot 10126 // be the word "Default". 10127 // 10128 // Example: mysecuritygroup 10129 // 10130 // CacheSecurityGroupName is a required field 10131 CacheSecurityGroupName *string `type:"string" required:"true"` 10132 10133 // A description for the cache security group. 10134 // 10135 // Description is a required field 10136 Description *string `type:"string" required:"true"` 10137 10138 // A list of tags to be added to this resource. A tag is a key-value pair. A 10139 // tag key must be accompanied by a tag value, although null is accepted. 10140 Tags []*Tag `locationNameList:"Tag" type:"list"` 10141 } 10142 10143 // String returns the string representation. 10144 // 10145 // API parameter values that are decorated as "sensitive" in the API will not 10146 // be included in the string output. The member name will be present, but the 10147 // value will be replaced with "sensitive". 10148 func (s CreateCacheSecurityGroupInput) String() string { 10149 return awsutil.Prettify(s) 10150 } 10151 10152 // GoString returns the string representation. 10153 // 10154 // API parameter values that are decorated as "sensitive" in the API will not 10155 // be included in the string output. The member name will be present, but the 10156 // value will be replaced with "sensitive". 10157 func (s CreateCacheSecurityGroupInput) GoString() string { 10158 return s.String() 10159 } 10160 10161 // Validate inspects the fields of the type to determine if they are valid. 10162 func (s *CreateCacheSecurityGroupInput) Validate() error { 10163 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} 10164 if s.CacheSecurityGroupName == nil { 10165 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 10166 } 10167 if s.Description == nil { 10168 invalidParams.Add(request.NewErrParamRequired("Description")) 10169 } 10170 10171 if invalidParams.Len() > 0 { 10172 return invalidParams 10173 } 10174 return nil 10175 } 10176 10177 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 10178 func (s *CreateCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *CreateCacheSecurityGroupInput { 10179 s.CacheSecurityGroupName = &v 10180 return s 10181 } 10182 10183 // SetDescription sets the Description field's value. 10184 func (s *CreateCacheSecurityGroupInput) SetDescription(v string) *CreateCacheSecurityGroupInput { 10185 s.Description = &v 10186 return s 10187 } 10188 10189 // SetTags sets the Tags field's value. 10190 func (s *CreateCacheSecurityGroupInput) SetTags(v []*Tag) *CreateCacheSecurityGroupInput { 10191 s.Tags = v 10192 return s 10193 } 10194 10195 type CreateCacheSecurityGroupOutput struct { 10196 _ struct{} `type:"structure"` 10197 10198 // Represents the output of one of the following operations: 10199 // 10200 // * AuthorizeCacheSecurityGroupIngress 10201 // 10202 // * CreateCacheSecurityGroup 10203 // 10204 // * RevokeCacheSecurityGroupIngress 10205 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 10206 } 10207 10208 // String returns the string representation. 10209 // 10210 // API parameter values that are decorated as "sensitive" in the API will not 10211 // be included in the string output. The member name will be present, but the 10212 // value will be replaced with "sensitive". 10213 func (s CreateCacheSecurityGroupOutput) String() string { 10214 return awsutil.Prettify(s) 10215 } 10216 10217 // GoString returns the string representation. 10218 // 10219 // API parameter values that are decorated as "sensitive" in the API will not 10220 // be included in the string output. The member name will be present, but the 10221 // value will be replaced with "sensitive". 10222 func (s CreateCacheSecurityGroupOutput) GoString() string { 10223 return s.String() 10224 } 10225 10226 // SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 10227 func (s *CreateCacheSecurityGroupOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *CreateCacheSecurityGroupOutput { 10228 s.CacheSecurityGroup = v 10229 return s 10230 } 10231 10232 // Represents the input of a CreateCacheSubnetGroup operation. 10233 type CreateCacheSubnetGroupInput struct { 10234 _ struct{} `type:"structure"` 10235 10236 // A description for the cache subnet group. 10237 // 10238 // CacheSubnetGroupDescription is a required field 10239 CacheSubnetGroupDescription *string `type:"string" required:"true"` 10240 10241 // A name for the cache subnet group. This value is stored as a lowercase string. 10242 // 10243 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 10244 // 10245 // Example: mysubnetgroup 10246 // 10247 // CacheSubnetGroupName is a required field 10248 CacheSubnetGroupName *string `type:"string" required:"true"` 10249 10250 // A list of VPC subnet IDs for the cache subnet group. 10251 // 10252 // SubnetIds is a required field 10253 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 10254 10255 // A list of tags to be added to this resource. A tag is a key-value pair. A 10256 // tag key must be accompanied by a tag value, although null is accepted. 10257 Tags []*Tag `locationNameList:"Tag" type:"list"` 10258 } 10259 10260 // String returns the string representation. 10261 // 10262 // API parameter values that are decorated as "sensitive" in the API will not 10263 // be included in the string output. The member name will be present, but the 10264 // value will be replaced with "sensitive". 10265 func (s CreateCacheSubnetGroupInput) String() string { 10266 return awsutil.Prettify(s) 10267 } 10268 10269 // GoString returns the string representation. 10270 // 10271 // API parameter values that are decorated as "sensitive" in the API will not 10272 // be included in the string output. The member name will be present, but the 10273 // value will be replaced with "sensitive". 10274 func (s CreateCacheSubnetGroupInput) GoString() string { 10275 return s.String() 10276 } 10277 10278 // Validate inspects the fields of the type to determine if they are valid. 10279 func (s *CreateCacheSubnetGroupInput) Validate() error { 10280 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} 10281 if s.CacheSubnetGroupDescription == nil { 10282 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) 10283 } 10284 if s.CacheSubnetGroupName == nil { 10285 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 10286 } 10287 if s.SubnetIds == nil { 10288 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 10289 } 10290 10291 if invalidParams.Len() > 0 { 10292 return invalidParams 10293 } 10294 return nil 10295 } 10296 10297 // SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 10298 func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *CreateCacheSubnetGroupInput { 10299 s.CacheSubnetGroupDescription = &v 10300 return s 10301 } 10302 10303 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10304 func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *CreateCacheSubnetGroupInput { 10305 s.CacheSubnetGroupName = &v 10306 return s 10307 } 10308 10309 // SetSubnetIds sets the SubnetIds field's value. 10310 func (s *CreateCacheSubnetGroupInput) SetSubnetIds(v []*string) *CreateCacheSubnetGroupInput { 10311 s.SubnetIds = v 10312 return s 10313 } 10314 10315 // SetTags sets the Tags field's value. 10316 func (s *CreateCacheSubnetGroupInput) SetTags(v []*Tag) *CreateCacheSubnetGroupInput { 10317 s.Tags = v 10318 return s 10319 } 10320 10321 type CreateCacheSubnetGroupOutput struct { 10322 _ struct{} `type:"structure"` 10323 10324 // Represents the output of one of the following operations: 10325 // 10326 // * CreateCacheSubnetGroup 10327 // 10328 // * ModifyCacheSubnetGroup 10329 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 10330 } 10331 10332 // String returns the string representation. 10333 // 10334 // API parameter values that are decorated as "sensitive" in the API will not 10335 // be included in the string output. The member name will be present, but the 10336 // value will be replaced with "sensitive". 10337 func (s CreateCacheSubnetGroupOutput) String() string { 10338 return awsutil.Prettify(s) 10339 } 10340 10341 // GoString returns the string representation. 10342 // 10343 // API parameter values that are decorated as "sensitive" in the API will not 10344 // be included in the string output. The member name will be present, but the 10345 // value will be replaced with "sensitive". 10346 func (s CreateCacheSubnetGroupOutput) GoString() string { 10347 return s.String() 10348 } 10349 10350 // SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 10351 func (s *CreateCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *CreateCacheSubnetGroupOutput { 10352 s.CacheSubnetGroup = v 10353 return s 10354 } 10355 10356 type CreateGlobalReplicationGroupInput struct { 10357 _ struct{} `type:"structure"` 10358 10359 // Provides details of the Global datastore 10360 GlobalReplicationGroupDescription *string `type:"string"` 10361 10362 // The suffix name of a Global datastore. Amazon ElastiCache automatically applies 10363 // a prefix to the Global datastore ID when it is created. Each Amazon Region 10364 // has its own prefix. For instance, a Global datastore ID created in the US-West-1 10365 // region will begin with "dsdfu" along with the suffix name you provide. The 10366 // suffix, combined with the auto-generated prefix, guarantees uniqueness of 10367 // the Global datastore name across multiple regions. 10368 // 10369 // For a full list of Amazon Regions and their respective Global datastore iD 10370 // prefixes, see Using the Amazon CLI with Global datastores (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastores-CLI.html). 10371 // 10372 // GlobalReplicationGroupIdSuffix is a required field 10373 GlobalReplicationGroupIdSuffix *string `type:"string" required:"true"` 10374 10375 // The name of the primary cluster that accepts writes and will replicate updates 10376 // to the secondary cluster. 10377 // 10378 // PrimaryReplicationGroupId is a required field 10379 PrimaryReplicationGroupId *string `type:"string" required:"true"` 10380 } 10381 10382 // String returns the string representation. 10383 // 10384 // API parameter values that are decorated as "sensitive" in the API will not 10385 // be included in the string output. The member name will be present, but the 10386 // value will be replaced with "sensitive". 10387 func (s CreateGlobalReplicationGroupInput) String() string { 10388 return awsutil.Prettify(s) 10389 } 10390 10391 // GoString returns the string representation. 10392 // 10393 // API parameter values that are decorated as "sensitive" in the API will not 10394 // be included in the string output. The member name will be present, but the 10395 // value will be replaced with "sensitive". 10396 func (s CreateGlobalReplicationGroupInput) GoString() string { 10397 return s.String() 10398 } 10399 10400 // Validate inspects the fields of the type to determine if they are valid. 10401 func (s *CreateGlobalReplicationGroupInput) Validate() error { 10402 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalReplicationGroupInput"} 10403 if s.GlobalReplicationGroupIdSuffix == nil { 10404 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupIdSuffix")) 10405 } 10406 if s.PrimaryReplicationGroupId == nil { 10407 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 10408 } 10409 10410 if invalidParams.Len() > 0 { 10411 return invalidParams 10412 } 10413 return nil 10414 } 10415 10416 // SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 10417 func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *CreateGlobalReplicationGroupInput { 10418 s.GlobalReplicationGroupDescription = &v 10419 return s 10420 } 10421 10422 // SetGlobalReplicationGroupIdSuffix sets the GlobalReplicationGroupIdSuffix field's value. 10423 func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupIdSuffix(v string) *CreateGlobalReplicationGroupInput { 10424 s.GlobalReplicationGroupIdSuffix = &v 10425 return s 10426 } 10427 10428 // SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 10429 func (s *CreateGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *CreateGlobalReplicationGroupInput { 10430 s.PrimaryReplicationGroupId = &v 10431 return s 10432 } 10433 10434 type CreateGlobalReplicationGroupOutput struct { 10435 _ struct{} `type:"structure"` 10436 10437 // Consists of a primary cluster that accepts writes and an associated secondary 10438 // cluster that resides in a different Amazon region. The secondary cluster 10439 // accepts only reads. The primary cluster automatically replicates updates 10440 // to the secondary cluster. 10441 // 10442 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 10443 // datastore, which is what you use to associate a secondary cluster. 10444 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 10445 } 10446 10447 // String returns the string representation. 10448 // 10449 // API parameter values that are decorated as "sensitive" in the API will not 10450 // be included in the string output. The member name will be present, but the 10451 // value will be replaced with "sensitive". 10452 func (s CreateGlobalReplicationGroupOutput) String() string { 10453 return awsutil.Prettify(s) 10454 } 10455 10456 // GoString returns the string representation. 10457 // 10458 // API parameter values that are decorated as "sensitive" in the API will not 10459 // be included in the string output. The member name will be present, but the 10460 // value will be replaced with "sensitive". 10461 func (s CreateGlobalReplicationGroupOutput) GoString() string { 10462 return s.String() 10463 } 10464 10465 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 10466 func (s *CreateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *CreateGlobalReplicationGroupOutput { 10467 s.GlobalReplicationGroup = v 10468 return s 10469 } 10470 10471 // Represents the input of a CreateReplicationGroup operation. 10472 type CreateReplicationGroupInput struct { 10473 _ struct{} `type:"structure"` 10474 10475 // A flag that enables encryption at rest when set to true. 10476 // 10477 // You cannot modify the value of AtRestEncryptionEnabled after the replication 10478 // group is created. To enable encryption at rest on a replication group you 10479 // must set AtRestEncryptionEnabled to true when you create the replication 10480 // group. 10481 // 10482 // Required: Only available when creating a replication group in an Amazon VPC 10483 // using redis version 3.2.6, 4.x or later. 10484 // 10485 // Default: false 10486 AtRestEncryptionEnabled *bool `type:"boolean"` 10487 10488 // Reserved parameter. The password used to access a password protected server. 10489 // 10490 // AuthToken can be specified only on replication groups where TransitEncryptionEnabled 10491 // is true. 10492 // 10493 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 10494 // an AuthToken, and a CacheSubnetGroup. 10495 // 10496 // Password constraints: 10497 // 10498 // * Must be only printable ASCII characters. 10499 // 10500 // * Must be at least 16 characters and no more than 128 characters in length. 10501 // 10502 // * The only permitted printable special characters are !, &, #, $, ^, <, 10503 // >, and -. Other printable special characters cannot be used in the AUTH 10504 // token. 10505 // 10506 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 10507 // http://redis.io/commands/AUTH. 10508 AuthToken *string `type:"string"` 10509 10510 // This parameter is currently disabled. 10511 AutoMinorVersionUpgrade *bool `type:"boolean"` 10512 10513 // Specifies whether a read-only replica is automatically promoted to read/write 10514 // primary if the existing primary fails. 10515 // 10516 // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) 10517 // replication groups. 10518 // 10519 // Default: false 10520 AutomaticFailoverEnabled *bool `type:"boolean"` 10521 10522 // The compute and memory capacity of the nodes in the node group (shard). 10523 // 10524 // The following node types are supported by ElastiCache. Generally speaking, 10525 // the current generation types provide more memory and computational power 10526 // at lower cost when compared to their equivalent previous generation counterparts. 10527 // 10528 // * General purpose: Current generation: M6g node types (available only 10529 // for Redis engine version 5.0.6 onward and for Memcached engine version 10530 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 10531 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 10532 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 10533 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 10534 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 10535 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 10536 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 10537 // cache.t2.medium Previous generation: (not recommended) T1 node types: 10538 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 10539 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 10540 // cache.m3.2xlarge 10541 // 10542 // * Compute optimized: Previous generation: (not recommended) C1 node types: 10543 // cache.c1.xlarge 10544 // 10545 // * Memory optimized: Current generation: R6g node types (available only 10546 // for Redis engine version 5.0.6 onward and for Memcached engine version 10547 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 10548 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 10549 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 10550 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 10551 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 10552 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 10553 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 10554 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 10555 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 10556 // 10557 // Additional node type info 10558 // 10559 // * All current generation instance types are created in Amazon VPC by default. 10560 // 10561 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 10562 // 10563 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 10564 // 10565 // * Redis configuration variables appendonly and appendfsync are not supported 10566 // on Redis version 2.8.22 and later. 10567 CacheNodeType *string `type:"string"` 10568 10569 // The name of the parameter group to associate with this replication group. 10570 // If this argument is omitted, the default cache parameter group for the specified 10571 // engine is used. 10572 // 10573 // If you are running Redis version 3.2.4 or later, only one node group (shard), 10574 // and want to use a default parameter group, we recommend that you specify 10575 // the parameter group by name. 10576 // 10577 // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. 10578 // 10579 // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. 10580 CacheParameterGroupName *string `type:"string"` 10581 10582 // A list of cache security group names to associate with this replication group. 10583 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 10584 10585 // The name of the cache subnet group to be used for the replication group. 10586 // 10587 // If you're going to launch your cluster in an Amazon VPC, you need to create 10588 // a subnet group before you start creating a cluster. For more information, 10589 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 10590 CacheSubnetGroupName *string `type:"string"` 10591 10592 // The name of the cache engine to be used for the clusters in this replication 10593 // group. Must be Redis. 10594 Engine *string `type:"string"` 10595 10596 // The version number of the cache engine to be used for the clusters in this 10597 // replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions 10598 // operation. 10599 // 10600 // Important: You can upgrade to a newer engine version (see Selecting a Cache 10601 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)) 10602 // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine 10603 // version. If you want to use an earlier engine version, you must delete the 10604 // existing cluster or replication group and create it anew with the earlier 10605 // engine version. 10606 EngineVersion *string `type:"string"` 10607 10608 // The name of the Global datastore 10609 GlobalReplicationGroupId *string `type:"string"` 10610 10611 // The ID of the KMS key used to encrypt the disk in the cluster. 10612 KmsKeyId *string `type:"string"` 10613 10614 // Specifies the destination, format and type of the logs. 10615 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 10616 10617 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 10618 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). 10619 MultiAZEnabled *bool `type:"boolean"` 10620 10621 // A list of node group (shard) configuration options. Each node group (shard) 10622 // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, 10623 // ReplicaCount, and Slots. 10624 // 10625 // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode 10626 // enabled) replication group, you can use this parameter to individually configure 10627 // each node group (shard), or you can omit this parameter. However, it is required 10628 // when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file. You 10629 // must configure each node group (shard) using this parameter because you must 10630 // specify the slots for each node group. 10631 NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` 10632 10633 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 10634 // (SNS) topic to which notifications are sent. 10635 // 10636 // The Amazon SNS topic owner must be the same as the cluster owner. 10637 NotificationTopicArn *string `type:"string"` 10638 10639 // The number of clusters this replication group initially has. 10640 // 10641 // This parameter is not used if there is more than one node group (shard). 10642 // You should use ReplicasPerNodeGroup instead. 10643 // 10644 // If AutomaticFailoverEnabled is true, the value of this parameter must be 10645 // at least 2. If AutomaticFailoverEnabled is false you can omit this parameter 10646 // (it will default to 1), or you can explicitly set it to a value between 2 10647 // and 6. 10648 // 10649 // The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas). 10650 NumCacheClusters *int64 `type:"integer"` 10651 10652 // An optional parameter that specifies the number of node groups (shards) for 10653 // this Redis (cluster mode enabled) replication group. For Redis (cluster mode 10654 // disabled) either omit this parameter or set it to 1. 10655 // 10656 // Default: 1 10657 NumNodeGroups *int64 `type:"integer"` 10658 10659 // The port number on which each member of the replication group accepts connections. 10660 Port *int64 `type:"integer"` 10661 10662 // A list of EC2 Availability Zones in which the replication group's clusters 10663 // are created. The order of the Availability Zones in the list is the order 10664 // in which clusters are allocated. The primary cluster is created in the first 10665 // AZ in the list. 10666 // 10667 // This parameter is not used if there is more than one node group (shard). 10668 // You should use NodeGroupConfiguration instead. 10669 // 10670 // If you are creating your replication group in an Amazon VPC (recommended), 10671 // you can only locate clusters in Availability Zones associated with the subnets 10672 // in the selected subnet group. 10673 // 10674 // The number of Availability Zones listed must equal the value of NumCacheClusters. 10675 // 10676 // Default: system chosen Availability Zones. 10677 PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` 10678 10679 // Specifies the weekly time range during which maintenance on the cluster is 10680 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 10681 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 10682 // values for ddd are: 10683 // 10684 // Specifies the weekly time range during which maintenance on the cluster is 10685 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 10686 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 10687 // 10688 // Valid values for ddd are: 10689 // 10690 // * sun 10691 // 10692 // * mon 10693 // 10694 // * tue 10695 // 10696 // * wed 10697 // 10698 // * thu 10699 // 10700 // * fri 10701 // 10702 // * sat 10703 // 10704 // Example: sun:23:00-mon:01:30 10705 PreferredMaintenanceWindow *string `type:"string"` 10706 10707 // The identifier of the cluster that serves as the primary for this replication 10708 // group. This cluster must already exist and have a status of available. 10709 // 10710 // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup 10711 // is specified. 10712 PrimaryClusterId *string `type:"string"` 10713 10714 // An optional parameter that specifies the number of replica nodes in each 10715 // node group (shard). Valid values are 0 to 5. 10716 ReplicasPerNodeGroup *int64 `type:"integer"` 10717 10718 // A user-created description for the replication group. 10719 // 10720 // ReplicationGroupDescription is a required field 10721 ReplicationGroupDescription *string `type:"string" required:"true"` 10722 10723 // The replication group identifier. This parameter is stored as a lowercase 10724 // string. 10725 // 10726 // Constraints: 10727 // 10728 // * A name must contain from 1 to 40 alphanumeric characters or hyphens. 10729 // 10730 // * The first character must be a letter. 10731 // 10732 // * A name cannot end with a hyphen or contain two consecutive hyphens. 10733 // 10734 // ReplicationGroupId is a required field 10735 ReplicationGroupId *string `type:"string" required:"true"` 10736 10737 // One or more Amazon VPC security groups associated with this replication group. 10738 // 10739 // Use this parameter only when you are creating a replication group in an Amazon 10740 // Virtual Private Cloud (Amazon VPC). 10741 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 10742 10743 // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB 10744 // snapshot files stored in Amazon S3. The snapshot files are used to populate 10745 // the new replication group. The Amazon S3 object name in the ARN cannot contain 10746 // any commas. The new replication group will have the number of node groups 10747 // (console: shards) specified by the parameter NumNodeGroups or the number 10748 // of node groups configured by NodeGroupConfiguration regardless of the number 10749 // of ARNs specified here. 10750 // 10751 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 10752 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 10753 10754 // The name of a snapshot from which to restore data into the new replication 10755 // group. The snapshot status changes to restoring while the new replication 10756 // group is being created. 10757 SnapshotName *string `type:"string"` 10758 10759 // The number of days for which ElastiCache retains automatic snapshots before 10760 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 10761 // that was taken today is retained for 5 days before being deleted. 10762 // 10763 // Default: 0 (i.e., automatic backups are disabled for this cluster). 10764 SnapshotRetentionLimit *int64 `type:"integer"` 10765 10766 // The daily time range (in UTC) during which ElastiCache begins taking a daily 10767 // snapshot of your node group (shard). 10768 // 10769 // Example: 05:00-09:00 10770 // 10771 // If you do not specify this parameter, ElastiCache automatically chooses an 10772 // appropriate time range. 10773 SnapshotWindow *string `type:"string"` 10774 10775 // A list of tags to be added to this resource. Tags are comma-separated key,value 10776 // pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as 10777 // shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. 10778 // Tags on replication groups will be replicated to all nodes. 10779 Tags []*Tag `locationNameList:"Tag" type:"list"` 10780 10781 // A flag that enables in-transit encryption when set to true. 10782 // 10783 // You cannot modify the value of TransitEncryptionEnabled after the cluster 10784 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 10785 // to true when you create a cluster. 10786 // 10787 // This parameter is valid only if the Engine parameter is redis, the EngineVersion 10788 // parameter is 3.2.6, 4.x or later, and the cluster is being created in an 10789 // Amazon VPC. 10790 // 10791 // If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. 10792 // 10793 // Required: Only available when creating a replication group in an Amazon VPC 10794 // using redis version 3.2.6, 4.x or later. 10795 // 10796 // Default: false 10797 // 10798 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 10799 // an AuthToken, and a CacheSubnetGroup. 10800 TransitEncryptionEnabled *bool `type:"boolean"` 10801 10802 // The user group to associate with the replication group. 10803 UserGroupIds []*string `min:"1" type:"list"` 10804 } 10805 10806 // String returns the string representation. 10807 // 10808 // API parameter values that are decorated as "sensitive" in the API will not 10809 // be included in the string output. The member name will be present, but the 10810 // value will be replaced with "sensitive". 10811 func (s CreateReplicationGroupInput) String() string { 10812 return awsutil.Prettify(s) 10813 } 10814 10815 // GoString returns the string representation. 10816 // 10817 // API parameter values that are decorated as "sensitive" in the API will not 10818 // be included in the string output. The member name will be present, but the 10819 // value will be replaced with "sensitive". 10820 func (s CreateReplicationGroupInput) GoString() string { 10821 return s.String() 10822 } 10823 10824 // Validate inspects the fields of the type to determine if they are valid. 10825 func (s *CreateReplicationGroupInput) Validate() error { 10826 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} 10827 if s.ReplicationGroupDescription == nil { 10828 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) 10829 } 10830 if s.ReplicationGroupId == nil { 10831 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 10832 } 10833 if s.UserGroupIds != nil && len(s.UserGroupIds) < 1 { 10834 invalidParams.Add(request.NewErrParamMinLen("UserGroupIds", 1)) 10835 } 10836 if s.NodeGroupConfiguration != nil { 10837 for i, v := range s.NodeGroupConfiguration { 10838 if v == nil { 10839 continue 10840 } 10841 if err := v.Validate(); err != nil { 10842 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeGroupConfiguration", i), err.(request.ErrInvalidParams)) 10843 } 10844 } 10845 } 10846 10847 if invalidParams.Len() > 0 { 10848 return invalidParams 10849 } 10850 return nil 10851 } 10852 10853 // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 10854 func (s *CreateReplicationGroupInput) SetAtRestEncryptionEnabled(v bool) *CreateReplicationGroupInput { 10855 s.AtRestEncryptionEnabled = &v 10856 return s 10857 } 10858 10859 // SetAuthToken sets the AuthToken field's value. 10860 func (s *CreateReplicationGroupInput) SetAuthToken(v string) *CreateReplicationGroupInput { 10861 s.AuthToken = &v 10862 return s 10863 } 10864 10865 // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 10866 func (s *CreateReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationGroupInput { 10867 s.AutoMinorVersionUpgrade = &v 10868 return s 10869 } 10870 10871 // SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 10872 func (s *CreateReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *CreateReplicationGroupInput { 10873 s.AutomaticFailoverEnabled = &v 10874 return s 10875 } 10876 10877 // SetCacheNodeType sets the CacheNodeType field's value. 10878 func (s *CreateReplicationGroupInput) SetCacheNodeType(v string) *CreateReplicationGroupInput { 10879 s.CacheNodeType = &v 10880 return s 10881 } 10882 10883 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10884 func (s *CreateReplicationGroupInput) SetCacheParameterGroupName(v string) *CreateReplicationGroupInput { 10885 s.CacheParameterGroupName = &v 10886 return s 10887 } 10888 10889 // SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 10890 func (s *CreateReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *CreateReplicationGroupInput { 10891 s.CacheSecurityGroupNames = v 10892 return s 10893 } 10894 10895 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10896 func (s *CreateReplicationGroupInput) SetCacheSubnetGroupName(v string) *CreateReplicationGroupInput { 10897 s.CacheSubnetGroupName = &v 10898 return s 10899 } 10900 10901 // SetEngine sets the Engine field's value. 10902 func (s *CreateReplicationGroupInput) SetEngine(v string) *CreateReplicationGroupInput { 10903 s.Engine = &v 10904 return s 10905 } 10906 10907 // SetEngineVersion sets the EngineVersion field's value. 10908 func (s *CreateReplicationGroupInput) SetEngineVersion(v string) *CreateReplicationGroupInput { 10909 s.EngineVersion = &v 10910 return s 10911 } 10912 10913 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 10914 func (s *CreateReplicationGroupInput) SetGlobalReplicationGroupId(v string) *CreateReplicationGroupInput { 10915 s.GlobalReplicationGroupId = &v 10916 return s 10917 } 10918 10919 // SetKmsKeyId sets the KmsKeyId field's value. 10920 func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGroupInput { 10921 s.KmsKeyId = &v 10922 return s 10923 } 10924 10925 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 10926 func (s *CreateReplicationGroupInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *CreateReplicationGroupInput { 10927 s.LogDeliveryConfigurations = v 10928 return s 10929 } 10930 10931 // SetMultiAZEnabled sets the MultiAZEnabled field's value. 10932 func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicationGroupInput { 10933 s.MultiAZEnabled = &v 10934 return s 10935 } 10936 10937 // SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 10938 func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { 10939 s.NodeGroupConfiguration = v 10940 return s 10941 } 10942 10943 // SetNotificationTopicArn sets the NotificationTopicArn field's value. 10944 func (s *CreateReplicationGroupInput) SetNotificationTopicArn(v string) *CreateReplicationGroupInput { 10945 s.NotificationTopicArn = &v 10946 return s 10947 } 10948 10949 // SetNumCacheClusters sets the NumCacheClusters field's value. 10950 func (s *CreateReplicationGroupInput) SetNumCacheClusters(v int64) *CreateReplicationGroupInput { 10951 s.NumCacheClusters = &v 10952 return s 10953 } 10954 10955 // SetNumNodeGroups sets the NumNodeGroups field's value. 10956 func (s *CreateReplicationGroupInput) SetNumNodeGroups(v int64) *CreateReplicationGroupInput { 10957 s.NumNodeGroups = &v 10958 return s 10959 } 10960 10961 // SetPort sets the Port field's value. 10962 func (s *CreateReplicationGroupInput) SetPort(v int64) *CreateReplicationGroupInput { 10963 s.Port = &v 10964 return s 10965 } 10966 10967 // SetPreferredCacheClusterAZs sets the PreferredCacheClusterAZs field's value. 10968 func (s *CreateReplicationGroupInput) SetPreferredCacheClusterAZs(v []*string) *CreateReplicationGroupInput { 10969 s.PreferredCacheClusterAZs = v 10970 return s 10971 } 10972 10973 // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 10974 func (s *CreateReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationGroupInput { 10975 s.PreferredMaintenanceWindow = &v 10976 return s 10977 } 10978 10979 // SetPrimaryClusterId sets the PrimaryClusterId field's value. 10980 func (s *CreateReplicationGroupInput) SetPrimaryClusterId(v string) *CreateReplicationGroupInput { 10981 s.PrimaryClusterId = &v 10982 return s 10983 } 10984 10985 // SetReplicasPerNodeGroup sets the ReplicasPerNodeGroup field's value. 10986 func (s *CreateReplicationGroupInput) SetReplicasPerNodeGroup(v int64) *CreateReplicationGroupInput { 10987 s.ReplicasPerNodeGroup = &v 10988 return s 10989 } 10990 10991 // SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 10992 func (s *CreateReplicationGroupInput) SetReplicationGroupDescription(v string) *CreateReplicationGroupInput { 10993 s.ReplicationGroupDescription = &v 10994 return s 10995 } 10996 10997 // SetReplicationGroupId sets the ReplicationGroupId field's value. 10998 func (s *CreateReplicationGroupInput) SetReplicationGroupId(v string) *CreateReplicationGroupInput { 10999 s.ReplicationGroupId = &v 11000 return s 11001 } 11002 11003 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 11004 func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateReplicationGroupInput { 11005 s.SecurityGroupIds = v 11006 return s 11007 } 11008 11009 // SetSnapshotArns sets the SnapshotArns field's value. 11010 func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { 11011 s.SnapshotArns = v 11012 return s 11013 } 11014 11015 // SetSnapshotName sets the SnapshotName field's value. 11016 func (s *CreateReplicationGroupInput) SetSnapshotName(v string) *CreateReplicationGroupInput { 11017 s.SnapshotName = &v 11018 return s 11019 } 11020 11021 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 11022 func (s *CreateReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *CreateReplicationGroupInput { 11023 s.SnapshotRetentionLimit = &v 11024 return s 11025 } 11026 11027 // SetSnapshotWindow sets the SnapshotWindow field's value. 11028 func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplicationGroupInput { 11029 s.SnapshotWindow = &v 11030 return s 11031 } 11032 11033 // SetTags sets the Tags field's value. 11034 func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { 11035 s.Tags = v 11036 return s 11037 } 11038 11039 // SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 11040 func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { 11041 s.TransitEncryptionEnabled = &v 11042 return s 11043 } 11044 11045 // SetUserGroupIds sets the UserGroupIds field's value. 11046 func (s *CreateReplicationGroupInput) SetUserGroupIds(v []*string) *CreateReplicationGroupInput { 11047 s.UserGroupIds = v 11048 return s 11049 } 11050 11051 type CreateReplicationGroupOutput struct { 11052 _ struct{} `type:"structure"` 11053 11054 // Contains all of the attributes of a specific Redis replication group. 11055 ReplicationGroup *ReplicationGroup `type:"structure"` 11056 } 11057 11058 // String returns the string representation. 11059 // 11060 // API parameter values that are decorated as "sensitive" in the API will not 11061 // be included in the string output. The member name will be present, but the 11062 // value will be replaced with "sensitive". 11063 func (s CreateReplicationGroupOutput) String() string { 11064 return awsutil.Prettify(s) 11065 } 11066 11067 // GoString returns the string representation. 11068 // 11069 // API parameter values that are decorated as "sensitive" in the API will not 11070 // be included in the string output. The member name will be present, but the 11071 // value will be replaced with "sensitive". 11072 func (s CreateReplicationGroupOutput) GoString() string { 11073 return s.String() 11074 } 11075 11076 // SetReplicationGroup sets the ReplicationGroup field's value. 11077 func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { 11078 s.ReplicationGroup = v 11079 return s 11080 } 11081 11082 // Represents the input of a CreateSnapshot operation. 11083 type CreateSnapshotInput struct { 11084 _ struct{} `type:"structure"` 11085 11086 // The identifier of an existing cluster. The snapshot is created from this 11087 // cluster. 11088 CacheClusterId *string `type:"string"` 11089 11090 // The ID of the KMS key used to encrypt the snapshot. 11091 KmsKeyId *string `type:"string"` 11092 11093 // The identifier of an existing replication group. The snapshot is created 11094 // from this replication group. 11095 ReplicationGroupId *string `type:"string"` 11096 11097 // A name for the snapshot being created. 11098 // 11099 // SnapshotName is a required field 11100 SnapshotName *string `type:"string" required:"true"` 11101 11102 // A list of tags to be added to this resource. A tag is a key-value pair. A 11103 // tag key must be accompanied by a tag value, although null is accepted. 11104 Tags []*Tag `locationNameList:"Tag" type:"list"` 11105 } 11106 11107 // String returns the string representation. 11108 // 11109 // API parameter values that are decorated as "sensitive" in the API will not 11110 // be included in the string output. The member name will be present, but the 11111 // value will be replaced with "sensitive". 11112 func (s CreateSnapshotInput) String() string { 11113 return awsutil.Prettify(s) 11114 } 11115 11116 // GoString returns the string representation. 11117 // 11118 // API parameter values that are decorated as "sensitive" in the API will not 11119 // be included in the string output. The member name will be present, but the 11120 // value will be replaced with "sensitive". 11121 func (s CreateSnapshotInput) GoString() string { 11122 return s.String() 11123 } 11124 11125 // Validate inspects the fields of the type to determine if they are valid. 11126 func (s *CreateSnapshotInput) Validate() error { 11127 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} 11128 if s.SnapshotName == nil { 11129 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 11130 } 11131 11132 if invalidParams.Len() > 0 { 11133 return invalidParams 11134 } 11135 return nil 11136 } 11137 11138 // SetCacheClusterId sets the CacheClusterId field's value. 11139 func (s *CreateSnapshotInput) SetCacheClusterId(v string) *CreateSnapshotInput { 11140 s.CacheClusterId = &v 11141 return s 11142 } 11143 11144 // SetKmsKeyId sets the KmsKeyId field's value. 11145 func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput { 11146 s.KmsKeyId = &v 11147 return s 11148 } 11149 11150 // SetReplicationGroupId sets the ReplicationGroupId field's value. 11151 func (s *CreateSnapshotInput) SetReplicationGroupId(v string) *CreateSnapshotInput { 11152 s.ReplicationGroupId = &v 11153 return s 11154 } 11155 11156 // SetSnapshotName sets the SnapshotName field's value. 11157 func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { 11158 s.SnapshotName = &v 11159 return s 11160 } 11161 11162 // SetTags sets the Tags field's value. 11163 func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput { 11164 s.Tags = v 11165 return s 11166 } 11167 11168 type CreateSnapshotOutput struct { 11169 _ struct{} `type:"structure"` 11170 11171 // Represents a copy of an entire Redis cluster as of the time when the snapshot 11172 // was taken. 11173 Snapshot *Snapshot `type:"structure"` 11174 } 11175 11176 // String returns the string representation. 11177 // 11178 // API parameter values that are decorated as "sensitive" in the API will not 11179 // be included in the string output. The member name will be present, but the 11180 // value will be replaced with "sensitive". 11181 func (s CreateSnapshotOutput) String() string { 11182 return awsutil.Prettify(s) 11183 } 11184 11185 // GoString returns the string representation. 11186 // 11187 // API parameter values that are decorated as "sensitive" in the API will not 11188 // be included in the string output. The member name will be present, but the 11189 // value will be replaced with "sensitive". 11190 func (s CreateSnapshotOutput) GoString() string { 11191 return s.String() 11192 } 11193 11194 // SetSnapshot sets the Snapshot field's value. 11195 func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { 11196 s.Snapshot = v 11197 return s 11198 } 11199 11200 type CreateUserGroupInput struct { 11201 _ struct{} `type:"structure"` 11202 11203 // The current supported value is Redis. 11204 // 11205 // Engine is a required field 11206 Engine *string `type:"string" required:"true"` 11207 11208 // A list of tags to be added to this resource. A tag is a key-value pair. A 11209 // tag key must be accompanied by a tag value, although null is accepted. 11210 Tags []*Tag `locationNameList:"Tag" type:"list"` 11211 11212 // The ID of the user group. 11213 // 11214 // UserGroupId is a required field 11215 UserGroupId *string `type:"string" required:"true"` 11216 11217 // The list of user IDs that belong to the user group. 11218 UserIds []*string `min:"1" type:"list"` 11219 } 11220 11221 // String returns the string representation. 11222 // 11223 // API parameter values that are decorated as "sensitive" in the API will not 11224 // be included in the string output. The member name will be present, but the 11225 // value will be replaced with "sensitive". 11226 func (s CreateUserGroupInput) String() string { 11227 return awsutil.Prettify(s) 11228 } 11229 11230 // GoString returns the string representation. 11231 // 11232 // API parameter values that are decorated as "sensitive" in the API will not 11233 // be included in the string output. The member name will be present, but the 11234 // value will be replaced with "sensitive". 11235 func (s CreateUserGroupInput) GoString() string { 11236 return s.String() 11237 } 11238 11239 // Validate inspects the fields of the type to determine if they are valid. 11240 func (s *CreateUserGroupInput) Validate() error { 11241 invalidParams := request.ErrInvalidParams{Context: "CreateUserGroupInput"} 11242 if s.Engine == nil { 11243 invalidParams.Add(request.NewErrParamRequired("Engine")) 11244 } 11245 if s.UserGroupId == nil { 11246 invalidParams.Add(request.NewErrParamRequired("UserGroupId")) 11247 } 11248 if s.UserIds != nil && len(s.UserIds) < 1 { 11249 invalidParams.Add(request.NewErrParamMinLen("UserIds", 1)) 11250 } 11251 11252 if invalidParams.Len() > 0 { 11253 return invalidParams 11254 } 11255 return nil 11256 } 11257 11258 // SetEngine sets the Engine field's value. 11259 func (s *CreateUserGroupInput) SetEngine(v string) *CreateUserGroupInput { 11260 s.Engine = &v 11261 return s 11262 } 11263 11264 // SetTags sets the Tags field's value. 11265 func (s *CreateUserGroupInput) SetTags(v []*Tag) *CreateUserGroupInput { 11266 s.Tags = v 11267 return s 11268 } 11269 11270 // SetUserGroupId sets the UserGroupId field's value. 11271 func (s *CreateUserGroupInput) SetUserGroupId(v string) *CreateUserGroupInput { 11272 s.UserGroupId = &v 11273 return s 11274 } 11275 11276 // SetUserIds sets the UserIds field's value. 11277 func (s *CreateUserGroupInput) SetUserIds(v []*string) *CreateUserGroupInput { 11278 s.UserIds = v 11279 return s 11280 } 11281 11282 type CreateUserGroupOutput struct { 11283 _ struct{} `type:"structure"` 11284 11285 // The Amazon Resource Name (ARN) of the user group. 11286 ARN *string `type:"string"` 11287 11288 // The current supported value is Redis. 11289 Engine *string `type:"string"` 11290 11291 // A list of updates being applied to the user group. 11292 PendingChanges *UserGroupPendingChanges `type:"structure"` 11293 11294 // A list of replication groups that the user group can access. 11295 ReplicationGroups []*string `type:"list"` 11296 11297 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 11298 Status *string `type:"string"` 11299 11300 // The ID of the user group. 11301 UserGroupId *string `type:"string"` 11302 11303 // The list of user IDs that belong to the user group. 11304 UserIds []*string `type:"list"` 11305 } 11306 11307 // String returns the string representation. 11308 // 11309 // API parameter values that are decorated as "sensitive" in the API will not 11310 // be included in the string output. The member name will be present, but the 11311 // value will be replaced with "sensitive". 11312 func (s CreateUserGroupOutput) String() string { 11313 return awsutil.Prettify(s) 11314 } 11315 11316 // GoString returns the string representation. 11317 // 11318 // API parameter values that are decorated as "sensitive" in the API will not 11319 // be included in the string output. The member name will be present, but the 11320 // value will be replaced with "sensitive". 11321 func (s CreateUserGroupOutput) GoString() string { 11322 return s.String() 11323 } 11324 11325 // SetARN sets the ARN field's value. 11326 func (s *CreateUserGroupOutput) SetARN(v string) *CreateUserGroupOutput { 11327 s.ARN = &v 11328 return s 11329 } 11330 11331 // SetEngine sets the Engine field's value. 11332 func (s *CreateUserGroupOutput) SetEngine(v string) *CreateUserGroupOutput { 11333 s.Engine = &v 11334 return s 11335 } 11336 11337 // SetPendingChanges sets the PendingChanges field's value. 11338 func (s *CreateUserGroupOutput) SetPendingChanges(v *UserGroupPendingChanges) *CreateUserGroupOutput { 11339 s.PendingChanges = v 11340 return s 11341 } 11342 11343 // SetReplicationGroups sets the ReplicationGroups field's value. 11344 func (s *CreateUserGroupOutput) SetReplicationGroups(v []*string) *CreateUserGroupOutput { 11345 s.ReplicationGroups = v 11346 return s 11347 } 11348 11349 // SetStatus sets the Status field's value. 11350 func (s *CreateUserGroupOutput) SetStatus(v string) *CreateUserGroupOutput { 11351 s.Status = &v 11352 return s 11353 } 11354 11355 // SetUserGroupId sets the UserGroupId field's value. 11356 func (s *CreateUserGroupOutput) SetUserGroupId(v string) *CreateUserGroupOutput { 11357 s.UserGroupId = &v 11358 return s 11359 } 11360 11361 // SetUserIds sets the UserIds field's value. 11362 func (s *CreateUserGroupOutput) SetUserIds(v []*string) *CreateUserGroupOutput { 11363 s.UserIds = v 11364 return s 11365 } 11366 11367 type CreateUserInput struct { 11368 _ struct{} `type:"structure"` 11369 11370 // Access permissions string used for this user. 11371 // 11372 // AccessString is a required field 11373 AccessString *string `type:"string" required:"true"` 11374 11375 // The current supported value is Redis. 11376 // 11377 // Engine is a required field 11378 Engine *string `type:"string" required:"true"` 11379 11380 // Indicates a password is not required for this user. 11381 NoPasswordRequired *bool `type:"boolean"` 11382 11383 // Passwords used for this user. You can create up to two passwords for each 11384 // user. 11385 Passwords []*string `min:"1" type:"list"` 11386 11387 // A list of tags to be added to this resource. A tag is a key-value pair. A 11388 // tag key must be accompanied by a tag value, although null is accepted. 11389 Tags []*Tag `locationNameList:"Tag" type:"list"` 11390 11391 // The ID of the user. 11392 // 11393 // UserId is a required field 11394 UserId *string `min:"1" type:"string" required:"true"` 11395 11396 // The username of the user. 11397 // 11398 // UserName is a required field 11399 UserName *string `min:"1" type:"string" required:"true"` 11400 } 11401 11402 // String returns the string representation. 11403 // 11404 // API parameter values that are decorated as "sensitive" in the API will not 11405 // be included in the string output. The member name will be present, but the 11406 // value will be replaced with "sensitive". 11407 func (s CreateUserInput) String() string { 11408 return awsutil.Prettify(s) 11409 } 11410 11411 // GoString returns the string representation. 11412 // 11413 // API parameter values that are decorated as "sensitive" in the API will not 11414 // be included in the string output. The member name will be present, but the 11415 // value will be replaced with "sensitive". 11416 func (s CreateUserInput) GoString() string { 11417 return s.String() 11418 } 11419 11420 // Validate inspects the fields of the type to determine if they are valid. 11421 func (s *CreateUserInput) Validate() error { 11422 invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} 11423 if s.AccessString == nil { 11424 invalidParams.Add(request.NewErrParamRequired("AccessString")) 11425 } 11426 if s.Engine == nil { 11427 invalidParams.Add(request.NewErrParamRequired("Engine")) 11428 } 11429 if s.Passwords != nil && len(s.Passwords) < 1 { 11430 invalidParams.Add(request.NewErrParamMinLen("Passwords", 1)) 11431 } 11432 if s.UserId == nil { 11433 invalidParams.Add(request.NewErrParamRequired("UserId")) 11434 } 11435 if s.UserId != nil && len(*s.UserId) < 1 { 11436 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 11437 } 11438 if s.UserName == nil { 11439 invalidParams.Add(request.NewErrParamRequired("UserName")) 11440 } 11441 if s.UserName != nil && len(*s.UserName) < 1 { 11442 invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) 11443 } 11444 11445 if invalidParams.Len() > 0 { 11446 return invalidParams 11447 } 11448 return nil 11449 } 11450 11451 // SetAccessString sets the AccessString field's value. 11452 func (s *CreateUserInput) SetAccessString(v string) *CreateUserInput { 11453 s.AccessString = &v 11454 return s 11455 } 11456 11457 // SetEngine sets the Engine field's value. 11458 func (s *CreateUserInput) SetEngine(v string) *CreateUserInput { 11459 s.Engine = &v 11460 return s 11461 } 11462 11463 // SetNoPasswordRequired sets the NoPasswordRequired field's value. 11464 func (s *CreateUserInput) SetNoPasswordRequired(v bool) *CreateUserInput { 11465 s.NoPasswordRequired = &v 11466 return s 11467 } 11468 11469 // SetPasswords sets the Passwords field's value. 11470 func (s *CreateUserInput) SetPasswords(v []*string) *CreateUserInput { 11471 s.Passwords = v 11472 return s 11473 } 11474 11475 // SetTags sets the Tags field's value. 11476 func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput { 11477 s.Tags = v 11478 return s 11479 } 11480 11481 // SetUserId sets the UserId field's value. 11482 func (s *CreateUserInput) SetUserId(v string) *CreateUserInput { 11483 s.UserId = &v 11484 return s 11485 } 11486 11487 // SetUserName sets the UserName field's value. 11488 func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { 11489 s.UserName = &v 11490 return s 11491 } 11492 11493 type CreateUserOutput struct { 11494 _ struct{} `type:"structure"` 11495 11496 // The Amazon Resource Name (ARN) of the user. 11497 ARN *string `type:"string"` 11498 11499 // Access permissions string used for this user. 11500 AccessString *string `type:"string"` 11501 11502 // Denotes whether the user requires a password to authenticate. 11503 Authentication *Authentication `type:"structure"` 11504 11505 // The current supported value is Redis. 11506 Engine *string `type:"string"` 11507 11508 // Indicates the user status. Can be "active", "modifying" or "deleting". 11509 Status *string `type:"string"` 11510 11511 // Returns a list of the user group IDs the user belongs to. 11512 UserGroupIds []*string `type:"list"` 11513 11514 // The ID of the user. 11515 UserId *string `type:"string"` 11516 11517 // The username of the user. 11518 UserName *string `type:"string"` 11519 } 11520 11521 // String returns the string representation. 11522 // 11523 // API parameter values that are decorated as "sensitive" in the API will not 11524 // be included in the string output. The member name will be present, but the 11525 // value will be replaced with "sensitive". 11526 func (s CreateUserOutput) String() string { 11527 return awsutil.Prettify(s) 11528 } 11529 11530 // GoString returns the string representation. 11531 // 11532 // API parameter values that are decorated as "sensitive" in the API will not 11533 // be included in the string output. The member name will be present, but the 11534 // value will be replaced with "sensitive". 11535 func (s CreateUserOutput) GoString() string { 11536 return s.String() 11537 } 11538 11539 // SetARN sets the ARN field's value. 11540 func (s *CreateUserOutput) SetARN(v string) *CreateUserOutput { 11541 s.ARN = &v 11542 return s 11543 } 11544 11545 // SetAccessString sets the AccessString field's value. 11546 func (s *CreateUserOutput) SetAccessString(v string) *CreateUserOutput { 11547 s.AccessString = &v 11548 return s 11549 } 11550 11551 // SetAuthentication sets the Authentication field's value. 11552 func (s *CreateUserOutput) SetAuthentication(v *Authentication) *CreateUserOutput { 11553 s.Authentication = v 11554 return s 11555 } 11556 11557 // SetEngine sets the Engine field's value. 11558 func (s *CreateUserOutput) SetEngine(v string) *CreateUserOutput { 11559 s.Engine = &v 11560 return s 11561 } 11562 11563 // SetStatus sets the Status field's value. 11564 func (s *CreateUserOutput) SetStatus(v string) *CreateUserOutput { 11565 s.Status = &v 11566 return s 11567 } 11568 11569 // SetUserGroupIds sets the UserGroupIds field's value. 11570 func (s *CreateUserOutput) SetUserGroupIds(v []*string) *CreateUserOutput { 11571 s.UserGroupIds = v 11572 return s 11573 } 11574 11575 // SetUserId sets the UserId field's value. 11576 func (s *CreateUserOutput) SetUserId(v string) *CreateUserOutput { 11577 s.UserId = &v 11578 return s 11579 } 11580 11581 // SetUserName sets the UserName field's value. 11582 func (s *CreateUserOutput) SetUserName(v string) *CreateUserOutput { 11583 s.UserName = &v 11584 return s 11585 } 11586 11587 // The endpoint from which data should be migrated. 11588 type CustomerNodeEndpoint struct { 11589 _ struct{} `type:"structure"` 11590 11591 // The address of the node endpoint 11592 Address *string `type:"string"` 11593 11594 // The port of the node endpoint 11595 Port *int64 `type:"integer"` 11596 } 11597 11598 // String returns the string representation. 11599 // 11600 // API parameter values that are decorated as "sensitive" in the API will not 11601 // be included in the string output. The member name will be present, but the 11602 // value will be replaced with "sensitive". 11603 func (s CustomerNodeEndpoint) String() string { 11604 return awsutil.Prettify(s) 11605 } 11606 11607 // GoString returns the string representation. 11608 // 11609 // API parameter values that are decorated as "sensitive" in the API will not 11610 // be included in the string output. The member name will be present, but the 11611 // value will be replaced with "sensitive". 11612 func (s CustomerNodeEndpoint) GoString() string { 11613 return s.String() 11614 } 11615 11616 // SetAddress sets the Address field's value. 11617 func (s *CustomerNodeEndpoint) SetAddress(v string) *CustomerNodeEndpoint { 11618 s.Address = &v 11619 return s 11620 } 11621 11622 // SetPort sets the Port field's value. 11623 func (s *CustomerNodeEndpoint) SetPort(v int64) *CustomerNodeEndpoint { 11624 s.Port = &v 11625 return s 11626 } 11627 11628 type DecreaseNodeGroupsInGlobalReplicationGroupInput struct { 11629 _ struct{} `type:"structure"` 11630 11631 // Indicates that the shard reconfiguration process begins immediately. At present, 11632 // the only permitted value for this parameter is true. 11633 // 11634 // ApplyImmediately is a required field 11635 ApplyImmediately *bool `type:"boolean" required:"true"` 11636 11637 // If the value of NodeGroupCount is less than the current number of node groups 11638 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 11639 // GlobalNodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 11640 // ElastiCache for Redis will attempt to remove all node groups listed by GlobalNodeGroupsToRemove 11641 // from the cluster. 11642 GlobalNodeGroupsToRemove []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 11643 11644 // If the value of NodeGroupCount is less than the current number of node groups 11645 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 11646 // GlobalNodeGroupsToRetain is a list of NodeGroupIds to retain from the cluster. 11647 // ElastiCache for Redis will attempt to retain all node groups listed by GlobalNodeGroupsToRetain 11648 // from the cluster. 11649 GlobalNodeGroupsToRetain []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 11650 11651 // The name of the Global datastore 11652 // 11653 // GlobalReplicationGroupId is a required field 11654 GlobalReplicationGroupId *string `type:"string" required:"true"` 11655 11656 // The number of node groups (shards) that results from the modification of 11657 // the shard configuration 11658 // 11659 // NodeGroupCount is a required field 11660 NodeGroupCount *int64 `type:"integer" required:"true"` 11661 } 11662 11663 // String returns the string representation. 11664 // 11665 // API parameter values that are decorated as "sensitive" in the API will not 11666 // be included in the string output. The member name will be present, but the 11667 // value will be replaced with "sensitive". 11668 func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 11669 return awsutil.Prettify(s) 11670 } 11671 11672 // GoString returns the string representation. 11673 // 11674 // API parameter values that are decorated as "sensitive" in the API will not 11675 // be included in the string output. The member name will be present, but the 11676 // value will be replaced with "sensitive". 11677 func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 11678 return s.String() 11679 } 11680 11681 // Validate inspects the fields of the type to determine if they are valid. 11682 func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 11683 invalidParams := request.ErrInvalidParams{Context: "DecreaseNodeGroupsInGlobalReplicationGroupInput"} 11684 if s.ApplyImmediately == nil { 11685 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 11686 } 11687 if s.GlobalReplicationGroupId == nil { 11688 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 11689 } 11690 if s.NodeGroupCount == nil { 11691 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 11692 } 11693 11694 if invalidParams.Len() > 0 { 11695 return invalidParams 11696 } 11697 return nil 11698 } 11699 11700 // SetApplyImmediately sets the ApplyImmediately field's value. 11701 func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11702 s.ApplyImmediately = &v 11703 return s 11704 } 11705 11706 // SetGlobalNodeGroupsToRemove sets the GlobalNodeGroupsToRemove field's value. 11707 func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRemove(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11708 s.GlobalNodeGroupsToRemove = v 11709 return s 11710 } 11711 11712 // SetGlobalNodeGroupsToRetain sets the GlobalNodeGroupsToRetain field's value. 11713 func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRetain(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11714 s.GlobalNodeGroupsToRetain = v 11715 return s 11716 } 11717 11718 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 11719 func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11720 s.GlobalReplicationGroupId = &v 11721 return s 11722 } 11723 11724 // SetNodeGroupCount sets the NodeGroupCount field's value. 11725 func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 11726 s.NodeGroupCount = &v 11727 return s 11728 } 11729 11730 type DecreaseNodeGroupsInGlobalReplicationGroupOutput struct { 11731 _ struct{} `type:"structure"` 11732 11733 // Consists of a primary cluster that accepts writes and an associated secondary 11734 // cluster that resides in a different Amazon region. The secondary cluster 11735 // accepts only reads. The primary cluster automatically replicates updates 11736 // to the secondary cluster. 11737 // 11738 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 11739 // datastore, which is what you use to associate a secondary cluster. 11740 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 11741 } 11742 11743 // String returns the string representation. 11744 // 11745 // API parameter values that are decorated as "sensitive" in the API will not 11746 // be included in the string output. The member name will be present, but the 11747 // value will be replaced with "sensitive". 11748 func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 11749 return awsutil.Prettify(s) 11750 } 11751 11752 // GoString returns the string representation. 11753 // 11754 // API parameter values that are decorated as "sensitive" in the API will not 11755 // be included in the string output. The member name will be present, but the 11756 // value will be replaced with "sensitive". 11757 func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 11758 return s.String() 11759 } 11760 11761 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 11762 func (s *DecreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DecreaseNodeGroupsInGlobalReplicationGroupOutput { 11763 s.GlobalReplicationGroup = v 11764 return s 11765 } 11766 11767 type DecreaseReplicaCountInput struct { 11768 _ struct{} `type:"structure"` 11769 11770 // If True, the number of replica nodes is decreased immediately. ApplyImmediately=False 11771 // is not currently supported. 11772 // 11773 // ApplyImmediately is a required field 11774 ApplyImmediately *bool `type:"boolean" required:"true"` 11775 11776 // The number of read replica nodes you want at the completion of this operation. 11777 // For Redis (cluster mode disabled) replication groups, this is the number 11778 // of replica nodes in the replication group. For Redis (cluster mode enabled) 11779 // replication groups, this is the number of replica nodes in each of the replication 11780 // group's node groups. 11781 // 11782 // The minimum number of replicas in a shard or replication group is: 11783 // 11784 // * Redis (cluster mode disabled) If Multi-AZ is enabled: 1 If Multi-AZ 11785 // is not enabled: 0 11786 // 11787 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 11788 // to a replica if your primary node fails) 11789 NewReplicaCount *int64 `type:"integer"` 11790 11791 // A list of ConfigureShard objects that can be used to configure each shard 11792 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 11793 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 11794 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 11795 11796 // A list of the node ids to remove from the replication group or node group 11797 // (shard). 11798 ReplicasToRemove []*string `type:"list"` 11799 11800 // The id of the replication group from which you want to remove replica nodes. 11801 // 11802 // ReplicationGroupId is a required field 11803 ReplicationGroupId *string `type:"string" required:"true"` 11804 } 11805 11806 // String returns the string representation. 11807 // 11808 // API parameter values that are decorated as "sensitive" in the API will not 11809 // be included in the string output. The member name will be present, but the 11810 // value will be replaced with "sensitive". 11811 func (s DecreaseReplicaCountInput) String() string { 11812 return awsutil.Prettify(s) 11813 } 11814 11815 // GoString returns the string representation. 11816 // 11817 // API parameter values that are decorated as "sensitive" in the API will not 11818 // be included in the string output. The member name will be present, but the 11819 // value will be replaced with "sensitive". 11820 func (s DecreaseReplicaCountInput) GoString() string { 11821 return s.String() 11822 } 11823 11824 // Validate inspects the fields of the type to determine if they are valid. 11825 func (s *DecreaseReplicaCountInput) Validate() error { 11826 invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicaCountInput"} 11827 if s.ApplyImmediately == nil { 11828 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 11829 } 11830 if s.ReplicationGroupId == nil { 11831 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11832 } 11833 if s.ReplicaConfiguration != nil { 11834 for i, v := range s.ReplicaConfiguration { 11835 if v == nil { 11836 continue 11837 } 11838 if err := v.Validate(); err != nil { 11839 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 11840 } 11841 } 11842 } 11843 11844 if invalidParams.Len() > 0 { 11845 return invalidParams 11846 } 11847 return nil 11848 } 11849 11850 // SetApplyImmediately sets the ApplyImmediately field's value. 11851 func (s *DecreaseReplicaCountInput) SetApplyImmediately(v bool) *DecreaseReplicaCountInput { 11852 s.ApplyImmediately = &v 11853 return s 11854 } 11855 11856 // SetNewReplicaCount sets the NewReplicaCount field's value. 11857 func (s *DecreaseReplicaCountInput) SetNewReplicaCount(v int64) *DecreaseReplicaCountInput { 11858 s.NewReplicaCount = &v 11859 return s 11860 } 11861 11862 // SetReplicaConfiguration sets the ReplicaConfiguration field's value. 11863 func (s *DecreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *DecreaseReplicaCountInput { 11864 s.ReplicaConfiguration = v 11865 return s 11866 } 11867 11868 // SetReplicasToRemove sets the ReplicasToRemove field's value. 11869 func (s *DecreaseReplicaCountInput) SetReplicasToRemove(v []*string) *DecreaseReplicaCountInput { 11870 s.ReplicasToRemove = v 11871 return s 11872 } 11873 11874 // SetReplicationGroupId sets the ReplicationGroupId field's value. 11875 func (s *DecreaseReplicaCountInput) SetReplicationGroupId(v string) *DecreaseReplicaCountInput { 11876 s.ReplicationGroupId = &v 11877 return s 11878 } 11879 11880 type DecreaseReplicaCountOutput struct { 11881 _ struct{} `type:"structure"` 11882 11883 // Contains all of the attributes of a specific Redis replication group. 11884 ReplicationGroup *ReplicationGroup `type:"structure"` 11885 } 11886 11887 // String returns the string representation. 11888 // 11889 // API parameter values that are decorated as "sensitive" in the API will not 11890 // be included in the string output. The member name will be present, but the 11891 // value will be replaced with "sensitive". 11892 func (s DecreaseReplicaCountOutput) String() string { 11893 return awsutil.Prettify(s) 11894 } 11895 11896 // GoString returns the string representation. 11897 // 11898 // API parameter values that are decorated as "sensitive" in the API will not 11899 // be included in the string output. The member name will be present, but the 11900 // value will be replaced with "sensitive". 11901 func (s DecreaseReplicaCountOutput) GoString() string { 11902 return s.String() 11903 } 11904 11905 // SetReplicationGroup sets the ReplicationGroup field's value. 11906 func (s *DecreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *DecreaseReplicaCountOutput { 11907 s.ReplicationGroup = v 11908 return s 11909 } 11910 11911 // Represents the input of a DeleteCacheCluster operation. 11912 type DeleteCacheClusterInput struct { 11913 _ struct{} `type:"structure"` 11914 11915 // The cluster identifier for the cluster to be deleted. This parameter is not 11916 // case sensitive. 11917 // 11918 // CacheClusterId is a required field 11919 CacheClusterId *string `type:"string" required:"true"` 11920 11921 // The user-supplied name of a final cluster snapshot. This is the unique name 11922 // that identifies the snapshot. ElastiCache creates the snapshot, and then 11923 // deletes the cluster immediately afterward. 11924 FinalSnapshotIdentifier *string `type:"string"` 11925 } 11926 11927 // String returns the string representation. 11928 // 11929 // API parameter values that are decorated as "sensitive" in the API will not 11930 // be included in the string output. The member name will be present, but the 11931 // value will be replaced with "sensitive". 11932 func (s DeleteCacheClusterInput) String() string { 11933 return awsutil.Prettify(s) 11934 } 11935 11936 // GoString returns the string representation. 11937 // 11938 // API parameter values that are decorated as "sensitive" in the API will not 11939 // be included in the string output. The member name will be present, but the 11940 // value will be replaced with "sensitive". 11941 func (s DeleteCacheClusterInput) GoString() string { 11942 return s.String() 11943 } 11944 11945 // Validate inspects the fields of the type to determine if they are valid. 11946 func (s *DeleteCacheClusterInput) Validate() error { 11947 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} 11948 if s.CacheClusterId == nil { 11949 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 11950 } 11951 11952 if invalidParams.Len() > 0 { 11953 return invalidParams 11954 } 11955 return nil 11956 } 11957 11958 // SetCacheClusterId sets the CacheClusterId field's value. 11959 func (s *DeleteCacheClusterInput) SetCacheClusterId(v string) *DeleteCacheClusterInput { 11960 s.CacheClusterId = &v 11961 return s 11962 } 11963 11964 // SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 11965 func (s *DeleteCacheClusterInput) SetFinalSnapshotIdentifier(v string) *DeleteCacheClusterInput { 11966 s.FinalSnapshotIdentifier = &v 11967 return s 11968 } 11969 11970 type DeleteCacheClusterOutput struct { 11971 _ struct{} `type:"structure"` 11972 11973 // Contains all of the attributes of a specific cluster. 11974 CacheCluster *CacheCluster `type:"structure"` 11975 } 11976 11977 // String returns the string representation. 11978 // 11979 // API parameter values that are decorated as "sensitive" in the API will not 11980 // be included in the string output. The member name will be present, but the 11981 // value will be replaced with "sensitive". 11982 func (s DeleteCacheClusterOutput) String() string { 11983 return awsutil.Prettify(s) 11984 } 11985 11986 // GoString returns the string representation. 11987 // 11988 // API parameter values that are decorated as "sensitive" in the API will not 11989 // be included in the string output. The member name will be present, but the 11990 // value will be replaced with "sensitive". 11991 func (s DeleteCacheClusterOutput) GoString() string { 11992 return s.String() 11993 } 11994 11995 // SetCacheCluster sets the CacheCluster field's value. 11996 func (s *DeleteCacheClusterOutput) SetCacheCluster(v *CacheCluster) *DeleteCacheClusterOutput { 11997 s.CacheCluster = v 11998 return s 11999 } 12000 12001 // Represents the input of a DeleteCacheParameterGroup operation. 12002 type DeleteCacheParameterGroupInput struct { 12003 _ struct{} `type:"structure"` 12004 12005 // The name of the cache parameter group to delete. 12006 // 12007 // The specified cache security group must not be associated with any clusters. 12008 // 12009 // CacheParameterGroupName is a required field 12010 CacheParameterGroupName *string `type:"string" required:"true"` 12011 } 12012 12013 // String returns the string representation. 12014 // 12015 // API parameter values that are decorated as "sensitive" in the API will not 12016 // be included in the string output. The member name will be present, but the 12017 // value will be replaced with "sensitive". 12018 func (s DeleteCacheParameterGroupInput) String() string { 12019 return awsutil.Prettify(s) 12020 } 12021 12022 // GoString returns the string representation. 12023 // 12024 // API parameter values that are decorated as "sensitive" in the API will not 12025 // be included in the string output. The member name will be present, but the 12026 // value will be replaced with "sensitive". 12027 func (s DeleteCacheParameterGroupInput) GoString() string { 12028 return s.String() 12029 } 12030 12031 // Validate inspects the fields of the type to determine if they are valid. 12032 func (s *DeleteCacheParameterGroupInput) Validate() error { 12033 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} 12034 if s.CacheParameterGroupName == nil { 12035 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 12036 } 12037 12038 if invalidParams.Len() > 0 { 12039 return invalidParams 12040 } 12041 return nil 12042 } 12043 12044 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 12045 func (s *DeleteCacheParameterGroupInput) SetCacheParameterGroupName(v string) *DeleteCacheParameterGroupInput { 12046 s.CacheParameterGroupName = &v 12047 return s 12048 } 12049 12050 type DeleteCacheParameterGroupOutput struct { 12051 _ struct{} `type:"structure"` 12052 } 12053 12054 // String returns the string representation. 12055 // 12056 // API parameter values that are decorated as "sensitive" in the API will not 12057 // be included in the string output. The member name will be present, but the 12058 // value will be replaced with "sensitive". 12059 func (s DeleteCacheParameterGroupOutput) String() string { 12060 return awsutil.Prettify(s) 12061 } 12062 12063 // GoString returns the string representation. 12064 // 12065 // API parameter values that are decorated as "sensitive" in the API will not 12066 // be included in the string output. The member name will be present, but the 12067 // value will be replaced with "sensitive". 12068 func (s DeleteCacheParameterGroupOutput) GoString() string { 12069 return s.String() 12070 } 12071 12072 // Represents the input of a DeleteCacheSecurityGroup operation. 12073 type DeleteCacheSecurityGroupInput struct { 12074 _ struct{} `type:"structure"` 12075 12076 // The name of the cache security group to delete. 12077 // 12078 // You cannot delete the default security group. 12079 // 12080 // CacheSecurityGroupName is a required field 12081 CacheSecurityGroupName *string `type:"string" required:"true"` 12082 } 12083 12084 // String returns the string representation. 12085 // 12086 // API parameter values that are decorated as "sensitive" in the API will not 12087 // be included in the string output. The member name will be present, but the 12088 // value will be replaced with "sensitive". 12089 func (s DeleteCacheSecurityGroupInput) String() string { 12090 return awsutil.Prettify(s) 12091 } 12092 12093 // GoString returns the string representation. 12094 // 12095 // API parameter values that are decorated as "sensitive" in the API will not 12096 // be included in the string output. The member name will be present, but the 12097 // value will be replaced with "sensitive". 12098 func (s DeleteCacheSecurityGroupInput) GoString() string { 12099 return s.String() 12100 } 12101 12102 // Validate inspects the fields of the type to determine if they are valid. 12103 func (s *DeleteCacheSecurityGroupInput) Validate() error { 12104 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} 12105 if s.CacheSecurityGroupName == nil { 12106 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 12107 } 12108 12109 if invalidParams.Len() > 0 { 12110 return invalidParams 12111 } 12112 return nil 12113 } 12114 12115 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 12116 func (s *DeleteCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *DeleteCacheSecurityGroupInput { 12117 s.CacheSecurityGroupName = &v 12118 return s 12119 } 12120 12121 type DeleteCacheSecurityGroupOutput struct { 12122 _ struct{} `type:"structure"` 12123 } 12124 12125 // String returns the string representation. 12126 // 12127 // API parameter values that are decorated as "sensitive" in the API will not 12128 // be included in the string output. The member name will be present, but the 12129 // value will be replaced with "sensitive". 12130 func (s DeleteCacheSecurityGroupOutput) String() string { 12131 return awsutil.Prettify(s) 12132 } 12133 12134 // GoString returns the string representation. 12135 // 12136 // API parameter values that are decorated as "sensitive" in the API will not 12137 // be included in the string output. The member name will be present, but the 12138 // value will be replaced with "sensitive". 12139 func (s DeleteCacheSecurityGroupOutput) GoString() string { 12140 return s.String() 12141 } 12142 12143 // Represents the input of a DeleteCacheSubnetGroup operation. 12144 type DeleteCacheSubnetGroupInput struct { 12145 _ struct{} `type:"structure"` 12146 12147 // The name of the cache subnet group to delete. 12148 // 12149 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 12150 // 12151 // CacheSubnetGroupName is a required field 12152 CacheSubnetGroupName *string `type:"string" required:"true"` 12153 } 12154 12155 // String returns the string representation. 12156 // 12157 // API parameter values that are decorated as "sensitive" in the API will not 12158 // be included in the string output. The member name will be present, but the 12159 // value will be replaced with "sensitive". 12160 func (s DeleteCacheSubnetGroupInput) String() string { 12161 return awsutil.Prettify(s) 12162 } 12163 12164 // GoString returns the string representation. 12165 // 12166 // API parameter values that are decorated as "sensitive" in the API will not 12167 // be included in the string output. The member name will be present, but the 12168 // value will be replaced with "sensitive". 12169 func (s DeleteCacheSubnetGroupInput) GoString() string { 12170 return s.String() 12171 } 12172 12173 // Validate inspects the fields of the type to determine if they are valid. 12174 func (s *DeleteCacheSubnetGroupInput) Validate() error { 12175 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} 12176 if s.CacheSubnetGroupName == nil { 12177 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 12178 } 12179 12180 if invalidParams.Len() > 0 { 12181 return invalidParams 12182 } 12183 return nil 12184 } 12185 12186 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 12187 func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteCacheSubnetGroupInput { 12188 s.CacheSubnetGroupName = &v 12189 return s 12190 } 12191 12192 type DeleteCacheSubnetGroupOutput struct { 12193 _ struct{} `type:"structure"` 12194 } 12195 12196 // String returns the string representation. 12197 // 12198 // API parameter values that are decorated as "sensitive" in the API will not 12199 // be included in the string output. The member name will be present, but the 12200 // value will be replaced with "sensitive". 12201 func (s DeleteCacheSubnetGroupOutput) String() string { 12202 return awsutil.Prettify(s) 12203 } 12204 12205 // GoString returns the string representation. 12206 // 12207 // API parameter values that are decorated as "sensitive" in the API will not 12208 // be included in the string output. The member name will be present, but the 12209 // value will be replaced with "sensitive". 12210 func (s DeleteCacheSubnetGroupOutput) GoString() string { 12211 return s.String() 12212 } 12213 12214 type DeleteGlobalReplicationGroupInput struct { 12215 _ struct{} `type:"structure"` 12216 12217 // The name of the Global datastore 12218 // 12219 // GlobalReplicationGroupId is a required field 12220 GlobalReplicationGroupId *string `type:"string" required:"true"` 12221 12222 // The primary replication group is retained as a standalone replication group. 12223 // 12224 // RetainPrimaryReplicationGroup is a required field 12225 RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` 12226 } 12227 12228 // String returns the string representation. 12229 // 12230 // API parameter values that are decorated as "sensitive" in the API will not 12231 // be included in the string output. The member name will be present, but the 12232 // value will be replaced with "sensitive". 12233 func (s DeleteGlobalReplicationGroupInput) String() string { 12234 return awsutil.Prettify(s) 12235 } 12236 12237 // GoString returns the string representation. 12238 // 12239 // API parameter values that are decorated as "sensitive" in the API will not 12240 // be included in the string output. The member name will be present, but the 12241 // value will be replaced with "sensitive". 12242 func (s DeleteGlobalReplicationGroupInput) GoString() string { 12243 return s.String() 12244 } 12245 12246 // Validate inspects the fields of the type to determine if they are valid. 12247 func (s *DeleteGlobalReplicationGroupInput) Validate() error { 12248 invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalReplicationGroupInput"} 12249 if s.GlobalReplicationGroupId == nil { 12250 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12251 } 12252 if s.RetainPrimaryReplicationGroup == nil { 12253 invalidParams.Add(request.NewErrParamRequired("RetainPrimaryReplicationGroup")) 12254 } 12255 12256 if invalidParams.Len() > 0 { 12257 return invalidParams 12258 } 12259 return nil 12260 } 12261 12262 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12263 func (s *DeleteGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DeleteGlobalReplicationGroupInput { 12264 s.GlobalReplicationGroupId = &v 12265 return s 12266 } 12267 12268 // SetRetainPrimaryReplicationGroup sets the RetainPrimaryReplicationGroup field's value. 12269 func (s *DeleteGlobalReplicationGroupInput) SetRetainPrimaryReplicationGroup(v bool) *DeleteGlobalReplicationGroupInput { 12270 s.RetainPrimaryReplicationGroup = &v 12271 return s 12272 } 12273 12274 type DeleteGlobalReplicationGroupOutput struct { 12275 _ struct{} `type:"structure"` 12276 12277 // Consists of a primary cluster that accepts writes and an associated secondary 12278 // cluster that resides in a different Amazon region. The secondary cluster 12279 // accepts only reads. The primary cluster automatically replicates updates 12280 // to the secondary cluster. 12281 // 12282 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12283 // datastore, which is what you use to associate a secondary cluster. 12284 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12285 } 12286 12287 // String returns the string representation. 12288 // 12289 // API parameter values that are decorated as "sensitive" in the API will not 12290 // be included in the string output. The member name will be present, but the 12291 // value will be replaced with "sensitive". 12292 func (s DeleteGlobalReplicationGroupOutput) String() string { 12293 return awsutil.Prettify(s) 12294 } 12295 12296 // GoString returns the string representation. 12297 // 12298 // API parameter values that are decorated as "sensitive" in the API will not 12299 // be included in the string output. The member name will be present, but the 12300 // value will be replaced with "sensitive". 12301 func (s DeleteGlobalReplicationGroupOutput) GoString() string { 12302 return s.String() 12303 } 12304 12305 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12306 func (s *DeleteGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DeleteGlobalReplicationGroupOutput { 12307 s.GlobalReplicationGroup = v 12308 return s 12309 } 12310 12311 // Represents the input of a DeleteReplicationGroup operation. 12312 type DeleteReplicationGroupInput struct { 12313 _ struct{} `type:"structure"` 12314 12315 // The name of a final node group (shard) snapshot. ElastiCache creates the 12316 // snapshot from the primary node in the cluster, rather than one of the replicas; 12317 // this is to ensure that it captures the freshest data. After the final snapshot 12318 // is taken, the replication group is immediately deleted. 12319 FinalSnapshotIdentifier *string `type:"string"` 12320 12321 // The identifier for the cluster to be deleted. This parameter is not case 12322 // sensitive. 12323 // 12324 // ReplicationGroupId is a required field 12325 ReplicationGroupId *string `type:"string" required:"true"` 12326 12327 // If set to true, all of the read replicas are deleted, but the primary node 12328 // is retained. 12329 RetainPrimaryCluster *bool `type:"boolean"` 12330 } 12331 12332 // String returns the string representation. 12333 // 12334 // API parameter values that are decorated as "sensitive" in the API will not 12335 // be included in the string output. The member name will be present, but the 12336 // value will be replaced with "sensitive". 12337 func (s DeleteReplicationGroupInput) String() string { 12338 return awsutil.Prettify(s) 12339 } 12340 12341 // GoString returns the string representation. 12342 // 12343 // API parameter values that are decorated as "sensitive" in the API will not 12344 // be included in the string output. The member name will be present, but the 12345 // value will be replaced with "sensitive". 12346 func (s DeleteReplicationGroupInput) GoString() string { 12347 return s.String() 12348 } 12349 12350 // Validate inspects the fields of the type to determine if they are valid. 12351 func (s *DeleteReplicationGroupInput) Validate() error { 12352 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} 12353 if s.ReplicationGroupId == nil { 12354 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 12355 } 12356 12357 if invalidParams.Len() > 0 { 12358 return invalidParams 12359 } 12360 return nil 12361 } 12362 12363 // SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 12364 func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { 12365 s.FinalSnapshotIdentifier = &v 12366 return s 12367 } 12368 12369 // SetReplicationGroupId sets the ReplicationGroupId field's value. 12370 func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { 12371 s.ReplicationGroupId = &v 12372 return s 12373 } 12374 12375 // SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. 12376 func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { 12377 s.RetainPrimaryCluster = &v 12378 return s 12379 } 12380 12381 type DeleteReplicationGroupOutput struct { 12382 _ struct{} `type:"structure"` 12383 12384 // Contains all of the attributes of a specific Redis replication group. 12385 ReplicationGroup *ReplicationGroup `type:"structure"` 12386 } 12387 12388 // String returns the string representation. 12389 // 12390 // API parameter values that are decorated as "sensitive" in the API will not 12391 // be included in the string output. The member name will be present, but the 12392 // value will be replaced with "sensitive". 12393 func (s DeleteReplicationGroupOutput) String() string { 12394 return awsutil.Prettify(s) 12395 } 12396 12397 // GoString returns the string representation. 12398 // 12399 // API parameter values that are decorated as "sensitive" in the API will not 12400 // be included in the string output. The member name will be present, but the 12401 // value will be replaced with "sensitive". 12402 func (s DeleteReplicationGroupOutput) GoString() string { 12403 return s.String() 12404 } 12405 12406 // SetReplicationGroup sets the ReplicationGroup field's value. 12407 func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { 12408 s.ReplicationGroup = v 12409 return s 12410 } 12411 12412 // Represents the input of a DeleteSnapshot operation. 12413 type DeleteSnapshotInput struct { 12414 _ struct{} `type:"structure"` 12415 12416 // The name of the snapshot to be deleted. 12417 // 12418 // SnapshotName is a required field 12419 SnapshotName *string `type:"string" required:"true"` 12420 } 12421 12422 // String returns the string representation. 12423 // 12424 // API parameter values that are decorated as "sensitive" in the API will not 12425 // be included in the string output. The member name will be present, but the 12426 // value will be replaced with "sensitive". 12427 func (s DeleteSnapshotInput) String() string { 12428 return awsutil.Prettify(s) 12429 } 12430 12431 // GoString returns the string representation. 12432 // 12433 // API parameter values that are decorated as "sensitive" in the API will not 12434 // be included in the string output. The member name will be present, but the 12435 // value will be replaced with "sensitive". 12436 func (s DeleteSnapshotInput) GoString() string { 12437 return s.String() 12438 } 12439 12440 // Validate inspects the fields of the type to determine if they are valid. 12441 func (s *DeleteSnapshotInput) Validate() error { 12442 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} 12443 if s.SnapshotName == nil { 12444 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 12445 } 12446 12447 if invalidParams.Len() > 0 { 12448 return invalidParams 12449 } 12450 return nil 12451 } 12452 12453 // SetSnapshotName sets the SnapshotName field's value. 12454 func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { 12455 s.SnapshotName = &v 12456 return s 12457 } 12458 12459 type DeleteSnapshotOutput struct { 12460 _ struct{} `type:"structure"` 12461 12462 // Represents a copy of an entire Redis cluster as of the time when the snapshot 12463 // was taken. 12464 Snapshot *Snapshot `type:"structure"` 12465 } 12466 12467 // String returns the string representation. 12468 // 12469 // API parameter values that are decorated as "sensitive" in the API will not 12470 // be included in the string output. The member name will be present, but the 12471 // value will be replaced with "sensitive". 12472 func (s DeleteSnapshotOutput) String() string { 12473 return awsutil.Prettify(s) 12474 } 12475 12476 // GoString returns the string representation. 12477 // 12478 // API parameter values that are decorated as "sensitive" in the API will not 12479 // be included in the string output. The member name will be present, but the 12480 // value will be replaced with "sensitive". 12481 func (s DeleteSnapshotOutput) GoString() string { 12482 return s.String() 12483 } 12484 12485 // SetSnapshot sets the Snapshot field's value. 12486 func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { 12487 s.Snapshot = v 12488 return s 12489 } 12490 12491 type DeleteUserGroupInput struct { 12492 _ struct{} `type:"structure"` 12493 12494 // The ID of the user group. 12495 // 12496 // UserGroupId is a required field 12497 UserGroupId *string `type:"string" required:"true"` 12498 } 12499 12500 // String returns the string representation. 12501 // 12502 // API parameter values that are decorated as "sensitive" in the API will not 12503 // be included in the string output. The member name will be present, but the 12504 // value will be replaced with "sensitive". 12505 func (s DeleteUserGroupInput) String() string { 12506 return awsutil.Prettify(s) 12507 } 12508 12509 // GoString returns the string representation. 12510 // 12511 // API parameter values that are decorated as "sensitive" in the API will not 12512 // be included in the string output. The member name will be present, but the 12513 // value will be replaced with "sensitive". 12514 func (s DeleteUserGroupInput) GoString() string { 12515 return s.String() 12516 } 12517 12518 // Validate inspects the fields of the type to determine if they are valid. 12519 func (s *DeleteUserGroupInput) Validate() error { 12520 invalidParams := request.ErrInvalidParams{Context: "DeleteUserGroupInput"} 12521 if s.UserGroupId == nil { 12522 invalidParams.Add(request.NewErrParamRequired("UserGroupId")) 12523 } 12524 12525 if invalidParams.Len() > 0 { 12526 return invalidParams 12527 } 12528 return nil 12529 } 12530 12531 // SetUserGroupId sets the UserGroupId field's value. 12532 func (s *DeleteUserGroupInput) SetUserGroupId(v string) *DeleteUserGroupInput { 12533 s.UserGroupId = &v 12534 return s 12535 } 12536 12537 type DeleteUserGroupOutput struct { 12538 _ struct{} `type:"structure"` 12539 12540 // The Amazon Resource Name (ARN) of the user group. 12541 ARN *string `type:"string"` 12542 12543 // The current supported value is Redis. 12544 Engine *string `type:"string"` 12545 12546 // A list of updates being applied to the user group. 12547 PendingChanges *UserGroupPendingChanges `type:"structure"` 12548 12549 // A list of replication groups that the user group can access. 12550 ReplicationGroups []*string `type:"list"` 12551 12552 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 12553 Status *string `type:"string"` 12554 12555 // The ID of the user group. 12556 UserGroupId *string `type:"string"` 12557 12558 // The list of user IDs that belong to the user group. 12559 UserIds []*string `type:"list"` 12560 } 12561 12562 // String returns the string representation. 12563 // 12564 // API parameter values that are decorated as "sensitive" in the API will not 12565 // be included in the string output. The member name will be present, but the 12566 // value will be replaced with "sensitive". 12567 func (s DeleteUserGroupOutput) String() string { 12568 return awsutil.Prettify(s) 12569 } 12570 12571 // GoString returns the string representation. 12572 // 12573 // API parameter values that are decorated as "sensitive" in the API will not 12574 // be included in the string output. The member name will be present, but the 12575 // value will be replaced with "sensitive". 12576 func (s DeleteUserGroupOutput) GoString() string { 12577 return s.String() 12578 } 12579 12580 // SetARN sets the ARN field's value. 12581 func (s *DeleteUserGroupOutput) SetARN(v string) *DeleteUserGroupOutput { 12582 s.ARN = &v 12583 return s 12584 } 12585 12586 // SetEngine sets the Engine field's value. 12587 func (s *DeleteUserGroupOutput) SetEngine(v string) *DeleteUserGroupOutput { 12588 s.Engine = &v 12589 return s 12590 } 12591 12592 // SetPendingChanges sets the PendingChanges field's value. 12593 func (s *DeleteUserGroupOutput) SetPendingChanges(v *UserGroupPendingChanges) *DeleteUserGroupOutput { 12594 s.PendingChanges = v 12595 return s 12596 } 12597 12598 // SetReplicationGroups sets the ReplicationGroups field's value. 12599 func (s *DeleteUserGroupOutput) SetReplicationGroups(v []*string) *DeleteUserGroupOutput { 12600 s.ReplicationGroups = v 12601 return s 12602 } 12603 12604 // SetStatus sets the Status field's value. 12605 func (s *DeleteUserGroupOutput) SetStatus(v string) *DeleteUserGroupOutput { 12606 s.Status = &v 12607 return s 12608 } 12609 12610 // SetUserGroupId sets the UserGroupId field's value. 12611 func (s *DeleteUserGroupOutput) SetUserGroupId(v string) *DeleteUserGroupOutput { 12612 s.UserGroupId = &v 12613 return s 12614 } 12615 12616 // SetUserIds sets the UserIds field's value. 12617 func (s *DeleteUserGroupOutput) SetUserIds(v []*string) *DeleteUserGroupOutput { 12618 s.UserIds = v 12619 return s 12620 } 12621 12622 type DeleteUserInput struct { 12623 _ struct{} `type:"structure"` 12624 12625 // The ID of the user. 12626 // 12627 // UserId is a required field 12628 UserId *string `min:"1" type:"string" required:"true"` 12629 } 12630 12631 // String returns the string representation. 12632 // 12633 // API parameter values that are decorated as "sensitive" in the API will not 12634 // be included in the string output. The member name will be present, but the 12635 // value will be replaced with "sensitive". 12636 func (s DeleteUserInput) String() string { 12637 return awsutil.Prettify(s) 12638 } 12639 12640 // GoString returns the string representation. 12641 // 12642 // API parameter values that are decorated as "sensitive" in the API will not 12643 // be included in the string output. The member name will be present, but the 12644 // value will be replaced with "sensitive". 12645 func (s DeleteUserInput) GoString() string { 12646 return s.String() 12647 } 12648 12649 // Validate inspects the fields of the type to determine if they are valid. 12650 func (s *DeleteUserInput) Validate() error { 12651 invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} 12652 if s.UserId == nil { 12653 invalidParams.Add(request.NewErrParamRequired("UserId")) 12654 } 12655 if s.UserId != nil && len(*s.UserId) < 1 { 12656 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 12657 } 12658 12659 if invalidParams.Len() > 0 { 12660 return invalidParams 12661 } 12662 return nil 12663 } 12664 12665 // SetUserId sets the UserId field's value. 12666 func (s *DeleteUserInput) SetUserId(v string) *DeleteUserInput { 12667 s.UserId = &v 12668 return s 12669 } 12670 12671 type DeleteUserOutput struct { 12672 _ struct{} `type:"structure"` 12673 12674 // The Amazon Resource Name (ARN) of the user. 12675 ARN *string `type:"string"` 12676 12677 // Access permissions string used for this user. 12678 AccessString *string `type:"string"` 12679 12680 // Denotes whether the user requires a password to authenticate. 12681 Authentication *Authentication `type:"structure"` 12682 12683 // The current supported value is Redis. 12684 Engine *string `type:"string"` 12685 12686 // Indicates the user status. Can be "active", "modifying" or "deleting". 12687 Status *string `type:"string"` 12688 12689 // Returns a list of the user group IDs the user belongs to. 12690 UserGroupIds []*string `type:"list"` 12691 12692 // The ID of the user. 12693 UserId *string `type:"string"` 12694 12695 // The username of the user. 12696 UserName *string `type:"string"` 12697 } 12698 12699 // String returns the string representation. 12700 // 12701 // API parameter values that are decorated as "sensitive" in the API will not 12702 // be included in the string output. The member name will be present, but the 12703 // value will be replaced with "sensitive". 12704 func (s DeleteUserOutput) String() string { 12705 return awsutil.Prettify(s) 12706 } 12707 12708 // GoString returns the string representation. 12709 // 12710 // API parameter values that are decorated as "sensitive" in the API will not 12711 // be included in the string output. The member name will be present, but the 12712 // value will be replaced with "sensitive". 12713 func (s DeleteUserOutput) GoString() string { 12714 return s.String() 12715 } 12716 12717 // SetARN sets the ARN field's value. 12718 func (s *DeleteUserOutput) SetARN(v string) *DeleteUserOutput { 12719 s.ARN = &v 12720 return s 12721 } 12722 12723 // SetAccessString sets the AccessString field's value. 12724 func (s *DeleteUserOutput) SetAccessString(v string) *DeleteUserOutput { 12725 s.AccessString = &v 12726 return s 12727 } 12728 12729 // SetAuthentication sets the Authentication field's value. 12730 func (s *DeleteUserOutput) SetAuthentication(v *Authentication) *DeleteUserOutput { 12731 s.Authentication = v 12732 return s 12733 } 12734 12735 // SetEngine sets the Engine field's value. 12736 func (s *DeleteUserOutput) SetEngine(v string) *DeleteUserOutput { 12737 s.Engine = &v 12738 return s 12739 } 12740 12741 // SetStatus sets the Status field's value. 12742 func (s *DeleteUserOutput) SetStatus(v string) *DeleteUserOutput { 12743 s.Status = &v 12744 return s 12745 } 12746 12747 // SetUserGroupIds sets the UserGroupIds field's value. 12748 func (s *DeleteUserOutput) SetUserGroupIds(v []*string) *DeleteUserOutput { 12749 s.UserGroupIds = v 12750 return s 12751 } 12752 12753 // SetUserId sets the UserId field's value. 12754 func (s *DeleteUserOutput) SetUserId(v string) *DeleteUserOutput { 12755 s.UserId = &v 12756 return s 12757 } 12758 12759 // SetUserName sets the UserName field's value. 12760 func (s *DeleteUserOutput) SetUserName(v string) *DeleteUserOutput { 12761 s.UserName = &v 12762 return s 12763 } 12764 12765 // Represents the input of a DescribeCacheClusters operation. 12766 type DescribeCacheClustersInput struct { 12767 _ struct{} `type:"structure"` 12768 12769 // The user-supplied cluster identifier. If this parameter is specified, only 12770 // information about that specific cluster is returned. This parameter isn't 12771 // case sensitive. 12772 CacheClusterId *string `type:"string"` 12773 12774 // An optional marker returned from a prior request. Use this marker for pagination 12775 // of results from this operation. If this parameter is specified, the response 12776 // includes only records beyond the marker, up to the value specified by MaxRecords. 12777 Marker *string `type:"string"` 12778 12779 // The maximum number of records to include in the response. If more records 12780 // exist than the specified MaxRecords value, a marker is included in the response 12781 // so that the remaining results can be retrieved. 12782 // 12783 // Default: 100 12784 // 12785 // Constraints: minimum 20; maximum 100. 12786 MaxRecords *int64 `type:"integer"` 12787 12788 // An optional flag that can be included in the DescribeCacheCluster request 12789 // to show only nodes (API/CLI: clusters) that are not members of a replication 12790 // group. In practice, this mean Memcached and single node Redis clusters. 12791 ShowCacheClustersNotInReplicationGroups *bool `type:"boolean"` 12792 12793 // An optional flag that can be included in the DescribeCacheCluster request 12794 // to retrieve information about the individual cache nodes. 12795 ShowCacheNodeInfo *bool `type:"boolean"` 12796 } 12797 12798 // String returns the string representation. 12799 // 12800 // API parameter values that are decorated as "sensitive" in the API will not 12801 // be included in the string output. The member name will be present, but the 12802 // value will be replaced with "sensitive". 12803 func (s DescribeCacheClustersInput) String() string { 12804 return awsutil.Prettify(s) 12805 } 12806 12807 // GoString returns the string representation. 12808 // 12809 // API parameter values that are decorated as "sensitive" in the API will not 12810 // be included in the string output. The member name will be present, but the 12811 // value will be replaced with "sensitive". 12812 func (s DescribeCacheClustersInput) GoString() string { 12813 return s.String() 12814 } 12815 12816 // SetCacheClusterId sets the CacheClusterId field's value. 12817 func (s *DescribeCacheClustersInput) SetCacheClusterId(v string) *DescribeCacheClustersInput { 12818 s.CacheClusterId = &v 12819 return s 12820 } 12821 12822 // SetMarker sets the Marker field's value. 12823 func (s *DescribeCacheClustersInput) SetMarker(v string) *DescribeCacheClustersInput { 12824 s.Marker = &v 12825 return s 12826 } 12827 12828 // SetMaxRecords sets the MaxRecords field's value. 12829 func (s *DescribeCacheClustersInput) SetMaxRecords(v int64) *DescribeCacheClustersInput { 12830 s.MaxRecords = &v 12831 return s 12832 } 12833 12834 // SetShowCacheClustersNotInReplicationGroups sets the ShowCacheClustersNotInReplicationGroups field's value. 12835 func (s *DescribeCacheClustersInput) SetShowCacheClustersNotInReplicationGroups(v bool) *DescribeCacheClustersInput { 12836 s.ShowCacheClustersNotInReplicationGroups = &v 12837 return s 12838 } 12839 12840 // SetShowCacheNodeInfo sets the ShowCacheNodeInfo field's value. 12841 func (s *DescribeCacheClustersInput) SetShowCacheNodeInfo(v bool) *DescribeCacheClustersInput { 12842 s.ShowCacheNodeInfo = &v 12843 return s 12844 } 12845 12846 // Represents the output of a DescribeCacheClusters operation. 12847 type DescribeCacheClustersOutput struct { 12848 _ struct{} `type:"structure"` 12849 12850 // A list of clusters. Each item in the list contains detailed information about 12851 // one cluster. 12852 CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"` 12853 12854 // Provides an identifier to allow retrieval of paginated results. 12855 Marker *string `type:"string"` 12856 } 12857 12858 // String returns the string representation. 12859 // 12860 // API parameter values that are decorated as "sensitive" in the API will not 12861 // be included in the string output. The member name will be present, but the 12862 // value will be replaced with "sensitive". 12863 func (s DescribeCacheClustersOutput) String() string { 12864 return awsutil.Prettify(s) 12865 } 12866 12867 // GoString returns the string representation. 12868 // 12869 // API parameter values that are decorated as "sensitive" in the API will not 12870 // be included in the string output. The member name will be present, but the 12871 // value will be replaced with "sensitive". 12872 func (s DescribeCacheClustersOutput) GoString() string { 12873 return s.String() 12874 } 12875 12876 // SetCacheClusters sets the CacheClusters field's value. 12877 func (s *DescribeCacheClustersOutput) SetCacheClusters(v []*CacheCluster) *DescribeCacheClustersOutput { 12878 s.CacheClusters = v 12879 return s 12880 } 12881 12882 // SetMarker sets the Marker field's value. 12883 func (s *DescribeCacheClustersOutput) SetMarker(v string) *DescribeCacheClustersOutput { 12884 s.Marker = &v 12885 return s 12886 } 12887 12888 // Represents the input of a DescribeCacheEngineVersions operation. 12889 type DescribeCacheEngineVersionsInput struct { 12890 _ struct{} `type:"structure"` 12891 12892 // The name of a specific cache parameter group family to return details for. 12893 // 12894 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 12895 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 12896 // 12897 // Constraints: 12898 // 12899 // * Must be 1 to 255 alphanumeric characters 12900 // 12901 // * First character must be a letter 12902 // 12903 // * Cannot end with a hyphen or contain two consecutive hyphens 12904 CacheParameterGroupFamily *string `type:"string"` 12905 12906 // If true, specifies that only the default version of the specified engine 12907 // or engine and major version combination is to be returned. 12908 DefaultOnly *bool `type:"boolean"` 12909 12910 // The cache engine to return. Valid values: memcached | redis 12911 Engine *string `type:"string"` 12912 12913 // The cache engine version to return. 12914 // 12915 // Example: 1.4.14 12916 EngineVersion *string `type:"string"` 12917 12918 // An optional marker returned from a prior request. Use this marker for pagination 12919 // of results from this operation. If this parameter is specified, the response 12920 // includes only records beyond the marker, up to the value specified by MaxRecords. 12921 Marker *string `type:"string"` 12922 12923 // The maximum number of records to include in the response. If more records 12924 // exist than the specified MaxRecords value, a marker is included in the response 12925 // so that the remaining results can be retrieved. 12926 // 12927 // Default: 100 12928 // 12929 // Constraints: minimum 20; maximum 100. 12930 MaxRecords *int64 `type:"integer"` 12931 } 12932 12933 // String returns the string representation. 12934 // 12935 // API parameter values that are decorated as "sensitive" in the API will not 12936 // be included in the string output. The member name will be present, but the 12937 // value will be replaced with "sensitive". 12938 func (s DescribeCacheEngineVersionsInput) String() string { 12939 return awsutil.Prettify(s) 12940 } 12941 12942 // GoString returns the string representation. 12943 // 12944 // API parameter values that are decorated as "sensitive" in the API will not 12945 // be included in the string output. The member name will be present, but the 12946 // value will be replaced with "sensitive". 12947 func (s DescribeCacheEngineVersionsInput) GoString() string { 12948 return s.String() 12949 } 12950 12951 // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 12952 func (s *DescribeCacheEngineVersionsInput) SetCacheParameterGroupFamily(v string) *DescribeCacheEngineVersionsInput { 12953 s.CacheParameterGroupFamily = &v 12954 return s 12955 } 12956 12957 // SetDefaultOnly sets the DefaultOnly field's value. 12958 func (s *DescribeCacheEngineVersionsInput) SetDefaultOnly(v bool) *DescribeCacheEngineVersionsInput { 12959 s.DefaultOnly = &v 12960 return s 12961 } 12962 12963 // SetEngine sets the Engine field's value. 12964 func (s *DescribeCacheEngineVersionsInput) SetEngine(v string) *DescribeCacheEngineVersionsInput { 12965 s.Engine = &v 12966 return s 12967 } 12968 12969 // SetEngineVersion sets the EngineVersion field's value. 12970 func (s *DescribeCacheEngineVersionsInput) SetEngineVersion(v string) *DescribeCacheEngineVersionsInput { 12971 s.EngineVersion = &v 12972 return s 12973 } 12974 12975 // SetMarker sets the Marker field's value. 12976 func (s *DescribeCacheEngineVersionsInput) SetMarker(v string) *DescribeCacheEngineVersionsInput { 12977 s.Marker = &v 12978 return s 12979 } 12980 12981 // SetMaxRecords sets the MaxRecords field's value. 12982 func (s *DescribeCacheEngineVersionsInput) SetMaxRecords(v int64) *DescribeCacheEngineVersionsInput { 12983 s.MaxRecords = &v 12984 return s 12985 } 12986 12987 // Represents the output of a DescribeCacheEngineVersions operation. 12988 type DescribeCacheEngineVersionsOutput struct { 12989 _ struct{} `type:"structure"` 12990 12991 // A list of cache engine version details. Each element in the list contains 12992 // detailed information about one cache engine version. 12993 CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"` 12994 12995 // Provides an identifier to allow retrieval of paginated results. 12996 Marker *string `type:"string"` 12997 } 12998 12999 // String returns the string representation. 13000 // 13001 // API parameter values that are decorated as "sensitive" in the API will not 13002 // be included in the string output. The member name will be present, but the 13003 // value will be replaced with "sensitive". 13004 func (s DescribeCacheEngineVersionsOutput) String() string { 13005 return awsutil.Prettify(s) 13006 } 13007 13008 // GoString returns the string representation. 13009 // 13010 // API parameter values that are decorated as "sensitive" in the API will not 13011 // be included in the string output. The member name will be present, but the 13012 // value will be replaced with "sensitive". 13013 func (s DescribeCacheEngineVersionsOutput) GoString() string { 13014 return s.String() 13015 } 13016 13017 // SetCacheEngineVersions sets the CacheEngineVersions field's value. 13018 func (s *DescribeCacheEngineVersionsOutput) SetCacheEngineVersions(v []*CacheEngineVersion) *DescribeCacheEngineVersionsOutput { 13019 s.CacheEngineVersions = v 13020 return s 13021 } 13022 13023 // SetMarker sets the Marker field's value. 13024 func (s *DescribeCacheEngineVersionsOutput) SetMarker(v string) *DescribeCacheEngineVersionsOutput { 13025 s.Marker = &v 13026 return s 13027 } 13028 13029 // Represents the input of a DescribeCacheParameterGroups operation. 13030 type DescribeCacheParameterGroupsInput struct { 13031 _ struct{} `type:"structure"` 13032 13033 // The name of a specific cache parameter group to return details for. 13034 CacheParameterGroupName *string `type:"string"` 13035 13036 // An optional marker returned from a prior request. Use this marker for pagination 13037 // of results from this operation. If this parameter is specified, the response 13038 // includes only records beyond the marker, up to the value specified by MaxRecords. 13039 Marker *string `type:"string"` 13040 13041 // The maximum number of records to include in the response. If more records 13042 // exist than the specified MaxRecords value, a marker is included in the response 13043 // so that the remaining results can be retrieved. 13044 // 13045 // Default: 100 13046 // 13047 // Constraints: minimum 20; maximum 100. 13048 MaxRecords *int64 `type:"integer"` 13049 } 13050 13051 // String returns the string representation. 13052 // 13053 // API parameter values that are decorated as "sensitive" in the API will not 13054 // be included in the string output. The member name will be present, but the 13055 // value will be replaced with "sensitive". 13056 func (s DescribeCacheParameterGroupsInput) String() string { 13057 return awsutil.Prettify(s) 13058 } 13059 13060 // GoString returns the string representation. 13061 // 13062 // API parameter values that are decorated as "sensitive" in the API will not 13063 // be included in the string output. The member name will be present, but the 13064 // value will be replaced with "sensitive". 13065 func (s DescribeCacheParameterGroupsInput) GoString() string { 13066 return s.String() 13067 } 13068 13069 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13070 func (s *DescribeCacheParameterGroupsInput) SetCacheParameterGroupName(v string) *DescribeCacheParameterGroupsInput { 13071 s.CacheParameterGroupName = &v 13072 return s 13073 } 13074 13075 // SetMarker sets the Marker field's value. 13076 func (s *DescribeCacheParameterGroupsInput) SetMarker(v string) *DescribeCacheParameterGroupsInput { 13077 s.Marker = &v 13078 return s 13079 } 13080 13081 // SetMaxRecords sets the MaxRecords field's value. 13082 func (s *DescribeCacheParameterGroupsInput) SetMaxRecords(v int64) *DescribeCacheParameterGroupsInput { 13083 s.MaxRecords = &v 13084 return s 13085 } 13086 13087 // Represents the output of a DescribeCacheParameterGroups operation. 13088 type DescribeCacheParameterGroupsOutput struct { 13089 _ struct{} `type:"structure"` 13090 13091 // A list of cache parameter groups. Each element in the list contains detailed 13092 // information about one cache parameter group. 13093 CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"` 13094 13095 // Provides an identifier to allow retrieval of paginated results. 13096 Marker *string `type:"string"` 13097 } 13098 13099 // String returns the string representation. 13100 // 13101 // API parameter values that are decorated as "sensitive" in the API will not 13102 // be included in the string output. The member name will be present, but the 13103 // value will be replaced with "sensitive". 13104 func (s DescribeCacheParameterGroupsOutput) String() string { 13105 return awsutil.Prettify(s) 13106 } 13107 13108 // GoString returns the string representation. 13109 // 13110 // API parameter values that are decorated as "sensitive" in the API will not 13111 // be included in the string output. The member name will be present, but the 13112 // value will be replaced with "sensitive". 13113 func (s DescribeCacheParameterGroupsOutput) GoString() string { 13114 return s.String() 13115 } 13116 13117 // SetCacheParameterGroups sets the CacheParameterGroups field's value. 13118 func (s *DescribeCacheParameterGroupsOutput) SetCacheParameterGroups(v []*CacheParameterGroup) *DescribeCacheParameterGroupsOutput { 13119 s.CacheParameterGroups = v 13120 return s 13121 } 13122 13123 // SetMarker sets the Marker field's value. 13124 func (s *DescribeCacheParameterGroupsOutput) SetMarker(v string) *DescribeCacheParameterGroupsOutput { 13125 s.Marker = &v 13126 return s 13127 } 13128 13129 // Represents the input of a DescribeCacheParameters operation. 13130 type DescribeCacheParametersInput struct { 13131 _ struct{} `type:"structure"` 13132 13133 // The name of a specific cache parameter group to return details for. 13134 // 13135 // CacheParameterGroupName is a required field 13136 CacheParameterGroupName *string `type:"string" required:"true"` 13137 13138 // An optional marker returned from a prior request. Use this marker for pagination 13139 // of results from this operation. If this parameter is specified, the response 13140 // includes only records beyond the marker, up to the value specified by MaxRecords. 13141 Marker *string `type:"string"` 13142 13143 // The maximum number of records to include in the response. If more records 13144 // exist than the specified MaxRecords value, a marker is included in the response 13145 // so that the remaining results can be retrieved. 13146 // 13147 // Default: 100 13148 // 13149 // Constraints: minimum 20; maximum 100. 13150 MaxRecords *int64 `type:"integer"` 13151 13152 // The parameter types to return. 13153 // 13154 // Valid values: user | system | engine-default 13155 Source *string `type:"string"` 13156 } 13157 13158 // String returns the string representation. 13159 // 13160 // API parameter values that are decorated as "sensitive" in the API will not 13161 // be included in the string output. The member name will be present, but the 13162 // value will be replaced with "sensitive". 13163 func (s DescribeCacheParametersInput) String() string { 13164 return awsutil.Prettify(s) 13165 } 13166 13167 // GoString returns the string representation. 13168 // 13169 // API parameter values that are decorated as "sensitive" in the API will not 13170 // be included in the string output. The member name will be present, but the 13171 // value will be replaced with "sensitive". 13172 func (s DescribeCacheParametersInput) GoString() string { 13173 return s.String() 13174 } 13175 13176 // Validate inspects the fields of the type to determine if they are valid. 13177 func (s *DescribeCacheParametersInput) Validate() error { 13178 invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} 13179 if s.CacheParameterGroupName == nil { 13180 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 13181 } 13182 13183 if invalidParams.Len() > 0 { 13184 return invalidParams 13185 } 13186 return nil 13187 } 13188 13189 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13190 func (s *DescribeCacheParametersInput) SetCacheParameterGroupName(v string) *DescribeCacheParametersInput { 13191 s.CacheParameterGroupName = &v 13192 return s 13193 } 13194 13195 // SetMarker sets the Marker field's value. 13196 func (s *DescribeCacheParametersInput) SetMarker(v string) *DescribeCacheParametersInput { 13197 s.Marker = &v 13198 return s 13199 } 13200 13201 // SetMaxRecords sets the MaxRecords field's value. 13202 func (s *DescribeCacheParametersInput) SetMaxRecords(v int64) *DescribeCacheParametersInput { 13203 s.MaxRecords = &v 13204 return s 13205 } 13206 13207 // SetSource sets the Source field's value. 13208 func (s *DescribeCacheParametersInput) SetSource(v string) *DescribeCacheParametersInput { 13209 s.Source = &v 13210 return s 13211 } 13212 13213 // Represents the output of a DescribeCacheParameters operation. 13214 type DescribeCacheParametersOutput struct { 13215 _ struct{} `type:"structure"` 13216 13217 // A list of parameters specific to a particular cache node type. Each element 13218 // in the list contains detailed information about one parameter. 13219 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 13220 13221 // Provides an identifier to allow retrieval of paginated results. 13222 Marker *string `type:"string"` 13223 13224 // A list of Parameter instances. 13225 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 13226 } 13227 13228 // String returns the string representation. 13229 // 13230 // API parameter values that are decorated as "sensitive" in the API will not 13231 // be included in the string output. The member name will be present, but the 13232 // value will be replaced with "sensitive". 13233 func (s DescribeCacheParametersOutput) String() string { 13234 return awsutil.Prettify(s) 13235 } 13236 13237 // GoString returns the string representation. 13238 // 13239 // API parameter values that are decorated as "sensitive" in the API will not 13240 // be included in the string output. The member name will be present, but the 13241 // value will be replaced with "sensitive". 13242 func (s DescribeCacheParametersOutput) GoString() string { 13243 return s.String() 13244 } 13245 13246 // SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 13247 func (s *DescribeCacheParametersOutput) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *DescribeCacheParametersOutput { 13248 s.CacheNodeTypeSpecificParameters = v 13249 return s 13250 } 13251 13252 // SetMarker sets the Marker field's value. 13253 func (s *DescribeCacheParametersOutput) SetMarker(v string) *DescribeCacheParametersOutput { 13254 s.Marker = &v 13255 return s 13256 } 13257 13258 // SetParameters sets the Parameters field's value. 13259 func (s *DescribeCacheParametersOutput) SetParameters(v []*Parameter) *DescribeCacheParametersOutput { 13260 s.Parameters = v 13261 return s 13262 } 13263 13264 // Represents the input of a DescribeCacheSecurityGroups operation. 13265 type DescribeCacheSecurityGroupsInput struct { 13266 _ struct{} `type:"structure"` 13267 13268 // The name of the cache security group to return details for. 13269 CacheSecurityGroupName *string `type:"string"` 13270 13271 // An optional marker returned from a prior request. Use this marker for pagination 13272 // of results from this operation. If this parameter is specified, the response 13273 // includes only records beyond the marker, up to the value specified by MaxRecords. 13274 Marker *string `type:"string"` 13275 13276 // The maximum number of records to include in the response. If more records 13277 // exist than the specified MaxRecords value, a marker is included in the response 13278 // so that the remaining results can be retrieved. 13279 // 13280 // Default: 100 13281 // 13282 // Constraints: minimum 20; maximum 100. 13283 MaxRecords *int64 `type:"integer"` 13284 } 13285 13286 // String returns the string representation. 13287 // 13288 // API parameter values that are decorated as "sensitive" in the API will not 13289 // be included in the string output. The member name will be present, but the 13290 // value will be replaced with "sensitive". 13291 func (s DescribeCacheSecurityGroupsInput) String() string { 13292 return awsutil.Prettify(s) 13293 } 13294 13295 // GoString returns the string representation. 13296 // 13297 // API parameter values that are decorated as "sensitive" in the API will not 13298 // be included in the string output. The member name will be present, but the 13299 // value will be replaced with "sensitive". 13300 func (s DescribeCacheSecurityGroupsInput) GoString() string { 13301 return s.String() 13302 } 13303 13304 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 13305 func (s *DescribeCacheSecurityGroupsInput) SetCacheSecurityGroupName(v string) *DescribeCacheSecurityGroupsInput { 13306 s.CacheSecurityGroupName = &v 13307 return s 13308 } 13309 13310 // SetMarker sets the Marker field's value. 13311 func (s *DescribeCacheSecurityGroupsInput) SetMarker(v string) *DescribeCacheSecurityGroupsInput { 13312 s.Marker = &v 13313 return s 13314 } 13315 13316 // SetMaxRecords sets the MaxRecords field's value. 13317 func (s *DescribeCacheSecurityGroupsInput) SetMaxRecords(v int64) *DescribeCacheSecurityGroupsInput { 13318 s.MaxRecords = &v 13319 return s 13320 } 13321 13322 // Represents the output of a DescribeCacheSecurityGroups operation. 13323 type DescribeCacheSecurityGroupsOutput struct { 13324 _ struct{} `type:"structure"` 13325 13326 // A list of cache security groups. Each element in the list contains detailed 13327 // information about one group. 13328 CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"` 13329 13330 // Provides an identifier to allow retrieval of paginated results. 13331 Marker *string `type:"string"` 13332 } 13333 13334 // String returns the string representation. 13335 // 13336 // API parameter values that are decorated as "sensitive" in the API will not 13337 // be included in the string output. The member name will be present, but the 13338 // value will be replaced with "sensitive". 13339 func (s DescribeCacheSecurityGroupsOutput) String() string { 13340 return awsutil.Prettify(s) 13341 } 13342 13343 // GoString returns the string representation. 13344 // 13345 // API parameter values that are decorated as "sensitive" in the API will not 13346 // be included in the string output. The member name will be present, but the 13347 // value will be replaced with "sensitive". 13348 func (s DescribeCacheSecurityGroupsOutput) GoString() string { 13349 return s.String() 13350 } 13351 13352 // SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 13353 func (s *DescribeCacheSecurityGroupsOutput) SetCacheSecurityGroups(v []*CacheSecurityGroup) *DescribeCacheSecurityGroupsOutput { 13354 s.CacheSecurityGroups = v 13355 return s 13356 } 13357 13358 // SetMarker sets the Marker field's value. 13359 func (s *DescribeCacheSecurityGroupsOutput) SetMarker(v string) *DescribeCacheSecurityGroupsOutput { 13360 s.Marker = &v 13361 return s 13362 } 13363 13364 // Represents the input of a DescribeCacheSubnetGroups operation. 13365 type DescribeCacheSubnetGroupsInput struct { 13366 _ struct{} `type:"structure"` 13367 13368 // The name of the cache subnet group to return details for. 13369 CacheSubnetGroupName *string `type:"string"` 13370 13371 // An optional marker returned from a prior request. Use this marker for pagination 13372 // of results from this operation. If this parameter is specified, the response 13373 // includes only records beyond the marker, up to the value specified by MaxRecords. 13374 Marker *string `type:"string"` 13375 13376 // The maximum number of records to include in the response. If more records 13377 // exist than the specified MaxRecords value, a marker is included in the response 13378 // so that the remaining results can be retrieved. 13379 // 13380 // Default: 100 13381 // 13382 // Constraints: minimum 20; maximum 100. 13383 MaxRecords *int64 `type:"integer"` 13384 } 13385 13386 // String returns the string representation. 13387 // 13388 // API parameter values that are decorated as "sensitive" in the API will not 13389 // be included in the string output. The member name will be present, but the 13390 // value will be replaced with "sensitive". 13391 func (s DescribeCacheSubnetGroupsInput) String() string { 13392 return awsutil.Prettify(s) 13393 } 13394 13395 // GoString returns the string representation. 13396 // 13397 // API parameter values that are decorated as "sensitive" in the API will not 13398 // be included in the string output. The member name will be present, but the 13399 // value will be replaced with "sensitive". 13400 func (s DescribeCacheSubnetGroupsInput) GoString() string { 13401 return s.String() 13402 } 13403 13404 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 13405 func (s *DescribeCacheSubnetGroupsInput) SetCacheSubnetGroupName(v string) *DescribeCacheSubnetGroupsInput { 13406 s.CacheSubnetGroupName = &v 13407 return s 13408 } 13409 13410 // SetMarker sets the Marker field's value. 13411 func (s *DescribeCacheSubnetGroupsInput) SetMarker(v string) *DescribeCacheSubnetGroupsInput { 13412 s.Marker = &v 13413 return s 13414 } 13415 13416 // SetMaxRecords sets the MaxRecords field's value. 13417 func (s *DescribeCacheSubnetGroupsInput) SetMaxRecords(v int64) *DescribeCacheSubnetGroupsInput { 13418 s.MaxRecords = &v 13419 return s 13420 } 13421 13422 // Represents the output of a DescribeCacheSubnetGroups operation. 13423 type DescribeCacheSubnetGroupsOutput struct { 13424 _ struct{} `type:"structure"` 13425 13426 // A list of cache subnet groups. Each element in the list contains detailed 13427 // information about one group. 13428 CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"` 13429 13430 // Provides an identifier to allow retrieval of paginated results. 13431 Marker *string `type:"string"` 13432 } 13433 13434 // String returns the string representation. 13435 // 13436 // API parameter values that are decorated as "sensitive" in the API will not 13437 // be included in the string output. The member name will be present, but the 13438 // value will be replaced with "sensitive". 13439 func (s DescribeCacheSubnetGroupsOutput) String() string { 13440 return awsutil.Prettify(s) 13441 } 13442 13443 // GoString returns the string representation. 13444 // 13445 // API parameter values that are decorated as "sensitive" in the API will not 13446 // be included in the string output. The member name will be present, but the 13447 // value will be replaced with "sensitive". 13448 func (s DescribeCacheSubnetGroupsOutput) GoString() string { 13449 return s.String() 13450 } 13451 13452 // SetCacheSubnetGroups sets the CacheSubnetGroups field's value. 13453 func (s *DescribeCacheSubnetGroupsOutput) SetCacheSubnetGroups(v []*CacheSubnetGroup) *DescribeCacheSubnetGroupsOutput { 13454 s.CacheSubnetGroups = v 13455 return s 13456 } 13457 13458 // SetMarker sets the Marker field's value. 13459 func (s *DescribeCacheSubnetGroupsOutput) SetMarker(v string) *DescribeCacheSubnetGroupsOutput { 13460 s.Marker = &v 13461 return s 13462 } 13463 13464 // Represents the input of a DescribeEngineDefaultParameters operation. 13465 type DescribeEngineDefaultParametersInput struct { 13466 _ struct{} `type:"structure"` 13467 13468 // The name of the cache parameter group family. 13469 // 13470 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 13471 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 13472 // 13473 // CacheParameterGroupFamily is a required field 13474 CacheParameterGroupFamily *string `type:"string" required:"true"` 13475 13476 // An optional marker returned from a prior request. Use this marker for pagination 13477 // of results from this operation. If this parameter is specified, the response 13478 // includes only records beyond the marker, up to the value specified by MaxRecords. 13479 Marker *string `type:"string"` 13480 13481 // The maximum number of records to include in the response. If more records 13482 // exist than the specified MaxRecords value, a marker is included in the response 13483 // so that the remaining results can be retrieved. 13484 // 13485 // Default: 100 13486 // 13487 // Constraints: minimum 20; maximum 100. 13488 MaxRecords *int64 `type:"integer"` 13489 } 13490 13491 // String returns the string representation. 13492 // 13493 // API parameter values that are decorated as "sensitive" in the API will not 13494 // be included in the string output. The member name will be present, but the 13495 // value will be replaced with "sensitive". 13496 func (s DescribeEngineDefaultParametersInput) String() string { 13497 return awsutil.Prettify(s) 13498 } 13499 13500 // GoString returns the string representation. 13501 // 13502 // API parameter values that are decorated as "sensitive" in the API will not 13503 // be included in the string output. The member name will be present, but the 13504 // value will be replaced with "sensitive". 13505 func (s DescribeEngineDefaultParametersInput) GoString() string { 13506 return s.String() 13507 } 13508 13509 // Validate inspects the fields of the type to determine if they are valid. 13510 func (s *DescribeEngineDefaultParametersInput) Validate() error { 13511 invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} 13512 if s.CacheParameterGroupFamily == nil { 13513 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 13514 } 13515 13516 if invalidParams.Len() > 0 { 13517 return invalidParams 13518 } 13519 return nil 13520 } 13521 13522 // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 13523 func (s *DescribeEngineDefaultParametersInput) SetCacheParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput { 13524 s.CacheParameterGroupFamily = &v 13525 return s 13526 } 13527 13528 // SetMarker sets the Marker field's value. 13529 func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput { 13530 s.Marker = &v 13531 return s 13532 } 13533 13534 // SetMaxRecords sets the MaxRecords field's value. 13535 func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput { 13536 s.MaxRecords = &v 13537 return s 13538 } 13539 13540 type DescribeEngineDefaultParametersOutput struct { 13541 _ struct{} `type:"structure"` 13542 13543 // Represents the output of a DescribeEngineDefaultParameters operation. 13544 EngineDefaults *EngineDefaults `type:"structure"` 13545 } 13546 13547 // String returns the string representation. 13548 // 13549 // API parameter values that are decorated as "sensitive" in the API will not 13550 // be included in the string output. The member name will be present, but the 13551 // value will be replaced with "sensitive". 13552 func (s DescribeEngineDefaultParametersOutput) String() string { 13553 return awsutil.Prettify(s) 13554 } 13555 13556 // GoString returns the string representation. 13557 // 13558 // API parameter values that are decorated as "sensitive" in the API will not 13559 // be included in the string output. The member name will be present, but the 13560 // value will be replaced with "sensitive". 13561 func (s DescribeEngineDefaultParametersOutput) GoString() string { 13562 return s.String() 13563 } 13564 13565 // SetEngineDefaults sets the EngineDefaults field's value. 13566 func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput { 13567 s.EngineDefaults = v 13568 return s 13569 } 13570 13571 // Represents the input of a DescribeEvents operation. 13572 type DescribeEventsInput struct { 13573 _ struct{} `type:"structure"` 13574 13575 // The number of minutes worth of events to retrieve. 13576 Duration *int64 `type:"integer"` 13577 13578 // The end of the time interval for which to retrieve events, specified in ISO 13579 // 8601 format. 13580 // 13581 // Example: 2017-03-30T07:03:49.555Z 13582 EndTime *time.Time `type:"timestamp"` 13583 13584 // An optional marker returned from a prior request. Use this marker for pagination 13585 // of results from this operation. If this parameter is specified, the response 13586 // includes only records beyond the marker, up to the value specified by MaxRecords. 13587 Marker *string `type:"string"` 13588 13589 // The maximum number of records to include in the response. If more records 13590 // exist than the specified MaxRecords value, a marker is included in the response 13591 // so that the remaining results can be retrieved. 13592 // 13593 // Default: 100 13594 // 13595 // Constraints: minimum 20; maximum 100. 13596 MaxRecords *int64 `type:"integer"` 13597 13598 // The identifier of the event source for which events are returned. If not 13599 // specified, all sources are included in the response. 13600 SourceIdentifier *string `type:"string"` 13601 13602 // The event source to retrieve events for. If no value is specified, all events 13603 // are returned. 13604 SourceType *string `type:"string" enum:"SourceType"` 13605 13606 // The beginning of the time interval to retrieve events for, specified in ISO 13607 // 8601 format. 13608 // 13609 // Example: 2017-03-30T07:03:49.555Z 13610 StartTime *time.Time `type:"timestamp"` 13611 } 13612 13613 // String returns the string representation. 13614 // 13615 // API parameter values that are decorated as "sensitive" in the API will not 13616 // be included in the string output. The member name will be present, but the 13617 // value will be replaced with "sensitive". 13618 func (s DescribeEventsInput) String() string { 13619 return awsutil.Prettify(s) 13620 } 13621 13622 // GoString returns the string representation. 13623 // 13624 // API parameter values that are decorated as "sensitive" in the API will not 13625 // be included in the string output. The member name will be present, but the 13626 // value will be replaced with "sensitive". 13627 func (s DescribeEventsInput) GoString() string { 13628 return s.String() 13629 } 13630 13631 // SetDuration sets the Duration field's value. 13632 func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 13633 s.Duration = &v 13634 return s 13635 } 13636 13637 // SetEndTime sets the EndTime field's value. 13638 func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 13639 s.EndTime = &v 13640 return s 13641 } 13642 13643 // SetMarker sets the Marker field's value. 13644 func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 13645 s.Marker = &v 13646 return s 13647 } 13648 13649 // SetMaxRecords sets the MaxRecords field's value. 13650 func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 13651 s.MaxRecords = &v 13652 return s 13653 } 13654 13655 // SetSourceIdentifier sets the SourceIdentifier field's value. 13656 func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 13657 s.SourceIdentifier = &v 13658 return s 13659 } 13660 13661 // SetSourceType sets the SourceType field's value. 13662 func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 13663 s.SourceType = &v 13664 return s 13665 } 13666 13667 // SetStartTime sets the StartTime field's value. 13668 func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 13669 s.StartTime = &v 13670 return s 13671 } 13672 13673 // Represents the output of a DescribeEvents operation. 13674 type DescribeEventsOutput struct { 13675 _ struct{} `type:"structure"` 13676 13677 // A list of events. Each element in the list contains detailed information 13678 // about one event. 13679 Events []*Event `locationNameList:"Event" type:"list"` 13680 13681 // Provides an identifier to allow retrieval of paginated results. 13682 Marker *string `type:"string"` 13683 } 13684 13685 // String returns the string representation. 13686 // 13687 // API parameter values that are decorated as "sensitive" in the API will not 13688 // be included in the string output. The member name will be present, but the 13689 // value will be replaced with "sensitive". 13690 func (s DescribeEventsOutput) String() string { 13691 return awsutil.Prettify(s) 13692 } 13693 13694 // GoString returns the string representation. 13695 // 13696 // API parameter values that are decorated as "sensitive" in the API will not 13697 // be included in the string output. The member name will be present, but the 13698 // value will be replaced with "sensitive". 13699 func (s DescribeEventsOutput) GoString() string { 13700 return s.String() 13701 } 13702 13703 // SetEvents sets the Events field's value. 13704 func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 13705 s.Events = v 13706 return s 13707 } 13708 13709 // SetMarker sets the Marker field's value. 13710 func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 13711 s.Marker = &v 13712 return s 13713 } 13714 13715 type DescribeGlobalReplicationGroupsInput struct { 13716 _ struct{} `type:"structure"` 13717 13718 // The name of the Global datastore 13719 GlobalReplicationGroupId *string `type:"string"` 13720 13721 // An optional marker returned from a prior request. Use this marker for pagination 13722 // of results from this operation. If this parameter is specified, the response 13723 // includes only records beyond the marker, up to the value specified by MaxRecords. 13724 Marker *string `type:"string"` 13725 13726 // The maximum number of records to include in the response. If more records 13727 // exist than the specified MaxRecords value, a marker is included in the response 13728 // so that the remaining results can be retrieved. 13729 MaxRecords *int64 `type:"integer"` 13730 13731 // Returns the list of members that comprise the Global datastore. 13732 ShowMemberInfo *bool `type:"boolean"` 13733 } 13734 13735 // String returns the string representation. 13736 // 13737 // API parameter values that are decorated as "sensitive" in the API will not 13738 // be included in the string output. The member name will be present, but the 13739 // value will be replaced with "sensitive". 13740 func (s DescribeGlobalReplicationGroupsInput) String() string { 13741 return awsutil.Prettify(s) 13742 } 13743 13744 // GoString returns the string representation. 13745 // 13746 // API parameter values that are decorated as "sensitive" in the API will not 13747 // be included in the string output. The member name will be present, but the 13748 // value will be replaced with "sensitive". 13749 func (s DescribeGlobalReplicationGroupsInput) GoString() string { 13750 return s.String() 13751 } 13752 13753 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 13754 func (s *DescribeGlobalReplicationGroupsInput) SetGlobalReplicationGroupId(v string) *DescribeGlobalReplicationGroupsInput { 13755 s.GlobalReplicationGroupId = &v 13756 return s 13757 } 13758 13759 // SetMarker sets the Marker field's value. 13760 func (s *DescribeGlobalReplicationGroupsInput) SetMarker(v string) *DescribeGlobalReplicationGroupsInput { 13761 s.Marker = &v 13762 return s 13763 } 13764 13765 // SetMaxRecords sets the MaxRecords field's value. 13766 func (s *DescribeGlobalReplicationGroupsInput) SetMaxRecords(v int64) *DescribeGlobalReplicationGroupsInput { 13767 s.MaxRecords = &v 13768 return s 13769 } 13770 13771 // SetShowMemberInfo sets the ShowMemberInfo field's value. 13772 func (s *DescribeGlobalReplicationGroupsInput) SetShowMemberInfo(v bool) *DescribeGlobalReplicationGroupsInput { 13773 s.ShowMemberInfo = &v 13774 return s 13775 } 13776 13777 type DescribeGlobalReplicationGroupsOutput struct { 13778 _ struct{} `type:"structure"` 13779 13780 // Indicates the slot configuration and global identifier for each slice group. 13781 GlobalReplicationGroups []*GlobalReplicationGroup `locationNameList:"GlobalReplicationGroup" type:"list"` 13782 13783 // An optional marker returned from a prior request. Use this marker for pagination 13784 // of results from this operation. If this parameter is specified, the response 13785 // includes only records beyond the marker, up to the value specified by MaxRecords. 13786 // > 13787 Marker *string `type:"string"` 13788 } 13789 13790 // String returns the string representation. 13791 // 13792 // API parameter values that are decorated as "sensitive" in the API will not 13793 // be included in the string output. The member name will be present, but the 13794 // value will be replaced with "sensitive". 13795 func (s DescribeGlobalReplicationGroupsOutput) String() string { 13796 return awsutil.Prettify(s) 13797 } 13798 13799 // GoString returns the string representation. 13800 // 13801 // API parameter values that are decorated as "sensitive" in the API will not 13802 // be included in the string output. The member name will be present, but the 13803 // value will be replaced with "sensitive". 13804 func (s DescribeGlobalReplicationGroupsOutput) GoString() string { 13805 return s.String() 13806 } 13807 13808 // SetGlobalReplicationGroups sets the GlobalReplicationGroups field's value. 13809 func (s *DescribeGlobalReplicationGroupsOutput) SetGlobalReplicationGroups(v []*GlobalReplicationGroup) *DescribeGlobalReplicationGroupsOutput { 13810 s.GlobalReplicationGroups = v 13811 return s 13812 } 13813 13814 // SetMarker sets the Marker field's value. 13815 func (s *DescribeGlobalReplicationGroupsOutput) SetMarker(v string) *DescribeGlobalReplicationGroupsOutput { 13816 s.Marker = &v 13817 return s 13818 } 13819 13820 // Represents the input of a DescribeReplicationGroups operation. 13821 type DescribeReplicationGroupsInput struct { 13822 _ struct{} `type:"structure"` 13823 13824 // An optional marker returned from a prior request. Use this marker for pagination 13825 // of results from this operation. If this parameter is specified, the response 13826 // includes only records beyond the marker, up to the value specified by MaxRecords. 13827 Marker *string `type:"string"` 13828 13829 // The maximum number of records to include in the response. If more records 13830 // exist than the specified MaxRecords value, a marker is included in the response 13831 // so that the remaining results can be retrieved. 13832 // 13833 // Default: 100 13834 // 13835 // Constraints: minimum 20; maximum 100. 13836 MaxRecords *int64 `type:"integer"` 13837 13838 // The identifier for the replication group to be described. This parameter 13839 // is not case sensitive. 13840 // 13841 // If you do not specify this parameter, information about all replication groups 13842 // is returned. 13843 ReplicationGroupId *string `type:"string"` 13844 } 13845 13846 // String returns the string representation. 13847 // 13848 // API parameter values that are decorated as "sensitive" in the API will not 13849 // be included in the string output. The member name will be present, but the 13850 // value will be replaced with "sensitive". 13851 func (s DescribeReplicationGroupsInput) String() string { 13852 return awsutil.Prettify(s) 13853 } 13854 13855 // GoString returns the string representation. 13856 // 13857 // API parameter values that are decorated as "sensitive" in the API will not 13858 // be included in the string output. The member name will be present, but the 13859 // value will be replaced with "sensitive". 13860 func (s DescribeReplicationGroupsInput) GoString() string { 13861 return s.String() 13862 } 13863 13864 // SetMarker sets the Marker field's value. 13865 func (s *DescribeReplicationGroupsInput) SetMarker(v string) *DescribeReplicationGroupsInput { 13866 s.Marker = &v 13867 return s 13868 } 13869 13870 // SetMaxRecords sets the MaxRecords field's value. 13871 func (s *DescribeReplicationGroupsInput) SetMaxRecords(v int64) *DescribeReplicationGroupsInput { 13872 s.MaxRecords = &v 13873 return s 13874 } 13875 13876 // SetReplicationGroupId sets the ReplicationGroupId field's value. 13877 func (s *DescribeReplicationGroupsInput) SetReplicationGroupId(v string) *DescribeReplicationGroupsInput { 13878 s.ReplicationGroupId = &v 13879 return s 13880 } 13881 13882 // Represents the output of a DescribeReplicationGroups operation. 13883 type DescribeReplicationGroupsOutput struct { 13884 _ struct{} `type:"structure"` 13885 13886 // Provides an identifier to allow retrieval of paginated results. 13887 Marker *string `type:"string"` 13888 13889 // A list of replication groups. Each item in the list contains detailed information 13890 // about one replication group. 13891 ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"` 13892 } 13893 13894 // String returns the string representation. 13895 // 13896 // API parameter values that are decorated as "sensitive" in the API will not 13897 // be included in the string output. The member name will be present, but the 13898 // value will be replaced with "sensitive". 13899 func (s DescribeReplicationGroupsOutput) String() string { 13900 return awsutil.Prettify(s) 13901 } 13902 13903 // GoString returns the string representation. 13904 // 13905 // API parameter values that are decorated as "sensitive" in the API will not 13906 // be included in the string output. The member name will be present, but the 13907 // value will be replaced with "sensitive". 13908 func (s DescribeReplicationGroupsOutput) GoString() string { 13909 return s.String() 13910 } 13911 13912 // SetMarker sets the Marker field's value. 13913 func (s *DescribeReplicationGroupsOutput) SetMarker(v string) *DescribeReplicationGroupsOutput { 13914 s.Marker = &v 13915 return s 13916 } 13917 13918 // SetReplicationGroups sets the ReplicationGroups field's value. 13919 func (s *DescribeReplicationGroupsOutput) SetReplicationGroups(v []*ReplicationGroup) *DescribeReplicationGroupsOutput { 13920 s.ReplicationGroups = v 13921 return s 13922 } 13923 13924 // Represents the input of a DescribeReservedCacheNodes operation. 13925 type DescribeReservedCacheNodesInput struct { 13926 _ struct{} `type:"structure"` 13927 13928 // The cache node type filter value. Use this parameter to show only those reservations 13929 // matching the specified cache node type. 13930 // 13931 // The following node types are supported by ElastiCache. Generally speaking, 13932 // the current generation types provide more memory and computational power 13933 // at lower cost when compared to their equivalent previous generation counterparts. 13934 // 13935 // * General purpose: Current generation: M6g node types (available only 13936 // for Redis engine version 5.0.6 onward and for Memcached engine version 13937 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 13938 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 13939 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 13940 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 13941 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 13942 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 13943 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 13944 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13945 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13946 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13947 // cache.m3.2xlarge 13948 // 13949 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13950 // cache.c1.xlarge 13951 // 13952 // * Memory optimized: Current generation: R6g node types (available only 13953 // for Redis engine version 5.0.6 onward and for Memcached engine version 13954 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 13955 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 13956 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 13957 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 13958 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 13959 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 13960 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 13961 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 13962 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 13963 // 13964 // Additional node type info 13965 // 13966 // * All current generation instance types are created in Amazon VPC by default. 13967 // 13968 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13969 // 13970 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13971 // 13972 // * Redis configuration variables appendonly and appendfsync are not supported 13973 // on Redis version 2.8.22 and later. 13974 CacheNodeType *string `type:"string"` 13975 13976 // The duration filter value, specified in years or seconds. Use this parameter 13977 // to show only reservations for this duration. 13978 // 13979 // Valid Values: 1 | 3 | 31536000 | 94608000 13980 Duration *string `type:"string"` 13981 13982 // An optional marker returned from a prior request. Use this marker for pagination 13983 // of results from this operation. If this parameter is specified, the response 13984 // includes only records beyond the marker, up to the value specified by MaxRecords. 13985 Marker *string `type:"string"` 13986 13987 // The maximum number of records to include in the response. If more records 13988 // exist than the specified MaxRecords value, a marker is included in the response 13989 // so that the remaining results can be retrieved. 13990 // 13991 // Default: 100 13992 // 13993 // Constraints: minimum 20; maximum 100. 13994 MaxRecords *int64 `type:"integer"` 13995 13996 // The offering type filter value. Use this parameter to show only the available 13997 // offerings matching the specified offering type. 13998 // 13999 // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"|"All 14000 // Upfront"|"Partial Upfront"| "No Upfront" 14001 OfferingType *string `type:"string"` 14002 14003 // The product description filter value. Use this parameter to show only those 14004 // reservations matching the specified product description. 14005 ProductDescription *string `type:"string"` 14006 14007 // The reserved cache node identifier filter value. Use this parameter to show 14008 // only the reservation that matches the specified reservation ID. 14009 ReservedCacheNodeId *string `type:"string"` 14010 14011 // The offering identifier filter value. Use this parameter to show only purchased 14012 // reservations matching the specified offering identifier. 14013 ReservedCacheNodesOfferingId *string `type:"string"` 14014 } 14015 14016 // String returns the string representation. 14017 // 14018 // API parameter values that are decorated as "sensitive" in the API will not 14019 // be included in the string output. The member name will be present, but the 14020 // value will be replaced with "sensitive". 14021 func (s DescribeReservedCacheNodesInput) String() string { 14022 return awsutil.Prettify(s) 14023 } 14024 14025 // GoString returns the string representation. 14026 // 14027 // API parameter values that are decorated as "sensitive" in the API will not 14028 // be included in the string output. The member name will be present, but the 14029 // value will be replaced with "sensitive". 14030 func (s DescribeReservedCacheNodesInput) GoString() string { 14031 return s.String() 14032 } 14033 14034 // SetCacheNodeType sets the CacheNodeType field's value. 14035 func (s *DescribeReservedCacheNodesInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesInput { 14036 s.CacheNodeType = &v 14037 return s 14038 } 14039 14040 // SetDuration sets the Duration field's value. 14041 func (s *DescribeReservedCacheNodesInput) SetDuration(v string) *DescribeReservedCacheNodesInput { 14042 s.Duration = &v 14043 return s 14044 } 14045 14046 // SetMarker sets the Marker field's value. 14047 func (s *DescribeReservedCacheNodesInput) SetMarker(v string) *DescribeReservedCacheNodesInput { 14048 s.Marker = &v 14049 return s 14050 } 14051 14052 // SetMaxRecords sets the MaxRecords field's value. 14053 func (s *DescribeReservedCacheNodesInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesInput { 14054 s.MaxRecords = &v 14055 return s 14056 } 14057 14058 // SetOfferingType sets the OfferingType field's value. 14059 func (s *DescribeReservedCacheNodesInput) SetOfferingType(v string) *DescribeReservedCacheNodesInput { 14060 s.OfferingType = &v 14061 return s 14062 } 14063 14064 // SetProductDescription sets the ProductDescription field's value. 14065 func (s *DescribeReservedCacheNodesInput) SetProductDescription(v string) *DescribeReservedCacheNodesInput { 14066 s.ProductDescription = &v 14067 return s 14068 } 14069 14070 // SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 14071 func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodeId(v string) *DescribeReservedCacheNodesInput { 14072 s.ReservedCacheNodeId = &v 14073 return s 14074 } 14075 14076 // SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 14077 func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesInput { 14078 s.ReservedCacheNodesOfferingId = &v 14079 return s 14080 } 14081 14082 // Represents the input of a DescribeReservedCacheNodesOfferings operation. 14083 type DescribeReservedCacheNodesOfferingsInput struct { 14084 _ struct{} `type:"structure"` 14085 14086 // The cache node type filter value. Use this parameter to show only the available 14087 // offerings matching the specified cache node type. 14088 // 14089 // The following node types are supported by ElastiCache. Generally speaking, 14090 // the current generation types provide more memory and computational power 14091 // at lower cost when compared to their equivalent previous generation counterparts. 14092 // 14093 // * General purpose: Current generation: M6g node types (available only 14094 // for Redis engine version 5.0.6 onward and for Memcached engine version 14095 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 14096 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 14097 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 14098 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 14099 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 14100 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 14101 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 14102 // cache.t2.medium Previous generation: (not recommended) T1 node types: 14103 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 14104 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 14105 // cache.m3.2xlarge 14106 // 14107 // * Compute optimized: Previous generation: (not recommended) C1 node types: 14108 // cache.c1.xlarge 14109 // 14110 // * Memory optimized: Current generation: R6g node types (available only 14111 // for Redis engine version 5.0.6 onward and for Memcached engine version 14112 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 14113 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 14114 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 14115 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 14116 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 14117 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 14118 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 14119 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 14120 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 14121 // 14122 // Additional node type info 14123 // 14124 // * All current generation instance types are created in Amazon VPC by default. 14125 // 14126 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 14127 // 14128 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 14129 // 14130 // * Redis configuration variables appendonly and appendfsync are not supported 14131 // on Redis version 2.8.22 and later. 14132 CacheNodeType *string `type:"string"` 14133 14134 // Duration filter value, specified in years or seconds. Use this parameter 14135 // to show only reservations for a given duration. 14136 // 14137 // Valid Values: 1 | 3 | 31536000 | 94608000 14138 Duration *string `type:"string"` 14139 14140 // An optional marker returned from a prior request. Use this marker for pagination 14141 // of results from this operation. If this parameter is specified, the response 14142 // includes only records beyond the marker, up to the value specified by MaxRecords. 14143 Marker *string `type:"string"` 14144 14145 // The maximum number of records to include in the response. If more records 14146 // exist than the specified MaxRecords value, a marker is included in the response 14147 // so that the remaining results can be retrieved. 14148 // 14149 // Default: 100 14150 // 14151 // Constraints: minimum 20; maximum 100. 14152 MaxRecords *int64 `type:"integer"` 14153 14154 // The offering type filter value. Use this parameter to show only the available 14155 // offerings matching the specified offering type. 14156 // 14157 // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 14158 // |"All Upfront"|"Partial Upfront"| "No Upfront" 14159 OfferingType *string `type:"string"` 14160 14161 // The product description filter value. Use this parameter to show only the 14162 // available offerings matching the specified product description. 14163 ProductDescription *string `type:"string"` 14164 14165 // The offering identifier filter value. Use this parameter to show only the 14166 // available offering that matches the specified reservation identifier. 14167 // 14168 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 14169 ReservedCacheNodesOfferingId *string `type:"string"` 14170 } 14171 14172 // String returns the string representation. 14173 // 14174 // API parameter values that are decorated as "sensitive" in the API will not 14175 // be included in the string output. The member name will be present, but the 14176 // value will be replaced with "sensitive". 14177 func (s DescribeReservedCacheNodesOfferingsInput) String() string { 14178 return awsutil.Prettify(s) 14179 } 14180 14181 // GoString returns the string representation. 14182 // 14183 // API parameter values that are decorated as "sensitive" in the API will not 14184 // be included in the string output. The member name will be present, but the 14185 // value will be replaced with "sensitive". 14186 func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { 14187 return s.String() 14188 } 14189 14190 // SetCacheNodeType sets the CacheNodeType field's value. 14191 func (s *DescribeReservedCacheNodesOfferingsInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesOfferingsInput { 14192 s.CacheNodeType = &v 14193 return s 14194 } 14195 14196 // SetDuration sets the Duration field's value. 14197 func (s *DescribeReservedCacheNodesOfferingsInput) SetDuration(v string) *DescribeReservedCacheNodesOfferingsInput { 14198 s.Duration = &v 14199 return s 14200 } 14201 14202 // SetMarker sets the Marker field's value. 14203 func (s *DescribeReservedCacheNodesOfferingsInput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsInput { 14204 s.Marker = &v 14205 return s 14206 } 14207 14208 // SetMaxRecords sets the MaxRecords field's value. 14209 func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesOfferingsInput { 14210 s.MaxRecords = &v 14211 return s 14212 } 14213 14214 // SetOfferingType sets the OfferingType field's value. 14215 func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { 14216 s.OfferingType = &v 14217 return s 14218 } 14219 14220 // SetProductDescription sets the ProductDescription field's value. 14221 func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { 14222 s.ProductDescription = &v 14223 return s 14224 } 14225 14226 // SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 14227 func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { 14228 s.ReservedCacheNodesOfferingId = &v 14229 return s 14230 } 14231 14232 // Represents the output of a DescribeReservedCacheNodesOfferings operation. 14233 type DescribeReservedCacheNodesOfferingsOutput struct { 14234 _ struct{} `type:"structure"` 14235 14236 // Provides an identifier to allow retrieval of paginated results. 14237 Marker *string `type:"string"` 14238 14239 // A list of reserved cache node offerings. Each element in the list contains 14240 // detailed information about one offering. 14241 ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` 14242 } 14243 14244 // String returns the string representation. 14245 // 14246 // API parameter values that are decorated as "sensitive" in the API will not 14247 // be included in the string output. The member name will be present, but the 14248 // value will be replaced with "sensitive". 14249 func (s DescribeReservedCacheNodesOfferingsOutput) String() string { 14250 return awsutil.Prettify(s) 14251 } 14252 14253 // GoString returns the string representation. 14254 // 14255 // API parameter values that are decorated as "sensitive" in the API will not 14256 // be included in the string output. The member name will be present, but the 14257 // value will be replaced with "sensitive". 14258 func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { 14259 return s.String() 14260 } 14261 14262 // SetMarker sets the Marker field's value. 14263 func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { 14264 s.Marker = &v 14265 return s 14266 } 14267 14268 // SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. 14269 func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { 14270 s.ReservedCacheNodesOfferings = v 14271 return s 14272 } 14273 14274 // Represents the output of a DescribeReservedCacheNodes operation. 14275 type DescribeReservedCacheNodesOutput struct { 14276 _ struct{} `type:"structure"` 14277 14278 // Provides an identifier to allow retrieval of paginated results. 14279 Marker *string `type:"string"` 14280 14281 // A list of reserved cache nodes. Each element in the list contains detailed 14282 // information about one node. 14283 ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` 14284 } 14285 14286 // String returns the string representation. 14287 // 14288 // API parameter values that are decorated as "sensitive" in the API will not 14289 // be included in the string output. The member name will be present, but the 14290 // value will be replaced with "sensitive". 14291 func (s DescribeReservedCacheNodesOutput) String() string { 14292 return awsutil.Prettify(s) 14293 } 14294 14295 // GoString returns the string representation. 14296 // 14297 // API parameter values that are decorated as "sensitive" in the API will not 14298 // be included in the string output. The member name will be present, but the 14299 // value will be replaced with "sensitive". 14300 func (s DescribeReservedCacheNodesOutput) GoString() string { 14301 return s.String() 14302 } 14303 14304 // SetMarker sets the Marker field's value. 14305 func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { 14306 s.Marker = &v 14307 return s 14308 } 14309 14310 // SetReservedCacheNodes sets the ReservedCacheNodes field's value. 14311 func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { 14312 s.ReservedCacheNodes = v 14313 return s 14314 } 14315 14316 type DescribeServiceUpdatesInput struct { 14317 _ struct{} `type:"structure"` 14318 14319 // An optional marker returned from a prior request. Use this marker for pagination 14320 // of results from this operation. If this parameter is specified, the response 14321 // includes only records beyond the marker, up to the value specified by MaxRecords. 14322 Marker *string `type:"string"` 14323 14324 // The maximum number of records to include in the response 14325 MaxRecords *int64 `type:"integer"` 14326 14327 // The unique ID of the service update 14328 ServiceUpdateName *string `type:"string"` 14329 14330 // The status of the service update 14331 ServiceUpdateStatus []*string `type:"list"` 14332 } 14333 14334 // String returns the string representation. 14335 // 14336 // API parameter values that are decorated as "sensitive" in the API will not 14337 // be included in the string output. The member name will be present, but the 14338 // value will be replaced with "sensitive". 14339 func (s DescribeServiceUpdatesInput) String() string { 14340 return awsutil.Prettify(s) 14341 } 14342 14343 // GoString returns the string representation. 14344 // 14345 // API parameter values that are decorated as "sensitive" in the API will not 14346 // be included in the string output. The member name will be present, but the 14347 // value will be replaced with "sensitive". 14348 func (s DescribeServiceUpdatesInput) GoString() string { 14349 return s.String() 14350 } 14351 14352 // SetMarker sets the Marker field's value. 14353 func (s *DescribeServiceUpdatesInput) SetMarker(v string) *DescribeServiceUpdatesInput { 14354 s.Marker = &v 14355 return s 14356 } 14357 14358 // SetMaxRecords sets the MaxRecords field's value. 14359 func (s *DescribeServiceUpdatesInput) SetMaxRecords(v int64) *DescribeServiceUpdatesInput { 14360 s.MaxRecords = &v 14361 return s 14362 } 14363 14364 // SetServiceUpdateName sets the ServiceUpdateName field's value. 14365 func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { 14366 s.ServiceUpdateName = &v 14367 return s 14368 } 14369 14370 // SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 14371 func (s *DescribeServiceUpdatesInput) SetServiceUpdateStatus(v []*string) *DescribeServiceUpdatesInput { 14372 s.ServiceUpdateStatus = v 14373 return s 14374 } 14375 14376 type DescribeServiceUpdatesOutput struct { 14377 _ struct{} `type:"structure"` 14378 14379 // An optional marker returned from a prior request. Use this marker for pagination 14380 // of results from this operation. If this parameter is specified, the response 14381 // includes only records beyond the marker, up to the value specified by MaxRecords. 14382 Marker *string `type:"string"` 14383 14384 // A list of service updates 14385 ServiceUpdates []*ServiceUpdate `locationNameList:"ServiceUpdate" type:"list"` 14386 } 14387 14388 // String returns the string representation. 14389 // 14390 // API parameter values that are decorated as "sensitive" in the API will not 14391 // be included in the string output. The member name will be present, but the 14392 // value will be replaced with "sensitive". 14393 func (s DescribeServiceUpdatesOutput) String() string { 14394 return awsutil.Prettify(s) 14395 } 14396 14397 // GoString returns the string representation. 14398 // 14399 // API parameter values that are decorated as "sensitive" in the API will not 14400 // be included in the string output. The member name will be present, but the 14401 // value will be replaced with "sensitive". 14402 func (s DescribeServiceUpdatesOutput) GoString() string { 14403 return s.String() 14404 } 14405 14406 // SetMarker sets the Marker field's value. 14407 func (s *DescribeServiceUpdatesOutput) SetMarker(v string) *DescribeServiceUpdatesOutput { 14408 s.Marker = &v 14409 return s 14410 } 14411 14412 // SetServiceUpdates sets the ServiceUpdates field's value. 14413 func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { 14414 s.ServiceUpdates = v 14415 return s 14416 } 14417 14418 // Represents the input of a DescribeSnapshotsMessage operation. 14419 type DescribeSnapshotsInput struct { 14420 _ struct{} `type:"structure"` 14421 14422 // A user-supplied cluster identifier. If this parameter is specified, only 14423 // snapshots associated with that specific cluster are described. 14424 CacheClusterId *string `type:"string"` 14425 14426 // An optional marker returned from a prior request. Use this marker for pagination 14427 // of results from this operation. If this parameter is specified, the response 14428 // includes only records beyond the marker, up to the value specified by MaxRecords. 14429 Marker *string `type:"string"` 14430 14431 // The maximum number of records to include in the response. If more records 14432 // exist than the specified MaxRecords value, a marker is included in the response 14433 // so that the remaining results can be retrieved. 14434 // 14435 // Default: 50 14436 // 14437 // Constraints: minimum 20; maximum 50. 14438 MaxRecords *int64 `type:"integer"` 14439 14440 // A user-supplied replication group identifier. If this parameter is specified, 14441 // only snapshots associated with that specific replication group are described. 14442 ReplicationGroupId *string `type:"string"` 14443 14444 // A Boolean value which if true, the node group (shard) configuration is included 14445 // in the snapshot description. 14446 ShowNodeGroupConfig *bool `type:"boolean"` 14447 14448 // A user-supplied name of the snapshot. If this parameter is specified, only 14449 // this snapshot are described. 14450 SnapshotName *string `type:"string"` 14451 14452 // If set to system, the output shows snapshots that were automatically created 14453 // by ElastiCache. If set to user the output shows snapshots that were manually 14454 // created. If omitted, the output shows both automatically and manually created 14455 // snapshots. 14456 SnapshotSource *string `type:"string"` 14457 } 14458 14459 // String returns the string representation. 14460 // 14461 // API parameter values that are decorated as "sensitive" in the API will not 14462 // be included in the string output. The member name will be present, but the 14463 // value will be replaced with "sensitive". 14464 func (s DescribeSnapshotsInput) String() string { 14465 return awsutil.Prettify(s) 14466 } 14467 14468 // GoString returns the string representation. 14469 // 14470 // API parameter values that are decorated as "sensitive" in the API will not 14471 // be included in the string output. The member name will be present, but the 14472 // value will be replaced with "sensitive". 14473 func (s DescribeSnapshotsInput) GoString() string { 14474 return s.String() 14475 } 14476 14477 // SetCacheClusterId sets the CacheClusterId field's value. 14478 func (s *DescribeSnapshotsInput) SetCacheClusterId(v string) *DescribeSnapshotsInput { 14479 s.CacheClusterId = &v 14480 return s 14481 } 14482 14483 // SetMarker sets the Marker field's value. 14484 func (s *DescribeSnapshotsInput) SetMarker(v string) *DescribeSnapshotsInput { 14485 s.Marker = &v 14486 return s 14487 } 14488 14489 // SetMaxRecords sets the MaxRecords field's value. 14490 func (s *DescribeSnapshotsInput) SetMaxRecords(v int64) *DescribeSnapshotsInput { 14491 s.MaxRecords = &v 14492 return s 14493 } 14494 14495 // SetReplicationGroupId sets the ReplicationGroupId field's value. 14496 func (s *DescribeSnapshotsInput) SetReplicationGroupId(v string) *DescribeSnapshotsInput { 14497 s.ReplicationGroupId = &v 14498 return s 14499 } 14500 14501 // SetShowNodeGroupConfig sets the ShowNodeGroupConfig field's value. 14502 func (s *DescribeSnapshotsInput) SetShowNodeGroupConfig(v bool) *DescribeSnapshotsInput { 14503 s.ShowNodeGroupConfig = &v 14504 return s 14505 } 14506 14507 // SetSnapshotName sets the SnapshotName field's value. 14508 func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { 14509 s.SnapshotName = &v 14510 return s 14511 } 14512 14513 // SetSnapshotSource sets the SnapshotSource field's value. 14514 func (s *DescribeSnapshotsInput) SetSnapshotSource(v string) *DescribeSnapshotsInput { 14515 s.SnapshotSource = &v 14516 return s 14517 } 14518 14519 // Represents the output of a DescribeSnapshots operation. 14520 type DescribeSnapshotsOutput struct { 14521 _ struct{} `type:"structure"` 14522 14523 // An optional marker returned from a prior request. Use this marker for pagination 14524 // of results from this operation. If this parameter is specified, the response 14525 // includes only records beyond the marker, up to the value specified by MaxRecords. 14526 Marker *string `type:"string"` 14527 14528 // A list of snapshots. Each item in the list contains detailed information 14529 // about one snapshot. 14530 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 14531 } 14532 14533 // String returns the string representation. 14534 // 14535 // API parameter values that are decorated as "sensitive" in the API will not 14536 // be included in the string output. The member name will be present, but the 14537 // value will be replaced with "sensitive". 14538 func (s DescribeSnapshotsOutput) String() string { 14539 return awsutil.Prettify(s) 14540 } 14541 14542 // GoString returns the string representation. 14543 // 14544 // API parameter values that are decorated as "sensitive" in the API will not 14545 // be included in the string output. The member name will be present, but the 14546 // value will be replaced with "sensitive". 14547 func (s DescribeSnapshotsOutput) GoString() string { 14548 return s.String() 14549 } 14550 14551 // SetMarker sets the Marker field's value. 14552 func (s *DescribeSnapshotsOutput) SetMarker(v string) *DescribeSnapshotsOutput { 14553 s.Marker = &v 14554 return s 14555 } 14556 14557 // SetSnapshots sets the Snapshots field's value. 14558 func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { 14559 s.Snapshots = v 14560 return s 14561 } 14562 14563 type DescribeUpdateActionsInput struct { 14564 _ struct{} `type:"structure"` 14565 14566 // The cache cluster IDs 14567 CacheClusterIds []*string `type:"list"` 14568 14569 // The Elasticache engine to which the update applies. Either Redis or Memcached 14570 Engine *string `type:"string"` 14571 14572 // An optional marker returned from a prior request. Use this marker for pagination 14573 // of results from this operation. If this parameter is specified, the response 14574 // includes only records beyond the marker, up to the value specified by MaxRecords. 14575 Marker *string `type:"string"` 14576 14577 // The maximum number of records to include in the response 14578 MaxRecords *int64 `type:"integer"` 14579 14580 // The replication group IDs 14581 ReplicationGroupIds []*string `type:"list"` 14582 14583 // The unique ID of the service update 14584 ServiceUpdateName *string `type:"string"` 14585 14586 // The status of the service update 14587 ServiceUpdateStatus []*string `type:"list"` 14588 14589 // The range of time specified to search for service updates that are in available 14590 // status 14591 ServiceUpdateTimeRange *TimeRangeFilter `type:"structure"` 14592 14593 // Dictates whether to include node level update status in the response 14594 ShowNodeLevelUpdateStatus *bool `type:"boolean"` 14595 14596 // The status of the update action. 14597 UpdateActionStatus []*string `type:"list"` 14598 } 14599 14600 // String returns the string representation. 14601 // 14602 // API parameter values that are decorated as "sensitive" in the API will not 14603 // be included in the string output. The member name will be present, but the 14604 // value will be replaced with "sensitive". 14605 func (s DescribeUpdateActionsInput) String() string { 14606 return awsutil.Prettify(s) 14607 } 14608 14609 // GoString returns the string representation. 14610 // 14611 // API parameter values that are decorated as "sensitive" in the API will not 14612 // be included in the string output. The member name will be present, but the 14613 // value will be replaced with "sensitive". 14614 func (s DescribeUpdateActionsInput) GoString() string { 14615 return s.String() 14616 } 14617 14618 // SetCacheClusterIds sets the CacheClusterIds field's value. 14619 func (s *DescribeUpdateActionsInput) SetCacheClusterIds(v []*string) *DescribeUpdateActionsInput { 14620 s.CacheClusterIds = v 14621 return s 14622 } 14623 14624 // SetEngine sets the Engine field's value. 14625 func (s *DescribeUpdateActionsInput) SetEngine(v string) *DescribeUpdateActionsInput { 14626 s.Engine = &v 14627 return s 14628 } 14629 14630 // SetMarker sets the Marker field's value. 14631 func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { 14632 s.Marker = &v 14633 return s 14634 } 14635 14636 // SetMaxRecords sets the MaxRecords field's value. 14637 func (s *DescribeUpdateActionsInput) SetMaxRecords(v int64) *DescribeUpdateActionsInput { 14638 s.MaxRecords = &v 14639 return s 14640 } 14641 14642 // SetReplicationGroupIds sets the ReplicationGroupIds field's value. 14643 func (s *DescribeUpdateActionsInput) SetReplicationGroupIds(v []*string) *DescribeUpdateActionsInput { 14644 s.ReplicationGroupIds = v 14645 return s 14646 } 14647 14648 // SetServiceUpdateName sets the ServiceUpdateName field's value. 14649 func (s *DescribeUpdateActionsInput) SetServiceUpdateName(v string) *DescribeUpdateActionsInput { 14650 s.ServiceUpdateName = &v 14651 return s 14652 } 14653 14654 // SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 14655 func (s *DescribeUpdateActionsInput) SetServiceUpdateStatus(v []*string) *DescribeUpdateActionsInput { 14656 s.ServiceUpdateStatus = v 14657 return s 14658 } 14659 14660 // SetServiceUpdateTimeRange sets the ServiceUpdateTimeRange field's value. 14661 func (s *DescribeUpdateActionsInput) SetServiceUpdateTimeRange(v *TimeRangeFilter) *DescribeUpdateActionsInput { 14662 s.ServiceUpdateTimeRange = v 14663 return s 14664 } 14665 14666 // SetShowNodeLevelUpdateStatus sets the ShowNodeLevelUpdateStatus field's value. 14667 func (s *DescribeUpdateActionsInput) SetShowNodeLevelUpdateStatus(v bool) *DescribeUpdateActionsInput { 14668 s.ShowNodeLevelUpdateStatus = &v 14669 return s 14670 } 14671 14672 // SetUpdateActionStatus sets the UpdateActionStatus field's value. 14673 func (s *DescribeUpdateActionsInput) SetUpdateActionStatus(v []*string) *DescribeUpdateActionsInput { 14674 s.UpdateActionStatus = v 14675 return s 14676 } 14677 14678 type DescribeUpdateActionsOutput struct { 14679 _ struct{} `type:"structure"` 14680 14681 // An optional marker returned from a prior request. Use this marker for pagination 14682 // of results from this operation. If this parameter is specified, the response 14683 // includes only records beyond the marker, up to the value specified by MaxRecords. 14684 Marker *string `type:"string"` 14685 14686 // Returns a list of update actions 14687 UpdateActions []*UpdateAction `locationNameList:"UpdateAction" type:"list"` 14688 } 14689 14690 // String returns the string representation. 14691 // 14692 // API parameter values that are decorated as "sensitive" in the API will not 14693 // be included in the string output. The member name will be present, but the 14694 // value will be replaced with "sensitive". 14695 func (s DescribeUpdateActionsOutput) String() string { 14696 return awsutil.Prettify(s) 14697 } 14698 14699 // GoString returns the string representation. 14700 // 14701 // API parameter values that are decorated as "sensitive" in the API will not 14702 // be included in the string output. The member name will be present, but the 14703 // value will be replaced with "sensitive". 14704 func (s DescribeUpdateActionsOutput) GoString() string { 14705 return s.String() 14706 } 14707 14708 // SetMarker sets the Marker field's value. 14709 func (s *DescribeUpdateActionsOutput) SetMarker(v string) *DescribeUpdateActionsOutput { 14710 s.Marker = &v 14711 return s 14712 } 14713 14714 // SetUpdateActions sets the UpdateActions field's value. 14715 func (s *DescribeUpdateActionsOutput) SetUpdateActions(v []*UpdateAction) *DescribeUpdateActionsOutput { 14716 s.UpdateActions = v 14717 return s 14718 } 14719 14720 type DescribeUserGroupsInput struct { 14721 _ struct{} `type:"structure"` 14722 14723 // An optional marker returned from a prior request. Use this marker for pagination 14724 // of results from this operation. If this parameter is specified, the response 14725 // includes only records beyond the marker, up to the value specified by MaxRecords. 14726 // > 14727 Marker *string `type:"string"` 14728 14729 // The maximum number of records to include in the response. If more records 14730 // exist than the specified MaxRecords value, a marker is included in the response 14731 // so that the remaining results can be retrieved. 14732 MaxRecords *int64 `type:"integer"` 14733 14734 // The ID of the user group. 14735 UserGroupId *string `type:"string"` 14736 } 14737 14738 // String returns the string representation. 14739 // 14740 // API parameter values that are decorated as "sensitive" in the API will not 14741 // be included in the string output. The member name will be present, but the 14742 // value will be replaced with "sensitive". 14743 func (s DescribeUserGroupsInput) String() string { 14744 return awsutil.Prettify(s) 14745 } 14746 14747 // GoString returns the string representation. 14748 // 14749 // API parameter values that are decorated as "sensitive" in the API will not 14750 // be included in the string output. The member name will be present, but the 14751 // value will be replaced with "sensitive". 14752 func (s DescribeUserGroupsInput) GoString() string { 14753 return s.String() 14754 } 14755 14756 // SetMarker sets the Marker field's value. 14757 func (s *DescribeUserGroupsInput) SetMarker(v string) *DescribeUserGroupsInput { 14758 s.Marker = &v 14759 return s 14760 } 14761 14762 // SetMaxRecords sets the MaxRecords field's value. 14763 func (s *DescribeUserGroupsInput) SetMaxRecords(v int64) *DescribeUserGroupsInput { 14764 s.MaxRecords = &v 14765 return s 14766 } 14767 14768 // SetUserGroupId sets the UserGroupId field's value. 14769 func (s *DescribeUserGroupsInput) SetUserGroupId(v string) *DescribeUserGroupsInput { 14770 s.UserGroupId = &v 14771 return s 14772 } 14773 14774 type DescribeUserGroupsOutput struct { 14775 _ struct{} `type:"structure"` 14776 14777 // An optional marker returned from a prior request. Use this marker for pagination 14778 // of results from this operation. If this parameter is specified, the response 14779 // includes only records beyond the marker, up to the value specified by MaxRecords. 14780 // > 14781 Marker *string `type:"string"` 14782 14783 // Returns a list of user groups. 14784 UserGroups []*UserGroup `type:"list"` 14785 } 14786 14787 // String returns the string representation. 14788 // 14789 // API parameter values that are decorated as "sensitive" in the API will not 14790 // be included in the string output. The member name will be present, but the 14791 // value will be replaced with "sensitive". 14792 func (s DescribeUserGroupsOutput) String() string { 14793 return awsutil.Prettify(s) 14794 } 14795 14796 // GoString returns the string representation. 14797 // 14798 // API parameter values that are decorated as "sensitive" in the API will not 14799 // be included in the string output. The member name will be present, but the 14800 // value will be replaced with "sensitive". 14801 func (s DescribeUserGroupsOutput) GoString() string { 14802 return s.String() 14803 } 14804 14805 // SetMarker sets the Marker field's value. 14806 func (s *DescribeUserGroupsOutput) SetMarker(v string) *DescribeUserGroupsOutput { 14807 s.Marker = &v 14808 return s 14809 } 14810 14811 // SetUserGroups sets the UserGroups field's value. 14812 func (s *DescribeUserGroupsOutput) SetUserGroups(v []*UserGroup) *DescribeUserGroupsOutput { 14813 s.UserGroups = v 14814 return s 14815 } 14816 14817 type DescribeUsersInput struct { 14818 _ struct{} `type:"structure"` 14819 14820 // The Redis engine. 14821 Engine *string `type:"string"` 14822 14823 // Filter to determine the list of User IDs to return. 14824 Filters []*Filter `type:"list"` 14825 14826 // An optional marker returned from a prior request. Use this marker for pagination 14827 // of results from this operation. If this parameter is specified, the response 14828 // includes only records beyond the marker, up to the value specified by MaxRecords. 14829 // > 14830 Marker *string `type:"string"` 14831 14832 // The maximum number of records to include in the response. If more records 14833 // exist than the specified MaxRecords value, a marker is included in the response 14834 // so that the remaining results can be retrieved. 14835 MaxRecords *int64 `type:"integer"` 14836 14837 // The ID of the user. 14838 UserId *string `min:"1" type:"string"` 14839 } 14840 14841 // String returns the string representation. 14842 // 14843 // API parameter values that are decorated as "sensitive" in the API will not 14844 // be included in the string output. The member name will be present, but the 14845 // value will be replaced with "sensitive". 14846 func (s DescribeUsersInput) String() string { 14847 return awsutil.Prettify(s) 14848 } 14849 14850 // GoString returns the string representation. 14851 // 14852 // API parameter values that are decorated as "sensitive" in the API will not 14853 // be included in the string output. The member name will be present, but the 14854 // value will be replaced with "sensitive". 14855 func (s DescribeUsersInput) GoString() string { 14856 return s.String() 14857 } 14858 14859 // Validate inspects the fields of the type to determine if they are valid. 14860 func (s *DescribeUsersInput) Validate() error { 14861 invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"} 14862 if s.UserId != nil && len(*s.UserId) < 1 { 14863 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 14864 } 14865 if s.Filters != nil { 14866 for i, v := range s.Filters { 14867 if v == nil { 14868 continue 14869 } 14870 if err := v.Validate(); err != nil { 14871 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 14872 } 14873 } 14874 } 14875 14876 if invalidParams.Len() > 0 { 14877 return invalidParams 14878 } 14879 return nil 14880 } 14881 14882 // SetEngine sets the Engine field's value. 14883 func (s *DescribeUsersInput) SetEngine(v string) *DescribeUsersInput { 14884 s.Engine = &v 14885 return s 14886 } 14887 14888 // SetFilters sets the Filters field's value. 14889 func (s *DescribeUsersInput) SetFilters(v []*Filter) *DescribeUsersInput { 14890 s.Filters = v 14891 return s 14892 } 14893 14894 // SetMarker sets the Marker field's value. 14895 func (s *DescribeUsersInput) SetMarker(v string) *DescribeUsersInput { 14896 s.Marker = &v 14897 return s 14898 } 14899 14900 // SetMaxRecords sets the MaxRecords field's value. 14901 func (s *DescribeUsersInput) SetMaxRecords(v int64) *DescribeUsersInput { 14902 s.MaxRecords = &v 14903 return s 14904 } 14905 14906 // SetUserId sets the UserId field's value. 14907 func (s *DescribeUsersInput) SetUserId(v string) *DescribeUsersInput { 14908 s.UserId = &v 14909 return s 14910 } 14911 14912 type DescribeUsersOutput struct { 14913 _ struct{} `type:"structure"` 14914 14915 // An optional marker returned from a prior request. Use this marker for pagination 14916 // of results from this operation. If this parameter is specified, the response 14917 // includes only records beyond the marker, up to the value specified by MaxRecords. 14918 // > 14919 Marker *string `type:"string"` 14920 14921 // A list of users. 14922 Users []*User `type:"list"` 14923 } 14924 14925 // String returns the string representation. 14926 // 14927 // API parameter values that are decorated as "sensitive" in the API will not 14928 // be included in the string output. The member name will be present, but the 14929 // value will be replaced with "sensitive". 14930 func (s DescribeUsersOutput) String() string { 14931 return awsutil.Prettify(s) 14932 } 14933 14934 // GoString returns the string representation. 14935 // 14936 // API parameter values that are decorated as "sensitive" in the API will not 14937 // be included in the string output. The member name will be present, but the 14938 // value will be replaced with "sensitive". 14939 func (s DescribeUsersOutput) GoString() string { 14940 return s.String() 14941 } 14942 14943 // SetMarker sets the Marker field's value. 14944 func (s *DescribeUsersOutput) SetMarker(v string) *DescribeUsersOutput { 14945 s.Marker = &v 14946 return s 14947 } 14948 14949 // SetUsers sets the Users field's value. 14950 func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput { 14951 s.Users = v 14952 return s 14953 } 14954 14955 // Configuration details of either a CloudWatch Logs destination or Kinesis 14956 // Data Firehose destination. 14957 type DestinationDetails struct { 14958 _ struct{} `type:"structure"` 14959 14960 // The configuration details of the CloudWatch Logs destination. 14961 CloudWatchLogsDetails *CloudWatchLogsDestinationDetails `type:"structure"` 14962 14963 // The configuration details of the Kinesis Data Firehose destination. 14964 KinesisFirehoseDetails *KinesisFirehoseDestinationDetails `type:"structure"` 14965 } 14966 14967 // String returns the string representation. 14968 // 14969 // API parameter values that are decorated as "sensitive" in the API will not 14970 // be included in the string output. The member name will be present, but the 14971 // value will be replaced with "sensitive". 14972 func (s DestinationDetails) String() string { 14973 return awsutil.Prettify(s) 14974 } 14975 14976 // GoString returns the string representation. 14977 // 14978 // API parameter values that are decorated as "sensitive" in the API will not 14979 // be included in the string output. The member name will be present, but the 14980 // value will be replaced with "sensitive". 14981 func (s DestinationDetails) GoString() string { 14982 return s.String() 14983 } 14984 14985 // SetCloudWatchLogsDetails sets the CloudWatchLogsDetails field's value. 14986 func (s *DestinationDetails) SetCloudWatchLogsDetails(v *CloudWatchLogsDestinationDetails) *DestinationDetails { 14987 s.CloudWatchLogsDetails = v 14988 return s 14989 } 14990 14991 // SetKinesisFirehoseDetails sets the KinesisFirehoseDetails field's value. 14992 func (s *DestinationDetails) SetKinesisFirehoseDetails(v *KinesisFirehoseDestinationDetails) *DestinationDetails { 14993 s.KinesisFirehoseDetails = v 14994 return s 14995 } 14996 14997 type DisassociateGlobalReplicationGroupInput struct { 14998 _ struct{} `type:"structure"` 14999 15000 // The name of the Global datastore 15001 // 15002 // GlobalReplicationGroupId is a required field 15003 GlobalReplicationGroupId *string `type:"string" required:"true"` 15004 15005 // The name of the secondary cluster you wish to remove from the Global datastore 15006 // 15007 // ReplicationGroupId is a required field 15008 ReplicationGroupId *string `type:"string" required:"true"` 15009 15010 // The Amazon region of secondary cluster you wish to remove from the Global 15011 // datastore 15012 // 15013 // ReplicationGroupRegion is a required field 15014 ReplicationGroupRegion *string `type:"string" required:"true"` 15015 } 15016 15017 // String returns the string representation. 15018 // 15019 // API parameter values that are decorated as "sensitive" in the API will not 15020 // be included in the string output. The member name will be present, but the 15021 // value will be replaced with "sensitive". 15022 func (s DisassociateGlobalReplicationGroupInput) String() string { 15023 return awsutil.Prettify(s) 15024 } 15025 15026 // GoString returns the string representation. 15027 // 15028 // API parameter values that are decorated as "sensitive" in the API will not 15029 // be included in the string output. The member name will be present, but the 15030 // value will be replaced with "sensitive". 15031 func (s DisassociateGlobalReplicationGroupInput) GoString() string { 15032 return s.String() 15033 } 15034 15035 // Validate inspects the fields of the type to determine if they are valid. 15036 func (s *DisassociateGlobalReplicationGroupInput) Validate() error { 15037 invalidParams := request.ErrInvalidParams{Context: "DisassociateGlobalReplicationGroupInput"} 15038 if s.GlobalReplicationGroupId == nil { 15039 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 15040 } 15041 if s.ReplicationGroupId == nil { 15042 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 15043 } 15044 if s.ReplicationGroupRegion == nil { 15045 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 15046 } 15047 15048 if invalidParams.Len() > 0 { 15049 return invalidParams 15050 } 15051 return nil 15052 } 15053 15054 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15055 func (s *DisassociateGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 15056 s.GlobalReplicationGroupId = &v 15057 return s 15058 } 15059 15060 // SetReplicationGroupId sets the ReplicationGroupId field's value. 15061 func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 15062 s.ReplicationGroupId = &v 15063 return s 15064 } 15065 15066 // SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 15067 func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupRegion(v string) *DisassociateGlobalReplicationGroupInput { 15068 s.ReplicationGroupRegion = &v 15069 return s 15070 } 15071 15072 type DisassociateGlobalReplicationGroupOutput struct { 15073 _ struct{} `type:"structure"` 15074 15075 // Consists of a primary cluster that accepts writes and an associated secondary 15076 // cluster that resides in a different Amazon region. The secondary cluster 15077 // accepts only reads. The primary cluster automatically replicates updates 15078 // to the secondary cluster. 15079 // 15080 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 15081 // datastore, which is what you use to associate a secondary cluster. 15082 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 15083 } 15084 15085 // String returns the string representation. 15086 // 15087 // API parameter values that are decorated as "sensitive" in the API will not 15088 // be included in the string output. The member name will be present, but the 15089 // value will be replaced with "sensitive". 15090 func (s DisassociateGlobalReplicationGroupOutput) String() string { 15091 return awsutil.Prettify(s) 15092 } 15093 15094 // GoString returns the string representation. 15095 // 15096 // API parameter values that are decorated as "sensitive" in the API will not 15097 // be included in the string output. The member name will be present, but the 15098 // value will be replaced with "sensitive". 15099 func (s DisassociateGlobalReplicationGroupOutput) GoString() string { 15100 return s.String() 15101 } 15102 15103 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 15104 func (s *DisassociateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DisassociateGlobalReplicationGroupOutput { 15105 s.GlobalReplicationGroup = v 15106 return s 15107 } 15108 15109 // Provides ownership and status information for an Amazon EC2 security group. 15110 type EC2SecurityGroup struct { 15111 _ struct{} `type:"structure"` 15112 15113 // The name of the Amazon EC2 security group. 15114 EC2SecurityGroupName *string `type:"string"` 15115 15116 // The Amazon account ID of the Amazon EC2 security group owner. 15117 EC2SecurityGroupOwnerId *string `type:"string"` 15118 15119 // The status of the Amazon EC2 security group. 15120 Status *string `type:"string"` 15121 } 15122 15123 // String returns the string representation. 15124 // 15125 // API parameter values that are decorated as "sensitive" in the API will not 15126 // be included in the string output. The member name will be present, but the 15127 // value will be replaced with "sensitive". 15128 func (s EC2SecurityGroup) String() string { 15129 return awsutil.Prettify(s) 15130 } 15131 15132 // GoString returns the string representation. 15133 // 15134 // API parameter values that are decorated as "sensitive" in the API will not 15135 // be included in the string output. The member name will be present, but the 15136 // value will be replaced with "sensitive". 15137 func (s EC2SecurityGroup) GoString() string { 15138 return s.String() 15139 } 15140 15141 // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 15142 func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 15143 s.EC2SecurityGroupName = &v 15144 return s 15145 } 15146 15147 // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 15148 func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 15149 s.EC2SecurityGroupOwnerId = &v 15150 return s 15151 } 15152 15153 // SetStatus sets the Status field's value. 15154 func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 15155 s.Status = &v 15156 return s 15157 } 15158 15159 // Represents the information required for client programs to connect to a cache 15160 // node. 15161 type Endpoint struct { 15162 _ struct{} `type:"structure"` 15163 15164 // The DNS hostname of the cache node. 15165 Address *string `type:"string"` 15166 15167 // The port number that the cache engine is listening on. 15168 Port *int64 `type:"integer"` 15169 } 15170 15171 // String returns the string representation. 15172 // 15173 // API parameter values that are decorated as "sensitive" in the API will not 15174 // be included in the string output. The member name will be present, but the 15175 // value will be replaced with "sensitive". 15176 func (s Endpoint) String() string { 15177 return awsutil.Prettify(s) 15178 } 15179 15180 // GoString returns the string representation. 15181 // 15182 // API parameter values that are decorated as "sensitive" in the API will not 15183 // be included in the string output. The member name will be present, but the 15184 // value will be replaced with "sensitive". 15185 func (s Endpoint) GoString() string { 15186 return s.String() 15187 } 15188 15189 // SetAddress sets the Address field's value. 15190 func (s *Endpoint) SetAddress(v string) *Endpoint { 15191 s.Address = &v 15192 return s 15193 } 15194 15195 // SetPort sets the Port field's value. 15196 func (s *Endpoint) SetPort(v int64) *Endpoint { 15197 s.Port = &v 15198 return s 15199 } 15200 15201 // Represents the output of a DescribeEngineDefaultParameters operation. 15202 type EngineDefaults struct { 15203 _ struct{} `type:"structure"` 15204 15205 // A list of parameters specific to a particular cache node type. Each element 15206 // in the list contains detailed information about one parameter. 15207 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 15208 15209 // Specifies the name of the cache parameter group family to which the engine 15210 // default parameters apply. 15211 // 15212 // Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | redis2.6 | 15213 // redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | 15214 CacheParameterGroupFamily *string `type:"string"` 15215 15216 // Provides an identifier to allow retrieval of paginated results. 15217 Marker *string `type:"string"` 15218 15219 // Contains a list of engine default parameters. 15220 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 15221 } 15222 15223 // String returns the string representation. 15224 // 15225 // API parameter values that are decorated as "sensitive" in the API will not 15226 // be included in the string output. The member name will be present, but the 15227 // value will be replaced with "sensitive". 15228 func (s EngineDefaults) String() string { 15229 return awsutil.Prettify(s) 15230 } 15231 15232 // GoString returns the string representation. 15233 // 15234 // API parameter values that are decorated as "sensitive" in the API will not 15235 // be included in the string output. The member name will be present, but the 15236 // value will be replaced with "sensitive". 15237 func (s EngineDefaults) GoString() string { 15238 return s.String() 15239 } 15240 15241 // SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 15242 func (s *EngineDefaults) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *EngineDefaults { 15243 s.CacheNodeTypeSpecificParameters = v 15244 return s 15245 } 15246 15247 // SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 15248 func (s *EngineDefaults) SetCacheParameterGroupFamily(v string) *EngineDefaults { 15249 s.CacheParameterGroupFamily = &v 15250 return s 15251 } 15252 15253 // SetMarker sets the Marker field's value. 15254 func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { 15255 s.Marker = &v 15256 return s 15257 } 15258 15259 // SetParameters sets the Parameters field's value. 15260 func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { 15261 s.Parameters = v 15262 return s 15263 } 15264 15265 // Represents a single occurrence of something interesting within the system. 15266 // Some examples of events are creating a cluster, adding or removing a cache 15267 // node, or rebooting a node. 15268 type Event struct { 15269 _ struct{} `type:"structure"` 15270 15271 // The date and time when the event occurred. 15272 Date *time.Time `type:"timestamp"` 15273 15274 // The text of the event. 15275 Message *string `type:"string"` 15276 15277 // The identifier for the source of the event. For example, if the event occurred 15278 // at the cluster level, the identifier would be the name of the cluster. 15279 SourceIdentifier *string `type:"string"` 15280 15281 // Specifies the origin of this event - a cluster, a parameter group, a security 15282 // group, etc. 15283 SourceType *string `type:"string" enum:"SourceType"` 15284 } 15285 15286 // String returns the string representation. 15287 // 15288 // API parameter values that are decorated as "sensitive" in the API will not 15289 // be included in the string output. The member name will be present, but the 15290 // value will be replaced with "sensitive". 15291 func (s Event) String() string { 15292 return awsutil.Prettify(s) 15293 } 15294 15295 // GoString returns the string representation. 15296 // 15297 // API parameter values that are decorated as "sensitive" in the API will not 15298 // be included in the string output. The member name will be present, but the 15299 // value will be replaced with "sensitive". 15300 func (s Event) GoString() string { 15301 return s.String() 15302 } 15303 15304 // SetDate sets the Date field's value. 15305 func (s *Event) SetDate(v time.Time) *Event { 15306 s.Date = &v 15307 return s 15308 } 15309 15310 // SetMessage sets the Message field's value. 15311 func (s *Event) SetMessage(v string) *Event { 15312 s.Message = &v 15313 return s 15314 } 15315 15316 // SetSourceIdentifier sets the SourceIdentifier field's value. 15317 func (s *Event) SetSourceIdentifier(v string) *Event { 15318 s.SourceIdentifier = &v 15319 return s 15320 } 15321 15322 // SetSourceType sets the SourceType field's value. 15323 func (s *Event) SetSourceType(v string) *Event { 15324 s.SourceType = &v 15325 return s 15326 } 15327 15328 type FailoverGlobalReplicationGroupInput struct { 15329 _ struct{} `type:"structure"` 15330 15331 // The name of the Global datastore 15332 // 15333 // GlobalReplicationGroupId is a required field 15334 GlobalReplicationGroupId *string `type:"string" required:"true"` 15335 15336 // The Amazon region of the primary cluster of the Global datastore 15337 // 15338 // PrimaryRegion is a required field 15339 PrimaryRegion *string `type:"string" required:"true"` 15340 15341 // The name of the primary replication group 15342 // 15343 // PrimaryReplicationGroupId is a required field 15344 PrimaryReplicationGroupId *string `type:"string" required:"true"` 15345 } 15346 15347 // String returns the string representation. 15348 // 15349 // API parameter values that are decorated as "sensitive" in the API will not 15350 // be included in the string output. The member name will be present, but the 15351 // value will be replaced with "sensitive". 15352 func (s FailoverGlobalReplicationGroupInput) String() string { 15353 return awsutil.Prettify(s) 15354 } 15355 15356 // GoString returns the string representation. 15357 // 15358 // API parameter values that are decorated as "sensitive" in the API will not 15359 // be included in the string output. The member name will be present, but the 15360 // value will be replaced with "sensitive". 15361 func (s FailoverGlobalReplicationGroupInput) GoString() string { 15362 return s.String() 15363 } 15364 15365 // Validate inspects the fields of the type to determine if they are valid. 15366 func (s *FailoverGlobalReplicationGroupInput) Validate() error { 15367 invalidParams := request.ErrInvalidParams{Context: "FailoverGlobalReplicationGroupInput"} 15368 if s.GlobalReplicationGroupId == nil { 15369 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 15370 } 15371 if s.PrimaryRegion == nil { 15372 invalidParams.Add(request.NewErrParamRequired("PrimaryRegion")) 15373 } 15374 if s.PrimaryReplicationGroupId == nil { 15375 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 15376 } 15377 15378 if invalidParams.Len() > 0 { 15379 return invalidParams 15380 } 15381 return nil 15382 } 15383 15384 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15385 func (s *FailoverGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 15386 s.GlobalReplicationGroupId = &v 15387 return s 15388 } 15389 15390 // SetPrimaryRegion sets the PrimaryRegion field's value. 15391 func (s *FailoverGlobalReplicationGroupInput) SetPrimaryRegion(v string) *FailoverGlobalReplicationGroupInput { 15392 s.PrimaryRegion = &v 15393 return s 15394 } 15395 15396 // SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 15397 func (s *FailoverGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 15398 s.PrimaryReplicationGroupId = &v 15399 return s 15400 } 15401 15402 type FailoverGlobalReplicationGroupOutput struct { 15403 _ struct{} `type:"structure"` 15404 15405 // Consists of a primary cluster that accepts writes and an associated secondary 15406 // cluster that resides in a different Amazon region. The secondary cluster 15407 // accepts only reads. The primary cluster automatically replicates updates 15408 // to the secondary cluster. 15409 // 15410 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 15411 // datastore, which is what you use to associate a secondary cluster. 15412 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 15413 } 15414 15415 // String returns the string representation. 15416 // 15417 // API parameter values that are decorated as "sensitive" in the API will not 15418 // be included in the string output. The member name will be present, but the 15419 // value will be replaced with "sensitive". 15420 func (s FailoverGlobalReplicationGroupOutput) String() string { 15421 return awsutil.Prettify(s) 15422 } 15423 15424 // GoString returns the string representation. 15425 // 15426 // API parameter values that are decorated as "sensitive" in the API will not 15427 // be included in the string output. The member name will be present, but the 15428 // value will be replaced with "sensitive". 15429 func (s FailoverGlobalReplicationGroupOutput) GoString() string { 15430 return s.String() 15431 } 15432 15433 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 15434 func (s *FailoverGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *FailoverGlobalReplicationGroupOutput { 15435 s.GlobalReplicationGroup = v 15436 return s 15437 } 15438 15439 // Used to streamline results of a search based on the property being filtered. 15440 type Filter struct { 15441 _ struct{} `type:"structure"` 15442 15443 // The property being filtered. For example, UserId. 15444 // 15445 // Name is a required field 15446 Name *string `type:"string" required:"true"` 15447 15448 // The property values to filter on. For example, "user-123". 15449 // 15450 // Values is a required field 15451 Values []*string `min:"1" type:"list" required:"true"` 15452 } 15453 15454 // String returns the string representation. 15455 // 15456 // API parameter values that are decorated as "sensitive" in the API will not 15457 // be included in the string output. The member name will be present, but the 15458 // value will be replaced with "sensitive". 15459 func (s Filter) String() string { 15460 return awsutil.Prettify(s) 15461 } 15462 15463 // GoString returns the string representation. 15464 // 15465 // API parameter values that are decorated as "sensitive" in the API will not 15466 // be included in the string output. The member name will be present, but the 15467 // value will be replaced with "sensitive". 15468 func (s Filter) GoString() string { 15469 return s.String() 15470 } 15471 15472 // Validate inspects the fields of the type to determine if they are valid. 15473 func (s *Filter) Validate() error { 15474 invalidParams := request.ErrInvalidParams{Context: "Filter"} 15475 if s.Name == nil { 15476 invalidParams.Add(request.NewErrParamRequired("Name")) 15477 } 15478 if s.Values == nil { 15479 invalidParams.Add(request.NewErrParamRequired("Values")) 15480 } 15481 if s.Values != nil && len(s.Values) < 1 { 15482 invalidParams.Add(request.NewErrParamMinLen("Values", 1)) 15483 } 15484 15485 if invalidParams.Len() > 0 { 15486 return invalidParams 15487 } 15488 return nil 15489 } 15490 15491 // SetName sets the Name field's value. 15492 func (s *Filter) SetName(v string) *Filter { 15493 s.Name = &v 15494 return s 15495 } 15496 15497 // SetValues sets the Values field's value. 15498 func (s *Filter) SetValues(v []*string) *Filter { 15499 s.Values = v 15500 return s 15501 } 15502 15503 // Indicates the slot configuration and global identifier for a slice group. 15504 type GlobalNodeGroup struct { 15505 _ struct{} `type:"structure"` 15506 15507 // The name of the global node group 15508 GlobalNodeGroupId *string `type:"string"` 15509 15510 // The keyspace for this node group 15511 Slots *string `type:"string"` 15512 } 15513 15514 // String returns the string representation. 15515 // 15516 // API parameter values that are decorated as "sensitive" in the API will not 15517 // be included in the string output. The member name will be present, but the 15518 // value will be replaced with "sensitive". 15519 func (s GlobalNodeGroup) String() string { 15520 return awsutil.Prettify(s) 15521 } 15522 15523 // GoString returns the string representation. 15524 // 15525 // API parameter values that are decorated as "sensitive" in the API will not 15526 // be included in the string output. The member name will be present, but the 15527 // value will be replaced with "sensitive". 15528 func (s GlobalNodeGroup) GoString() string { 15529 return s.String() 15530 } 15531 15532 // SetGlobalNodeGroupId sets the GlobalNodeGroupId field's value. 15533 func (s *GlobalNodeGroup) SetGlobalNodeGroupId(v string) *GlobalNodeGroup { 15534 s.GlobalNodeGroupId = &v 15535 return s 15536 } 15537 15538 // SetSlots sets the Slots field's value. 15539 func (s *GlobalNodeGroup) SetSlots(v string) *GlobalNodeGroup { 15540 s.Slots = &v 15541 return s 15542 } 15543 15544 // Consists of a primary cluster that accepts writes and an associated secondary 15545 // cluster that resides in a different Amazon region. The secondary cluster 15546 // accepts only reads. The primary cluster automatically replicates updates 15547 // to the secondary cluster. 15548 // 15549 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 15550 // datastore, which is what you use to associate a secondary cluster. 15551 type GlobalReplicationGroup struct { 15552 _ struct{} `type:"structure"` 15553 15554 // The ARN (Amazon Resource Name) of the global replication group. 15555 ARN *string `type:"string"` 15556 15557 // A flag that enables encryption at rest when set to true. 15558 // 15559 // You cannot modify the value of AtRestEncryptionEnabled after the replication 15560 // group is created. To enable encryption at rest on a replication group you 15561 // must set AtRestEncryptionEnabled to true when you create the replication 15562 // group. 15563 // 15564 // Required: Only available when creating a replication group in an Amazon VPC 15565 // using redis version 3.2.6, 4.x or later. 15566 AtRestEncryptionEnabled *bool `type:"boolean"` 15567 15568 // A flag that enables using an AuthToken (password) when issuing Redis commands. 15569 // 15570 // Default: false 15571 AuthTokenEnabled *bool `type:"boolean"` 15572 15573 // The cache node type of the Global datastore 15574 CacheNodeType *string `type:"string"` 15575 15576 // A flag that indicates whether the Global datastore is cluster enabled. 15577 ClusterEnabled *bool `type:"boolean"` 15578 15579 // The Elasticache engine. For Redis only. 15580 Engine *string `type:"string"` 15581 15582 // The Elasticache Redis engine version. 15583 EngineVersion *string `type:"string"` 15584 15585 // Indicates the slot configuration and global identifier for each slice group. 15586 GlobalNodeGroups []*GlobalNodeGroup `locationNameList:"GlobalNodeGroup" type:"list"` 15587 15588 // The optional description of the Global datastore 15589 GlobalReplicationGroupDescription *string `type:"string"` 15590 15591 // The name of the Global datastore 15592 GlobalReplicationGroupId *string `type:"string"` 15593 15594 // The replication groups that comprise the Global datastore. 15595 Members []*GlobalReplicationGroupMember `locationNameList:"GlobalReplicationGroupMember" type:"list"` 15596 15597 // The status of the Global datastore 15598 Status *string `type:"string"` 15599 15600 // A flag that enables in-transit encryption when set to true. You cannot modify 15601 // the value of TransitEncryptionEnabled after the cluster is created. To enable 15602 // in-transit encryption on a cluster you must set TransitEncryptionEnabled 15603 // to true when you create a cluster. 15604 // 15605 // Required: Only available when creating a replication group in an Amazon VPC 15606 // using redis version 3.2.6, 4.x or later. 15607 TransitEncryptionEnabled *bool `type:"boolean"` 15608 } 15609 15610 // String returns the string representation. 15611 // 15612 // API parameter values that are decorated as "sensitive" in the API will not 15613 // be included in the string output. The member name will be present, but the 15614 // value will be replaced with "sensitive". 15615 func (s GlobalReplicationGroup) String() string { 15616 return awsutil.Prettify(s) 15617 } 15618 15619 // GoString returns the string representation. 15620 // 15621 // API parameter values that are decorated as "sensitive" in the API will not 15622 // be included in the string output. The member name will be present, but the 15623 // value will be replaced with "sensitive". 15624 func (s GlobalReplicationGroup) GoString() string { 15625 return s.String() 15626 } 15627 15628 // SetARN sets the ARN field's value. 15629 func (s *GlobalReplicationGroup) SetARN(v string) *GlobalReplicationGroup { 15630 s.ARN = &v 15631 return s 15632 } 15633 15634 // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 15635 func (s *GlobalReplicationGroup) SetAtRestEncryptionEnabled(v bool) *GlobalReplicationGroup { 15636 s.AtRestEncryptionEnabled = &v 15637 return s 15638 } 15639 15640 // SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 15641 func (s *GlobalReplicationGroup) SetAuthTokenEnabled(v bool) *GlobalReplicationGroup { 15642 s.AuthTokenEnabled = &v 15643 return s 15644 } 15645 15646 // SetCacheNodeType sets the CacheNodeType field's value. 15647 func (s *GlobalReplicationGroup) SetCacheNodeType(v string) *GlobalReplicationGroup { 15648 s.CacheNodeType = &v 15649 return s 15650 } 15651 15652 // SetClusterEnabled sets the ClusterEnabled field's value. 15653 func (s *GlobalReplicationGroup) SetClusterEnabled(v bool) *GlobalReplicationGroup { 15654 s.ClusterEnabled = &v 15655 return s 15656 } 15657 15658 // SetEngine sets the Engine field's value. 15659 func (s *GlobalReplicationGroup) SetEngine(v string) *GlobalReplicationGroup { 15660 s.Engine = &v 15661 return s 15662 } 15663 15664 // SetEngineVersion sets the EngineVersion field's value. 15665 func (s *GlobalReplicationGroup) SetEngineVersion(v string) *GlobalReplicationGroup { 15666 s.EngineVersion = &v 15667 return s 15668 } 15669 15670 // SetGlobalNodeGroups sets the GlobalNodeGroups field's value. 15671 func (s *GlobalReplicationGroup) SetGlobalNodeGroups(v []*GlobalNodeGroup) *GlobalReplicationGroup { 15672 s.GlobalNodeGroups = v 15673 return s 15674 } 15675 15676 // SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 15677 func (s *GlobalReplicationGroup) SetGlobalReplicationGroupDescription(v string) *GlobalReplicationGroup { 15678 s.GlobalReplicationGroupDescription = &v 15679 return s 15680 } 15681 15682 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15683 func (s *GlobalReplicationGroup) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroup { 15684 s.GlobalReplicationGroupId = &v 15685 return s 15686 } 15687 15688 // SetMembers sets the Members field's value. 15689 func (s *GlobalReplicationGroup) SetMembers(v []*GlobalReplicationGroupMember) *GlobalReplicationGroup { 15690 s.Members = v 15691 return s 15692 } 15693 15694 // SetStatus sets the Status field's value. 15695 func (s *GlobalReplicationGroup) SetStatus(v string) *GlobalReplicationGroup { 15696 s.Status = &v 15697 return s 15698 } 15699 15700 // SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 15701 func (s *GlobalReplicationGroup) SetTransitEncryptionEnabled(v bool) *GlobalReplicationGroup { 15702 s.TransitEncryptionEnabled = &v 15703 return s 15704 } 15705 15706 // The name of the Global datastore and role of this replication group in the 15707 // Global datastore. 15708 type GlobalReplicationGroupInfo struct { 15709 _ struct{} `type:"structure"` 15710 15711 // The name of the Global datastore 15712 GlobalReplicationGroupId *string `type:"string"` 15713 15714 // The role of the replication group in a Global datastore. Can be primary or 15715 // secondary. 15716 GlobalReplicationGroupMemberRole *string `type:"string"` 15717 } 15718 15719 // String returns the string representation. 15720 // 15721 // API parameter values that are decorated as "sensitive" in the API will not 15722 // be included in the string output. The member name will be present, but the 15723 // value will be replaced with "sensitive". 15724 func (s GlobalReplicationGroupInfo) String() string { 15725 return awsutil.Prettify(s) 15726 } 15727 15728 // GoString returns the string representation. 15729 // 15730 // API parameter values that are decorated as "sensitive" in the API will not 15731 // be included in the string output. The member name will be present, but the 15732 // value will be replaced with "sensitive". 15733 func (s GlobalReplicationGroupInfo) GoString() string { 15734 return s.String() 15735 } 15736 15737 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15738 func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroupInfo { 15739 s.GlobalReplicationGroupId = &v 15740 return s 15741 } 15742 15743 // SetGlobalReplicationGroupMemberRole sets the GlobalReplicationGroupMemberRole field's value. 15744 func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupMemberRole(v string) *GlobalReplicationGroupInfo { 15745 s.GlobalReplicationGroupMemberRole = &v 15746 return s 15747 } 15748 15749 // A member of a Global datastore. It contains the Replication Group Id, the 15750 // Amazon region and the role of the replication group. 15751 type GlobalReplicationGroupMember struct { 15752 _ struct{} `type:"structure"` 15753 15754 // Indicates whether automatic failover is enabled for the replication group. 15755 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 15756 15757 // The replication group id of the Global datastore member. 15758 ReplicationGroupId *string `type:"string"` 15759 15760 // The Amazon region of the Global datastore member. 15761 ReplicationGroupRegion *string `type:"string"` 15762 15763 // Indicates the role of the replication group, primary or secondary. 15764 Role *string `type:"string"` 15765 15766 // The status of the membership of the replication group. 15767 Status *string `type:"string"` 15768 } 15769 15770 // String returns the string representation. 15771 // 15772 // API parameter values that are decorated as "sensitive" in the API will not 15773 // be included in the string output. The member name will be present, but the 15774 // value will be replaced with "sensitive". 15775 func (s GlobalReplicationGroupMember) String() string { 15776 return awsutil.Prettify(s) 15777 } 15778 15779 // GoString returns the string representation. 15780 // 15781 // API parameter values that are decorated as "sensitive" in the API will not 15782 // be included in the string output. The member name will be present, but the 15783 // value will be replaced with "sensitive". 15784 func (s GlobalReplicationGroupMember) GoString() string { 15785 return s.String() 15786 } 15787 15788 // SetAutomaticFailover sets the AutomaticFailover field's value. 15789 func (s *GlobalReplicationGroupMember) SetAutomaticFailover(v string) *GlobalReplicationGroupMember { 15790 s.AutomaticFailover = &v 15791 return s 15792 } 15793 15794 // SetReplicationGroupId sets the ReplicationGroupId field's value. 15795 func (s *GlobalReplicationGroupMember) SetReplicationGroupId(v string) *GlobalReplicationGroupMember { 15796 s.ReplicationGroupId = &v 15797 return s 15798 } 15799 15800 // SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 15801 func (s *GlobalReplicationGroupMember) SetReplicationGroupRegion(v string) *GlobalReplicationGroupMember { 15802 s.ReplicationGroupRegion = &v 15803 return s 15804 } 15805 15806 // SetRole sets the Role field's value. 15807 func (s *GlobalReplicationGroupMember) SetRole(v string) *GlobalReplicationGroupMember { 15808 s.Role = &v 15809 return s 15810 } 15811 15812 // SetStatus sets the Status field's value. 15813 func (s *GlobalReplicationGroupMember) SetStatus(v string) *GlobalReplicationGroupMember { 15814 s.Status = &v 15815 return s 15816 } 15817 15818 type IncreaseNodeGroupsInGlobalReplicationGroupInput struct { 15819 _ struct{} `type:"structure"` 15820 15821 // Indicates that the process begins immediately. At present, the only permitted 15822 // value for this parameter is true. 15823 // 15824 // ApplyImmediately is a required field 15825 ApplyImmediately *bool `type:"boolean" required:"true"` 15826 15827 // The name of the Global datastore 15828 // 15829 // GlobalReplicationGroupId is a required field 15830 GlobalReplicationGroupId *string `type:"string" required:"true"` 15831 15832 // The number of node groups you wish to add 15833 // 15834 // NodeGroupCount is a required field 15835 NodeGroupCount *int64 `type:"integer" required:"true"` 15836 15837 // Describes the replication group IDs, the Amazon regions where they are stored 15838 // and the shard configuration for each that comprise the Global datastore 15839 RegionalConfigurations []*RegionalConfiguration `locationNameList:"RegionalConfiguration" type:"list"` 15840 } 15841 15842 // String returns the string representation. 15843 // 15844 // API parameter values that are decorated as "sensitive" in the API will not 15845 // be included in the string output. The member name will be present, but the 15846 // value will be replaced with "sensitive". 15847 func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 15848 return awsutil.Prettify(s) 15849 } 15850 15851 // GoString returns the string representation. 15852 // 15853 // API parameter values that are decorated as "sensitive" in the API will not 15854 // be included in the string output. The member name will be present, but the 15855 // value will be replaced with "sensitive". 15856 func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 15857 return s.String() 15858 } 15859 15860 // Validate inspects the fields of the type to determine if they are valid. 15861 func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 15862 invalidParams := request.ErrInvalidParams{Context: "IncreaseNodeGroupsInGlobalReplicationGroupInput"} 15863 if s.ApplyImmediately == nil { 15864 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 15865 } 15866 if s.GlobalReplicationGroupId == nil { 15867 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 15868 } 15869 if s.NodeGroupCount == nil { 15870 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 15871 } 15872 if s.RegionalConfigurations != nil { 15873 for i, v := range s.RegionalConfigurations { 15874 if v == nil { 15875 continue 15876 } 15877 if err := v.Validate(); err != nil { 15878 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RegionalConfigurations", i), err.(request.ErrInvalidParams)) 15879 } 15880 } 15881 } 15882 15883 if invalidParams.Len() > 0 { 15884 return invalidParams 15885 } 15886 return nil 15887 } 15888 15889 // SetApplyImmediately sets the ApplyImmediately field's value. 15890 func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 15891 s.ApplyImmediately = &v 15892 return s 15893 } 15894 15895 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15896 func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 15897 s.GlobalReplicationGroupId = &v 15898 return s 15899 } 15900 15901 // SetNodeGroupCount sets the NodeGroupCount field's value. 15902 func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 15903 s.NodeGroupCount = &v 15904 return s 15905 } 15906 15907 // SetRegionalConfigurations sets the RegionalConfigurations field's value. 15908 func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetRegionalConfigurations(v []*RegionalConfiguration) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 15909 s.RegionalConfigurations = v 15910 return s 15911 } 15912 15913 type IncreaseNodeGroupsInGlobalReplicationGroupOutput struct { 15914 _ struct{} `type:"structure"` 15915 15916 // Consists of a primary cluster that accepts writes and an associated secondary 15917 // cluster that resides in a different Amazon region. The secondary cluster 15918 // accepts only reads. The primary cluster automatically replicates updates 15919 // to the secondary cluster. 15920 // 15921 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 15922 // datastore, which is what you use to associate a secondary cluster. 15923 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 15924 } 15925 15926 // String returns the string representation. 15927 // 15928 // API parameter values that are decorated as "sensitive" in the API will not 15929 // be included in the string output. The member name will be present, but the 15930 // value will be replaced with "sensitive". 15931 func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 15932 return awsutil.Prettify(s) 15933 } 15934 15935 // GoString returns the string representation. 15936 // 15937 // API parameter values that are decorated as "sensitive" in the API will not 15938 // be included in the string output. The member name will be present, but the 15939 // value will be replaced with "sensitive". 15940 func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 15941 return s.String() 15942 } 15943 15944 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 15945 func (s *IncreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *IncreaseNodeGroupsInGlobalReplicationGroupOutput { 15946 s.GlobalReplicationGroup = v 15947 return s 15948 } 15949 15950 type IncreaseReplicaCountInput struct { 15951 _ struct{} `type:"structure"` 15952 15953 // If True, the number of replica nodes is increased immediately. ApplyImmediately=False 15954 // is not currently supported. 15955 // 15956 // ApplyImmediately is a required field 15957 ApplyImmediately *bool `type:"boolean" required:"true"` 15958 15959 // The number of read replica nodes you want at the completion of this operation. 15960 // For Redis (cluster mode disabled) replication groups, this is the number 15961 // of replica nodes in the replication group. For Redis (cluster mode enabled) 15962 // replication groups, this is the number of replica nodes in each of the replication 15963 // group's node groups. 15964 NewReplicaCount *int64 `type:"integer"` 15965 15966 // A list of ConfigureShard objects that can be used to configure each shard 15967 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 15968 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 15969 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 15970 15971 // The id of the replication group to which you want to add replica nodes. 15972 // 15973 // ReplicationGroupId is a required field 15974 ReplicationGroupId *string `type:"string" required:"true"` 15975 } 15976 15977 // String returns the string representation. 15978 // 15979 // API parameter values that are decorated as "sensitive" in the API will not 15980 // be included in the string output. The member name will be present, but the 15981 // value will be replaced with "sensitive". 15982 func (s IncreaseReplicaCountInput) String() string { 15983 return awsutil.Prettify(s) 15984 } 15985 15986 // GoString returns the string representation. 15987 // 15988 // API parameter values that are decorated as "sensitive" in the API will not 15989 // be included in the string output. The member name will be present, but the 15990 // value will be replaced with "sensitive". 15991 func (s IncreaseReplicaCountInput) GoString() string { 15992 return s.String() 15993 } 15994 15995 // Validate inspects the fields of the type to determine if they are valid. 15996 func (s *IncreaseReplicaCountInput) Validate() error { 15997 invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicaCountInput"} 15998 if s.ApplyImmediately == nil { 15999 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 16000 } 16001 if s.ReplicationGroupId == nil { 16002 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16003 } 16004 if s.ReplicaConfiguration != nil { 16005 for i, v := range s.ReplicaConfiguration { 16006 if v == nil { 16007 continue 16008 } 16009 if err := v.Validate(); err != nil { 16010 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 16011 } 16012 } 16013 } 16014 16015 if invalidParams.Len() > 0 { 16016 return invalidParams 16017 } 16018 return nil 16019 } 16020 16021 // SetApplyImmediately sets the ApplyImmediately field's value. 16022 func (s *IncreaseReplicaCountInput) SetApplyImmediately(v bool) *IncreaseReplicaCountInput { 16023 s.ApplyImmediately = &v 16024 return s 16025 } 16026 16027 // SetNewReplicaCount sets the NewReplicaCount field's value. 16028 func (s *IncreaseReplicaCountInput) SetNewReplicaCount(v int64) *IncreaseReplicaCountInput { 16029 s.NewReplicaCount = &v 16030 return s 16031 } 16032 16033 // SetReplicaConfiguration sets the ReplicaConfiguration field's value. 16034 func (s *IncreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *IncreaseReplicaCountInput { 16035 s.ReplicaConfiguration = v 16036 return s 16037 } 16038 16039 // SetReplicationGroupId sets the ReplicationGroupId field's value. 16040 func (s *IncreaseReplicaCountInput) SetReplicationGroupId(v string) *IncreaseReplicaCountInput { 16041 s.ReplicationGroupId = &v 16042 return s 16043 } 16044 16045 type IncreaseReplicaCountOutput struct { 16046 _ struct{} `type:"structure"` 16047 16048 // Contains all of the attributes of a specific Redis replication group. 16049 ReplicationGroup *ReplicationGroup `type:"structure"` 16050 } 16051 16052 // String returns the string representation. 16053 // 16054 // API parameter values that are decorated as "sensitive" in the API will not 16055 // be included in the string output. The member name will be present, but the 16056 // value will be replaced with "sensitive". 16057 func (s IncreaseReplicaCountOutput) String() string { 16058 return awsutil.Prettify(s) 16059 } 16060 16061 // GoString returns the string representation. 16062 // 16063 // API parameter values that are decorated as "sensitive" in the API will not 16064 // be included in the string output. The member name will be present, but the 16065 // value will be replaced with "sensitive". 16066 func (s IncreaseReplicaCountOutput) GoString() string { 16067 return s.String() 16068 } 16069 16070 // SetReplicationGroup sets the ReplicationGroup field's value. 16071 func (s *IncreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *IncreaseReplicaCountOutput { 16072 s.ReplicationGroup = v 16073 return s 16074 } 16075 16076 // The configuration details of the Kinesis Data Firehose destination. 16077 type KinesisFirehoseDestinationDetails struct { 16078 _ struct{} `type:"structure"` 16079 16080 // The name of the Kinesis Data Firehose delivery stream. 16081 DeliveryStream *string `type:"string"` 16082 } 16083 16084 // String returns the string representation. 16085 // 16086 // API parameter values that are decorated as "sensitive" in the API will not 16087 // be included in the string output. The member name will be present, but the 16088 // value will be replaced with "sensitive". 16089 func (s KinesisFirehoseDestinationDetails) String() string { 16090 return awsutil.Prettify(s) 16091 } 16092 16093 // GoString returns the string representation. 16094 // 16095 // API parameter values that are decorated as "sensitive" in the API will not 16096 // be included in the string output. The member name will be present, but the 16097 // value will be replaced with "sensitive". 16098 func (s KinesisFirehoseDestinationDetails) GoString() string { 16099 return s.String() 16100 } 16101 16102 // SetDeliveryStream sets the DeliveryStream field's value. 16103 func (s *KinesisFirehoseDestinationDetails) SetDeliveryStream(v string) *KinesisFirehoseDestinationDetails { 16104 s.DeliveryStream = &v 16105 return s 16106 } 16107 16108 // The input parameters for the ListAllowedNodeTypeModifications operation. 16109 type ListAllowedNodeTypeModificationsInput struct { 16110 _ struct{} `type:"structure"` 16111 16112 // The name of the cluster you want to scale up to a larger node instanced type. 16113 // ElastiCache uses the cluster id to identify the current node type of this 16114 // cluster and from that to create a list of node types you can scale up to. 16115 // 16116 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 16117 CacheClusterId *string `type:"string"` 16118 16119 // The name of the replication group want to scale up to a larger node type. 16120 // ElastiCache uses the replication group id to identify the current node type 16121 // being used by this replication group, and from that to create a list of node 16122 // types you can scale up to. 16123 // 16124 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 16125 ReplicationGroupId *string `type:"string"` 16126 } 16127 16128 // String returns the string representation. 16129 // 16130 // API parameter values that are decorated as "sensitive" in the API will not 16131 // be included in the string output. The member name will be present, but the 16132 // value will be replaced with "sensitive". 16133 func (s ListAllowedNodeTypeModificationsInput) String() string { 16134 return awsutil.Prettify(s) 16135 } 16136 16137 // GoString returns the string representation. 16138 // 16139 // API parameter values that are decorated as "sensitive" in the API will not 16140 // be included in the string output. The member name will be present, but the 16141 // value will be replaced with "sensitive". 16142 func (s ListAllowedNodeTypeModificationsInput) GoString() string { 16143 return s.String() 16144 } 16145 16146 // SetCacheClusterId sets the CacheClusterId field's value. 16147 func (s *ListAllowedNodeTypeModificationsInput) SetCacheClusterId(v string) *ListAllowedNodeTypeModificationsInput { 16148 s.CacheClusterId = &v 16149 return s 16150 } 16151 16152 // SetReplicationGroupId sets the ReplicationGroupId field's value. 16153 func (s *ListAllowedNodeTypeModificationsInput) SetReplicationGroupId(v string) *ListAllowedNodeTypeModificationsInput { 16154 s.ReplicationGroupId = &v 16155 return s 16156 } 16157 16158 // Represents the allowed node types you can use to modify your cluster or replication 16159 // group. 16160 type ListAllowedNodeTypeModificationsOutput struct { 16161 _ struct{} `type:"structure"` 16162 16163 // A string list, each element of which specifies a cache node type which you 16164 // can use to scale your cluster or replication group. When scaling down a Redis 16165 // cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, 16166 // use a value from this list for the CacheNodeType parameter. 16167 ScaleDownModifications []*string `type:"list"` 16168 16169 // A string list, each element of which specifies a cache node type which you 16170 // can use to scale your cluster or replication group. 16171 // 16172 // When scaling up a Redis cluster or replication group using ModifyCacheCluster 16173 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 16174 // parameter. 16175 ScaleUpModifications []*string `type:"list"` 16176 } 16177 16178 // String returns the string representation. 16179 // 16180 // API parameter values that are decorated as "sensitive" in the API will not 16181 // be included in the string output. The member name will be present, but the 16182 // value will be replaced with "sensitive". 16183 func (s ListAllowedNodeTypeModificationsOutput) String() string { 16184 return awsutil.Prettify(s) 16185 } 16186 16187 // GoString returns the string representation. 16188 // 16189 // API parameter values that are decorated as "sensitive" in the API will not 16190 // be included in the string output. The member name will be present, but the 16191 // value will be replaced with "sensitive". 16192 func (s ListAllowedNodeTypeModificationsOutput) GoString() string { 16193 return s.String() 16194 } 16195 16196 // SetScaleDownModifications sets the ScaleDownModifications field's value. 16197 func (s *ListAllowedNodeTypeModificationsOutput) SetScaleDownModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 16198 s.ScaleDownModifications = v 16199 return s 16200 } 16201 16202 // SetScaleUpModifications sets the ScaleUpModifications field's value. 16203 func (s *ListAllowedNodeTypeModificationsOutput) SetScaleUpModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 16204 s.ScaleUpModifications = v 16205 return s 16206 } 16207 16208 // The input parameters for the ListTagsForResource operation. 16209 type ListTagsForResourceInput struct { 16210 _ struct{} `type:"structure"` 16211 16212 // The Amazon Resource Name (ARN) of the resource for which you want the list 16213 // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 16214 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 16215 // 16216 // For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon 16217 // Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 16218 // 16219 // ResourceName is a required field 16220 ResourceName *string `type:"string" required:"true"` 16221 } 16222 16223 // String returns the string representation. 16224 // 16225 // API parameter values that are decorated as "sensitive" in the API will not 16226 // be included in the string output. The member name will be present, but the 16227 // value will be replaced with "sensitive". 16228 func (s ListTagsForResourceInput) String() string { 16229 return awsutil.Prettify(s) 16230 } 16231 16232 // GoString returns the string representation. 16233 // 16234 // API parameter values that are decorated as "sensitive" in the API will not 16235 // be included in the string output. The member name will be present, but the 16236 // value will be replaced with "sensitive". 16237 func (s ListTagsForResourceInput) GoString() string { 16238 return s.String() 16239 } 16240 16241 // Validate inspects the fields of the type to determine if they are valid. 16242 func (s *ListTagsForResourceInput) Validate() error { 16243 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 16244 if s.ResourceName == nil { 16245 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 16246 } 16247 16248 if invalidParams.Len() > 0 { 16249 return invalidParams 16250 } 16251 return nil 16252 } 16253 16254 // SetResourceName sets the ResourceName field's value. 16255 func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { 16256 s.ResourceName = &v 16257 return s 16258 } 16259 16260 // Returns the destination, format and type of the logs. 16261 type LogDeliveryConfiguration struct { 16262 _ struct{} `type:"structure"` 16263 16264 // Configuration details of either a CloudWatch Logs destination or Kinesis 16265 // Data Firehose destination. 16266 DestinationDetails *DestinationDetails `type:"structure"` 16267 16268 // Returns the destination type, either cloudwatch-logs or kinesis-firehose. 16269 DestinationType *string `type:"string" enum:"DestinationType"` 16270 16271 // Returns the log format, either JSON or TEXT. 16272 LogFormat *string `type:"string" enum:"LogFormat"` 16273 16274 // Refers to slow-log (https://redis.io/commands/slowlog). 16275 LogType *string `type:"string" enum:"LogType"` 16276 16277 // Returns an error message for the log delivery configuration. 16278 Message *string `type:"string"` 16279 16280 // Returns the log delivery configuration status. Values are one of enabling 16281 // | disabling | modifying | active | error 16282 Status *string `type:"string" enum:"LogDeliveryConfigurationStatus"` 16283 } 16284 16285 // String returns the string representation. 16286 // 16287 // API parameter values that are decorated as "sensitive" in the API will not 16288 // be included in the string output. The member name will be present, but the 16289 // value will be replaced with "sensitive". 16290 func (s LogDeliveryConfiguration) String() string { 16291 return awsutil.Prettify(s) 16292 } 16293 16294 // GoString returns the string representation. 16295 // 16296 // API parameter values that are decorated as "sensitive" in the API will not 16297 // be included in the string output. The member name will be present, but the 16298 // value will be replaced with "sensitive". 16299 func (s LogDeliveryConfiguration) GoString() string { 16300 return s.String() 16301 } 16302 16303 // SetDestinationDetails sets the DestinationDetails field's value. 16304 func (s *LogDeliveryConfiguration) SetDestinationDetails(v *DestinationDetails) *LogDeliveryConfiguration { 16305 s.DestinationDetails = v 16306 return s 16307 } 16308 16309 // SetDestinationType sets the DestinationType field's value. 16310 func (s *LogDeliveryConfiguration) SetDestinationType(v string) *LogDeliveryConfiguration { 16311 s.DestinationType = &v 16312 return s 16313 } 16314 16315 // SetLogFormat sets the LogFormat field's value. 16316 func (s *LogDeliveryConfiguration) SetLogFormat(v string) *LogDeliveryConfiguration { 16317 s.LogFormat = &v 16318 return s 16319 } 16320 16321 // SetLogType sets the LogType field's value. 16322 func (s *LogDeliveryConfiguration) SetLogType(v string) *LogDeliveryConfiguration { 16323 s.LogType = &v 16324 return s 16325 } 16326 16327 // SetMessage sets the Message field's value. 16328 func (s *LogDeliveryConfiguration) SetMessage(v string) *LogDeliveryConfiguration { 16329 s.Message = &v 16330 return s 16331 } 16332 16333 // SetStatus sets the Status field's value. 16334 func (s *LogDeliveryConfiguration) SetStatus(v string) *LogDeliveryConfiguration { 16335 s.Status = &v 16336 return s 16337 } 16338 16339 // Specifies the destination, format and type of the logs. 16340 type LogDeliveryConfigurationRequest struct { 16341 _ struct{} `type:"structure"` 16342 16343 // Configuration details of either a CloudWatch Logs destination or Kinesis 16344 // Data Firehose destination. 16345 DestinationDetails *DestinationDetails `type:"structure"` 16346 16347 // Specify either cloudwatch-logs or kinesis-firehose as the destination type. 16348 DestinationType *string `type:"string" enum:"DestinationType"` 16349 16350 // Specify if log delivery is enabled. Default true. 16351 Enabled *bool `type:"boolean"` 16352 16353 // Specifies either JSON or TEXT 16354 LogFormat *string `type:"string" enum:"LogFormat"` 16355 16356 // Refers to slow-log (https://redis.io/commands/slowlog). 16357 LogType *string `type:"string" enum:"LogType"` 16358 } 16359 16360 // String returns the string representation. 16361 // 16362 // API parameter values that are decorated as "sensitive" in the API will not 16363 // be included in the string output. The member name will be present, but the 16364 // value will be replaced with "sensitive". 16365 func (s LogDeliveryConfigurationRequest) String() string { 16366 return awsutil.Prettify(s) 16367 } 16368 16369 // GoString returns the string representation. 16370 // 16371 // API parameter values that are decorated as "sensitive" in the API will not 16372 // be included in the string output. The member name will be present, but the 16373 // value will be replaced with "sensitive". 16374 func (s LogDeliveryConfigurationRequest) GoString() string { 16375 return s.String() 16376 } 16377 16378 // SetDestinationDetails sets the DestinationDetails field's value. 16379 func (s *LogDeliveryConfigurationRequest) SetDestinationDetails(v *DestinationDetails) *LogDeliveryConfigurationRequest { 16380 s.DestinationDetails = v 16381 return s 16382 } 16383 16384 // SetDestinationType sets the DestinationType field's value. 16385 func (s *LogDeliveryConfigurationRequest) SetDestinationType(v string) *LogDeliveryConfigurationRequest { 16386 s.DestinationType = &v 16387 return s 16388 } 16389 16390 // SetEnabled sets the Enabled field's value. 16391 func (s *LogDeliveryConfigurationRequest) SetEnabled(v bool) *LogDeliveryConfigurationRequest { 16392 s.Enabled = &v 16393 return s 16394 } 16395 16396 // SetLogFormat sets the LogFormat field's value. 16397 func (s *LogDeliveryConfigurationRequest) SetLogFormat(v string) *LogDeliveryConfigurationRequest { 16398 s.LogFormat = &v 16399 return s 16400 } 16401 16402 // SetLogType sets the LogType field's value. 16403 func (s *LogDeliveryConfigurationRequest) SetLogType(v string) *LogDeliveryConfigurationRequest { 16404 s.LogType = &v 16405 return s 16406 } 16407 16408 // Represents the input of a ModifyCacheCluster operation. 16409 type ModifyCacheClusterInput struct { 16410 _ struct{} `type:"structure"` 16411 16412 // Specifies whether the new nodes in this Memcached cluster are all created 16413 // in a single Availability Zone or created across multiple Availability Zones. 16414 // 16415 // Valid values: single-az | cross-az. 16416 // 16417 // This option is only supported for Memcached clusters. 16418 // 16419 // You cannot specify single-az if the Memcached cluster already has cache nodes 16420 // in different Availability Zones. If cross-az is specified, existing Memcached 16421 // nodes remain in their current Availability Zone. 16422 // 16423 // Only newly created nodes are located in different Availability Zones. 16424 AZMode *string `type:"string" enum:"AZMode"` 16425 16426 // If true, this parameter causes the modifications in this request and any 16427 // pending modifications to be applied, asynchronously and as soon as possible, 16428 // regardless of the PreferredMaintenanceWindow setting for the cluster. 16429 // 16430 // If false, changes to the cluster are applied on the next maintenance reboot, 16431 // or the next failure reboot, whichever occurs first. 16432 // 16433 // If you perform a ModifyCacheCluster before a pending modification is applied, 16434 // the pending modification is replaced by the newer modification. 16435 // 16436 // Valid values: true | false 16437 // 16438 // Default: false 16439 ApplyImmediately *bool `type:"boolean"` 16440 16441 // Reserved parameter. The password used to access a password protected server. 16442 // This parameter must be specified with the auth-token-update parameter. Password 16443 // constraints: 16444 // 16445 // * Must be only printable ASCII characters 16446 // 16447 // * Must be at least 16 characters and no more than 128 characters in length 16448 // 16449 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 16450 // 16451 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 16452 AuthToken *string `type:"string"` 16453 16454 // Specifies the strategy to use to update the AUTH token. This parameter must 16455 // be specified with the auth-token parameter. Possible values: 16456 // 16457 // * Rotate 16458 // 16459 // * Set 16460 // 16461 // For more information, see Authenticating Users with Redis AUTH (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 16462 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 16463 16464 // This parameter is currently disabled. 16465 AutoMinorVersionUpgrade *bool `type:"boolean"` 16466 16467 // The cluster identifier. This value is stored as a lowercase string. 16468 // 16469 // CacheClusterId is a required field 16470 CacheClusterId *string `type:"string" required:"true"` 16471 16472 // A list of cache node IDs to be removed. A node ID is a numeric identifier 16473 // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less 16474 // than the existing number of cache nodes. The number of cache node IDs supplied 16475 // in this parameter must match the difference between the existing number of 16476 // cache nodes in the cluster or pending cache nodes, whichever is greater, 16477 // and the value of NumCacheNodes in the request. 16478 // 16479 // For example: If you have 3 active cache nodes, 7 pending cache nodes, and 16480 // the number of cache nodes in this ModifyCacheCluster call is 5, you must 16481 // list 2 (7 - 5) cache node IDs to remove. 16482 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 16483 16484 // A valid cache node type that you want to scale this cluster up to. 16485 CacheNodeType *string `type:"string"` 16486 16487 // The name of the cache parameter group to apply to this cluster. This change 16488 // is asynchronously applied as soon as possible for parameters when the ApplyImmediately 16489 // parameter is specified as true for this request. 16490 CacheParameterGroupName *string `type:"string"` 16491 16492 // A list of cache security group names to authorize on this cluster. This change 16493 // is asynchronously applied as soon as possible. 16494 // 16495 // You can use this parameter only with clusters that are created outside of 16496 // an Amazon Virtual Private Cloud (Amazon VPC). 16497 // 16498 // Constraints: Must contain no more than 255 alphanumeric characters. Must 16499 // not be "Default". 16500 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 16501 16502 // The upgraded version of the cache engine to be run on the cache nodes. 16503 // 16504 // Important: You can upgrade to a newer engine version (see Selecting a Cache 16505 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 16506 // but you cannot downgrade to an earlier engine version. If you want to use 16507 // an earlier engine version, you must delete the existing cluster and create 16508 // it anew with the earlier engine version. 16509 EngineVersion *string `type:"string"` 16510 16511 // Specifies the destination, format and type of the logs. 16512 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 16513 16514 // 16515 // This option is only supported on Memcached clusters. 16516 // 16517 // The list of Availability Zones where the new Memcached cache nodes are created. 16518 // 16519 // This parameter is only valid when NumCacheNodes in the request is greater 16520 // than the sum of the number of active cache nodes and the number of cache 16521 // nodes pending creation (which may be zero). The number of Availability Zones 16522 // supplied in this list must match the cache nodes being added in this request. 16523 // 16524 // Scenarios: 16525 // 16526 // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify 16527 // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones 16528 // for the two new nodes. 16529 // 16530 // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from 16531 // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 16532 // ((3 + 2) + 1) and optionally specify an Availability Zone for the new 16533 // node. 16534 // 16535 // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 16536 // to cancel all pending operations. 16537 // 16538 // The Availability Zone placement of nodes pending creation cannot be modified. 16539 // If you wish to cancel any nodes pending creation, add 0 nodes by setting 16540 // NumCacheNodes to the number of current nodes. 16541 // 16542 // If cross-az is specified, existing Memcached nodes remain in their current 16543 // Availability Zone. Only newly created nodes can be located in different Availability 16544 // Zones. For guidance on how to move existing Memcached nodes to different 16545 // Availability Zones, see the Availability Zone Considerations section of Cache 16546 // Node Considerations for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 16547 // 16548 // Impact of new add/remove requests upon pending requests 16549 // 16550 // * Scenario-1 Pending Action: Delete New Request: Delete Result: The new 16551 // delete, pending or immediate, replaces the pending delete. 16552 // 16553 // * Scenario-2 Pending Action: Delete New Request: Create Result: The new 16554 // create, pending or immediate, replaces the pending delete. 16555 // 16556 // * Scenario-3 Pending Action: Create New Request: Delete Result: The new 16557 // delete, pending or immediate, replaces the pending create. 16558 // 16559 // * Scenario-4 Pending Action: Create New Request: Create Result: The new 16560 // create is added to the pending create. Important: If the new create request 16561 // is Apply Immediately - Yes, all creates are performed immediately. If 16562 // the new create request is Apply Immediately - No, all creates are pending. 16563 NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 16564 16565 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 16566 // are sent. 16567 // 16568 // The Amazon SNS topic owner must be same as the cluster owner. 16569 NotificationTopicArn *string `type:"string"` 16570 16571 // The status of the Amazon SNS notification topic. Notifications are sent only 16572 // if the status is active. 16573 // 16574 // Valid values: active | inactive 16575 NotificationTopicStatus *string `type:"string"` 16576 16577 // The number of cache nodes that the cluster should have. If the value for 16578 // NumCacheNodes is greater than the sum of the number of current cache nodes 16579 // and the number of cache nodes pending creation (which may be zero), more 16580 // nodes are added. If the value is less than the number of existing cache nodes, 16581 // nodes are removed. If the value is equal to the number of current cache nodes, 16582 // any pending add or remove requests are canceled. 16583 // 16584 // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter 16585 // to provide the IDs of the specific cache nodes to remove. 16586 // 16587 // For clusters running Redis, this value must be 1. For clusters running Memcached, 16588 // this value must be between 1 and 40. 16589 // 16590 // Adding or removing Memcached cache nodes can be applied immediately or as 16591 // a pending operation (see ApplyImmediately). 16592 // 16593 // A pending operation to modify the number of cache nodes in a cluster during 16594 // its maintenance window, whether by adding or removing nodes in accordance 16595 // with the scale out architecture, is not queued. The customer's latest request 16596 // to add or remove nodes to the cluster overrides any previous pending operations 16597 // to modify the number of cache nodes in the cluster. For example, a request 16598 // to remove 2 nodes would override a previous pending operation to remove 3 16599 // nodes. Similarly, a request to add 2 nodes would override a previous pending 16600 // operation to remove 3 nodes and vice versa. As Memcached cache nodes may 16601 // now be provisioned in different Availability Zones with flexible cache node 16602 // placement, a request to add nodes does not automatically override a previous 16603 // pending operation to add nodes. The customer can modify the previous pending 16604 // operation to add more nodes or explicitly cancel the pending request and 16605 // retry the new request. To cancel pending operations to modify the number 16606 // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes 16607 // equal to the number of cache nodes currently in the cluster. 16608 NumCacheNodes *int64 `type:"integer"` 16609 16610 // Specifies the weekly time range during which maintenance on the cluster is 16611 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 16612 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 16613 // 16614 // Valid values for ddd are: 16615 // 16616 // * sun 16617 // 16618 // * mon 16619 // 16620 // * tue 16621 // 16622 // * wed 16623 // 16624 // * thu 16625 // 16626 // * fri 16627 // 16628 // * sat 16629 // 16630 // Example: sun:23:00-mon:01:30 16631 PreferredMaintenanceWindow *string `type:"string"` 16632 16633 // Specifies the VPC Security Groups associated with the cluster. 16634 // 16635 // This parameter can be used only with clusters that are created in an Amazon 16636 // Virtual Private Cloud (Amazon VPC). 16637 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 16638 16639 // The number of days for which ElastiCache retains automatic cluster snapshots 16640 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 16641 // a snapshot that was taken today is retained for 5 days before being deleted. 16642 // 16643 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 16644 // off. 16645 SnapshotRetentionLimit *int64 `type:"integer"` 16646 16647 // The daily time range (in UTC) during which ElastiCache begins taking a daily 16648 // snapshot of your cluster. 16649 SnapshotWindow *string `type:"string"` 16650 } 16651 16652 // String returns the string representation. 16653 // 16654 // API parameter values that are decorated as "sensitive" in the API will not 16655 // be included in the string output. The member name will be present, but the 16656 // value will be replaced with "sensitive". 16657 func (s ModifyCacheClusterInput) String() string { 16658 return awsutil.Prettify(s) 16659 } 16660 16661 // GoString returns the string representation. 16662 // 16663 // API parameter values that are decorated as "sensitive" in the API will not 16664 // be included in the string output. The member name will be present, but the 16665 // value will be replaced with "sensitive". 16666 func (s ModifyCacheClusterInput) GoString() string { 16667 return s.String() 16668 } 16669 16670 // Validate inspects the fields of the type to determine if they are valid. 16671 func (s *ModifyCacheClusterInput) Validate() error { 16672 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} 16673 if s.CacheClusterId == nil { 16674 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 16675 } 16676 16677 if invalidParams.Len() > 0 { 16678 return invalidParams 16679 } 16680 return nil 16681 } 16682 16683 // SetAZMode sets the AZMode field's value. 16684 func (s *ModifyCacheClusterInput) SetAZMode(v string) *ModifyCacheClusterInput { 16685 s.AZMode = &v 16686 return s 16687 } 16688 16689 // SetApplyImmediately sets the ApplyImmediately field's value. 16690 func (s *ModifyCacheClusterInput) SetApplyImmediately(v bool) *ModifyCacheClusterInput { 16691 s.ApplyImmediately = &v 16692 return s 16693 } 16694 16695 // SetAuthToken sets the AuthToken field's value. 16696 func (s *ModifyCacheClusterInput) SetAuthToken(v string) *ModifyCacheClusterInput { 16697 s.AuthToken = &v 16698 return s 16699 } 16700 16701 // SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 16702 func (s *ModifyCacheClusterInput) SetAuthTokenUpdateStrategy(v string) *ModifyCacheClusterInput { 16703 s.AuthTokenUpdateStrategy = &v 16704 return s 16705 } 16706 16707 // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 16708 func (s *ModifyCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *ModifyCacheClusterInput { 16709 s.AutoMinorVersionUpgrade = &v 16710 return s 16711 } 16712 16713 // SetCacheClusterId sets the CacheClusterId field's value. 16714 func (s *ModifyCacheClusterInput) SetCacheClusterId(v string) *ModifyCacheClusterInput { 16715 s.CacheClusterId = &v 16716 return s 16717 } 16718 16719 // SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 16720 func (s *ModifyCacheClusterInput) SetCacheNodeIdsToRemove(v []*string) *ModifyCacheClusterInput { 16721 s.CacheNodeIdsToRemove = v 16722 return s 16723 } 16724 16725 // SetCacheNodeType sets the CacheNodeType field's value. 16726 func (s *ModifyCacheClusterInput) SetCacheNodeType(v string) *ModifyCacheClusterInput { 16727 s.CacheNodeType = &v 16728 return s 16729 } 16730 16731 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16732 func (s *ModifyCacheClusterInput) SetCacheParameterGroupName(v string) *ModifyCacheClusterInput { 16733 s.CacheParameterGroupName = &v 16734 return s 16735 } 16736 16737 // SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 16738 func (s *ModifyCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *ModifyCacheClusterInput { 16739 s.CacheSecurityGroupNames = v 16740 return s 16741 } 16742 16743 // SetEngineVersion sets the EngineVersion field's value. 16744 func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheClusterInput { 16745 s.EngineVersion = &v 16746 return s 16747 } 16748 16749 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 16750 func (s *ModifyCacheClusterInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *ModifyCacheClusterInput { 16751 s.LogDeliveryConfigurations = v 16752 return s 16753 } 16754 16755 // SetNewAvailabilityZones sets the NewAvailabilityZones field's value. 16756 func (s *ModifyCacheClusterInput) SetNewAvailabilityZones(v []*string) *ModifyCacheClusterInput { 16757 s.NewAvailabilityZones = v 16758 return s 16759 } 16760 16761 // SetNotificationTopicArn sets the NotificationTopicArn field's value. 16762 func (s *ModifyCacheClusterInput) SetNotificationTopicArn(v string) *ModifyCacheClusterInput { 16763 s.NotificationTopicArn = &v 16764 return s 16765 } 16766 16767 // SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 16768 func (s *ModifyCacheClusterInput) SetNotificationTopicStatus(v string) *ModifyCacheClusterInput { 16769 s.NotificationTopicStatus = &v 16770 return s 16771 } 16772 16773 // SetNumCacheNodes sets the NumCacheNodes field's value. 16774 func (s *ModifyCacheClusterInput) SetNumCacheNodes(v int64) *ModifyCacheClusterInput { 16775 s.NumCacheNodes = &v 16776 return s 16777 } 16778 16779 // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 16780 func (s *ModifyCacheClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyCacheClusterInput { 16781 s.PreferredMaintenanceWindow = &v 16782 return s 16783 } 16784 16785 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 16786 func (s *ModifyCacheClusterInput) SetSecurityGroupIds(v []*string) *ModifyCacheClusterInput { 16787 s.SecurityGroupIds = v 16788 return s 16789 } 16790 16791 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 16792 func (s *ModifyCacheClusterInput) SetSnapshotRetentionLimit(v int64) *ModifyCacheClusterInput { 16793 s.SnapshotRetentionLimit = &v 16794 return s 16795 } 16796 16797 // SetSnapshotWindow sets the SnapshotWindow field's value. 16798 func (s *ModifyCacheClusterInput) SetSnapshotWindow(v string) *ModifyCacheClusterInput { 16799 s.SnapshotWindow = &v 16800 return s 16801 } 16802 16803 type ModifyCacheClusterOutput struct { 16804 _ struct{} `type:"structure"` 16805 16806 // Contains all of the attributes of a specific cluster. 16807 CacheCluster *CacheCluster `type:"structure"` 16808 } 16809 16810 // String returns the string representation. 16811 // 16812 // API parameter values that are decorated as "sensitive" in the API will not 16813 // be included in the string output. The member name will be present, but the 16814 // value will be replaced with "sensitive". 16815 func (s ModifyCacheClusterOutput) String() string { 16816 return awsutil.Prettify(s) 16817 } 16818 16819 // GoString returns the string representation. 16820 // 16821 // API parameter values that are decorated as "sensitive" in the API will not 16822 // be included in the string output. The member name will be present, but the 16823 // value will be replaced with "sensitive". 16824 func (s ModifyCacheClusterOutput) GoString() string { 16825 return s.String() 16826 } 16827 16828 // SetCacheCluster sets the CacheCluster field's value. 16829 func (s *ModifyCacheClusterOutput) SetCacheCluster(v *CacheCluster) *ModifyCacheClusterOutput { 16830 s.CacheCluster = v 16831 return s 16832 } 16833 16834 // Represents the input of a ModifyCacheParameterGroup operation. 16835 type ModifyCacheParameterGroupInput struct { 16836 _ struct{} `type:"structure"` 16837 16838 // The name of the cache parameter group to modify. 16839 // 16840 // CacheParameterGroupName is a required field 16841 CacheParameterGroupName *string `type:"string" required:"true"` 16842 16843 // An array of parameter names and values for the parameter update. You must 16844 // supply at least one parameter name and value; subsequent arguments are optional. 16845 // A maximum of 20 parameters may be modified per request. 16846 // 16847 // ParameterNameValues is a required field 16848 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` 16849 } 16850 16851 // String returns the string representation. 16852 // 16853 // API parameter values that are decorated as "sensitive" in the API will not 16854 // be included in the string output. The member name will be present, but the 16855 // value will be replaced with "sensitive". 16856 func (s ModifyCacheParameterGroupInput) String() string { 16857 return awsutil.Prettify(s) 16858 } 16859 16860 // GoString returns the string representation. 16861 // 16862 // API parameter values that are decorated as "sensitive" in the API will not 16863 // be included in the string output. The member name will be present, but the 16864 // value will be replaced with "sensitive". 16865 func (s ModifyCacheParameterGroupInput) GoString() string { 16866 return s.String() 16867 } 16868 16869 // Validate inspects the fields of the type to determine if they are valid. 16870 func (s *ModifyCacheParameterGroupInput) Validate() error { 16871 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} 16872 if s.CacheParameterGroupName == nil { 16873 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 16874 } 16875 if s.ParameterNameValues == nil { 16876 invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) 16877 } 16878 16879 if invalidParams.Len() > 0 { 16880 return invalidParams 16881 } 16882 return nil 16883 } 16884 16885 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16886 func (s *ModifyCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ModifyCacheParameterGroupInput { 16887 s.CacheParameterGroupName = &v 16888 return s 16889 } 16890 16891 // SetParameterNameValues sets the ParameterNameValues field's value. 16892 func (s *ModifyCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ModifyCacheParameterGroupInput { 16893 s.ParameterNameValues = v 16894 return s 16895 } 16896 16897 // Represents the input of a ModifyCacheSubnetGroup operation. 16898 type ModifyCacheSubnetGroupInput struct { 16899 _ struct{} `type:"structure"` 16900 16901 // A description of the cache subnet group. 16902 CacheSubnetGroupDescription *string `type:"string"` 16903 16904 // The name for the cache subnet group. This value is stored as a lowercase 16905 // string. 16906 // 16907 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 16908 // 16909 // Example: mysubnetgroup 16910 // 16911 // CacheSubnetGroupName is a required field 16912 CacheSubnetGroupName *string `type:"string" required:"true"` 16913 16914 // The EC2 subnet IDs for the cache subnet group. 16915 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"` 16916 } 16917 16918 // String returns the string representation. 16919 // 16920 // API parameter values that are decorated as "sensitive" in the API will not 16921 // be included in the string output. The member name will be present, but the 16922 // value will be replaced with "sensitive". 16923 func (s ModifyCacheSubnetGroupInput) String() string { 16924 return awsutil.Prettify(s) 16925 } 16926 16927 // GoString returns the string representation. 16928 // 16929 // API parameter values that are decorated as "sensitive" in the API will not 16930 // be included in the string output. The member name will be present, but the 16931 // value will be replaced with "sensitive". 16932 func (s ModifyCacheSubnetGroupInput) GoString() string { 16933 return s.String() 16934 } 16935 16936 // Validate inspects the fields of the type to determine if they are valid. 16937 func (s *ModifyCacheSubnetGroupInput) Validate() error { 16938 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} 16939 if s.CacheSubnetGroupName == nil { 16940 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 16941 } 16942 16943 if invalidParams.Len() > 0 { 16944 return invalidParams 16945 } 16946 return nil 16947 } 16948 16949 // SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 16950 func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *ModifyCacheSubnetGroupInput { 16951 s.CacheSubnetGroupDescription = &v 16952 return s 16953 } 16954 16955 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 16956 func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *ModifyCacheSubnetGroupInput { 16957 s.CacheSubnetGroupName = &v 16958 return s 16959 } 16960 16961 // SetSubnetIds sets the SubnetIds field's value. 16962 func (s *ModifyCacheSubnetGroupInput) SetSubnetIds(v []*string) *ModifyCacheSubnetGroupInput { 16963 s.SubnetIds = v 16964 return s 16965 } 16966 16967 type ModifyCacheSubnetGroupOutput struct { 16968 _ struct{} `type:"structure"` 16969 16970 // Represents the output of one of the following operations: 16971 // 16972 // * CreateCacheSubnetGroup 16973 // 16974 // * ModifyCacheSubnetGroup 16975 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 16976 } 16977 16978 // String returns the string representation. 16979 // 16980 // API parameter values that are decorated as "sensitive" in the API will not 16981 // be included in the string output. The member name will be present, but the 16982 // value will be replaced with "sensitive". 16983 func (s ModifyCacheSubnetGroupOutput) String() string { 16984 return awsutil.Prettify(s) 16985 } 16986 16987 // GoString returns the string representation. 16988 // 16989 // API parameter values that are decorated as "sensitive" in the API will not 16990 // be included in the string output. The member name will be present, but the 16991 // value will be replaced with "sensitive". 16992 func (s ModifyCacheSubnetGroupOutput) GoString() string { 16993 return s.String() 16994 } 16995 16996 // SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 16997 func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *ModifyCacheSubnetGroupOutput { 16998 s.CacheSubnetGroup = v 16999 return s 17000 } 17001 17002 type ModifyGlobalReplicationGroupInput struct { 17003 _ struct{} `type:"structure"` 17004 17005 // This parameter causes the modifications in this request and any pending modifications 17006 // to be applied, asynchronously and as soon as possible. Modifications to Global 17007 // Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. 17008 // 17009 // ApplyImmediately is a required field 17010 ApplyImmediately *bool `type:"boolean" required:"true"` 17011 17012 // Determines whether a read replica is automatically promoted to read/write 17013 // primary if the existing primary encounters a failure. 17014 AutomaticFailoverEnabled *bool `type:"boolean"` 17015 17016 // A valid cache node type that you want to scale this Global datastore to. 17017 CacheNodeType *string `type:"string"` 17018 17019 // The name of the cache parameter group to use with the Global datastore. It 17020 // must be compatible with the major engine version used by the Global datastore. 17021 CacheParameterGroupName *string `type:"string"` 17022 17023 // The upgraded version of the cache engine to be run on the clusters in the 17024 // Global datastore. 17025 EngineVersion *string `type:"string"` 17026 17027 // A description of the Global datastore 17028 GlobalReplicationGroupDescription *string `type:"string"` 17029 17030 // The name of the Global datastore 17031 // 17032 // GlobalReplicationGroupId is a required field 17033 GlobalReplicationGroupId *string `type:"string" required:"true"` 17034 } 17035 17036 // String returns the string representation. 17037 // 17038 // API parameter values that are decorated as "sensitive" in the API will not 17039 // be included in the string output. The member name will be present, but the 17040 // value will be replaced with "sensitive". 17041 func (s ModifyGlobalReplicationGroupInput) String() string { 17042 return awsutil.Prettify(s) 17043 } 17044 17045 // GoString returns the string representation. 17046 // 17047 // API parameter values that are decorated as "sensitive" in the API will not 17048 // be included in the string output. The member name will be present, but the 17049 // value will be replaced with "sensitive". 17050 func (s ModifyGlobalReplicationGroupInput) GoString() string { 17051 return s.String() 17052 } 17053 17054 // Validate inspects the fields of the type to determine if they are valid. 17055 func (s *ModifyGlobalReplicationGroupInput) Validate() error { 17056 invalidParams := request.ErrInvalidParams{Context: "ModifyGlobalReplicationGroupInput"} 17057 if s.ApplyImmediately == nil { 17058 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 17059 } 17060 if s.GlobalReplicationGroupId == nil { 17061 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 17062 } 17063 17064 if invalidParams.Len() > 0 { 17065 return invalidParams 17066 } 17067 return nil 17068 } 17069 17070 // SetApplyImmediately sets the ApplyImmediately field's value. 17071 func (s *ModifyGlobalReplicationGroupInput) SetApplyImmediately(v bool) *ModifyGlobalReplicationGroupInput { 17072 s.ApplyImmediately = &v 17073 return s 17074 } 17075 17076 // SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 17077 func (s *ModifyGlobalReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyGlobalReplicationGroupInput { 17078 s.AutomaticFailoverEnabled = &v 17079 return s 17080 } 17081 17082 // SetCacheNodeType sets the CacheNodeType field's value. 17083 func (s *ModifyGlobalReplicationGroupInput) SetCacheNodeType(v string) *ModifyGlobalReplicationGroupInput { 17084 s.CacheNodeType = &v 17085 return s 17086 } 17087 17088 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 17089 func (s *ModifyGlobalReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyGlobalReplicationGroupInput { 17090 s.CacheParameterGroupName = &v 17091 return s 17092 } 17093 17094 // SetEngineVersion sets the EngineVersion field's value. 17095 func (s *ModifyGlobalReplicationGroupInput) SetEngineVersion(v string) *ModifyGlobalReplicationGroupInput { 17096 s.EngineVersion = &v 17097 return s 17098 } 17099 17100 // SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 17101 func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *ModifyGlobalReplicationGroupInput { 17102 s.GlobalReplicationGroupDescription = &v 17103 return s 17104 } 17105 17106 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 17107 func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *ModifyGlobalReplicationGroupInput { 17108 s.GlobalReplicationGroupId = &v 17109 return s 17110 } 17111 17112 type ModifyGlobalReplicationGroupOutput struct { 17113 _ struct{} `type:"structure"` 17114 17115 // Consists of a primary cluster that accepts writes and an associated secondary 17116 // cluster that resides in a different Amazon region. The secondary cluster 17117 // accepts only reads. The primary cluster automatically replicates updates 17118 // to the secondary cluster. 17119 // 17120 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 17121 // datastore, which is what you use to associate a secondary cluster. 17122 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 17123 } 17124 17125 // String returns the string representation. 17126 // 17127 // API parameter values that are decorated as "sensitive" in the API will not 17128 // be included in the string output. The member name will be present, but the 17129 // value will be replaced with "sensitive". 17130 func (s ModifyGlobalReplicationGroupOutput) String() string { 17131 return awsutil.Prettify(s) 17132 } 17133 17134 // GoString returns the string representation. 17135 // 17136 // API parameter values that are decorated as "sensitive" in the API will not 17137 // be included in the string output. The member name will be present, but the 17138 // value will be replaced with "sensitive". 17139 func (s ModifyGlobalReplicationGroupOutput) GoString() string { 17140 return s.String() 17141 } 17142 17143 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 17144 func (s *ModifyGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *ModifyGlobalReplicationGroupOutput { 17145 s.GlobalReplicationGroup = v 17146 return s 17147 } 17148 17149 // Represents the input of a ModifyReplicationGroups operation. 17150 type ModifyReplicationGroupInput struct { 17151 _ struct{} `type:"structure"` 17152 17153 // If true, this parameter causes the modifications in this request and any 17154 // pending modifications to be applied, asynchronously and as soon as possible, 17155 // regardless of the PreferredMaintenanceWindow setting for the replication 17156 // group. 17157 // 17158 // If false, changes to the nodes in the replication group are applied on the 17159 // next maintenance reboot, or the next failure reboot, whichever occurs first. 17160 // 17161 // Valid values: true | false 17162 // 17163 // Default: false 17164 ApplyImmediately *bool `type:"boolean"` 17165 17166 // Reserved parameter. The password used to access a password protected server. 17167 // This parameter must be specified with the auth-token-update-strategy parameter. 17168 // Password constraints: 17169 // 17170 // * Must be only printable ASCII characters 17171 // 17172 // * Must be at least 16 characters and no more than 128 characters in length 17173 // 17174 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 17175 // 17176 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 17177 AuthToken *string `type:"string"` 17178 17179 // Specifies the strategy to use to update the AUTH token. This parameter must 17180 // be specified with the auth-token parameter. Possible values: 17181 // 17182 // * Rotate 17183 // 17184 // * Set 17185 // 17186 // For more information, see Authenticating Users with Redis AUTH (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 17187 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 17188 17189 // This parameter is currently disabled. 17190 AutoMinorVersionUpgrade *bool `type:"boolean"` 17191 17192 // Determines whether a read replica is automatically promoted to read/write 17193 // primary if the existing primary encounters a failure. 17194 // 17195 // Valid values: true | false 17196 AutomaticFailoverEnabled *bool `type:"boolean"` 17197 17198 // A valid cache node type that you want to scale this replication group to. 17199 CacheNodeType *string `type:"string"` 17200 17201 // The name of the cache parameter group to apply to all of the clusters in 17202 // this replication group. This change is asynchronously applied as soon as 17203 // possible for parameters when the ApplyImmediately parameter is specified 17204 // as true for this request. 17205 CacheParameterGroupName *string `type:"string"` 17206 17207 // A list of cache security group names to authorize for the clusters in this 17208 // replication group. This change is asynchronously applied as soon as possible. 17209 // 17210 // This parameter can be used only with replication group containing clusters 17211 // running outside of an Amazon Virtual Private Cloud (Amazon VPC). 17212 // 17213 // Constraints: Must contain no more than 255 alphanumeric characters. Must 17214 // not be Default. 17215 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 17216 17217 // The upgraded version of the cache engine to be run on the clusters in the 17218 // replication group. 17219 // 17220 // Important: You can upgrade to a newer engine version (see Selecting a Cache 17221 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 17222 // but you cannot downgrade to an earlier engine version. If you want to use 17223 // an earlier engine version, you must delete the existing replication group 17224 // and create it anew with the earlier engine version. 17225 EngineVersion *string `type:"string"` 17226 17227 // Specifies the destination, format and type of the logs. 17228 LogDeliveryConfigurations []*LogDeliveryConfigurationRequest `locationNameList:"LogDeliveryConfigurationRequest" type:"list"` 17229 17230 // A flag to indicate MultiAZ is enabled. 17231 MultiAZEnabled *bool `type:"boolean"` 17232 17233 // Deprecated. This parameter is not used. 17234 // 17235 // Deprecated: NodeGroupId has been deprecated 17236 NodeGroupId *string `deprecated:"true" type:"string"` 17237 17238 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 17239 // are sent. 17240 // 17241 // The Amazon SNS topic owner must be same as the replication group owner. 17242 NotificationTopicArn *string `type:"string"` 17243 17244 // The status of the Amazon SNS notification topic for the replication group. 17245 // Notifications are sent only if the status is active. 17246 // 17247 // Valid values: active | inactive 17248 NotificationTopicStatus *string `type:"string"` 17249 17250 // Specifies the weekly time range during which maintenance on the cluster is 17251 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 17252 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 17253 // 17254 // Valid values for ddd are: 17255 // 17256 // * sun 17257 // 17258 // * mon 17259 // 17260 // * tue 17261 // 17262 // * wed 17263 // 17264 // * thu 17265 // 17266 // * fri 17267 // 17268 // * sat 17269 // 17270 // Example: sun:23:00-mon:01:30 17271 PreferredMaintenanceWindow *string `type:"string"` 17272 17273 // For replication groups with a single primary, if this parameter is specified, 17274 // ElastiCache promotes the specified cluster in the specified replication group 17275 // to the primary role. The nodes of all other clusters in the replication group 17276 // are read replicas. 17277 PrimaryClusterId *string `type:"string"` 17278 17279 // Removes the user group associated with this replication group. 17280 RemoveUserGroups *bool `type:"boolean"` 17281 17282 // A description for the replication group. Maximum length is 255 characters. 17283 ReplicationGroupDescription *string `type:"string"` 17284 17285 // The identifier of the replication group to modify. 17286 // 17287 // ReplicationGroupId is a required field 17288 ReplicationGroupId *string `type:"string" required:"true"` 17289 17290 // Specifies the VPC Security Groups associated with the clusters in the replication 17291 // group. 17292 // 17293 // This parameter can be used only with replication group containing clusters 17294 // running in an Amazon Virtual Private Cloud (Amazon VPC). 17295 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 17296 17297 // The number of days for which ElastiCache retains automatic node group (shard) 17298 // snapshots before deleting them. For example, if you set SnapshotRetentionLimit 17299 // to 5, a snapshot that was taken today is retained for 5 days before being 17300 // deleted. 17301 // 17302 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 17303 // are turned off. 17304 SnapshotRetentionLimit *int64 `type:"integer"` 17305 17306 // The daily time range (in UTC) during which ElastiCache begins taking a daily 17307 // snapshot of the node group (shard) specified by SnapshottingClusterId. 17308 // 17309 // Example: 05:00-09:00 17310 // 17311 // If you do not specify this parameter, ElastiCache automatically chooses an 17312 // appropriate time range. 17313 SnapshotWindow *string `type:"string"` 17314 17315 // The cluster ID that is used as the daily snapshot source for the replication 17316 // group. This parameter cannot be set for Redis (cluster mode enabled) replication 17317 // groups. 17318 SnapshottingClusterId *string `type:"string"` 17319 17320 // The ID of the user group you are associating with the replication group. 17321 UserGroupIdsToAdd []*string `type:"list"` 17322 17323 // The ID of the user group to disassociate from the replication group, meaning 17324 // the users in the group no longer can access the replication group. 17325 UserGroupIdsToRemove []*string `type:"list"` 17326 } 17327 17328 // String returns the string representation. 17329 // 17330 // API parameter values that are decorated as "sensitive" in the API will not 17331 // be included in the string output. The member name will be present, but the 17332 // value will be replaced with "sensitive". 17333 func (s ModifyReplicationGroupInput) String() string { 17334 return awsutil.Prettify(s) 17335 } 17336 17337 // GoString returns the string representation. 17338 // 17339 // API parameter values that are decorated as "sensitive" in the API will not 17340 // be included in the string output. The member name will be present, but the 17341 // value will be replaced with "sensitive". 17342 func (s ModifyReplicationGroupInput) GoString() string { 17343 return s.String() 17344 } 17345 17346 // Validate inspects the fields of the type to determine if they are valid. 17347 func (s *ModifyReplicationGroupInput) Validate() error { 17348 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} 17349 if s.ReplicationGroupId == nil { 17350 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 17351 } 17352 17353 if invalidParams.Len() > 0 { 17354 return invalidParams 17355 } 17356 return nil 17357 } 17358 17359 // SetApplyImmediately sets the ApplyImmediately field's value. 17360 func (s *ModifyReplicationGroupInput) SetApplyImmediately(v bool) *ModifyReplicationGroupInput { 17361 s.ApplyImmediately = &v 17362 return s 17363 } 17364 17365 // SetAuthToken sets the AuthToken field's value. 17366 func (s *ModifyReplicationGroupInput) SetAuthToken(v string) *ModifyReplicationGroupInput { 17367 s.AuthToken = &v 17368 return s 17369 } 17370 17371 // SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 17372 func (s *ModifyReplicationGroupInput) SetAuthTokenUpdateStrategy(v string) *ModifyReplicationGroupInput { 17373 s.AuthTokenUpdateStrategy = &v 17374 return s 17375 } 17376 17377 // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 17378 func (s *ModifyReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationGroupInput { 17379 s.AutoMinorVersionUpgrade = &v 17380 return s 17381 } 17382 17383 // SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 17384 func (s *ModifyReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyReplicationGroupInput { 17385 s.AutomaticFailoverEnabled = &v 17386 return s 17387 } 17388 17389 // SetCacheNodeType sets the CacheNodeType field's value. 17390 func (s *ModifyReplicationGroupInput) SetCacheNodeType(v string) *ModifyReplicationGroupInput { 17391 s.CacheNodeType = &v 17392 return s 17393 } 17394 17395 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 17396 func (s *ModifyReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyReplicationGroupInput { 17397 s.CacheParameterGroupName = &v 17398 return s 17399 } 17400 17401 // SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 17402 func (s *ModifyReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *ModifyReplicationGroupInput { 17403 s.CacheSecurityGroupNames = v 17404 return s 17405 } 17406 17407 // SetEngineVersion sets the EngineVersion field's value. 17408 func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicationGroupInput { 17409 s.EngineVersion = &v 17410 return s 17411 } 17412 17413 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 17414 func (s *ModifyReplicationGroupInput) SetLogDeliveryConfigurations(v []*LogDeliveryConfigurationRequest) *ModifyReplicationGroupInput { 17415 s.LogDeliveryConfigurations = v 17416 return s 17417 } 17418 17419 // SetMultiAZEnabled sets the MultiAZEnabled field's value. 17420 func (s *ModifyReplicationGroupInput) SetMultiAZEnabled(v bool) *ModifyReplicationGroupInput { 17421 s.MultiAZEnabled = &v 17422 return s 17423 } 17424 17425 // SetNodeGroupId sets the NodeGroupId field's value. 17426 func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { 17427 s.NodeGroupId = &v 17428 return s 17429 } 17430 17431 // SetNotificationTopicArn sets the NotificationTopicArn field's value. 17432 func (s *ModifyReplicationGroupInput) SetNotificationTopicArn(v string) *ModifyReplicationGroupInput { 17433 s.NotificationTopicArn = &v 17434 return s 17435 } 17436 17437 // SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 17438 func (s *ModifyReplicationGroupInput) SetNotificationTopicStatus(v string) *ModifyReplicationGroupInput { 17439 s.NotificationTopicStatus = &v 17440 return s 17441 } 17442 17443 // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 17444 func (s *ModifyReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationGroupInput { 17445 s.PreferredMaintenanceWindow = &v 17446 return s 17447 } 17448 17449 // SetPrimaryClusterId sets the PrimaryClusterId field's value. 17450 func (s *ModifyReplicationGroupInput) SetPrimaryClusterId(v string) *ModifyReplicationGroupInput { 17451 s.PrimaryClusterId = &v 17452 return s 17453 } 17454 17455 // SetRemoveUserGroups sets the RemoveUserGroups field's value. 17456 func (s *ModifyReplicationGroupInput) SetRemoveUserGroups(v bool) *ModifyReplicationGroupInput { 17457 s.RemoveUserGroups = &v 17458 return s 17459 } 17460 17461 // SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 17462 func (s *ModifyReplicationGroupInput) SetReplicationGroupDescription(v string) *ModifyReplicationGroupInput { 17463 s.ReplicationGroupDescription = &v 17464 return s 17465 } 17466 17467 // SetReplicationGroupId sets the ReplicationGroupId field's value. 17468 func (s *ModifyReplicationGroupInput) SetReplicationGroupId(v string) *ModifyReplicationGroupInput { 17469 s.ReplicationGroupId = &v 17470 return s 17471 } 17472 17473 // SetSecurityGroupIds sets the SecurityGroupIds field's value. 17474 func (s *ModifyReplicationGroupInput) SetSecurityGroupIds(v []*string) *ModifyReplicationGroupInput { 17475 s.SecurityGroupIds = v 17476 return s 17477 } 17478 17479 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 17480 func (s *ModifyReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *ModifyReplicationGroupInput { 17481 s.SnapshotRetentionLimit = &v 17482 return s 17483 } 17484 17485 // SetSnapshotWindow sets the SnapshotWindow field's value. 17486 func (s *ModifyReplicationGroupInput) SetSnapshotWindow(v string) *ModifyReplicationGroupInput { 17487 s.SnapshotWindow = &v 17488 return s 17489 } 17490 17491 // SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 17492 func (s *ModifyReplicationGroupInput) SetSnapshottingClusterId(v string) *ModifyReplicationGroupInput { 17493 s.SnapshottingClusterId = &v 17494 return s 17495 } 17496 17497 // SetUserGroupIdsToAdd sets the UserGroupIdsToAdd field's value. 17498 func (s *ModifyReplicationGroupInput) SetUserGroupIdsToAdd(v []*string) *ModifyReplicationGroupInput { 17499 s.UserGroupIdsToAdd = v 17500 return s 17501 } 17502 17503 // SetUserGroupIdsToRemove sets the UserGroupIdsToRemove field's value. 17504 func (s *ModifyReplicationGroupInput) SetUserGroupIdsToRemove(v []*string) *ModifyReplicationGroupInput { 17505 s.UserGroupIdsToRemove = v 17506 return s 17507 } 17508 17509 type ModifyReplicationGroupOutput struct { 17510 _ struct{} `type:"structure"` 17511 17512 // Contains all of the attributes of a specific Redis replication group. 17513 ReplicationGroup *ReplicationGroup `type:"structure"` 17514 } 17515 17516 // String returns the string representation. 17517 // 17518 // API parameter values that are decorated as "sensitive" in the API will not 17519 // be included in the string output. The member name will be present, but the 17520 // value will be replaced with "sensitive". 17521 func (s ModifyReplicationGroupOutput) String() string { 17522 return awsutil.Prettify(s) 17523 } 17524 17525 // GoString returns the string representation. 17526 // 17527 // API parameter values that are decorated as "sensitive" in the API will not 17528 // be included in the string output. The member name will be present, but the 17529 // value will be replaced with "sensitive". 17530 func (s ModifyReplicationGroupOutput) GoString() string { 17531 return s.String() 17532 } 17533 17534 // SetReplicationGroup sets the ReplicationGroup field's value. 17535 func (s *ModifyReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupOutput { 17536 s.ReplicationGroup = v 17537 return s 17538 } 17539 17540 // Represents the input for a ModifyReplicationGroupShardConfiguration operation. 17541 type ModifyReplicationGroupShardConfigurationInput struct { 17542 _ struct{} `type:"structure"` 17543 17544 // Indicates that the shard reconfiguration process begins immediately. At present, 17545 // the only permitted value for this parameter is true. 17546 // 17547 // Value: true 17548 // 17549 // ApplyImmediately is a required field 17550 ApplyImmediately *bool `type:"boolean" required:"true"` 17551 17552 // The number of node groups (shards) that results from the modification of 17553 // the shard configuration. 17554 // 17555 // NodeGroupCount is a required field 17556 NodeGroupCount *int64 `type:"integer" required:"true"` 17557 17558 // If the value of NodeGroupCount is less than the current number of node groups 17559 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 17560 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 17561 // 17562 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 17563 // from the cluster. 17564 NodeGroupsToRemove []*string `locationNameList:"NodeGroupToRemove" type:"list"` 17565 17566 // If the value of NodeGroupCount is less than the current number of node groups 17567 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 17568 // NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. 17569 // 17570 // ElastiCache for Redis will attempt to remove all node groups except those 17571 // listed by NodeGroupsToRetain from the cluster. 17572 NodeGroupsToRetain []*string `locationNameList:"NodeGroupToRetain" type:"list"` 17573 17574 // The name of the Redis (cluster mode enabled) cluster (replication group) 17575 // on which the shards are to be configured. 17576 // 17577 // ReplicationGroupId is a required field 17578 ReplicationGroupId *string `type:"string" required:"true"` 17579 17580 // Specifies the preferred availability zones for each node group in the cluster. 17581 // If the value of NodeGroupCount is greater than the current number of node 17582 // groups (shards), you can use this parameter to specify the preferred availability 17583 // zones of the cluster's shards. If you omit this parameter ElastiCache selects 17584 // availability zones for you. 17585 // 17586 // You can specify this parameter only if the value of NodeGroupCount is greater 17587 // than the current number of node groups (shards). 17588 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list"` 17589 } 17590 17591 // String returns the string representation. 17592 // 17593 // API parameter values that are decorated as "sensitive" in the API will not 17594 // be included in the string output. The member name will be present, but the 17595 // value will be replaced with "sensitive". 17596 func (s ModifyReplicationGroupShardConfigurationInput) String() string { 17597 return awsutil.Prettify(s) 17598 } 17599 17600 // GoString returns the string representation. 17601 // 17602 // API parameter values that are decorated as "sensitive" in the API will not 17603 // be included in the string output. The member name will be present, but the 17604 // value will be replaced with "sensitive". 17605 func (s ModifyReplicationGroupShardConfigurationInput) GoString() string { 17606 return s.String() 17607 } 17608 17609 // Validate inspects the fields of the type to determine if they are valid. 17610 func (s *ModifyReplicationGroupShardConfigurationInput) Validate() error { 17611 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupShardConfigurationInput"} 17612 if s.ApplyImmediately == nil { 17613 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 17614 } 17615 if s.NodeGroupCount == nil { 17616 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 17617 } 17618 if s.ReplicationGroupId == nil { 17619 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 17620 } 17621 if s.ReshardingConfiguration != nil { 17622 for i, v := range s.ReshardingConfiguration { 17623 if v == nil { 17624 continue 17625 } 17626 if err := v.Validate(); err != nil { 17627 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 17628 } 17629 } 17630 } 17631 17632 if invalidParams.Len() > 0 { 17633 return invalidParams 17634 } 17635 return nil 17636 } 17637 17638 // SetApplyImmediately sets the ApplyImmediately field's value. 17639 func (s *ModifyReplicationGroupShardConfigurationInput) SetApplyImmediately(v bool) *ModifyReplicationGroupShardConfigurationInput { 17640 s.ApplyImmediately = &v 17641 return s 17642 } 17643 17644 // SetNodeGroupCount sets the NodeGroupCount field's value. 17645 func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupCount(v int64) *ModifyReplicationGroupShardConfigurationInput { 17646 s.NodeGroupCount = &v 17647 return s 17648 } 17649 17650 // SetNodeGroupsToRemove sets the NodeGroupsToRemove field's value. 17651 func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRemove(v []*string) *ModifyReplicationGroupShardConfigurationInput { 17652 s.NodeGroupsToRemove = v 17653 return s 17654 } 17655 17656 // SetNodeGroupsToRetain sets the NodeGroupsToRetain field's value. 17657 func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v []*string) *ModifyReplicationGroupShardConfigurationInput { 17658 s.NodeGroupsToRetain = v 17659 return s 17660 } 17661 17662 // SetReplicationGroupId sets the ReplicationGroupId field's value. 17663 func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { 17664 s.ReplicationGroupId = &v 17665 return s 17666 } 17667 17668 // SetReshardingConfiguration sets the ReshardingConfiguration field's value. 17669 func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { 17670 s.ReshardingConfiguration = v 17671 return s 17672 } 17673 17674 type ModifyReplicationGroupShardConfigurationOutput struct { 17675 _ struct{} `type:"structure"` 17676 17677 // Contains all of the attributes of a specific Redis replication group. 17678 ReplicationGroup *ReplicationGroup `type:"structure"` 17679 } 17680 17681 // String returns the string representation. 17682 // 17683 // API parameter values that are decorated as "sensitive" in the API will not 17684 // be included in the string output. The member name will be present, but the 17685 // value will be replaced with "sensitive". 17686 func (s ModifyReplicationGroupShardConfigurationOutput) String() string { 17687 return awsutil.Prettify(s) 17688 } 17689 17690 // GoString returns the string representation. 17691 // 17692 // API parameter values that are decorated as "sensitive" in the API will not 17693 // be included in the string output. The member name will be present, but the 17694 // value will be replaced with "sensitive". 17695 func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { 17696 return s.String() 17697 } 17698 17699 // SetReplicationGroup sets the ReplicationGroup field's value. 17700 func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { 17701 s.ReplicationGroup = v 17702 return s 17703 } 17704 17705 type ModifyUserGroupInput struct { 17706 _ struct{} `type:"structure"` 17707 17708 // The ID of the user group. 17709 // 17710 // UserGroupId is a required field 17711 UserGroupId *string `type:"string" required:"true"` 17712 17713 // The list of user IDs to add to the user group. 17714 UserIdsToAdd []*string `min:"1" type:"list"` 17715 17716 // The list of user IDs to remove from the user group. 17717 UserIdsToRemove []*string `min:"1" type:"list"` 17718 } 17719 17720 // String returns the string representation. 17721 // 17722 // API parameter values that are decorated as "sensitive" in the API will not 17723 // be included in the string output. The member name will be present, but the 17724 // value will be replaced with "sensitive". 17725 func (s ModifyUserGroupInput) String() string { 17726 return awsutil.Prettify(s) 17727 } 17728 17729 // GoString returns the string representation. 17730 // 17731 // API parameter values that are decorated as "sensitive" in the API will not 17732 // be included in the string output. The member name will be present, but the 17733 // value will be replaced with "sensitive". 17734 func (s ModifyUserGroupInput) GoString() string { 17735 return s.String() 17736 } 17737 17738 // Validate inspects the fields of the type to determine if they are valid. 17739 func (s *ModifyUserGroupInput) Validate() error { 17740 invalidParams := request.ErrInvalidParams{Context: "ModifyUserGroupInput"} 17741 if s.UserGroupId == nil { 17742 invalidParams.Add(request.NewErrParamRequired("UserGroupId")) 17743 } 17744 if s.UserIdsToAdd != nil && len(s.UserIdsToAdd) < 1 { 17745 invalidParams.Add(request.NewErrParamMinLen("UserIdsToAdd", 1)) 17746 } 17747 if s.UserIdsToRemove != nil && len(s.UserIdsToRemove) < 1 { 17748 invalidParams.Add(request.NewErrParamMinLen("UserIdsToRemove", 1)) 17749 } 17750 17751 if invalidParams.Len() > 0 { 17752 return invalidParams 17753 } 17754 return nil 17755 } 17756 17757 // SetUserGroupId sets the UserGroupId field's value. 17758 func (s *ModifyUserGroupInput) SetUserGroupId(v string) *ModifyUserGroupInput { 17759 s.UserGroupId = &v 17760 return s 17761 } 17762 17763 // SetUserIdsToAdd sets the UserIdsToAdd field's value. 17764 func (s *ModifyUserGroupInput) SetUserIdsToAdd(v []*string) *ModifyUserGroupInput { 17765 s.UserIdsToAdd = v 17766 return s 17767 } 17768 17769 // SetUserIdsToRemove sets the UserIdsToRemove field's value. 17770 func (s *ModifyUserGroupInput) SetUserIdsToRemove(v []*string) *ModifyUserGroupInput { 17771 s.UserIdsToRemove = v 17772 return s 17773 } 17774 17775 type ModifyUserGroupOutput struct { 17776 _ struct{} `type:"structure"` 17777 17778 // The Amazon Resource Name (ARN) of the user group. 17779 ARN *string `type:"string"` 17780 17781 // The current supported value is Redis. 17782 Engine *string `type:"string"` 17783 17784 // A list of updates being applied to the user group. 17785 PendingChanges *UserGroupPendingChanges `type:"structure"` 17786 17787 // A list of replication groups that the user group can access. 17788 ReplicationGroups []*string `type:"list"` 17789 17790 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 17791 Status *string `type:"string"` 17792 17793 // The ID of the user group. 17794 UserGroupId *string `type:"string"` 17795 17796 // The list of user IDs that belong to the user group. 17797 UserIds []*string `type:"list"` 17798 } 17799 17800 // String returns the string representation. 17801 // 17802 // API parameter values that are decorated as "sensitive" in the API will not 17803 // be included in the string output. The member name will be present, but the 17804 // value will be replaced with "sensitive". 17805 func (s ModifyUserGroupOutput) String() string { 17806 return awsutil.Prettify(s) 17807 } 17808 17809 // GoString returns the string representation. 17810 // 17811 // API parameter values that are decorated as "sensitive" in the API will not 17812 // be included in the string output. The member name will be present, but the 17813 // value will be replaced with "sensitive". 17814 func (s ModifyUserGroupOutput) GoString() string { 17815 return s.String() 17816 } 17817 17818 // SetARN sets the ARN field's value. 17819 func (s *ModifyUserGroupOutput) SetARN(v string) *ModifyUserGroupOutput { 17820 s.ARN = &v 17821 return s 17822 } 17823 17824 // SetEngine sets the Engine field's value. 17825 func (s *ModifyUserGroupOutput) SetEngine(v string) *ModifyUserGroupOutput { 17826 s.Engine = &v 17827 return s 17828 } 17829 17830 // SetPendingChanges sets the PendingChanges field's value. 17831 func (s *ModifyUserGroupOutput) SetPendingChanges(v *UserGroupPendingChanges) *ModifyUserGroupOutput { 17832 s.PendingChanges = v 17833 return s 17834 } 17835 17836 // SetReplicationGroups sets the ReplicationGroups field's value. 17837 func (s *ModifyUserGroupOutput) SetReplicationGroups(v []*string) *ModifyUserGroupOutput { 17838 s.ReplicationGroups = v 17839 return s 17840 } 17841 17842 // SetStatus sets the Status field's value. 17843 func (s *ModifyUserGroupOutput) SetStatus(v string) *ModifyUserGroupOutput { 17844 s.Status = &v 17845 return s 17846 } 17847 17848 // SetUserGroupId sets the UserGroupId field's value. 17849 func (s *ModifyUserGroupOutput) SetUserGroupId(v string) *ModifyUserGroupOutput { 17850 s.UserGroupId = &v 17851 return s 17852 } 17853 17854 // SetUserIds sets the UserIds field's value. 17855 func (s *ModifyUserGroupOutput) SetUserIds(v []*string) *ModifyUserGroupOutput { 17856 s.UserIds = v 17857 return s 17858 } 17859 17860 type ModifyUserInput struct { 17861 _ struct{} `type:"structure"` 17862 17863 // Access permissions string used for this user. 17864 AccessString *string `type:"string"` 17865 17866 // Adds additional user permissions to the access string. 17867 AppendAccessString *string `type:"string"` 17868 17869 // Indicates no password is required for the user. 17870 NoPasswordRequired *bool `type:"boolean"` 17871 17872 // The passwords belonging to the user. You are allowed up to two. 17873 Passwords []*string `min:"1" type:"list"` 17874 17875 // The ID of the user. 17876 // 17877 // UserId is a required field 17878 UserId *string `min:"1" type:"string" required:"true"` 17879 } 17880 17881 // String returns the string representation. 17882 // 17883 // API parameter values that are decorated as "sensitive" in the API will not 17884 // be included in the string output. The member name will be present, but the 17885 // value will be replaced with "sensitive". 17886 func (s ModifyUserInput) String() string { 17887 return awsutil.Prettify(s) 17888 } 17889 17890 // GoString returns the string representation. 17891 // 17892 // API parameter values that are decorated as "sensitive" in the API will not 17893 // be included in the string output. The member name will be present, but the 17894 // value will be replaced with "sensitive". 17895 func (s ModifyUserInput) GoString() string { 17896 return s.String() 17897 } 17898 17899 // Validate inspects the fields of the type to determine if they are valid. 17900 func (s *ModifyUserInput) Validate() error { 17901 invalidParams := request.ErrInvalidParams{Context: "ModifyUserInput"} 17902 if s.Passwords != nil && len(s.Passwords) < 1 { 17903 invalidParams.Add(request.NewErrParamMinLen("Passwords", 1)) 17904 } 17905 if s.UserId == nil { 17906 invalidParams.Add(request.NewErrParamRequired("UserId")) 17907 } 17908 if s.UserId != nil && len(*s.UserId) < 1 { 17909 invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) 17910 } 17911 17912 if invalidParams.Len() > 0 { 17913 return invalidParams 17914 } 17915 return nil 17916 } 17917 17918 // SetAccessString sets the AccessString field's value. 17919 func (s *ModifyUserInput) SetAccessString(v string) *ModifyUserInput { 17920 s.AccessString = &v 17921 return s 17922 } 17923 17924 // SetAppendAccessString sets the AppendAccessString field's value. 17925 func (s *ModifyUserInput) SetAppendAccessString(v string) *ModifyUserInput { 17926 s.AppendAccessString = &v 17927 return s 17928 } 17929 17930 // SetNoPasswordRequired sets the NoPasswordRequired field's value. 17931 func (s *ModifyUserInput) SetNoPasswordRequired(v bool) *ModifyUserInput { 17932 s.NoPasswordRequired = &v 17933 return s 17934 } 17935 17936 // SetPasswords sets the Passwords field's value. 17937 func (s *ModifyUserInput) SetPasswords(v []*string) *ModifyUserInput { 17938 s.Passwords = v 17939 return s 17940 } 17941 17942 // SetUserId sets the UserId field's value. 17943 func (s *ModifyUserInput) SetUserId(v string) *ModifyUserInput { 17944 s.UserId = &v 17945 return s 17946 } 17947 17948 type ModifyUserOutput struct { 17949 _ struct{} `type:"structure"` 17950 17951 // The Amazon Resource Name (ARN) of the user. 17952 ARN *string `type:"string"` 17953 17954 // Access permissions string used for this user. 17955 AccessString *string `type:"string"` 17956 17957 // Denotes whether the user requires a password to authenticate. 17958 Authentication *Authentication `type:"structure"` 17959 17960 // The current supported value is Redis. 17961 Engine *string `type:"string"` 17962 17963 // Indicates the user status. Can be "active", "modifying" or "deleting". 17964 Status *string `type:"string"` 17965 17966 // Returns a list of the user group IDs the user belongs to. 17967 UserGroupIds []*string `type:"list"` 17968 17969 // The ID of the user. 17970 UserId *string `type:"string"` 17971 17972 // The username of the user. 17973 UserName *string `type:"string"` 17974 } 17975 17976 // String returns the string representation. 17977 // 17978 // API parameter values that are decorated as "sensitive" in the API will not 17979 // be included in the string output. The member name will be present, but the 17980 // value will be replaced with "sensitive". 17981 func (s ModifyUserOutput) String() string { 17982 return awsutil.Prettify(s) 17983 } 17984 17985 // GoString returns the string representation. 17986 // 17987 // API parameter values that are decorated as "sensitive" in the API will not 17988 // be included in the string output. The member name will be present, but the 17989 // value will be replaced with "sensitive". 17990 func (s ModifyUserOutput) GoString() string { 17991 return s.String() 17992 } 17993 17994 // SetARN sets the ARN field's value. 17995 func (s *ModifyUserOutput) SetARN(v string) *ModifyUserOutput { 17996 s.ARN = &v 17997 return s 17998 } 17999 18000 // SetAccessString sets the AccessString field's value. 18001 func (s *ModifyUserOutput) SetAccessString(v string) *ModifyUserOutput { 18002 s.AccessString = &v 18003 return s 18004 } 18005 18006 // SetAuthentication sets the Authentication field's value. 18007 func (s *ModifyUserOutput) SetAuthentication(v *Authentication) *ModifyUserOutput { 18008 s.Authentication = v 18009 return s 18010 } 18011 18012 // SetEngine sets the Engine field's value. 18013 func (s *ModifyUserOutput) SetEngine(v string) *ModifyUserOutput { 18014 s.Engine = &v 18015 return s 18016 } 18017 18018 // SetStatus sets the Status field's value. 18019 func (s *ModifyUserOutput) SetStatus(v string) *ModifyUserOutput { 18020 s.Status = &v 18021 return s 18022 } 18023 18024 // SetUserGroupIds sets the UserGroupIds field's value. 18025 func (s *ModifyUserOutput) SetUserGroupIds(v []*string) *ModifyUserOutput { 18026 s.UserGroupIds = v 18027 return s 18028 } 18029 18030 // SetUserId sets the UserId field's value. 18031 func (s *ModifyUserOutput) SetUserId(v string) *ModifyUserOutput { 18032 s.UserId = &v 18033 return s 18034 } 18035 18036 // SetUserName sets the UserName field's value. 18037 func (s *ModifyUserOutput) SetUserName(v string) *ModifyUserOutput { 18038 s.UserName = &v 18039 return s 18040 } 18041 18042 // Represents a collection of cache nodes in a replication group. One node in 18043 // the node group is the read/write primary node. All the other nodes are read-only 18044 // Replica nodes. 18045 type NodeGroup struct { 18046 _ struct{} `type:"structure"` 18047 18048 // The identifier for the node group (shard). A Redis (cluster mode disabled) 18049 // replication group contains only 1 node group; therefore, the node group ID 18050 // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 18051 // node groups numbered 0001 to 0090. Optionally, the user can provide the id 18052 // for a node group. 18053 NodeGroupId *string `type:"string"` 18054 18055 // A list containing information about individual nodes within the node group 18056 // (shard). 18057 NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` 18058 18059 // The endpoint of the primary node in this node group (shard). 18060 PrimaryEndpoint *Endpoint `type:"structure"` 18061 18062 // The endpoint of the replica nodes in this node group (shard). 18063 ReaderEndpoint *Endpoint `type:"structure"` 18064 18065 // The keyspace for this node group (shard). 18066 Slots *string `type:"string"` 18067 18068 // The current state of this replication group - creating, available, modifying, 18069 // deleting. 18070 Status *string `type:"string"` 18071 } 18072 18073 // String returns the string representation. 18074 // 18075 // API parameter values that are decorated as "sensitive" in the API will not 18076 // be included in the string output. The member name will be present, but the 18077 // value will be replaced with "sensitive". 18078 func (s NodeGroup) String() string { 18079 return awsutil.Prettify(s) 18080 } 18081 18082 // GoString returns the string representation. 18083 // 18084 // API parameter values that are decorated as "sensitive" in the API will not 18085 // be included in the string output. The member name will be present, but the 18086 // value will be replaced with "sensitive". 18087 func (s NodeGroup) GoString() string { 18088 return s.String() 18089 } 18090 18091 // SetNodeGroupId sets the NodeGroupId field's value. 18092 func (s *NodeGroup) SetNodeGroupId(v string) *NodeGroup { 18093 s.NodeGroupId = &v 18094 return s 18095 } 18096 18097 // SetNodeGroupMembers sets the NodeGroupMembers field's value. 18098 func (s *NodeGroup) SetNodeGroupMembers(v []*NodeGroupMember) *NodeGroup { 18099 s.NodeGroupMembers = v 18100 return s 18101 } 18102 18103 // SetPrimaryEndpoint sets the PrimaryEndpoint field's value. 18104 func (s *NodeGroup) SetPrimaryEndpoint(v *Endpoint) *NodeGroup { 18105 s.PrimaryEndpoint = v 18106 return s 18107 } 18108 18109 // SetReaderEndpoint sets the ReaderEndpoint field's value. 18110 func (s *NodeGroup) SetReaderEndpoint(v *Endpoint) *NodeGroup { 18111 s.ReaderEndpoint = v 18112 return s 18113 } 18114 18115 // SetSlots sets the Slots field's value. 18116 func (s *NodeGroup) SetSlots(v string) *NodeGroup { 18117 s.Slots = &v 18118 return s 18119 } 18120 18121 // SetStatus sets the Status field's value. 18122 func (s *NodeGroup) SetStatus(v string) *NodeGroup { 18123 s.Status = &v 18124 return s 18125 } 18126 18127 // Node group (shard) configuration options. Each node group (shard) configuration 18128 // has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, 18129 // ReplicaCount. 18130 type NodeGroupConfiguration struct { 18131 _ struct{} `type:"structure"` 18132 18133 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 18134 // for the node group these configuration values apply to. 18135 NodeGroupId *string `min:"1" type:"string"` 18136 18137 // The Availability Zone where the primary node of this node group (shard) is 18138 // launched. 18139 PrimaryAvailabilityZone *string `type:"string"` 18140 18141 // The outpost ARN of the primary node. 18142 PrimaryOutpostArn *string `type:"string"` 18143 18144 // A list of Availability Zones to be used for the read replicas. The number 18145 // of Availability Zones in this list must match the value of ReplicaCount or 18146 // ReplicasPerNodeGroup if not specified. 18147 ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 18148 18149 // The number of read replica nodes in this node group (shard). 18150 ReplicaCount *int64 `type:"integer"` 18151 18152 // The outpost ARN of the node replicas. 18153 ReplicaOutpostArns []*string `locationNameList:"OutpostArn" type:"list"` 18154 18155 // A string that specifies the keyspace for a particular node group. Keyspaces 18156 // range from 0 to 16,383. The string is in the format startkey-endkey. 18157 // 18158 // Example: "0-3999" 18159 Slots *string `type:"string"` 18160 } 18161 18162 // String returns the string representation. 18163 // 18164 // API parameter values that are decorated as "sensitive" in the API will not 18165 // be included in the string output. The member name will be present, but the 18166 // value will be replaced with "sensitive". 18167 func (s NodeGroupConfiguration) String() string { 18168 return awsutil.Prettify(s) 18169 } 18170 18171 // GoString returns the string representation. 18172 // 18173 // API parameter values that are decorated as "sensitive" in the API will not 18174 // be included in the string output. The member name will be present, but the 18175 // value will be replaced with "sensitive". 18176 func (s NodeGroupConfiguration) GoString() string { 18177 return s.String() 18178 } 18179 18180 // Validate inspects the fields of the type to determine if they are valid. 18181 func (s *NodeGroupConfiguration) Validate() error { 18182 invalidParams := request.ErrInvalidParams{Context: "NodeGroupConfiguration"} 18183 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 18184 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 18185 } 18186 18187 if invalidParams.Len() > 0 { 18188 return invalidParams 18189 } 18190 return nil 18191 } 18192 18193 // SetNodeGroupId sets the NodeGroupId field's value. 18194 func (s *NodeGroupConfiguration) SetNodeGroupId(v string) *NodeGroupConfiguration { 18195 s.NodeGroupId = &v 18196 return s 18197 } 18198 18199 // SetPrimaryAvailabilityZone sets the PrimaryAvailabilityZone field's value. 18200 func (s *NodeGroupConfiguration) SetPrimaryAvailabilityZone(v string) *NodeGroupConfiguration { 18201 s.PrimaryAvailabilityZone = &v 18202 return s 18203 } 18204 18205 // SetPrimaryOutpostArn sets the PrimaryOutpostArn field's value. 18206 func (s *NodeGroupConfiguration) SetPrimaryOutpostArn(v string) *NodeGroupConfiguration { 18207 s.PrimaryOutpostArn = &v 18208 return s 18209 } 18210 18211 // SetReplicaAvailabilityZones sets the ReplicaAvailabilityZones field's value. 18212 func (s *NodeGroupConfiguration) SetReplicaAvailabilityZones(v []*string) *NodeGroupConfiguration { 18213 s.ReplicaAvailabilityZones = v 18214 return s 18215 } 18216 18217 // SetReplicaCount sets the ReplicaCount field's value. 18218 func (s *NodeGroupConfiguration) SetReplicaCount(v int64) *NodeGroupConfiguration { 18219 s.ReplicaCount = &v 18220 return s 18221 } 18222 18223 // SetReplicaOutpostArns sets the ReplicaOutpostArns field's value. 18224 func (s *NodeGroupConfiguration) SetReplicaOutpostArns(v []*string) *NodeGroupConfiguration { 18225 s.ReplicaOutpostArns = v 18226 return s 18227 } 18228 18229 // SetSlots sets the Slots field's value. 18230 func (s *NodeGroupConfiguration) SetSlots(v string) *NodeGroupConfiguration { 18231 s.Slots = &v 18232 return s 18233 } 18234 18235 // Represents a single node within a node group (shard). 18236 type NodeGroupMember struct { 18237 _ struct{} `type:"structure"` 18238 18239 // The ID of the cluster to which the node belongs. 18240 CacheClusterId *string `type:"string"` 18241 18242 // The ID of the node within its cluster. A node ID is a numeric identifier 18243 // (0001, 0002, etc.). 18244 CacheNodeId *string `type:"string"` 18245 18246 // The role that is currently assigned to the node - primary or replica. This 18247 // member is only applicable for Redis (cluster mode disabled) replication groups. 18248 CurrentRole *string `type:"string"` 18249 18250 // The name of the Availability Zone in which the node is located. 18251 PreferredAvailabilityZone *string `type:"string"` 18252 18253 // The outpost ARN of the node group member. 18254 PreferredOutpostArn *string `type:"string"` 18255 18256 // The information required for client programs to connect to a node for read 18257 // operations. The read endpoint is only applicable on Redis (cluster mode disabled) 18258 // clusters. 18259 ReadEndpoint *Endpoint `type:"structure"` 18260 } 18261 18262 // String returns the string representation. 18263 // 18264 // API parameter values that are decorated as "sensitive" in the API will not 18265 // be included in the string output. The member name will be present, but the 18266 // value will be replaced with "sensitive". 18267 func (s NodeGroupMember) String() string { 18268 return awsutil.Prettify(s) 18269 } 18270 18271 // GoString returns the string representation. 18272 // 18273 // API parameter values that are decorated as "sensitive" in the API will not 18274 // be included in the string output. The member name will be present, but the 18275 // value will be replaced with "sensitive". 18276 func (s NodeGroupMember) GoString() string { 18277 return s.String() 18278 } 18279 18280 // SetCacheClusterId sets the CacheClusterId field's value. 18281 func (s *NodeGroupMember) SetCacheClusterId(v string) *NodeGroupMember { 18282 s.CacheClusterId = &v 18283 return s 18284 } 18285 18286 // SetCacheNodeId sets the CacheNodeId field's value. 18287 func (s *NodeGroupMember) SetCacheNodeId(v string) *NodeGroupMember { 18288 s.CacheNodeId = &v 18289 return s 18290 } 18291 18292 // SetCurrentRole sets the CurrentRole field's value. 18293 func (s *NodeGroupMember) SetCurrentRole(v string) *NodeGroupMember { 18294 s.CurrentRole = &v 18295 return s 18296 } 18297 18298 // SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 18299 func (s *NodeGroupMember) SetPreferredAvailabilityZone(v string) *NodeGroupMember { 18300 s.PreferredAvailabilityZone = &v 18301 return s 18302 } 18303 18304 // SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 18305 func (s *NodeGroupMember) SetPreferredOutpostArn(v string) *NodeGroupMember { 18306 s.PreferredOutpostArn = &v 18307 return s 18308 } 18309 18310 // SetReadEndpoint sets the ReadEndpoint field's value. 18311 func (s *NodeGroupMember) SetReadEndpoint(v *Endpoint) *NodeGroupMember { 18312 s.ReadEndpoint = v 18313 return s 18314 } 18315 18316 // The status of the service update on the node group member 18317 type NodeGroupMemberUpdateStatus struct { 18318 _ struct{} `type:"structure"` 18319 18320 // The cache cluster ID 18321 CacheClusterId *string `type:"string"` 18322 18323 // The node ID of the cache cluster 18324 CacheNodeId *string `type:"string"` 18325 18326 // The deletion date of the node 18327 NodeDeletionDate *time.Time `type:"timestamp"` 18328 18329 // The end date of the update for a node 18330 NodeUpdateEndDate *time.Time `type:"timestamp"` 18331 18332 // Reflects whether the update was initiated by the customer or automatically 18333 // applied 18334 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 18335 18336 // The date when the update is triggered 18337 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 18338 18339 // The start date of the update for a node 18340 NodeUpdateStartDate *time.Time `type:"timestamp"` 18341 18342 // The update status of the node 18343 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 18344 18345 // The date when the NodeUpdateStatus was last modified 18346 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 18347 } 18348 18349 // String returns the string representation. 18350 // 18351 // API parameter values that are decorated as "sensitive" in the API will not 18352 // be included in the string output. The member name will be present, but the 18353 // value will be replaced with "sensitive". 18354 func (s NodeGroupMemberUpdateStatus) String() string { 18355 return awsutil.Prettify(s) 18356 } 18357 18358 // GoString returns the string representation. 18359 // 18360 // API parameter values that are decorated as "sensitive" in the API will not 18361 // be included in the string output. The member name will be present, but the 18362 // value will be replaced with "sensitive". 18363 func (s NodeGroupMemberUpdateStatus) GoString() string { 18364 return s.String() 18365 } 18366 18367 // SetCacheClusterId sets the CacheClusterId field's value. 18368 func (s *NodeGroupMemberUpdateStatus) SetCacheClusterId(v string) *NodeGroupMemberUpdateStatus { 18369 s.CacheClusterId = &v 18370 return s 18371 } 18372 18373 // SetCacheNodeId sets the CacheNodeId field's value. 18374 func (s *NodeGroupMemberUpdateStatus) SetCacheNodeId(v string) *NodeGroupMemberUpdateStatus { 18375 s.CacheNodeId = &v 18376 return s 18377 } 18378 18379 // SetNodeDeletionDate sets the NodeDeletionDate field's value. 18380 func (s *NodeGroupMemberUpdateStatus) SetNodeDeletionDate(v time.Time) *NodeGroupMemberUpdateStatus { 18381 s.NodeDeletionDate = &v 18382 return s 18383 } 18384 18385 // SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 18386 func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateEndDate(v time.Time) *NodeGroupMemberUpdateStatus { 18387 s.NodeUpdateEndDate = &v 18388 return s 18389 } 18390 18391 // SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 18392 func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedBy(v string) *NodeGroupMemberUpdateStatus { 18393 s.NodeUpdateInitiatedBy = &v 18394 return s 18395 } 18396 18397 // SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 18398 func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *NodeGroupMemberUpdateStatus { 18399 s.NodeUpdateInitiatedDate = &v 18400 return s 18401 } 18402 18403 // SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 18404 func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStartDate(v time.Time) *NodeGroupMemberUpdateStatus { 18405 s.NodeUpdateStartDate = &v 18406 return s 18407 } 18408 18409 // SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 18410 func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatus(v string) *NodeGroupMemberUpdateStatus { 18411 s.NodeUpdateStatus = &v 18412 return s 18413 } 18414 18415 // SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 18416 func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *NodeGroupMemberUpdateStatus { 18417 s.NodeUpdateStatusModifiedDate = &v 18418 return s 18419 } 18420 18421 // The status of the service update on the node group 18422 type NodeGroupUpdateStatus struct { 18423 _ struct{} `type:"structure"` 18424 18425 // The ID of the node group 18426 NodeGroupId *string `type:"string"` 18427 18428 // The status of the service update on the node group member 18429 NodeGroupMemberUpdateStatus []*NodeGroupMemberUpdateStatus `locationNameList:"NodeGroupMemberUpdateStatus" type:"list"` 18430 } 18431 18432 // String returns the string representation. 18433 // 18434 // API parameter values that are decorated as "sensitive" in the API will not 18435 // be included in the string output. The member name will be present, but the 18436 // value will be replaced with "sensitive". 18437 func (s NodeGroupUpdateStatus) String() string { 18438 return awsutil.Prettify(s) 18439 } 18440 18441 // GoString returns the string representation. 18442 // 18443 // API parameter values that are decorated as "sensitive" in the API will not 18444 // be included in the string output. The member name will be present, but the 18445 // value will be replaced with "sensitive". 18446 func (s NodeGroupUpdateStatus) GoString() string { 18447 return s.String() 18448 } 18449 18450 // SetNodeGroupId sets the NodeGroupId field's value. 18451 func (s *NodeGroupUpdateStatus) SetNodeGroupId(v string) *NodeGroupUpdateStatus { 18452 s.NodeGroupId = &v 18453 return s 18454 } 18455 18456 // SetNodeGroupMemberUpdateStatus sets the NodeGroupMemberUpdateStatus field's value. 18457 func (s *NodeGroupUpdateStatus) SetNodeGroupMemberUpdateStatus(v []*NodeGroupMemberUpdateStatus) *NodeGroupUpdateStatus { 18458 s.NodeGroupMemberUpdateStatus = v 18459 return s 18460 } 18461 18462 // Represents an individual cache node in a snapshot of a cluster. 18463 type NodeSnapshot struct { 18464 _ struct{} `type:"structure"` 18465 18466 // A unique identifier for the source cluster. 18467 CacheClusterId *string `type:"string"` 18468 18469 // The date and time when the cache node was created in the source cluster. 18470 CacheNodeCreateTime *time.Time `type:"timestamp"` 18471 18472 // The cache node identifier for the node in the source cluster. 18473 CacheNodeId *string `type:"string"` 18474 18475 // The size of the cache on the source cache node. 18476 CacheSize *string `type:"string"` 18477 18478 // The configuration for the source node group (shard). 18479 NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` 18480 18481 // A unique identifier for the source node group (shard). 18482 NodeGroupId *string `type:"string"` 18483 18484 // The date and time when the source node's metadata and cache data set was 18485 // obtained for the snapshot. 18486 SnapshotCreateTime *time.Time `type:"timestamp"` 18487 } 18488 18489 // String returns the string representation. 18490 // 18491 // API parameter values that are decorated as "sensitive" in the API will not 18492 // be included in the string output. The member name will be present, but the 18493 // value will be replaced with "sensitive". 18494 func (s NodeSnapshot) String() string { 18495 return awsutil.Prettify(s) 18496 } 18497 18498 // GoString returns the string representation. 18499 // 18500 // API parameter values that are decorated as "sensitive" in the API will not 18501 // be included in the string output. The member name will be present, but the 18502 // value will be replaced with "sensitive". 18503 func (s NodeSnapshot) GoString() string { 18504 return s.String() 18505 } 18506 18507 // SetCacheClusterId sets the CacheClusterId field's value. 18508 func (s *NodeSnapshot) SetCacheClusterId(v string) *NodeSnapshot { 18509 s.CacheClusterId = &v 18510 return s 18511 } 18512 18513 // SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 18514 func (s *NodeSnapshot) SetCacheNodeCreateTime(v time.Time) *NodeSnapshot { 18515 s.CacheNodeCreateTime = &v 18516 return s 18517 } 18518 18519 // SetCacheNodeId sets the CacheNodeId field's value. 18520 func (s *NodeSnapshot) SetCacheNodeId(v string) *NodeSnapshot { 18521 s.CacheNodeId = &v 18522 return s 18523 } 18524 18525 // SetCacheSize sets the CacheSize field's value. 18526 func (s *NodeSnapshot) SetCacheSize(v string) *NodeSnapshot { 18527 s.CacheSize = &v 18528 return s 18529 } 18530 18531 // SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 18532 func (s *NodeSnapshot) SetNodeGroupConfiguration(v *NodeGroupConfiguration) *NodeSnapshot { 18533 s.NodeGroupConfiguration = v 18534 return s 18535 } 18536 18537 // SetNodeGroupId sets the NodeGroupId field's value. 18538 func (s *NodeSnapshot) SetNodeGroupId(v string) *NodeSnapshot { 18539 s.NodeGroupId = &v 18540 return s 18541 } 18542 18543 // SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 18544 func (s *NodeSnapshot) SetSnapshotCreateTime(v time.Time) *NodeSnapshot { 18545 s.SnapshotCreateTime = &v 18546 return s 18547 } 18548 18549 // Describes a notification topic and its status. Notification topics are used 18550 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 18551 // Service (SNS). 18552 type NotificationConfiguration struct { 18553 _ struct{} `type:"structure"` 18554 18555 // The Amazon Resource Name (ARN) that identifies the topic. 18556 TopicArn *string `type:"string"` 18557 18558 // The current state of the topic. 18559 TopicStatus *string `type:"string"` 18560 } 18561 18562 // String returns the string representation. 18563 // 18564 // API parameter values that are decorated as "sensitive" in the API will not 18565 // be included in the string output. The member name will be present, but the 18566 // value will be replaced with "sensitive". 18567 func (s NotificationConfiguration) String() string { 18568 return awsutil.Prettify(s) 18569 } 18570 18571 // GoString returns the string representation. 18572 // 18573 // API parameter values that are decorated as "sensitive" in the API will not 18574 // be included in the string output. The member name will be present, but the 18575 // value will be replaced with "sensitive". 18576 func (s NotificationConfiguration) GoString() string { 18577 return s.String() 18578 } 18579 18580 // SetTopicArn sets the TopicArn field's value. 18581 func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { 18582 s.TopicArn = &v 18583 return s 18584 } 18585 18586 // SetTopicStatus sets the TopicStatus field's value. 18587 func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { 18588 s.TopicStatus = &v 18589 return s 18590 } 18591 18592 // Describes an individual setting that controls some aspect of ElastiCache 18593 // behavior. 18594 type Parameter struct { 18595 _ struct{} `type:"structure"` 18596 18597 // The valid range of values for the parameter. 18598 AllowedValues *string `type:"string"` 18599 18600 // Indicates whether a change to the parameter is applied immediately or requires 18601 // a reboot for the change to be applied. You can force a reboot or wait until 18602 // the next maintenance window's reboot. For more information, see Rebooting 18603 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 18604 ChangeType *string `type:"string" enum:"ChangeType"` 18605 18606 // The valid data type for the parameter. 18607 DataType *string `type:"string"` 18608 18609 // A description of the parameter. 18610 Description *string `type:"string"` 18611 18612 // Indicates whether (true) or not (false) the parameter can be modified. Some 18613 // parameters have security or operational implications that prevent them from 18614 // being changed. 18615 IsModifiable *bool `type:"boolean"` 18616 18617 // The earliest cache engine version to which the parameter can apply. 18618 MinimumEngineVersion *string `type:"string"` 18619 18620 // The name of the parameter. 18621 ParameterName *string `type:"string"` 18622 18623 // The value of the parameter. 18624 ParameterValue *string `type:"string"` 18625 18626 // The source of the parameter. 18627 Source *string `type:"string"` 18628 } 18629 18630 // String returns the string representation. 18631 // 18632 // API parameter values that are decorated as "sensitive" in the API will not 18633 // be included in the string output. The member name will be present, but the 18634 // value will be replaced with "sensitive". 18635 func (s Parameter) String() string { 18636 return awsutil.Prettify(s) 18637 } 18638 18639 // GoString returns the string representation. 18640 // 18641 // API parameter values that are decorated as "sensitive" in the API will not 18642 // be included in the string output. The member name will be present, but the 18643 // value will be replaced with "sensitive". 18644 func (s Parameter) GoString() string { 18645 return s.String() 18646 } 18647 18648 // SetAllowedValues sets the AllowedValues field's value. 18649 func (s *Parameter) SetAllowedValues(v string) *Parameter { 18650 s.AllowedValues = &v 18651 return s 18652 } 18653 18654 // SetChangeType sets the ChangeType field's value. 18655 func (s *Parameter) SetChangeType(v string) *Parameter { 18656 s.ChangeType = &v 18657 return s 18658 } 18659 18660 // SetDataType sets the DataType field's value. 18661 func (s *Parameter) SetDataType(v string) *Parameter { 18662 s.DataType = &v 18663 return s 18664 } 18665 18666 // SetDescription sets the Description field's value. 18667 func (s *Parameter) SetDescription(v string) *Parameter { 18668 s.Description = &v 18669 return s 18670 } 18671 18672 // SetIsModifiable sets the IsModifiable field's value. 18673 func (s *Parameter) SetIsModifiable(v bool) *Parameter { 18674 s.IsModifiable = &v 18675 return s 18676 } 18677 18678 // SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 18679 func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 18680 s.MinimumEngineVersion = &v 18681 return s 18682 } 18683 18684 // SetParameterName sets the ParameterName field's value. 18685 func (s *Parameter) SetParameterName(v string) *Parameter { 18686 s.ParameterName = &v 18687 return s 18688 } 18689 18690 // SetParameterValue sets the ParameterValue field's value. 18691 func (s *Parameter) SetParameterValue(v string) *Parameter { 18692 s.ParameterValue = &v 18693 return s 18694 } 18695 18696 // SetSource sets the Source field's value. 18697 func (s *Parameter) SetSource(v string) *Parameter { 18698 s.Source = &v 18699 return s 18700 } 18701 18702 // Describes a name-value pair that is used to update the value of a parameter. 18703 type ParameterNameValue struct { 18704 _ struct{} `type:"structure"` 18705 18706 // The name of the parameter. 18707 ParameterName *string `type:"string"` 18708 18709 // The value of the parameter. 18710 ParameterValue *string `type:"string"` 18711 } 18712 18713 // String returns the string representation. 18714 // 18715 // API parameter values that are decorated as "sensitive" in the API will not 18716 // be included in the string output. The member name will be present, but the 18717 // value will be replaced with "sensitive". 18718 func (s ParameterNameValue) String() string { 18719 return awsutil.Prettify(s) 18720 } 18721 18722 // GoString returns the string representation. 18723 // 18724 // API parameter values that are decorated as "sensitive" in the API will not 18725 // be included in the string output. The member name will be present, but the 18726 // value will be replaced with "sensitive". 18727 func (s ParameterNameValue) GoString() string { 18728 return s.String() 18729 } 18730 18731 // SetParameterName sets the ParameterName field's value. 18732 func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { 18733 s.ParameterName = &v 18734 return s 18735 } 18736 18737 // SetParameterValue sets the ParameterValue field's value. 18738 func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { 18739 s.ParameterValue = &v 18740 return s 18741 } 18742 18743 // The log delivery configurations being modified 18744 type PendingLogDeliveryConfiguration struct { 18745 _ struct{} `type:"structure"` 18746 18747 // Configuration details of either a CloudWatch Logs destination or Kinesis 18748 // Data Firehose destination. 18749 DestinationDetails *DestinationDetails `type:"structure"` 18750 18751 // Returns the destination type, either CloudWatch Logs or Kinesis Data Firehose. 18752 DestinationType *string `type:"string" enum:"DestinationType"` 18753 18754 // Returns the log format, either JSON or TEXT 18755 LogFormat *string `type:"string" enum:"LogFormat"` 18756 18757 // Refers to slow-log (https://redis.io/commands/slowlog). 18758 LogType *string `type:"string" enum:"LogType"` 18759 } 18760 18761 // String returns the string representation. 18762 // 18763 // API parameter values that are decorated as "sensitive" in the API will not 18764 // be included in the string output. The member name will be present, but the 18765 // value will be replaced with "sensitive". 18766 func (s PendingLogDeliveryConfiguration) String() string { 18767 return awsutil.Prettify(s) 18768 } 18769 18770 // GoString returns the string representation. 18771 // 18772 // API parameter values that are decorated as "sensitive" in the API will not 18773 // be included in the string output. The member name will be present, but the 18774 // value will be replaced with "sensitive". 18775 func (s PendingLogDeliveryConfiguration) GoString() string { 18776 return s.String() 18777 } 18778 18779 // SetDestinationDetails sets the DestinationDetails field's value. 18780 func (s *PendingLogDeliveryConfiguration) SetDestinationDetails(v *DestinationDetails) *PendingLogDeliveryConfiguration { 18781 s.DestinationDetails = v 18782 return s 18783 } 18784 18785 // SetDestinationType sets the DestinationType field's value. 18786 func (s *PendingLogDeliveryConfiguration) SetDestinationType(v string) *PendingLogDeliveryConfiguration { 18787 s.DestinationType = &v 18788 return s 18789 } 18790 18791 // SetLogFormat sets the LogFormat field's value. 18792 func (s *PendingLogDeliveryConfiguration) SetLogFormat(v string) *PendingLogDeliveryConfiguration { 18793 s.LogFormat = &v 18794 return s 18795 } 18796 18797 // SetLogType sets the LogType field's value. 18798 func (s *PendingLogDeliveryConfiguration) SetLogType(v string) *PendingLogDeliveryConfiguration { 18799 s.LogType = &v 18800 return s 18801 } 18802 18803 // A group of settings that are applied to the cluster in the future, or that 18804 // are currently being applied. 18805 type PendingModifiedValues struct { 18806 _ struct{} `type:"structure"` 18807 18808 // The auth token status 18809 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 18810 18811 // A list of cache node IDs that are being removed (or will be removed) from 18812 // the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.). 18813 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 18814 18815 // The cache node type that this cluster or replication group is scaled to. 18816 CacheNodeType *string `type:"string"` 18817 18818 // The new cache engine version that the cluster runs. 18819 EngineVersion *string `type:"string"` 18820 18821 // The log delivery configurations being modified 18822 LogDeliveryConfigurations []*PendingLogDeliveryConfiguration `locationName:"PendingLogDeliveryConfiguration" type:"list"` 18823 18824 // The new number of cache nodes for the cluster. 18825 // 18826 // For clusters running Redis, this value must be 1. For clusters running Memcached, 18827 // this value must be between 1 and 40. 18828 NumCacheNodes *int64 `type:"integer"` 18829 } 18830 18831 // String returns the string representation. 18832 // 18833 // API parameter values that are decorated as "sensitive" in the API will not 18834 // be included in the string output. The member name will be present, but the 18835 // value will be replaced with "sensitive". 18836 func (s PendingModifiedValues) String() string { 18837 return awsutil.Prettify(s) 18838 } 18839 18840 // GoString returns the string representation. 18841 // 18842 // API parameter values that are decorated as "sensitive" in the API will not 18843 // be included in the string output. The member name will be present, but the 18844 // value will be replaced with "sensitive". 18845 func (s PendingModifiedValues) GoString() string { 18846 return s.String() 18847 } 18848 18849 // SetAuthTokenStatus sets the AuthTokenStatus field's value. 18850 func (s *PendingModifiedValues) SetAuthTokenStatus(v string) *PendingModifiedValues { 18851 s.AuthTokenStatus = &v 18852 return s 18853 } 18854 18855 // SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 18856 func (s *PendingModifiedValues) SetCacheNodeIdsToRemove(v []*string) *PendingModifiedValues { 18857 s.CacheNodeIdsToRemove = v 18858 return s 18859 } 18860 18861 // SetCacheNodeType sets the CacheNodeType field's value. 18862 func (s *PendingModifiedValues) SetCacheNodeType(v string) *PendingModifiedValues { 18863 s.CacheNodeType = &v 18864 return s 18865 } 18866 18867 // SetEngineVersion sets the EngineVersion field's value. 18868 func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { 18869 s.EngineVersion = &v 18870 return s 18871 } 18872 18873 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 18874 func (s *PendingModifiedValues) SetLogDeliveryConfigurations(v []*PendingLogDeliveryConfiguration) *PendingModifiedValues { 18875 s.LogDeliveryConfigurations = v 18876 return s 18877 } 18878 18879 // SetNumCacheNodes sets the NumCacheNodes field's value. 18880 func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues { 18881 s.NumCacheNodes = &v 18882 return s 18883 } 18884 18885 // Update action that has been processed for the corresponding apply/stop request 18886 type ProcessedUpdateAction struct { 18887 _ struct{} `type:"structure"` 18888 18889 // The ID of the cache cluster 18890 CacheClusterId *string `type:"string"` 18891 18892 // The ID of the replication group 18893 ReplicationGroupId *string `type:"string"` 18894 18895 // The unique ID of the service update 18896 ServiceUpdateName *string `type:"string"` 18897 18898 // The status of the update action on the Redis cluster 18899 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 18900 } 18901 18902 // String returns the string representation. 18903 // 18904 // API parameter values that are decorated as "sensitive" in the API will not 18905 // be included in the string output. The member name will be present, but the 18906 // value will be replaced with "sensitive". 18907 func (s ProcessedUpdateAction) String() string { 18908 return awsutil.Prettify(s) 18909 } 18910 18911 // GoString returns the string representation. 18912 // 18913 // API parameter values that are decorated as "sensitive" in the API will not 18914 // be included in the string output. The member name will be present, but the 18915 // value will be replaced with "sensitive". 18916 func (s ProcessedUpdateAction) GoString() string { 18917 return s.String() 18918 } 18919 18920 // SetCacheClusterId sets the CacheClusterId field's value. 18921 func (s *ProcessedUpdateAction) SetCacheClusterId(v string) *ProcessedUpdateAction { 18922 s.CacheClusterId = &v 18923 return s 18924 } 18925 18926 // SetReplicationGroupId sets the ReplicationGroupId field's value. 18927 func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { 18928 s.ReplicationGroupId = &v 18929 return s 18930 } 18931 18932 // SetServiceUpdateName sets the ServiceUpdateName field's value. 18933 func (s *ProcessedUpdateAction) SetServiceUpdateName(v string) *ProcessedUpdateAction { 18934 s.ServiceUpdateName = &v 18935 return s 18936 } 18937 18938 // SetUpdateActionStatus sets the UpdateActionStatus field's value. 18939 func (s *ProcessedUpdateAction) SetUpdateActionStatus(v string) *ProcessedUpdateAction { 18940 s.UpdateActionStatus = &v 18941 return s 18942 } 18943 18944 // Represents the input of a PurchaseReservedCacheNodesOffering operation. 18945 type PurchaseReservedCacheNodesOfferingInput struct { 18946 _ struct{} `type:"structure"` 18947 18948 // The number of cache node instances to reserve. 18949 // 18950 // Default: 1 18951 CacheNodeCount *int64 `type:"integer"` 18952 18953 // A customer-specified identifier to track this reservation. 18954 // 18955 // The Reserved Cache Node ID is an unique customer-specified identifier to 18956 // track this reservation. If this parameter is not specified, ElastiCache automatically 18957 // generates an identifier for the reservation. 18958 // 18959 // Example: myreservationID 18960 ReservedCacheNodeId *string `type:"string"` 18961 18962 // The ID of the reserved cache node offering to purchase. 18963 // 18964 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 18965 // 18966 // ReservedCacheNodesOfferingId is a required field 18967 ReservedCacheNodesOfferingId *string `type:"string" required:"true"` 18968 18969 // A list of tags to be added to this resource. A tag is a key-value pair. A 18970 // tag key must be accompanied by a tag value, although null is accepted. 18971 Tags []*Tag `locationNameList:"Tag" type:"list"` 18972 } 18973 18974 // String returns the string representation. 18975 // 18976 // API parameter values that are decorated as "sensitive" in the API will not 18977 // be included in the string output. The member name will be present, but the 18978 // value will be replaced with "sensitive". 18979 func (s PurchaseReservedCacheNodesOfferingInput) String() string { 18980 return awsutil.Prettify(s) 18981 } 18982 18983 // GoString returns the string representation. 18984 // 18985 // API parameter values that are decorated as "sensitive" in the API will not 18986 // be included in the string output. The member name will be present, but the 18987 // value will be replaced with "sensitive". 18988 func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { 18989 return s.String() 18990 } 18991 18992 // Validate inspects the fields of the type to determine if they are valid. 18993 func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { 18994 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} 18995 if s.ReservedCacheNodesOfferingId == nil { 18996 invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) 18997 } 18998 18999 if invalidParams.Len() > 0 { 19000 return invalidParams 19001 } 19002 return nil 19003 } 19004 19005 // SetCacheNodeCount sets the CacheNodeCount field's value. 19006 func (s *PurchaseReservedCacheNodesOfferingInput) SetCacheNodeCount(v int64) *PurchaseReservedCacheNodesOfferingInput { 19007 s.CacheNodeCount = &v 19008 return s 19009 } 19010 19011 // SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 19012 func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodeId(v string) *PurchaseReservedCacheNodesOfferingInput { 19013 s.ReservedCacheNodeId = &v 19014 return s 19015 } 19016 19017 // SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 19018 func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodesOfferingId(v string) *PurchaseReservedCacheNodesOfferingInput { 19019 s.ReservedCacheNodesOfferingId = &v 19020 return s 19021 } 19022 19023 // SetTags sets the Tags field's value. 19024 func (s *PurchaseReservedCacheNodesOfferingInput) SetTags(v []*Tag) *PurchaseReservedCacheNodesOfferingInput { 19025 s.Tags = v 19026 return s 19027 } 19028 19029 type PurchaseReservedCacheNodesOfferingOutput struct { 19030 _ struct{} `type:"structure"` 19031 19032 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 19033 ReservedCacheNode *ReservedCacheNode `type:"structure"` 19034 } 19035 19036 // String returns the string representation. 19037 // 19038 // API parameter values that are decorated as "sensitive" in the API will not 19039 // be included in the string output. The member name will be present, but the 19040 // value will be replaced with "sensitive". 19041 func (s PurchaseReservedCacheNodesOfferingOutput) String() string { 19042 return awsutil.Prettify(s) 19043 } 19044 19045 // GoString returns the string representation. 19046 // 19047 // API parameter values that are decorated as "sensitive" in the API will not 19048 // be included in the string output. The member name will be present, but the 19049 // value will be replaced with "sensitive". 19050 func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { 19051 return s.String() 19052 } 19053 19054 // SetReservedCacheNode sets the ReservedCacheNode field's value. 19055 func (s *PurchaseReservedCacheNodesOfferingOutput) SetReservedCacheNode(v *ReservedCacheNode) *PurchaseReservedCacheNodesOfferingOutput { 19056 s.ReservedCacheNode = v 19057 return s 19058 } 19059 19060 type RebalanceSlotsInGlobalReplicationGroupInput struct { 19061 _ struct{} `type:"structure"` 19062 19063 // If True, redistribution is applied immediately. 19064 // 19065 // ApplyImmediately is a required field 19066 ApplyImmediately *bool `type:"boolean" required:"true"` 19067 19068 // The name of the Global datastore 19069 // 19070 // GlobalReplicationGroupId is a required field 19071 GlobalReplicationGroupId *string `type:"string" required:"true"` 19072 } 19073 19074 // String returns the string representation. 19075 // 19076 // API parameter values that are decorated as "sensitive" in the API will not 19077 // be included in the string output. The member name will be present, but the 19078 // value will be replaced with "sensitive". 19079 func (s RebalanceSlotsInGlobalReplicationGroupInput) String() string { 19080 return awsutil.Prettify(s) 19081 } 19082 19083 // GoString returns the string representation. 19084 // 19085 // API parameter values that are decorated as "sensitive" in the API will not 19086 // be included in the string output. The member name will be present, but the 19087 // value will be replaced with "sensitive". 19088 func (s RebalanceSlotsInGlobalReplicationGroupInput) GoString() string { 19089 return s.String() 19090 } 19091 19092 // Validate inspects the fields of the type to determine if they are valid. 19093 func (s *RebalanceSlotsInGlobalReplicationGroupInput) Validate() error { 19094 invalidParams := request.ErrInvalidParams{Context: "RebalanceSlotsInGlobalReplicationGroupInput"} 19095 if s.ApplyImmediately == nil { 19096 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 19097 } 19098 if s.GlobalReplicationGroupId == nil { 19099 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 19100 } 19101 19102 if invalidParams.Len() > 0 { 19103 return invalidParams 19104 } 19105 return nil 19106 } 19107 19108 // SetApplyImmediately sets the ApplyImmediately field's value. 19109 func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *RebalanceSlotsInGlobalReplicationGroupInput { 19110 s.ApplyImmediately = &v 19111 return s 19112 } 19113 19114 // SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 19115 func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *RebalanceSlotsInGlobalReplicationGroupInput { 19116 s.GlobalReplicationGroupId = &v 19117 return s 19118 } 19119 19120 type RebalanceSlotsInGlobalReplicationGroupOutput struct { 19121 _ struct{} `type:"structure"` 19122 19123 // Consists of a primary cluster that accepts writes and an associated secondary 19124 // cluster that resides in a different Amazon region. The secondary cluster 19125 // accepts only reads. The primary cluster automatically replicates updates 19126 // to the secondary cluster. 19127 // 19128 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 19129 // datastore, which is what you use to associate a secondary cluster. 19130 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 19131 } 19132 19133 // String returns the string representation. 19134 // 19135 // API parameter values that are decorated as "sensitive" in the API will not 19136 // be included in the string output. The member name will be present, but the 19137 // value will be replaced with "sensitive". 19138 func (s RebalanceSlotsInGlobalReplicationGroupOutput) String() string { 19139 return awsutil.Prettify(s) 19140 } 19141 19142 // GoString returns the string representation. 19143 // 19144 // API parameter values that are decorated as "sensitive" in the API will not 19145 // be included in the string output. The member name will be present, but the 19146 // value will be replaced with "sensitive". 19147 func (s RebalanceSlotsInGlobalReplicationGroupOutput) GoString() string { 19148 return s.String() 19149 } 19150 19151 // SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 19152 func (s *RebalanceSlotsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *RebalanceSlotsInGlobalReplicationGroupOutput { 19153 s.GlobalReplicationGroup = v 19154 return s 19155 } 19156 19157 // Represents the input of a RebootCacheCluster operation. 19158 type RebootCacheClusterInput struct { 19159 _ struct{} `type:"structure"` 19160 19161 // The cluster identifier. This parameter is stored as a lowercase string. 19162 // 19163 // CacheClusterId is a required field 19164 CacheClusterId *string `type:"string" required:"true"` 19165 19166 // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 19167 // 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs. 19168 // 19169 // CacheNodeIdsToReboot is a required field 19170 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` 19171 } 19172 19173 // String returns the string representation. 19174 // 19175 // API parameter values that are decorated as "sensitive" in the API will not 19176 // be included in the string output. The member name will be present, but the 19177 // value will be replaced with "sensitive". 19178 func (s RebootCacheClusterInput) String() string { 19179 return awsutil.Prettify(s) 19180 } 19181 19182 // GoString returns the string representation. 19183 // 19184 // API parameter values that are decorated as "sensitive" in the API will not 19185 // be included in the string output. The member name will be present, but the 19186 // value will be replaced with "sensitive". 19187 func (s RebootCacheClusterInput) GoString() string { 19188 return s.String() 19189 } 19190 19191 // Validate inspects the fields of the type to determine if they are valid. 19192 func (s *RebootCacheClusterInput) Validate() error { 19193 invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} 19194 if s.CacheClusterId == nil { 19195 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 19196 } 19197 if s.CacheNodeIdsToReboot == nil { 19198 invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) 19199 } 19200 19201 if invalidParams.Len() > 0 { 19202 return invalidParams 19203 } 19204 return nil 19205 } 19206 19207 // SetCacheClusterId sets the CacheClusterId field's value. 19208 func (s *RebootCacheClusterInput) SetCacheClusterId(v string) *RebootCacheClusterInput { 19209 s.CacheClusterId = &v 19210 return s 19211 } 19212 19213 // SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 19214 func (s *RebootCacheClusterInput) SetCacheNodeIdsToReboot(v []*string) *RebootCacheClusterInput { 19215 s.CacheNodeIdsToReboot = v 19216 return s 19217 } 19218 19219 type RebootCacheClusterOutput struct { 19220 _ struct{} `type:"structure"` 19221 19222 // Contains all of the attributes of a specific cluster. 19223 CacheCluster *CacheCluster `type:"structure"` 19224 } 19225 19226 // String returns the string representation. 19227 // 19228 // API parameter values that are decorated as "sensitive" in the API will not 19229 // be included in the string output. The member name will be present, but the 19230 // value will be replaced with "sensitive". 19231 func (s RebootCacheClusterOutput) String() string { 19232 return awsutil.Prettify(s) 19233 } 19234 19235 // GoString returns the string representation. 19236 // 19237 // API parameter values that are decorated as "sensitive" in the API will not 19238 // be included in the string output. The member name will be present, but the 19239 // value will be replaced with "sensitive". 19240 func (s RebootCacheClusterOutput) GoString() string { 19241 return s.String() 19242 } 19243 19244 // SetCacheCluster sets the CacheCluster field's value. 19245 func (s *RebootCacheClusterOutput) SetCacheCluster(v *CacheCluster) *RebootCacheClusterOutput { 19246 s.CacheCluster = v 19247 return s 19248 } 19249 19250 // Contains the specific price and frequency of a recurring charges for a reserved 19251 // cache node, or for a reserved cache node offering. 19252 type RecurringCharge struct { 19253 _ struct{} `type:"structure"` 19254 19255 // The monetary amount of the recurring charge. 19256 RecurringChargeAmount *float64 `type:"double"` 19257 19258 // The frequency of the recurring charge. 19259 RecurringChargeFrequency *string `type:"string"` 19260 } 19261 19262 // String returns the string representation. 19263 // 19264 // API parameter values that are decorated as "sensitive" in the API will not 19265 // be included in the string output. The member name will be present, but the 19266 // value will be replaced with "sensitive". 19267 func (s RecurringCharge) String() string { 19268 return awsutil.Prettify(s) 19269 } 19270 19271 // GoString returns the string representation. 19272 // 19273 // API parameter values that are decorated as "sensitive" in the API will not 19274 // be included in the string output. The member name will be present, but the 19275 // value will be replaced with "sensitive". 19276 func (s RecurringCharge) GoString() string { 19277 return s.String() 19278 } 19279 19280 // SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 19281 func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 19282 s.RecurringChargeAmount = &v 19283 return s 19284 } 19285 19286 // SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 19287 func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 19288 s.RecurringChargeFrequency = &v 19289 return s 19290 } 19291 19292 // A list of the replication groups 19293 type RegionalConfiguration struct { 19294 _ struct{} `type:"structure"` 19295 19296 // The name of the secondary cluster 19297 // 19298 // ReplicationGroupId is a required field 19299 ReplicationGroupId *string `type:"string" required:"true"` 19300 19301 // The Amazon region where the cluster is stored 19302 // 19303 // ReplicationGroupRegion is a required field 19304 ReplicationGroupRegion *string `type:"string" required:"true"` 19305 19306 // A list of PreferredAvailabilityZones objects that specifies the configuration 19307 // of a node group in the resharded cluster. 19308 // 19309 // ReshardingConfiguration is a required field 19310 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list" required:"true"` 19311 } 19312 19313 // String returns the string representation. 19314 // 19315 // API parameter values that are decorated as "sensitive" in the API will not 19316 // be included in the string output. The member name will be present, but the 19317 // value will be replaced with "sensitive". 19318 func (s RegionalConfiguration) String() string { 19319 return awsutil.Prettify(s) 19320 } 19321 19322 // GoString returns the string representation. 19323 // 19324 // API parameter values that are decorated as "sensitive" in the API will not 19325 // be included in the string output. The member name will be present, but the 19326 // value will be replaced with "sensitive". 19327 func (s RegionalConfiguration) GoString() string { 19328 return s.String() 19329 } 19330 19331 // Validate inspects the fields of the type to determine if they are valid. 19332 func (s *RegionalConfiguration) Validate() error { 19333 invalidParams := request.ErrInvalidParams{Context: "RegionalConfiguration"} 19334 if s.ReplicationGroupId == nil { 19335 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 19336 } 19337 if s.ReplicationGroupRegion == nil { 19338 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 19339 } 19340 if s.ReshardingConfiguration == nil { 19341 invalidParams.Add(request.NewErrParamRequired("ReshardingConfiguration")) 19342 } 19343 if s.ReshardingConfiguration != nil { 19344 for i, v := range s.ReshardingConfiguration { 19345 if v == nil { 19346 continue 19347 } 19348 if err := v.Validate(); err != nil { 19349 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 19350 } 19351 } 19352 } 19353 19354 if invalidParams.Len() > 0 { 19355 return invalidParams 19356 } 19357 return nil 19358 } 19359 19360 // SetReplicationGroupId sets the ReplicationGroupId field's value. 19361 func (s *RegionalConfiguration) SetReplicationGroupId(v string) *RegionalConfiguration { 19362 s.ReplicationGroupId = &v 19363 return s 19364 } 19365 19366 // SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 19367 func (s *RegionalConfiguration) SetReplicationGroupRegion(v string) *RegionalConfiguration { 19368 s.ReplicationGroupRegion = &v 19369 return s 19370 } 19371 19372 // SetReshardingConfiguration sets the ReshardingConfiguration field's value. 19373 func (s *RegionalConfiguration) SetReshardingConfiguration(v []*ReshardingConfiguration) *RegionalConfiguration { 19374 s.ReshardingConfiguration = v 19375 return s 19376 } 19377 19378 // Represents the input of a RemoveTagsFromResource operation. 19379 type RemoveTagsFromResourceInput struct { 19380 _ struct{} `type:"structure"` 19381 19382 // The Amazon Resource Name (ARN) of the resource from which you want the tags 19383 // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 19384 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 19385 // 19386 // For more information about ARNs, see Amazon Resource Names (ARNs) and Amazon 19387 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 19388 // 19389 // ResourceName is a required field 19390 ResourceName *string `type:"string" required:"true"` 19391 19392 // A list of TagKeys identifying the tags you want removed from the named resource. 19393 // 19394 // TagKeys is a required field 19395 TagKeys []*string `type:"list" required:"true"` 19396 } 19397 19398 // String returns the string representation. 19399 // 19400 // API parameter values that are decorated as "sensitive" in the API will not 19401 // be included in the string output. The member name will be present, but the 19402 // value will be replaced with "sensitive". 19403 func (s RemoveTagsFromResourceInput) String() string { 19404 return awsutil.Prettify(s) 19405 } 19406 19407 // GoString returns the string representation. 19408 // 19409 // API parameter values that are decorated as "sensitive" in the API will not 19410 // be included in the string output. The member name will be present, but the 19411 // value will be replaced with "sensitive". 19412 func (s RemoveTagsFromResourceInput) GoString() string { 19413 return s.String() 19414 } 19415 19416 // Validate inspects the fields of the type to determine if they are valid. 19417 func (s *RemoveTagsFromResourceInput) Validate() error { 19418 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} 19419 if s.ResourceName == nil { 19420 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 19421 } 19422 if s.TagKeys == nil { 19423 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 19424 } 19425 19426 if invalidParams.Len() > 0 { 19427 return invalidParams 19428 } 19429 return nil 19430 } 19431 19432 // SetResourceName sets the ResourceName field's value. 19433 func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { 19434 s.ResourceName = &v 19435 return s 19436 } 19437 19438 // SetTagKeys sets the TagKeys field's value. 19439 func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { 19440 s.TagKeys = v 19441 return s 19442 } 19443 19444 // Contains all of the attributes of a specific Redis replication group. 19445 type ReplicationGroup struct { 19446 _ struct{} `type:"structure"` 19447 19448 // The ARN (Amazon Resource Name) of the replication group. 19449 ARN *string `type:"string"` 19450 19451 // A flag that enables encryption at-rest when set to true. 19452 // 19453 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 19454 // is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled 19455 // to true when you create a cluster. 19456 // 19457 // Required: Only available when creating a replication group in an Amazon VPC 19458 // using redis version 3.2.6, 4.x or later. 19459 // 19460 // Default: false 19461 AtRestEncryptionEnabled *bool `type:"boolean"` 19462 19463 // A flag that enables using an AuthToken (password) when issuing Redis commands. 19464 // 19465 // Default: false 19466 AuthTokenEnabled *bool `type:"boolean"` 19467 19468 // The date the auth token was last modified 19469 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 19470 19471 // Indicates the status of automatic failover for this Redis replication group. 19472 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 19473 19474 // The name of the compute and memory capacity node type for each node in the 19475 // replication group. 19476 CacheNodeType *string `type:"string"` 19477 19478 // A flag indicating whether or not this replication group is cluster enabled; 19479 // i.e., whether its data can be partitioned across multiple shards (API/CLI: 19480 // node groups). 19481 // 19482 // Valid values: true | false 19483 ClusterEnabled *bool `type:"boolean"` 19484 19485 // The configuration endpoint for this replication group. Use the configuration 19486 // endpoint to connect to this replication group. 19487 ConfigurationEndpoint *Endpoint `type:"structure"` 19488 19489 // The user supplied description of the replication group. 19490 Description *string `type:"string"` 19491 19492 // The name of the Global datastore and role of this replication group in the 19493 // Global datastore. 19494 GlobalReplicationGroupInfo *GlobalReplicationGroupInfo `type:"structure"` 19495 19496 // The ID of the KMS key used to encrypt the disk in the cluster. 19497 KmsKeyId *string `type:"string"` 19498 19499 // Returns the destination, format and type of the logs. 19500 LogDeliveryConfigurations []*LogDeliveryConfiguration `locationNameList:"LogDeliveryConfiguration" type:"list"` 19501 19502 // The names of all the cache clusters that are part of this replication group. 19503 MemberClusters []*string `locationNameList:"ClusterId" type:"list"` 19504 19505 // The outpost ARNs of the replication group's member clusters. 19506 MemberClustersOutpostArns []*string `locationNameList:"ReplicationGroupOutpostArn" type:"list"` 19507 19508 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 19509 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html) 19510 MultiAZ *string `type:"string" enum:"MultiAZStatus"` 19511 19512 // A list of node groups in this replication group. For Redis (cluster mode 19513 // disabled) replication groups, this is a single-element list. For Redis (cluster 19514 // mode enabled) replication groups, the list contains an entry for each node 19515 // group (shard). 19516 NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"` 19517 19518 // A group of settings to be applied to the replication group, either immediately 19519 // or during the next maintenance window. 19520 PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"` 19521 19522 // The date and time when the cluster was created. 19523 ReplicationGroupCreateTime *time.Time `type:"timestamp"` 19524 19525 // The identifier for the replication group. 19526 ReplicationGroupId *string `type:"string"` 19527 19528 // The number of days for which ElastiCache retains automatic cluster snapshots 19529 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 19530 // a snapshot that was taken today is retained for 5 days before being deleted. 19531 // 19532 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 19533 // off. 19534 SnapshotRetentionLimit *int64 `type:"integer"` 19535 19536 // The daily time range (in UTC) during which ElastiCache begins taking a daily 19537 // snapshot of your node group (shard). 19538 // 19539 // Example: 05:00-09:00 19540 // 19541 // If you do not specify this parameter, ElastiCache automatically chooses an 19542 // appropriate time range. 19543 // 19544 // This parameter is only valid if the Engine parameter is redis. 19545 SnapshotWindow *string `type:"string"` 19546 19547 // The cluster ID that is used as the daily snapshot source for the replication 19548 // group. 19549 SnapshottingClusterId *string `type:"string"` 19550 19551 // The current state of this replication group - creating, available, modifying, 19552 // deleting, create-failed, snapshotting. 19553 Status *string `type:"string"` 19554 19555 // A flag that enables in-transit encryption when set to true. 19556 // 19557 // You cannot modify the value of TransitEncryptionEnabled after the cluster 19558 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 19559 // to true when you create a cluster. 19560 // 19561 // Required: Only available when creating a replication group in an Amazon VPC 19562 // using redis version 3.2.6, 4.x or later. 19563 // 19564 // Default: false 19565 TransitEncryptionEnabled *bool `type:"boolean"` 19566 19567 // The ID of the user group associated to the replication group. 19568 UserGroupIds []*string `type:"list"` 19569 } 19570 19571 // String returns the string representation. 19572 // 19573 // API parameter values that are decorated as "sensitive" in the API will not 19574 // be included in the string output. The member name will be present, but the 19575 // value will be replaced with "sensitive". 19576 func (s ReplicationGroup) String() string { 19577 return awsutil.Prettify(s) 19578 } 19579 19580 // GoString returns the string representation. 19581 // 19582 // API parameter values that are decorated as "sensitive" in the API will not 19583 // be included in the string output. The member name will be present, but the 19584 // value will be replaced with "sensitive". 19585 func (s ReplicationGroup) GoString() string { 19586 return s.String() 19587 } 19588 19589 // SetARN sets the ARN field's value. 19590 func (s *ReplicationGroup) SetARN(v string) *ReplicationGroup { 19591 s.ARN = &v 19592 return s 19593 } 19594 19595 // SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 19596 func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { 19597 s.AtRestEncryptionEnabled = &v 19598 return s 19599 } 19600 19601 // SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 19602 func (s *ReplicationGroup) SetAuthTokenEnabled(v bool) *ReplicationGroup { 19603 s.AuthTokenEnabled = &v 19604 return s 19605 } 19606 19607 // SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 19608 func (s *ReplicationGroup) SetAuthTokenLastModifiedDate(v time.Time) *ReplicationGroup { 19609 s.AuthTokenLastModifiedDate = &v 19610 return s 19611 } 19612 19613 // SetAutomaticFailover sets the AutomaticFailover field's value. 19614 func (s *ReplicationGroup) SetAutomaticFailover(v string) *ReplicationGroup { 19615 s.AutomaticFailover = &v 19616 return s 19617 } 19618 19619 // SetCacheNodeType sets the CacheNodeType field's value. 19620 func (s *ReplicationGroup) SetCacheNodeType(v string) *ReplicationGroup { 19621 s.CacheNodeType = &v 19622 return s 19623 } 19624 19625 // SetClusterEnabled sets the ClusterEnabled field's value. 19626 func (s *ReplicationGroup) SetClusterEnabled(v bool) *ReplicationGroup { 19627 s.ClusterEnabled = &v 19628 return s 19629 } 19630 19631 // SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 19632 func (s *ReplicationGroup) SetConfigurationEndpoint(v *Endpoint) *ReplicationGroup { 19633 s.ConfigurationEndpoint = v 19634 return s 19635 } 19636 19637 // SetDescription sets the Description field's value. 19638 func (s *ReplicationGroup) SetDescription(v string) *ReplicationGroup { 19639 s.Description = &v 19640 return s 19641 } 19642 19643 // SetGlobalReplicationGroupInfo sets the GlobalReplicationGroupInfo field's value. 19644 func (s *ReplicationGroup) SetGlobalReplicationGroupInfo(v *GlobalReplicationGroupInfo) *ReplicationGroup { 19645 s.GlobalReplicationGroupInfo = v 19646 return s 19647 } 19648 19649 // SetKmsKeyId sets the KmsKeyId field's value. 19650 func (s *ReplicationGroup) SetKmsKeyId(v string) *ReplicationGroup { 19651 s.KmsKeyId = &v 19652 return s 19653 } 19654 19655 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 19656 func (s *ReplicationGroup) SetLogDeliveryConfigurations(v []*LogDeliveryConfiguration) *ReplicationGroup { 19657 s.LogDeliveryConfigurations = v 19658 return s 19659 } 19660 19661 // SetMemberClusters sets the MemberClusters field's value. 19662 func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { 19663 s.MemberClusters = v 19664 return s 19665 } 19666 19667 // SetMemberClustersOutpostArns sets the MemberClustersOutpostArns field's value. 19668 func (s *ReplicationGroup) SetMemberClustersOutpostArns(v []*string) *ReplicationGroup { 19669 s.MemberClustersOutpostArns = v 19670 return s 19671 } 19672 19673 // SetMultiAZ sets the MultiAZ field's value. 19674 func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { 19675 s.MultiAZ = &v 19676 return s 19677 } 19678 19679 // SetNodeGroups sets the NodeGroups field's value. 19680 func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { 19681 s.NodeGroups = v 19682 return s 19683 } 19684 19685 // SetPendingModifiedValues sets the PendingModifiedValues field's value. 19686 func (s *ReplicationGroup) SetPendingModifiedValues(v *ReplicationGroupPendingModifiedValues) *ReplicationGroup { 19687 s.PendingModifiedValues = v 19688 return s 19689 } 19690 19691 // SetReplicationGroupCreateTime sets the ReplicationGroupCreateTime field's value. 19692 func (s *ReplicationGroup) SetReplicationGroupCreateTime(v time.Time) *ReplicationGroup { 19693 s.ReplicationGroupCreateTime = &v 19694 return s 19695 } 19696 19697 // SetReplicationGroupId sets the ReplicationGroupId field's value. 19698 func (s *ReplicationGroup) SetReplicationGroupId(v string) *ReplicationGroup { 19699 s.ReplicationGroupId = &v 19700 return s 19701 } 19702 19703 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 19704 func (s *ReplicationGroup) SetSnapshotRetentionLimit(v int64) *ReplicationGroup { 19705 s.SnapshotRetentionLimit = &v 19706 return s 19707 } 19708 19709 // SetSnapshotWindow sets the SnapshotWindow field's value. 19710 func (s *ReplicationGroup) SetSnapshotWindow(v string) *ReplicationGroup { 19711 s.SnapshotWindow = &v 19712 return s 19713 } 19714 19715 // SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 19716 func (s *ReplicationGroup) SetSnapshottingClusterId(v string) *ReplicationGroup { 19717 s.SnapshottingClusterId = &v 19718 return s 19719 } 19720 19721 // SetStatus sets the Status field's value. 19722 func (s *ReplicationGroup) SetStatus(v string) *ReplicationGroup { 19723 s.Status = &v 19724 return s 19725 } 19726 19727 // SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 19728 func (s *ReplicationGroup) SetTransitEncryptionEnabled(v bool) *ReplicationGroup { 19729 s.TransitEncryptionEnabled = &v 19730 return s 19731 } 19732 19733 // SetUserGroupIds sets the UserGroupIds field's value. 19734 func (s *ReplicationGroup) SetUserGroupIds(v []*string) *ReplicationGroup { 19735 s.UserGroupIds = v 19736 return s 19737 } 19738 19739 // The settings to be applied to the Redis replication group, either immediately 19740 // or during the next maintenance window. 19741 type ReplicationGroupPendingModifiedValues struct { 19742 _ struct{} `type:"structure"` 19743 19744 // The auth token status 19745 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 19746 19747 // Indicates the status of automatic failover for this Redis replication group. 19748 AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` 19749 19750 // The log delivery configurations being modified 19751 LogDeliveryConfigurations []*PendingLogDeliveryConfiguration `locationName:"PendingLogDeliveryConfiguration" type:"list"` 19752 19753 // The primary cluster ID that is applied immediately (if --apply-immediately 19754 // was specified), or during the next maintenance window. 19755 PrimaryClusterId *string `type:"string"` 19756 19757 // The status of an online resharding operation. 19758 Resharding *ReshardingStatus `type:"structure"` 19759 19760 // The user group being modified. 19761 UserGroups *UserGroupsUpdateStatus `type:"structure"` 19762 } 19763 19764 // String returns the string representation. 19765 // 19766 // API parameter values that are decorated as "sensitive" in the API will not 19767 // be included in the string output. The member name will be present, but the 19768 // value will be replaced with "sensitive". 19769 func (s ReplicationGroupPendingModifiedValues) String() string { 19770 return awsutil.Prettify(s) 19771 } 19772 19773 // GoString returns the string representation. 19774 // 19775 // API parameter values that are decorated as "sensitive" in the API will not 19776 // be included in the string output. The member name will be present, but the 19777 // value will be replaced with "sensitive". 19778 func (s ReplicationGroupPendingModifiedValues) GoString() string { 19779 return s.String() 19780 } 19781 19782 // SetAuthTokenStatus sets the AuthTokenStatus field's value. 19783 func (s *ReplicationGroupPendingModifiedValues) SetAuthTokenStatus(v string) *ReplicationGroupPendingModifiedValues { 19784 s.AuthTokenStatus = &v 19785 return s 19786 } 19787 19788 // SetAutomaticFailoverStatus sets the AutomaticFailoverStatus field's value. 19789 func (s *ReplicationGroupPendingModifiedValues) SetAutomaticFailoverStatus(v string) *ReplicationGroupPendingModifiedValues { 19790 s.AutomaticFailoverStatus = &v 19791 return s 19792 } 19793 19794 // SetLogDeliveryConfigurations sets the LogDeliveryConfigurations field's value. 19795 func (s *ReplicationGroupPendingModifiedValues) SetLogDeliveryConfigurations(v []*PendingLogDeliveryConfiguration) *ReplicationGroupPendingModifiedValues { 19796 s.LogDeliveryConfigurations = v 19797 return s 19798 } 19799 19800 // SetPrimaryClusterId sets the PrimaryClusterId field's value. 19801 func (s *ReplicationGroupPendingModifiedValues) SetPrimaryClusterId(v string) *ReplicationGroupPendingModifiedValues { 19802 s.PrimaryClusterId = &v 19803 return s 19804 } 19805 19806 // SetResharding sets the Resharding field's value. 19807 func (s *ReplicationGroupPendingModifiedValues) SetResharding(v *ReshardingStatus) *ReplicationGroupPendingModifiedValues { 19808 s.Resharding = v 19809 return s 19810 } 19811 19812 // SetUserGroups sets the UserGroups field's value. 19813 func (s *ReplicationGroupPendingModifiedValues) SetUserGroups(v *UserGroupsUpdateStatus) *ReplicationGroupPendingModifiedValues { 19814 s.UserGroups = v 19815 return s 19816 } 19817 19818 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 19819 type ReservedCacheNode struct { 19820 _ struct{} `type:"structure"` 19821 19822 // The number of cache nodes that have been reserved. 19823 CacheNodeCount *int64 `type:"integer"` 19824 19825 // The cache node type for the reserved cache nodes. 19826 // 19827 // The following node types are supported by ElastiCache. Generally speaking, 19828 // the current generation types provide more memory and computational power 19829 // at lower cost when compared to their equivalent previous generation counterparts. 19830 // 19831 // * General purpose: Current generation: M6g node types (available only 19832 // for Redis engine version 5.0.6 onward and for Memcached engine version 19833 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 19834 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 19835 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 19836 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 19837 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 19838 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 19839 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 19840 // cache.t2.medium Previous generation: (not recommended) T1 node types: 19841 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 19842 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 19843 // cache.m3.2xlarge 19844 // 19845 // * Compute optimized: Previous generation: (not recommended) C1 node types: 19846 // cache.c1.xlarge 19847 // 19848 // * Memory optimized: Current generation: R6g node types (available only 19849 // for Redis engine version 5.0.6 onward and for Memcached engine version 19850 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 19851 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 19852 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 19853 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 19854 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 19855 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 19856 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 19857 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 19858 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 19859 // 19860 // Additional node type info 19861 // 19862 // * All current generation instance types are created in Amazon VPC by default. 19863 // 19864 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 19865 // 19866 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 19867 // 19868 // * Redis configuration variables appendonly and appendfsync are not supported 19869 // on Redis version 2.8.22 and later. 19870 CacheNodeType *string `type:"string"` 19871 19872 // The duration of the reservation in seconds. 19873 Duration *int64 `type:"integer"` 19874 19875 // The fixed price charged for this reserved cache node. 19876 FixedPrice *float64 `type:"double"` 19877 19878 // The offering type of this reserved cache node. 19879 OfferingType *string `type:"string"` 19880 19881 // The description of the reserved cache node. 19882 ProductDescription *string `type:"string"` 19883 19884 // The recurring price charged to run this reserved cache node. 19885 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 19886 19887 // The Amazon Resource Name (ARN) of the reserved cache node. 19888 // 19889 // Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582 19890 ReservationARN *string `type:"string"` 19891 19892 // The unique identifier for the reservation. 19893 ReservedCacheNodeId *string `type:"string"` 19894 19895 // The offering identifier. 19896 ReservedCacheNodesOfferingId *string `type:"string"` 19897 19898 // The time the reservation started. 19899 StartTime *time.Time `type:"timestamp"` 19900 19901 // The state of the reserved cache node. 19902 State *string `type:"string"` 19903 19904 // The hourly price charged for this reserved cache node. 19905 UsagePrice *float64 `type:"double"` 19906 } 19907 19908 // String returns the string representation. 19909 // 19910 // API parameter values that are decorated as "sensitive" in the API will not 19911 // be included in the string output. The member name will be present, but the 19912 // value will be replaced with "sensitive". 19913 func (s ReservedCacheNode) String() string { 19914 return awsutil.Prettify(s) 19915 } 19916 19917 // GoString returns the string representation. 19918 // 19919 // API parameter values that are decorated as "sensitive" in the API will not 19920 // be included in the string output. The member name will be present, but the 19921 // value will be replaced with "sensitive". 19922 func (s ReservedCacheNode) GoString() string { 19923 return s.String() 19924 } 19925 19926 // SetCacheNodeCount sets the CacheNodeCount field's value. 19927 func (s *ReservedCacheNode) SetCacheNodeCount(v int64) *ReservedCacheNode { 19928 s.CacheNodeCount = &v 19929 return s 19930 } 19931 19932 // SetCacheNodeType sets the CacheNodeType field's value. 19933 func (s *ReservedCacheNode) SetCacheNodeType(v string) *ReservedCacheNode { 19934 s.CacheNodeType = &v 19935 return s 19936 } 19937 19938 // SetDuration sets the Duration field's value. 19939 func (s *ReservedCacheNode) SetDuration(v int64) *ReservedCacheNode { 19940 s.Duration = &v 19941 return s 19942 } 19943 19944 // SetFixedPrice sets the FixedPrice field's value. 19945 func (s *ReservedCacheNode) SetFixedPrice(v float64) *ReservedCacheNode { 19946 s.FixedPrice = &v 19947 return s 19948 } 19949 19950 // SetOfferingType sets the OfferingType field's value. 19951 func (s *ReservedCacheNode) SetOfferingType(v string) *ReservedCacheNode { 19952 s.OfferingType = &v 19953 return s 19954 } 19955 19956 // SetProductDescription sets the ProductDescription field's value. 19957 func (s *ReservedCacheNode) SetProductDescription(v string) *ReservedCacheNode { 19958 s.ProductDescription = &v 19959 return s 19960 } 19961 19962 // SetRecurringCharges sets the RecurringCharges field's value. 19963 func (s *ReservedCacheNode) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNode { 19964 s.RecurringCharges = v 19965 return s 19966 } 19967 19968 // SetReservationARN sets the ReservationARN field's value. 19969 func (s *ReservedCacheNode) SetReservationARN(v string) *ReservedCacheNode { 19970 s.ReservationARN = &v 19971 return s 19972 } 19973 19974 // SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 19975 func (s *ReservedCacheNode) SetReservedCacheNodeId(v string) *ReservedCacheNode { 19976 s.ReservedCacheNodeId = &v 19977 return s 19978 } 19979 19980 // SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 19981 func (s *ReservedCacheNode) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNode { 19982 s.ReservedCacheNodesOfferingId = &v 19983 return s 19984 } 19985 19986 // SetStartTime sets the StartTime field's value. 19987 func (s *ReservedCacheNode) SetStartTime(v time.Time) *ReservedCacheNode { 19988 s.StartTime = &v 19989 return s 19990 } 19991 19992 // SetState sets the State field's value. 19993 func (s *ReservedCacheNode) SetState(v string) *ReservedCacheNode { 19994 s.State = &v 19995 return s 19996 } 19997 19998 // SetUsagePrice sets the UsagePrice field's value. 19999 func (s *ReservedCacheNode) SetUsagePrice(v float64) *ReservedCacheNode { 20000 s.UsagePrice = &v 20001 return s 20002 } 20003 20004 // Describes all of the attributes of a reserved cache node offering. 20005 type ReservedCacheNodesOffering struct { 20006 _ struct{} `type:"structure"` 20007 20008 // The cache node type for the reserved cache node. 20009 // 20010 // The following node types are supported by ElastiCache. Generally speaking, 20011 // the current generation types provide more memory and computational power 20012 // at lower cost when compared to their equivalent previous generation counterparts. 20013 // 20014 // * General purpose: Current generation: M6g node types (available only 20015 // for Redis engine version 5.0.6 onward and for Memcached engine version 20016 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 20017 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 20018 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 20019 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 20020 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 20021 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 20022 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 20023 // cache.t2.medium Previous generation: (not recommended) T1 node types: 20024 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 20025 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 20026 // cache.m3.2xlarge 20027 // 20028 // * Compute optimized: Previous generation: (not recommended) C1 node types: 20029 // cache.c1.xlarge 20030 // 20031 // * Memory optimized: Current generation: R6g node types (available only 20032 // for Redis engine version 5.0.6 onward and for Memcached engine version 20033 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 20034 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 20035 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 20036 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 20037 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 20038 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 20039 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 20040 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 20041 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 20042 // 20043 // Additional node type info 20044 // 20045 // * All current generation instance types are created in Amazon VPC by default. 20046 // 20047 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 20048 // 20049 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 20050 // 20051 // * Redis configuration variables appendonly and appendfsync are not supported 20052 // on Redis version 2.8.22 and later. 20053 CacheNodeType *string `type:"string"` 20054 20055 // The duration of the offering. in seconds. 20056 Duration *int64 `type:"integer"` 20057 20058 // The fixed price charged for this offering. 20059 FixedPrice *float64 `type:"double"` 20060 20061 // The offering type. 20062 OfferingType *string `type:"string"` 20063 20064 // The cache engine used by the offering. 20065 ProductDescription *string `type:"string"` 20066 20067 // The recurring price charged to run this reserved cache node. 20068 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 20069 20070 // A unique identifier for the reserved cache node offering. 20071 ReservedCacheNodesOfferingId *string `type:"string"` 20072 20073 // The hourly price charged for this offering. 20074 UsagePrice *float64 `type:"double"` 20075 } 20076 20077 // String returns the string representation. 20078 // 20079 // API parameter values that are decorated as "sensitive" in the API will not 20080 // be included in the string output. The member name will be present, but the 20081 // value will be replaced with "sensitive". 20082 func (s ReservedCacheNodesOffering) String() string { 20083 return awsutil.Prettify(s) 20084 } 20085 20086 // GoString returns the string representation. 20087 // 20088 // API parameter values that are decorated as "sensitive" in the API will not 20089 // be included in the string output. The member name will be present, but the 20090 // value will be replaced with "sensitive". 20091 func (s ReservedCacheNodesOffering) GoString() string { 20092 return s.String() 20093 } 20094 20095 // SetCacheNodeType sets the CacheNodeType field's value. 20096 func (s *ReservedCacheNodesOffering) SetCacheNodeType(v string) *ReservedCacheNodesOffering { 20097 s.CacheNodeType = &v 20098 return s 20099 } 20100 20101 // SetDuration sets the Duration field's value. 20102 func (s *ReservedCacheNodesOffering) SetDuration(v int64) *ReservedCacheNodesOffering { 20103 s.Duration = &v 20104 return s 20105 } 20106 20107 // SetFixedPrice sets the FixedPrice field's value. 20108 func (s *ReservedCacheNodesOffering) SetFixedPrice(v float64) *ReservedCacheNodesOffering { 20109 s.FixedPrice = &v 20110 return s 20111 } 20112 20113 // SetOfferingType sets the OfferingType field's value. 20114 func (s *ReservedCacheNodesOffering) SetOfferingType(v string) *ReservedCacheNodesOffering { 20115 s.OfferingType = &v 20116 return s 20117 } 20118 20119 // SetProductDescription sets the ProductDescription field's value. 20120 func (s *ReservedCacheNodesOffering) SetProductDescription(v string) *ReservedCacheNodesOffering { 20121 s.ProductDescription = &v 20122 return s 20123 } 20124 20125 // SetRecurringCharges sets the RecurringCharges field's value. 20126 func (s *ReservedCacheNodesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNodesOffering { 20127 s.RecurringCharges = v 20128 return s 20129 } 20130 20131 // SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 20132 func (s *ReservedCacheNodesOffering) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNodesOffering { 20133 s.ReservedCacheNodesOfferingId = &v 20134 return s 20135 } 20136 20137 // SetUsagePrice sets the UsagePrice field's value. 20138 func (s *ReservedCacheNodesOffering) SetUsagePrice(v float64) *ReservedCacheNodesOffering { 20139 s.UsagePrice = &v 20140 return s 20141 } 20142 20143 // Represents the input of a ResetCacheParameterGroup operation. 20144 type ResetCacheParameterGroupInput struct { 20145 _ struct{} `type:"structure"` 20146 20147 // The name of the cache parameter group to reset. 20148 // 20149 // CacheParameterGroupName is a required field 20150 CacheParameterGroupName *string `type:"string" required:"true"` 20151 20152 // An array of parameter names to reset to their default values. If ResetAllParameters 20153 // is true, do not use ParameterNameValues. If ResetAllParameters is false, 20154 // you must specify the name of at least one parameter to reset. 20155 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` 20156 20157 // If true, all parameters in the cache parameter group are reset to their default 20158 // values. If false, only the parameters listed by ParameterNameValues are reset 20159 // to their default values. 20160 // 20161 // Valid values: true | false 20162 ResetAllParameters *bool `type:"boolean"` 20163 } 20164 20165 // String returns the string representation. 20166 // 20167 // API parameter values that are decorated as "sensitive" in the API will not 20168 // be included in the string output. The member name will be present, but the 20169 // value will be replaced with "sensitive". 20170 func (s ResetCacheParameterGroupInput) String() string { 20171 return awsutil.Prettify(s) 20172 } 20173 20174 // GoString returns the string representation. 20175 // 20176 // API parameter values that are decorated as "sensitive" in the API will not 20177 // be included in the string output. The member name will be present, but the 20178 // value will be replaced with "sensitive". 20179 func (s ResetCacheParameterGroupInput) GoString() string { 20180 return s.String() 20181 } 20182 20183 // Validate inspects the fields of the type to determine if they are valid. 20184 func (s *ResetCacheParameterGroupInput) Validate() error { 20185 invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} 20186 if s.CacheParameterGroupName == nil { 20187 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 20188 } 20189 20190 if invalidParams.Len() > 0 { 20191 return invalidParams 20192 } 20193 return nil 20194 } 20195 20196 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 20197 func (s *ResetCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ResetCacheParameterGroupInput { 20198 s.CacheParameterGroupName = &v 20199 return s 20200 } 20201 20202 // SetParameterNameValues sets the ParameterNameValues field's value. 20203 func (s *ResetCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ResetCacheParameterGroupInput { 20204 s.ParameterNameValues = v 20205 return s 20206 } 20207 20208 // SetResetAllParameters sets the ResetAllParameters field's value. 20209 func (s *ResetCacheParameterGroupInput) SetResetAllParameters(v bool) *ResetCacheParameterGroupInput { 20210 s.ResetAllParameters = &v 20211 return s 20212 } 20213 20214 // A list of PreferredAvailabilityZones objects that specifies the configuration 20215 // of a node group in the resharded cluster. 20216 type ReshardingConfiguration struct { 20217 _ struct{} `type:"structure"` 20218 20219 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 20220 // for the node group these configuration values apply to. 20221 NodeGroupId *string `min:"1" type:"string"` 20222 20223 // A list of preferred availability zones for the nodes in this cluster. 20224 PreferredAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 20225 } 20226 20227 // String returns the string representation. 20228 // 20229 // API parameter values that are decorated as "sensitive" in the API will not 20230 // be included in the string output. The member name will be present, but the 20231 // value will be replaced with "sensitive". 20232 func (s ReshardingConfiguration) String() string { 20233 return awsutil.Prettify(s) 20234 } 20235 20236 // GoString returns the string representation. 20237 // 20238 // API parameter values that are decorated as "sensitive" in the API will not 20239 // be included in the string output. The member name will be present, but the 20240 // value will be replaced with "sensitive". 20241 func (s ReshardingConfiguration) GoString() string { 20242 return s.String() 20243 } 20244 20245 // Validate inspects the fields of the type to determine if they are valid. 20246 func (s *ReshardingConfiguration) Validate() error { 20247 invalidParams := request.ErrInvalidParams{Context: "ReshardingConfiguration"} 20248 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 20249 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 20250 } 20251 20252 if invalidParams.Len() > 0 { 20253 return invalidParams 20254 } 20255 return nil 20256 } 20257 20258 // SetNodeGroupId sets the NodeGroupId field's value. 20259 func (s *ReshardingConfiguration) SetNodeGroupId(v string) *ReshardingConfiguration { 20260 s.NodeGroupId = &v 20261 return s 20262 } 20263 20264 // SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 20265 func (s *ReshardingConfiguration) SetPreferredAvailabilityZones(v []*string) *ReshardingConfiguration { 20266 s.PreferredAvailabilityZones = v 20267 return s 20268 } 20269 20270 // The status of an online resharding operation. 20271 type ReshardingStatus struct { 20272 _ struct{} `type:"structure"` 20273 20274 // Represents the progress of an online resharding operation. 20275 SlotMigration *SlotMigration `type:"structure"` 20276 } 20277 20278 // String returns the string representation. 20279 // 20280 // API parameter values that are decorated as "sensitive" in the API will not 20281 // be included in the string output. The member name will be present, but the 20282 // value will be replaced with "sensitive". 20283 func (s ReshardingStatus) String() string { 20284 return awsutil.Prettify(s) 20285 } 20286 20287 // GoString returns the string representation. 20288 // 20289 // API parameter values that are decorated as "sensitive" in the API will not 20290 // be included in the string output. The member name will be present, but the 20291 // value will be replaced with "sensitive". 20292 func (s ReshardingStatus) GoString() string { 20293 return s.String() 20294 } 20295 20296 // SetSlotMigration sets the SlotMigration field's value. 20297 func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { 20298 s.SlotMigration = v 20299 return s 20300 } 20301 20302 // Represents the input of a RevokeCacheSecurityGroupIngress operation. 20303 type RevokeCacheSecurityGroupIngressInput struct { 20304 _ struct{} `type:"structure"` 20305 20306 // The name of the cache security group to revoke ingress from. 20307 // 20308 // CacheSecurityGroupName is a required field 20309 CacheSecurityGroupName *string `type:"string" required:"true"` 20310 20311 // The name of the Amazon EC2 security group to revoke access from. 20312 // 20313 // EC2SecurityGroupName is a required field 20314 EC2SecurityGroupName *string `type:"string" required:"true"` 20315 20316 // The Amazon account number of the Amazon EC2 security group owner. Note that 20317 // this is not the same thing as an Amazon access key ID - you must provide 20318 // a valid Amazon account number for this parameter. 20319 // 20320 // EC2SecurityGroupOwnerId is a required field 20321 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 20322 } 20323 20324 // String returns the string representation. 20325 // 20326 // API parameter values that are decorated as "sensitive" in the API will not 20327 // be included in the string output. The member name will be present, but the 20328 // value will be replaced with "sensitive". 20329 func (s RevokeCacheSecurityGroupIngressInput) String() string { 20330 return awsutil.Prettify(s) 20331 } 20332 20333 // GoString returns the string representation. 20334 // 20335 // API parameter values that are decorated as "sensitive" in the API will not 20336 // be included in the string output. The member name will be present, but the 20337 // value will be replaced with "sensitive". 20338 func (s RevokeCacheSecurityGroupIngressInput) GoString() string { 20339 return s.String() 20340 } 20341 20342 // Validate inspects the fields of the type to determine if they are valid. 20343 func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { 20344 invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} 20345 if s.CacheSecurityGroupName == nil { 20346 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 20347 } 20348 if s.EC2SecurityGroupName == nil { 20349 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 20350 } 20351 if s.EC2SecurityGroupOwnerId == nil { 20352 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 20353 } 20354 20355 if invalidParams.Len() > 0 { 20356 return invalidParams 20357 } 20358 return nil 20359 } 20360 20361 // SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 20362 func (s *RevokeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 20363 s.CacheSecurityGroupName = &v 20364 return s 20365 } 20366 20367 // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 20368 func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 20369 s.EC2SecurityGroupName = &v 20370 return s 20371 } 20372 20373 // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 20374 func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeCacheSecurityGroupIngressInput { 20375 s.EC2SecurityGroupOwnerId = &v 20376 return s 20377 } 20378 20379 type RevokeCacheSecurityGroupIngressOutput struct { 20380 _ struct{} `type:"structure"` 20381 20382 // Represents the output of one of the following operations: 20383 // 20384 // * AuthorizeCacheSecurityGroupIngress 20385 // 20386 // * CreateCacheSecurityGroup 20387 // 20388 // * RevokeCacheSecurityGroupIngress 20389 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 20390 } 20391 20392 // String returns the string representation. 20393 // 20394 // API parameter values that are decorated as "sensitive" in the API will not 20395 // be included in the string output. The member name will be present, but the 20396 // value will be replaced with "sensitive". 20397 func (s RevokeCacheSecurityGroupIngressOutput) String() string { 20398 return awsutil.Prettify(s) 20399 } 20400 20401 // GoString returns the string representation. 20402 // 20403 // API parameter values that are decorated as "sensitive" in the API will not 20404 // be included in the string output. The member name will be present, but the 20405 // value will be replaced with "sensitive". 20406 func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { 20407 return s.String() 20408 } 20409 20410 // SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 20411 func (s *RevokeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *RevokeCacheSecurityGroupIngressOutput { 20412 s.CacheSecurityGroup = v 20413 return s 20414 } 20415 20416 // Represents a single cache security group and its status. 20417 type SecurityGroupMembership struct { 20418 _ struct{} `type:"structure"` 20419 20420 // The identifier of the cache security group. 20421 SecurityGroupId *string `type:"string"` 20422 20423 // The status of the cache security group membership. The status changes whenever 20424 // a cache security group is modified, or when the cache security groups assigned 20425 // to a cluster are modified. 20426 Status *string `type:"string"` 20427 } 20428 20429 // String returns the string representation. 20430 // 20431 // API parameter values that are decorated as "sensitive" in the API will not 20432 // be included in the string output. The member name will be present, but the 20433 // value will be replaced with "sensitive". 20434 func (s SecurityGroupMembership) String() string { 20435 return awsutil.Prettify(s) 20436 } 20437 20438 // GoString returns the string representation. 20439 // 20440 // API parameter values that are decorated as "sensitive" in the API will not 20441 // be included in the string output. The member name will be present, but the 20442 // value will be replaced with "sensitive". 20443 func (s SecurityGroupMembership) GoString() string { 20444 return s.String() 20445 } 20446 20447 // SetSecurityGroupId sets the SecurityGroupId field's value. 20448 func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { 20449 s.SecurityGroupId = &v 20450 return s 20451 } 20452 20453 // SetStatus sets the Status field's value. 20454 func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { 20455 s.Status = &v 20456 return s 20457 } 20458 20459 // An update that you can apply to your Redis clusters. 20460 type ServiceUpdate struct { 20461 _ struct{} `type:"structure"` 20462 20463 // Indicates whether the service update will be automatically applied once the 20464 // recommended apply-by date has expired. 20465 AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` 20466 20467 // The Elasticache engine to which the update applies. Either Redis or Memcached 20468 Engine *string `type:"string"` 20469 20470 // The Elasticache engine version to which the update applies. Either Redis 20471 // or Memcached engine version 20472 EngineVersion *string `type:"string"` 20473 20474 // The estimated length of time the service update will take 20475 EstimatedUpdateTime *string `type:"string"` 20476 20477 // Provides details of the service update 20478 ServiceUpdateDescription *string `type:"string"` 20479 20480 // The date after which the service update is no longer available 20481 ServiceUpdateEndDate *time.Time `type:"timestamp"` 20482 20483 // The unique ID of the service update 20484 ServiceUpdateName *string `type:"string"` 20485 20486 // The recommendend date to apply the service update in order to ensure compliance. 20487 // For information on compliance, see Self-Service Security Updates for Compliance 20488 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 20489 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 20490 20491 // The date when the service update is initially available 20492 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 20493 20494 // The severity of the service update 20495 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 20496 20497 // The status of the service update 20498 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 20499 20500 // Reflects the nature of the service update 20501 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 20502 } 20503 20504 // String returns the string representation. 20505 // 20506 // API parameter values that are decorated as "sensitive" in the API will not 20507 // be included in the string output. The member name will be present, but the 20508 // value will be replaced with "sensitive". 20509 func (s ServiceUpdate) String() string { 20510 return awsutil.Prettify(s) 20511 } 20512 20513 // GoString returns the string representation. 20514 // 20515 // API parameter values that are decorated as "sensitive" in the API will not 20516 // be included in the string output. The member name will be present, but the 20517 // value will be replaced with "sensitive". 20518 func (s ServiceUpdate) GoString() string { 20519 return s.String() 20520 } 20521 20522 // SetAutoUpdateAfterRecommendedApplyByDate sets the AutoUpdateAfterRecommendedApplyByDate field's value. 20523 func (s *ServiceUpdate) SetAutoUpdateAfterRecommendedApplyByDate(v bool) *ServiceUpdate { 20524 s.AutoUpdateAfterRecommendedApplyByDate = &v 20525 return s 20526 } 20527 20528 // SetEngine sets the Engine field's value. 20529 func (s *ServiceUpdate) SetEngine(v string) *ServiceUpdate { 20530 s.Engine = &v 20531 return s 20532 } 20533 20534 // SetEngineVersion sets the EngineVersion field's value. 20535 func (s *ServiceUpdate) SetEngineVersion(v string) *ServiceUpdate { 20536 s.EngineVersion = &v 20537 return s 20538 } 20539 20540 // SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 20541 func (s *ServiceUpdate) SetEstimatedUpdateTime(v string) *ServiceUpdate { 20542 s.EstimatedUpdateTime = &v 20543 return s 20544 } 20545 20546 // SetServiceUpdateDescription sets the ServiceUpdateDescription field's value. 20547 func (s *ServiceUpdate) SetServiceUpdateDescription(v string) *ServiceUpdate { 20548 s.ServiceUpdateDescription = &v 20549 return s 20550 } 20551 20552 // SetServiceUpdateEndDate sets the ServiceUpdateEndDate field's value. 20553 func (s *ServiceUpdate) SetServiceUpdateEndDate(v time.Time) *ServiceUpdate { 20554 s.ServiceUpdateEndDate = &v 20555 return s 20556 } 20557 20558 // SetServiceUpdateName sets the ServiceUpdateName field's value. 20559 func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { 20560 s.ServiceUpdateName = &v 20561 return s 20562 } 20563 20564 // SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 20565 func (s *ServiceUpdate) SetServiceUpdateRecommendedApplyByDate(v time.Time) *ServiceUpdate { 20566 s.ServiceUpdateRecommendedApplyByDate = &v 20567 return s 20568 } 20569 20570 // SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 20571 func (s *ServiceUpdate) SetServiceUpdateReleaseDate(v time.Time) *ServiceUpdate { 20572 s.ServiceUpdateReleaseDate = &v 20573 return s 20574 } 20575 20576 // SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 20577 func (s *ServiceUpdate) SetServiceUpdateSeverity(v string) *ServiceUpdate { 20578 s.ServiceUpdateSeverity = &v 20579 return s 20580 } 20581 20582 // SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 20583 func (s *ServiceUpdate) SetServiceUpdateStatus(v string) *ServiceUpdate { 20584 s.ServiceUpdateStatus = &v 20585 return s 20586 } 20587 20588 // SetServiceUpdateType sets the ServiceUpdateType field's value. 20589 func (s *ServiceUpdate) SetServiceUpdateType(v string) *ServiceUpdate { 20590 s.ServiceUpdateType = &v 20591 return s 20592 } 20593 20594 // Represents the progress of an online resharding operation. 20595 type SlotMigration struct { 20596 _ struct{} `type:"structure"` 20597 20598 // The percentage of the slot migration that is complete. 20599 ProgressPercentage *float64 `type:"double"` 20600 } 20601 20602 // String returns the string representation. 20603 // 20604 // API parameter values that are decorated as "sensitive" in the API will not 20605 // be included in the string output. The member name will be present, but the 20606 // value will be replaced with "sensitive". 20607 func (s SlotMigration) String() string { 20608 return awsutil.Prettify(s) 20609 } 20610 20611 // GoString returns the string representation. 20612 // 20613 // API parameter values that are decorated as "sensitive" in the API will not 20614 // be included in the string output. The member name will be present, but the 20615 // value will be replaced with "sensitive". 20616 func (s SlotMigration) GoString() string { 20617 return s.String() 20618 } 20619 20620 // SetProgressPercentage sets the ProgressPercentage field's value. 20621 func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { 20622 s.ProgressPercentage = &v 20623 return s 20624 } 20625 20626 // Represents a copy of an entire Redis cluster as of the time when the snapshot 20627 // was taken. 20628 type Snapshot struct { 20629 _ struct{} `type:"structure"` 20630 20631 // The ARN (Amazon Resource Name) of the snapshot. 20632 ARN *string `type:"string"` 20633 20634 // This parameter is currently disabled. 20635 AutoMinorVersionUpgrade *bool `type:"boolean"` 20636 20637 // Indicates the status of automatic failover for the source Redis replication 20638 // group. 20639 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 20640 20641 // The date and time when the source cluster was created. 20642 CacheClusterCreateTime *time.Time `type:"timestamp"` 20643 20644 // The user-supplied identifier of the source cluster. 20645 CacheClusterId *string `type:"string"` 20646 20647 // The name of the compute and memory capacity node type for the source cluster. 20648 // 20649 // The following node types are supported by ElastiCache. Generally speaking, 20650 // the current generation types provide more memory and computational power 20651 // at lower cost when compared to their equivalent previous generation counterparts. 20652 // 20653 // * General purpose: Current generation: M6g node types (available only 20654 // for Redis engine version 5.0.6 onward and for Memcached engine version 20655 // 1.5.16 onward). cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, 20656 // cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge 20657 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 20658 // M5 node types: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, 20659 // cache.m5.12xlarge, cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, 20660 // cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, 20661 // cache.t3.small, cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, 20662 // cache.t2.medium Previous generation: (not recommended) T1 node types: 20663 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 20664 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 20665 // cache.m3.2xlarge 20666 // 20667 // * Compute optimized: Previous generation: (not recommended) C1 node types: 20668 // cache.c1.xlarge 20669 // 20670 // * Memory optimized: Current generation: R6g node types (available only 20671 // for Redis engine version 5.0.6 onward and for Memcached engine version 20672 // 1.5.16 onward). cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, 20673 // cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge 20674 // For region availability, see Supported Node Types (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html#CacheNodes.SupportedTypesByRegion) 20675 // R5 node types: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, 20676 // cache.r5.12xlarge, cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, 20677 // cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge 20678 // Previous generation: (not recommended) M2 node types: cache.m2.xlarge, 20679 // cache.m2.2xlarge, cache.m2.4xlarge R3 node types: cache.r3.large, cache.r3.xlarge, 20680 // cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge 20681 // 20682 // Additional node type info 20683 // 20684 // * All current generation instance types are created in Amazon VPC by default. 20685 // 20686 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 20687 // 20688 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 20689 // 20690 // * Redis configuration variables appendonly and appendfsync are not supported 20691 // on Redis version 2.8.22 and later. 20692 CacheNodeType *string `type:"string"` 20693 20694 // The cache parameter group that is associated with the source cluster. 20695 CacheParameterGroupName *string `type:"string"` 20696 20697 // The name of the cache subnet group associated with the source cluster. 20698 CacheSubnetGroupName *string `type:"string"` 20699 20700 // The name of the cache engine (memcached or redis) used by the source cluster. 20701 Engine *string `type:"string"` 20702 20703 // The version of the cache engine version that is used by the source cluster. 20704 EngineVersion *string `type:"string"` 20705 20706 // The ID of the KMS key used to encrypt the snapshot. 20707 KmsKeyId *string `type:"string"` 20708 20709 // A list of the cache nodes in the source cluster. 20710 NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"` 20711 20712 // The number of cache nodes in the source cluster. 20713 // 20714 // For clusters running Redis, this value must be 1. For clusters running Memcached, 20715 // this value must be between 1 and 40. 20716 NumCacheNodes *int64 `type:"integer"` 20717 20718 // The number of node groups (shards) in this snapshot. When restoring from 20719 // a snapshot, the number of node groups (shards) in the snapshot and in the 20720 // restored replication group must be the same. 20721 NumNodeGroups *int64 `type:"integer"` 20722 20723 // The port number used by each cache nodes in the source cluster. 20724 Port *int64 `type:"integer"` 20725 20726 // The name of the Availability Zone in which the source cluster is located. 20727 PreferredAvailabilityZone *string `type:"string"` 20728 20729 // Specifies the weekly time range during which maintenance on the cluster is 20730 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 20731 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 20732 // 20733 // Valid values for ddd are: 20734 // 20735 // * sun 20736 // 20737 // * mon 20738 // 20739 // * tue 20740 // 20741 // * wed 20742 // 20743 // * thu 20744 // 20745 // * fri 20746 // 20747 // * sat 20748 // 20749 // Example: sun:23:00-mon:01:30 20750 PreferredMaintenanceWindow *string `type:"string"` 20751 20752 // The ARN (Amazon Resource Name) of the preferred outpost. 20753 PreferredOutpostArn *string `type:"string"` 20754 20755 // A description of the source replication group. 20756 ReplicationGroupDescription *string `type:"string"` 20757 20758 // The unique identifier of the source replication group. 20759 ReplicationGroupId *string `type:"string"` 20760 20761 // The name of a snapshot. For an automatic snapshot, the name is system-generated. 20762 // For a manual snapshot, this is the user-provided name. 20763 SnapshotName *string `type:"string"` 20764 20765 // For an automatic snapshot, the number of days for which ElastiCache retains 20766 // the snapshot before deleting it. 20767 // 20768 // For manual snapshots, this field reflects the SnapshotRetentionLimit for 20769 // the source cluster when the snapshot was created. This field is otherwise 20770 // ignored: Manual snapshots do not expire, and can only be deleted using the 20771 // DeleteSnapshot operation. 20772 // 20773 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 20774 // are turned off. 20775 SnapshotRetentionLimit *int64 `type:"integer"` 20776 20777 // Indicates whether the snapshot is from an automatic backup (automated) or 20778 // was created manually (manual). 20779 SnapshotSource *string `type:"string"` 20780 20781 // The status of the snapshot. Valid values: creating | available | restoring 20782 // | copying | deleting. 20783 SnapshotStatus *string `type:"string"` 20784 20785 // The daily time range during which ElastiCache takes daily snapshots of the 20786 // source cluster. 20787 SnapshotWindow *string `type:"string"` 20788 20789 // The Amazon Resource Name (ARN) for the topic used by the source cluster for 20790 // publishing notifications. 20791 TopicArn *string `type:"string"` 20792 20793 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 20794 // group for the source cluster. 20795 VpcId *string `type:"string"` 20796 } 20797 20798 // String returns the string representation. 20799 // 20800 // API parameter values that are decorated as "sensitive" in the API will not 20801 // be included in the string output. The member name will be present, but the 20802 // value will be replaced with "sensitive". 20803 func (s Snapshot) String() string { 20804 return awsutil.Prettify(s) 20805 } 20806 20807 // GoString returns the string representation. 20808 // 20809 // API parameter values that are decorated as "sensitive" in the API will not 20810 // be included in the string output. The member name will be present, but the 20811 // value will be replaced with "sensitive". 20812 func (s Snapshot) GoString() string { 20813 return s.String() 20814 } 20815 20816 // SetARN sets the ARN field's value. 20817 func (s *Snapshot) SetARN(v string) *Snapshot { 20818 s.ARN = &v 20819 return s 20820 } 20821 20822 // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 20823 func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { 20824 s.AutoMinorVersionUpgrade = &v 20825 return s 20826 } 20827 20828 // SetAutomaticFailover sets the AutomaticFailover field's value. 20829 func (s *Snapshot) SetAutomaticFailover(v string) *Snapshot { 20830 s.AutomaticFailover = &v 20831 return s 20832 } 20833 20834 // SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 20835 func (s *Snapshot) SetCacheClusterCreateTime(v time.Time) *Snapshot { 20836 s.CacheClusterCreateTime = &v 20837 return s 20838 } 20839 20840 // SetCacheClusterId sets the CacheClusterId field's value. 20841 func (s *Snapshot) SetCacheClusterId(v string) *Snapshot { 20842 s.CacheClusterId = &v 20843 return s 20844 } 20845 20846 // SetCacheNodeType sets the CacheNodeType field's value. 20847 func (s *Snapshot) SetCacheNodeType(v string) *Snapshot { 20848 s.CacheNodeType = &v 20849 return s 20850 } 20851 20852 // SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 20853 func (s *Snapshot) SetCacheParameterGroupName(v string) *Snapshot { 20854 s.CacheParameterGroupName = &v 20855 return s 20856 } 20857 20858 // SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 20859 func (s *Snapshot) SetCacheSubnetGroupName(v string) *Snapshot { 20860 s.CacheSubnetGroupName = &v 20861 return s 20862 } 20863 20864 // SetEngine sets the Engine field's value. 20865 func (s *Snapshot) SetEngine(v string) *Snapshot { 20866 s.Engine = &v 20867 return s 20868 } 20869 20870 // SetEngineVersion sets the EngineVersion field's value. 20871 func (s *Snapshot) SetEngineVersion(v string) *Snapshot { 20872 s.EngineVersion = &v 20873 return s 20874 } 20875 20876 // SetKmsKeyId sets the KmsKeyId field's value. 20877 func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { 20878 s.KmsKeyId = &v 20879 return s 20880 } 20881 20882 // SetNodeSnapshots sets the NodeSnapshots field's value. 20883 func (s *Snapshot) SetNodeSnapshots(v []*NodeSnapshot) *Snapshot { 20884 s.NodeSnapshots = v 20885 return s 20886 } 20887 20888 // SetNumCacheNodes sets the NumCacheNodes field's value. 20889 func (s *Snapshot) SetNumCacheNodes(v int64) *Snapshot { 20890 s.NumCacheNodes = &v 20891 return s 20892 } 20893 20894 // SetNumNodeGroups sets the NumNodeGroups field's value. 20895 func (s *Snapshot) SetNumNodeGroups(v int64) *Snapshot { 20896 s.NumNodeGroups = &v 20897 return s 20898 } 20899 20900 // SetPort sets the Port field's value. 20901 func (s *Snapshot) SetPort(v int64) *Snapshot { 20902 s.Port = &v 20903 return s 20904 } 20905 20906 // SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 20907 func (s *Snapshot) SetPreferredAvailabilityZone(v string) *Snapshot { 20908 s.PreferredAvailabilityZone = &v 20909 return s 20910 } 20911 20912 // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 20913 func (s *Snapshot) SetPreferredMaintenanceWindow(v string) *Snapshot { 20914 s.PreferredMaintenanceWindow = &v 20915 return s 20916 } 20917 20918 // SetPreferredOutpostArn sets the PreferredOutpostArn field's value. 20919 func (s *Snapshot) SetPreferredOutpostArn(v string) *Snapshot { 20920 s.PreferredOutpostArn = &v 20921 return s 20922 } 20923 20924 // SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 20925 func (s *Snapshot) SetReplicationGroupDescription(v string) *Snapshot { 20926 s.ReplicationGroupDescription = &v 20927 return s 20928 } 20929 20930 // SetReplicationGroupId sets the ReplicationGroupId field's value. 20931 func (s *Snapshot) SetReplicationGroupId(v string) *Snapshot { 20932 s.ReplicationGroupId = &v 20933 return s 20934 } 20935 20936 // SetSnapshotName sets the SnapshotName field's value. 20937 func (s *Snapshot) SetSnapshotName(v string) *Snapshot { 20938 s.SnapshotName = &v 20939 return s 20940 } 20941 20942 // SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 20943 func (s *Snapshot) SetSnapshotRetentionLimit(v int64) *Snapshot { 20944 s.SnapshotRetentionLimit = &v 20945 return s 20946 } 20947 20948 // SetSnapshotSource sets the SnapshotSource field's value. 20949 func (s *Snapshot) SetSnapshotSource(v string) *Snapshot { 20950 s.SnapshotSource = &v 20951 return s 20952 } 20953 20954 // SetSnapshotStatus sets the SnapshotStatus field's value. 20955 func (s *Snapshot) SetSnapshotStatus(v string) *Snapshot { 20956 s.SnapshotStatus = &v 20957 return s 20958 } 20959 20960 // SetSnapshotWindow sets the SnapshotWindow field's value. 20961 func (s *Snapshot) SetSnapshotWindow(v string) *Snapshot { 20962 s.SnapshotWindow = &v 20963 return s 20964 } 20965 20966 // SetTopicArn sets the TopicArn field's value. 20967 func (s *Snapshot) SetTopicArn(v string) *Snapshot { 20968 s.TopicArn = &v 20969 return s 20970 } 20971 20972 // SetVpcId sets the VpcId field's value. 20973 func (s *Snapshot) SetVpcId(v string) *Snapshot { 20974 s.VpcId = &v 20975 return s 20976 } 20977 20978 type StartMigrationInput struct { 20979 _ struct{} `type:"structure"` 20980 20981 // List of endpoints from which data should be migrated. For Redis (cluster 20982 // mode disabled), list should have only one element. 20983 // 20984 // CustomerNodeEndpointList is a required field 20985 CustomerNodeEndpointList []*CustomerNodeEndpoint `type:"list" required:"true"` 20986 20987 // The ID of the replication group to which data should be migrated. 20988 // 20989 // ReplicationGroupId is a required field 20990 ReplicationGroupId *string `type:"string" required:"true"` 20991 } 20992 20993 // String returns the string representation. 20994 // 20995 // API parameter values that are decorated as "sensitive" in the API will not 20996 // be included in the string output. The member name will be present, but the 20997 // value will be replaced with "sensitive". 20998 func (s StartMigrationInput) String() string { 20999 return awsutil.Prettify(s) 21000 } 21001 21002 // GoString returns the string representation. 21003 // 21004 // API parameter values that are decorated as "sensitive" in the API will not 21005 // be included in the string output. The member name will be present, but the 21006 // value will be replaced with "sensitive". 21007 func (s StartMigrationInput) GoString() string { 21008 return s.String() 21009 } 21010 21011 // Validate inspects the fields of the type to determine if they are valid. 21012 func (s *StartMigrationInput) Validate() error { 21013 invalidParams := request.ErrInvalidParams{Context: "StartMigrationInput"} 21014 if s.CustomerNodeEndpointList == nil { 21015 invalidParams.Add(request.NewErrParamRequired("CustomerNodeEndpointList")) 21016 } 21017 if s.ReplicationGroupId == nil { 21018 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 21019 } 21020 21021 if invalidParams.Len() > 0 { 21022 return invalidParams 21023 } 21024 return nil 21025 } 21026 21027 // SetCustomerNodeEndpointList sets the CustomerNodeEndpointList field's value. 21028 func (s *StartMigrationInput) SetCustomerNodeEndpointList(v []*CustomerNodeEndpoint) *StartMigrationInput { 21029 s.CustomerNodeEndpointList = v 21030 return s 21031 } 21032 21033 // SetReplicationGroupId sets the ReplicationGroupId field's value. 21034 func (s *StartMigrationInput) SetReplicationGroupId(v string) *StartMigrationInput { 21035 s.ReplicationGroupId = &v 21036 return s 21037 } 21038 21039 type StartMigrationOutput struct { 21040 _ struct{} `type:"structure"` 21041 21042 // Contains all of the attributes of a specific Redis replication group. 21043 ReplicationGroup *ReplicationGroup `type:"structure"` 21044 } 21045 21046 // String returns the string representation. 21047 // 21048 // API parameter values that are decorated as "sensitive" in the API will not 21049 // be included in the string output. The member name will be present, but the 21050 // value will be replaced with "sensitive". 21051 func (s StartMigrationOutput) String() string { 21052 return awsutil.Prettify(s) 21053 } 21054 21055 // GoString returns the string representation. 21056 // 21057 // API parameter values that are decorated as "sensitive" in the API will not 21058 // be included in the string output. The member name will be present, but the 21059 // value will be replaced with "sensitive". 21060 func (s StartMigrationOutput) GoString() string { 21061 return s.String() 21062 } 21063 21064 // SetReplicationGroup sets the ReplicationGroup field's value. 21065 func (s *StartMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *StartMigrationOutput { 21066 s.ReplicationGroup = v 21067 return s 21068 } 21069 21070 // Represents the subnet associated with a cluster. This parameter refers to 21071 // subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with 21072 // ElastiCache. 21073 type Subnet struct { 21074 _ struct{} `type:"structure"` 21075 21076 // The Availability Zone associated with the subnet. 21077 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 21078 21079 // The unique identifier for the subnet. 21080 SubnetIdentifier *string `type:"string"` 21081 21082 // The outpost ARN of the subnet. 21083 SubnetOutpost *SubnetOutpost `type:"structure"` 21084 } 21085 21086 // String returns the string representation. 21087 // 21088 // API parameter values that are decorated as "sensitive" in the API will not 21089 // be included in the string output. The member name will be present, but the 21090 // value will be replaced with "sensitive". 21091 func (s Subnet) String() string { 21092 return awsutil.Prettify(s) 21093 } 21094 21095 // GoString returns the string representation. 21096 // 21097 // API parameter values that are decorated as "sensitive" in the API will not 21098 // be included in the string output. The member name will be present, but the 21099 // value will be replaced with "sensitive". 21100 func (s Subnet) GoString() string { 21101 return s.String() 21102 } 21103 21104 // SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 21105 func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 21106 s.SubnetAvailabilityZone = v 21107 return s 21108 } 21109 21110 // SetSubnetIdentifier sets the SubnetIdentifier field's value. 21111 func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 21112 s.SubnetIdentifier = &v 21113 return s 21114 } 21115 21116 // SetSubnetOutpost sets the SubnetOutpost field's value. 21117 func (s *Subnet) SetSubnetOutpost(v *SubnetOutpost) *Subnet { 21118 s.SubnetOutpost = v 21119 return s 21120 } 21121 21122 // The ID of the outpost subnet. 21123 type SubnetOutpost struct { 21124 _ struct{} `type:"structure"` 21125 21126 // The outpost ARN of the subnet. 21127 SubnetOutpostArn *string `type:"string"` 21128 } 21129 21130 // String returns the string representation. 21131 // 21132 // API parameter values that are decorated as "sensitive" in the API will not 21133 // be included in the string output. The member name will be present, but the 21134 // value will be replaced with "sensitive". 21135 func (s SubnetOutpost) String() string { 21136 return awsutil.Prettify(s) 21137 } 21138 21139 // GoString returns the string representation. 21140 // 21141 // API parameter values that are decorated as "sensitive" in the API will not 21142 // be included in the string output. The member name will be present, but the 21143 // value will be replaced with "sensitive". 21144 func (s SubnetOutpost) GoString() string { 21145 return s.String() 21146 } 21147 21148 // SetSubnetOutpostArn sets the SubnetOutpostArn field's value. 21149 func (s *SubnetOutpost) SetSubnetOutpostArn(v string) *SubnetOutpost { 21150 s.SubnetOutpostArn = &v 21151 return s 21152 } 21153 21154 // A tag that can be added to an ElastiCache cluster or replication group. Tags 21155 // are composed of a Key/Value pair. You can use tags to categorize and track 21156 // all your ElastiCache resources, with the exception of global replication 21157 // group. When you add or remove tags on replication groups, those actions will 21158 // be replicated to all nodes in the replication group. A tag with a null Value 21159 // is permitted. 21160 type Tag struct { 21161 _ struct{} `type:"structure"` 21162 21163 // The key for the tag. May not be null. 21164 Key *string `type:"string"` 21165 21166 // The tag's value. May be null. 21167 Value *string `type:"string"` 21168 } 21169 21170 // String returns the string representation. 21171 // 21172 // API parameter values that are decorated as "sensitive" in the API will not 21173 // be included in the string output. The member name will be present, but the 21174 // value will be replaced with "sensitive". 21175 func (s Tag) String() string { 21176 return awsutil.Prettify(s) 21177 } 21178 21179 // GoString returns the string representation. 21180 // 21181 // API parameter values that are decorated as "sensitive" in the API will not 21182 // be included in the string output. The member name will be present, but the 21183 // value will be replaced with "sensitive". 21184 func (s Tag) GoString() string { 21185 return s.String() 21186 } 21187 21188 // SetKey sets the Key field's value. 21189 func (s *Tag) SetKey(v string) *Tag { 21190 s.Key = &v 21191 return s 21192 } 21193 21194 // SetValue sets the Value field's value. 21195 func (s *Tag) SetValue(v string) *Tag { 21196 s.Value = &v 21197 return s 21198 } 21199 21200 // Represents the output from the AddTagsToResource, ListTagsForResource, and 21201 // RemoveTagsFromResource operations. 21202 type TagListMessage struct { 21203 _ struct{} `type:"structure"` 21204 21205 // A list of tags as key-value pairs. 21206 TagList []*Tag `locationNameList:"Tag" type:"list"` 21207 } 21208 21209 // String returns the string representation. 21210 // 21211 // API parameter values that are decorated as "sensitive" in the API will not 21212 // be included in the string output. The member name will be present, but the 21213 // value will be replaced with "sensitive". 21214 func (s TagListMessage) String() string { 21215 return awsutil.Prettify(s) 21216 } 21217 21218 // GoString returns the string representation. 21219 // 21220 // API parameter values that are decorated as "sensitive" in the API will not 21221 // be included in the string output. The member name will be present, but the 21222 // value will be replaced with "sensitive". 21223 func (s TagListMessage) GoString() string { 21224 return s.String() 21225 } 21226 21227 // SetTagList sets the TagList field's value. 21228 func (s *TagListMessage) SetTagList(v []*Tag) *TagListMessage { 21229 s.TagList = v 21230 return s 21231 } 21232 21233 type TestFailoverInput struct { 21234 _ struct{} `type:"structure"` 21235 21236 // The name of the node group (called shard in the console) in this replication 21237 // group on which automatic failover is to be tested. You may test automatic 21238 // failover on up to 5 node groups in any rolling 24-hour period. 21239 // 21240 // NodeGroupId is a required field 21241 NodeGroupId *string `min:"1" type:"string" required:"true"` 21242 21243 // The name of the replication group (console: cluster) whose automatic failover 21244 // is being tested by this operation. 21245 // 21246 // ReplicationGroupId is a required field 21247 ReplicationGroupId *string `type:"string" required:"true"` 21248 } 21249 21250 // String returns the string representation. 21251 // 21252 // API parameter values that are decorated as "sensitive" in the API will not 21253 // be included in the string output. The member name will be present, but the 21254 // value will be replaced with "sensitive". 21255 func (s TestFailoverInput) String() string { 21256 return awsutil.Prettify(s) 21257 } 21258 21259 // GoString returns the string representation. 21260 // 21261 // API parameter values that are decorated as "sensitive" in the API will not 21262 // be included in the string output. The member name will be present, but the 21263 // value will be replaced with "sensitive". 21264 func (s TestFailoverInput) GoString() string { 21265 return s.String() 21266 } 21267 21268 // Validate inspects the fields of the type to determine if they are valid. 21269 func (s *TestFailoverInput) Validate() error { 21270 invalidParams := request.ErrInvalidParams{Context: "TestFailoverInput"} 21271 if s.NodeGroupId == nil { 21272 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 21273 } 21274 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 21275 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 21276 } 21277 if s.ReplicationGroupId == nil { 21278 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 21279 } 21280 21281 if invalidParams.Len() > 0 { 21282 return invalidParams 21283 } 21284 return nil 21285 } 21286 21287 // SetNodeGroupId sets the NodeGroupId field's value. 21288 func (s *TestFailoverInput) SetNodeGroupId(v string) *TestFailoverInput { 21289 s.NodeGroupId = &v 21290 return s 21291 } 21292 21293 // SetReplicationGroupId sets the ReplicationGroupId field's value. 21294 func (s *TestFailoverInput) SetReplicationGroupId(v string) *TestFailoverInput { 21295 s.ReplicationGroupId = &v 21296 return s 21297 } 21298 21299 type TestFailoverOutput struct { 21300 _ struct{} `type:"structure"` 21301 21302 // Contains all of the attributes of a specific Redis replication group. 21303 ReplicationGroup *ReplicationGroup `type:"structure"` 21304 } 21305 21306 // String returns the string representation. 21307 // 21308 // API parameter values that are decorated as "sensitive" in the API will not 21309 // be included in the string output. The member name will be present, but the 21310 // value will be replaced with "sensitive". 21311 func (s TestFailoverOutput) String() string { 21312 return awsutil.Prettify(s) 21313 } 21314 21315 // GoString returns the string representation. 21316 // 21317 // API parameter values that are decorated as "sensitive" in the API will not 21318 // be included in the string output. The member name will be present, but the 21319 // value will be replaced with "sensitive". 21320 func (s TestFailoverOutput) GoString() string { 21321 return s.String() 21322 } 21323 21324 // SetReplicationGroup sets the ReplicationGroup field's value. 21325 func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailoverOutput { 21326 s.ReplicationGroup = v 21327 return s 21328 } 21329 21330 // Filters update actions from the service updates that are in available status 21331 // during the time range. 21332 type TimeRangeFilter struct { 21333 _ struct{} `type:"structure"` 21334 21335 // The end time of the time range filter 21336 EndTime *time.Time `type:"timestamp"` 21337 21338 // The start time of the time range filter 21339 StartTime *time.Time `type:"timestamp"` 21340 } 21341 21342 // String returns the string representation. 21343 // 21344 // API parameter values that are decorated as "sensitive" in the API will not 21345 // be included in the string output. The member name will be present, but the 21346 // value will be replaced with "sensitive". 21347 func (s TimeRangeFilter) String() string { 21348 return awsutil.Prettify(s) 21349 } 21350 21351 // GoString returns the string representation. 21352 // 21353 // API parameter values that are decorated as "sensitive" in the API will not 21354 // be included in the string output. The member name will be present, but the 21355 // value will be replaced with "sensitive". 21356 func (s TimeRangeFilter) GoString() string { 21357 return s.String() 21358 } 21359 21360 // SetEndTime sets the EndTime field's value. 21361 func (s *TimeRangeFilter) SetEndTime(v time.Time) *TimeRangeFilter { 21362 s.EndTime = &v 21363 return s 21364 } 21365 21366 // SetStartTime sets the StartTime field's value. 21367 func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { 21368 s.StartTime = &v 21369 return s 21370 } 21371 21372 // Update action that has failed to be processed for the corresponding apply/stop 21373 // request 21374 type UnprocessedUpdateAction struct { 21375 _ struct{} `type:"structure"` 21376 21377 // The ID of the cache cluster 21378 CacheClusterId *string `type:"string"` 21379 21380 // The error message that describes the reason the request was not processed 21381 ErrorMessage *string `type:"string"` 21382 21383 // The error type for requests that are not processed 21384 ErrorType *string `type:"string"` 21385 21386 // The replication group ID 21387 ReplicationGroupId *string `type:"string"` 21388 21389 // The unique ID of the service update 21390 ServiceUpdateName *string `type:"string"` 21391 } 21392 21393 // String returns the string representation. 21394 // 21395 // API parameter values that are decorated as "sensitive" in the API will not 21396 // be included in the string output. The member name will be present, but the 21397 // value will be replaced with "sensitive". 21398 func (s UnprocessedUpdateAction) String() string { 21399 return awsutil.Prettify(s) 21400 } 21401 21402 // GoString returns the string representation. 21403 // 21404 // API parameter values that are decorated as "sensitive" in the API will not 21405 // be included in the string output. The member name will be present, but the 21406 // value will be replaced with "sensitive". 21407 func (s UnprocessedUpdateAction) GoString() string { 21408 return s.String() 21409 } 21410 21411 // SetCacheClusterId sets the CacheClusterId field's value. 21412 func (s *UnprocessedUpdateAction) SetCacheClusterId(v string) *UnprocessedUpdateAction { 21413 s.CacheClusterId = &v 21414 return s 21415 } 21416 21417 // SetErrorMessage sets the ErrorMessage field's value. 21418 func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { 21419 s.ErrorMessage = &v 21420 return s 21421 } 21422 21423 // SetErrorType sets the ErrorType field's value. 21424 func (s *UnprocessedUpdateAction) SetErrorType(v string) *UnprocessedUpdateAction { 21425 s.ErrorType = &v 21426 return s 21427 } 21428 21429 // SetReplicationGroupId sets the ReplicationGroupId field's value. 21430 func (s *UnprocessedUpdateAction) SetReplicationGroupId(v string) *UnprocessedUpdateAction { 21431 s.ReplicationGroupId = &v 21432 return s 21433 } 21434 21435 // SetServiceUpdateName sets the ServiceUpdateName field's value. 21436 func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpdateAction { 21437 s.ServiceUpdateName = &v 21438 return s 21439 } 21440 21441 // The status of the service update for a specific replication group 21442 type UpdateAction struct { 21443 _ struct{} `type:"structure"` 21444 21445 // The ID of the cache cluster 21446 CacheClusterId *string `type:"string"` 21447 21448 // The status of the service update on the cache node 21449 CacheNodeUpdateStatus []*CacheNodeUpdateStatus `locationNameList:"CacheNodeUpdateStatus" type:"list"` 21450 21451 // The Elasticache engine to which the update applies. Either Redis or Memcached 21452 Engine *string `type:"string"` 21453 21454 // The estimated length of time for the update to complete 21455 EstimatedUpdateTime *string `type:"string"` 21456 21457 // The status of the service update on the node group 21458 NodeGroupUpdateStatus []*NodeGroupUpdateStatus `locationNameList:"NodeGroupUpdateStatus" type:"list"` 21459 21460 // The progress of the service update on the replication group 21461 NodesUpdated *string `type:"string"` 21462 21463 // The ID of the replication group 21464 ReplicationGroupId *string `type:"string"` 21465 21466 // The unique ID of the service update 21467 ServiceUpdateName *string `type:"string"` 21468 21469 // The recommended date to apply the service update to ensure compliance. For 21470 // information on compliance, see Self-Service Security Updates for Compliance 21471 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 21472 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 21473 21474 // The date the update is first available 21475 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 21476 21477 // The severity of the service update 21478 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 21479 21480 // The status of the service update 21481 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 21482 21483 // Reflects the nature of the service update 21484 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 21485 21486 // If yes, all nodes in the replication group have been updated by the recommended 21487 // apply-by date. If no, at least one node in the replication group have not 21488 // been updated by the recommended apply-by date. If N/A, the replication group 21489 // was created after the recommended apply-by date. 21490 SlaMet *string `type:"string" enum:"SlaMet"` 21491 21492 // The date that the service update is available to a replication group 21493 UpdateActionAvailableDate *time.Time `type:"timestamp"` 21494 21495 // The status of the update action 21496 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 21497 21498 // The date when the UpdateActionStatus was last modified 21499 UpdateActionStatusModifiedDate *time.Time `type:"timestamp"` 21500 } 21501 21502 // String returns the string representation. 21503 // 21504 // API parameter values that are decorated as "sensitive" in the API will not 21505 // be included in the string output. The member name will be present, but the 21506 // value will be replaced with "sensitive". 21507 func (s UpdateAction) String() string { 21508 return awsutil.Prettify(s) 21509 } 21510 21511 // GoString returns the string representation. 21512 // 21513 // API parameter values that are decorated as "sensitive" in the API will not 21514 // be included in the string output. The member name will be present, but the 21515 // value will be replaced with "sensitive". 21516 func (s UpdateAction) GoString() string { 21517 return s.String() 21518 } 21519 21520 // SetCacheClusterId sets the CacheClusterId field's value. 21521 func (s *UpdateAction) SetCacheClusterId(v string) *UpdateAction { 21522 s.CacheClusterId = &v 21523 return s 21524 } 21525 21526 // SetCacheNodeUpdateStatus sets the CacheNodeUpdateStatus field's value. 21527 func (s *UpdateAction) SetCacheNodeUpdateStatus(v []*CacheNodeUpdateStatus) *UpdateAction { 21528 s.CacheNodeUpdateStatus = v 21529 return s 21530 } 21531 21532 // SetEngine sets the Engine field's value. 21533 func (s *UpdateAction) SetEngine(v string) *UpdateAction { 21534 s.Engine = &v 21535 return s 21536 } 21537 21538 // SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 21539 func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { 21540 s.EstimatedUpdateTime = &v 21541 return s 21542 } 21543 21544 // SetNodeGroupUpdateStatus sets the NodeGroupUpdateStatus field's value. 21545 func (s *UpdateAction) SetNodeGroupUpdateStatus(v []*NodeGroupUpdateStatus) *UpdateAction { 21546 s.NodeGroupUpdateStatus = v 21547 return s 21548 } 21549 21550 // SetNodesUpdated sets the NodesUpdated field's value. 21551 func (s *UpdateAction) SetNodesUpdated(v string) *UpdateAction { 21552 s.NodesUpdated = &v 21553 return s 21554 } 21555 21556 // SetReplicationGroupId sets the ReplicationGroupId field's value. 21557 func (s *UpdateAction) SetReplicationGroupId(v string) *UpdateAction { 21558 s.ReplicationGroupId = &v 21559 return s 21560 } 21561 21562 // SetServiceUpdateName sets the ServiceUpdateName field's value. 21563 func (s *UpdateAction) SetServiceUpdateName(v string) *UpdateAction { 21564 s.ServiceUpdateName = &v 21565 return s 21566 } 21567 21568 // SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 21569 func (s *UpdateAction) SetServiceUpdateRecommendedApplyByDate(v time.Time) *UpdateAction { 21570 s.ServiceUpdateRecommendedApplyByDate = &v 21571 return s 21572 } 21573 21574 // SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 21575 func (s *UpdateAction) SetServiceUpdateReleaseDate(v time.Time) *UpdateAction { 21576 s.ServiceUpdateReleaseDate = &v 21577 return s 21578 } 21579 21580 // SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 21581 func (s *UpdateAction) SetServiceUpdateSeverity(v string) *UpdateAction { 21582 s.ServiceUpdateSeverity = &v 21583 return s 21584 } 21585 21586 // SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 21587 func (s *UpdateAction) SetServiceUpdateStatus(v string) *UpdateAction { 21588 s.ServiceUpdateStatus = &v 21589 return s 21590 } 21591 21592 // SetServiceUpdateType sets the ServiceUpdateType field's value. 21593 func (s *UpdateAction) SetServiceUpdateType(v string) *UpdateAction { 21594 s.ServiceUpdateType = &v 21595 return s 21596 } 21597 21598 // SetSlaMet sets the SlaMet field's value. 21599 func (s *UpdateAction) SetSlaMet(v string) *UpdateAction { 21600 s.SlaMet = &v 21601 return s 21602 } 21603 21604 // SetUpdateActionAvailableDate sets the UpdateActionAvailableDate field's value. 21605 func (s *UpdateAction) SetUpdateActionAvailableDate(v time.Time) *UpdateAction { 21606 s.UpdateActionAvailableDate = &v 21607 return s 21608 } 21609 21610 // SetUpdateActionStatus sets the UpdateActionStatus field's value. 21611 func (s *UpdateAction) SetUpdateActionStatus(v string) *UpdateAction { 21612 s.UpdateActionStatus = &v 21613 return s 21614 } 21615 21616 // SetUpdateActionStatusModifiedDate sets the UpdateActionStatusModifiedDate field's value. 21617 func (s *UpdateAction) SetUpdateActionStatusModifiedDate(v time.Time) *UpdateAction { 21618 s.UpdateActionStatusModifiedDate = &v 21619 return s 21620 } 21621 21622 type User struct { 21623 _ struct{} `type:"structure"` 21624 21625 // The Amazon Resource Name (ARN) of the user. 21626 ARN *string `type:"string"` 21627 21628 // Access permissions string used for this user. 21629 AccessString *string `type:"string"` 21630 21631 // Denotes whether the user requires a password to authenticate. 21632 Authentication *Authentication `type:"structure"` 21633 21634 // The current supported value is Redis. 21635 Engine *string `type:"string"` 21636 21637 // Indicates the user status. Can be "active", "modifying" or "deleting". 21638 Status *string `type:"string"` 21639 21640 // Returns a list of the user group IDs the user belongs to. 21641 UserGroupIds []*string `type:"list"` 21642 21643 // The ID of the user. 21644 UserId *string `type:"string"` 21645 21646 // The username of the user. 21647 UserName *string `type:"string"` 21648 } 21649 21650 // String returns the string representation. 21651 // 21652 // API parameter values that are decorated as "sensitive" in the API will not 21653 // be included in the string output. The member name will be present, but the 21654 // value will be replaced with "sensitive". 21655 func (s User) String() string { 21656 return awsutil.Prettify(s) 21657 } 21658 21659 // GoString returns the string representation. 21660 // 21661 // API parameter values that are decorated as "sensitive" in the API will not 21662 // be included in the string output. The member name will be present, but the 21663 // value will be replaced with "sensitive". 21664 func (s User) GoString() string { 21665 return s.String() 21666 } 21667 21668 // SetARN sets the ARN field's value. 21669 func (s *User) SetARN(v string) *User { 21670 s.ARN = &v 21671 return s 21672 } 21673 21674 // SetAccessString sets the AccessString field's value. 21675 func (s *User) SetAccessString(v string) *User { 21676 s.AccessString = &v 21677 return s 21678 } 21679 21680 // SetAuthentication sets the Authentication field's value. 21681 func (s *User) SetAuthentication(v *Authentication) *User { 21682 s.Authentication = v 21683 return s 21684 } 21685 21686 // SetEngine sets the Engine field's value. 21687 func (s *User) SetEngine(v string) *User { 21688 s.Engine = &v 21689 return s 21690 } 21691 21692 // SetStatus sets the Status field's value. 21693 func (s *User) SetStatus(v string) *User { 21694 s.Status = &v 21695 return s 21696 } 21697 21698 // SetUserGroupIds sets the UserGroupIds field's value. 21699 func (s *User) SetUserGroupIds(v []*string) *User { 21700 s.UserGroupIds = v 21701 return s 21702 } 21703 21704 // SetUserId sets the UserId field's value. 21705 func (s *User) SetUserId(v string) *User { 21706 s.UserId = &v 21707 return s 21708 } 21709 21710 // SetUserName sets the UserName field's value. 21711 func (s *User) SetUserName(v string) *User { 21712 s.UserName = &v 21713 return s 21714 } 21715 21716 type UserGroup struct { 21717 _ struct{} `type:"structure"` 21718 21719 // The Amazon Resource Name (ARN) of the user group. 21720 ARN *string `type:"string"` 21721 21722 // The current supported value is Redis. 21723 Engine *string `type:"string"` 21724 21725 // A list of updates being applied to the user group. 21726 PendingChanges *UserGroupPendingChanges `type:"structure"` 21727 21728 // A list of replication groups that the user group can access. 21729 ReplicationGroups []*string `type:"list"` 21730 21731 // Indicates user group status. Can be "creating", "active", "modifying", "deleting". 21732 Status *string `type:"string"` 21733 21734 // The ID of the user group. 21735 UserGroupId *string `type:"string"` 21736 21737 // The list of user IDs that belong to the user group. 21738 UserIds []*string `type:"list"` 21739 } 21740 21741 // String returns the string representation. 21742 // 21743 // API parameter values that are decorated as "sensitive" in the API will not 21744 // be included in the string output. The member name will be present, but the 21745 // value will be replaced with "sensitive". 21746 func (s UserGroup) String() string { 21747 return awsutil.Prettify(s) 21748 } 21749 21750 // GoString returns the string representation. 21751 // 21752 // API parameter values that are decorated as "sensitive" in the API will not 21753 // be included in the string output. The member name will be present, but the 21754 // value will be replaced with "sensitive". 21755 func (s UserGroup) GoString() string { 21756 return s.String() 21757 } 21758 21759 // SetARN sets the ARN field's value. 21760 func (s *UserGroup) SetARN(v string) *UserGroup { 21761 s.ARN = &v 21762 return s 21763 } 21764 21765 // SetEngine sets the Engine field's value. 21766 func (s *UserGroup) SetEngine(v string) *UserGroup { 21767 s.Engine = &v 21768 return s 21769 } 21770 21771 // SetPendingChanges sets the PendingChanges field's value. 21772 func (s *UserGroup) SetPendingChanges(v *UserGroupPendingChanges) *UserGroup { 21773 s.PendingChanges = v 21774 return s 21775 } 21776 21777 // SetReplicationGroups sets the ReplicationGroups field's value. 21778 func (s *UserGroup) SetReplicationGroups(v []*string) *UserGroup { 21779 s.ReplicationGroups = v 21780 return s 21781 } 21782 21783 // SetStatus sets the Status field's value. 21784 func (s *UserGroup) SetStatus(v string) *UserGroup { 21785 s.Status = &v 21786 return s 21787 } 21788 21789 // SetUserGroupId sets the UserGroupId field's value. 21790 func (s *UserGroup) SetUserGroupId(v string) *UserGroup { 21791 s.UserGroupId = &v 21792 return s 21793 } 21794 21795 // SetUserIds sets the UserIds field's value. 21796 func (s *UserGroup) SetUserIds(v []*string) *UserGroup { 21797 s.UserIds = v 21798 return s 21799 } 21800 21801 // Returns the updates being applied to the user group. 21802 type UserGroupPendingChanges struct { 21803 _ struct{} `type:"structure"` 21804 21805 // The list of user IDs to add. 21806 UserIdsToAdd []*string `type:"list"` 21807 21808 // The list of user IDs to remove. 21809 UserIdsToRemove []*string `type:"list"` 21810 } 21811 21812 // String returns the string representation. 21813 // 21814 // API parameter values that are decorated as "sensitive" in the API will not 21815 // be included in the string output. The member name will be present, but the 21816 // value will be replaced with "sensitive". 21817 func (s UserGroupPendingChanges) String() string { 21818 return awsutil.Prettify(s) 21819 } 21820 21821 // GoString returns the string representation. 21822 // 21823 // API parameter values that are decorated as "sensitive" in the API will not 21824 // be included in the string output. The member name will be present, but the 21825 // value will be replaced with "sensitive". 21826 func (s UserGroupPendingChanges) GoString() string { 21827 return s.String() 21828 } 21829 21830 // SetUserIdsToAdd sets the UserIdsToAdd field's value. 21831 func (s *UserGroupPendingChanges) SetUserIdsToAdd(v []*string) *UserGroupPendingChanges { 21832 s.UserIdsToAdd = v 21833 return s 21834 } 21835 21836 // SetUserIdsToRemove sets the UserIdsToRemove field's value. 21837 func (s *UserGroupPendingChanges) SetUserIdsToRemove(v []*string) *UserGroupPendingChanges { 21838 s.UserIdsToRemove = v 21839 return s 21840 } 21841 21842 // The status of the user group update. 21843 type UserGroupsUpdateStatus struct { 21844 _ struct{} `type:"structure"` 21845 21846 // The ID of the user group to add. 21847 UserGroupIdsToAdd []*string `type:"list"` 21848 21849 // The ID of the user group to remove. 21850 UserGroupIdsToRemove []*string `type:"list"` 21851 } 21852 21853 // String returns the string representation. 21854 // 21855 // API parameter values that are decorated as "sensitive" in the API will not 21856 // be included in the string output. The member name will be present, but the 21857 // value will be replaced with "sensitive". 21858 func (s UserGroupsUpdateStatus) String() string { 21859 return awsutil.Prettify(s) 21860 } 21861 21862 // GoString returns the string representation. 21863 // 21864 // API parameter values that are decorated as "sensitive" in the API will not 21865 // be included in the string output. The member name will be present, but the 21866 // value will be replaced with "sensitive". 21867 func (s UserGroupsUpdateStatus) GoString() string { 21868 return s.String() 21869 } 21870 21871 // SetUserGroupIdsToAdd sets the UserGroupIdsToAdd field's value. 21872 func (s *UserGroupsUpdateStatus) SetUserGroupIdsToAdd(v []*string) *UserGroupsUpdateStatus { 21873 s.UserGroupIdsToAdd = v 21874 return s 21875 } 21876 21877 // SetUserGroupIdsToRemove sets the UserGroupIdsToRemove field's value. 21878 func (s *UserGroupsUpdateStatus) SetUserGroupIdsToRemove(v []*string) *UserGroupsUpdateStatus { 21879 s.UserGroupIdsToRemove = v 21880 return s 21881 } 21882 21883 const ( 21884 // AZModeSingleAz is a AZMode enum value 21885 AZModeSingleAz = "single-az" 21886 21887 // AZModeCrossAz is a AZMode enum value 21888 AZModeCrossAz = "cross-az" 21889 ) 21890 21891 // AZMode_Values returns all elements of the AZMode enum 21892 func AZMode_Values() []string { 21893 return []string{ 21894 AZModeSingleAz, 21895 AZModeCrossAz, 21896 } 21897 } 21898 21899 const ( 21900 // AuthTokenUpdateStatusSetting is a AuthTokenUpdateStatus enum value 21901 AuthTokenUpdateStatusSetting = "SETTING" 21902 21903 // AuthTokenUpdateStatusRotating is a AuthTokenUpdateStatus enum value 21904 AuthTokenUpdateStatusRotating = "ROTATING" 21905 ) 21906 21907 // AuthTokenUpdateStatus_Values returns all elements of the AuthTokenUpdateStatus enum 21908 func AuthTokenUpdateStatus_Values() []string { 21909 return []string{ 21910 AuthTokenUpdateStatusSetting, 21911 AuthTokenUpdateStatusRotating, 21912 } 21913 } 21914 21915 const ( 21916 // AuthTokenUpdateStrategyTypeSet is a AuthTokenUpdateStrategyType enum value 21917 AuthTokenUpdateStrategyTypeSet = "SET" 21918 21919 // AuthTokenUpdateStrategyTypeRotate is a AuthTokenUpdateStrategyType enum value 21920 AuthTokenUpdateStrategyTypeRotate = "ROTATE" 21921 21922 // AuthTokenUpdateStrategyTypeDelete is a AuthTokenUpdateStrategyType enum value 21923 AuthTokenUpdateStrategyTypeDelete = "DELETE" 21924 ) 21925 21926 // AuthTokenUpdateStrategyType_Values returns all elements of the AuthTokenUpdateStrategyType enum 21927 func AuthTokenUpdateStrategyType_Values() []string { 21928 return []string{ 21929 AuthTokenUpdateStrategyTypeSet, 21930 AuthTokenUpdateStrategyTypeRotate, 21931 AuthTokenUpdateStrategyTypeDelete, 21932 } 21933 } 21934 21935 const ( 21936 // AuthenticationTypePassword is a AuthenticationType enum value 21937 AuthenticationTypePassword = "password" 21938 21939 // AuthenticationTypeNoPassword is a AuthenticationType enum value 21940 AuthenticationTypeNoPassword = "no-password" 21941 ) 21942 21943 // AuthenticationType_Values returns all elements of the AuthenticationType enum 21944 func AuthenticationType_Values() []string { 21945 return []string{ 21946 AuthenticationTypePassword, 21947 AuthenticationTypeNoPassword, 21948 } 21949 } 21950 21951 const ( 21952 // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value 21953 AutomaticFailoverStatusEnabled = "enabled" 21954 21955 // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value 21956 AutomaticFailoverStatusDisabled = "disabled" 21957 21958 // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value 21959 AutomaticFailoverStatusEnabling = "enabling" 21960 21961 // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value 21962 AutomaticFailoverStatusDisabling = "disabling" 21963 ) 21964 21965 // AutomaticFailoverStatus_Values returns all elements of the AutomaticFailoverStatus enum 21966 func AutomaticFailoverStatus_Values() []string { 21967 return []string{ 21968 AutomaticFailoverStatusEnabled, 21969 AutomaticFailoverStatusDisabled, 21970 AutomaticFailoverStatusEnabling, 21971 AutomaticFailoverStatusDisabling, 21972 } 21973 } 21974 21975 const ( 21976 // ChangeTypeImmediate is a ChangeType enum value 21977 ChangeTypeImmediate = "immediate" 21978 21979 // ChangeTypeRequiresReboot is a ChangeType enum value 21980 ChangeTypeRequiresReboot = "requires-reboot" 21981 ) 21982 21983 // ChangeType_Values returns all elements of the ChangeType enum 21984 func ChangeType_Values() []string { 21985 return []string{ 21986 ChangeTypeImmediate, 21987 ChangeTypeRequiresReboot, 21988 } 21989 } 21990 21991 const ( 21992 // DestinationTypeCloudwatchLogs is a DestinationType enum value 21993 DestinationTypeCloudwatchLogs = "cloudwatch-logs" 21994 21995 // DestinationTypeKinesisFirehose is a DestinationType enum value 21996 DestinationTypeKinesisFirehose = "kinesis-firehose" 21997 ) 21998 21999 // DestinationType_Values returns all elements of the DestinationType enum 22000 func DestinationType_Values() []string { 22001 return []string{ 22002 DestinationTypeCloudwatchLogs, 22003 DestinationTypeKinesisFirehose, 22004 } 22005 } 22006 22007 const ( 22008 // LogDeliveryConfigurationStatusActive is a LogDeliveryConfigurationStatus enum value 22009 LogDeliveryConfigurationStatusActive = "active" 22010 22011 // LogDeliveryConfigurationStatusEnabling is a LogDeliveryConfigurationStatus enum value 22012 LogDeliveryConfigurationStatusEnabling = "enabling" 22013 22014 // LogDeliveryConfigurationStatusModifying is a LogDeliveryConfigurationStatus enum value 22015 LogDeliveryConfigurationStatusModifying = "modifying" 22016 22017 // LogDeliveryConfigurationStatusDisabling is a LogDeliveryConfigurationStatus enum value 22018 LogDeliveryConfigurationStatusDisabling = "disabling" 22019 22020 // LogDeliveryConfigurationStatusError is a LogDeliveryConfigurationStatus enum value 22021 LogDeliveryConfigurationStatusError = "error" 22022 ) 22023 22024 // LogDeliveryConfigurationStatus_Values returns all elements of the LogDeliveryConfigurationStatus enum 22025 func LogDeliveryConfigurationStatus_Values() []string { 22026 return []string{ 22027 LogDeliveryConfigurationStatusActive, 22028 LogDeliveryConfigurationStatusEnabling, 22029 LogDeliveryConfigurationStatusModifying, 22030 LogDeliveryConfigurationStatusDisabling, 22031 LogDeliveryConfigurationStatusError, 22032 } 22033 } 22034 22035 const ( 22036 // LogFormatText is a LogFormat enum value 22037 LogFormatText = "text" 22038 22039 // LogFormatJson is a LogFormat enum value 22040 LogFormatJson = "json" 22041 ) 22042 22043 // LogFormat_Values returns all elements of the LogFormat enum 22044 func LogFormat_Values() []string { 22045 return []string{ 22046 LogFormatText, 22047 LogFormatJson, 22048 } 22049 } 22050 22051 const ( 22052 // LogTypeSlowLog is a LogType enum value 22053 LogTypeSlowLog = "slow-log" 22054 ) 22055 22056 // LogType_Values returns all elements of the LogType enum 22057 func LogType_Values() []string { 22058 return []string{ 22059 LogTypeSlowLog, 22060 } 22061 } 22062 22063 const ( 22064 // MultiAZStatusEnabled is a MultiAZStatus enum value 22065 MultiAZStatusEnabled = "enabled" 22066 22067 // MultiAZStatusDisabled is a MultiAZStatus enum value 22068 MultiAZStatusDisabled = "disabled" 22069 ) 22070 22071 // MultiAZStatus_Values returns all elements of the MultiAZStatus enum 22072 func MultiAZStatus_Values() []string { 22073 return []string{ 22074 MultiAZStatusEnabled, 22075 MultiAZStatusDisabled, 22076 } 22077 } 22078 22079 const ( 22080 // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value 22081 NodeUpdateInitiatedBySystem = "system" 22082 22083 // NodeUpdateInitiatedByCustomer is a NodeUpdateInitiatedBy enum value 22084 NodeUpdateInitiatedByCustomer = "customer" 22085 ) 22086 22087 // NodeUpdateInitiatedBy_Values returns all elements of the NodeUpdateInitiatedBy enum 22088 func NodeUpdateInitiatedBy_Values() []string { 22089 return []string{ 22090 NodeUpdateInitiatedBySystem, 22091 NodeUpdateInitiatedByCustomer, 22092 } 22093 } 22094 22095 const ( 22096 // NodeUpdateStatusNotApplied is a NodeUpdateStatus enum value 22097 NodeUpdateStatusNotApplied = "not-applied" 22098 22099 // NodeUpdateStatusWaitingToStart is a NodeUpdateStatus enum value 22100 NodeUpdateStatusWaitingToStart = "waiting-to-start" 22101 22102 // NodeUpdateStatusInProgress is a NodeUpdateStatus enum value 22103 NodeUpdateStatusInProgress = "in-progress" 22104 22105 // NodeUpdateStatusStopping is a NodeUpdateStatus enum value 22106 NodeUpdateStatusStopping = "stopping" 22107 22108 // NodeUpdateStatusStopped is a NodeUpdateStatus enum value 22109 NodeUpdateStatusStopped = "stopped" 22110 22111 // NodeUpdateStatusComplete is a NodeUpdateStatus enum value 22112 NodeUpdateStatusComplete = "complete" 22113 ) 22114 22115 // NodeUpdateStatus_Values returns all elements of the NodeUpdateStatus enum 22116 func NodeUpdateStatus_Values() []string { 22117 return []string{ 22118 NodeUpdateStatusNotApplied, 22119 NodeUpdateStatusWaitingToStart, 22120 NodeUpdateStatusInProgress, 22121 NodeUpdateStatusStopping, 22122 NodeUpdateStatusStopped, 22123 NodeUpdateStatusComplete, 22124 } 22125 } 22126 22127 const ( 22128 // OutpostModeSingleOutpost is a OutpostMode enum value 22129 OutpostModeSingleOutpost = "single-outpost" 22130 22131 // OutpostModeCrossOutpost is a OutpostMode enum value 22132 OutpostModeCrossOutpost = "cross-outpost" 22133 ) 22134 22135 // OutpostMode_Values returns all elements of the OutpostMode enum 22136 func OutpostMode_Values() []string { 22137 return []string{ 22138 OutpostModeSingleOutpost, 22139 OutpostModeCrossOutpost, 22140 } 22141 } 22142 22143 const ( 22144 // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value 22145 PendingAutomaticFailoverStatusEnabled = "enabled" 22146 22147 // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value 22148 PendingAutomaticFailoverStatusDisabled = "disabled" 22149 ) 22150 22151 // PendingAutomaticFailoverStatus_Values returns all elements of the PendingAutomaticFailoverStatus enum 22152 func PendingAutomaticFailoverStatus_Values() []string { 22153 return []string{ 22154 PendingAutomaticFailoverStatusEnabled, 22155 PendingAutomaticFailoverStatusDisabled, 22156 } 22157 } 22158 22159 const ( 22160 // ServiceUpdateSeverityCritical is a ServiceUpdateSeverity enum value 22161 ServiceUpdateSeverityCritical = "critical" 22162 22163 // ServiceUpdateSeverityImportant is a ServiceUpdateSeverity enum value 22164 ServiceUpdateSeverityImportant = "important" 22165 22166 // ServiceUpdateSeverityMedium is a ServiceUpdateSeverity enum value 22167 ServiceUpdateSeverityMedium = "medium" 22168 22169 // ServiceUpdateSeverityLow is a ServiceUpdateSeverity enum value 22170 ServiceUpdateSeverityLow = "low" 22171 ) 22172 22173 // ServiceUpdateSeverity_Values returns all elements of the ServiceUpdateSeverity enum 22174 func ServiceUpdateSeverity_Values() []string { 22175 return []string{ 22176 ServiceUpdateSeverityCritical, 22177 ServiceUpdateSeverityImportant, 22178 ServiceUpdateSeverityMedium, 22179 ServiceUpdateSeverityLow, 22180 } 22181 } 22182 22183 const ( 22184 // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value 22185 ServiceUpdateStatusAvailable = "available" 22186 22187 // ServiceUpdateStatusCancelled is a ServiceUpdateStatus enum value 22188 ServiceUpdateStatusCancelled = "cancelled" 22189 22190 // ServiceUpdateStatusExpired is a ServiceUpdateStatus enum value 22191 ServiceUpdateStatusExpired = "expired" 22192 ) 22193 22194 // ServiceUpdateStatus_Values returns all elements of the ServiceUpdateStatus enum 22195 func ServiceUpdateStatus_Values() []string { 22196 return []string{ 22197 ServiceUpdateStatusAvailable, 22198 ServiceUpdateStatusCancelled, 22199 ServiceUpdateStatusExpired, 22200 } 22201 } 22202 22203 const ( 22204 // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value 22205 ServiceUpdateTypeSecurityUpdate = "security-update" 22206 ) 22207 22208 // ServiceUpdateType_Values returns all elements of the ServiceUpdateType enum 22209 func ServiceUpdateType_Values() []string { 22210 return []string{ 22211 ServiceUpdateTypeSecurityUpdate, 22212 } 22213 } 22214 22215 const ( 22216 // SlaMetYes is a SlaMet enum value 22217 SlaMetYes = "yes" 22218 22219 // SlaMetNo is a SlaMet enum value 22220 SlaMetNo = "no" 22221 22222 // SlaMetNA is a SlaMet enum value 22223 SlaMetNA = "n/a" 22224 ) 22225 22226 // SlaMet_Values returns all elements of the SlaMet enum 22227 func SlaMet_Values() []string { 22228 return []string{ 22229 SlaMetYes, 22230 SlaMetNo, 22231 SlaMetNA, 22232 } 22233 } 22234 22235 const ( 22236 // SourceTypeCacheCluster is a SourceType enum value 22237 SourceTypeCacheCluster = "cache-cluster" 22238 22239 // SourceTypeCacheParameterGroup is a SourceType enum value 22240 SourceTypeCacheParameterGroup = "cache-parameter-group" 22241 22242 // SourceTypeCacheSecurityGroup is a SourceType enum value 22243 SourceTypeCacheSecurityGroup = "cache-security-group" 22244 22245 // SourceTypeCacheSubnetGroup is a SourceType enum value 22246 SourceTypeCacheSubnetGroup = "cache-subnet-group" 22247 22248 // SourceTypeReplicationGroup is a SourceType enum value 22249 SourceTypeReplicationGroup = "replication-group" 22250 22251 // SourceTypeUser is a SourceType enum value 22252 SourceTypeUser = "user" 22253 22254 // SourceTypeUserGroup is a SourceType enum value 22255 SourceTypeUserGroup = "user-group" 22256 ) 22257 22258 // SourceType_Values returns all elements of the SourceType enum 22259 func SourceType_Values() []string { 22260 return []string{ 22261 SourceTypeCacheCluster, 22262 SourceTypeCacheParameterGroup, 22263 SourceTypeCacheSecurityGroup, 22264 SourceTypeCacheSubnetGroup, 22265 SourceTypeReplicationGroup, 22266 SourceTypeUser, 22267 SourceTypeUserGroup, 22268 } 22269 } 22270 22271 const ( 22272 // UpdateActionStatusNotApplied is a UpdateActionStatus enum value 22273 UpdateActionStatusNotApplied = "not-applied" 22274 22275 // UpdateActionStatusWaitingToStart is a UpdateActionStatus enum value 22276 UpdateActionStatusWaitingToStart = "waiting-to-start" 22277 22278 // UpdateActionStatusInProgress is a UpdateActionStatus enum value 22279 UpdateActionStatusInProgress = "in-progress" 22280 22281 // UpdateActionStatusStopping is a UpdateActionStatus enum value 22282 UpdateActionStatusStopping = "stopping" 22283 22284 // UpdateActionStatusStopped is a UpdateActionStatus enum value 22285 UpdateActionStatusStopped = "stopped" 22286 22287 // UpdateActionStatusComplete is a UpdateActionStatus enum value 22288 UpdateActionStatusComplete = "complete" 22289 22290 // UpdateActionStatusScheduling is a UpdateActionStatus enum value 22291 UpdateActionStatusScheduling = "scheduling" 22292 22293 // UpdateActionStatusScheduled is a UpdateActionStatus enum value 22294 UpdateActionStatusScheduled = "scheduled" 22295 22296 // UpdateActionStatusNotApplicable is a UpdateActionStatus enum value 22297 UpdateActionStatusNotApplicable = "not-applicable" 22298 ) 22299 22300 // UpdateActionStatus_Values returns all elements of the UpdateActionStatus enum 22301 func UpdateActionStatus_Values() []string { 22302 return []string{ 22303 UpdateActionStatusNotApplied, 22304 UpdateActionStatusWaitingToStart, 22305 UpdateActionStatusInProgress, 22306 UpdateActionStatusStopping, 22307 UpdateActionStatusStopped, 22308 UpdateActionStatusComplete, 22309 UpdateActionStatusScheduling, 22310 UpdateActionStatusScheduled, 22311 UpdateActionStatusNotApplicable, 22312 } 22313 }