1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package redshift 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/query" 14) 15 16const opAcceptReservedNodeExchange = "AcceptReservedNodeExchange" 17 18// AcceptReservedNodeExchangeRequest generates a "aws/request.Request" representing the 19// client's request for the AcceptReservedNodeExchange 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 AcceptReservedNodeExchange for more information on using the AcceptReservedNodeExchange 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 AcceptReservedNodeExchangeRequest method. 34// req, resp := client.AcceptReservedNodeExchangeRequest(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/redshift-2012-12-01/AcceptReservedNodeExchange 42func (c *Redshift) AcceptReservedNodeExchangeRequest(input *AcceptReservedNodeExchangeInput) (req *request.Request, output *AcceptReservedNodeExchangeOutput) { 43 op := &request.Operation{ 44 Name: opAcceptReservedNodeExchange, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AcceptReservedNodeExchangeInput{} 51 } 52 53 output = &AcceptReservedNodeExchangeOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// AcceptReservedNodeExchange API operation for Amazon Redshift. 59// 60// Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to 61// the configuration (term, payment type, or number of nodes) and no additional 62// costs. 63// 64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 65// with awserr.Error's Code and Message methods to get detailed information about 66// the error. 67// 68// See the AWS API reference guide for Amazon Redshift's 69// API operation AcceptReservedNodeExchange for usage and error information. 70// 71// Returned Error Codes: 72// * ErrCodeReservedNodeNotFoundFault "ReservedNodeNotFound" 73// The specified reserved compute node not found. 74// 75// * ErrCodeInvalidReservedNodeStateFault "InvalidReservedNodeState" 76// Indicates that the Reserved Node being exchanged is not in an active state. 77// 78// * ErrCodeReservedNodeAlreadyMigratedFault "ReservedNodeAlreadyMigrated" 79// Indicates that the reserved node has already been exchanged. 80// 81// * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound" 82// Specified offering does not exist. 83// 84// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 85// The requested operation isn't supported. 86// 87// * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" 88// Your request cannot be completed because a dependent internal service is 89// temporarily unavailable. Wait 30 to 60 seconds and try again. 90// 91// * ErrCodeReservedNodeAlreadyExistsFault "ReservedNodeAlreadyExists" 92// User already has a reservation with the given identifier. 93// 94// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AcceptReservedNodeExchange 95func (c *Redshift) AcceptReservedNodeExchange(input *AcceptReservedNodeExchangeInput) (*AcceptReservedNodeExchangeOutput, error) { 96 req, out := c.AcceptReservedNodeExchangeRequest(input) 97 return out, req.Send() 98} 99 100// AcceptReservedNodeExchangeWithContext is the same as AcceptReservedNodeExchange with the addition of 101// the ability to pass a context and additional request options. 102// 103// See AcceptReservedNodeExchange for details on how to use this API operation. 104// 105// The context must be non-nil and will be used for request cancellation. If 106// the context is nil a panic will occur. In the future the SDK may create 107// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 108// for more information on using Contexts. 109func (c *Redshift) AcceptReservedNodeExchangeWithContext(ctx aws.Context, input *AcceptReservedNodeExchangeInput, opts ...request.Option) (*AcceptReservedNodeExchangeOutput, error) { 110 req, out := c.AcceptReservedNodeExchangeRequest(input) 111 req.SetContext(ctx) 112 req.ApplyOptions(opts...) 113 return out, req.Send() 114} 115 116const opAuthorizeClusterSecurityGroupIngress = "AuthorizeClusterSecurityGroupIngress" 117 118// AuthorizeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the 119// client's request for the AuthorizeClusterSecurityGroupIngress operation. The "output" return 120// value will be populated with the request's response once the request completes 121// successfully. 122// 123// Use "Send" method on the returned Request to send the API call to the service. 124// the "output" return value is not valid until after Send returns without error. 125// 126// See AuthorizeClusterSecurityGroupIngress for more information on using the AuthorizeClusterSecurityGroupIngress 127// API call, and error handling. 128// 129// This method is useful when you want to inject custom logic or configuration 130// into the SDK's request lifecycle. Such as custom headers, or retry logic. 131// 132// 133// // Example sending a request using the AuthorizeClusterSecurityGroupIngressRequest method. 134// req, resp := client.AuthorizeClusterSecurityGroupIngressRequest(params) 135// 136// err := req.Send() 137// if err == nil { // resp is now filled 138// fmt.Println(resp) 139// } 140// 141// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeClusterSecurityGroupIngress 142func (c *Redshift) AuthorizeClusterSecurityGroupIngressRequest(input *AuthorizeClusterSecurityGroupIngressInput) (req *request.Request, output *AuthorizeClusterSecurityGroupIngressOutput) { 143 op := &request.Operation{ 144 Name: opAuthorizeClusterSecurityGroupIngress, 145 HTTPMethod: "POST", 146 HTTPPath: "/", 147 } 148 149 if input == nil { 150 input = &AuthorizeClusterSecurityGroupIngressInput{} 151 } 152 153 output = &AuthorizeClusterSecurityGroupIngressOutput{} 154 req = c.newRequest(op, input, output) 155 return 156} 157 158// AuthorizeClusterSecurityGroupIngress API operation for Amazon Redshift. 159// 160// Adds an inbound (ingress) rule to an Amazon Redshift security group. Depending 161// on whether the application accessing your cluster is running on the Internet 162// or an Amazon EC2 instance, you can authorize inbound access to either a Classless 163// Interdomain Routing (CIDR)/Internet Protocol (IP) range or to an Amazon EC2 164// security group. You can add as many as 20 ingress rules to an Amazon Redshift 165// security group. 166// 167// If you authorize access to an Amazon EC2 security group, specify EC2SecurityGroupName 168// and EC2SecurityGroupOwnerId. The Amazon EC2 security group and Amazon Redshift 169// cluster must be in the same AWS Region. 170// 171// If you authorize access to a CIDR/IP address range, specify CIDRIP. For an 172// overview of CIDR blocks, see the Wikipedia article on Classless Inter-Domain 173// Routing (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). 174// 175// You must also associate the security group with a cluster so that clients 176// running on these IP addresses or the EC2 instance are authorized to connect 177// to the cluster. For information about managing security groups, go to Working 178// with Security Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) 179// in the Amazon Redshift Cluster Management Guide. 180// 181// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 182// with awserr.Error's Code and Message methods to get detailed information about 183// the error. 184// 185// See the AWS API reference guide for Amazon Redshift's 186// API operation AuthorizeClusterSecurityGroupIngress for usage and error information. 187// 188// Returned Error Codes: 189// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 190// The cluster security group name does not refer to an existing cluster security 191// group. 192// 193// * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState" 194// The state of the cluster security group is not available. 195// 196// * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists" 197// The specified CIDR block or EC2 security group is already authorized for 198// the specified cluster security group. 199// 200// * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded" 201// The authorization quota for the cluster security group has been reached. 202// 203// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeClusterSecurityGroupIngress 204func (c *Redshift) AuthorizeClusterSecurityGroupIngress(input *AuthorizeClusterSecurityGroupIngressInput) (*AuthorizeClusterSecurityGroupIngressOutput, error) { 205 req, out := c.AuthorizeClusterSecurityGroupIngressRequest(input) 206 return out, req.Send() 207} 208 209// AuthorizeClusterSecurityGroupIngressWithContext is the same as AuthorizeClusterSecurityGroupIngress with the addition of 210// the ability to pass a context and additional request options. 211// 212// See AuthorizeClusterSecurityGroupIngress for details on how to use this API operation. 213// 214// The context must be non-nil and will be used for request cancellation. If 215// the context is nil a panic will occur. In the future the SDK may create 216// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 217// for more information on using Contexts. 218func (c *Redshift) AuthorizeClusterSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeClusterSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeClusterSecurityGroupIngressOutput, error) { 219 req, out := c.AuthorizeClusterSecurityGroupIngressRequest(input) 220 req.SetContext(ctx) 221 req.ApplyOptions(opts...) 222 return out, req.Send() 223} 224 225const opAuthorizeSnapshotAccess = "AuthorizeSnapshotAccess" 226 227// AuthorizeSnapshotAccessRequest generates a "aws/request.Request" representing the 228// client's request for the AuthorizeSnapshotAccess operation. The "output" return 229// value will be populated with the request's response once the request completes 230// successfully. 231// 232// Use "Send" method on the returned Request to send the API call to the service. 233// the "output" return value is not valid until after Send returns without error. 234// 235// See AuthorizeSnapshotAccess for more information on using the AuthorizeSnapshotAccess 236// API call, and error handling. 237// 238// This method is useful when you want to inject custom logic or configuration 239// into the SDK's request lifecycle. Such as custom headers, or retry logic. 240// 241// 242// // Example sending a request using the AuthorizeSnapshotAccessRequest method. 243// req, resp := client.AuthorizeSnapshotAccessRequest(params) 244// 245// err := req.Send() 246// if err == nil { // resp is now filled 247// fmt.Println(resp) 248// } 249// 250// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeSnapshotAccess 251func (c *Redshift) AuthorizeSnapshotAccessRequest(input *AuthorizeSnapshotAccessInput) (req *request.Request, output *AuthorizeSnapshotAccessOutput) { 252 op := &request.Operation{ 253 Name: opAuthorizeSnapshotAccess, 254 HTTPMethod: "POST", 255 HTTPPath: "/", 256 } 257 258 if input == nil { 259 input = &AuthorizeSnapshotAccessInput{} 260 } 261 262 output = &AuthorizeSnapshotAccessOutput{} 263 req = c.newRequest(op, input, output) 264 return 265} 266 267// AuthorizeSnapshotAccess API operation for Amazon Redshift. 268// 269// Authorizes the specified AWS customer account to restore the specified snapshot. 270// 271// For more information about working with snapshots, go to Amazon Redshift 272// Snapshots (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) 273// in the Amazon Redshift Cluster Management Guide. 274// 275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 276// with awserr.Error's Code and Message methods to get detailed information about 277// the error. 278// 279// See the AWS API reference guide for Amazon Redshift's 280// API operation AuthorizeSnapshotAccess for usage and error information. 281// 282// Returned Error Codes: 283// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 284// The snapshot identifier does not refer to an existing cluster snapshot. 285// 286// * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists" 287// The specified CIDR block or EC2 security group is already authorized for 288// the specified cluster security group. 289// 290// * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded" 291// The authorization quota for the cluster security group has been reached. 292// 293// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 294// The request cannot be completed because a dependent service is throttling 295// requests made by Amazon Redshift on your behalf. Wait and retry the request. 296// 297// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 298// The specified cluster snapshot is not in the available state, or other accounts 299// are authorized to access the snapshot. 300// 301// * ErrCodeLimitExceededFault "LimitExceededFault" 302// The encryption key has exceeded its grant limit in AWS KMS. 303// 304// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/AuthorizeSnapshotAccess 305func (c *Redshift) AuthorizeSnapshotAccess(input *AuthorizeSnapshotAccessInput) (*AuthorizeSnapshotAccessOutput, error) { 306 req, out := c.AuthorizeSnapshotAccessRequest(input) 307 return out, req.Send() 308} 309 310// AuthorizeSnapshotAccessWithContext is the same as AuthorizeSnapshotAccess with the addition of 311// the ability to pass a context and additional request options. 312// 313// See AuthorizeSnapshotAccess for details on how to use this API operation. 314// 315// The context must be non-nil and will be used for request cancellation. If 316// the context is nil a panic will occur. In the future the SDK may create 317// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 318// for more information on using Contexts. 319func (c *Redshift) AuthorizeSnapshotAccessWithContext(ctx aws.Context, input *AuthorizeSnapshotAccessInput, opts ...request.Option) (*AuthorizeSnapshotAccessOutput, error) { 320 req, out := c.AuthorizeSnapshotAccessRequest(input) 321 req.SetContext(ctx) 322 req.ApplyOptions(opts...) 323 return out, req.Send() 324} 325 326const opBatchDeleteClusterSnapshots = "BatchDeleteClusterSnapshots" 327 328// BatchDeleteClusterSnapshotsRequest generates a "aws/request.Request" representing the 329// client's request for the BatchDeleteClusterSnapshots operation. The "output" return 330// value will be populated with the request's response once the request completes 331// successfully. 332// 333// Use "Send" method on the returned Request to send the API call to the service. 334// the "output" return value is not valid until after Send returns without error. 335// 336// See BatchDeleteClusterSnapshots for more information on using the BatchDeleteClusterSnapshots 337// API call, and error handling. 338// 339// This method is useful when you want to inject custom logic or configuration 340// into the SDK's request lifecycle. Such as custom headers, or retry logic. 341// 342// 343// // Example sending a request using the BatchDeleteClusterSnapshotsRequest method. 344// req, resp := client.BatchDeleteClusterSnapshotsRequest(params) 345// 346// err := req.Send() 347// if err == nil { // resp is now filled 348// fmt.Println(resp) 349// } 350// 351// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchDeleteClusterSnapshots 352func (c *Redshift) BatchDeleteClusterSnapshotsRequest(input *BatchDeleteClusterSnapshotsInput) (req *request.Request, output *BatchDeleteClusterSnapshotsOutput) { 353 op := &request.Operation{ 354 Name: opBatchDeleteClusterSnapshots, 355 HTTPMethod: "POST", 356 HTTPPath: "/", 357 } 358 359 if input == nil { 360 input = &BatchDeleteClusterSnapshotsInput{} 361 } 362 363 output = &BatchDeleteClusterSnapshotsOutput{} 364 req = c.newRequest(op, input, output) 365 return 366} 367 368// BatchDeleteClusterSnapshots API operation for Amazon Redshift. 369// 370// Deletes a set of cluster snapshots. 371// 372// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 373// with awserr.Error's Code and Message methods to get detailed information about 374// the error. 375// 376// See the AWS API reference guide for Amazon Redshift's 377// API operation BatchDeleteClusterSnapshots for usage and error information. 378// 379// Returned Error Codes: 380// * ErrCodeBatchDeleteRequestSizeExceededFault "BatchDeleteRequestSizeExceeded" 381// The maximum number for a batch delete of snapshots has been reached. The 382// limit is 100. 383// 384// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchDeleteClusterSnapshots 385func (c *Redshift) BatchDeleteClusterSnapshots(input *BatchDeleteClusterSnapshotsInput) (*BatchDeleteClusterSnapshotsOutput, error) { 386 req, out := c.BatchDeleteClusterSnapshotsRequest(input) 387 return out, req.Send() 388} 389 390// BatchDeleteClusterSnapshotsWithContext is the same as BatchDeleteClusterSnapshots with the addition of 391// the ability to pass a context and additional request options. 392// 393// See BatchDeleteClusterSnapshots for details on how to use this API operation. 394// 395// The context must be non-nil and will be used for request cancellation. If 396// the context is nil a panic will occur. In the future the SDK may create 397// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 398// for more information on using Contexts. 399func (c *Redshift) BatchDeleteClusterSnapshotsWithContext(ctx aws.Context, input *BatchDeleteClusterSnapshotsInput, opts ...request.Option) (*BatchDeleteClusterSnapshotsOutput, error) { 400 req, out := c.BatchDeleteClusterSnapshotsRequest(input) 401 req.SetContext(ctx) 402 req.ApplyOptions(opts...) 403 return out, req.Send() 404} 405 406const opBatchModifyClusterSnapshots = "BatchModifyClusterSnapshots" 407 408// BatchModifyClusterSnapshotsRequest generates a "aws/request.Request" representing the 409// client's request for the BatchModifyClusterSnapshots operation. The "output" return 410// value will be populated with the request's response once the request completes 411// successfully. 412// 413// Use "Send" method on the returned Request to send the API call to the service. 414// the "output" return value is not valid until after Send returns without error. 415// 416// See BatchModifyClusterSnapshots for more information on using the BatchModifyClusterSnapshots 417// API call, and error handling. 418// 419// This method is useful when you want to inject custom logic or configuration 420// into the SDK's request lifecycle. Such as custom headers, or retry logic. 421// 422// 423// // Example sending a request using the BatchModifyClusterSnapshotsRequest method. 424// req, resp := client.BatchModifyClusterSnapshotsRequest(params) 425// 426// err := req.Send() 427// if err == nil { // resp is now filled 428// fmt.Println(resp) 429// } 430// 431// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchModifyClusterSnapshots 432func (c *Redshift) BatchModifyClusterSnapshotsRequest(input *BatchModifyClusterSnapshotsInput) (req *request.Request, output *BatchModifyClusterSnapshotsOutput) { 433 op := &request.Operation{ 434 Name: opBatchModifyClusterSnapshots, 435 HTTPMethod: "POST", 436 HTTPPath: "/", 437 } 438 439 if input == nil { 440 input = &BatchModifyClusterSnapshotsInput{} 441 } 442 443 output = &BatchModifyClusterSnapshotsOutput{} 444 req = c.newRequest(op, input, output) 445 return 446} 447 448// BatchModifyClusterSnapshots API operation for Amazon Redshift. 449// 450// Modifies the settings for a set of cluster snapshots. 451// 452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 453// with awserr.Error's Code and Message methods to get detailed information about 454// the error. 455// 456// See the AWS API reference guide for Amazon Redshift's 457// API operation BatchModifyClusterSnapshots for usage and error information. 458// 459// Returned Error Codes: 460// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 461// The retention period specified is either in the past or is not a valid value. 462// 463// The value must be either -1 or an integer between 1 and 3,653. 464// 465// * ErrCodeBatchModifyClusterSnapshotsLimitExceededFault "BatchModifyClusterSnapshotsLimitExceededFault" 466// The maximum number for snapshot identifiers has been reached. The limit is 467// 100. 468// 469// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/BatchModifyClusterSnapshots 470func (c *Redshift) BatchModifyClusterSnapshots(input *BatchModifyClusterSnapshotsInput) (*BatchModifyClusterSnapshotsOutput, error) { 471 req, out := c.BatchModifyClusterSnapshotsRequest(input) 472 return out, req.Send() 473} 474 475// BatchModifyClusterSnapshotsWithContext is the same as BatchModifyClusterSnapshots with the addition of 476// the ability to pass a context and additional request options. 477// 478// See BatchModifyClusterSnapshots for details on how to use this API operation. 479// 480// The context must be non-nil and will be used for request cancellation. If 481// the context is nil a panic will occur. In the future the SDK may create 482// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 483// for more information on using Contexts. 484func (c *Redshift) BatchModifyClusterSnapshotsWithContext(ctx aws.Context, input *BatchModifyClusterSnapshotsInput, opts ...request.Option) (*BatchModifyClusterSnapshotsOutput, error) { 485 req, out := c.BatchModifyClusterSnapshotsRequest(input) 486 req.SetContext(ctx) 487 req.ApplyOptions(opts...) 488 return out, req.Send() 489} 490 491const opCancelResize = "CancelResize" 492 493// CancelResizeRequest generates a "aws/request.Request" representing the 494// client's request for the CancelResize operation. The "output" return 495// value will be populated with the request's response once the request completes 496// successfully. 497// 498// Use "Send" method on the returned Request to send the API call to the service. 499// the "output" return value is not valid until after Send returns without error. 500// 501// See CancelResize for more information on using the CancelResize 502// API call, and error handling. 503// 504// This method is useful when you want to inject custom logic or configuration 505// into the SDK's request lifecycle. Such as custom headers, or retry logic. 506// 507// 508// // Example sending a request using the CancelResizeRequest method. 509// req, resp := client.CancelResizeRequest(params) 510// 511// err := req.Send() 512// if err == nil { // resp is now filled 513// fmt.Println(resp) 514// } 515// 516// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CancelResize 517func (c *Redshift) CancelResizeRequest(input *CancelResizeInput) (req *request.Request, output *CancelResizeOutput) { 518 op := &request.Operation{ 519 Name: opCancelResize, 520 HTTPMethod: "POST", 521 HTTPPath: "/", 522 } 523 524 if input == nil { 525 input = &CancelResizeInput{} 526 } 527 528 output = &CancelResizeOutput{} 529 req = c.newRequest(op, input, output) 530 return 531} 532 533// CancelResize API operation for Amazon Redshift. 534// 535// Cancels a resize operation for a cluster. 536// 537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 538// with awserr.Error's Code and Message methods to get detailed information about 539// the error. 540// 541// See the AWS API reference guide for Amazon Redshift's 542// API operation CancelResize for usage and error information. 543// 544// Returned Error Codes: 545// * ErrCodeClusterNotFoundFault "ClusterNotFound" 546// The ClusterIdentifier parameter does not refer to an existing cluster. 547// 548// * ErrCodeResizeNotFoundFault "ResizeNotFound" 549// A resize operation for the specified cluster is not found. 550// 551// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 552// The specified cluster is not in the available state. 553// 554// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 555// The requested operation isn't supported. 556// 557// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CancelResize 558func (c *Redshift) CancelResize(input *CancelResizeInput) (*CancelResizeOutput, error) { 559 req, out := c.CancelResizeRequest(input) 560 return out, req.Send() 561} 562 563// CancelResizeWithContext is the same as CancelResize with the addition of 564// the ability to pass a context and additional request options. 565// 566// See CancelResize for details on how to use this API operation. 567// 568// The context must be non-nil and will be used for request cancellation. If 569// the context is nil a panic will occur. In the future the SDK may create 570// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 571// for more information on using Contexts. 572func (c *Redshift) CancelResizeWithContext(ctx aws.Context, input *CancelResizeInput, opts ...request.Option) (*CancelResizeOutput, error) { 573 req, out := c.CancelResizeRequest(input) 574 req.SetContext(ctx) 575 req.ApplyOptions(opts...) 576 return out, req.Send() 577} 578 579const opCopyClusterSnapshot = "CopyClusterSnapshot" 580 581// CopyClusterSnapshotRequest generates a "aws/request.Request" representing the 582// client's request for the CopyClusterSnapshot operation. The "output" return 583// value will be populated with the request's response once the request completes 584// successfully. 585// 586// Use "Send" method on the returned Request to send the API call to the service. 587// the "output" return value is not valid until after Send returns without error. 588// 589// See CopyClusterSnapshot for more information on using the CopyClusterSnapshot 590// API call, and error handling. 591// 592// This method is useful when you want to inject custom logic or configuration 593// into the SDK's request lifecycle. Such as custom headers, or retry logic. 594// 595// 596// // Example sending a request using the CopyClusterSnapshotRequest method. 597// req, resp := client.CopyClusterSnapshotRequest(params) 598// 599// err := req.Send() 600// if err == nil { // resp is now filled 601// fmt.Println(resp) 602// } 603// 604// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CopyClusterSnapshot 605func (c *Redshift) CopyClusterSnapshotRequest(input *CopyClusterSnapshotInput) (req *request.Request, output *CopyClusterSnapshotOutput) { 606 op := &request.Operation{ 607 Name: opCopyClusterSnapshot, 608 HTTPMethod: "POST", 609 HTTPPath: "/", 610 } 611 612 if input == nil { 613 input = &CopyClusterSnapshotInput{} 614 } 615 616 output = &CopyClusterSnapshotOutput{} 617 req = c.newRequest(op, input, output) 618 return 619} 620 621// CopyClusterSnapshot API operation for Amazon Redshift. 622// 623// Copies the specified automated cluster snapshot to a new manual cluster snapshot. 624// The source must be an automated snapshot and it must be in the available 625// state. 626// 627// When you delete a cluster, Amazon Redshift deletes any automated snapshots 628// of the cluster. Also, when the retention period of the snapshot expires, 629// Amazon Redshift automatically deletes it. If you want to keep an automated 630// snapshot for a longer period, you can make a manual copy of the snapshot. 631// Manual snapshots are retained until you delete them. 632// 633// For more information about working with snapshots, go to Amazon Redshift 634// Snapshots (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) 635// in the Amazon Redshift Cluster Management Guide. 636// 637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 638// with awserr.Error's Code and Message methods to get detailed information about 639// the error. 640// 641// See the AWS API reference guide for Amazon Redshift's 642// API operation CopyClusterSnapshot for usage and error information. 643// 644// Returned Error Codes: 645// * ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists" 646// The value specified as a snapshot identifier is already used by an existing 647// snapshot. 648// 649// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 650// The snapshot identifier does not refer to an existing cluster snapshot. 651// 652// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 653// The specified cluster snapshot is not in the available state, or other accounts 654// are authorized to access the snapshot. 655// 656// * ErrCodeClusterSnapshotQuotaExceededFault "ClusterSnapshotQuotaExceeded" 657// The request would result in the user exceeding the allowed number of cluster 658// snapshots. 659// 660// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 661// The retention period specified is either in the past or is not a valid value. 662// 663// The value must be either -1 or an integer between 1 and 3,653. 664// 665// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CopyClusterSnapshot 666func (c *Redshift) CopyClusterSnapshot(input *CopyClusterSnapshotInput) (*CopyClusterSnapshotOutput, error) { 667 req, out := c.CopyClusterSnapshotRequest(input) 668 return out, req.Send() 669} 670 671// CopyClusterSnapshotWithContext is the same as CopyClusterSnapshot with the addition of 672// the ability to pass a context and additional request options. 673// 674// See CopyClusterSnapshot for details on how to use this API operation. 675// 676// The context must be non-nil and will be used for request cancellation. If 677// the context is nil a panic will occur. In the future the SDK may create 678// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 679// for more information on using Contexts. 680func (c *Redshift) CopyClusterSnapshotWithContext(ctx aws.Context, input *CopyClusterSnapshotInput, opts ...request.Option) (*CopyClusterSnapshotOutput, error) { 681 req, out := c.CopyClusterSnapshotRequest(input) 682 req.SetContext(ctx) 683 req.ApplyOptions(opts...) 684 return out, req.Send() 685} 686 687const opCreateCluster = "CreateCluster" 688 689// CreateClusterRequest generates a "aws/request.Request" representing the 690// client's request for the CreateCluster operation. The "output" return 691// value will be populated with the request's response once the request completes 692// successfully. 693// 694// Use "Send" method on the returned Request to send the API call to the service. 695// the "output" return value is not valid until after Send returns without error. 696// 697// See CreateCluster for more information on using the CreateCluster 698// API call, and error handling. 699// 700// This method is useful when you want to inject custom logic or configuration 701// into the SDK's request lifecycle. Such as custom headers, or retry logic. 702// 703// 704// // Example sending a request using the CreateClusterRequest method. 705// req, resp := client.CreateClusterRequest(params) 706// 707// err := req.Send() 708// if err == nil { // resp is now filled 709// fmt.Println(resp) 710// } 711// 712// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateCluster 713func (c *Redshift) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 714 op := &request.Operation{ 715 Name: opCreateCluster, 716 HTTPMethod: "POST", 717 HTTPPath: "/", 718 } 719 720 if input == nil { 721 input = &CreateClusterInput{} 722 } 723 724 output = &CreateClusterOutput{} 725 req = c.newRequest(op, input, output) 726 return 727} 728 729// CreateCluster API operation for Amazon Redshift. 730// 731// Creates a new cluster with the specified parameters. 732// 733// To create a cluster in Virtual Private Cloud (VPC), you must provide a cluster 734// subnet group name. The cluster subnet group identifies the subnets of your 735// VPC that Amazon Redshift uses when creating the cluster. For more information 736// about managing clusters, go to Amazon Redshift Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 737// in the Amazon Redshift Cluster Management Guide. 738// 739// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 740// with awserr.Error's Code and Message methods to get detailed information about 741// the error. 742// 743// See the AWS API reference guide for Amazon Redshift's 744// API operation CreateCluster for usage and error information. 745// 746// Returned Error Codes: 747// * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExists" 748// The account already has a cluster with the given identifier. 749// 750// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity" 751// The number of nodes specified exceeds the allotted capacity of the cluster. 752// 753// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 754// The parameter group name does not refer to an existing parameter group. 755// 756// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 757// The cluster security group name does not refer to an existing cluster security 758// group. 759// 760// * ErrCodeClusterQuotaExceededFault "ClusterQuotaExceeded" 761// The request would exceed the allowed number of cluster instances for this 762// account. For information about increasing your quota, go to Limits in Amazon 763// Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 764// in the Amazon Redshift Cluster Management Guide. 765// 766// * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded" 767// The operation would exceed the number of nodes allotted to the account. For 768// information about increasing your quota, go to Limits in Amazon Redshift 769// (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 770// in the Amazon Redshift Cluster Management Guide. 771// 772// * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded" 773// The operation would exceed the number of nodes allowed for a cluster. 774// 775// * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault" 776// The cluster subnet group name does not refer to an existing cluster subnet 777// group. 778// 779// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 780// The cluster subnet group does not cover all Availability Zones. 781// 782// * ErrCodeInvalidClusterSubnetGroupStateFault "InvalidClusterSubnetGroupStateFault" 783// The cluster subnet group cannot be deleted because it is in use. 784// 785// * ErrCodeInvalidSubnet "InvalidSubnet" 786// The requested subnet is not valid, or not all of the subnets are in the same 787// VPC. 788// 789// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 790// Your account is not authorized to perform the requested operation. 791// 792// * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault" 793// There is no Amazon Redshift HSM client certificate with the specified identifier. 794// 795// * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault" 796// There is no Amazon Redshift HSM configuration with the specified identifier. 797// 798// * ErrCodeInvalidElasticIpFault "InvalidElasticIpFault" 799// The Elastic IP (EIP) is invalid or cannot be found. 800// 801// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 802// You have exceeded the number of tags allowed. 803// 804// * ErrCodeInvalidTagFault "InvalidTagFault" 805// The tag is invalid. 806// 807// * ErrCodeLimitExceededFault "LimitExceededFault" 808// The encryption key has exceeded its grant limit in AWS KMS. 809// 810// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 811// The request cannot be completed because a dependent service is throttling 812// requests made by Amazon Redshift on your behalf. Wait and retry the request. 813// 814// * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack" 815// The provided cluster track name is not valid. 816// 817// * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound" 818// We could not find the specified snapshot schedule. 819// 820// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 821// The retention period specified is either in the past or is not a valid value. 822// 823// The value must be either -1 or an integer between 1 and 3,653. 824// 825// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateCluster 826func (c *Redshift) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 827 req, out := c.CreateClusterRequest(input) 828 return out, req.Send() 829} 830 831// CreateClusterWithContext is the same as CreateCluster with the addition of 832// the ability to pass a context and additional request options. 833// 834// See CreateCluster for details on how to use this API operation. 835// 836// The context must be non-nil and will be used for request cancellation. If 837// the context is nil a panic will occur. In the future the SDK may create 838// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 839// for more information on using Contexts. 840func (c *Redshift) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 841 req, out := c.CreateClusterRequest(input) 842 req.SetContext(ctx) 843 req.ApplyOptions(opts...) 844 return out, req.Send() 845} 846 847const opCreateClusterParameterGroup = "CreateClusterParameterGroup" 848 849// CreateClusterParameterGroupRequest generates a "aws/request.Request" representing the 850// client's request for the CreateClusterParameterGroup operation. The "output" return 851// value will be populated with the request's response once the request completes 852// successfully. 853// 854// Use "Send" method on the returned Request to send the API call to the service. 855// the "output" return value is not valid until after Send returns without error. 856// 857// See CreateClusterParameterGroup for more information on using the CreateClusterParameterGroup 858// API call, and error handling. 859// 860// This method is useful when you want to inject custom logic or configuration 861// into the SDK's request lifecycle. Such as custom headers, or retry logic. 862// 863// 864// // Example sending a request using the CreateClusterParameterGroupRequest method. 865// req, resp := client.CreateClusterParameterGroupRequest(params) 866// 867// err := req.Send() 868// if err == nil { // resp is now filled 869// fmt.Println(resp) 870// } 871// 872// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterParameterGroup 873func (c *Redshift) CreateClusterParameterGroupRequest(input *CreateClusterParameterGroupInput) (req *request.Request, output *CreateClusterParameterGroupOutput) { 874 op := &request.Operation{ 875 Name: opCreateClusterParameterGroup, 876 HTTPMethod: "POST", 877 HTTPPath: "/", 878 } 879 880 if input == nil { 881 input = &CreateClusterParameterGroupInput{} 882 } 883 884 output = &CreateClusterParameterGroupOutput{} 885 req = c.newRequest(op, input, output) 886 return 887} 888 889// CreateClusterParameterGroup API operation for Amazon Redshift. 890// 891// Creates an Amazon Redshift parameter group. 892// 893// Creating parameter groups is independent of creating clusters. You can associate 894// a cluster with a parameter group when you create the cluster. You can also 895// associate an existing cluster with a parameter group after the cluster is 896// created by using ModifyCluster. 897// 898// Parameters in the parameter group define specific behavior that applies to 899// the databases you create on the cluster. For more information about parameters 900// and parameter groups, go to Amazon Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 901// in the Amazon Redshift Cluster Management Guide. 902// 903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 904// with awserr.Error's Code and Message methods to get detailed information about 905// the error. 906// 907// See the AWS API reference guide for Amazon Redshift's 908// API operation CreateClusterParameterGroup for usage and error information. 909// 910// Returned Error Codes: 911// * ErrCodeClusterParameterGroupQuotaExceededFault "ClusterParameterGroupQuotaExceeded" 912// The request would result in the user exceeding the allowed number of cluster 913// parameter groups. For information about increasing your quota, go to Limits 914// in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 915// in the Amazon Redshift Cluster Management Guide. 916// 917// * ErrCodeClusterParameterGroupAlreadyExistsFault "ClusterParameterGroupAlreadyExists" 918// A cluster parameter group with the same name already exists. 919// 920// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 921// You have exceeded the number of tags allowed. 922// 923// * ErrCodeInvalidTagFault "InvalidTagFault" 924// The tag is invalid. 925// 926// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterParameterGroup 927func (c *Redshift) CreateClusterParameterGroup(input *CreateClusterParameterGroupInput) (*CreateClusterParameterGroupOutput, error) { 928 req, out := c.CreateClusterParameterGroupRequest(input) 929 return out, req.Send() 930} 931 932// CreateClusterParameterGroupWithContext is the same as CreateClusterParameterGroup with the addition of 933// the ability to pass a context and additional request options. 934// 935// See CreateClusterParameterGroup for details on how to use this API operation. 936// 937// The context must be non-nil and will be used for request cancellation. If 938// the context is nil a panic will occur. In the future the SDK may create 939// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 940// for more information on using Contexts. 941func (c *Redshift) CreateClusterParameterGroupWithContext(ctx aws.Context, input *CreateClusterParameterGroupInput, opts ...request.Option) (*CreateClusterParameterGroupOutput, error) { 942 req, out := c.CreateClusterParameterGroupRequest(input) 943 req.SetContext(ctx) 944 req.ApplyOptions(opts...) 945 return out, req.Send() 946} 947 948const opCreateClusterSecurityGroup = "CreateClusterSecurityGroup" 949 950// CreateClusterSecurityGroupRequest generates a "aws/request.Request" representing the 951// client's request for the CreateClusterSecurityGroup operation. The "output" return 952// value will be populated with the request's response once the request completes 953// successfully. 954// 955// Use "Send" method on the returned Request to send the API call to the service. 956// the "output" return value is not valid until after Send returns without error. 957// 958// See CreateClusterSecurityGroup for more information on using the CreateClusterSecurityGroup 959// API call, and error handling. 960// 961// This method is useful when you want to inject custom logic or configuration 962// into the SDK's request lifecycle. Such as custom headers, or retry logic. 963// 964// 965// // Example sending a request using the CreateClusterSecurityGroupRequest method. 966// req, resp := client.CreateClusterSecurityGroupRequest(params) 967// 968// err := req.Send() 969// if err == nil { // resp is now filled 970// fmt.Println(resp) 971// } 972// 973// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSecurityGroup 974func (c *Redshift) CreateClusterSecurityGroupRequest(input *CreateClusterSecurityGroupInput) (req *request.Request, output *CreateClusterSecurityGroupOutput) { 975 op := &request.Operation{ 976 Name: opCreateClusterSecurityGroup, 977 HTTPMethod: "POST", 978 HTTPPath: "/", 979 } 980 981 if input == nil { 982 input = &CreateClusterSecurityGroupInput{} 983 } 984 985 output = &CreateClusterSecurityGroupOutput{} 986 req = c.newRequest(op, input, output) 987 return 988} 989 990// CreateClusterSecurityGroup API operation for Amazon Redshift. 991// 992// Creates a new Amazon Redshift security group. You use security groups to 993// control access to non-VPC clusters. 994// 995// For information about managing security groups, go to Amazon Redshift Cluster 996// Security Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) 997// in the Amazon Redshift Cluster Management Guide. 998// 999// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1000// with awserr.Error's Code and Message methods to get detailed information about 1001// the error. 1002// 1003// See the AWS API reference guide for Amazon Redshift's 1004// API operation CreateClusterSecurityGroup for usage and error information. 1005// 1006// Returned Error Codes: 1007// * ErrCodeClusterSecurityGroupAlreadyExistsFault "ClusterSecurityGroupAlreadyExists" 1008// A cluster security group with the same name already exists. 1009// 1010// * ErrCodeClusterSecurityGroupQuotaExceededFault "QuotaExceeded.ClusterSecurityGroup" 1011// The request would result in the user exceeding the allowed number of cluster 1012// security groups. For information about increasing your quota, go to Limits 1013// in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 1014// in the Amazon Redshift Cluster Management Guide. 1015// 1016// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1017// You have exceeded the number of tags allowed. 1018// 1019// * ErrCodeInvalidTagFault "InvalidTagFault" 1020// The tag is invalid. 1021// 1022// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSecurityGroup 1023func (c *Redshift) CreateClusterSecurityGroup(input *CreateClusterSecurityGroupInput) (*CreateClusterSecurityGroupOutput, error) { 1024 req, out := c.CreateClusterSecurityGroupRequest(input) 1025 return out, req.Send() 1026} 1027 1028// CreateClusterSecurityGroupWithContext is the same as CreateClusterSecurityGroup with the addition of 1029// the ability to pass a context and additional request options. 1030// 1031// See CreateClusterSecurityGroup for details on how to use this API operation. 1032// 1033// The context must be non-nil and will be used for request cancellation. If 1034// the context is nil a panic will occur. In the future the SDK may create 1035// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1036// for more information on using Contexts. 1037func (c *Redshift) CreateClusterSecurityGroupWithContext(ctx aws.Context, input *CreateClusterSecurityGroupInput, opts ...request.Option) (*CreateClusterSecurityGroupOutput, error) { 1038 req, out := c.CreateClusterSecurityGroupRequest(input) 1039 req.SetContext(ctx) 1040 req.ApplyOptions(opts...) 1041 return out, req.Send() 1042} 1043 1044const opCreateClusterSnapshot = "CreateClusterSnapshot" 1045 1046// CreateClusterSnapshotRequest generates a "aws/request.Request" representing the 1047// client's request for the CreateClusterSnapshot operation. The "output" return 1048// value will be populated with the request's response once the request completes 1049// successfully. 1050// 1051// Use "Send" method on the returned Request to send the API call to the service. 1052// the "output" return value is not valid until after Send returns without error. 1053// 1054// See CreateClusterSnapshot for more information on using the CreateClusterSnapshot 1055// API call, and error handling. 1056// 1057// This method is useful when you want to inject custom logic or configuration 1058// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1059// 1060// 1061// // Example sending a request using the CreateClusterSnapshotRequest method. 1062// req, resp := client.CreateClusterSnapshotRequest(params) 1063// 1064// err := req.Send() 1065// if err == nil { // resp is now filled 1066// fmt.Println(resp) 1067// } 1068// 1069// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSnapshot 1070func (c *Redshift) CreateClusterSnapshotRequest(input *CreateClusterSnapshotInput) (req *request.Request, output *CreateClusterSnapshotOutput) { 1071 op := &request.Operation{ 1072 Name: opCreateClusterSnapshot, 1073 HTTPMethod: "POST", 1074 HTTPPath: "/", 1075 } 1076 1077 if input == nil { 1078 input = &CreateClusterSnapshotInput{} 1079 } 1080 1081 output = &CreateClusterSnapshotOutput{} 1082 req = c.newRequest(op, input, output) 1083 return 1084} 1085 1086// CreateClusterSnapshot API operation for Amazon Redshift. 1087// 1088// Creates a manual snapshot of the specified cluster. The cluster must be in 1089// the available state. 1090// 1091// For more information about working with snapshots, go to Amazon Redshift 1092// Snapshots (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) 1093// in the Amazon Redshift Cluster Management Guide. 1094// 1095// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1096// with awserr.Error's Code and Message methods to get detailed information about 1097// the error. 1098// 1099// See the AWS API reference guide for Amazon Redshift's 1100// API operation CreateClusterSnapshot for usage and error information. 1101// 1102// Returned Error Codes: 1103// * ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists" 1104// The value specified as a snapshot identifier is already used by an existing 1105// snapshot. 1106// 1107// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 1108// The specified cluster is not in the available state. 1109// 1110// * ErrCodeClusterNotFoundFault "ClusterNotFound" 1111// The ClusterIdentifier parameter does not refer to an existing cluster. 1112// 1113// * ErrCodeClusterSnapshotQuotaExceededFault "ClusterSnapshotQuotaExceeded" 1114// The request would result in the user exceeding the allowed number of cluster 1115// snapshots. 1116// 1117// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1118// You have exceeded the number of tags allowed. 1119// 1120// * ErrCodeInvalidTagFault "InvalidTagFault" 1121// The tag is invalid. 1122// 1123// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 1124// The retention period specified is either in the past or is not a valid value. 1125// 1126// The value must be either -1 or an integer between 1 and 3,653. 1127// 1128// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSnapshot 1129func (c *Redshift) CreateClusterSnapshot(input *CreateClusterSnapshotInput) (*CreateClusterSnapshotOutput, error) { 1130 req, out := c.CreateClusterSnapshotRequest(input) 1131 return out, req.Send() 1132} 1133 1134// CreateClusterSnapshotWithContext is the same as CreateClusterSnapshot with the addition of 1135// the ability to pass a context and additional request options. 1136// 1137// See CreateClusterSnapshot for details on how to use this API operation. 1138// 1139// The context must be non-nil and will be used for request cancellation. If 1140// the context is nil a panic will occur. In the future the SDK may create 1141// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1142// for more information on using Contexts. 1143func (c *Redshift) CreateClusterSnapshotWithContext(ctx aws.Context, input *CreateClusterSnapshotInput, opts ...request.Option) (*CreateClusterSnapshotOutput, error) { 1144 req, out := c.CreateClusterSnapshotRequest(input) 1145 req.SetContext(ctx) 1146 req.ApplyOptions(opts...) 1147 return out, req.Send() 1148} 1149 1150const opCreateClusterSubnetGroup = "CreateClusterSubnetGroup" 1151 1152// CreateClusterSubnetGroupRequest generates a "aws/request.Request" representing the 1153// client's request for the CreateClusterSubnetGroup operation. The "output" return 1154// value will be populated with the request's response once the request completes 1155// successfully. 1156// 1157// Use "Send" method on the returned Request to send the API call to the service. 1158// the "output" return value is not valid until after Send returns without error. 1159// 1160// See CreateClusterSubnetGroup for more information on using the CreateClusterSubnetGroup 1161// API call, and error handling. 1162// 1163// This method is useful when you want to inject custom logic or configuration 1164// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1165// 1166// 1167// // Example sending a request using the CreateClusterSubnetGroupRequest method. 1168// req, resp := client.CreateClusterSubnetGroupRequest(params) 1169// 1170// err := req.Send() 1171// if err == nil { // resp is now filled 1172// fmt.Println(resp) 1173// } 1174// 1175// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSubnetGroup 1176func (c *Redshift) CreateClusterSubnetGroupRequest(input *CreateClusterSubnetGroupInput) (req *request.Request, output *CreateClusterSubnetGroupOutput) { 1177 op := &request.Operation{ 1178 Name: opCreateClusterSubnetGroup, 1179 HTTPMethod: "POST", 1180 HTTPPath: "/", 1181 } 1182 1183 if input == nil { 1184 input = &CreateClusterSubnetGroupInput{} 1185 } 1186 1187 output = &CreateClusterSubnetGroupOutput{} 1188 req = c.newRequest(op, input, output) 1189 return 1190} 1191 1192// CreateClusterSubnetGroup API operation for Amazon Redshift. 1193// 1194// Creates a new Amazon Redshift subnet group. You must provide a list of one 1195// or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) 1196// when creating Amazon Redshift subnet group. 1197// 1198// For information about subnet groups, go to Amazon Redshift Cluster Subnet 1199// Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html) 1200// in the Amazon Redshift Cluster Management Guide. 1201// 1202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1203// with awserr.Error's Code and Message methods to get detailed information about 1204// the error. 1205// 1206// See the AWS API reference guide for Amazon Redshift's 1207// API operation CreateClusterSubnetGroup for usage and error information. 1208// 1209// Returned Error Codes: 1210// * ErrCodeClusterSubnetGroupAlreadyExistsFault "ClusterSubnetGroupAlreadyExists" 1211// A ClusterSubnetGroupName is already used by an existing cluster subnet group. 1212// 1213// * ErrCodeClusterSubnetGroupQuotaExceededFault "ClusterSubnetGroupQuotaExceeded" 1214// The request would result in user exceeding the allowed number of cluster 1215// subnet groups. For information about increasing your quota, go to Limits 1216// in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 1217// in the Amazon Redshift Cluster Management Guide. 1218// 1219// * ErrCodeClusterSubnetQuotaExceededFault "ClusterSubnetQuotaExceededFault" 1220// The request would result in user exceeding the allowed number of subnets 1221// in a cluster subnet groups. For information about increasing your quota, 1222// go to Limits in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 1223// in the Amazon Redshift Cluster Management Guide. 1224// 1225// * ErrCodeInvalidSubnet "InvalidSubnet" 1226// The requested subnet is not valid, or not all of the subnets are in the same 1227// VPC. 1228// 1229// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 1230// Your account is not authorized to perform the requested operation. 1231// 1232// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1233// You have exceeded the number of tags allowed. 1234// 1235// * ErrCodeInvalidTagFault "InvalidTagFault" 1236// The tag is invalid. 1237// 1238// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 1239// The request cannot be completed because a dependent service is throttling 1240// requests made by Amazon Redshift on your behalf. Wait and retry the request. 1241// 1242// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateClusterSubnetGroup 1243func (c *Redshift) CreateClusterSubnetGroup(input *CreateClusterSubnetGroupInput) (*CreateClusterSubnetGroupOutput, error) { 1244 req, out := c.CreateClusterSubnetGroupRequest(input) 1245 return out, req.Send() 1246} 1247 1248// CreateClusterSubnetGroupWithContext is the same as CreateClusterSubnetGroup with the addition of 1249// the ability to pass a context and additional request options. 1250// 1251// See CreateClusterSubnetGroup for details on how to use this API operation. 1252// 1253// The context must be non-nil and will be used for request cancellation. If 1254// the context is nil a panic will occur. In the future the SDK may create 1255// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1256// for more information on using Contexts. 1257func (c *Redshift) CreateClusterSubnetGroupWithContext(ctx aws.Context, input *CreateClusterSubnetGroupInput, opts ...request.Option) (*CreateClusterSubnetGroupOutput, error) { 1258 req, out := c.CreateClusterSubnetGroupRequest(input) 1259 req.SetContext(ctx) 1260 req.ApplyOptions(opts...) 1261 return out, req.Send() 1262} 1263 1264const opCreateEventSubscription = "CreateEventSubscription" 1265 1266// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the 1267// client's request for the CreateEventSubscription operation. The "output" return 1268// value will be populated with the request's response once the request completes 1269// successfully. 1270// 1271// Use "Send" method on the returned Request to send the API call to the service. 1272// the "output" return value is not valid until after Send returns without error. 1273// 1274// See CreateEventSubscription for more information on using the CreateEventSubscription 1275// API call, and error handling. 1276// 1277// This method is useful when you want to inject custom logic or configuration 1278// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1279// 1280// 1281// // Example sending a request using the CreateEventSubscriptionRequest method. 1282// req, resp := client.CreateEventSubscriptionRequest(params) 1283// 1284// err := req.Send() 1285// if err == nil { // resp is now filled 1286// fmt.Println(resp) 1287// } 1288// 1289// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateEventSubscription 1290func (c *Redshift) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) { 1291 op := &request.Operation{ 1292 Name: opCreateEventSubscription, 1293 HTTPMethod: "POST", 1294 HTTPPath: "/", 1295 } 1296 1297 if input == nil { 1298 input = &CreateEventSubscriptionInput{} 1299 } 1300 1301 output = &CreateEventSubscriptionOutput{} 1302 req = c.newRequest(op, input, output) 1303 return 1304} 1305 1306// CreateEventSubscription API operation for Amazon Redshift. 1307// 1308// Creates an Amazon Redshift event notification subscription. This action requires 1309// an ARN (Amazon Resource Name) of an Amazon SNS topic created by either the 1310// Amazon Redshift console, the Amazon SNS console, or the Amazon SNS API. To 1311// obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and 1312// subscribe to the topic. The ARN is displayed in the SNS console. 1313// 1314// You can specify the source type, and lists of Amazon Redshift source IDs, 1315// event categories, and event severities. Notifications will be sent for all 1316// events you want that match those criteria. For example, you can specify source 1317// type = cluster, source ID = my-cluster-1 and mycluster2, event categories 1318// = Availability, Backup, and severity = ERROR. The subscription will only 1319// send notifications for those ERROR events in the Availability and Backup 1320// categories for the specified clusters. 1321// 1322// If you specify both the source type and source IDs, such as source type = 1323// cluster and source identifier = my-cluster-1, notifications will be sent 1324// for all the cluster events for my-cluster-1. If you specify a source type 1325// but do not specify a source identifier, you will receive notice of the events 1326// for the objects of that type in your AWS account. If you do not specify either 1327// the SourceType nor the SourceIdentifier, you will be notified of events generated 1328// from all Amazon Redshift sources belonging to your AWS account. You must 1329// specify a source type if you specify a source ID. 1330// 1331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1332// with awserr.Error's Code and Message methods to get detailed information about 1333// the error. 1334// 1335// See the AWS API reference guide for Amazon Redshift's 1336// API operation CreateEventSubscription for usage and error information. 1337// 1338// Returned Error Codes: 1339// * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded" 1340// The request would exceed the allowed number of event subscriptions for this 1341// account. For information about increasing your quota, go to Limits in Amazon 1342// Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 1343// in the Amazon Redshift Cluster Management Guide. 1344// 1345// * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist" 1346// There is already an existing event notification subscription with the specified 1347// name. 1348// 1349// * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic" 1350// Amazon SNS has responded that there is a problem with the specified Amazon 1351// SNS topic. 1352// 1353// * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization" 1354// You do not have permission to publish to the specified Amazon SNS topic. 1355// 1356// * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound" 1357// An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not 1358// exist. 1359// 1360// * ErrCodeSubscriptionEventIdNotFoundFault "SubscriptionEventIdNotFound" 1361// An Amazon Redshift event with the specified event ID does not exist. 1362// 1363// * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound" 1364// The value specified for the event category was not one of the allowed values, 1365// or it specified a category that does not apply to the specified source type. 1366// The allowed values are Configuration, Management, Monitoring, and Security. 1367// 1368// * ErrCodeSubscriptionSeverityNotFoundFault "SubscriptionSeverityNotFound" 1369// The value specified for the event severity was not one of the allowed values, 1370// or it specified a severity that does not apply to the specified source type. 1371// The allowed values are ERROR and INFO. 1372// 1373// * ErrCodeSourceNotFoundFault "SourceNotFound" 1374// The specified Amazon Redshift event source could not be found. 1375// 1376// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1377// You have exceeded the number of tags allowed. 1378// 1379// * ErrCodeInvalidTagFault "InvalidTagFault" 1380// The tag is invalid. 1381// 1382// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateEventSubscription 1383func (c *Redshift) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) { 1384 req, out := c.CreateEventSubscriptionRequest(input) 1385 return out, req.Send() 1386} 1387 1388// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of 1389// the ability to pass a context and additional request options. 1390// 1391// See CreateEventSubscription for details on how to use this API operation. 1392// 1393// The context must be non-nil and will be used for request cancellation. If 1394// the context is nil a panic will occur. In the future the SDK may create 1395// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1396// for more information on using Contexts. 1397func (c *Redshift) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) { 1398 req, out := c.CreateEventSubscriptionRequest(input) 1399 req.SetContext(ctx) 1400 req.ApplyOptions(opts...) 1401 return out, req.Send() 1402} 1403 1404const opCreateHsmClientCertificate = "CreateHsmClientCertificate" 1405 1406// CreateHsmClientCertificateRequest generates a "aws/request.Request" representing the 1407// client's request for the CreateHsmClientCertificate operation. The "output" return 1408// value will be populated with the request's response once the request completes 1409// successfully. 1410// 1411// Use "Send" method on the returned Request to send the API call to the service. 1412// the "output" return value is not valid until after Send returns without error. 1413// 1414// See CreateHsmClientCertificate for more information on using the CreateHsmClientCertificate 1415// API call, and error handling. 1416// 1417// This method is useful when you want to inject custom logic or configuration 1418// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1419// 1420// 1421// // Example sending a request using the CreateHsmClientCertificateRequest method. 1422// req, resp := client.CreateHsmClientCertificateRequest(params) 1423// 1424// err := req.Send() 1425// if err == nil { // resp is now filled 1426// fmt.Println(resp) 1427// } 1428// 1429// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmClientCertificate 1430func (c *Redshift) CreateHsmClientCertificateRequest(input *CreateHsmClientCertificateInput) (req *request.Request, output *CreateHsmClientCertificateOutput) { 1431 op := &request.Operation{ 1432 Name: opCreateHsmClientCertificate, 1433 HTTPMethod: "POST", 1434 HTTPPath: "/", 1435 } 1436 1437 if input == nil { 1438 input = &CreateHsmClientCertificateInput{} 1439 } 1440 1441 output = &CreateHsmClientCertificateOutput{} 1442 req = c.newRequest(op, input, output) 1443 return 1444} 1445 1446// CreateHsmClientCertificate API operation for Amazon Redshift. 1447// 1448// Creates an HSM client certificate that an Amazon Redshift cluster will use 1449// to connect to the client's HSM in order to store and retrieve the keys used 1450// to encrypt the cluster databases. 1451// 1452// The command returns a public key, which you must store in the HSM. In addition 1453// to creating the HSM certificate, you must create an Amazon Redshift HSM configuration 1454// that provides a cluster the information needed to store and use encryption 1455// keys in the HSM. For more information, go to Hardware Security Modules (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) 1456// in the Amazon Redshift Cluster Management Guide. 1457// 1458// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1459// with awserr.Error's Code and Message methods to get detailed information about 1460// the error. 1461// 1462// See the AWS API reference guide for Amazon Redshift's 1463// API operation CreateHsmClientCertificate for usage and error information. 1464// 1465// Returned Error Codes: 1466// * ErrCodeHsmClientCertificateAlreadyExistsFault "HsmClientCertificateAlreadyExistsFault" 1467// There is already an existing Amazon Redshift HSM client certificate with 1468// the specified identifier. 1469// 1470// * ErrCodeHsmClientCertificateQuotaExceededFault "HsmClientCertificateQuotaExceededFault" 1471// The quota for HSM client certificates has been reached. For information about 1472// increasing your quota, go to Limits in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 1473// in the Amazon Redshift Cluster Management Guide. 1474// 1475// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1476// You have exceeded the number of tags allowed. 1477// 1478// * ErrCodeInvalidTagFault "InvalidTagFault" 1479// The tag is invalid. 1480// 1481// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmClientCertificate 1482func (c *Redshift) CreateHsmClientCertificate(input *CreateHsmClientCertificateInput) (*CreateHsmClientCertificateOutput, error) { 1483 req, out := c.CreateHsmClientCertificateRequest(input) 1484 return out, req.Send() 1485} 1486 1487// CreateHsmClientCertificateWithContext is the same as CreateHsmClientCertificate with the addition of 1488// the ability to pass a context and additional request options. 1489// 1490// See CreateHsmClientCertificate for details on how to use this API operation. 1491// 1492// The context must be non-nil and will be used for request cancellation. If 1493// the context is nil a panic will occur. In the future the SDK may create 1494// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1495// for more information on using Contexts. 1496func (c *Redshift) CreateHsmClientCertificateWithContext(ctx aws.Context, input *CreateHsmClientCertificateInput, opts ...request.Option) (*CreateHsmClientCertificateOutput, error) { 1497 req, out := c.CreateHsmClientCertificateRequest(input) 1498 req.SetContext(ctx) 1499 req.ApplyOptions(opts...) 1500 return out, req.Send() 1501} 1502 1503const opCreateHsmConfiguration = "CreateHsmConfiguration" 1504 1505// CreateHsmConfigurationRequest generates a "aws/request.Request" representing the 1506// client's request for the CreateHsmConfiguration operation. The "output" return 1507// value will be populated with the request's response once the request completes 1508// successfully. 1509// 1510// Use "Send" method on the returned Request to send the API call to the service. 1511// the "output" return value is not valid until after Send returns without error. 1512// 1513// See CreateHsmConfiguration for more information on using the CreateHsmConfiguration 1514// API call, and error handling. 1515// 1516// This method is useful when you want to inject custom logic or configuration 1517// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1518// 1519// 1520// // Example sending a request using the CreateHsmConfigurationRequest method. 1521// req, resp := client.CreateHsmConfigurationRequest(params) 1522// 1523// err := req.Send() 1524// if err == nil { // resp is now filled 1525// fmt.Println(resp) 1526// } 1527// 1528// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmConfiguration 1529func (c *Redshift) CreateHsmConfigurationRequest(input *CreateHsmConfigurationInput) (req *request.Request, output *CreateHsmConfigurationOutput) { 1530 op := &request.Operation{ 1531 Name: opCreateHsmConfiguration, 1532 HTTPMethod: "POST", 1533 HTTPPath: "/", 1534 } 1535 1536 if input == nil { 1537 input = &CreateHsmConfigurationInput{} 1538 } 1539 1540 output = &CreateHsmConfigurationOutput{} 1541 req = c.newRequest(op, input, output) 1542 return 1543} 1544 1545// CreateHsmConfiguration API operation for Amazon Redshift. 1546// 1547// Creates an HSM configuration that contains the information required by an 1548// Amazon Redshift cluster to store and use database encryption keys in a Hardware 1549// Security Module (HSM). After creating the HSM configuration, you can specify 1550// it as a parameter when creating a cluster. The cluster will then store its 1551// encryption keys in the HSM. 1552// 1553// In addition to creating an HSM configuration, you must also create an HSM 1554// client certificate. For more information, go to Hardware Security Modules 1555// (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-HSM.html) 1556// in the Amazon Redshift Cluster Management Guide. 1557// 1558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1559// with awserr.Error's Code and Message methods to get detailed information about 1560// the error. 1561// 1562// See the AWS API reference guide for Amazon Redshift's 1563// API operation CreateHsmConfiguration for usage and error information. 1564// 1565// Returned Error Codes: 1566// * ErrCodeHsmConfigurationAlreadyExistsFault "HsmConfigurationAlreadyExistsFault" 1567// There is already an existing Amazon Redshift HSM configuration with the specified 1568// identifier. 1569// 1570// * ErrCodeHsmConfigurationQuotaExceededFault "HsmConfigurationQuotaExceededFault" 1571// The quota for HSM configurations has been reached. For information about 1572// increasing your quota, go to Limits in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 1573// in the Amazon Redshift Cluster Management Guide. 1574// 1575// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1576// You have exceeded the number of tags allowed. 1577// 1578// * ErrCodeInvalidTagFault "InvalidTagFault" 1579// The tag is invalid. 1580// 1581// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateHsmConfiguration 1582func (c *Redshift) CreateHsmConfiguration(input *CreateHsmConfigurationInput) (*CreateHsmConfigurationOutput, error) { 1583 req, out := c.CreateHsmConfigurationRequest(input) 1584 return out, req.Send() 1585} 1586 1587// CreateHsmConfigurationWithContext is the same as CreateHsmConfiguration with the addition of 1588// the ability to pass a context and additional request options. 1589// 1590// See CreateHsmConfiguration for details on how to use this API operation. 1591// 1592// The context must be non-nil and will be used for request cancellation. If 1593// the context is nil a panic will occur. In the future the SDK may create 1594// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1595// for more information on using Contexts. 1596func (c *Redshift) CreateHsmConfigurationWithContext(ctx aws.Context, input *CreateHsmConfigurationInput, opts ...request.Option) (*CreateHsmConfigurationOutput, error) { 1597 req, out := c.CreateHsmConfigurationRequest(input) 1598 req.SetContext(ctx) 1599 req.ApplyOptions(opts...) 1600 return out, req.Send() 1601} 1602 1603const opCreateScheduledAction = "CreateScheduledAction" 1604 1605// CreateScheduledActionRequest generates a "aws/request.Request" representing the 1606// client's request for the CreateScheduledAction operation. The "output" return 1607// value will be populated with the request's response once the request completes 1608// successfully. 1609// 1610// Use "Send" method on the returned Request to send the API call to the service. 1611// the "output" return value is not valid until after Send returns without error. 1612// 1613// See CreateScheduledAction for more information on using the CreateScheduledAction 1614// API call, and error handling. 1615// 1616// This method is useful when you want to inject custom logic or configuration 1617// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1618// 1619// 1620// // Example sending a request using the CreateScheduledActionRequest method. 1621// req, resp := client.CreateScheduledActionRequest(params) 1622// 1623// err := req.Send() 1624// if err == nil { // resp is now filled 1625// fmt.Println(resp) 1626// } 1627// 1628// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction 1629func (c *Redshift) CreateScheduledActionRequest(input *CreateScheduledActionInput) (req *request.Request, output *CreateScheduledActionOutput) { 1630 op := &request.Operation{ 1631 Name: opCreateScheduledAction, 1632 HTTPMethod: "POST", 1633 HTTPPath: "/", 1634 } 1635 1636 if input == nil { 1637 input = &CreateScheduledActionInput{} 1638 } 1639 1640 output = &CreateScheduledActionOutput{} 1641 req = c.newRequest(op, input, output) 1642 return 1643} 1644 1645// CreateScheduledAction API operation for Amazon Redshift. 1646// 1647// Creates a scheduled action. A scheduled action contains a schedule and an 1648// Amazon Redshift API action. For example, you can create a schedule of when 1649// to run the ResizeCluster API operation. 1650// 1651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1652// with awserr.Error's Code and Message methods to get detailed information about 1653// the error. 1654// 1655// See the AWS API reference guide for Amazon Redshift's 1656// API operation CreateScheduledAction for usage and error information. 1657// 1658// Returned Error Codes: 1659// * ErrCodeScheduledActionAlreadyExistsFault "ScheduledActionAlreadyExists" 1660// The scheduled action already exists. 1661// 1662// * ErrCodeScheduledActionQuotaExceededFault "ScheduledActionQuotaExceeded" 1663// The quota for scheduled actions exceeded. 1664// 1665// * ErrCodeScheduledActionTypeUnsupportedFault "ScheduledActionTypeUnsupported" 1666// The action type specified for a scheduled action is not supported. 1667// 1668// * ErrCodeInvalidScheduleFault "InvalidSchedule" 1669// The schedule you submitted isn't valid. 1670// 1671// * ErrCodeInvalidScheduledActionFault "InvalidScheduledAction" 1672// The scheduled action is not valid. 1673// 1674// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 1675// Your account is not authorized to perform the requested operation. 1676// 1677// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateScheduledAction 1678func (c *Redshift) CreateScheduledAction(input *CreateScheduledActionInput) (*CreateScheduledActionOutput, error) { 1679 req, out := c.CreateScheduledActionRequest(input) 1680 return out, req.Send() 1681} 1682 1683// CreateScheduledActionWithContext is the same as CreateScheduledAction with the addition of 1684// the ability to pass a context and additional request options. 1685// 1686// See CreateScheduledAction for details on how to use this API operation. 1687// 1688// The context must be non-nil and will be used for request cancellation. If 1689// the context is nil a panic will occur. In the future the SDK may create 1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1691// for more information on using Contexts. 1692func (c *Redshift) CreateScheduledActionWithContext(ctx aws.Context, input *CreateScheduledActionInput, opts ...request.Option) (*CreateScheduledActionOutput, error) { 1693 req, out := c.CreateScheduledActionRequest(input) 1694 req.SetContext(ctx) 1695 req.ApplyOptions(opts...) 1696 return out, req.Send() 1697} 1698 1699const opCreateSnapshotCopyGrant = "CreateSnapshotCopyGrant" 1700 1701// CreateSnapshotCopyGrantRequest generates a "aws/request.Request" representing the 1702// client's request for the CreateSnapshotCopyGrant operation. The "output" return 1703// value will be populated with the request's response once the request completes 1704// successfully. 1705// 1706// Use "Send" method on the returned Request to send the API call to the service. 1707// the "output" return value is not valid until after Send returns without error. 1708// 1709// See CreateSnapshotCopyGrant for more information on using the CreateSnapshotCopyGrant 1710// API call, and error handling. 1711// 1712// This method is useful when you want to inject custom logic or configuration 1713// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1714// 1715// 1716// // Example sending a request using the CreateSnapshotCopyGrantRequest method. 1717// req, resp := client.CreateSnapshotCopyGrantRequest(params) 1718// 1719// err := req.Send() 1720// if err == nil { // resp is now filled 1721// fmt.Println(resp) 1722// } 1723// 1724// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotCopyGrant 1725func (c *Redshift) CreateSnapshotCopyGrantRequest(input *CreateSnapshotCopyGrantInput) (req *request.Request, output *CreateSnapshotCopyGrantOutput) { 1726 op := &request.Operation{ 1727 Name: opCreateSnapshotCopyGrant, 1728 HTTPMethod: "POST", 1729 HTTPPath: "/", 1730 } 1731 1732 if input == nil { 1733 input = &CreateSnapshotCopyGrantInput{} 1734 } 1735 1736 output = &CreateSnapshotCopyGrantOutput{} 1737 req = c.newRequest(op, input, output) 1738 return 1739} 1740 1741// CreateSnapshotCopyGrant API operation for Amazon Redshift. 1742// 1743// Creates a snapshot copy grant that permits Amazon Redshift to use a customer 1744// master key (CMK) from AWS Key Management Service (AWS KMS) to encrypt copied 1745// snapshots in a destination region. 1746// 1747// For more information about managing snapshot copy grants, go to Amazon Redshift 1748// Database Encryption (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) 1749// in the Amazon Redshift Cluster Management Guide. 1750// 1751// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1752// with awserr.Error's Code and Message methods to get detailed information about 1753// the error. 1754// 1755// See the AWS API reference guide for Amazon Redshift's 1756// API operation CreateSnapshotCopyGrant for usage and error information. 1757// 1758// Returned Error Codes: 1759// * ErrCodeSnapshotCopyGrantAlreadyExistsFault "SnapshotCopyGrantAlreadyExistsFault" 1760// The snapshot copy grant can't be created because a grant with the same name 1761// already exists. 1762// 1763// * ErrCodeSnapshotCopyGrantQuotaExceededFault "SnapshotCopyGrantQuotaExceededFault" 1764// The AWS account has exceeded the maximum number of snapshot copy grants in 1765// this region. 1766// 1767// * ErrCodeLimitExceededFault "LimitExceededFault" 1768// The encryption key has exceeded its grant limit in AWS KMS. 1769// 1770// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1771// You have exceeded the number of tags allowed. 1772// 1773// * ErrCodeInvalidTagFault "InvalidTagFault" 1774// The tag is invalid. 1775// 1776// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 1777// The request cannot be completed because a dependent service is throttling 1778// requests made by Amazon Redshift on your behalf. Wait and retry the request. 1779// 1780// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotCopyGrant 1781func (c *Redshift) CreateSnapshotCopyGrant(input *CreateSnapshotCopyGrantInput) (*CreateSnapshotCopyGrantOutput, error) { 1782 req, out := c.CreateSnapshotCopyGrantRequest(input) 1783 return out, req.Send() 1784} 1785 1786// CreateSnapshotCopyGrantWithContext is the same as CreateSnapshotCopyGrant with the addition of 1787// the ability to pass a context and additional request options. 1788// 1789// See CreateSnapshotCopyGrant for details on how to use this API operation. 1790// 1791// The context must be non-nil and will be used for request cancellation. If 1792// the context is nil a panic will occur. In the future the SDK may create 1793// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1794// for more information on using Contexts. 1795func (c *Redshift) CreateSnapshotCopyGrantWithContext(ctx aws.Context, input *CreateSnapshotCopyGrantInput, opts ...request.Option) (*CreateSnapshotCopyGrantOutput, error) { 1796 req, out := c.CreateSnapshotCopyGrantRequest(input) 1797 req.SetContext(ctx) 1798 req.ApplyOptions(opts...) 1799 return out, req.Send() 1800} 1801 1802const opCreateSnapshotSchedule = "CreateSnapshotSchedule" 1803 1804// CreateSnapshotScheduleRequest generates a "aws/request.Request" representing the 1805// client's request for the CreateSnapshotSchedule operation. The "output" return 1806// value will be populated with the request's response once the request completes 1807// successfully. 1808// 1809// Use "Send" method on the returned Request to send the API call to the service. 1810// the "output" return value is not valid until after Send returns without error. 1811// 1812// See CreateSnapshotSchedule for more information on using the CreateSnapshotSchedule 1813// API call, and error handling. 1814// 1815// This method is useful when you want to inject custom logic or configuration 1816// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1817// 1818// 1819// // Example sending a request using the CreateSnapshotScheduleRequest method. 1820// req, resp := client.CreateSnapshotScheduleRequest(params) 1821// 1822// err := req.Send() 1823// if err == nil { // resp is now filled 1824// fmt.Println(resp) 1825// } 1826// 1827// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotSchedule 1828func (c *Redshift) CreateSnapshotScheduleRequest(input *CreateSnapshotScheduleInput) (req *request.Request, output *CreateSnapshotScheduleOutput) { 1829 op := &request.Operation{ 1830 Name: opCreateSnapshotSchedule, 1831 HTTPMethod: "POST", 1832 HTTPPath: "/", 1833 } 1834 1835 if input == nil { 1836 input = &CreateSnapshotScheduleInput{} 1837 } 1838 1839 output = &CreateSnapshotScheduleOutput{} 1840 req = c.newRequest(op, input, output) 1841 return 1842} 1843 1844// CreateSnapshotSchedule API operation for Amazon Redshift. 1845// 1846// Create a snapshot schedule that can be associated to a cluster and which 1847// overrides the default system backup schedule. 1848// 1849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1850// with awserr.Error's Code and Message methods to get detailed information about 1851// the error. 1852// 1853// See the AWS API reference guide for Amazon Redshift's 1854// API operation CreateSnapshotSchedule for usage and error information. 1855// 1856// Returned Error Codes: 1857// * ErrCodeSnapshotScheduleAlreadyExistsFault "SnapshotScheduleAlreadyExists" 1858// The specified snapshot schedule already exists. 1859// 1860// * ErrCodeInvalidScheduleFault "InvalidSchedule" 1861// The schedule you submitted isn't valid. 1862// 1863// * ErrCodeSnapshotScheduleQuotaExceededFault "SnapshotScheduleQuotaExceeded" 1864// You have exceeded the quota of snapshot schedules. 1865// 1866// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1867// You have exceeded the number of tags allowed. 1868// 1869// * ErrCodeScheduleDefinitionTypeUnsupportedFault "ScheduleDefinitionTypeUnsupported" 1870// The definition you submitted is not supported. 1871// 1872// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateSnapshotSchedule 1873func (c *Redshift) CreateSnapshotSchedule(input *CreateSnapshotScheduleInput) (*CreateSnapshotScheduleOutput, error) { 1874 req, out := c.CreateSnapshotScheduleRequest(input) 1875 return out, req.Send() 1876} 1877 1878// CreateSnapshotScheduleWithContext is the same as CreateSnapshotSchedule with the addition of 1879// the ability to pass a context and additional request options. 1880// 1881// See CreateSnapshotSchedule for details on how to use this API operation. 1882// 1883// The context must be non-nil and will be used for request cancellation. If 1884// the context is nil a panic will occur. In the future the SDK may create 1885// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1886// for more information on using Contexts. 1887func (c *Redshift) CreateSnapshotScheduleWithContext(ctx aws.Context, input *CreateSnapshotScheduleInput, opts ...request.Option) (*CreateSnapshotScheduleOutput, error) { 1888 req, out := c.CreateSnapshotScheduleRequest(input) 1889 req.SetContext(ctx) 1890 req.ApplyOptions(opts...) 1891 return out, req.Send() 1892} 1893 1894const opCreateTags = "CreateTags" 1895 1896// CreateTagsRequest generates a "aws/request.Request" representing the 1897// client's request for the CreateTags operation. The "output" return 1898// value will be populated with the request's response once the request completes 1899// successfully. 1900// 1901// Use "Send" method on the returned Request to send the API call to the service. 1902// the "output" return value is not valid until after Send returns without error. 1903// 1904// See CreateTags for more information on using the CreateTags 1905// API call, and error handling. 1906// 1907// This method is useful when you want to inject custom logic or configuration 1908// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1909// 1910// 1911// // Example sending a request using the CreateTagsRequest method. 1912// req, resp := client.CreateTagsRequest(params) 1913// 1914// err := req.Send() 1915// if err == nil { // resp is now filled 1916// fmt.Println(resp) 1917// } 1918// 1919// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateTags 1920func (c *Redshift) CreateTagsRequest(input *CreateTagsInput) (req *request.Request, output *CreateTagsOutput) { 1921 op := &request.Operation{ 1922 Name: opCreateTags, 1923 HTTPMethod: "POST", 1924 HTTPPath: "/", 1925 } 1926 1927 if input == nil { 1928 input = &CreateTagsInput{} 1929 } 1930 1931 output = &CreateTagsOutput{} 1932 req = c.newRequest(op, input, output) 1933 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1934 return 1935} 1936 1937// CreateTags API operation for Amazon Redshift. 1938// 1939// Adds tags to a cluster. 1940// 1941// A resource can have up to 50 tags. If you try to create more than 50 tags 1942// for a resource, you will receive an error and the attempt will fail. 1943// 1944// If you specify a key that already exists for the resource, the value for 1945// that key will be updated with the new value. 1946// 1947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1948// with awserr.Error's Code and Message methods to get detailed information about 1949// the error. 1950// 1951// See the AWS API reference guide for Amazon Redshift's 1952// API operation CreateTags for usage and error information. 1953// 1954// Returned Error Codes: 1955// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 1956// You have exceeded the number of tags allowed. 1957// 1958// * ErrCodeResourceNotFoundFault "ResourceNotFoundFault" 1959// The resource could not be found. 1960// 1961// * ErrCodeInvalidTagFault "InvalidTagFault" 1962// The tag is invalid. 1963// 1964// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateTags 1965func (c *Redshift) CreateTags(input *CreateTagsInput) (*CreateTagsOutput, error) { 1966 req, out := c.CreateTagsRequest(input) 1967 return out, req.Send() 1968} 1969 1970// CreateTagsWithContext is the same as CreateTags with the addition of 1971// the ability to pass a context and additional request options. 1972// 1973// See CreateTags for details on how to use this API operation. 1974// 1975// The context must be non-nil and will be used for request cancellation. If 1976// the context is nil a panic will occur. In the future the SDK may create 1977// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1978// for more information on using Contexts. 1979func (c *Redshift) CreateTagsWithContext(ctx aws.Context, input *CreateTagsInput, opts ...request.Option) (*CreateTagsOutput, error) { 1980 req, out := c.CreateTagsRequest(input) 1981 req.SetContext(ctx) 1982 req.ApplyOptions(opts...) 1983 return out, req.Send() 1984} 1985 1986const opCreateUsageLimit = "CreateUsageLimit" 1987 1988// CreateUsageLimitRequest generates a "aws/request.Request" representing the 1989// client's request for the CreateUsageLimit operation. The "output" return 1990// value will be populated with the request's response once the request completes 1991// successfully. 1992// 1993// Use "Send" method on the returned Request to send the API call to the service. 1994// the "output" return value is not valid until after Send returns without error. 1995// 1996// See CreateUsageLimit for more information on using the CreateUsageLimit 1997// API call, and error handling. 1998// 1999// This method is useful when you want to inject custom logic or configuration 2000// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2001// 2002// 2003// // Example sending a request using the CreateUsageLimitRequest method. 2004// req, resp := client.CreateUsageLimitRequest(params) 2005// 2006// err := req.Send() 2007// if err == nil { // resp is now filled 2008// fmt.Println(resp) 2009// } 2010// 2011// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateUsageLimit 2012func (c *Redshift) CreateUsageLimitRequest(input *CreateUsageLimitInput) (req *request.Request, output *CreateUsageLimitOutput) { 2013 op := &request.Operation{ 2014 Name: opCreateUsageLimit, 2015 HTTPMethod: "POST", 2016 HTTPPath: "/", 2017 } 2018 2019 if input == nil { 2020 input = &CreateUsageLimitInput{} 2021 } 2022 2023 output = &CreateUsageLimitOutput{} 2024 req = c.newRequest(op, input, output) 2025 return 2026} 2027 2028// CreateUsageLimit API operation for Amazon Redshift. 2029// 2030// Creates a usage limit for a specified Amazon Redshift feature on a cluster. 2031// The usage limit is identified by the returned usage limit identifier. 2032// 2033// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2034// with awserr.Error's Code and Message methods to get detailed information about 2035// the error. 2036// 2037// See the AWS API reference guide for Amazon Redshift's 2038// API operation CreateUsageLimit for usage and error information. 2039// 2040// Returned Error Codes: 2041// * ErrCodeClusterNotFoundFault "ClusterNotFound" 2042// The ClusterIdentifier parameter does not refer to an existing cluster. 2043// 2044// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 2045// The specified cluster is not in the available state. 2046// 2047// * ErrCodeLimitExceededFault "LimitExceededFault" 2048// The encryption key has exceeded its grant limit in AWS KMS. 2049// 2050// * ErrCodeUsageLimitAlreadyExistsFault "UsageLimitAlreadyExists" 2051// The usage limit already exists. 2052// 2053// * ErrCodeInvalidUsageLimitFault "InvalidUsageLimit" 2054// The usage limit is not valid. 2055// 2056// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 2057// You have exceeded the number of tags allowed. 2058// 2059// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 2060// The requested operation isn't supported. 2061// 2062// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/CreateUsageLimit 2063func (c *Redshift) CreateUsageLimit(input *CreateUsageLimitInput) (*CreateUsageLimitOutput, error) { 2064 req, out := c.CreateUsageLimitRequest(input) 2065 return out, req.Send() 2066} 2067 2068// CreateUsageLimitWithContext is the same as CreateUsageLimit with the addition of 2069// the ability to pass a context and additional request options. 2070// 2071// See CreateUsageLimit for details on how to use this API operation. 2072// 2073// The context must be non-nil and will be used for request cancellation. If 2074// the context is nil a panic will occur. In the future the SDK may create 2075// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2076// for more information on using Contexts. 2077func (c *Redshift) CreateUsageLimitWithContext(ctx aws.Context, input *CreateUsageLimitInput, opts ...request.Option) (*CreateUsageLimitOutput, error) { 2078 req, out := c.CreateUsageLimitRequest(input) 2079 req.SetContext(ctx) 2080 req.ApplyOptions(opts...) 2081 return out, req.Send() 2082} 2083 2084const opDeleteCluster = "DeleteCluster" 2085 2086// DeleteClusterRequest generates a "aws/request.Request" representing the 2087// client's request for the DeleteCluster operation. The "output" return 2088// value will be populated with the request's response once the request completes 2089// successfully. 2090// 2091// Use "Send" method on the returned Request to send the API call to the service. 2092// the "output" return value is not valid until after Send returns without error. 2093// 2094// See DeleteCluster for more information on using the DeleteCluster 2095// API call, and error handling. 2096// 2097// This method is useful when you want to inject custom logic or configuration 2098// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2099// 2100// 2101// // Example sending a request using the DeleteClusterRequest method. 2102// req, resp := client.DeleteClusterRequest(params) 2103// 2104// err := req.Send() 2105// if err == nil { // resp is now filled 2106// fmt.Println(resp) 2107// } 2108// 2109// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteCluster 2110func (c *Redshift) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { 2111 op := &request.Operation{ 2112 Name: opDeleteCluster, 2113 HTTPMethod: "POST", 2114 HTTPPath: "/", 2115 } 2116 2117 if input == nil { 2118 input = &DeleteClusterInput{} 2119 } 2120 2121 output = &DeleteClusterOutput{} 2122 req = c.newRequest(op, input, output) 2123 return 2124} 2125 2126// DeleteCluster API operation for Amazon Redshift. 2127// 2128// Deletes a previously provisioned cluster without its final snapshot being 2129// created. A successful response from the web service indicates that the request 2130// was received correctly. Use DescribeClusters to monitor the status of the 2131// deletion. The delete operation cannot be canceled or reverted once submitted. 2132// For more information about managing clusters, go to Amazon Redshift Clusters 2133// (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 2134// in the Amazon Redshift Cluster Management Guide. 2135// 2136// If you want to shut down the cluster and retain it for future use, set SkipFinalClusterSnapshot 2137// to false and specify a name for FinalClusterSnapshotIdentifier. You can later 2138// restore this snapshot to resume using the cluster. If a final cluster snapshot 2139// is requested, the status of the cluster will be "final-snapshot" while the 2140// snapshot is being taken, then it's "deleting" once Amazon Redshift begins 2141// deleting the cluster. 2142// 2143// For more information about managing clusters, go to Amazon Redshift Clusters 2144// (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 2145// in the Amazon Redshift Cluster Management Guide. 2146// 2147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2148// with awserr.Error's Code and Message methods to get detailed information about 2149// the error. 2150// 2151// See the AWS API reference guide for Amazon Redshift's 2152// API operation DeleteCluster for usage and error information. 2153// 2154// Returned Error Codes: 2155// * ErrCodeClusterNotFoundFault "ClusterNotFound" 2156// The ClusterIdentifier parameter does not refer to an existing cluster. 2157// 2158// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 2159// The specified cluster is not in the available state. 2160// 2161// * ErrCodeClusterSnapshotAlreadyExistsFault "ClusterSnapshotAlreadyExists" 2162// The value specified as a snapshot identifier is already used by an existing 2163// snapshot. 2164// 2165// * ErrCodeClusterSnapshotQuotaExceededFault "ClusterSnapshotQuotaExceeded" 2166// The request would result in the user exceeding the allowed number of cluster 2167// snapshots. 2168// 2169// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 2170// The retention period specified is either in the past or is not a valid value. 2171// 2172// The value must be either -1 or an integer between 1 and 3,653. 2173// 2174// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteCluster 2175func (c *Redshift) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { 2176 req, out := c.DeleteClusterRequest(input) 2177 return out, req.Send() 2178} 2179 2180// DeleteClusterWithContext is the same as DeleteCluster with the addition of 2181// the ability to pass a context and additional request options. 2182// 2183// See DeleteCluster for details on how to use this API operation. 2184// 2185// The context must be non-nil and will be used for request cancellation. If 2186// the context is nil a panic will occur. In the future the SDK may create 2187// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2188// for more information on using Contexts. 2189func (c *Redshift) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { 2190 req, out := c.DeleteClusterRequest(input) 2191 req.SetContext(ctx) 2192 req.ApplyOptions(opts...) 2193 return out, req.Send() 2194} 2195 2196const opDeleteClusterParameterGroup = "DeleteClusterParameterGroup" 2197 2198// DeleteClusterParameterGroupRequest generates a "aws/request.Request" representing the 2199// client's request for the DeleteClusterParameterGroup operation. The "output" return 2200// value will be populated with the request's response once the request completes 2201// successfully. 2202// 2203// Use "Send" method on the returned Request to send the API call to the service. 2204// the "output" return value is not valid until after Send returns without error. 2205// 2206// See DeleteClusterParameterGroup for more information on using the DeleteClusterParameterGroup 2207// API call, and error handling. 2208// 2209// This method is useful when you want to inject custom logic or configuration 2210// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2211// 2212// 2213// // Example sending a request using the DeleteClusterParameterGroupRequest method. 2214// req, resp := client.DeleteClusterParameterGroupRequest(params) 2215// 2216// err := req.Send() 2217// if err == nil { // resp is now filled 2218// fmt.Println(resp) 2219// } 2220// 2221// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterParameterGroup 2222func (c *Redshift) DeleteClusterParameterGroupRequest(input *DeleteClusterParameterGroupInput) (req *request.Request, output *DeleteClusterParameterGroupOutput) { 2223 op := &request.Operation{ 2224 Name: opDeleteClusterParameterGroup, 2225 HTTPMethod: "POST", 2226 HTTPPath: "/", 2227 } 2228 2229 if input == nil { 2230 input = &DeleteClusterParameterGroupInput{} 2231 } 2232 2233 output = &DeleteClusterParameterGroupOutput{} 2234 req = c.newRequest(op, input, output) 2235 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2236 return 2237} 2238 2239// DeleteClusterParameterGroup API operation for Amazon Redshift. 2240// 2241// Deletes a specified Amazon Redshift parameter group. 2242// 2243// You cannot delete a parameter group if it is associated with a cluster. 2244// 2245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2246// with awserr.Error's Code and Message methods to get detailed information about 2247// the error. 2248// 2249// See the AWS API reference guide for Amazon Redshift's 2250// API operation DeleteClusterParameterGroup for usage and error information. 2251// 2252// Returned Error Codes: 2253// * ErrCodeInvalidClusterParameterGroupStateFault "InvalidClusterParameterGroupState" 2254// The cluster parameter group action can not be completed because another task 2255// is in progress that involves the parameter group. Wait a few moments and 2256// try the operation again. 2257// 2258// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 2259// The parameter group name does not refer to an existing parameter group. 2260// 2261// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterParameterGroup 2262func (c *Redshift) DeleteClusterParameterGroup(input *DeleteClusterParameterGroupInput) (*DeleteClusterParameterGroupOutput, error) { 2263 req, out := c.DeleteClusterParameterGroupRequest(input) 2264 return out, req.Send() 2265} 2266 2267// DeleteClusterParameterGroupWithContext is the same as DeleteClusterParameterGroup with the addition of 2268// the ability to pass a context and additional request options. 2269// 2270// See DeleteClusterParameterGroup for details on how to use this API operation. 2271// 2272// The context must be non-nil and will be used for request cancellation. If 2273// the context is nil a panic will occur. In the future the SDK may create 2274// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2275// for more information on using Contexts. 2276func (c *Redshift) DeleteClusterParameterGroupWithContext(ctx aws.Context, input *DeleteClusterParameterGroupInput, opts ...request.Option) (*DeleteClusterParameterGroupOutput, error) { 2277 req, out := c.DeleteClusterParameterGroupRequest(input) 2278 req.SetContext(ctx) 2279 req.ApplyOptions(opts...) 2280 return out, req.Send() 2281} 2282 2283const opDeleteClusterSecurityGroup = "DeleteClusterSecurityGroup" 2284 2285// DeleteClusterSecurityGroupRequest generates a "aws/request.Request" representing the 2286// client's request for the DeleteClusterSecurityGroup operation. The "output" return 2287// value will be populated with the request's response once the request completes 2288// successfully. 2289// 2290// Use "Send" method on the returned Request to send the API call to the service. 2291// the "output" return value is not valid until after Send returns without error. 2292// 2293// See DeleteClusterSecurityGroup for more information on using the DeleteClusterSecurityGroup 2294// API call, and error handling. 2295// 2296// This method is useful when you want to inject custom logic or configuration 2297// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2298// 2299// 2300// // Example sending a request using the DeleteClusterSecurityGroupRequest method. 2301// req, resp := client.DeleteClusterSecurityGroupRequest(params) 2302// 2303// err := req.Send() 2304// if err == nil { // resp is now filled 2305// fmt.Println(resp) 2306// } 2307// 2308// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSecurityGroup 2309func (c *Redshift) DeleteClusterSecurityGroupRequest(input *DeleteClusterSecurityGroupInput) (req *request.Request, output *DeleteClusterSecurityGroupOutput) { 2310 op := &request.Operation{ 2311 Name: opDeleteClusterSecurityGroup, 2312 HTTPMethod: "POST", 2313 HTTPPath: "/", 2314 } 2315 2316 if input == nil { 2317 input = &DeleteClusterSecurityGroupInput{} 2318 } 2319 2320 output = &DeleteClusterSecurityGroupOutput{} 2321 req = c.newRequest(op, input, output) 2322 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2323 return 2324} 2325 2326// DeleteClusterSecurityGroup API operation for Amazon Redshift. 2327// 2328// Deletes an Amazon Redshift security group. 2329// 2330// You cannot delete a security group that is associated with any clusters. 2331// You cannot delete the default security group. 2332// 2333// For information about managing security groups, go to Amazon Redshift Cluster 2334// Security Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) 2335// in the Amazon Redshift Cluster Management Guide. 2336// 2337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2338// with awserr.Error's Code and Message methods to get detailed information about 2339// the error. 2340// 2341// See the AWS API reference guide for Amazon Redshift's 2342// API operation DeleteClusterSecurityGroup for usage and error information. 2343// 2344// Returned Error Codes: 2345// * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState" 2346// The state of the cluster security group is not available. 2347// 2348// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 2349// The cluster security group name does not refer to an existing cluster security 2350// group. 2351// 2352// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSecurityGroup 2353func (c *Redshift) DeleteClusterSecurityGroup(input *DeleteClusterSecurityGroupInput) (*DeleteClusterSecurityGroupOutput, error) { 2354 req, out := c.DeleteClusterSecurityGroupRequest(input) 2355 return out, req.Send() 2356} 2357 2358// DeleteClusterSecurityGroupWithContext is the same as DeleteClusterSecurityGroup with the addition of 2359// the ability to pass a context and additional request options. 2360// 2361// See DeleteClusterSecurityGroup for details on how to use this API operation. 2362// 2363// The context must be non-nil and will be used for request cancellation. If 2364// the context is nil a panic will occur. In the future the SDK may create 2365// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2366// for more information on using Contexts. 2367func (c *Redshift) DeleteClusterSecurityGroupWithContext(ctx aws.Context, input *DeleteClusterSecurityGroupInput, opts ...request.Option) (*DeleteClusterSecurityGroupOutput, error) { 2368 req, out := c.DeleteClusterSecurityGroupRequest(input) 2369 req.SetContext(ctx) 2370 req.ApplyOptions(opts...) 2371 return out, req.Send() 2372} 2373 2374const opDeleteClusterSnapshot = "DeleteClusterSnapshot" 2375 2376// DeleteClusterSnapshotRequest generates a "aws/request.Request" representing the 2377// client's request for the DeleteClusterSnapshot operation. The "output" return 2378// value will be populated with the request's response once the request completes 2379// successfully. 2380// 2381// Use "Send" method on the returned Request to send the API call to the service. 2382// the "output" return value is not valid until after Send returns without error. 2383// 2384// See DeleteClusterSnapshot for more information on using the DeleteClusterSnapshot 2385// API call, and error handling. 2386// 2387// This method is useful when you want to inject custom logic or configuration 2388// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2389// 2390// 2391// // Example sending a request using the DeleteClusterSnapshotRequest method. 2392// req, resp := client.DeleteClusterSnapshotRequest(params) 2393// 2394// err := req.Send() 2395// if err == nil { // resp is now filled 2396// fmt.Println(resp) 2397// } 2398// 2399// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSnapshot 2400func (c *Redshift) DeleteClusterSnapshotRequest(input *DeleteClusterSnapshotInput) (req *request.Request, output *DeleteClusterSnapshotOutput) { 2401 op := &request.Operation{ 2402 Name: opDeleteClusterSnapshot, 2403 HTTPMethod: "POST", 2404 HTTPPath: "/", 2405 } 2406 2407 if input == nil { 2408 input = &DeleteClusterSnapshotInput{} 2409 } 2410 2411 output = &DeleteClusterSnapshotOutput{} 2412 req = c.newRequest(op, input, output) 2413 return 2414} 2415 2416// DeleteClusterSnapshot API operation for Amazon Redshift. 2417// 2418// Deletes the specified manual snapshot. The snapshot must be in the available 2419// state, with no other users authorized to access the snapshot. 2420// 2421// Unlike automated snapshots, manual snapshots are retained even after you 2422// delete your cluster. Amazon Redshift does not delete your manual snapshots. 2423// You must delete manual snapshot explicitly to avoid getting charged. If other 2424// accounts are authorized to access the snapshot, you must revoke all of the 2425// authorizations before you can delete the snapshot. 2426// 2427// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2428// with awserr.Error's Code and Message methods to get detailed information about 2429// the error. 2430// 2431// See the AWS API reference guide for Amazon Redshift's 2432// API operation DeleteClusterSnapshot for usage and error information. 2433// 2434// Returned Error Codes: 2435// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 2436// The specified cluster snapshot is not in the available state, or other accounts 2437// are authorized to access the snapshot. 2438// 2439// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 2440// The snapshot identifier does not refer to an existing cluster snapshot. 2441// 2442// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSnapshot 2443func (c *Redshift) DeleteClusterSnapshot(input *DeleteClusterSnapshotInput) (*DeleteClusterSnapshotOutput, error) { 2444 req, out := c.DeleteClusterSnapshotRequest(input) 2445 return out, req.Send() 2446} 2447 2448// DeleteClusterSnapshotWithContext is the same as DeleteClusterSnapshot with the addition of 2449// the ability to pass a context and additional request options. 2450// 2451// See DeleteClusterSnapshot for details on how to use this API operation. 2452// 2453// The context must be non-nil and will be used for request cancellation. If 2454// the context is nil a panic will occur. In the future the SDK may create 2455// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2456// for more information on using Contexts. 2457func (c *Redshift) DeleteClusterSnapshotWithContext(ctx aws.Context, input *DeleteClusterSnapshotInput, opts ...request.Option) (*DeleteClusterSnapshotOutput, error) { 2458 req, out := c.DeleteClusterSnapshotRequest(input) 2459 req.SetContext(ctx) 2460 req.ApplyOptions(opts...) 2461 return out, req.Send() 2462} 2463 2464const opDeleteClusterSubnetGroup = "DeleteClusterSubnetGroup" 2465 2466// DeleteClusterSubnetGroupRequest generates a "aws/request.Request" representing the 2467// client's request for the DeleteClusterSubnetGroup operation. The "output" return 2468// value will be populated with the request's response once the request completes 2469// successfully. 2470// 2471// Use "Send" method on the returned Request to send the API call to the service. 2472// the "output" return value is not valid until after Send returns without error. 2473// 2474// See DeleteClusterSubnetGroup for more information on using the DeleteClusterSubnetGroup 2475// API call, and error handling. 2476// 2477// This method is useful when you want to inject custom logic or configuration 2478// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2479// 2480// 2481// // Example sending a request using the DeleteClusterSubnetGroupRequest method. 2482// req, resp := client.DeleteClusterSubnetGroupRequest(params) 2483// 2484// err := req.Send() 2485// if err == nil { // resp is now filled 2486// fmt.Println(resp) 2487// } 2488// 2489// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSubnetGroup 2490func (c *Redshift) DeleteClusterSubnetGroupRequest(input *DeleteClusterSubnetGroupInput) (req *request.Request, output *DeleteClusterSubnetGroupOutput) { 2491 op := &request.Operation{ 2492 Name: opDeleteClusterSubnetGroup, 2493 HTTPMethod: "POST", 2494 HTTPPath: "/", 2495 } 2496 2497 if input == nil { 2498 input = &DeleteClusterSubnetGroupInput{} 2499 } 2500 2501 output = &DeleteClusterSubnetGroupOutput{} 2502 req = c.newRequest(op, input, output) 2503 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2504 return 2505} 2506 2507// DeleteClusterSubnetGroup API operation for Amazon Redshift. 2508// 2509// Deletes the specified cluster subnet group. 2510// 2511// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2512// with awserr.Error's Code and Message methods to get detailed information about 2513// the error. 2514// 2515// See the AWS API reference guide for Amazon Redshift's 2516// API operation DeleteClusterSubnetGroup for usage and error information. 2517// 2518// Returned Error Codes: 2519// * ErrCodeInvalidClusterSubnetGroupStateFault "InvalidClusterSubnetGroupStateFault" 2520// The cluster subnet group cannot be deleted because it is in use. 2521// 2522// * ErrCodeInvalidClusterSubnetStateFault "InvalidClusterSubnetStateFault" 2523// The state of the subnet is invalid. 2524// 2525// * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault" 2526// The cluster subnet group name does not refer to an existing cluster subnet 2527// group. 2528// 2529// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteClusterSubnetGroup 2530func (c *Redshift) DeleteClusterSubnetGroup(input *DeleteClusterSubnetGroupInput) (*DeleteClusterSubnetGroupOutput, error) { 2531 req, out := c.DeleteClusterSubnetGroupRequest(input) 2532 return out, req.Send() 2533} 2534 2535// DeleteClusterSubnetGroupWithContext is the same as DeleteClusterSubnetGroup with the addition of 2536// the ability to pass a context and additional request options. 2537// 2538// See DeleteClusterSubnetGroup for details on how to use this API operation. 2539// 2540// The context must be non-nil and will be used for request cancellation. If 2541// the context is nil a panic will occur. In the future the SDK may create 2542// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2543// for more information on using Contexts. 2544func (c *Redshift) DeleteClusterSubnetGroupWithContext(ctx aws.Context, input *DeleteClusterSubnetGroupInput, opts ...request.Option) (*DeleteClusterSubnetGroupOutput, error) { 2545 req, out := c.DeleteClusterSubnetGroupRequest(input) 2546 req.SetContext(ctx) 2547 req.ApplyOptions(opts...) 2548 return out, req.Send() 2549} 2550 2551const opDeleteEventSubscription = "DeleteEventSubscription" 2552 2553// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the 2554// client's request for the DeleteEventSubscription operation. The "output" return 2555// value will be populated with the request's response once the request completes 2556// successfully. 2557// 2558// Use "Send" method on the returned Request to send the API call to the service. 2559// the "output" return value is not valid until after Send returns without error. 2560// 2561// See DeleteEventSubscription for more information on using the DeleteEventSubscription 2562// API call, and error handling. 2563// 2564// This method is useful when you want to inject custom logic or configuration 2565// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2566// 2567// 2568// // Example sending a request using the DeleteEventSubscriptionRequest method. 2569// req, resp := client.DeleteEventSubscriptionRequest(params) 2570// 2571// err := req.Send() 2572// if err == nil { // resp is now filled 2573// fmt.Println(resp) 2574// } 2575// 2576// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteEventSubscription 2577func (c *Redshift) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) { 2578 op := &request.Operation{ 2579 Name: opDeleteEventSubscription, 2580 HTTPMethod: "POST", 2581 HTTPPath: "/", 2582 } 2583 2584 if input == nil { 2585 input = &DeleteEventSubscriptionInput{} 2586 } 2587 2588 output = &DeleteEventSubscriptionOutput{} 2589 req = c.newRequest(op, input, output) 2590 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2591 return 2592} 2593 2594// DeleteEventSubscription API operation for Amazon Redshift. 2595// 2596// Deletes an Amazon Redshift event notification subscription. 2597// 2598// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2599// with awserr.Error's Code and Message methods to get detailed information about 2600// the error. 2601// 2602// See the AWS API reference guide for Amazon Redshift's 2603// API operation DeleteEventSubscription for usage and error information. 2604// 2605// Returned Error Codes: 2606// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" 2607// An Amazon Redshift event notification subscription with the specified name 2608// does not exist. 2609// 2610// * ErrCodeInvalidSubscriptionStateFault "InvalidSubscriptionStateFault" 2611// The subscription request is invalid because it is a duplicate request. This 2612// subscription request is already in progress. 2613// 2614// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteEventSubscription 2615func (c *Redshift) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) { 2616 req, out := c.DeleteEventSubscriptionRequest(input) 2617 return out, req.Send() 2618} 2619 2620// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of 2621// the ability to pass a context and additional request options. 2622// 2623// See DeleteEventSubscription for details on how to use this API operation. 2624// 2625// The context must be non-nil and will be used for request cancellation. If 2626// the context is nil a panic will occur. In the future the SDK may create 2627// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2628// for more information on using Contexts. 2629func (c *Redshift) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) { 2630 req, out := c.DeleteEventSubscriptionRequest(input) 2631 req.SetContext(ctx) 2632 req.ApplyOptions(opts...) 2633 return out, req.Send() 2634} 2635 2636const opDeleteHsmClientCertificate = "DeleteHsmClientCertificate" 2637 2638// DeleteHsmClientCertificateRequest generates a "aws/request.Request" representing the 2639// client's request for the DeleteHsmClientCertificate operation. The "output" return 2640// value will be populated with the request's response once the request completes 2641// successfully. 2642// 2643// Use "Send" method on the returned Request to send the API call to the service. 2644// the "output" return value is not valid until after Send returns without error. 2645// 2646// See DeleteHsmClientCertificate for more information on using the DeleteHsmClientCertificate 2647// API call, and error handling. 2648// 2649// This method is useful when you want to inject custom logic or configuration 2650// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2651// 2652// 2653// // Example sending a request using the DeleteHsmClientCertificateRequest method. 2654// req, resp := client.DeleteHsmClientCertificateRequest(params) 2655// 2656// err := req.Send() 2657// if err == nil { // resp is now filled 2658// fmt.Println(resp) 2659// } 2660// 2661// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmClientCertificate 2662func (c *Redshift) DeleteHsmClientCertificateRequest(input *DeleteHsmClientCertificateInput) (req *request.Request, output *DeleteHsmClientCertificateOutput) { 2663 op := &request.Operation{ 2664 Name: opDeleteHsmClientCertificate, 2665 HTTPMethod: "POST", 2666 HTTPPath: "/", 2667 } 2668 2669 if input == nil { 2670 input = &DeleteHsmClientCertificateInput{} 2671 } 2672 2673 output = &DeleteHsmClientCertificateOutput{} 2674 req = c.newRequest(op, input, output) 2675 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2676 return 2677} 2678 2679// DeleteHsmClientCertificate API operation for Amazon Redshift. 2680// 2681// Deletes the specified HSM client certificate. 2682// 2683// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2684// with awserr.Error's Code and Message methods to get detailed information about 2685// the error. 2686// 2687// See the AWS API reference guide for Amazon Redshift's 2688// API operation DeleteHsmClientCertificate for usage and error information. 2689// 2690// Returned Error Codes: 2691// * ErrCodeInvalidHsmClientCertificateStateFault "InvalidHsmClientCertificateStateFault" 2692// The specified HSM client certificate is not in the available state, or it 2693// is still in use by one or more Amazon Redshift clusters. 2694// 2695// * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault" 2696// There is no Amazon Redshift HSM client certificate with the specified identifier. 2697// 2698// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmClientCertificate 2699func (c *Redshift) DeleteHsmClientCertificate(input *DeleteHsmClientCertificateInput) (*DeleteHsmClientCertificateOutput, error) { 2700 req, out := c.DeleteHsmClientCertificateRequest(input) 2701 return out, req.Send() 2702} 2703 2704// DeleteHsmClientCertificateWithContext is the same as DeleteHsmClientCertificate with the addition of 2705// the ability to pass a context and additional request options. 2706// 2707// See DeleteHsmClientCertificate for details on how to use this API operation. 2708// 2709// The context must be non-nil and will be used for request cancellation. If 2710// the context is nil a panic will occur. In the future the SDK may create 2711// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2712// for more information on using Contexts. 2713func (c *Redshift) DeleteHsmClientCertificateWithContext(ctx aws.Context, input *DeleteHsmClientCertificateInput, opts ...request.Option) (*DeleteHsmClientCertificateOutput, error) { 2714 req, out := c.DeleteHsmClientCertificateRequest(input) 2715 req.SetContext(ctx) 2716 req.ApplyOptions(opts...) 2717 return out, req.Send() 2718} 2719 2720const opDeleteHsmConfiguration = "DeleteHsmConfiguration" 2721 2722// DeleteHsmConfigurationRequest generates a "aws/request.Request" representing the 2723// client's request for the DeleteHsmConfiguration operation. The "output" return 2724// value will be populated with the request's response once the request completes 2725// successfully. 2726// 2727// Use "Send" method on the returned Request to send the API call to the service. 2728// the "output" return value is not valid until after Send returns without error. 2729// 2730// See DeleteHsmConfiguration for more information on using the DeleteHsmConfiguration 2731// API call, and error handling. 2732// 2733// This method is useful when you want to inject custom logic or configuration 2734// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2735// 2736// 2737// // Example sending a request using the DeleteHsmConfigurationRequest method. 2738// req, resp := client.DeleteHsmConfigurationRequest(params) 2739// 2740// err := req.Send() 2741// if err == nil { // resp is now filled 2742// fmt.Println(resp) 2743// } 2744// 2745// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmConfiguration 2746func (c *Redshift) DeleteHsmConfigurationRequest(input *DeleteHsmConfigurationInput) (req *request.Request, output *DeleteHsmConfigurationOutput) { 2747 op := &request.Operation{ 2748 Name: opDeleteHsmConfiguration, 2749 HTTPMethod: "POST", 2750 HTTPPath: "/", 2751 } 2752 2753 if input == nil { 2754 input = &DeleteHsmConfigurationInput{} 2755 } 2756 2757 output = &DeleteHsmConfigurationOutput{} 2758 req = c.newRequest(op, input, output) 2759 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2760 return 2761} 2762 2763// DeleteHsmConfiguration API operation for Amazon Redshift. 2764// 2765// Deletes the specified Amazon Redshift HSM configuration. 2766// 2767// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2768// with awserr.Error's Code and Message methods to get detailed information about 2769// the error. 2770// 2771// See the AWS API reference guide for Amazon Redshift's 2772// API operation DeleteHsmConfiguration for usage and error information. 2773// 2774// Returned Error Codes: 2775// * ErrCodeInvalidHsmConfigurationStateFault "InvalidHsmConfigurationStateFault" 2776// The specified HSM configuration is not in the available state, or it is still 2777// in use by one or more Amazon Redshift clusters. 2778// 2779// * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault" 2780// There is no Amazon Redshift HSM configuration with the specified identifier. 2781// 2782// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteHsmConfiguration 2783func (c *Redshift) DeleteHsmConfiguration(input *DeleteHsmConfigurationInput) (*DeleteHsmConfigurationOutput, error) { 2784 req, out := c.DeleteHsmConfigurationRequest(input) 2785 return out, req.Send() 2786} 2787 2788// DeleteHsmConfigurationWithContext is the same as DeleteHsmConfiguration with the addition of 2789// the ability to pass a context and additional request options. 2790// 2791// See DeleteHsmConfiguration for details on how to use this API operation. 2792// 2793// The context must be non-nil and will be used for request cancellation. If 2794// the context is nil a panic will occur. In the future the SDK may create 2795// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2796// for more information on using Contexts. 2797func (c *Redshift) DeleteHsmConfigurationWithContext(ctx aws.Context, input *DeleteHsmConfigurationInput, opts ...request.Option) (*DeleteHsmConfigurationOutput, error) { 2798 req, out := c.DeleteHsmConfigurationRequest(input) 2799 req.SetContext(ctx) 2800 req.ApplyOptions(opts...) 2801 return out, req.Send() 2802} 2803 2804const opDeleteScheduledAction = "DeleteScheduledAction" 2805 2806// DeleteScheduledActionRequest generates a "aws/request.Request" representing the 2807// client's request for the DeleteScheduledAction operation. The "output" return 2808// value will be populated with the request's response once the request completes 2809// successfully. 2810// 2811// Use "Send" method on the returned Request to send the API call to the service. 2812// the "output" return value is not valid until after Send returns without error. 2813// 2814// See DeleteScheduledAction for more information on using the DeleteScheduledAction 2815// API call, and error handling. 2816// 2817// This method is useful when you want to inject custom logic or configuration 2818// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2819// 2820// 2821// // Example sending a request using the DeleteScheduledActionRequest method. 2822// req, resp := client.DeleteScheduledActionRequest(params) 2823// 2824// err := req.Send() 2825// if err == nil { // resp is now filled 2826// fmt.Println(resp) 2827// } 2828// 2829// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteScheduledAction 2830func (c *Redshift) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { 2831 op := &request.Operation{ 2832 Name: opDeleteScheduledAction, 2833 HTTPMethod: "POST", 2834 HTTPPath: "/", 2835 } 2836 2837 if input == nil { 2838 input = &DeleteScheduledActionInput{} 2839 } 2840 2841 output = &DeleteScheduledActionOutput{} 2842 req = c.newRequest(op, input, output) 2843 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2844 return 2845} 2846 2847// DeleteScheduledAction API operation for Amazon Redshift. 2848// 2849// Deletes a scheduled action. 2850// 2851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2852// with awserr.Error's Code and Message methods to get detailed information about 2853// the error. 2854// 2855// See the AWS API reference guide for Amazon Redshift's 2856// API operation DeleteScheduledAction for usage and error information. 2857// 2858// Returned Error Codes: 2859// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" 2860// The scheduled action cannot be found. 2861// 2862// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 2863// Your account is not authorized to perform the requested operation. 2864// 2865// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteScheduledAction 2866func (c *Redshift) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { 2867 req, out := c.DeleteScheduledActionRequest(input) 2868 return out, req.Send() 2869} 2870 2871// DeleteScheduledActionWithContext is the same as DeleteScheduledAction with the addition of 2872// the ability to pass a context and additional request options. 2873// 2874// See DeleteScheduledAction for details on how to use this API operation. 2875// 2876// The context must be non-nil and will be used for request cancellation. If 2877// the context is nil a panic will occur. In the future the SDK may create 2878// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2879// for more information on using Contexts. 2880func (c *Redshift) DeleteScheduledActionWithContext(ctx aws.Context, input *DeleteScheduledActionInput, opts ...request.Option) (*DeleteScheduledActionOutput, error) { 2881 req, out := c.DeleteScheduledActionRequest(input) 2882 req.SetContext(ctx) 2883 req.ApplyOptions(opts...) 2884 return out, req.Send() 2885} 2886 2887const opDeleteSnapshotCopyGrant = "DeleteSnapshotCopyGrant" 2888 2889// DeleteSnapshotCopyGrantRequest generates a "aws/request.Request" representing the 2890// client's request for the DeleteSnapshotCopyGrant operation. The "output" return 2891// value will be populated with the request's response once the request completes 2892// successfully. 2893// 2894// Use "Send" method on the returned Request to send the API call to the service. 2895// the "output" return value is not valid until after Send returns without error. 2896// 2897// See DeleteSnapshotCopyGrant for more information on using the DeleteSnapshotCopyGrant 2898// API call, and error handling. 2899// 2900// This method is useful when you want to inject custom logic or configuration 2901// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2902// 2903// 2904// // Example sending a request using the DeleteSnapshotCopyGrantRequest method. 2905// req, resp := client.DeleteSnapshotCopyGrantRequest(params) 2906// 2907// err := req.Send() 2908// if err == nil { // resp is now filled 2909// fmt.Println(resp) 2910// } 2911// 2912// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotCopyGrant 2913func (c *Redshift) DeleteSnapshotCopyGrantRequest(input *DeleteSnapshotCopyGrantInput) (req *request.Request, output *DeleteSnapshotCopyGrantOutput) { 2914 op := &request.Operation{ 2915 Name: opDeleteSnapshotCopyGrant, 2916 HTTPMethod: "POST", 2917 HTTPPath: "/", 2918 } 2919 2920 if input == nil { 2921 input = &DeleteSnapshotCopyGrantInput{} 2922 } 2923 2924 output = &DeleteSnapshotCopyGrantOutput{} 2925 req = c.newRequest(op, input, output) 2926 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2927 return 2928} 2929 2930// DeleteSnapshotCopyGrant API operation for Amazon Redshift. 2931// 2932// Deletes the specified snapshot copy grant. 2933// 2934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2935// with awserr.Error's Code and Message methods to get detailed information about 2936// the error. 2937// 2938// See the AWS API reference guide for Amazon Redshift's 2939// API operation DeleteSnapshotCopyGrant for usage and error information. 2940// 2941// Returned Error Codes: 2942// * ErrCodeInvalidSnapshotCopyGrantStateFault "InvalidSnapshotCopyGrantStateFault" 2943// The snapshot copy grant can't be deleted because it is used by one or more 2944// clusters. 2945// 2946// * ErrCodeSnapshotCopyGrantNotFoundFault "SnapshotCopyGrantNotFoundFault" 2947// The specified snapshot copy grant can't be found. Make sure that the name 2948// is typed correctly and that the grant exists in the destination region. 2949// 2950// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotCopyGrant 2951func (c *Redshift) DeleteSnapshotCopyGrant(input *DeleteSnapshotCopyGrantInput) (*DeleteSnapshotCopyGrantOutput, error) { 2952 req, out := c.DeleteSnapshotCopyGrantRequest(input) 2953 return out, req.Send() 2954} 2955 2956// DeleteSnapshotCopyGrantWithContext is the same as DeleteSnapshotCopyGrant with the addition of 2957// the ability to pass a context and additional request options. 2958// 2959// See DeleteSnapshotCopyGrant for details on how to use this API operation. 2960// 2961// The context must be non-nil and will be used for request cancellation. If 2962// the context is nil a panic will occur. In the future the SDK may create 2963// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2964// for more information on using Contexts. 2965func (c *Redshift) DeleteSnapshotCopyGrantWithContext(ctx aws.Context, input *DeleteSnapshotCopyGrantInput, opts ...request.Option) (*DeleteSnapshotCopyGrantOutput, error) { 2966 req, out := c.DeleteSnapshotCopyGrantRequest(input) 2967 req.SetContext(ctx) 2968 req.ApplyOptions(opts...) 2969 return out, req.Send() 2970} 2971 2972const opDeleteSnapshotSchedule = "DeleteSnapshotSchedule" 2973 2974// DeleteSnapshotScheduleRequest generates a "aws/request.Request" representing the 2975// client's request for the DeleteSnapshotSchedule operation. The "output" return 2976// value will be populated with the request's response once the request completes 2977// successfully. 2978// 2979// Use "Send" method on the returned Request to send the API call to the service. 2980// the "output" return value is not valid until after Send returns without error. 2981// 2982// See DeleteSnapshotSchedule for more information on using the DeleteSnapshotSchedule 2983// API call, and error handling. 2984// 2985// This method is useful when you want to inject custom logic or configuration 2986// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2987// 2988// 2989// // Example sending a request using the DeleteSnapshotScheduleRequest method. 2990// req, resp := client.DeleteSnapshotScheduleRequest(params) 2991// 2992// err := req.Send() 2993// if err == nil { // resp is now filled 2994// fmt.Println(resp) 2995// } 2996// 2997// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotSchedule 2998func (c *Redshift) DeleteSnapshotScheduleRequest(input *DeleteSnapshotScheduleInput) (req *request.Request, output *DeleteSnapshotScheduleOutput) { 2999 op := &request.Operation{ 3000 Name: opDeleteSnapshotSchedule, 3001 HTTPMethod: "POST", 3002 HTTPPath: "/", 3003 } 3004 3005 if input == nil { 3006 input = &DeleteSnapshotScheduleInput{} 3007 } 3008 3009 output = &DeleteSnapshotScheduleOutput{} 3010 req = c.newRequest(op, input, output) 3011 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3012 return 3013} 3014 3015// DeleteSnapshotSchedule API operation for Amazon Redshift. 3016// 3017// Deletes a snapshot schedule. 3018// 3019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3020// with awserr.Error's Code and Message methods to get detailed information about 3021// the error. 3022// 3023// See the AWS API reference guide for Amazon Redshift's 3024// API operation DeleteSnapshotSchedule for usage and error information. 3025// 3026// Returned Error Codes: 3027// * ErrCodeInvalidClusterSnapshotScheduleStateFault "InvalidClusterSnapshotScheduleState" 3028// The cluster snapshot schedule state is not valid. 3029// 3030// * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound" 3031// We could not find the specified snapshot schedule. 3032// 3033// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteSnapshotSchedule 3034func (c *Redshift) DeleteSnapshotSchedule(input *DeleteSnapshotScheduleInput) (*DeleteSnapshotScheduleOutput, error) { 3035 req, out := c.DeleteSnapshotScheduleRequest(input) 3036 return out, req.Send() 3037} 3038 3039// DeleteSnapshotScheduleWithContext is the same as DeleteSnapshotSchedule with the addition of 3040// the ability to pass a context and additional request options. 3041// 3042// See DeleteSnapshotSchedule for details on how to use this API operation. 3043// 3044// The context must be non-nil and will be used for request cancellation. If 3045// the context is nil a panic will occur. In the future the SDK may create 3046// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3047// for more information on using Contexts. 3048func (c *Redshift) DeleteSnapshotScheduleWithContext(ctx aws.Context, input *DeleteSnapshotScheduleInput, opts ...request.Option) (*DeleteSnapshotScheduleOutput, error) { 3049 req, out := c.DeleteSnapshotScheduleRequest(input) 3050 req.SetContext(ctx) 3051 req.ApplyOptions(opts...) 3052 return out, req.Send() 3053} 3054 3055const opDeleteTags = "DeleteTags" 3056 3057// DeleteTagsRequest generates a "aws/request.Request" representing the 3058// client's request for the DeleteTags operation. The "output" return 3059// value will be populated with the request's response once the request completes 3060// successfully. 3061// 3062// Use "Send" method on the returned Request to send the API call to the service. 3063// the "output" return value is not valid until after Send returns without error. 3064// 3065// See DeleteTags for more information on using the DeleteTags 3066// API call, and error handling. 3067// 3068// This method is useful when you want to inject custom logic or configuration 3069// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3070// 3071// 3072// // Example sending a request using the DeleteTagsRequest method. 3073// req, resp := client.DeleteTagsRequest(params) 3074// 3075// err := req.Send() 3076// if err == nil { // resp is now filled 3077// fmt.Println(resp) 3078// } 3079// 3080// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteTags 3081func (c *Redshift) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Request, output *DeleteTagsOutput) { 3082 op := &request.Operation{ 3083 Name: opDeleteTags, 3084 HTTPMethod: "POST", 3085 HTTPPath: "/", 3086 } 3087 3088 if input == nil { 3089 input = &DeleteTagsInput{} 3090 } 3091 3092 output = &DeleteTagsOutput{} 3093 req = c.newRequest(op, input, output) 3094 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3095 return 3096} 3097 3098// DeleteTags API operation for Amazon Redshift. 3099// 3100// Deletes tags from a resource. You must provide the ARN of the resource from 3101// which you want to delete the tag or tags. 3102// 3103// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3104// with awserr.Error's Code and Message methods to get detailed information about 3105// the error. 3106// 3107// See the AWS API reference guide for Amazon Redshift's 3108// API operation DeleteTags for usage and error information. 3109// 3110// Returned Error Codes: 3111// * ErrCodeResourceNotFoundFault "ResourceNotFoundFault" 3112// The resource could not be found. 3113// 3114// * ErrCodeInvalidTagFault "InvalidTagFault" 3115// The tag is invalid. 3116// 3117// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteTags 3118func (c *Redshift) DeleteTags(input *DeleteTagsInput) (*DeleteTagsOutput, error) { 3119 req, out := c.DeleteTagsRequest(input) 3120 return out, req.Send() 3121} 3122 3123// DeleteTagsWithContext is the same as DeleteTags with the addition of 3124// the ability to pass a context and additional request options. 3125// 3126// See DeleteTags for details on how to use this API operation. 3127// 3128// The context must be non-nil and will be used for request cancellation. If 3129// the context is nil a panic will occur. In the future the SDK may create 3130// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3131// for more information on using Contexts. 3132func (c *Redshift) DeleteTagsWithContext(ctx aws.Context, input *DeleteTagsInput, opts ...request.Option) (*DeleteTagsOutput, error) { 3133 req, out := c.DeleteTagsRequest(input) 3134 req.SetContext(ctx) 3135 req.ApplyOptions(opts...) 3136 return out, req.Send() 3137} 3138 3139const opDeleteUsageLimit = "DeleteUsageLimit" 3140 3141// DeleteUsageLimitRequest generates a "aws/request.Request" representing the 3142// client's request for the DeleteUsageLimit operation. The "output" return 3143// value will be populated with the request's response once the request completes 3144// successfully. 3145// 3146// Use "Send" method on the returned Request to send the API call to the service. 3147// the "output" return value is not valid until after Send returns without error. 3148// 3149// See DeleteUsageLimit for more information on using the DeleteUsageLimit 3150// API call, and error handling. 3151// 3152// This method is useful when you want to inject custom logic or configuration 3153// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3154// 3155// 3156// // Example sending a request using the DeleteUsageLimitRequest method. 3157// req, resp := client.DeleteUsageLimitRequest(params) 3158// 3159// err := req.Send() 3160// if err == nil { // resp is now filled 3161// fmt.Println(resp) 3162// } 3163// 3164// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteUsageLimit 3165func (c *Redshift) DeleteUsageLimitRequest(input *DeleteUsageLimitInput) (req *request.Request, output *DeleteUsageLimitOutput) { 3166 op := &request.Operation{ 3167 Name: opDeleteUsageLimit, 3168 HTTPMethod: "POST", 3169 HTTPPath: "/", 3170 } 3171 3172 if input == nil { 3173 input = &DeleteUsageLimitInput{} 3174 } 3175 3176 output = &DeleteUsageLimitOutput{} 3177 req = c.newRequest(op, input, output) 3178 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3179 return 3180} 3181 3182// DeleteUsageLimit API operation for Amazon Redshift. 3183// 3184// Deletes a usage limit from a cluster. 3185// 3186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3187// with awserr.Error's Code and Message methods to get detailed information about 3188// the error. 3189// 3190// See the AWS API reference guide for Amazon Redshift's 3191// API operation DeleteUsageLimit for usage and error information. 3192// 3193// Returned Error Codes: 3194// * ErrCodeUsageLimitNotFoundFault "UsageLimitNotFound" 3195// The usage limit identifier can't be found. 3196// 3197// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 3198// The requested operation isn't supported. 3199// 3200// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DeleteUsageLimit 3201func (c *Redshift) DeleteUsageLimit(input *DeleteUsageLimitInput) (*DeleteUsageLimitOutput, error) { 3202 req, out := c.DeleteUsageLimitRequest(input) 3203 return out, req.Send() 3204} 3205 3206// DeleteUsageLimitWithContext is the same as DeleteUsageLimit with the addition of 3207// the ability to pass a context and additional request options. 3208// 3209// See DeleteUsageLimit for details on how to use this API operation. 3210// 3211// The context must be non-nil and will be used for request cancellation. If 3212// the context is nil a panic will occur. In the future the SDK may create 3213// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3214// for more information on using Contexts. 3215func (c *Redshift) DeleteUsageLimitWithContext(ctx aws.Context, input *DeleteUsageLimitInput, opts ...request.Option) (*DeleteUsageLimitOutput, error) { 3216 req, out := c.DeleteUsageLimitRequest(input) 3217 req.SetContext(ctx) 3218 req.ApplyOptions(opts...) 3219 return out, req.Send() 3220} 3221 3222const opDescribeAccountAttributes = "DescribeAccountAttributes" 3223 3224// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the 3225// client's request for the DescribeAccountAttributes operation. The "output" return 3226// value will be populated with the request's response once the request completes 3227// successfully. 3228// 3229// Use "Send" method on the returned Request to send the API call to the service. 3230// the "output" return value is not valid until after Send returns without error. 3231// 3232// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes 3233// API call, and error handling. 3234// 3235// This method is useful when you want to inject custom logic or configuration 3236// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3237// 3238// 3239// // Example sending a request using the DescribeAccountAttributesRequest method. 3240// req, resp := client.DescribeAccountAttributesRequest(params) 3241// 3242// err := req.Send() 3243// if err == nil { // resp is now filled 3244// fmt.Println(resp) 3245// } 3246// 3247// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeAccountAttributes 3248func (c *Redshift) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) { 3249 op := &request.Operation{ 3250 Name: opDescribeAccountAttributes, 3251 HTTPMethod: "POST", 3252 HTTPPath: "/", 3253 } 3254 3255 if input == nil { 3256 input = &DescribeAccountAttributesInput{} 3257 } 3258 3259 output = &DescribeAccountAttributesOutput{} 3260 req = c.newRequest(op, input, output) 3261 return 3262} 3263 3264// DescribeAccountAttributes API operation for Amazon Redshift. 3265// 3266// Returns a list of attributes attached to an account 3267// 3268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3269// with awserr.Error's Code and Message methods to get detailed information about 3270// the error. 3271// 3272// See the AWS API reference guide for Amazon Redshift's 3273// API operation DescribeAccountAttributes for usage and error information. 3274// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeAccountAttributes 3275func (c *Redshift) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) { 3276 req, out := c.DescribeAccountAttributesRequest(input) 3277 return out, req.Send() 3278} 3279 3280// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of 3281// the ability to pass a context and additional request options. 3282// 3283// See DescribeAccountAttributes for details on how to use this API operation. 3284// 3285// The context must be non-nil and will be used for request cancellation. If 3286// the context is nil a panic will occur. In the future the SDK may create 3287// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3288// for more information on using Contexts. 3289func (c *Redshift) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) { 3290 req, out := c.DescribeAccountAttributesRequest(input) 3291 req.SetContext(ctx) 3292 req.ApplyOptions(opts...) 3293 return out, req.Send() 3294} 3295 3296const opDescribeClusterDbRevisions = "DescribeClusterDbRevisions" 3297 3298// DescribeClusterDbRevisionsRequest generates a "aws/request.Request" representing the 3299// client's request for the DescribeClusterDbRevisions operation. The "output" return 3300// value will be populated with the request's response once the request completes 3301// successfully. 3302// 3303// Use "Send" method on the returned Request to send the API call to the service. 3304// the "output" return value is not valid until after Send returns without error. 3305// 3306// See DescribeClusterDbRevisions for more information on using the DescribeClusterDbRevisions 3307// API call, and error handling. 3308// 3309// This method is useful when you want to inject custom logic or configuration 3310// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3311// 3312// 3313// // Example sending a request using the DescribeClusterDbRevisionsRequest method. 3314// req, resp := client.DescribeClusterDbRevisionsRequest(params) 3315// 3316// err := req.Send() 3317// if err == nil { // resp is now filled 3318// fmt.Println(resp) 3319// } 3320// 3321// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterDbRevisions 3322func (c *Redshift) DescribeClusterDbRevisionsRequest(input *DescribeClusterDbRevisionsInput) (req *request.Request, output *DescribeClusterDbRevisionsOutput) { 3323 op := &request.Operation{ 3324 Name: opDescribeClusterDbRevisions, 3325 HTTPMethod: "POST", 3326 HTTPPath: "/", 3327 } 3328 3329 if input == nil { 3330 input = &DescribeClusterDbRevisionsInput{} 3331 } 3332 3333 output = &DescribeClusterDbRevisionsOutput{} 3334 req = c.newRequest(op, input, output) 3335 return 3336} 3337 3338// DescribeClusterDbRevisions API operation for Amazon Redshift. 3339// 3340// Returns an array of ClusterDbRevision objects. 3341// 3342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3343// with awserr.Error's Code and Message methods to get detailed information about 3344// the error. 3345// 3346// See the AWS API reference guide for Amazon Redshift's 3347// API operation DescribeClusterDbRevisions for usage and error information. 3348// 3349// Returned Error Codes: 3350// * ErrCodeClusterNotFoundFault "ClusterNotFound" 3351// The ClusterIdentifier parameter does not refer to an existing cluster. 3352// 3353// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 3354// The specified cluster is not in the available state. 3355// 3356// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterDbRevisions 3357func (c *Redshift) DescribeClusterDbRevisions(input *DescribeClusterDbRevisionsInput) (*DescribeClusterDbRevisionsOutput, error) { 3358 req, out := c.DescribeClusterDbRevisionsRequest(input) 3359 return out, req.Send() 3360} 3361 3362// DescribeClusterDbRevisionsWithContext is the same as DescribeClusterDbRevisions with the addition of 3363// the ability to pass a context and additional request options. 3364// 3365// See DescribeClusterDbRevisions for details on how to use this API operation. 3366// 3367// The context must be non-nil and will be used for request cancellation. If 3368// the context is nil a panic will occur. In the future the SDK may create 3369// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3370// for more information on using Contexts. 3371func (c *Redshift) DescribeClusterDbRevisionsWithContext(ctx aws.Context, input *DescribeClusterDbRevisionsInput, opts ...request.Option) (*DescribeClusterDbRevisionsOutput, error) { 3372 req, out := c.DescribeClusterDbRevisionsRequest(input) 3373 req.SetContext(ctx) 3374 req.ApplyOptions(opts...) 3375 return out, req.Send() 3376} 3377 3378const opDescribeClusterParameterGroups = "DescribeClusterParameterGroups" 3379 3380// DescribeClusterParameterGroupsRequest generates a "aws/request.Request" representing the 3381// client's request for the DescribeClusterParameterGroups operation. The "output" return 3382// value will be populated with the request's response once the request completes 3383// successfully. 3384// 3385// Use "Send" method on the returned Request to send the API call to the service. 3386// the "output" return value is not valid until after Send returns without error. 3387// 3388// See DescribeClusterParameterGroups for more information on using the DescribeClusterParameterGroups 3389// API call, and error handling. 3390// 3391// This method is useful when you want to inject custom logic or configuration 3392// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3393// 3394// 3395// // Example sending a request using the DescribeClusterParameterGroupsRequest method. 3396// req, resp := client.DescribeClusterParameterGroupsRequest(params) 3397// 3398// err := req.Send() 3399// if err == nil { // resp is now filled 3400// fmt.Println(resp) 3401// } 3402// 3403// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameterGroups 3404func (c *Redshift) DescribeClusterParameterGroupsRequest(input *DescribeClusterParameterGroupsInput) (req *request.Request, output *DescribeClusterParameterGroupsOutput) { 3405 op := &request.Operation{ 3406 Name: opDescribeClusterParameterGroups, 3407 HTTPMethod: "POST", 3408 HTTPPath: "/", 3409 Paginator: &request.Paginator{ 3410 InputTokens: []string{"Marker"}, 3411 OutputTokens: []string{"Marker"}, 3412 LimitToken: "MaxRecords", 3413 TruncationToken: "", 3414 }, 3415 } 3416 3417 if input == nil { 3418 input = &DescribeClusterParameterGroupsInput{} 3419 } 3420 3421 output = &DescribeClusterParameterGroupsOutput{} 3422 req = c.newRequest(op, input, output) 3423 return 3424} 3425 3426// DescribeClusterParameterGroups API operation for Amazon Redshift. 3427// 3428// Returns a list of Amazon Redshift parameter groups, including parameter groups 3429// you created and the default parameter group. For each parameter group, the 3430// response includes the parameter group name, description, and parameter group 3431// family name. You can optionally specify a name to retrieve the description 3432// of a specific parameter group. 3433// 3434// For more information about parameters and parameter groups, go to Amazon 3435// Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 3436// in the Amazon Redshift Cluster Management Guide. 3437// 3438// If you specify both tag keys and tag values in the same request, Amazon Redshift 3439// returns all parameter groups that match any combination of the specified 3440// keys and values. For example, if you have owner and environment for tag keys, 3441// and admin and test for tag values, all parameter groups that have any combination 3442// of those values are returned. 3443// 3444// If both tag keys and values are omitted from the request, parameter groups 3445// are returned regardless of whether they have tag keys or values associated 3446// with them. 3447// 3448// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3449// with awserr.Error's Code and Message methods to get detailed information about 3450// the error. 3451// 3452// See the AWS API reference guide for Amazon Redshift's 3453// API operation DescribeClusterParameterGroups for usage and error information. 3454// 3455// Returned Error Codes: 3456// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 3457// The parameter group name does not refer to an existing parameter group. 3458// 3459// * ErrCodeInvalidTagFault "InvalidTagFault" 3460// The tag is invalid. 3461// 3462// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameterGroups 3463func (c *Redshift) DescribeClusterParameterGroups(input *DescribeClusterParameterGroupsInput) (*DescribeClusterParameterGroupsOutput, error) { 3464 req, out := c.DescribeClusterParameterGroupsRequest(input) 3465 return out, req.Send() 3466} 3467 3468// DescribeClusterParameterGroupsWithContext is the same as DescribeClusterParameterGroups with the addition of 3469// the ability to pass a context and additional request options. 3470// 3471// See DescribeClusterParameterGroups for details on how to use this API operation. 3472// 3473// The context must be non-nil and will be used for request cancellation. If 3474// the context is nil a panic will occur. In the future the SDK may create 3475// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3476// for more information on using Contexts. 3477func (c *Redshift) DescribeClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeClusterParameterGroupsInput, opts ...request.Option) (*DescribeClusterParameterGroupsOutput, error) { 3478 req, out := c.DescribeClusterParameterGroupsRequest(input) 3479 req.SetContext(ctx) 3480 req.ApplyOptions(opts...) 3481 return out, req.Send() 3482} 3483 3484// DescribeClusterParameterGroupsPages iterates over the pages of a DescribeClusterParameterGroups operation, 3485// calling the "fn" function with the response data for each page. To stop 3486// iterating, return false from the fn function. 3487// 3488// See DescribeClusterParameterGroups method for more information on how to use this operation. 3489// 3490// Note: This operation can generate multiple requests to a service. 3491// 3492// // Example iterating over at most 3 pages of a DescribeClusterParameterGroups operation. 3493// pageNum := 0 3494// err := client.DescribeClusterParameterGroupsPages(params, 3495// func(page *redshift.DescribeClusterParameterGroupsOutput, lastPage bool) bool { 3496// pageNum++ 3497// fmt.Println(page) 3498// return pageNum <= 3 3499// }) 3500// 3501func (c *Redshift) DescribeClusterParameterGroupsPages(input *DescribeClusterParameterGroupsInput, fn func(*DescribeClusterParameterGroupsOutput, bool) bool) error { 3502 return c.DescribeClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3503} 3504 3505// DescribeClusterParameterGroupsPagesWithContext same as DescribeClusterParameterGroupsPages except 3506// it takes a Context and allows setting request options on the pages. 3507// 3508// The context must be non-nil and will be used for request cancellation. If 3509// the context is nil a panic will occur. In the future the SDK may create 3510// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3511// for more information on using Contexts. 3512func (c *Redshift) DescribeClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeClusterParameterGroupsInput, fn func(*DescribeClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error { 3513 p := request.Pagination{ 3514 NewRequest: func() (*request.Request, error) { 3515 var inCpy *DescribeClusterParameterGroupsInput 3516 if input != nil { 3517 tmp := *input 3518 inCpy = &tmp 3519 } 3520 req, _ := c.DescribeClusterParameterGroupsRequest(inCpy) 3521 req.SetContext(ctx) 3522 req.ApplyOptions(opts...) 3523 return req, nil 3524 }, 3525 } 3526 3527 for p.Next() { 3528 if !fn(p.Page().(*DescribeClusterParameterGroupsOutput), !p.HasNextPage()) { 3529 break 3530 } 3531 } 3532 3533 return p.Err() 3534} 3535 3536const opDescribeClusterParameters = "DescribeClusterParameters" 3537 3538// DescribeClusterParametersRequest generates a "aws/request.Request" representing the 3539// client's request for the DescribeClusterParameters operation. The "output" return 3540// value will be populated with the request's response once the request completes 3541// successfully. 3542// 3543// Use "Send" method on the returned Request to send the API call to the service. 3544// the "output" return value is not valid until after Send returns without error. 3545// 3546// See DescribeClusterParameters for more information on using the DescribeClusterParameters 3547// API call, and error handling. 3548// 3549// This method is useful when you want to inject custom logic or configuration 3550// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3551// 3552// 3553// // Example sending a request using the DescribeClusterParametersRequest method. 3554// req, resp := client.DescribeClusterParametersRequest(params) 3555// 3556// err := req.Send() 3557// if err == nil { // resp is now filled 3558// fmt.Println(resp) 3559// } 3560// 3561// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameters 3562func (c *Redshift) DescribeClusterParametersRequest(input *DescribeClusterParametersInput) (req *request.Request, output *DescribeClusterParametersOutput) { 3563 op := &request.Operation{ 3564 Name: opDescribeClusterParameters, 3565 HTTPMethod: "POST", 3566 HTTPPath: "/", 3567 Paginator: &request.Paginator{ 3568 InputTokens: []string{"Marker"}, 3569 OutputTokens: []string{"Marker"}, 3570 LimitToken: "MaxRecords", 3571 TruncationToken: "", 3572 }, 3573 } 3574 3575 if input == nil { 3576 input = &DescribeClusterParametersInput{} 3577 } 3578 3579 output = &DescribeClusterParametersOutput{} 3580 req = c.newRequest(op, input, output) 3581 return 3582} 3583 3584// DescribeClusterParameters API operation for Amazon Redshift. 3585// 3586// Returns a detailed list of parameters contained within the specified Amazon 3587// Redshift parameter group. For each parameter the response includes information 3588// such as parameter name, description, data type, value, whether the parameter 3589// value is modifiable, and so on. 3590// 3591// You can specify source filter to retrieve parameters of only specific type. 3592// For example, to retrieve parameters that were modified by a user action such 3593// as from ModifyClusterParameterGroup, you can specify source equal to user. 3594// 3595// For more information about parameters and parameter groups, go to Amazon 3596// Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 3597// in the Amazon Redshift Cluster Management Guide. 3598// 3599// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3600// with awserr.Error's Code and Message methods to get detailed information about 3601// the error. 3602// 3603// See the AWS API reference guide for Amazon Redshift's 3604// API operation DescribeClusterParameters for usage and error information. 3605// 3606// Returned Error Codes: 3607// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 3608// The parameter group name does not refer to an existing parameter group. 3609// 3610// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterParameters 3611func (c *Redshift) DescribeClusterParameters(input *DescribeClusterParametersInput) (*DescribeClusterParametersOutput, error) { 3612 req, out := c.DescribeClusterParametersRequest(input) 3613 return out, req.Send() 3614} 3615 3616// DescribeClusterParametersWithContext is the same as DescribeClusterParameters with the addition of 3617// the ability to pass a context and additional request options. 3618// 3619// See DescribeClusterParameters for details on how to use this API operation. 3620// 3621// The context must be non-nil and will be used for request cancellation. If 3622// the context is nil a panic will occur. In the future the SDK may create 3623// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3624// for more information on using Contexts. 3625func (c *Redshift) DescribeClusterParametersWithContext(ctx aws.Context, input *DescribeClusterParametersInput, opts ...request.Option) (*DescribeClusterParametersOutput, error) { 3626 req, out := c.DescribeClusterParametersRequest(input) 3627 req.SetContext(ctx) 3628 req.ApplyOptions(opts...) 3629 return out, req.Send() 3630} 3631 3632// DescribeClusterParametersPages iterates over the pages of a DescribeClusterParameters operation, 3633// calling the "fn" function with the response data for each page. To stop 3634// iterating, return false from the fn function. 3635// 3636// See DescribeClusterParameters method for more information on how to use this operation. 3637// 3638// Note: This operation can generate multiple requests to a service. 3639// 3640// // Example iterating over at most 3 pages of a DescribeClusterParameters operation. 3641// pageNum := 0 3642// err := client.DescribeClusterParametersPages(params, 3643// func(page *redshift.DescribeClusterParametersOutput, lastPage bool) bool { 3644// pageNum++ 3645// fmt.Println(page) 3646// return pageNum <= 3 3647// }) 3648// 3649func (c *Redshift) DescribeClusterParametersPages(input *DescribeClusterParametersInput, fn func(*DescribeClusterParametersOutput, bool) bool) error { 3650 return c.DescribeClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3651} 3652 3653// DescribeClusterParametersPagesWithContext same as DescribeClusterParametersPages except 3654// it takes a Context and allows setting request options on the pages. 3655// 3656// The context must be non-nil and will be used for request cancellation. If 3657// the context is nil a panic will occur. In the future the SDK may create 3658// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3659// for more information on using Contexts. 3660func (c *Redshift) DescribeClusterParametersPagesWithContext(ctx aws.Context, input *DescribeClusterParametersInput, fn func(*DescribeClusterParametersOutput, bool) bool, opts ...request.Option) error { 3661 p := request.Pagination{ 3662 NewRequest: func() (*request.Request, error) { 3663 var inCpy *DescribeClusterParametersInput 3664 if input != nil { 3665 tmp := *input 3666 inCpy = &tmp 3667 } 3668 req, _ := c.DescribeClusterParametersRequest(inCpy) 3669 req.SetContext(ctx) 3670 req.ApplyOptions(opts...) 3671 return req, nil 3672 }, 3673 } 3674 3675 for p.Next() { 3676 if !fn(p.Page().(*DescribeClusterParametersOutput), !p.HasNextPage()) { 3677 break 3678 } 3679 } 3680 3681 return p.Err() 3682} 3683 3684const opDescribeClusterSecurityGroups = "DescribeClusterSecurityGroups" 3685 3686// DescribeClusterSecurityGroupsRequest generates a "aws/request.Request" representing the 3687// client's request for the DescribeClusterSecurityGroups operation. The "output" return 3688// value will be populated with the request's response once the request completes 3689// successfully. 3690// 3691// Use "Send" method on the returned Request to send the API call to the service. 3692// the "output" return value is not valid until after Send returns without error. 3693// 3694// See DescribeClusterSecurityGroups for more information on using the DescribeClusterSecurityGroups 3695// API call, and error handling. 3696// 3697// This method is useful when you want to inject custom logic or configuration 3698// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3699// 3700// 3701// // Example sending a request using the DescribeClusterSecurityGroupsRequest method. 3702// req, resp := client.DescribeClusterSecurityGroupsRequest(params) 3703// 3704// err := req.Send() 3705// if err == nil { // resp is now filled 3706// fmt.Println(resp) 3707// } 3708// 3709// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSecurityGroups 3710func (c *Redshift) DescribeClusterSecurityGroupsRequest(input *DescribeClusterSecurityGroupsInput) (req *request.Request, output *DescribeClusterSecurityGroupsOutput) { 3711 op := &request.Operation{ 3712 Name: opDescribeClusterSecurityGroups, 3713 HTTPMethod: "POST", 3714 HTTPPath: "/", 3715 Paginator: &request.Paginator{ 3716 InputTokens: []string{"Marker"}, 3717 OutputTokens: []string{"Marker"}, 3718 LimitToken: "MaxRecords", 3719 TruncationToken: "", 3720 }, 3721 } 3722 3723 if input == nil { 3724 input = &DescribeClusterSecurityGroupsInput{} 3725 } 3726 3727 output = &DescribeClusterSecurityGroupsOutput{} 3728 req = c.newRequest(op, input, output) 3729 return 3730} 3731 3732// DescribeClusterSecurityGroups API operation for Amazon Redshift. 3733// 3734// Returns information about Amazon Redshift security groups. If the name of 3735// a security group is specified, the response will contain only information 3736// about only that security group. 3737// 3738// For information about managing security groups, go to Amazon Redshift Cluster 3739// Security Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) 3740// in the Amazon Redshift Cluster Management Guide. 3741// 3742// If you specify both tag keys and tag values in the same request, Amazon Redshift 3743// returns all security groups that match any combination of the specified keys 3744// and values. For example, if you have owner and environment for tag keys, 3745// and admin and test for tag values, all security groups that have any combination 3746// of those values are returned. 3747// 3748// If both tag keys and values are omitted from the request, security groups 3749// are returned regardless of whether they have tag keys or values associated 3750// with them. 3751// 3752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3753// with awserr.Error's Code and Message methods to get detailed information about 3754// the error. 3755// 3756// See the AWS API reference guide for Amazon Redshift's 3757// API operation DescribeClusterSecurityGroups for usage and error information. 3758// 3759// Returned Error Codes: 3760// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 3761// The cluster security group name does not refer to an existing cluster security 3762// group. 3763// 3764// * ErrCodeInvalidTagFault "InvalidTagFault" 3765// The tag is invalid. 3766// 3767// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSecurityGroups 3768func (c *Redshift) DescribeClusterSecurityGroups(input *DescribeClusterSecurityGroupsInput) (*DescribeClusterSecurityGroupsOutput, error) { 3769 req, out := c.DescribeClusterSecurityGroupsRequest(input) 3770 return out, req.Send() 3771} 3772 3773// DescribeClusterSecurityGroupsWithContext is the same as DescribeClusterSecurityGroups with the addition of 3774// the ability to pass a context and additional request options. 3775// 3776// See DescribeClusterSecurityGroups for details on how to use this API operation. 3777// 3778// The context must be non-nil and will be used for request cancellation. If 3779// the context is nil a panic will occur. In the future the SDK may create 3780// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3781// for more information on using Contexts. 3782func (c *Redshift) DescribeClusterSecurityGroupsWithContext(ctx aws.Context, input *DescribeClusterSecurityGroupsInput, opts ...request.Option) (*DescribeClusterSecurityGroupsOutput, error) { 3783 req, out := c.DescribeClusterSecurityGroupsRequest(input) 3784 req.SetContext(ctx) 3785 req.ApplyOptions(opts...) 3786 return out, req.Send() 3787} 3788 3789// DescribeClusterSecurityGroupsPages iterates over the pages of a DescribeClusterSecurityGroups operation, 3790// calling the "fn" function with the response data for each page. To stop 3791// iterating, return false from the fn function. 3792// 3793// See DescribeClusterSecurityGroups method for more information on how to use this operation. 3794// 3795// Note: This operation can generate multiple requests to a service. 3796// 3797// // Example iterating over at most 3 pages of a DescribeClusterSecurityGroups operation. 3798// pageNum := 0 3799// err := client.DescribeClusterSecurityGroupsPages(params, 3800// func(page *redshift.DescribeClusterSecurityGroupsOutput, lastPage bool) bool { 3801// pageNum++ 3802// fmt.Println(page) 3803// return pageNum <= 3 3804// }) 3805// 3806func (c *Redshift) DescribeClusterSecurityGroupsPages(input *DescribeClusterSecurityGroupsInput, fn func(*DescribeClusterSecurityGroupsOutput, bool) bool) error { 3807 return c.DescribeClusterSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3808} 3809 3810// DescribeClusterSecurityGroupsPagesWithContext same as DescribeClusterSecurityGroupsPages except 3811// it takes a Context and allows setting request options on the pages. 3812// 3813// The context must be non-nil and will be used for request cancellation. If 3814// the context is nil a panic will occur. In the future the SDK may create 3815// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3816// for more information on using Contexts. 3817func (c *Redshift) DescribeClusterSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeClusterSecurityGroupsInput, fn func(*DescribeClusterSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 3818 p := request.Pagination{ 3819 NewRequest: func() (*request.Request, error) { 3820 var inCpy *DescribeClusterSecurityGroupsInput 3821 if input != nil { 3822 tmp := *input 3823 inCpy = &tmp 3824 } 3825 req, _ := c.DescribeClusterSecurityGroupsRequest(inCpy) 3826 req.SetContext(ctx) 3827 req.ApplyOptions(opts...) 3828 return req, nil 3829 }, 3830 } 3831 3832 for p.Next() { 3833 if !fn(p.Page().(*DescribeClusterSecurityGroupsOutput), !p.HasNextPage()) { 3834 break 3835 } 3836 } 3837 3838 return p.Err() 3839} 3840 3841const opDescribeClusterSnapshots = "DescribeClusterSnapshots" 3842 3843// DescribeClusterSnapshotsRequest generates a "aws/request.Request" representing the 3844// client's request for the DescribeClusterSnapshots operation. The "output" return 3845// value will be populated with the request's response once the request completes 3846// successfully. 3847// 3848// Use "Send" method on the returned Request to send the API call to the service. 3849// the "output" return value is not valid until after Send returns without error. 3850// 3851// See DescribeClusterSnapshots for more information on using the DescribeClusterSnapshots 3852// API call, and error handling. 3853// 3854// This method is useful when you want to inject custom logic or configuration 3855// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3856// 3857// 3858// // Example sending a request using the DescribeClusterSnapshotsRequest method. 3859// req, resp := client.DescribeClusterSnapshotsRequest(params) 3860// 3861// err := req.Send() 3862// if err == nil { // resp is now filled 3863// fmt.Println(resp) 3864// } 3865// 3866// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSnapshots 3867func (c *Redshift) DescribeClusterSnapshotsRequest(input *DescribeClusterSnapshotsInput) (req *request.Request, output *DescribeClusterSnapshotsOutput) { 3868 op := &request.Operation{ 3869 Name: opDescribeClusterSnapshots, 3870 HTTPMethod: "POST", 3871 HTTPPath: "/", 3872 Paginator: &request.Paginator{ 3873 InputTokens: []string{"Marker"}, 3874 OutputTokens: []string{"Marker"}, 3875 LimitToken: "MaxRecords", 3876 TruncationToken: "", 3877 }, 3878 } 3879 3880 if input == nil { 3881 input = &DescribeClusterSnapshotsInput{} 3882 } 3883 3884 output = &DescribeClusterSnapshotsOutput{} 3885 req = c.newRequest(op, input, output) 3886 return 3887} 3888 3889// DescribeClusterSnapshots API operation for Amazon Redshift. 3890// 3891// Returns one or more snapshot objects, which contain metadata about your cluster 3892// snapshots. By default, this operation returns information about all snapshots 3893// of all clusters that are owned by you AWS customer account. No information 3894// is returned for snapshots owned by inactive AWS customer accounts. 3895// 3896// If you specify both tag keys and tag values in the same request, Amazon Redshift 3897// returns all snapshots that match any combination of the specified keys and 3898// values. For example, if you have owner and environment for tag keys, and 3899// admin and test for tag values, all snapshots that have any combination of 3900// those values are returned. Only snapshots that you own are returned in the 3901// response; shared snapshots are not returned with the tag key and tag value 3902// request parameters. 3903// 3904// If both tag keys and values are omitted from the request, snapshots are returned 3905// regardless of whether they have tag keys or values associated with them. 3906// 3907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3908// with awserr.Error's Code and Message methods to get detailed information about 3909// the error. 3910// 3911// See the AWS API reference guide for Amazon Redshift's 3912// API operation DescribeClusterSnapshots for usage and error information. 3913// 3914// Returned Error Codes: 3915// * ErrCodeClusterNotFoundFault "ClusterNotFound" 3916// The ClusterIdentifier parameter does not refer to an existing cluster. 3917// 3918// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 3919// The snapshot identifier does not refer to an existing cluster snapshot. 3920// 3921// * ErrCodeInvalidTagFault "InvalidTagFault" 3922// The tag is invalid. 3923// 3924// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSnapshots 3925func (c *Redshift) DescribeClusterSnapshots(input *DescribeClusterSnapshotsInput) (*DescribeClusterSnapshotsOutput, error) { 3926 req, out := c.DescribeClusterSnapshotsRequest(input) 3927 return out, req.Send() 3928} 3929 3930// DescribeClusterSnapshotsWithContext is the same as DescribeClusterSnapshots with the addition of 3931// the ability to pass a context and additional request options. 3932// 3933// See DescribeClusterSnapshots for details on how to use this API operation. 3934// 3935// The context must be non-nil and will be used for request cancellation. If 3936// the context is nil a panic will occur. In the future the SDK may create 3937// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3938// for more information on using Contexts. 3939func (c *Redshift) DescribeClusterSnapshotsWithContext(ctx aws.Context, input *DescribeClusterSnapshotsInput, opts ...request.Option) (*DescribeClusterSnapshotsOutput, error) { 3940 req, out := c.DescribeClusterSnapshotsRequest(input) 3941 req.SetContext(ctx) 3942 req.ApplyOptions(opts...) 3943 return out, req.Send() 3944} 3945 3946// DescribeClusterSnapshotsPages iterates over the pages of a DescribeClusterSnapshots operation, 3947// calling the "fn" function with the response data for each page. To stop 3948// iterating, return false from the fn function. 3949// 3950// See DescribeClusterSnapshots method for more information on how to use this operation. 3951// 3952// Note: This operation can generate multiple requests to a service. 3953// 3954// // Example iterating over at most 3 pages of a DescribeClusterSnapshots operation. 3955// pageNum := 0 3956// err := client.DescribeClusterSnapshotsPages(params, 3957// func(page *redshift.DescribeClusterSnapshotsOutput, lastPage bool) bool { 3958// pageNum++ 3959// fmt.Println(page) 3960// return pageNum <= 3 3961// }) 3962// 3963func (c *Redshift) DescribeClusterSnapshotsPages(input *DescribeClusterSnapshotsInput, fn func(*DescribeClusterSnapshotsOutput, bool) bool) error { 3964 return c.DescribeClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 3965} 3966 3967// DescribeClusterSnapshotsPagesWithContext same as DescribeClusterSnapshotsPages except 3968// it takes a Context and allows setting request options on the pages. 3969// 3970// The context must be non-nil and will be used for request cancellation. If 3971// the context is nil a panic will occur. In the future the SDK may create 3972// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3973// for more information on using Contexts. 3974func (c *Redshift) DescribeClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeClusterSnapshotsInput, fn func(*DescribeClusterSnapshotsOutput, bool) bool, opts ...request.Option) error { 3975 p := request.Pagination{ 3976 NewRequest: func() (*request.Request, error) { 3977 var inCpy *DescribeClusterSnapshotsInput 3978 if input != nil { 3979 tmp := *input 3980 inCpy = &tmp 3981 } 3982 req, _ := c.DescribeClusterSnapshotsRequest(inCpy) 3983 req.SetContext(ctx) 3984 req.ApplyOptions(opts...) 3985 return req, nil 3986 }, 3987 } 3988 3989 for p.Next() { 3990 if !fn(p.Page().(*DescribeClusterSnapshotsOutput), !p.HasNextPage()) { 3991 break 3992 } 3993 } 3994 3995 return p.Err() 3996} 3997 3998const opDescribeClusterSubnetGroups = "DescribeClusterSubnetGroups" 3999 4000// DescribeClusterSubnetGroupsRequest generates a "aws/request.Request" representing the 4001// client's request for the DescribeClusterSubnetGroups operation. The "output" return 4002// value will be populated with the request's response once the request completes 4003// successfully. 4004// 4005// Use "Send" method on the returned Request to send the API call to the service. 4006// the "output" return value is not valid until after Send returns without error. 4007// 4008// See DescribeClusterSubnetGroups for more information on using the DescribeClusterSubnetGroups 4009// API call, and error handling. 4010// 4011// This method is useful when you want to inject custom logic or configuration 4012// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4013// 4014// 4015// // Example sending a request using the DescribeClusterSubnetGroupsRequest method. 4016// req, resp := client.DescribeClusterSubnetGroupsRequest(params) 4017// 4018// err := req.Send() 4019// if err == nil { // resp is now filled 4020// fmt.Println(resp) 4021// } 4022// 4023// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSubnetGroups 4024func (c *Redshift) DescribeClusterSubnetGroupsRequest(input *DescribeClusterSubnetGroupsInput) (req *request.Request, output *DescribeClusterSubnetGroupsOutput) { 4025 op := &request.Operation{ 4026 Name: opDescribeClusterSubnetGroups, 4027 HTTPMethod: "POST", 4028 HTTPPath: "/", 4029 Paginator: &request.Paginator{ 4030 InputTokens: []string{"Marker"}, 4031 OutputTokens: []string{"Marker"}, 4032 LimitToken: "MaxRecords", 4033 TruncationToken: "", 4034 }, 4035 } 4036 4037 if input == nil { 4038 input = &DescribeClusterSubnetGroupsInput{} 4039 } 4040 4041 output = &DescribeClusterSubnetGroupsOutput{} 4042 req = c.newRequest(op, input, output) 4043 return 4044} 4045 4046// DescribeClusterSubnetGroups API operation for Amazon Redshift. 4047// 4048// Returns one or more cluster subnet group objects, which contain metadata 4049// about your cluster subnet groups. By default, this operation returns information 4050// about all cluster subnet groups that are defined in you AWS account. 4051// 4052// If you specify both tag keys and tag values in the same request, Amazon Redshift 4053// returns all subnet groups that match any combination of the specified keys 4054// and values. For example, if you have owner and environment for tag keys, 4055// and admin and test for tag values, all subnet groups that have any combination 4056// of those values are returned. 4057// 4058// If both tag keys and values are omitted from the request, subnet groups are 4059// returned regardless of whether they have tag keys or values associated with 4060// them. 4061// 4062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4063// with awserr.Error's Code and Message methods to get detailed information about 4064// the error. 4065// 4066// See the AWS API reference guide for Amazon Redshift's 4067// API operation DescribeClusterSubnetGroups for usage and error information. 4068// 4069// Returned Error Codes: 4070// * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault" 4071// The cluster subnet group name does not refer to an existing cluster subnet 4072// group. 4073// 4074// * ErrCodeInvalidTagFault "InvalidTagFault" 4075// The tag is invalid. 4076// 4077// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterSubnetGroups 4078func (c *Redshift) DescribeClusterSubnetGroups(input *DescribeClusterSubnetGroupsInput) (*DescribeClusterSubnetGroupsOutput, error) { 4079 req, out := c.DescribeClusterSubnetGroupsRequest(input) 4080 return out, req.Send() 4081} 4082 4083// DescribeClusterSubnetGroupsWithContext is the same as DescribeClusterSubnetGroups with the addition of 4084// the ability to pass a context and additional request options. 4085// 4086// See DescribeClusterSubnetGroups for details on how to use this API operation. 4087// 4088// The context must be non-nil and will be used for request cancellation. If 4089// the context is nil a panic will occur. In the future the SDK may create 4090// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4091// for more information on using Contexts. 4092func (c *Redshift) DescribeClusterSubnetGroupsWithContext(ctx aws.Context, input *DescribeClusterSubnetGroupsInput, opts ...request.Option) (*DescribeClusterSubnetGroupsOutput, error) { 4093 req, out := c.DescribeClusterSubnetGroupsRequest(input) 4094 req.SetContext(ctx) 4095 req.ApplyOptions(opts...) 4096 return out, req.Send() 4097} 4098 4099// DescribeClusterSubnetGroupsPages iterates over the pages of a DescribeClusterSubnetGroups operation, 4100// calling the "fn" function with the response data for each page. To stop 4101// iterating, return false from the fn function. 4102// 4103// See DescribeClusterSubnetGroups method for more information on how to use this operation. 4104// 4105// Note: This operation can generate multiple requests to a service. 4106// 4107// // Example iterating over at most 3 pages of a DescribeClusterSubnetGroups operation. 4108// pageNum := 0 4109// err := client.DescribeClusterSubnetGroupsPages(params, 4110// func(page *redshift.DescribeClusterSubnetGroupsOutput, lastPage bool) bool { 4111// pageNum++ 4112// fmt.Println(page) 4113// return pageNum <= 3 4114// }) 4115// 4116func (c *Redshift) DescribeClusterSubnetGroupsPages(input *DescribeClusterSubnetGroupsInput, fn func(*DescribeClusterSubnetGroupsOutput, bool) bool) error { 4117 return c.DescribeClusterSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 4118} 4119 4120// DescribeClusterSubnetGroupsPagesWithContext same as DescribeClusterSubnetGroupsPages except 4121// it takes a Context and allows setting request options on the pages. 4122// 4123// The context must be non-nil and will be used for request cancellation. If 4124// the context is nil a panic will occur. In the future the SDK may create 4125// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4126// for more information on using Contexts. 4127func (c *Redshift) DescribeClusterSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeClusterSubnetGroupsInput, fn func(*DescribeClusterSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 4128 p := request.Pagination{ 4129 NewRequest: func() (*request.Request, error) { 4130 var inCpy *DescribeClusterSubnetGroupsInput 4131 if input != nil { 4132 tmp := *input 4133 inCpy = &tmp 4134 } 4135 req, _ := c.DescribeClusterSubnetGroupsRequest(inCpy) 4136 req.SetContext(ctx) 4137 req.ApplyOptions(opts...) 4138 return req, nil 4139 }, 4140 } 4141 4142 for p.Next() { 4143 if !fn(p.Page().(*DescribeClusterSubnetGroupsOutput), !p.HasNextPage()) { 4144 break 4145 } 4146 } 4147 4148 return p.Err() 4149} 4150 4151const opDescribeClusterTracks = "DescribeClusterTracks" 4152 4153// DescribeClusterTracksRequest generates a "aws/request.Request" representing the 4154// client's request for the DescribeClusterTracks operation. The "output" return 4155// value will be populated with the request's response once the request completes 4156// successfully. 4157// 4158// Use "Send" method on the returned Request to send the API call to the service. 4159// the "output" return value is not valid until after Send returns without error. 4160// 4161// See DescribeClusterTracks for more information on using the DescribeClusterTracks 4162// API call, and error handling. 4163// 4164// This method is useful when you want to inject custom logic or configuration 4165// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4166// 4167// 4168// // Example sending a request using the DescribeClusterTracksRequest method. 4169// req, resp := client.DescribeClusterTracksRequest(params) 4170// 4171// err := req.Send() 4172// if err == nil { // resp is now filled 4173// fmt.Println(resp) 4174// } 4175// 4176// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterTracks 4177func (c *Redshift) DescribeClusterTracksRequest(input *DescribeClusterTracksInput) (req *request.Request, output *DescribeClusterTracksOutput) { 4178 op := &request.Operation{ 4179 Name: opDescribeClusterTracks, 4180 HTTPMethod: "POST", 4181 HTTPPath: "/", 4182 } 4183 4184 if input == nil { 4185 input = &DescribeClusterTracksInput{} 4186 } 4187 4188 output = &DescribeClusterTracksOutput{} 4189 req = c.newRequest(op, input, output) 4190 return 4191} 4192 4193// DescribeClusterTracks API operation for Amazon Redshift. 4194// 4195// Returns a list of all the available maintenance tracks. 4196// 4197// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4198// with awserr.Error's Code and Message methods to get detailed information about 4199// the error. 4200// 4201// See the AWS API reference guide for Amazon Redshift's 4202// API operation DescribeClusterTracks for usage and error information. 4203// 4204// Returned Error Codes: 4205// * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack" 4206// The provided cluster track name is not valid. 4207// 4208// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 4209// Your account is not authorized to perform the requested operation. 4210// 4211// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterTracks 4212func (c *Redshift) DescribeClusterTracks(input *DescribeClusterTracksInput) (*DescribeClusterTracksOutput, error) { 4213 req, out := c.DescribeClusterTracksRequest(input) 4214 return out, req.Send() 4215} 4216 4217// DescribeClusterTracksWithContext is the same as DescribeClusterTracks with the addition of 4218// the ability to pass a context and additional request options. 4219// 4220// See DescribeClusterTracks for details on how to use this API operation. 4221// 4222// The context must be non-nil and will be used for request cancellation. If 4223// the context is nil a panic will occur. In the future the SDK may create 4224// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4225// for more information on using Contexts. 4226func (c *Redshift) DescribeClusterTracksWithContext(ctx aws.Context, input *DescribeClusterTracksInput, opts ...request.Option) (*DescribeClusterTracksOutput, error) { 4227 req, out := c.DescribeClusterTracksRequest(input) 4228 req.SetContext(ctx) 4229 req.ApplyOptions(opts...) 4230 return out, req.Send() 4231} 4232 4233const opDescribeClusterVersions = "DescribeClusterVersions" 4234 4235// DescribeClusterVersionsRequest generates a "aws/request.Request" representing the 4236// client's request for the DescribeClusterVersions operation. The "output" return 4237// value will be populated with the request's response once the request completes 4238// successfully. 4239// 4240// Use "Send" method on the returned Request to send the API call to the service. 4241// the "output" return value is not valid until after Send returns without error. 4242// 4243// See DescribeClusterVersions for more information on using the DescribeClusterVersions 4244// API call, and error handling. 4245// 4246// This method is useful when you want to inject custom logic or configuration 4247// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4248// 4249// 4250// // Example sending a request using the DescribeClusterVersionsRequest method. 4251// req, resp := client.DescribeClusterVersionsRequest(params) 4252// 4253// err := req.Send() 4254// if err == nil { // resp is now filled 4255// fmt.Println(resp) 4256// } 4257// 4258// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterVersions 4259func (c *Redshift) DescribeClusterVersionsRequest(input *DescribeClusterVersionsInput) (req *request.Request, output *DescribeClusterVersionsOutput) { 4260 op := &request.Operation{ 4261 Name: opDescribeClusterVersions, 4262 HTTPMethod: "POST", 4263 HTTPPath: "/", 4264 Paginator: &request.Paginator{ 4265 InputTokens: []string{"Marker"}, 4266 OutputTokens: []string{"Marker"}, 4267 LimitToken: "MaxRecords", 4268 TruncationToken: "", 4269 }, 4270 } 4271 4272 if input == nil { 4273 input = &DescribeClusterVersionsInput{} 4274 } 4275 4276 output = &DescribeClusterVersionsOutput{} 4277 req = c.newRequest(op, input, output) 4278 return 4279} 4280 4281// DescribeClusterVersions API operation for Amazon Redshift. 4282// 4283// Returns descriptions of the available Amazon Redshift cluster versions. You 4284// can call this operation even before creating any clusters to learn more about 4285// the Amazon Redshift versions. For more information about managing clusters, 4286// go to Amazon Redshift Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 4287// in the Amazon Redshift Cluster Management Guide. 4288// 4289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4290// with awserr.Error's Code and Message methods to get detailed information about 4291// the error. 4292// 4293// See the AWS API reference guide for Amazon Redshift's 4294// API operation DescribeClusterVersions for usage and error information. 4295// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusterVersions 4296func (c *Redshift) DescribeClusterVersions(input *DescribeClusterVersionsInput) (*DescribeClusterVersionsOutput, error) { 4297 req, out := c.DescribeClusterVersionsRequest(input) 4298 return out, req.Send() 4299} 4300 4301// DescribeClusterVersionsWithContext is the same as DescribeClusterVersions with the addition of 4302// the ability to pass a context and additional request options. 4303// 4304// See DescribeClusterVersions for details on how to use this API operation. 4305// 4306// The context must be non-nil and will be used for request cancellation. If 4307// the context is nil a panic will occur. In the future the SDK may create 4308// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4309// for more information on using Contexts. 4310func (c *Redshift) DescribeClusterVersionsWithContext(ctx aws.Context, input *DescribeClusterVersionsInput, opts ...request.Option) (*DescribeClusterVersionsOutput, error) { 4311 req, out := c.DescribeClusterVersionsRequest(input) 4312 req.SetContext(ctx) 4313 req.ApplyOptions(opts...) 4314 return out, req.Send() 4315} 4316 4317// DescribeClusterVersionsPages iterates over the pages of a DescribeClusterVersions operation, 4318// calling the "fn" function with the response data for each page. To stop 4319// iterating, return false from the fn function. 4320// 4321// See DescribeClusterVersions method for more information on how to use this operation. 4322// 4323// Note: This operation can generate multiple requests to a service. 4324// 4325// // Example iterating over at most 3 pages of a DescribeClusterVersions operation. 4326// pageNum := 0 4327// err := client.DescribeClusterVersionsPages(params, 4328// func(page *redshift.DescribeClusterVersionsOutput, lastPage bool) bool { 4329// pageNum++ 4330// fmt.Println(page) 4331// return pageNum <= 3 4332// }) 4333// 4334func (c *Redshift) DescribeClusterVersionsPages(input *DescribeClusterVersionsInput, fn func(*DescribeClusterVersionsOutput, bool) bool) error { 4335 return c.DescribeClusterVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 4336} 4337 4338// DescribeClusterVersionsPagesWithContext same as DescribeClusterVersionsPages except 4339// it takes a Context and allows setting request options on the pages. 4340// 4341// The context must be non-nil and will be used for request cancellation. If 4342// the context is nil a panic will occur. In the future the SDK may create 4343// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4344// for more information on using Contexts. 4345func (c *Redshift) DescribeClusterVersionsPagesWithContext(ctx aws.Context, input *DescribeClusterVersionsInput, fn func(*DescribeClusterVersionsOutput, bool) bool, opts ...request.Option) error { 4346 p := request.Pagination{ 4347 NewRequest: func() (*request.Request, error) { 4348 var inCpy *DescribeClusterVersionsInput 4349 if input != nil { 4350 tmp := *input 4351 inCpy = &tmp 4352 } 4353 req, _ := c.DescribeClusterVersionsRequest(inCpy) 4354 req.SetContext(ctx) 4355 req.ApplyOptions(opts...) 4356 return req, nil 4357 }, 4358 } 4359 4360 for p.Next() { 4361 if !fn(p.Page().(*DescribeClusterVersionsOutput), !p.HasNextPage()) { 4362 break 4363 } 4364 } 4365 4366 return p.Err() 4367} 4368 4369const opDescribeClusters = "DescribeClusters" 4370 4371// DescribeClustersRequest generates a "aws/request.Request" representing the 4372// client's request for the DescribeClusters operation. The "output" return 4373// value will be populated with the request's response once the request completes 4374// successfully. 4375// 4376// Use "Send" method on the returned Request to send the API call to the service. 4377// the "output" return value is not valid until after Send returns without error. 4378// 4379// See DescribeClusters for more information on using the DescribeClusters 4380// API call, and error handling. 4381// 4382// This method is useful when you want to inject custom logic or configuration 4383// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4384// 4385// 4386// // Example sending a request using the DescribeClustersRequest method. 4387// req, resp := client.DescribeClustersRequest(params) 4388// 4389// err := req.Send() 4390// if err == nil { // resp is now filled 4391// fmt.Println(resp) 4392// } 4393// 4394// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusters 4395func (c *Redshift) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { 4396 op := &request.Operation{ 4397 Name: opDescribeClusters, 4398 HTTPMethod: "POST", 4399 HTTPPath: "/", 4400 Paginator: &request.Paginator{ 4401 InputTokens: []string{"Marker"}, 4402 OutputTokens: []string{"Marker"}, 4403 LimitToken: "MaxRecords", 4404 TruncationToken: "", 4405 }, 4406 } 4407 4408 if input == nil { 4409 input = &DescribeClustersInput{} 4410 } 4411 4412 output = &DescribeClustersOutput{} 4413 req = c.newRequest(op, input, output) 4414 return 4415} 4416 4417// DescribeClusters API operation for Amazon Redshift. 4418// 4419// Returns properties of provisioned clusters including general cluster properties, 4420// cluster database properties, maintenance and backup properties, and security 4421// and access properties. This operation supports pagination. For more information 4422// about managing clusters, go to Amazon Redshift Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 4423// in the Amazon Redshift Cluster Management Guide. 4424// 4425// If you specify both tag keys and tag values in the same request, Amazon Redshift 4426// returns all clusters that match any combination of the specified keys and 4427// values. For example, if you have owner and environment for tag keys, and 4428// admin and test for tag values, all clusters that have any combination of 4429// those values are returned. 4430// 4431// If both tag keys and values are omitted from the request, clusters are returned 4432// regardless of whether they have tag keys or values associated with them. 4433// 4434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4435// with awserr.Error's Code and Message methods to get detailed information about 4436// the error. 4437// 4438// See the AWS API reference guide for Amazon Redshift's 4439// API operation DescribeClusters for usage and error information. 4440// 4441// Returned Error Codes: 4442// * ErrCodeClusterNotFoundFault "ClusterNotFound" 4443// The ClusterIdentifier parameter does not refer to an existing cluster. 4444// 4445// * ErrCodeInvalidTagFault "InvalidTagFault" 4446// The tag is invalid. 4447// 4448// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeClusters 4449func (c *Redshift) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { 4450 req, out := c.DescribeClustersRequest(input) 4451 return out, req.Send() 4452} 4453 4454// DescribeClustersWithContext is the same as DescribeClusters with the addition of 4455// the ability to pass a context and additional request options. 4456// 4457// See DescribeClusters for details on how to use this API operation. 4458// 4459// The context must be non-nil and will be used for request cancellation. If 4460// the context is nil a panic will occur. In the future the SDK may create 4461// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4462// for more information on using Contexts. 4463func (c *Redshift) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { 4464 req, out := c.DescribeClustersRequest(input) 4465 req.SetContext(ctx) 4466 req.ApplyOptions(opts...) 4467 return out, req.Send() 4468} 4469 4470// DescribeClustersPages iterates over the pages of a DescribeClusters operation, 4471// calling the "fn" function with the response data for each page. To stop 4472// iterating, return false from the fn function. 4473// 4474// See DescribeClusters method for more information on how to use this operation. 4475// 4476// Note: This operation can generate multiple requests to a service. 4477// 4478// // Example iterating over at most 3 pages of a DescribeClusters operation. 4479// pageNum := 0 4480// err := client.DescribeClustersPages(params, 4481// func(page *redshift.DescribeClustersOutput, lastPage bool) bool { 4482// pageNum++ 4483// fmt.Println(page) 4484// return pageNum <= 3 4485// }) 4486// 4487func (c *Redshift) DescribeClustersPages(input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool) error { 4488 return c.DescribeClustersPagesWithContext(aws.BackgroundContext(), input, fn) 4489} 4490 4491// DescribeClustersPagesWithContext same as DescribeClustersPages except 4492// it takes a Context and allows setting request options on the pages. 4493// 4494// The context must be non-nil and will be used for request cancellation. If 4495// the context is nil a panic will occur. In the future the SDK may create 4496// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4497// for more information on using Contexts. 4498func (c *Redshift) DescribeClustersPagesWithContext(ctx aws.Context, input *DescribeClustersInput, fn func(*DescribeClustersOutput, bool) bool, opts ...request.Option) error { 4499 p := request.Pagination{ 4500 NewRequest: func() (*request.Request, error) { 4501 var inCpy *DescribeClustersInput 4502 if input != nil { 4503 tmp := *input 4504 inCpy = &tmp 4505 } 4506 req, _ := c.DescribeClustersRequest(inCpy) 4507 req.SetContext(ctx) 4508 req.ApplyOptions(opts...) 4509 return req, nil 4510 }, 4511 } 4512 4513 for p.Next() { 4514 if !fn(p.Page().(*DescribeClustersOutput), !p.HasNextPage()) { 4515 break 4516 } 4517 } 4518 4519 return p.Err() 4520} 4521 4522const opDescribeDefaultClusterParameters = "DescribeDefaultClusterParameters" 4523 4524// DescribeDefaultClusterParametersRequest generates a "aws/request.Request" representing the 4525// client's request for the DescribeDefaultClusterParameters operation. The "output" return 4526// value will be populated with the request's response once the request completes 4527// successfully. 4528// 4529// Use "Send" method on the returned Request to send the API call to the service. 4530// the "output" return value is not valid until after Send returns without error. 4531// 4532// See DescribeDefaultClusterParameters for more information on using the DescribeDefaultClusterParameters 4533// API call, and error handling. 4534// 4535// This method is useful when you want to inject custom logic or configuration 4536// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4537// 4538// 4539// // Example sending a request using the DescribeDefaultClusterParametersRequest method. 4540// req, resp := client.DescribeDefaultClusterParametersRequest(params) 4541// 4542// err := req.Send() 4543// if err == nil { // resp is now filled 4544// fmt.Println(resp) 4545// } 4546// 4547// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeDefaultClusterParameters 4548func (c *Redshift) DescribeDefaultClusterParametersRequest(input *DescribeDefaultClusterParametersInput) (req *request.Request, output *DescribeDefaultClusterParametersOutput) { 4549 op := &request.Operation{ 4550 Name: opDescribeDefaultClusterParameters, 4551 HTTPMethod: "POST", 4552 HTTPPath: "/", 4553 Paginator: &request.Paginator{ 4554 InputTokens: []string{"Marker"}, 4555 OutputTokens: []string{"DefaultClusterParameters.Marker"}, 4556 LimitToken: "MaxRecords", 4557 TruncationToken: "", 4558 }, 4559 } 4560 4561 if input == nil { 4562 input = &DescribeDefaultClusterParametersInput{} 4563 } 4564 4565 output = &DescribeDefaultClusterParametersOutput{} 4566 req = c.newRequest(op, input, output) 4567 return 4568} 4569 4570// DescribeDefaultClusterParameters API operation for Amazon Redshift. 4571// 4572// Returns a list of parameter settings for the specified parameter group family. 4573// 4574// For more information about parameters and parameter groups, go to Amazon 4575// Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 4576// in the Amazon Redshift Cluster Management Guide. 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 Redshift's 4583// API operation DescribeDefaultClusterParameters for usage and error information. 4584// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeDefaultClusterParameters 4585func (c *Redshift) DescribeDefaultClusterParameters(input *DescribeDefaultClusterParametersInput) (*DescribeDefaultClusterParametersOutput, error) { 4586 req, out := c.DescribeDefaultClusterParametersRequest(input) 4587 return out, req.Send() 4588} 4589 4590// DescribeDefaultClusterParametersWithContext is the same as DescribeDefaultClusterParameters with the addition of 4591// the ability to pass a context and additional request options. 4592// 4593// See DescribeDefaultClusterParameters for details on how to use this API operation. 4594// 4595// The context must be non-nil and will be used for request cancellation. If 4596// the context is nil a panic will occur. In the future the SDK may create 4597// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4598// for more information on using Contexts. 4599func (c *Redshift) DescribeDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeDefaultClusterParametersInput, opts ...request.Option) (*DescribeDefaultClusterParametersOutput, error) { 4600 req, out := c.DescribeDefaultClusterParametersRequest(input) 4601 req.SetContext(ctx) 4602 req.ApplyOptions(opts...) 4603 return out, req.Send() 4604} 4605 4606// DescribeDefaultClusterParametersPages iterates over the pages of a DescribeDefaultClusterParameters operation, 4607// calling the "fn" function with the response data for each page. To stop 4608// iterating, return false from the fn function. 4609// 4610// See DescribeDefaultClusterParameters method for more information on how to use this operation. 4611// 4612// Note: This operation can generate multiple requests to a service. 4613// 4614// // Example iterating over at most 3 pages of a DescribeDefaultClusterParameters operation. 4615// pageNum := 0 4616// err := client.DescribeDefaultClusterParametersPages(params, 4617// func(page *redshift.DescribeDefaultClusterParametersOutput, lastPage bool) bool { 4618// pageNum++ 4619// fmt.Println(page) 4620// return pageNum <= 3 4621// }) 4622// 4623func (c *Redshift) DescribeDefaultClusterParametersPages(input *DescribeDefaultClusterParametersInput, fn func(*DescribeDefaultClusterParametersOutput, bool) bool) error { 4624 return c.DescribeDefaultClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn) 4625} 4626 4627// DescribeDefaultClusterParametersPagesWithContext same as DescribeDefaultClusterParametersPages except 4628// it takes a Context and allows setting request options on the pages. 4629// 4630// The context must be non-nil and will be used for request cancellation. If 4631// the context is nil a panic will occur. In the future the SDK may create 4632// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4633// for more information on using Contexts. 4634func (c *Redshift) DescribeDefaultClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDefaultClusterParametersInput, fn func(*DescribeDefaultClusterParametersOutput, bool) bool, opts ...request.Option) error { 4635 p := request.Pagination{ 4636 NewRequest: func() (*request.Request, error) { 4637 var inCpy *DescribeDefaultClusterParametersInput 4638 if input != nil { 4639 tmp := *input 4640 inCpy = &tmp 4641 } 4642 req, _ := c.DescribeDefaultClusterParametersRequest(inCpy) 4643 req.SetContext(ctx) 4644 req.ApplyOptions(opts...) 4645 return req, nil 4646 }, 4647 } 4648 4649 for p.Next() { 4650 if !fn(p.Page().(*DescribeDefaultClusterParametersOutput), !p.HasNextPage()) { 4651 break 4652 } 4653 } 4654 4655 return p.Err() 4656} 4657 4658const opDescribeEventCategories = "DescribeEventCategories" 4659 4660// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the 4661// client's request for the DescribeEventCategories operation. The "output" return 4662// value will be populated with the request's response once the request completes 4663// successfully. 4664// 4665// Use "Send" method on the returned Request to send the API call to the service. 4666// the "output" return value is not valid until after Send returns without error. 4667// 4668// See DescribeEventCategories for more information on using the DescribeEventCategories 4669// API call, and error handling. 4670// 4671// This method is useful when you want to inject custom logic or configuration 4672// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4673// 4674// 4675// // Example sending a request using the DescribeEventCategoriesRequest method. 4676// req, resp := client.DescribeEventCategoriesRequest(params) 4677// 4678// err := req.Send() 4679// if err == nil { // resp is now filled 4680// fmt.Println(resp) 4681// } 4682// 4683// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventCategories 4684func (c *Redshift) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) { 4685 op := &request.Operation{ 4686 Name: opDescribeEventCategories, 4687 HTTPMethod: "POST", 4688 HTTPPath: "/", 4689 } 4690 4691 if input == nil { 4692 input = &DescribeEventCategoriesInput{} 4693 } 4694 4695 output = &DescribeEventCategoriesOutput{} 4696 req = c.newRequest(op, input, output) 4697 return 4698} 4699 4700// DescribeEventCategories API operation for Amazon Redshift. 4701// 4702// Displays a list of event categories for all event source types, or for a 4703// specified source type. For a list of the event categories and source types, 4704// go to Amazon Redshift Event Notifications (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html). 4705// 4706// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4707// with awserr.Error's Code and Message methods to get detailed information about 4708// the error. 4709// 4710// See the AWS API reference guide for Amazon Redshift's 4711// API operation DescribeEventCategories for usage and error information. 4712// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventCategories 4713func (c *Redshift) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) { 4714 req, out := c.DescribeEventCategoriesRequest(input) 4715 return out, req.Send() 4716} 4717 4718// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of 4719// the ability to pass a context and additional request options. 4720// 4721// See DescribeEventCategories for details on how to use this API operation. 4722// 4723// The context must be non-nil and will be used for request cancellation. If 4724// the context is nil a panic will occur. In the future the SDK may create 4725// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4726// for more information on using Contexts. 4727func (c *Redshift) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) { 4728 req, out := c.DescribeEventCategoriesRequest(input) 4729 req.SetContext(ctx) 4730 req.ApplyOptions(opts...) 4731 return out, req.Send() 4732} 4733 4734const opDescribeEventSubscriptions = "DescribeEventSubscriptions" 4735 4736// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the 4737// client's request for the DescribeEventSubscriptions operation. The "output" return 4738// value will be populated with the request's response once the request completes 4739// successfully. 4740// 4741// Use "Send" method on the returned Request to send the API call to the service. 4742// the "output" return value is not valid until after Send returns without error. 4743// 4744// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions 4745// API call, and error handling. 4746// 4747// This method is useful when you want to inject custom logic or configuration 4748// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4749// 4750// 4751// // Example sending a request using the DescribeEventSubscriptionsRequest method. 4752// req, resp := client.DescribeEventSubscriptionsRequest(params) 4753// 4754// err := req.Send() 4755// if err == nil { // resp is now filled 4756// fmt.Println(resp) 4757// } 4758// 4759// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventSubscriptions 4760func (c *Redshift) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) { 4761 op := &request.Operation{ 4762 Name: opDescribeEventSubscriptions, 4763 HTTPMethod: "POST", 4764 HTTPPath: "/", 4765 Paginator: &request.Paginator{ 4766 InputTokens: []string{"Marker"}, 4767 OutputTokens: []string{"Marker"}, 4768 LimitToken: "MaxRecords", 4769 TruncationToken: "", 4770 }, 4771 } 4772 4773 if input == nil { 4774 input = &DescribeEventSubscriptionsInput{} 4775 } 4776 4777 output = &DescribeEventSubscriptionsOutput{} 4778 req = c.newRequest(op, input, output) 4779 return 4780} 4781 4782// DescribeEventSubscriptions API operation for Amazon Redshift. 4783// 4784// Lists descriptions of all the Amazon Redshift event notification subscriptions 4785// for a customer account. If you specify a subscription name, lists the description 4786// for that subscription. 4787// 4788// If you specify both tag keys and tag values in the same request, Amazon Redshift 4789// returns all event notification subscriptions that match any combination of 4790// the specified keys and values. For example, if you have owner and environment 4791// for tag keys, and admin and test for tag values, all subscriptions that have 4792// any combination of those values are returned. 4793// 4794// If both tag keys and values are omitted from the request, subscriptions are 4795// returned regardless of whether they have tag keys or values associated with 4796// them. 4797// 4798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4799// with awserr.Error's Code and Message methods to get detailed information about 4800// the error. 4801// 4802// See the AWS API reference guide for Amazon Redshift's 4803// API operation DescribeEventSubscriptions for usage and error information. 4804// 4805// Returned Error Codes: 4806// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" 4807// An Amazon Redshift event notification subscription with the specified name 4808// does not exist. 4809// 4810// * ErrCodeInvalidTagFault "InvalidTagFault" 4811// The tag is invalid. 4812// 4813// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEventSubscriptions 4814func (c *Redshift) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) { 4815 req, out := c.DescribeEventSubscriptionsRequest(input) 4816 return out, req.Send() 4817} 4818 4819// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of 4820// the ability to pass a context and additional request options. 4821// 4822// See DescribeEventSubscriptions for details on how to use this API operation. 4823// 4824// The context must be non-nil and will be used for request cancellation. If 4825// the context is nil a panic will occur. In the future the SDK may create 4826// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4827// for more information on using Contexts. 4828func (c *Redshift) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) { 4829 req, out := c.DescribeEventSubscriptionsRequest(input) 4830 req.SetContext(ctx) 4831 req.ApplyOptions(opts...) 4832 return out, req.Send() 4833} 4834 4835// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation, 4836// calling the "fn" function with the response data for each page. To stop 4837// iterating, return false from the fn function. 4838// 4839// See DescribeEventSubscriptions method for more information on how to use this operation. 4840// 4841// Note: This operation can generate multiple requests to a service. 4842// 4843// // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation. 4844// pageNum := 0 4845// err := client.DescribeEventSubscriptionsPages(params, 4846// func(page *redshift.DescribeEventSubscriptionsOutput, lastPage bool) bool { 4847// pageNum++ 4848// fmt.Println(page) 4849// return pageNum <= 3 4850// }) 4851// 4852func (c *Redshift) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error { 4853 return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn) 4854} 4855 4856// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except 4857// it takes a Context and allows setting request options on the pages. 4858// 4859// The context must be non-nil and will be used for request cancellation. If 4860// the context is nil a panic will occur. In the future the SDK may create 4861// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4862// for more information on using Contexts. 4863func (c *Redshift) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error { 4864 p := request.Pagination{ 4865 NewRequest: func() (*request.Request, error) { 4866 var inCpy *DescribeEventSubscriptionsInput 4867 if input != nil { 4868 tmp := *input 4869 inCpy = &tmp 4870 } 4871 req, _ := c.DescribeEventSubscriptionsRequest(inCpy) 4872 req.SetContext(ctx) 4873 req.ApplyOptions(opts...) 4874 return req, nil 4875 }, 4876 } 4877 4878 for p.Next() { 4879 if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) { 4880 break 4881 } 4882 } 4883 4884 return p.Err() 4885} 4886 4887const opDescribeEvents = "DescribeEvents" 4888 4889// DescribeEventsRequest generates a "aws/request.Request" representing the 4890// client's request for the DescribeEvents operation. The "output" return 4891// value will be populated with the request's response once the request completes 4892// successfully. 4893// 4894// Use "Send" method on the returned Request to send the API call to the service. 4895// the "output" return value is not valid until after Send returns without error. 4896// 4897// See DescribeEvents for more information on using the DescribeEvents 4898// API call, and error handling. 4899// 4900// This method is useful when you want to inject custom logic or configuration 4901// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4902// 4903// 4904// // Example sending a request using the DescribeEventsRequest method. 4905// req, resp := client.DescribeEventsRequest(params) 4906// 4907// err := req.Send() 4908// if err == nil { // resp is now filled 4909// fmt.Println(resp) 4910// } 4911// 4912// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEvents 4913func (c *Redshift) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 4914 op := &request.Operation{ 4915 Name: opDescribeEvents, 4916 HTTPMethod: "POST", 4917 HTTPPath: "/", 4918 Paginator: &request.Paginator{ 4919 InputTokens: []string{"Marker"}, 4920 OutputTokens: []string{"Marker"}, 4921 LimitToken: "MaxRecords", 4922 TruncationToken: "", 4923 }, 4924 } 4925 4926 if input == nil { 4927 input = &DescribeEventsInput{} 4928 } 4929 4930 output = &DescribeEventsOutput{} 4931 req = c.newRequest(op, input, output) 4932 return 4933} 4934 4935// DescribeEvents API operation for Amazon Redshift. 4936// 4937// Returns events related to clusters, security groups, snapshots, and parameter 4938// groups for the past 14 days. Events specific to a particular cluster, security 4939// group, snapshot or parameter group can be obtained by providing the name 4940// as a parameter. By default, the past hour of events are returned. 4941// 4942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4943// with awserr.Error's Code and Message methods to get detailed information about 4944// the error. 4945// 4946// See the AWS API reference guide for Amazon Redshift's 4947// API operation DescribeEvents for usage and error information. 4948// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeEvents 4949func (c *Redshift) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 4950 req, out := c.DescribeEventsRequest(input) 4951 return out, req.Send() 4952} 4953 4954// DescribeEventsWithContext is the same as DescribeEvents with the addition of 4955// the ability to pass a context and additional request options. 4956// 4957// See DescribeEvents for details on how to use this API operation. 4958// 4959// The context must be non-nil and will be used for request cancellation. If 4960// the context is nil a panic will occur. In the future the SDK may create 4961// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4962// for more information on using Contexts. 4963func (c *Redshift) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 4964 req, out := c.DescribeEventsRequest(input) 4965 req.SetContext(ctx) 4966 req.ApplyOptions(opts...) 4967 return out, req.Send() 4968} 4969 4970// DescribeEventsPages iterates over the pages of a DescribeEvents operation, 4971// calling the "fn" function with the response data for each page. To stop 4972// iterating, return false from the fn function. 4973// 4974// See DescribeEvents method for more information on how to use this operation. 4975// 4976// Note: This operation can generate multiple requests to a service. 4977// 4978// // Example iterating over at most 3 pages of a DescribeEvents operation. 4979// pageNum := 0 4980// err := client.DescribeEventsPages(params, 4981// func(page *redshift.DescribeEventsOutput, lastPage bool) bool { 4982// pageNum++ 4983// fmt.Println(page) 4984// return pageNum <= 3 4985// }) 4986// 4987func (c *Redshift) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 4988 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 4989} 4990 4991// DescribeEventsPagesWithContext same as DescribeEventsPages except 4992// it takes a Context and allows setting request options on the pages. 4993// 4994// The context must be non-nil and will be used for request cancellation. If 4995// the context is nil a panic will occur. In the future the SDK may create 4996// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4997// for more information on using Contexts. 4998func (c *Redshift) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 4999 p := request.Pagination{ 5000 NewRequest: func() (*request.Request, error) { 5001 var inCpy *DescribeEventsInput 5002 if input != nil { 5003 tmp := *input 5004 inCpy = &tmp 5005 } 5006 req, _ := c.DescribeEventsRequest(inCpy) 5007 req.SetContext(ctx) 5008 req.ApplyOptions(opts...) 5009 return req, nil 5010 }, 5011 } 5012 5013 for p.Next() { 5014 if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { 5015 break 5016 } 5017 } 5018 5019 return p.Err() 5020} 5021 5022const opDescribeHsmClientCertificates = "DescribeHsmClientCertificates" 5023 5024// DescribeHsmClientCertificatesRequest generates a "aws/request.Request" representing the 5025// client's request for the DescribeHsmClientCertificates operation. The "output" return 5026// value will be populated with the request's response once the request completes 5027// successfully. 5028// 5029// Use "Send" method on the returned Request to send the API call to the service. 5030// the "output" return value is not valid until after Send returns without error. 5031// 5032// See DescribeHsmClientCertificates for more information on using the DescribeHsmClientCertificates 5033// API call, and error handling. 5034// 5035// This method is useful when you want to inject custom logic or configuration 5036// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5037// 5038// 5039// // Example sending a request using the DescribeHsmClientCertificatesRequest method. 5040// req, resp := client.DescribeHsmClientCertificatesRequest(params) 5041// 5042// err := req.Send() 5043// if err == nil { // resp is now filled 5044// fmt.Println(resp) 5045// } 5046// 5047// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmClientCertificates 5048func (c *Redshift) DescribeHsmClientCertificatesRequest(input *DescribeHsmClientCertificatesInput) (req *request.Request, output *DescribeHsmClientCertificatesOutput) { 5049 op := &request.Operation{ 5050 Name: opDescribeHsmClientCertificates, 5051 HTTPMethod: "POST", 5052 HTTPPath: "/", 5053 Paginator: &request.Paginator{ 5054 InputTokens: []string{"Marker"}, 5055 OutputTokens: []string{"Marker"}, 5056 LimitToken: "MaxRecords", 5057 TruncationToken: "", 5058 }, 5059 } 5060 5061 if input == nil { 5062 input = &DescribeHsmClientCertificatesInput{} 5063 } 5064 5065 output = &DescribeHsmClientCertificatesOutput{} 5066 req = c.newRequest(op, input, output) 5067 return 5068} 5069 5070// DescribeHsmClientCertificates API operation for Amazon Redshift. 5071// 5072// Returns information about the specified HSM client certificate. If no certificate 5073// ID is specified, returns information about all the HSM certificates owned 5074// by your AWS customer account. 5075// 5076// If you specify both tag keys and tag values in the same request, Amazon Redshift 5077// returns all HSM client certificates that match any combination of the specified 5078// keys and values. For example, if you have owner and environment for tag keys, 5079// and admin and test for tag values, all HSM client certificates that have 5080// any combination of those values are returned. 5081// 5082// If both tag keys and values are omitted from the request, HSM client certificates 5083// are returned regardless of whether they have tag keys or values associated 5084// with them. 5085// 5086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5087// with awserr.Error's Code and Message methods to get detailed information about 5088// the error. 5089// 5090// See the AWS API reference guide for Amazon Redshift's 5091// API operation DescribeHsmClientCertificates for usage and error information. 5092// 5093// Returned Error Codes: 5094// * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault" 5095// There is no Amazon Redshift HSM client certificate with the specified identifier. 5096// 5097// * ErrCodeInvalidTagFault "InvalidTagFault" 5098// The tag is invalid. 5099// 5100// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmClientCertificates 5101func (c *Redshift) DescribeHsmClientCertificates(input *DescribeHsmClientCertificatesInput) (*DescribeHsmClientCertificatesOutput, error) { 5102 req, out := c.DescribeHsmClientCertificatesRequest(input) 5103 return out, req.Send() 5104} 5105 5106// DescribeHsmClientCertificatesWithContext is the same as DescribeHsmClientCertificates with the addition of 5107// the ability to pass a context and additional request options. 5108// 5109// See DescribeHsmClientCertificates for details on how to use this API operation. 5110// 5111// The context must be non-nil and will be used for request cancellation. If 5112// the context is nil a panic will occur. In the future the SDK may create 5113// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5114// for more information on using Contexts. 5115func (c *Redshift) DescribeHsmClientCertificatesWithContext(ctx aws.Context, input *DescribeHsmClientCertificatesInput, opts ...request.Option) (*DescribeHsmClientCertificatesOutput, error) { 5116 req, out := c.DescribeHsmClientCertificatesRequest(input) 5117 req.SetContext(ctx) 5118 req.ApplyOptions(opts...) 5119 return out, req.Send() 5120} 5121 5122// DescribeHsmClientCertificatesPages iterates over the pages of a DescribeHsmClientCertificates operation, 5123// calling the "fn" function with the response data for each page. To stop 5124// iterating, return false from the fn function. 5125// 5126// See DescribeHsmClientCertificates method for more information on how to use this operation. 5127// 5128// Note: This operation can generate multiple requests to a service. 5129// 5130// // Example iterating over at most 3 pages of a DescribeHsmClientCertificates operation. 5131// pageNum := 0 5132// err := client.DescribeHsmClientCertificatesPages(params, 5133// func(page *redshift.DescribeHsmClientCertificatesOutput, lastPage bool) bool { 5134// pageNum++ 5135// fmt.Println(page) 5136// return pageNum <= 3 5137// }) 5138// 5139func (c *Redshift) DescribeHsmClientCertificatesPages(input *DescribeHsmClientCertificatesInput, fn func(*DescribeHsmClientCertificatesOutput, bool) bool) error { 5140 return c.DescribeHsmClientCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) 5141} 5142 5143// DescribeHsmClientCertificatesPagesWithContext same as DescribeHsmClientCertificatesPages except 5144// it takes a Context and allows setting request options on the pages. 5145// 5146// The context must be non-nil and will be used for request cancellation. If 5147// the context is nil a panic will occur. In the future the SDK may create 5148// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5149// for more information on using Contexts. 5150func (c *Redshift) DescribeHsmClientCertificatesPagesWithContext(ctx aws.Context, input *DescribeHsmClientCertificatesInput, fn func(*DescribeHsmClientCertificatesOutput, bool) bool, opts ...request.Option) error { 5151 p := request.Pagination{ 5152 NewRequest: func() (*request.Request, error) { 5153 var inCpy *DescribeHsmClientCertificatesInput 5154 if input != nil { 5155 tmp := *input 5156 inCpy = &tmp 5157 } 5158 req, _ := c.DescribeHsmClientCertificatesRequest(inCpy) 5159 req.SetContext(ctx) 5160 req.ApplyOptions(opts...) 5161 return req, nil 5162 }, 5163 } 5164 5165 for p.Next() { 5166 if !fn(p.Page().(*DescribeHsmClientCertificatesOutput), !p.HasNextPage()) { 5167 break 5168 } 5169 } 5170 5171 return p.Err() 5172} 5173 5174const opDescribeHsmConfigurations = "DescribeHsmConfigurations" 5175 5176// DescribeHsmConfigurationsRequest generates a "aws/request.Request" representing the 5177// client's request for the DescribeHsmConfigurations operation. The "output" return 5178// value will be populated with the request's response once the request completes 5179// successfully. 5180// 5181// Use "Send" method on the returned Request to send the API call to the service. 5182// the "output" return value is not valid until after Send returns without error. 5183// 5184// See DescribeHsmConfigurations for more information on using the DescribeHsmConfigurations 5185// API call, and error handling. 5186// 5187// This method is useful when you want to inject custom logic or configuration 5188// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5189// 5190// 5191// // Example sending a request using the DescribeHsmConfigurationsRequest method. 5192// req, resp := client.DescribeHsmConfigurationsRequest(params) 5193// 5194// err := req.Send() 5195// if err == nil { // resp is now filled 5196// fmt.Println(resp) 5197// } 5198// 5199// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmConfigurations 5200func (c *Redshift) DescribeHsmConfigurationsRequest(input *DescribeHsmConfigurationsInput) (req *request.Request, output *DescribeHsmConfigurationsOutput) { 5201 op := &request.Operation{ 5202 Name: opDescribeHsmConfigurations, 5203 HTTPMethod: "POST", 5204 HTTPPath: "/", 5205 Paginator: &request.Paginator{ 5206 InputTokens: []string{"Marker"}, 5207 OutputTokens: []string{"Marker"}, 5208 LimitToken: "MaxRecords", 5209 TruncationToken: "", 5210 }, 5211 } 5212 5213 if input == nil { 5214 input = &DescribeHsmConfigurationsInput{} 5215 } 5216 5217 output = &DescribeHsmConfigurationsOutput{} 5218 req = c.newRequest(op, input, output) 5219 return 5220} 5221 5222// DescribeHsmConfigurations API operation for Amazon Redshift. 5223// 5224// Returns information about the specified Amazon Redshift HSM configuration. 5225// If no configuration ID is specified, returns information about all the HSM 5226// configurations owned by your AWS customer account. 5227// 5228// If you specify both tag keys and tag values in the same request, Amazon Redshift 5229// returns all HSM connections that match any combination of the specified keys 5230// and values. For example, if you have owner and environment for tag keys, 5231// and admin and test for tag values, all HSM connections that have any combination 5232// of those values are returned. 5233// 5234// If both tag keys and values are omitted from the request, HSM connections 5235// are returned regardless of whether they have tag keys or values associated 5236// with them. 5237// 5238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5239// with awserr.Error's Code and Message methods to get detailed information about 5240// the error. 5241// 5242// See the AWS API reference guide for Amazon Redshift's 5243// API operation DescribeHsmConfigurations for usage and error information. 5244// 5245// Returned Error Codes: 5246// * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault" 5247// There is no Amazon Redshift HSM configuration with the specified identifier. 5248// 5249// * ErrCodeInvalidTagFault "InvalidTagFault" 5250// The tag is invalid. 5251// 5252// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeHsmConfigurations 5253func (c *Redshift) DescribeHsmConfigurations(input *DescribeHsmConfigurationsInput) (*DescribeHsmConfigurationsOutput, error) { 5254 req, out := c.DescribeHsmConfigurationsRequest(input) 5255 return out, req.Send() 5256} 5257 5258// DescribeHsmConfigurationsWithContext is the same as DescribeHsmConfigurations with the addition of 5259// the ability to pass a context and additional request options. 5260// 5261// See DescribeHsmConfigurations for details on how to use this API operation. 5262// 5263// The context must be non-nil and will be used for request cancellation. If 5264// the context is nil a panic will occur. In the future the SDK may create 5265// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5266// for more information on using Contexts. 5267func (c *Redshift) DescribeHsmConfigurationsWithContext(ctx aws.Context, input *DescribeHsmConfigurationsInput, opts ...request.Option) (*DescribeHsmConfigurationsOutput, error) { 5268 req, out := c.DescribeHsmConfigurationsRequest(input) 5269 req.SetContext(ctx) 5270 req.ApplyOptions(opts...) 5271 return out, req.Send() 5272} 5273 5274// DescribeHsmConfigurationsPages iterates over the pages of a DescribeHsmConfigurations operation, 5275// calling the "fn" function with the response data for each page. To stop 5276// iterating, return false from the fn function. 5277// 5278// See DescribeHsmConfigurations method for more information on how to use this operation. 5279// 5280// Note: This operation can generate multiple requests to a service. 5281// 5282// // Example iterating over at most 3 pages of a DescribeHsmConfigurations operation. 5283// pageNum := 0 5284// err := client.DescribeHsmConfigurationsPages(params, 5285// func(page *redshift.DescribeHsmConfigurationsOutput, lastPage bool) bool { 5286// pageNum++ 5287// fmt.Println(page) 5288// return pageNum <= 3 5289// }) 5290// 5291func (c *Redshift) DescribeHsmConfigurationsPages(input *DescribeHsmConfigurationsInput, fn func(*DescribeHsmConfigurationsOutput, bool) bool) error { 5292 return c.DescribeHsmConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) 5293} 5294 5295// DescribeHsmConfigurationsPagesWithContext same as DescribeHsmConfigurationsPages except 5296// it takes a Context and allows setting request options on the pages. 5297// 5298// The context must be non-nil and will be used for request cancellation. If 5299// the context is nil a panic will occur. In the future the SDK may create 5300// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5301// for more information on using Contexts. 5302func (c *Redshift) DescribeHsmConfigurationsPagesWithContext(ctx aws.Context, input *DescribeHsmConfigurationsInput, fn func(*DescribeHsmConfigurationsOutput, bool) bool, opts ...request.Option) error { 5303 p := request.Pagination{ 5304 NewRequest: func() (*request.Request, error) { 5305 var inCpy *DescribeHsmConfigurationsInput 5306 if input != nil { 5307 tmp := *input 5308 inCpy = &tmp 5309 } 5310 req, _ := c.DescribeHsmConfigurationsRequest(inCpy) 5311 req.SetContext(ctx) 5312 req.ApplyOptions(opts...) 5313 return req, nil 5314 }, 5315 } 5316 5317 for p.Next() { 5318 if !fn(p.Page().(*DescribeHsmConfigurationsOutput), !p.HasNextPage()) { 5319 break 5320 } 5321 } 5322 5323 return p.Err() 5324} 5325 5326const opDescribeLoggingStatus = "DescribeLoggingStatus" 5327 5328// DescribeLoggingStatusRequest generates a "aws/request.Request" representing the 5329// client's request for the DescribeLoggingStatus operation. The "output" return 5330// value will be populated with the request's response once the request completes 5331// successfully. 5332// 5333// Use "Send" method on the returned Request to send the API call to the service. 5334// the "output" return value is not valid until after Send returns without error. 5335// 5336// See DescribeLoggingStatus for more information on using the DescribeLoggingStatus 5337// API call, and error handling. 5338// 5339// This method is useful when you want to inject custom logic or configuration 5340// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5341// 5342// 5343// // Example sending a request using the DescribeLoggingStatusRequest method. 5344// req, resp := client.DescribeLoggingStatusRequest(params) 5345// 5346// err := req.Send() 5347// if err == nil { // resp is now filled 5348// fmt.Println(resp) 5349// } 5350// 5351// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeLoggingStatus 5352func (c *Redshift) DescribeLoggingStatusRequest(input *DescribeLoggingStatusInput) (req *request.Request, output *LoggingStatus) { 5353 op := &request.Operation{ 5354 Name: opDescribeLoggingStatus, 5355 HTTPMethod: "POST", 5356 HTTPPath: "/", 5357 } 5358 5359 if input == nil { 5360 input = &DescribeLoggingStatusInput{} 5361 } 5362 5363 output = &LoggingStatus{} 5364 req = c.newRequest(op, input, output) 5365 return 5366} 5367 5368// DescribeLoggingStatus API operation for Amazon Redshift. 5369// 5370// Describes whether information, such as queries and connection attempts, is 5371// being logged for the specified Amazon Redshift cluster. 5372// 5373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5374// with awserr.Error's Code and Message methods to get detailed information about 5375// the error. 5376// 5377// See the AWS API reference guide for Amazon Redshift's 5378// API operation DescribeLoggingStatus for usage and error information. 5379// 5380// Returned Error Codes: 5381// * ErrCodeClusterNotFoundFault "ClusterNotFound" 5382// The ClusterIdentifier parameter does not refer to an existing cluster. 5383// 5384// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeLoggingStatus 5385func (c *Redshift) DescribeLoggingStatus(input *DescribeLoggingStatusInput) (*LoggingStatus, error) { 5386 req, out := c.DescribeLoggingStatusRequest(input) 5387 return out, req.Send() 5388} 5389 5390// DescribeLoggingStatusWithContext is the same as DescribeLoggingStatus with the addition of 5391// the ability to pass a context and additional request options. 5392// 5393// See DescribeLoggingStatus for details on how to use this API operation. 5394// 5395// The context must be non-nil and will be used for request cancellation. If 5396// the context is nil a panic will occur. In the future the SDK may create 5397// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5398// for more information on using Contexts. 5399func (c *Redshift) DescribeLoggingStatusWithContext(ctx aws.Context, input *DescribeLoggingStatusInput, opts ...request.Option) (*LoggingStatus, error) { 5400 req, out := c.DescribeLoggingStatusRequest(input) 5401 req.SetContext(ctx) 5402 req.ApplyOptions(opts...) 5403 return out, req.Send() 5404} 5405 5406const opDescribeNodeConfigurationOptions = "DescribeNodeConfigurationOptions" 5407 5408// DescribeNodeConfigurationOptionsRequest generates a "aws/request.Request" representing the 5409// client's request for the DescribeNodeConfigurationOptions operation. The "output" return 5410// value will be populated with the request's response once the request completes 5411// successfully. 5412// 5413// Use "Send" method on the returned Request to send the API call to the service. 5414// the "output" return value is not valid until after Send returns without error. 5415// 5416// See DescribeNodeConfigurationOptions for more information on using the DescribeNodeConfigurationOptions 5417// API call, and error handling. 5418// 5419// This method is useful when you want to inject custom logic or configuration 5420// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5421// 5422// 5423// // Example sending a request using the DescribeNodeConfigurationOptionsRequest method. 5424// req, resp := client.DescribeNodeConfigurationOptionsRequest(params) 5425// 5426// err := req.Send() 5427// if err == nil { // resp is now filled 5428// fmt.Println(resp) 5429// } 5430// 5431// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeNodeConfigurationOptions 5432func (c *Redshift) DescribeNodeConfigurationOptionsRequest(input *DescribeNodeConfigurationOptionsInput) (req *request.Request, output *DescribeNodeConfigurationOptionsOutput) { 5433 op := &request.Operation{ 5434 Name: opDescribeNodeConfigurationOptions, 5435 HTTPMethod: "POST", 5436 HTTPPath: "/", 5437 Paginator: &request.Paginator{ 5438 InputTokens: []string{"Marker"}, 5439 OutputTokens: []string{"Marker"}, 5440 LimitToken: "MaxRecords", 5441 TruncationToken: "", 5442 }, 5443 } 5444 5445 if input == nil { 5446 input = &DescribeNodeConfigurationOptionsInput{} 5447 } 5448 5449 output = &DescribeNodeConfigurationOptionsOutput{} 5450 req = c.newRequest(op, input, output) 5451 return 5452} 5453 5454// DescribeNodeConfigurationOptions API operation for Amazon Redshift. 5455// 5456// Returns properties of possible node configurations such as node type, number 5457// of nodes, and disk usage for the specified action type. 5458// 5459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5460// with awserr.Error's Code and Message methods to get detailed information about 5461// the error. 5462// 5463// See the AWS API reference guide for Amazon Redshift's 5464// API operation DescribeNodeConfigurationOptions for usage and error information. 5465// 5466// Returned Error Codes: 5467// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 5468// The snapshot identifier does not refer to an existing cluster snapshot. 5469// 5470// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 5471// The specified cluster snapshot is not in the available state, or other accounts 5472// are authorized to access the snapshot. 5473// 5474// * ErrCodeClusterNotFoundFault "ClusterNotFound" 5475// The ClusterIdentifier parameter does not refer to an existing cluster. 5476// 5477// * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied" 5478// The owner of the specified snapshot has not authorized your account to access 5479// the snapshot. 5480// 5481// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeNodeConfigurationOptions 5482func (c *Redshift) DescribeNodeConfigurationOptions(input *DescribeNodeConfigurationOptionsInput) (*DescribeNodeConfigurationOptionsOutput, error) { 5483 req, out := c.DescribeNodeConfigurationOptionsRequest(input) 5484 return out, req.Send() 5485} 5486 5487// DescribeNodeConfigurationOptionsWithContext is the same as DescribeNodeConfigurationOptions with the addition of 5488// the ability to pass a context and additional request options. 5489// 5490// See DescribeNodeConfigurationOptions for details on how to use this API operation. 5491// 5492// The context must be non-nil and will be used for request cancellation. If 5493// the context is nil a panic will occur. In the future the SDK may create 5494// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5495// for more information on using Contexts. 5496func (c *Redshift) DescribeNodeConfigurationOptionsWithContext(ctx aws.Context, input *DescribeNodeConfigurationOptionsInput, opts ...request.Option) (*DescribeNodeConfigurationOptionsOutput, error) { 5497 req, out := c.DescribeNodeConfigurationOptionsRequest(input) 5498 req.SetContext(ctx) 5499 req.ApplyOptions(opts...) 5500 return out, req.Send() 5501} 5502 5503// DescribeNodeConfigurationOptionsPages iterates over the pages of a DescribeNodeConfigurationOptions operation, 5504// calling the "fn" function with the response data for each page. To stop 5505// iterating, return false from the fn function. 5506// 5507// See DescribeNodeConfigurationOptions method for more information on how to use this operation. 5508// 5509// Note: This operation can generate multiple requests to a service. 5510// 5511// // Example iterating over at most 3 pages of a DescribeNodeConfigurationOptions operation. 5512// pageNum := 0 5513// err := client.DescribeNodeConfigurationOptionsPages(params, 5514// func(page *redshift.DescribeNodeConfigurationOptionsOutput, lastPage bool) bool { 5515// pageNum++ 5516// fmt.Println(page) 5517// return pageNum <= 3 5518// }) 5519// 5520func (c *Redshift) DescribeNodeConfigurationOptionsPages(input *DescribeNodeConfigurationOptionsInput, fn func(*DescribeNodeConfigurationOptionsOutput, bool) bool) error { 5521 return c.DescribeNodeConfigurationOptionsPagesWithContext(aws.BackgroundContext(), input, fn) 5522} 5523 5524// DescribeNodeConfigurationOptionsPagesWithContext same as DescribeNodeConfigurationOptionsPages except 5525// it takes a Context and allows setting request options on the pages. 5526// 5527// The context must be non-nil and will be used for request cancellation. If 5528// the context is nil a panic will occur. In the future the SDK may create 5529// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5530// for more information on using Contexts. 5531func (c *Redshift) DescribeNodeConfigurationOptionsPagesWithContext(ctx aws.Context, input *DescribeNodeConfigurationOptionsInput, fn func(*DescribeNodeConfigurationOptionsOutput, bool) bool, opts ...request.Option) error { 5532 p := request.Pagination{ 5533 NewRequest: func() (*request.Request, error) { 5534 var inCpy *DescribeNodeConfigurationOptionsInput 5535 if input != nil { 5536 tmp := *input 5537 inCpy = &tmp 5538 } 5539 req, _ := c.DescribeNodeConfigurationOptionsRequest(inCpy) 5540 req.SetContext(ctx) 5541 req.ApplyOptions(opts...) 5542 return req, nil 5543 }, 5544 } 5545 5546 for p.Next() { 5547 if !fn(p.Page().(*DescribeNodeConfigurationOptionsOutput), !p.HasNextPage()) { 5548 break 5549 } 5550 } 5551 5552 return p.Err() 5553} 5554 5555const opDescribeOrderableClusterOptions = "DescribeOrderableClusterOptions" 5556 5557// DescribeOrderableClusterOptionsRequest generates a "aws/request.Request" representing the 5558// client's request for the DescribeOrderableClusterOptions operation. The "output" return 5559// value will be populated with the request's response once the request completes 5560// successfully. 5561// 5562// Use "Send" method on the returned Request to send the API call to the service. 5563// the "output" return value is not valid until after Send returns without error. 5564// 5565// See DescribeOrderableClusterOptions for more information on using the DescribeOrderableClusterOptions 5566// API call, and error handling. 5567// 5568// This method is useful when you want to inject custom logic or configuration 5569// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5570// 5571// 5572// // Example sending a request using the DescribeOrderableClusterOptionsRequest method. 5573// req, resp := client.DescribeOrderableClusterOptionsRequest(params) 5574// 5575// err := req.Send() 5576// if err == nil { // resp is now filled 5577// fmt.Println(resp) 5578// } 5579// 5580// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeOrderableClusterOptions 5581func (c *Redshift) DescribeOrderableClusterOptionsRequest(input *DescribeOrderableClusterOptionsInput) (req *request.Request, output *DescribeOrderableClusterOptionsOutput) { 5582 op := &request.Operation{ 5583 Name: opDescribeOrderableClusterOptions, 5584 HTTPMethod: "POST", 5585 HTTPPath: "/", 5586 Paginator: &request.Paginator{ 5587 InputTokens: []string{"Marker"}, 5588 OutputTokens: []string{"Marker"}, 5589 LimitToken: "MaxRecords", 5590 TruncationToken: "", 5591 }, 5592 } 5593 5594 if input == nil { 5595 input = &DescribeOrderableClusterOptionsInput{} 5596 } 5597 5598 output = &DescribeOrderableClusterOptionsOutput{} 5599 req = c.newRequest(op, input, output) 5600 return 5601} 5602 5603// DescribeOrderableClusterOptions API operation for Amazon Redshift. 5604// 5605// Returns a list of orderable cluster options. Before you create a new cluster 5606// you can use this operation to find what options are available, such as the 5607// EC2 Availability Zones (AZ) in the specific AWS Region that you can specify, 5608// and the node types you can request. The node types differ by available storage, 5609// memory, CPU and price. With the cost involved you might want to obtain a 5610// list of cluster options in the specific region and specify values when creating 5611// a cluster. For more information about managing clusters, go to Amazon Redshift 5612// Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 5613// in the Amazon Redshift Cluster Management Guide. 5614// 5615// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5616// with awserr.Error's Code and Message methods to get detailed information about 5617// the error. 5618// 5619// See the AWS API reference guide for Amazon Redshift's 5620// API operation DescribeOrderableClusterOptions for usage and error information. 5621// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeOrderableClusterOptions 5622func (c *Redshift) DescribeOrderableClusterOptions(input *DescribeOrderableClusterOptionsInput) (*DescribeOrderableClusterOptionsOutput, error) { 5623 req, out := c.DescribeOrderableClusterOptionsRequest(input) 5624 return out, req.Send() 5625} 5626 5627// DescribeOrderableClusterOptionsWithContext is the same as DescribeOrderableClusterOptions with the addition of 5628// the ability to pass a context and additional request options. 5629// 5630// See DescribeOrderableClusterOptions for details on how to use this API operation. 5631// 5632// The context must be non-nil and will be used for request cancellation. If 5633// the context is nil a panic will occur. In the future the SDK may create 5634// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5635// for more information on using Contexts. 5636func (c *Redshift) DescribeOrderableClusterOptionsWithContext(ctx aws.Context, input *DescribeOrderableClusterOptionsInput, opts ...request.Option) (*DescribeOrderableClusterOptionsOutput, error) { 5637 req, out := c.DescribeOrderableClusterOptionsRequest(input) 5638 req.SetContext(ctx) 5639 req.ApplyOptions(opts...) 5640 return out, req.Send() 5641} 5642 5643// DescribeOrderableClusterOptionsPages iterates over the pages of a DescribeOrderableClusterOptions operation, 5644// calling the "fn" function with the response data for each page. To stop 5645// iterating, return false from the fn function. 5646// 5647// See DescribeOrderableClusterOptions method for more information on how to use this operation. 5648// 5649// Note: This operation can generate multiple requests to a service. 5650// 5651// // Example iterating over at most 3 pages of a DescribeOrderableClusterOptions operation. 5652// pageNum := 0 5653// err := client.DescribeOrderableClusterOptionsPages(params, 5654// func(page *redshift.DescribeOrderableClusterOptionsOutput, lastPage bool) bool { 5655// pageNum++ 5656// fmt.Println(page) 5657// return pageNum <= 3 5658// }) 5659// 5660func (c *Redshift) DescribeOrderableClusterOptionsPages(input *DescribeOrderableClusterOptionsInput, fn func(*DescribeOrderableClusterOptionsOutput, bool) bool) error { 5661 return c.DescribeOrderableClusterOptionsPagesWithContext(aws.BackgroundContext(), input, fn) 5662} 5663 5664// DescribeOrderableClusterOptionsPagesWithContext same as DescribeOrderableClusterOptionsPages except 5665// it takes a Context and allows setting request options on the pages. 5666// 5667// The context must be non-nil and will be used for request cancellation. If 5668// the context is nil a panic will occur. In the future the SDK may create 5669// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5670// for more information on using Contexts. 5671func (c *Redshift) DescribeOrderableClusterOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableClusterOptionsInput, fn func(*DescribeOrderableClusterOptionsOutput, bool) bool, opts ...request.Option) error { 5672 p := request.Pagination{ 5673 NewRequest: func() (*request.Request, error) { 5674 var inCpy *DescribeOrderableClusterOptionsInput 5675 if input != nil { 5676 tmp := *input 5677 inCpy = &tmp 5678 } 5679 req, _ := c.DescribeOrderableClusterOptionsRequest(inCpy) 5680 req.SetContext(ctx) 5681 req.ApplyOptions(opts...) 5682 return req, nil 5683 }, 5684 } 5685 5686 for p.Next() { 5687 if !fn(p.Page().(*DescribeOrderableClusterOptionsOutput), !p.HasNextPage()) { 5688 break 5689 } 5690 } 5691 5692 return p.Err() 5693} 5694 5695const opDescribeReservedNodeOfferings = "DescribeReservedNodeOfferings" 5696 5697// DescribeReservedNodeOfferingsRequest generates a "aws/request.Request" representing the 5698// client's request for the DescribeReservedNodeOfferings operation. The "output" return 5699// value will be populated with the request's response once the request completes 5700// successfully. 5701// 5702// Use "Send" method on the returned Request to send the API call to the service. 5703// the "output" return value is not valid until after Send returns without error. 5704// 5705// See DescribeReservedNodeOfferings for more information on using the DescribeReservedNodeOfferings 5706// API call, and error handling. 5707// 5708// This method is useful when you want to inject custom logic or configuration 5709// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5710// 5711// 5712// // Example sending a request using the DescribeReservedNodeOfferingsRequest method. 5713// req, resp := client.DescribeReservedNodeOfferingsRequest(params) 5714// 5715// err := req.Send() 5716// if err == nil { // resp is now filled 5717// fmt.Println(resp) 5718// } 5719// 5720// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodeOfferings 5721func (c *Redshift) DescribeReservedNodeOfferingsRequest(input *DescribeReservedNodeOfferingsInput) (req *request.Request, output *DescribeReservedNodeOfferingsOutput) { 5722 op := &request.Operation{ 5723 Name: opDescribeReservedNodeOfferings, 5724 HTTPMethod: "POST", 5725 HTTPPath: "/", 5726 Paginator: &request.Paginator{ 5727 InputTokens: []string{"Marker"}, 5728 OutputTokens: []string{"Marker"}, 5729 LimitToken: "MaxRecords", 5730 TruncationToken: "", 5731 }, 5732 } 5733 5734 if input == nil { 5735 input = &DescribeReservedNodeOfferingsInput{} 5736 } 5737 5738 output = &DescribeReservedNodeOfferingsOutput{} 5739 req = c.newRequest(op, input, output) 5740 return 5741} 5742 5743// DescribeReservedNodeOfferings API operation for Amazon Redshift. 5744// 5745// Returns a list of the available reserved node offerings by Amazon Redshift 5746// with their descriptions including the node type, the fixed and recurring 5747// costs of reserving the node and duration the node will be reserved for you. 5748// These descriptions help you determine which reserve node offering you want 5749// to purchase. You then use the unique offering ID in you call to PurchaseReservedNodeOffering 5750// to reserve one or more nodes for your Amazon Redshift cluster. 5751// 5752// For more information about reserved node offerings, go to Purchasing Reserved 5753// Nodes (https://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html) 5754// in the Amazon Redshift Cluster Management Guide. 5755// 5756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5757// with awserr.Error's Code and Message methods to get detailed information about 5758// the error. 5759// 5760// See the AWS API reference guide for Amazon Redshift's 5761// API operation DescribeReservedNodeOfferings for usage and error information. 5762// 5763// Returned Error Codes: 5764// * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound" 5765// Specified offering does not exist. 5766// 5767// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 5768// The requested operation isn't supported. 5769// 5770// * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" 5771// Your request cannot be completed because a dependent internal service is 5772// temporarily unavailable. Wait 30 to 60 seconds and try again. 5773// 5774// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodeOfferings 5775func (c *Redshift) DescribeReservedNodeOfferings(input *DescribeReservedNodeOfferingsInput) (*DescribeReservedNodeOfferingsOutput, error) { 5776 req, out := c.DescribeReservedNodeOfferingsRequest(input) 5777 return out, req.Send() 5778} 5779 5780// DescribeReservedNodeOfferingsWithContext is the same as DescribeReservedNodeOfferings with the addition of 5781// the ability to pass a context and additional request options. 5782// 5783// See DescribeReservedNodeOfferings for details on how to use this API operation. 5784// 5785// The context must be non-nil and will be used for request cancellation. If 5786// the context is nil a panic will occur. In the future the SDK may create 5787// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5788// for more information on using Contexts. 5789func (c *Redshift) DescribeReservedNodeOfferingsWithContext(ctx aws.Context, input *DescribeReservedNodeOfferingsInput, opts ...request.Option) (*DescribeReservedNodeOfferingsOutput, error) { 5790 req, out := c.DescribeReservedNodeOfferingsRequest(input) 5791 req.SetContext(ctx) 5792 req.ApplyOptions(opts...) 5793 return out, req.Send() 5794} 5795 5796// DescribeReservedNodeOfferingsPages iterates over the pages of a DescribeReservedNodeOfferings operation, 5797// calling the "fn" function with the response data for each page. To stop 5798// iterating, return false from the fn function. 5799// 5800// See DescribeReservedNodeOfferings method for more information on how to use this operation. 5801// 5802// Note: This operation can generate multiple requests to a service. 5803// 5804// // Example iterating over at most 3 pages of a DescribeReservedNodeOfferings operation. 5805// pageNum := 0 5806// err := client.DescribeReservedNodeOfferingsPages(params, 5807// func(page *redshift.DescribeReservedNodeOfferingsOutput, lastPage bool) bool { 5808// pageNum++ 5809// fmt.Println(page) 5810// return pageNum <= 3 5811// }) 5812// 5813func (c *Redshift) DescribeReservedNodeOfferingsPages(input *DescribeReservedNodeOfferingsInput, fn func(*DescribeReservedNodeOfferingsOutput, bool) bool) error { 5814 return c.DescribeReservedNodeOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 5815} 5816 5817// DescribeReservedNodeOfferingsPagesWithContext same as DescribeReservedNodeOfferingsPages except 5818// it takes a Context and allows setting request options on the pages. 5819// 5820// The context must be non-nil and will be used for request cancellation. If 5821// the context is nil a panic will occur. In the future the SDK may create 5822// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5823// for more information on using Contexts. 5824func (c *Redshift) DescribeReservedNodeOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedNodeOfferingsInput, fn func(*DescribeReservedNodeOfferingsOutput, bool) bool, opts ...request.Option) error { 5825 p := request.Pagination{ 5826 NewRequest: func() (*request.Request, error) { 5827 var inCpy *DescribeReservedNodeOfferingsInput 5828 if input != nil { 5829 tmp := *input 5830 inCpy = &tmp 5831 } 5832 req, _ := c.DescribeReservedNodeOfferingsRequest(inCpy) 5833 req.SetContext(ctx) 5834 req.ApplyOptions(opts...) 5835 return req, nil 5836 }, 5837 } 5838 5839 for p.Next() { 5840 if !fn(p.Page().(*DescribeReservedNodeOfferingsOutput), !p.HasNextPage()) { 5841 break 5842 } 5843 } 5844 5845 return p.Err() 5846} 5847 5848const opDescribeReservedNodes = "DescribeReservedNodes" 5849 5850// DescribeReservedNodesRequest generates a "aws/request.Request" representing the 5851// client's request for the DescribeReservedNodes operation. The "output" return 5852// value will be populated with the request's response once the request completes 5853// successfully. 5854// 5855// Use "Send" method on the returned Request to send the API call to the service. 5856// the "output" return value is not valid until after Send returns without error. 5857// 5858// See DescribeReservedNodes for more information on using the DescribeReservedNodes 5859// API call, and error handling. 5860// 5861// This method is useful when you want to inject custom logic or configuration 5862// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5863// 5864// 5865// // Example sending a request using the DescribeReservedNodesRequest method. 5866// req, resp := client.DescribeReservedNodesRequest(params) 5867// 5868// err := req.Send() 5869// if err == nil { // resp is now filled 5870// fmt.Println(resp) 5871// } 5872// 5873// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodes 5874func (c *Redshift) DescribeReservedNodesRequest(input *DescribeReservedNodesInput) (req *request.Request, output *DescribeReservedNodesOutput) { 5875 op := &request.Operation{ 5876 Name: opDescribeReservedNodes, 5877 HTTPMethod: "POST", 5878 HTTPPath: "/", 5879 Paginator: &request.Paginator{ 5880 InputTokens: []string{"Marker"}, 5881 OutputTokens: []string{"Marker"}, 5882 LimitToken: "MaxRecords", 5883 TruncationToken: "", 5884 }, 5885 } 5886 5887 if input == nil { 5888 input = &DescribeReservedNodesInput{} 5889 } 5890 5891 output = &DescribeReservedNodesOutput{} 5892 req = c.newRequest(op, input, output) 5893 return 5894} 5895 5896// DescribeReservedNodes API operation for Amazon Redshift. 5897// 5898// Returns the descriptions of the reserved nodes. 5899// 5900// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5901// with awserr.Error's Code and Message methods to get detailed information about 5902// the error. 5903// 5904// See the AWS API reference guide for Amazon Redshift's 5905// API operation DescribeReservedNodes for usage and error information. 5906// 5907// Returned Error Codes: 5908// * ErrCodeReservedNodeNotFoundFault "ReservedNodeNotFound" 5909// The specified reserved compute node not found. 5910// 5911// * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" 5912// Your request cannot be completed because a dependent internal service is 5913// temporarily unavailable. Wait 30 to 60 seconds and try again. 5914// 5915// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeReservedNodes 5916func (c *Redshift) DescribeReservedNodes(input *DescribeReservedNodesInput) (*DescribeReservedNodesOutput, error) { 5917 req, out := c.DescribeReservedNodesRequest(input) 5918 return out, req.Send() 5919} 5920 5921// DescribeReservedNodesWithContext is the same as DescribeReservedNodes with the addition of 5922// the ability to pass a context and additional request options. 5923// 5924// See DescribeReservedNodes for details on how to use this API operation. 5925// 5926// The context must be non-nil and will be used for request cancellation. If 5927// the context is nil a panic will occur. In the future the SDK may create 5928// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5929// for more information on using Contexts. 5930func (c *Redshift) DescribeReservedNodesWithContext(ctx aws.Context, input *DescribeReservedNodesInput, opts ...request.Option) (*DescribeReservedNodesOutput, error) { 5931 req, out := c.DescribeReservedNodesRequest(input) 5932 req.SetContext(ctx) 5933 req.ApplyOptions(opts...) 5934 return out, req.Send() 5935} 5936 5937// DescribeReservedNodesPages iterates over the pages of a DescribeReservedNodes operation, 5938// calling the "fn" function with the response data for each page. To stop 5939// iterating, return false from the fn function. 5940// 5941// See DescribeReservedNodes method for more information on how to use this operation. 5942// 5943// Note: This operation can generate multiple requests to a service. 5944// 5945// // Example iterating over at most 3 pages of a DescribeReservedNodes operation. 5946// pageNum := 0 5947// err := client.DescribeReservedNodesPages(params, 5948// func(page *redshift.DescribeReservedNodesOutput, lastPage bool) bool { 5949// pageNum++ 5950// fmt.Println(page) 5951// return pageNum <= 3 5952// }) 5953// 5954func (c *Redshift) DescribeReservedNodesPages(input *DescribeReservedNodesInput, fn func(*DescribeReservedNodesOutput, bool) bool) error { 5955 return c.DescribeReservedNodesPagesWithContext(aws.BackgroundContext(), input, fn) 5956} 5957 5958// DescribeReservedNodesPagesWithContext same as DescribeReservedNodesPages except 5959// it takes a Context and allows setting request options on the pages. 5960// 5961// The context must be non-nil and will be used for request cancellation. If 5962// the context is nil a panic will occur. In the future the SDK may create 5963// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5964// for more information on using Contexts. 5965func (c *Redshift) DescribeReservedNodesPagesWithContext(ctx aws.Context, input *DescribeReservedNodesInput, fn func(*DescribeReservedNodesOutput, bool) bool, opts ...request.Option) error { 5966 p := request.Pagination{ 5967 NewRequest: func() (*request.Request, error) { 5968 var inCpy *DescribeReservedNodesInput 5969 if input != nil { 5970 tmp := *input 5971 inCpy = &tmp 5972 } 5973 req, _ := c.DescribeReservedNodesRequest(inCpy) 5974 req.SetContext(ctx) 5975 req.ApplyOptions(opts...) 5976 return req, nil 5977 }, 5978 } 5979 5980 for p.Next() { 5981 if !fn(p.Page().(*DescribeReservedNodesOutput), !p.HasNextPage()) { 5982 break 5983 } 5984 } 5985 5986 return p.Err() 5987} 5988 5989const opDescribeResize = "DescribeResize" 5990 5991// DescribeResizeRequest generates a "aws/request.Request" representing the 5992// client's request for the DescribeResize operation. The "output" return 5993// value will be populated with the request's response once the request completes 5994// successfully. 5995// 5996// Use "Send" method on the returned Request to send the API call to the service. 5997// the "output" return value is not valid until after Send returns without error. 5998// 5999// See DescribeResize for more information on using the DescribeResize 6000// API call, and error handling. 6001// 6002// This method is useful when you want to inject custom logic or configuration 6003// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6004// 6005// 6006// // Example sending a request using the DescribeResizeRequest method. 6007// req, resp := client.DescribeResizeRequest(params) 6008// 6009// err := req.Send() 6010// if err == nil { // resp is now filled 6011// fmt.Println(resp) 6012// } 6013// 6014// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeResize 6015func (c *Redshift) DescribeResizeRequest(input *DescribeResizeInput) (req *request.Request, output *DescribeResizeOutput) { 6016 op := &request.Operation{ 6017 Name: opDescribeResize, 6018 HTTPMethod: "POST", 6019 HTTPPath: "/", 6020 } 6021 6022 if input == nil { 6023 input = &DescribeResizeInput{} 6024 } 6025 6026 output = &DescribeResizeOutput{} 6027 req = c.newRequest(op, input, output) 6028 return 6029} 6030 6031// DescribeResize API operation for Amazon Redshift. 6032// 6033// Returns information about the last resize operation for the specified cluster. 6034// If no resize operation has ever been initiated for the specified cluster, 6035// a HTTP 404 error is returned. If a resize operation was initiated and completed, 6036// the status of the resize remains as SUCCEEDED until the next resize. 6037// 6038// A resize operation can be requested using ModifyCluster and specifying a 6039// different number or type of nodes for the cluster. 6040// 6041// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6042// with awserr.Error's Code and Message methods to get detailed information about 6043// the error. 6044// 6045// See the AWS API reference guide for Amazon Redshift's 6046// API operation DescribeResize for usage and error information. 6047// 6048// Returned Error Codes: 6049// * ErrCodeClusterNotFoundFault "ClusterNotFound" 6050// The ClusterIdentifier parameter does not refer to an existing cluster. 6051// 6052// * ErrCodeResizeNotFoundFault "ResizeNotFound" 6053// A resize operation for the specified cluster is not found. 6054// 6055// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeResize 6056func (c *Redshift) DescribeResize(input *DescribeResizeInput) (*DescribeResizeOutput, error) { 6057 req, out := c.DescribeResizeRequest(input) 6058 return out, req.Send() 6059} 6060 6061// DescribeResizeWithContext is the same as DescribeResize with the addition of 6062// the ability to pass a context and additional request options. 6063// 6064// See DescribeResize for details on how to use this API operation. 6065// 6066// The context must be non-nil and will be used for request cancellation. If 6067// the context is nil a panic will occur. In the future the SDK may create 6068// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6069// for more information on using Contexts. 6070func (c *Redshift) DescribeResizeWithContext(ctx aws.Context, input *DescribeResizeInput, opts ...request.Option) (*DescribeResizeOutput, error) { 6071 req, out := c.DescribeResizeRequest(input) 6072 req.SetContext(ctx) 6073 req.ApplyOptions(opts...) 6074 return out, req.Send() 6075} 6076 6077const opDescribeScheduledActions = "DescribeScheduledActions" 6078 6079// DescribeScheduledActionsRequest generates a "aws/request.Request" representing the 6080// client's request for the DescribeScheduledActions operation. The "output" return 6081// value will be populated with the request's response once the request completes 6082// successfully. 6083// 6084// Use "Send" method on the returned Request to send the API call to the service. 6085// the "output" return value is not valid until after Send returns without error. 6086// 6087// See DescribeScheduledActions for more information on using the DescribeScheduledActions 6088// API call, and error handling. 6089// 6090// This method is useful when you want to inject custom logic or configuration 6091// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6092// 6093// 6094// // Example sending a request using the DescribeScheduledActionsRequest method. 6095// req, resp := client.DescribeScheduledActionsRequest(params) 6096// 6097// err := req.Send() 6098// if err == nil { // resp is now filled 6099// fmt.Println(resp) 6100// } 6101// 6102// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeScheduledActions 6103func (c *Redshift) DescribeScheduledActionsRequest(input *DescribeScheduledActionsInput) (req *request.Request, output *DescribeScheduledActionsOutput) { 6104 op := &request.Operation{ 6105 Name: opDescribeScheduledActions, 6106 HTTPMethod: "POST", 6107 HTTPPath: "/", 6108 Paginator: &request.Paginator{ 6109 InputTokens: []string{"Marker"}, 6110 OutputTokens: []string{"Marker"}, 6111 LimitToken: "MaxRecords", 6112 TruncationToken: "", 6113 }, 6114 } 6115 6116 if input == nil { 6117 input = &DescribeScheduledActionsInput{} 6118 } 6119 6120 output = &DescribeScheduledActionsOutput{} 6121 req = c.newRequest(op, input, output) 6122 return 6123} 6124 6125// DescribeScheduledActions API operation for Amazon Redshift. 6126// 6127// Describes properties of scheduled actions. 6128// 6129// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6130// with awserr.Error's Code and Message methods to get detailed information about 6131// the error. 6132// 6133// See the AWS API reference guide for Amazon Redshift's 6134// API operation DescribeScheduledActions for usage and error information. 6135// 6136// Returned Error Codes: 6137// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" 6138// The scheduled action cannot be found. 6139// 6140// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 6141// Your account is not authorized to perform the requested operation. 6142// 6143// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeScheduledActions 6144func (c *Redshift) DescribeScheduledActions(input *DescribeScheduledActionsInput) (*DescribeScheduledActionsOutput, error) { 6145 req, out := c.DescribeScheduledActionsRequest(input) 6146 return out, req.Send() 6147} 6148 6149// DescribeScheduledActionsWithContext is the same as DescribeScheduledActions with the addition of 6150// the ability to pass a context and additional request options. 6151// 6152// See DescribeScheduledActions for details on how to use this API operation. 6153// 6154// The context must be non-nil and will be used for request cancellation. If 6155// the context is nil a panic will occur. In the future the SDK may create 6156// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6157// for more information on using Contexts. 6158func (c *Redshift) DescribeScheduledActionsWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, opts ...request.Option) (*DescribeScheduledActionsOutput, error) { 6159 req, out := c.DescribeScheduledActionsRequest(input) 6160 req.SetContext(ctx) 6161 req.ApplyOptions(opts...) 6162 return out, req.Send() 6163} 6164 6165// DescribeScheduledActionsPages iterates over the pages of a DescribeScheduledActions operation, 6166// calling the "fn" function with the response data for each page. To stop 6167// iterating, return false from the fn function. 6168// 6169// See DescribeScheduledActions method for more information on how to use this operation. 6170// 6171// Note: This operation can generate multiple requests to a service. 6172// 6173// // Example iterating over at most 3 pages of a DescribeScheduledActions operation. 6174// pageNum := 0 6175// err := client.DescribeScheduledActionsPages(params, 6176// func(page *redshift.DescribeScheduledActionsOutput, lastPage bool) bool { 6177// pageNum++ 6178// fmt.Println(page) 6179// return pageNum <= 3 6180// }) 6181// 6182func (c *Redshift) DescribeScheduledActionsPages(input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool) error { 6183 return c.DescribeScheduledActionsPagesWithContext(aws.BackgroundContext(), input, fn) 6184} 6185 6186// DescribeScheduledActionsPagesWithContext same as DescribeScheduledActionsPages except 6187// it takes a Context and allows setting request options on the pages. 6188// 6189// The context must be non-nil and will be used for request cancellation. If 6190// the context is nil a panic will occur. In the future the SDK may create 6191// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6192// for more information on using Contexts. 6193func (c *Redshift) DescribeScheduledActionsPagesWithContext(ctx aws.Context, input *DescribeScheduledActionsInput, fn func(*DescribeScheduledActionsOutput, bool) bool, opts ...request.Option) error { 6194 p := request.Pagination{ 6195 NewRequest: func() (*request.Request, error) { 6196 var inCpy *DescribeScheduledActionsInput 6197 if input != nil { 6198 tmp := *input 6199 inCpy = &tmp 6200 } 6201 req, _ := c.DescribeScheduledActionsRequest(inCpy) 6202 req.SetContext(ctx) 6203 req.ApplyOptions(opts...) 6204 return req, nil 6205 }, 6206 } 6207 6208 for p.Next() { 6209 if !fn(p.Page().(*DescribeScheduledActionsOutput), !p.HasNextPage()) { 6210 break 6211 } 6212 } 6213 6214 return p.Err() 6215} 6216 6217const opDescribeSnapshotCopyGrants = "DescribeSnapshotCopyGrants" 6218 6219// DescribeSnapshotCopyGrantsRequest generates a "aws/request.Request" representing the 6220// client's request for the DescribeSnapshotCopyGrants operation. The "output" return 6221// value will be populated with the request's response once the request completes 6222// successfully. 6223// 6224// Use "Send" method on the returned Request to send the API call to the service. 6225// the "output" return value is not valid until after Send returns without error. 6226// 6227// See DescribeSnapshotCopyGrants for more information on using the DescribeSnapshotCopyGrants 6228// API call, and error handling. 6229// 6230// This method is useful when you want to inject custom logic or configuration 6231// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6232// 6233// 6234// // Example sending a request using the DescribeSnapshotCopyGrantsRequest method. 6235// req, resp := client.DescribeSnapshotCopyGrantsRequest(params) 6236// 6237// err := req.Send() 6238// if err == nil { // resp is now filled 6239// fmt.Println(resp) 6240// } 6241// 6242// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotCopyGrants 6243func (c *Redshift) DescribeSnapshotCopyGrantsRequest(input *DescribeSnapshotCopyGrantsInput) (req *request.Request, output *DescribeSnapshotCopyGrantsOutput) { 6244 op := &request.Operation{ 6245 Name: opDescribeSnapshotCopyGrants, 6246 HTTPMethod: "POST", 6247 HTTPPath: "/", 6248 } 6249 6250 if input == nil { 6251 input = &DescribeSnapshotCopyGrantsInput{} 6252 } 6253 6254 output = &DescribeSnapshotCopyGrantsOutput{} 6255 req = c.newRequest(op, input, output) 6256 return 6257} 6258 6259// DescribeSnapshotCopyGrants API operation for Amazon Redshift. 6260// 6261// Returns a list of snapshot copy grants owned by the AWS account in the destination 6262// region. 6263// 6264// For more information about managing snapshot copy grants, go to Amazon Redshift 6265// Database Encryption (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) 6266// in the Amazon Redshift Cluster Management Guide. 6267// 6268// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6269// with awserr.Error's Code and Message methods to get detailed information about 6270// the error. 6271// 6272// See the AWS API reference guide for Amazon Redshift's 6273// API operation DescribeSnapshotCopyGrants for usage and error information. 6274// 6275// Returned Error Codes: 6276// * ErrCodeSnapshotCopyGrantNotFoundFault "SnapshotCopyGrantNotFoundFault" 6277// The specified snapshot copy grant can't be found. Make sure that the name 6278// is typed correctly and that the grant exists in the destination region. 6279// 6280// * ErrCodeInvalidTagFault "InvalidTagFault" 6281// The tag is invalid. 6282// 6283// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotCopyGrants 6284func (c *Redshift) DescribeSnapshotCopyGrants(input *DescribeSnapshotCopyGrantsInput) (*DescribeSnapshotCopyGrantsOutput, error) { 6285 req, out := c.DescribeSnapshotCopyGrantsRequest(input) 6286 return out, req.Send() 6287} 6288 6289// DescribeSnapshotCopyGrantsWithContext is the same as DescribeSnapshotCopyGrants with the addition of 6290// the ability to pass a context and additional request options. 6291// 6292// See DescribeSnapshotCopyGrants for details on how to use this API operation. 6293// 6294// The context must be non-nil and will be used for request cancellation. If 6295// the context is nil a panic will occur. In the future the SDK may create 6296// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6297// for more information on using Contexts. 6298func (c *Redshift) DescribeSnapshotCopyGrantsWithContext(ctx aws.Context, input *DescribeSnapshotCopyGrantsInput, opts ...request.Option) (*DescribeSnapshotCopyGrantsOutput, error) { 6299 req, out := c.DescribeSnapshotCopyGrantsRequest(input) 6300 req.SetContext(ctx) 6301 req.ApplyOptions(opts...) 6302 return out, req.Send() 6303} 6304 6305const opDescribeSnapshotSchedules = "DescribeSnapshotSchedules" 6306 6307// DescribeSnapshotSchedulesRequest generates a "aws/request.Request" representing the 6308// client's request for the DescribeSnapshotSchedules operation. The "output" return 6309// value will be populated with the request's response once the request completes 6310// successfully. 6311// 6312// Use "Send" method on the returned Request to send the API call to the service. 6313// the "output" return value is not valid until after Send returns without error. 6314// 6315// See DescribeSnapshotSchedules for more information on using the DescribeSnapshotSchedules 6316// API call, and error handling. 6317// 6318// This method is useful when you want to inject custom logic or configuration 6319// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6320// 6321// 6322// // Example sending a request using the DescribeSnapshotSchedulesRequest method. 6323// req, resp := client.DescribeSnapshotSchedulesRequest(params) 6324// 6325// err := req.Send() 6326// if err == nil { // resp is now filled 6327// fmt.Println(resp) 6328// } 6329// 6330// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotSchedules 6331func (c *Redshift) DescribeSnapshotSchedulesRequest(input *DescribeSnapshotSchedulesInput) (req *request.Request, output *DescribeSnapshotSchedulesOutput) { 6332 op := &request.Operation{ 6333 Name: opDescribeSnapshotSchedules, 6334 HTTPMethod: "POST", 6335 HTTPPath: "/", 6336 } 6337 6338 if input == nil { 6339 input = &DescribeSnapshotSchedulesInput{} 6340 } 6341 6342 output = &DescribeSnapshotSchedulesOutput{} 6343 req = c.newRequest(op, input, output) 6344 return 6345} 6346 6347// DescribeSnapshotSchedules API operation for Amazon Redshift. 6348// 6349// Returns a list of snapshot schedules. 6350// 6351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6352// with awserr.Error's Code and Message methods to get detailed information about 6353// the error. 6354// 6355// See the AWS API reference guide for Amazon Redshift's 6356// API operation DescribeSnapshotSchedules for usage and error information. 6357// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeSnapshotSchedules 6358func (c *Redshift) DescribeSnapshotSchedules(input *DescribeSnapshotSchedulesInput) (*DescribeSnapshotSchedulesOutput, error) { 6359 req, out := c.DescribeSnapshotSchedulesRequest(input) 6360 return out, req.Send() 6361} 6362 6363// DescribeSnapshotSchedulesWithContext is the same as DescribeSnapshotSchedules with the addition of 6364// the ability to pass a context and additional request options. 6365// 6366// See DescribeSnapshotSchedules for details on how to use this API operation. 6367// 6368// The context must be non-nil and will be used for request cancellation. If 6369// the context is nil a panic will occur. In the future the SDK may create 6370// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6371// for more information on using Contexts. 6372func (c *Redshift) DescribeSnapshotSchedulesWithContext(ctx aws.Context, input *DescribeSnapshotSchedulesInput, opts ...request.Option) (*DescribeSnapshotSchedulesOutput, error) { 6373 req, out := c.DescribeSnapshotSchedulesRequest(input) 6374 req.SetContext(ctx) 6375 req.ApplyOptions(opts...) 6376 return out, req.Send() 6377} 6378 6379const opDescribeStorage = "DescribeStorage" 6380 6381// DescribeStorageRequest generates a "aws/request.Request" representing the 6382// client's request for the DescribeStorage operation. The "output" return 6383// value will be populated with the request's response once the request completes 6384// successfully. 6385// 6386// Use "Send" method on the returned Request to send the API call to the service. 6387// the "output" return value is not valid until after Send returns without error. 6388// 6389// See DescribeStorage for more information on using the DescribeStorage 6390// API call, and error handling. 6391// 6392// This method is useful when you want to inject custom logic or configuration 6393// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6394// 6395// 6396// // Example sending a request using the DescribeStorageRequest method. 6397// req, resp := client.DescribeStorageRequest(params) 6398// 6399// err := req.Send() 6400// if err == nil { // resp is now filled 6401// fmt.Println(resp) 6402// } 6403// 6404// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeStorage 6405func (c *Redshift) DescribeStorageRequest(input *DescribeStorageInput) (req *request.Request, output *DescribeStorageOutput) { 6406 op := &request.Operation{ 6407 Name: opDescribeStorage, 6408 HTTPMethod: "POST", 6409 HTTPPath: "/", 6410 } 6411 6412 if input == nil { 6413 input = &DescribeStorageInput{} 6414 } 6415 6416 output = &DescribeStorageOutput{} 6417 req = c.newRequest(op, input, output) 6418 return 6419} 6420 6421// DescribeStorage API operation for Amazon Redshift. 6422// 6423// Returns account level backups storage size and provisional storage. 6424// 6425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6426// with awserr.Error's Code and Message methods to get detailed information about 6427// the error. 6428// 6429// See the AWS API reference guide for Amazon Redshift's 6430// API operation DescribeStorage for usage and error information. 6431// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeStorage 6432func (c *Redshift) DescribeStorage(input *DescribeStorageInput) (*DescribeStorageOutput, error) { 6433 req, out := c.DescribeStorageRequest(input) 6434 return out, req.Send() 6435} 6436 6437// DescribeStorageWithContext is the same as DescribeStorage with the addition of 6438// the ability to pass a context and additional request options. 6439// 6440// See DescribeStorage for details on how to use this API operation. 6441// 6442// The context must be non-nil and will be used for request cancellation. If 6443// the context is nil a panic will occur. In the future the SDK may create 6444// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6445// for more information on using Contexts. 6446func (c *Redshift) DescribeStorageWithContext(ctx aws.Context, input *DescribeStorageInput, opts ...request.Option) (*DescribeStorageOutput, error) { 6447 req, out := c.DescribeStorageRequest(input) 6448 req.SetContext(ctx) 6449 req.ApplyOptions(opts...) 6450 return out, req.Send() 6451} 6452 6453const opDescribeTableRestoreStatus = "DescribeTableRestoreStatus" 6454 6455// DescribeTableRestoreStatusRequest generates a "aws/request.Request" representing the 6456// client's request for the DescribeTableRestoreStatus operation. The "output" return 6457// value will be populated with the request's response once the request completes 6458// successfully. 6459// 6460// Use "Send" method on the returned Request to send the API call to the service. 6461// the "output" return value is not valid until after Send returns without error. 6462// 6463// See DescribeTableRestoreStatus for more information on using the DescribeTableRestoreStatus 6464// API call, and error handling. 6465// 6466// This method is useful when you want to inject custom logic or configuration 6467// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6468// 6469// 6470// // Example sending a request using the DescribeTableRestoreStatusRequest method. 6471// req, resp := client.DescribeTableRestoreStatusRequest(params) 6472// 6473// err := req.Send() 6474// if err == nil { // resp is now filled 6475// fmt.Println(resp) 6476// } 6477// 6478// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTableRestoreStatus 6479func (c *Redshift) DescribeTableRestoreStatusRequest(input *DescribeTableRestoreStatusInput) (req *request.Request, output *DescribeTableRestoreStatusOutput) { 6480 op := &request.Operation{ 6481 Name: opDescribeTableRestoreStatus, 6482 HTTPMethod: "POST", 6483 HTTPPath: "/", 6484 } 6485 6486 if input == nil { 6487 input = &DescribeTableRestoreStatusInput{} 6488 } 6489 6490 output = &DescribeTableRestoreStatusOutput{} 6491 req = c.newRequest(op, input, output) 6492 return 6493} 6494 6495// DescribeTableRestoreStatus API operation for Amazon Redshift. 6496// 6497// Lists the status of one or more table restore requests made using the RestoreTableFromClusterSnapshot 6498// API action. If you don't specify a value for the TableRestoreRequestId parameter, 6499// then DescribeTableRestoreStatus returns the status of all table restore requests 6500// ordered by the date and time of the request in ascending order. Otherwise 6501// DescribeTableRestoreStatus returns the status of the table specified by TableRestoreRequestId. 6502// 6503// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6504// with awserr.Error's Code and Message methods to get detailed information about 6505// the error. 6506// 6507// See the AWS API reference guide for Amazon Redshift's 6508// API operation DescribeTableRestoreStatus for usage and error information. 6509// 6510// Returned Error Codes: 6511// * ErrCodeTableRestoreNotFoundFault "TableRestoreNotFoundFault" 6512// The specified TableRestoreRequestId value was not found. 6513// 6514// * ErrCodeClusterNotFoundFault "ClusterNotFound" 6515// The ClusterIdentifier parameter does not refer to an existing cluster. 6516// 6517// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTableRestoreStatus 6518func (c *Redshift) DescribeTableRestoreStatus(input *DescribeTableRestoreStatusInput) (*DescribeTableRestoreStatusOutput, error) { 6519 req, out := c.DescribeTableRestoreStatusRequest(input) 6520 return out, req.Send() 6521} 6522 6523// DescribeTableRestoreStatusWithContext is the same as DescribeTableRestoreStatus with the addition of 6524// the ability to pass a context and additional request options. 6525// 6526// See DescribeTableRestoreStatus for details on how to use this API operation. 6527// 6528// The context must be non-nil and will be used for request cancellation. If 6529// the context is nil a panic will occur. In the future the SDK may create 6530// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6531// for more information on using Contexts. 6532func (c *Redshift) DescribeTableRestoreStatusWithContext(ctx aws.Context, input *DescribeTableRestoreStatusInput, opts ...request.Option) (*DescribeTableRestoreStatusOutput, error) { 6533 req, out := c.DescribeTableRestoreStatusRequest(input) 6534 req.SetContext(ctx) 6535 req.ApplyOptions(opts...) 6536 return out, req.Send() 6537} 6538 6539const opDescribeTags = "DescribeTags" 6540 6541// DescribeTagsRequest generates a "aws/request.Request" representing the 6542// client's request for the DescribeTags operation. The "output" return 6543// value will be populated with the request's response once the request completes 6544// successfully. 6545// 6546// Use "Send" method on the returned Request to send the API call to the service. 6547// the "output" return value is not valid until after Send returns without error. 6548// 6549// See DescribeTags for more information on using the DescribeTags 6550// API call, and error handling. 6551// 6552// This method is useful when you want to inject custom logic or configuration 6553// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6554// 6555// 6556// // Example sending a request using the DescribeTagsRequest method. 6557// req, resp := client.DescribeTagsRequest(params) 6558// 6559// err := req.Send() 6560// if err == nil { // resp is now filled 6561// fmt.Println(resp) 6562// } 6563// 6564// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTags 6565func (c *Redshift) DescribeTagsRequest(input *DescribeTagsInput) (req *request.Request, output *DescribeTagsOutput) { 6566 op := &request.Operation{ 6567 Name: opDescribeTags, 6568 HTTPMethod: "POST", 6569 HTTPPath: "/", 6570 } 6571 6572 if input == nil { 6573 input = &DescribeTagsInput{} 6574 } 6575 6576 output = &DescribeTagsOutput{} 6577 req = c.newRequest(op, input, output) 6578 return 6579} 6580 6581// DescribeTags API operation for Amazon Redshift. 6582// 6583// Returns a list of tags. You can return tags from a specific resource by specifying 6584// an ARN, or you can return all tags for a given type of resource, such as 6585// clusters, snapshots, and so on. 6586// 6587// The following are limitations for DescribeTags: 6588// 6589// * You cannot specify an ARN and a resource-type value together in the 6590// same request. 6591// 6592// * You cannot use the MaxRecords and Marker parameters together with the 6593// ARN parameter. 6594// 6595// * The MaxRecords parameter can be a range from 10 to 50 results to return 6596// in a request. 6597// 6598// If you specify both tag keys and tag values in the same request, Amazon Redshift 6599// returns all resources that match any combination of the specified keys and 6600// values. For example, if you have owner and environment for tag keys, and 6601// admin and test for tag values, all resources that have any combination of 6602// those values are returned. 6603// 6604// If both tag keys and values are omitted from the request, resources are returned 6605// regardless of whether they have tag keys or values associated with them. 6606// 6607// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6608// with awserr.Error's Code and Message methods to get detailed information about 6609// the error. 6610// 6611// See the AWS API reference guide for Amazon Redshift's 6612// API operation DescribeTags for usage and error information. 6613// 6614// Returned Error Codes: 6615// * ErrCodeResourceNotFoundFault "ResourceNotFoundFault" 6616// The resource could not be found. 6617// 6618// * ErrCodeInvalidTagFault "InvalidTagFault" 6619// The tag is invalid. 6620// 6621// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeTags 6622func (c *Redshift) DescribeTags(input *DescribeTagsInput) (*DescribeTagsOutput, error) { 6623 req, out := c.DescribeTagsRequest(input) 6624 return out, req.Send() 6625} 6626 6627// DescribeTagsWithContext is the same as DescribeTags with the addition of 6628// the ability to pass a context and additional request options. 6629// 6630// See DescribeTags for details on how to use this API operation. 6631// 6632// The context must be non-nil and will be used for request cancellation. If 6633// the context is nil a panic will occur. In the future the SDK may create 6634// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6635// for more information on using Contexts. 6636func (c *Redshift) DescribeTagsWithContext(ctx aws.Context, input *DescribeTagsInput, opts ...request.Option) (*DescribeTagsOutput, error) { 6637 req, out := c.DescribeTagsRequest(input) 6638 req.SetContext(ctx) 6639 req.ApplyOptions(opts...) 6640 return out, req.Send() 6641} 6642 6643const opDescribeUsageLimits = "DescribeUsageLimits" 6644 6645// DescribeUsageLimitsRequest generates a "aws/request.Request" representing the 6646// client's request for the DescribeUsageLimits operation. The "output" return 6647// value will be populated with the request's response once the request completes 6648// successfully. 6649// 6650// Use "Send" method on the returned Request to send the API call to the service. 6651// the "output" return value is not valid until after Send returns without error. 6652// 6653// See DescribeUsageLimits for more information on using the DescribeUsageLimits 6654// API call, and error handling. 6655// 6656// This method is useful when you want to inject custom logic or configuration 6657// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6658// 6659// 6660// // Example sending a request using the DescribeUsageLimitsRequest method. 6661// req, resp := client.DescribeUsageLimitsRequest(params) 6662// 6663// err := req.Send() 6664// if err == nil { // resp is now filled 6665// fmt.Println(resp) 6666// } 6667// 6668// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeUsageLimits 6669func (c *Redshift) DescribeUsageLimitsRequest(input *DescribeUsageLimitsInput) (req *request.Request, output *DescribeUsageLimitsOutput) { 6670 op := &request.Operation{ 6671 Name: opDescribeUsageLimits, 6672 HTTPMethod: "POST", 6673 HTTPPath: "/", 6674 Paginator: &request.Paginator{ 6675 InputTokens: []string{"Marker"}, 6676 OutputTokens: []string{"Marker"}, 6677 LimitToken: "MaxRecords", 6678 TruncationToken: "", 6679 }, 6680 } 6681 6682 if input == nil { 6683 input = &DescribeUsageLimitsInput{} 6684 } 6685 6686 output = &DescribeUsageLimitsOutput{} 6687 req = c.newRequest(op, input, output) 6688 return 6689} 6690 6691// DescribeUsageLimits API operation for Amazon Redshift. 6692// 6693// Shows usage limits on a cluster. Results are filtered based on the combination 6694// of input usage limit identifier, cluster identifier, and feature type parameters: 6695// 6696// * If usage limit identifier, cluster identifier, and feature type are 6697// not provided, then all usage limit objects for the current account in 6698// the current region are returned. 6699// 6700// * If usage limit identifier is provided, then the corresponding usage 6701// limit object is returned. 6702// 6703// * If cluster identifier is provided, then all usage limit objects for 6704// the specified cluster are returned. 6705// 6706// * If cluster identifier and feature type are provided, then all usage 6707// limit objects for the combination of cluster and feature are returned. 6708// 6709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6710// with awserr.Error's Code and Message methods to get detailed information about 6711// the error. 6712// 6713// See the AWS API reference guide for Amazon Redshift's 6714// API operation DescribeUsageLimits for usage and error information. 6715// 6716// Returned Error Codes: 6717// * ErrCodeClusterNotFoundFault "ClusterNotFound" 6718// The ClusterIdentifier parameter does not refer to an existing cluster. 6719// 6720// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 6721// The requested operation isn't supported. 6722// 6723// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DescribeUsageLimits 6724func (c *Redshift) DescribeUsageLimits(input *DescribeUsageLimitsInput) (*DescribeUsageLimitsOutput, error) { 6725 req, out := c.DescribeUsageLimitsRequest(input) 6726 return out, req.Send() 6727} 6728 6729// DescribeUsageLimitsWithContext is the same as DescribeUsageLimits with the addition of 6730// the ability to pass a context and additional request options. 6731// 6732// See DescribeUsageLimits for details on how to use this API operation. 6733// 6734// The context must be non-nil and will be used for request cancellation. If 6735// the context is nil a panic will occur. In the future the SDK may create 6736// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6737// for more information on using Contexts. 6738func (c *Redshift) DescribeUsageLimitsWithContext(ctx aws.Context, input *DescribeUsageLimitsInput, opts ...request.Option) (*DescribeUsageLimitsOutput, error) { 6739 req, out := c.DescribeUsageLimitsRequest(input) 6740 req.SetContext(ctx) 6741 req.ApplyOptions(opts...) 6742 return out, req.Send() 6743} 6744 6745// DescribeUsageLimitsPages iterates over the pages of a DescribeUsageLimits operation, 6746// calling the "fn" function with the response data for each page. To stop 6747// iterating, return false from the fn function. 6748// 6749// See DescribeUsageLimits method for more information on how to use this operation. 6750// 6751// Note: This operation can generate multiple requests to a service. 6752// 6753// // Example iterating over at most 3 pages of a DescribeUsageLimits operation. 6754// pageNum := 0 6755// err := client.DescribeUsageLimitsPages(params, 6756// func(page *redshift.DescribeUsageLimitsOutput, lastPage bool) bool { 6757// pageNum++ 6758// fmt.Println(page) 6759// return pageNum <= 3 6760// }) 6761// 6762func (c *Redshift) DescribeUsageLimitsPages(input *DescribeUsageLimitsInput, fn func(*DescribeUsageLimitsOutput, bool) bool) error { 6763 return c.DescribeUsageLimitsPagesWithContext(aws.BackgroundContext(), input, fn) 6764} 6765 6766// DescribeUsageLimitsPagesWithContext same as DescribeUsageLimitsPages except 6767// it takes a Context and allows setting request options on the pages. 6768// 6769// The context must be non-nil and will be used for request cancellation. If 6770// the context is nil a panic will occur. In the future the SDK may create 6771// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6772// for more information on using Contexts. 6773func (c *Redshift) DescribeUsageLimitsPagesWithContext(ctx aws.Context, input *DescribeUsageLimitsInput, fn func(*DescribeUsageLimitsOutput, bool) bool, opts ...request.Option) error { 6774 p := request.Pagination{ 6775 NewRequest: func() (*request.Request, error) { 6776 var inCpy *DescribeUsageLimitsInput 6777 if input != nil { 6778 tmp := *input 6779 inCpy = &tmp 6780 } 6781 req, _ := c.DescribeUsageLimitsRequest(inCpy) 6782 req.SetContext(ctx) 6783 req.ApplyOptions(opts...) 6784 return req, nil 6785 }, 6786 } 6787 6788 for p.Next() { 6789 if !fn(p.Page().(*DescribeUsageLimitsOutput), !p.HasNextPage()) { 6790 break 6791 } 6792 } 6793 6794 return p.Err() 6795} 6796 6797const opDisableLogging = "DisableLogging" 6798 6799// DisableLoggingRequest generates a "aws/request.Request" representing the 6800// client's request for the DisableLogging operation. The "output" return 6801// value will be populated with the request's response once the request completes 6802// successfully. 6803// 6804// Use "Send" method on the returned Request to send the API call to the service. 6805// the "output" return value is not valid until after Send returns without error. 6806// 6807// See DisableLogging for more information on using the DisableLogging 6808// API call, and error handling. 6809// 6810// This method is useful when you want to inject custom logic or configuration 6811// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6812// 6813// 6814// // Example sending a request using the DisableLoggingRequest method. 6815// req, resp := client.DisableLoggingRequest(params) 6816// 6817// err := req.Send() 6818// if err == nil { // resp is now filled 6819// fmt.Println(resp) 6820// } 6821// 6822// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableLogging 6823func (c *Redshift) DisableLoggingRequest(input *DisableLoggingInput) (req *request.Request, output *LoggingStatus) { 6824 op := &request.Operation{ 6825 Name: opDisableLogging, 6826 HTTPMethod: "POST", 6827 HTTPPath: "/", 6828 } 6829 6830 if input == nil { 6831 input = &DisableLoggingInput{} 6832 } 6833 6834 output = &LoggingStatus{} 6835 req = c.newRequest(op, input, output) 6836 return 6837} 6838 6839// DisableLogging API operation for Amazon Redshift. 6840// 6841// Stops logging information, such as queries and connection attempts, for the 6842// specified Amazon Redshift cluster. 6843// 6844// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6845// with awserr.Error's Code and Message methods to get detailed information about 6846// the error. 6847// 6848// See the AWS API reference guide for Amazon Redshift's 6849// API operation DisableLogging for usage and error information. 6850// 6851// Returned Error Codes: 6852// * ErrCodeClusterNotFoundFault "ClusterNotFound" 6853// The ClusterIdentifier parameter does not refer to an existing cluster. 6854// 6855// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableLogging 6856func (c *Redshift) DisableLogging(input *DisableLoggingInput) (*LoggingStatus, error) { 6857 req, out := c.DisableLoggingRequest(input) 6858 return out, req.Send() 6859} 6860 6861// DisableLoggingWithContext is the same as DisableLogging with the addition of 6862// the ability to pass a context and additional request options. 6863// 6864// See DisableLogging for details on how to use this API operation. 6865// 6866// The context must be non-nil and will be used for request cancellation. If 6867// the context is nil a panic will occur. In the future the SDK may create 6868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6869// for more information on using Contexts. 6870func (c *Redshift) DisableLoggingWithContext(ctx aws.Context, input *DisableLoggingInput, opts ...request.Option) (*LoggingStatus, error) { 6871 req, out := c.DisableLoggingRequest(input) 6872 req.SetContext(ctx) 6873 req.ApplyOptions(opts...) 6874 return out, req.Send() 6875} 6876 6877const opDisableSnapshotCopy = "DisableSnapshotCopy" 6878 6879// DisableSnapshotCopyRequest generates a "aws/request.Request" representing the 6880// client's request for the DisableSnapshotCopy operation. The "output" return 6881// value will be populated with the request's response once the request completes 6882// successfully. 6883// 6884// Use "Send" method on the returned Request to send the API call to the service. 6885// the "output" return value is not valid until after Send returns without error. 6886// 6887// See DisableSnapshotCopy for more information on using the DisableSnapshotCopy 6888// API call, and error handling. 6889// 6890// This method is useful when you want to inject custom logic or configuration 6891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6892// 6893// 6894// // Example sending a request using the DisableSnapshotCopyRequest method. 6895// req, resp := client.DisableSnapshotCopyRequest(params) 6896// 6897// err := req.Send() 6898// if err == nil { // resp is now filled 6899// fmt.Println(resp) 6900// } 6901// 6902// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableSnapshotCopy 6903func (c *Redshift) DisableSnapshotCopyRequest(input *DisableSnapshotCopyInput) (req *request.Request, output *DisableSnapshotCopyOutput) { 6904 op := &request.Operation{ 6905 Name: opDisableSnapshotCopy, 6906 HTTPMethod: "POST", 6907 HTTPPath: "/", 6908 } 6909 6910 if input == nil { 6911 input = &DisableSnapshotCopyInput{} 6912 } 6913 6914 output = &DisableSnapshotCopyOutput{} 6915 req = c.newRequest(op, input, output) 6916 return 6917} 6918 6919// DisableSnapshotCopy API operation for Amazon Redshift. 6920// 6921// Disables the automatic copying of snapshots from one region to another region 6922// for a specified cluster. 6923// 6924// If your cluster and its snapshots are encrypted using a customer master key 6925// (CMK) from AWS KMS, use DeleteSnapshotCopyGrant to delete the grant that 6926// grants Amazon Redshift permission to the CMK in the destination region. 6927// 6928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6929// with awserr.Error's Code and Message methods to get detailed information about 6930// the error. 6931// 6932// See the AWS API reference guide for Amazon Redshift's 6933// API operation DisableSnapshotCopy for usage and error information. 6934// 6935// Returned Error Codes: 6936// * ErrCodeClusterNotFoundFault "ClusterNotFound" 6937// The ClusterIdentifier parameter does not refer to an existing cluster. 6938// 6939// * ErrCodeSnapshotCopyAlreadyDisabledFault "SnapshotCopyAlreadyDisabledFault" 6940// The cluster already has cross-region snapshot copy disabled. 6941// 6942// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 6943// The specified cluster is not in the available state. 6944// 6945// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 6946// Your account is not authorized to perform the requested operation. 6947// 6948// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/DisableSnapshotCopy 6949func (c *Redshift) DisableSnapshotCopy(input *DisableSnapshotCopyInput) (*DisableSnapshotCopyOutput, error) { 6950 req, out := c.DisableSnapshotCopyRequest(input) 6951 return out, req.Send() 6952} 6953 6954// DisableSnapshotCopyWithContext is the same as DisableSnapshotCopy with the addition of 6955// the ability to pass a context and additional request options. 6956// 6957// See DisableSnapshotCopy for details on how to use this API operation. 6958// 6959// The context must be non-nil and will be used for request cancellation. If 6960// the context is nil a panic will occur. In the future the SDK may create 6961// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6962// for more information on using Contexts. 6963func (c *Redshift) DisableSnapshotCopyWithContext(ctx aws.Context, input *DisableSnapshotCopyInput, opts ...request.Option) (*DisableSnapshotCopyOutput, error) { 6964 req, out := c.DisableSnapshotCopyRequest(input) 6965 req.SetContext(ctx) 6966 req.ApplyOptions(opts...) 6967 return out, req.Send() 6968} 6969 6970const opEnableLogging = "EnableLogging" 6971 6972// EnableLoggingRequest generates a "aws/request.Request" representing the 6973// client's request for the EnableLogging operation. The "output" return 6974// value will be populated with the request's response once the request completes 6975// successfully. 6976// 6977// Use "Send" method on the returned Request to send the API call to the service. 6978// the "output" return value is not valid until after Send returns without error. 6979// 6980// See EnableLogging for more information on using the EnableLogging 6981// API call, and error handling. 6982// 6983// This method is useful when you want to inject custom logic or configuration 6984// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6985// 6986// 6987// // Example sending a request using the EnableLoggingRequest method. 6988// req, resp := client.EnableLoggingRequest(params) 6989// 6990// err := req.Send() 6991// if err == nil { // resp is now filled 6992// fmt.Println(resp) 6993// } 6994// 6995// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableLogging 6996func (c *Redshift) EnableLoggingRequest(input *EnableLoggingInput) (req *request.Request, output *LoggingStatus) { 6997 op := &request.Operation{ 6998 Name: opEnableLogging, 6999 HTTPMethod: "POST", 7000 HTTPPath: "/", 7001 } 7002 7003 if input == nil { 7004 input = &EnableLoggingInput{} 7005 } 7006 7007 output = &LoggingStatus{} 7008 req = c.newRequest(op, input, output) 7009 return 7010} 7011 7012// EnableLogging API operation for Amazon Redshift. 7013// 7014// Starts logging information, such as queries and connection attempts, for 7015// the specified Amazon Redshift cluster. 7016// 7017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7018// with awserr.Error's Code and Message methods to get detailed information about 7019// the error. 7020// 7021// See the AWS API reference guide for Amazon Redshift's 7022// API operation EnableLogging for usage and error information. 7023// 7024// Returned Error Codes: 7025// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7026// The ClusterIdentifier parameter does not refer to an existing cluster. 7027// 7028// * ErrCodeBucketNotFoundFault "BucketNotFoundFault" 7029// Could not find the specified S3 bucket. 7030// 7031// * ErrCodeInsufficientS3BucketPolicyFault "InsufficientS3BucketPolicyFault" 7032// The cluster does not have read bucket or put object permissions on the S3 7033// bucket specified when enabling logging. 7034// 7035// * ErrCodeInvalidS3KeyPrefixFault "InvalidS3KeyPrefixFault" 7036// The string specified for the logging S3 key prefix does not comply with the 7037// documented constraints. 7038// 7039// * ErrCodeInvalidS3BucketNameFault "InvalidS3BucketNameFault" 7040// The S3 bucket name is invalid. For more information about naming rules, go 7041// to Bucket Restrictions and Limitations (https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) 7042// in the Amazon Simple Storage Service (S3) Developer Guide. 7043// 7044// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 7045// The specified cluster is not in the available state. 7046// 7047// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableLogging 7048func (c *Redshift) EnableLogging(input *EnableLoggingInput) (*LoggingStatus, error) { 7049 req, out := c.EnableLoggingRequest(input) 7050 return out, req.Send() 7051} 7052 7053// EnableLoggingWithContext is the same as EnableLogging with the addition of 7054// the ability to pass a context and additional request options. 7055// 7056// See EnableLogging for details on how to use this API operation. 7057// 7058// The context must be non-nil and will be used for request cancellation. If 7059// the context is nil a panic will occur. In the future the SDK may create 7060// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7061// for more information on using Contexts. 7062func (c *Redshift) EnableLoggingWithContext(ctx aws.Context, input *EnableLoggingInput, opts ...request.Option) (*LoggingStatus, error) { 7063 req, out := c.EnableLoggingRequest(input) 7064 req.SetContext(ctx) 7065 req.ApplyOptions(opts...) 7066 return out, req.Send() 7067} 7068 7069const opEnableSnapshotCopy = "EnableSnapshotCopy" 7070 7071// EnableSnapshotCopyRequest generates a "aws/request.Request" representing the 7072// client's request for the EnableSnapshotCopy operation. The "output" return 7073// value will be populated with the request's response once the request completes 7074// successfully. 7075// 7076// Use "Send" method on the returned Request to send the API call to the service. 7077// the "output" return value is not valid until after Send returns without error. 7078// 7079// See EnableSnapshotCopy for more information on using the EnableSnapshotCopy 7080// API call, and error handling. 7081// 7082// This method is useful when you want to inject custom logic or configuration 7083// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7084// 7085// 7086// // Example sending a request using the EnableSnapshotCopyRequest method. 7087// req, resp := client.EnableSnapshotCopyRequest(params) 7088// 7089// err := req.Send() 7090// if err == nil { // resp is now filled 7091// fmt.Println(resp) 7092// } 7093// 7094// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableSnapshotCopy 7095func (c *Redshift) EnableSnapshotCopyRequest(input *EnableSnapshotCopyInput) (req *request.Request, output *EnableSnapshotCopyOutput) { 7096 op := &request.Operation{ 7097 Name: opEnableSnapshotCopy, 7098 HTTPMethod: "POST", 7099 HTTPPath: "/", 7100 } 7101 7102 if input == nil { 7103 input = &EnableSnapshotCopyInput{} 7104 } 7105 7106 output = &EnableSnapshotCopyOutput{} 7107 req = c.newRequest(op, input, output) 7108 return 7109} 7110 7111// EnableSnapshotCopy API operation for Amazon Redshift. 7112// 7113// Enables the automatic copy of snapshots from one region to another region 7114// for a specified cluster. 7115// 7116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7117// with awserr.Error's Code and Message methods to get detailed information about 7118// the error. 7119// 7120// See the AWS API reference guide for Amazon Redshift's 7121// API operation EnableSnapshotCopy for usage and error information. 7122// 7123// Returned Error Codes: 7124// * ErrCodeIncompatibleOrderableOptions "IncompatibleOrderableOptions" 7125// The specified options are incompatible. 7126// 7127// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 7128// The specified cluster is not in the available state. 7129// 7130// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7131// The ClusterIdentifier parameter does not refer to an existing cluster. 7132// 7133// * ErrCodeCopyToRegionDisabledFault "CopyToRegionDisabledFault" 7134// Cross-region snapshot copy was temporarily disabled. Try your request again. 7135// 7136// * ErrCodeSnapshotCopyAlreadyEnabledFault "SnapshotCopyAlreadyEnabledFault" 7137// The cluster already has cross-region snapshot copy enabled. 7138// 7139// * ErrCodeUnknownSnapshotCopyRegionFault "UnknownSnapshotCopyRegionFault" 7140// The specified region is incorrect or does not exist. 7141// 7142// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 7143// Your account is not authorized to perform the requested operation. 7144// 7145// * ErrCodeSnapshotCopyGrantNotFoundFault "SnapshotCopyGrantNotFoundFault" 7146// The specified snapshot copy grant can't be found. Make sure that the name 7147// is typed correctly and that the grant exists in the destination region. 7148// 7149// * ErrCodeLimitExceededFault "LimitExceededFault" 7150// The encryption key has exceeded its grant limit in AWS KMS. 7151// 7152// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 7153// The request cannot be completed because a dependent service is throttling 7154// requests made by Amazon Redshift on your behalf. Wait and retry the request. 7155// 7156// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 7157// The retention period specified is either in the past or is not a valid value. 7158// 7159// The value must be either -1 or an integer between 1 and 3,653. 7160// 7161// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/EnableSnapshotCopy 7162func (c *Redshift) EnableSnapshotCopy(input *EnableSnapshotCopyInput) (*EnableSnapshotCopyOutput, error) { 7163 req, out := c.EnableSnapshotCopyRequest(input) 7164 return out, req.Send() 7165} 7166 7167// EnableSnapshotCopyWithContext is the same as EnableSnapshotCopy with the addition of 7168// the ability to pass a context and additional request options. 7169// 7170// See EnableSnapshotCopy for details on how to use this API operation. 7171// 7172// The context must be non-nil and will be used for request cancellation. If 7173// the context is nil a panic will occur. In the future the SDK may create 7174// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7175// for more information on using Contexts. 7176func (c *Redshift) EnableSnapshotCopyWithContext(ctx aws.Context, input *EnableSnapshotCopyInput, opts ...request.Option) (*EnableSnapshotCopyOutput, error) { 7177 req, out := c.EnableSnapshotCopyRequest(input) 7178 req.SetContext(ctx) 7179 req.ApplyOptions(opts...) 7180 return out, req.Send() 7181} 7182 7183const opGetClusterCredentials = "GetClusterCredentials" 7184 7185// GetClusterCredentialsRequest generates a "aws/request.Request" representing the 7186// client's request for the GetClusterCredentials operation. The "output" return 7187// value will be populated with the request's response once the request completes 7188// successfully. 7189// 7190// Use "Send" method on the returned Request to send the API call to the service. 7191// the "output" return value is not valid until after Send returns without error. 7192// 7193// See GetClusterCredentials for more information on using the GetClusterCredentials 7194// API call, and error handling. 7195// 7196// This method is useful when you want to inject custom logic or configuration 7197// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7198// 7199// 7200// // Example sending a request using the GetClusterCredentialsRequest method. 7201// req, resp := client.GetClusterCredentialsRequest(params) 7202// 7203// err := req.Send() 7204// if err == nil { // resp is now filled 7205// fmt.Println(resp) 7206// } 7207// 7208// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetClusterCredentials 7209func (c *Redshift) GetClusterCredentialsRequest(input *GetClusterCredentialsInput) (req *request.Request, output *GetClusterCredentialsOutput) { 7210 op := &request.Operation{ 7211 Name: opGetClusterCredentials, 7212 HTTPMethod: "POST", 7213 HTTPPath: "/", 7214 } 7215 7216 if input == nil { 7217 input = &GetClusterCredentialsInput{} 7218 } 7219 7220 output = &GetClusterCredentialsOutput{} 7221 req = c.newRequest(op, input, output) 7222 return 7223} 7224 7225// GetClusterCredentials API operation for Amazon Redshift. 7226// 7227// Returns a database user name and temporary password with temporary authorization 7228// to log on to an Amazon Redshift database. The action returns the database 7229// user name prefixed with IAM: if AutoCreate is False or IAMA: if AutoCreate 7230// is True. You can optionally specify one or more database user groups that 7231// the user will join at log on. By default, the temporary credentials expire 7232// in 900 seconds. You can optionally specify a duration between 900 seconds 7233// (15 minutes) and 3600 seconds (60 minutes). For more information, see Using 7234// IAM Authentication to Generate Database User Credentials (https://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html) 7235// in the Amazon Redshift Cluster Management Guide. 7236// 7237// The AWS Identity and Access Management (IAM)user or role that executes GetClusterCredentials 7238// must have an IAM policy attached that allows access to all necessary actions 7239// and resources. For more information about permissions, see Resource Policies 7240// for GetClusterCredentials (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html#redshift-policy-resources.getclustercredentials-resources) 7241// in the Amazon Redshift Cluster Management Guide. 7242// 7243// If the DbGroups parameter is specified, the IAM policy must allow the redshift:JoinGroup 7244// action with access to the listed dbgroups. 7245// 7246// In addition, if the AutoCreate parameter is set to True, then the policy 7247// must include the redshift:CreateClusterUser privilege. 7248// 7249// If the DbName parameter is specified, the IAM policy must allow access to 7250// the resource dbname for the specified database name. 7251// 7252// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7253// with awserr.Error's Code and Message methods to get detailed information about 7254// the error. 7255// 7256// See the AWS API reference guide for Amazon Redshift's 7257// API operation GetClusterCredentials for usage and error information. 7258// 7259// Returned Error Codes: 7260// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7261// The ClusterIdentifier parameter does not refer to an existing cluster. 7262// 7263// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 7264// The requested operation isn't supported. 7265// 7266// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetClusterCredentials 7267func (c *Redshift) GetClusterCredentials(input *GetClusterCredentialsInput) (*GetClusterCredentialsOutput, error) { 7268 req, out := c.GetClusterCredentialsRequest(input) 7269 return out, req.Send() 7270} 7271 7272// GetClusterCredentialsWithContext is the same as GetClusterCredentials with the addition of 7273// the ability to pass a context and additional request options. 7274// 7275// See GetClusterCredentials for details on how to use this API operation. 7276// 7277// The context must be non-nil and will be used for request cancellation. If 7278// the context is nil a panic will occur. In the future the SDK may create 7279// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7280// for more information on using Contexts. 7281func (c *Redshift) GetClusterCredentialsWithContext(ctx aws.Context, input *GetClusterCredentialsInput, opts ...request.Option) (*GetClusterCredentialsOutput, error) { 7282 req, out := c.GetClusterCredentialsRequest(input) 7283 req.SetContext(ctx) 7284 req.ApplyOptions(opts...) 7285 return out, req.Send() 7286} 7287 7288const opGetReservedNodeExchangeOfferings = "GetReservedNodeExchangeOfferings" 7289 7290// GetReservedNodeExchangeOfferingsRequest generates a "aws/request.Request" representing the 7291// client's request for the GetReservedNodeExchangeOfferings operation. The "output" return 7292// value will be populated with the request's response once the request completes 7293// successfully. 7294// 7295// Use "Send" method on the returned Request to send the API call to the service. 7296// the "output" return value is not valid until after Send returns without error. 7297// 7298// See GetReservedNodeExchangeOfferings for more information on using the GetReservedNodeExchangeOfferings 7299// API call, and error handling. 7300// 7301// This method is useful when you want to inject custom logic or configuration 7302// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7303// 7304// 7305// // Example sending a request using the GetReservedNodeExchangeOfferingsRequest method. 7306// req, resp := client.GetReservedNodeExchangeOfferingsRequest(params) 7307// 7308// err := req.Send() 7309// if err == nil { // resp is now filled 7310// fmt.Println(resp) 7311// } 7312// 7313// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetReservedNodeExchangeOfferings 7314func (c *Redshift) GetReservedNodeExchangeOfferingsRequest(input *GetReservedNodeExchangeOfferingsInput) (req *request.Request, output *GetReservedNodeExchangeOfferingsOutput) { 7315 op := &request.Operation{ 7316 Name: opGetReservedNodeExchangeOfferings, 7317 HTTPMethod: "POST", 7318 HTTPPath: "/", 7319 } 7320 7321 if input == nil { 7322 input = &GetReservedNodeExchangeOfferingsInput{} 7323 } 7324 7325 output = &GetReservedNodeExchangeOfferingsOutput{} 7326 req = c.newRequest(op, input, output) 7327 return 7328} 7329 7330// GetReservedNodeExchangeOfferings API operation for Amazon Redshift. 7331// 7332// Returns an array of DC2 ReservedNodeOfferings that matches the payment type, 7333// term, and usage price of the given DC1 reserved node. 7334// 7335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7336// with awserr.Error's Code and Message methods to get detailed information about 7337// the error. 7338// 7339// See the AWS API reference guide for Amazon Redshift's 7340// API operation GetReservedNodeExchangeOfferings for usage and error information. 7341// 7342// Returned Error Codes: 7343// * ErrCodeReservedNodeNotFoundFault "ReservedNodeNotFound" 7344// The specified reserved compute node not found. 7345// 7346// * ErrCodeInvalidReservedNodeStateFault "InvalidReservedNodeState" 7347// Indicates that the Reserved Node being exchanged is not in an active state. 7348// 7349// * ErrCodeReservedNodeAlreadyMigratedFault "ReservedNodeAlreadyMigrated" 7350// Indicates that the reserved node has already been exchanged. 7351// 7352// * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound" 7353// Specified offering does not exist. 7354// 7355// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 7356// The requested operation isn't supported. 7357// 7358// * ErrCodeDependentServiceUnavailableFault "DependentServiceUnavailableFault" 7359// Your request cannot be completed because a dependent internal service is 7360// temporarily unavailable. Wait 30 to 60 seconds and try again. 7361// 7362// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/GetReservedNodeExchangeOfferings 7363func (c *Redshift) GetReservedNodeExchangeOfferings(input *GetReservedNodeExchangeOfferingsInput) (*GetReservedNodeExchangeOfferingsOutput, error) { 7364 req, out := c.GetReservedNodeExchangeOfferingsRequest(input) 7365 return out, req.Send() 7366} 7367 7368// GetReservedNodeExchangeOfferingsWithContext is the same as GetReservedNodeExchangeOfferings with the addition of 7369// the ability to pass a context and additional request options. 7370// 7371// See GetReservedNodeExchangeOfferings for details on how to use this API operation. 7372// 7373// The context must be non-nil and will be used for request cancellation. If 7374// the context is nil a panic will occur. In the future the SDK may create 7375// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7376// for more information on using Contexts. 7377func (c *Redshift) GetReservedNodeExchangeOfferingsWithContext(ctx aws.Context, input *GetReservedNodeExchangeOfferingsInput, opts ...request.Option) (*GetReservedNodeExchangeOfferingsOutput, error) { 7378 req, out := c.GetReservedNodeExchangeOfferingsRequest(input) 7379 req.SetContext(ctx) 7380 req.ApplyOptions(opts...) 7381 return out, req.Send() 7382} 7383 7384const opModifyCluster = "ModifyCluster" 7385 7386// ModifyClusterRequest generates a "aws/request.Request" representing the 7387// client's request for the ModifyCluster operation. The "output" return 7388// value will be populated with the request's response once the request completes 7389// successfully. 7390// 7391// Use "Send" method on the returned Request to send the API call to the service. 7392// the "output" return value is not valid until after Send returns without error. 7393// 7394// See ModifyCluster for more information on using the ModifyCluster 7395// API call, and error handling. 7396// 7397// This method is useful when you want to inject custom logic or configuration 7398// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7399// 7400// 7401// // Example sending a request using the ModifyClusterRequest method. 7402// req, resp := client.ModifyClusterRequest(params) 7403// 7404// err := req.Send() 7405// if err == nil { // resp is now filled 7406// fmt.Println(resp) 7407// } 7408// 7409// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyCluster 7410func (c *Redshift) ModifyClusterRequest(input *ModifyClusterInput) (req *request.Request, output *ModifyClusterOutput) { 7411 op := &request.Operation{ 7412 Name: opModifyCluster, 7413 HTTPMethod: "POST", 7414 HTTPPath: "/", 7415 } 7416 7417 if input == nil { 7418 input = &ModifyClusterInput{} 7419 } 7420 7421 output = &ModifyClusterOutput{} 7422 req = c.newRequest(op, input, output) 7423 return 7424} 7425 7426// ModifyCluster API operation for Amazon Redshift. 7427// 7428// Modifies the settings for a cluster. 7429// 7430// You can also change node type and the number of nodes to scale up or down 7431// the cluster. When resizing a cluster, you must specify both the number of 7432// nodes and the node type even if one of the parameters does not change. 7433// 7434// You can add another security or parameter group, or change the master user 7435// password. Resetting a cluster password or modifying the security groups associated 7436// with a cluster do not need a reboot. However, modifying a parameter group 7437// requires a reboot for parameters to take effect. For more information about 7438// managing clusters, go to Amazon Redshift Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 7439// in the Amazon Redshift Cluster Management Guide. 7440// 7441// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7442// with awserr.Error's Code and Message methods to get detailed information about 7443// the error. 7444// 7445// See the AWS API reference guide for Amazon Redshift's 7446// API operation ModifyCluster for usage and error information. 7447// 7448// Returned Error Codes: 7449// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 7450// The specified cluster is not in the available state. 7451// 7452// * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState" 7453// The state of the cluster security group is not available. 7454// 7455// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7456// The ClusterIdentifier parameter does not refer to an existing cluster. 7457// 7458// * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded" 7459// The operation would exceed the number of nodes allotted to the account. For 7460// information about increasing your quota, go to Limits in Amazon Redshift 7461// (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 7462// in the Amazon Redshift Cluster Management Guide. 7463// 7464// * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded" 7465// The operation would exceed the number of nodes allowed for a cluster. 7466// 7467// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 7468// The cluster security group name does not refer to an existing cluster security 7469// group. 7470// 7471// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 7472// The parameter group name does not refer to an existing parameter group. 7473// 7474// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity" 7475// The number of nodes specified exceeds the allotted capacity of the cluster. 7476// 7477// * ErrCodeUnsupportedOptionFault "UnsupportedOptionFault" 7478// A request option was specified that is not supported. 7479// 7480// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 7481// Your account is not authorized to perform the requested operation. 7482// 7483// * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault" 7484// There is no Amazon Redshift HSM client certificate with the specified identifier. 7485// 7486// * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault" 7487// There is no Amazon Redshift HSM configuration with the specified identifier. 7488// 7489// * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExists" 7490// The account already has a cluster with the given identifier. 7491// 7492// * ErrCodeLimitExceededFault "LimitExceededFault" 7493// The encryption key has exceeded its grant limit in AWS KMS. 7494// 7495// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 7496// The request cannot be completed because a dependent service is throttling 7497// requests made by Amazon Redshift on your behalf. Wait and retry the request. 7498// 7499// * ErrCodeInvalidElasticIpFault "InvalidElasticIpFault" 7500// The Elastic IP (EIP) is invalid or cannot be found. 7501// 7502// * ErrCodeTableLimitExceededFault "TableLimitExceeded" 7503// The number of tables in the cluster exceeds the limit for the requested new 7504// cluster node type. 7505// 7506// * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack" 7507// The provided cluster track name is not valid. 7508// 7509// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 7510// The retention period specified is either in the past or is not a valid value. 7511// 7512// The value must be either -1 or an integer between 1 and 3,653. 7513// 7514// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyCluster 7515func (c *Redshift) ModifyCluster(input *ModifyClusterInput) (*ModifyClusterOutput, error) { 7516 req, out := c.ModifyClusterRequest(input) 7517 return out, req.Send() 7518} 7519 7520// ModifyClusterWithContext is the same as ModifyCluster with the addition of 7521// the ability to pass a context and additional request options. 7522// 7523// See ModifyCluster for details on how to use this API operation. 7524// 7525// The context must be non-nil and will be used for request cancellation. If 7526// the context is nil a panic will occur. In the future the SDK may create 7527// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7528// for more information on using Contexts. 7529func (c *Redshift) ModifyClusterWithContext(ctx aws.Context, input *ModifyClusterInput, opts ...request.Option) (*ModifyClusterOutput, error) { 7530 req, out := c.ModifyClusterRequest(input) 7531 req.SetContext(ctx) 7532 req.ApplyOptions(opts...) 7533 return out, req.Send() 7534} 7535 7536const opModifyClusterDbRevision = "ModifyClusterDbRevision" 7537 7538// ModifyClusterDbRevisionRequest generates a "aws/request.Request" representing the 7539// client's request for the ModifyClusterDbRevision operation. The "output" return 7540// value will be populated with the request's response once the request completes 7541// successfully. 7542// 7543// Use "Send" method on the returned Request to send the API call to the service. 7544// the "output" return value is not valid until after Send returns without error. 7545// 7546// See ModifyClusterDbRevision for more information on using the ModifyClusterDbRevision 7547// API call, and error handling. 7548// 7549// This method is useful when you want to inject custom logic or configuration 7550// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7551// 7552// 7553// // Example sending a request using the ModifyClusterDbRevisionRequest method. 7554// req, resp := client.ModifyClusterDbRevisionRequest(params) 7555// 7556// err := req.Send() 7557// if err == nil { // resp is now filled 7558// fmt.Println(resp) 7559// } 7560// 7561// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterDbRevision 7562func (c *Redshift) ModifyClusterDbRevisionRequest(input *ModifyClusterDbRevisionInput) (req *request.Request, output *ModifyClusterDbRevisionOutput) { 7563 op := &request.Operation{ 7564 Name: opModifyClusterDbRevision, 7565 HTTPMethod: "POST", 7566 HTTPPath: "/", 7567 } 7568 7569 if input == nil { 7570 input = &ModifyClusterDbRevisionInput{} 7571 } 7572 7573 output = &ModifyClusterDbRevisionOutput{} 7574 req = c.newRequest(op, input, output) 7575 return 7576} 7577 7578// ModifyClusterDbRevision API operation for Amazon Redshift. 7579// 7580// Modifies the database revision of a cluster. The database revision is a unique 7581// revision of the database running in a cluster. 7582// 7583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7584// with awserr.Error's Code and Message methods to get detailed information about 7585// the error. 7586// 7587// See the AWS API reference guide for Amazon Redshift's 7588// API operation ModifyClusterDbRevision for usage and error information. 7589// 7590// Returned Error Codes: 7591// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7592// The ClusterIdentifier parameter does not refer to an existing cluster. 7593// 7594// * ErrCodeClusterOnLatestRevisionFault "ClusterOnLatestRevision" 7595// Cluster is already on the latest database revision. 7596// 7597// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 7598// The specified cluster is not in the available state. 7599// 7600// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterDbRevision 7601func (c *Redshift) ModifyClusterDbRevision(input *ModifyClusterDbRevisionInput) (*ModifyClusterDbRevisionOutput, error) { 7602 req, out := c.ModifyClusterDbRevisionRequest(input) 7603 return out, req.Send() 7604} 7605 7606// ModifyClusterDbRevisionWithContext is the same as ModifyClusterDbRevision with the addition of 7607// the ability to pass a context and additional request options. 7608// 7609// See ModifyClusterDbRevision for details on how to use this API operation. 7610// 7611// The context must be non-nil and will be used for request cancellation. If 7612// the context is nil a panic will occur. In the future the SDK may create 7613// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7614// for more information on using Contexts. 7615func (c *Redshift) ModifyClusterDbRevisionWithContext(ctx aws.Context, input *ModifyClusterDbRevisionInput, opts ...request.Option) (*ModifyClusterDbRevisionOutput, error) { 7616 req, out := c.ModifyClusterDbRevisionRequest(input) 7617 req.SetContext(ctx) 7618 req.ApplyOptions(opts...) 7619 return out, req.Send() 7620} 7621 7622const opModifyClusterIamRoles = "ModifyClusterIamRoles" 7623 7624// ModifyClusterIamRolesRequest generates a "aws/request.Request" representing the 7625// client's request for the ModifyClusterIamRoles operation. The "output" return 7626// value will be populated with the request's response once the request completes 7627// successfully. 7628// 7629// Use "Send" method on the returned Request to send the API call to the service. 7630// the "output" return value is not valid until after Send returns without error. 7631// 7632// See ModifyClusterIamRoles for more information on using the ModifyClusterIamRoles 7633// API call, and error handling. 7634// 7635// This method is useful when you want to inject custom logic or configuration 7636// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7637// 7638// 7639// // Example sending a request using the ModifyClusterIamRolesRequest method. 7640// req, resp := client.ModifyClusterIamRolesRequest(params) 7641// 7642// err := req.Send() 7643// if err == nil { // resp is now filled 7644// fmt.Println(resp) 7645// } 7646// 7647// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterIamRoles 7648func (c *Redshift) ModifyClusterIamRolesRequest(input *ModifyClusterIamRolesInput) (req *request.Request, output *ModifyClusterIamRolesOutput) { 7649 op := &request.Operation{ 7650 Name: opModifyClusterIamRoles, 7651 HTTPMethod: "POST", 7652 HTTPPath: "/", 7653 } 7654 7655 if input == nil { 7656 input = &ModifyClusterIamRolesInput{} 7657 } 7658 7659 output = &ModifyClusterIamRolesOutput{} 7660 req = c.newRequest(op, input, output) 7661 return 7662} 7663 7664// ModifyClusterIamRoles API operation for Amazon Redshift. 7665// 7666// Modifies the list of AWS Identity and Access Management (IAM) roles that 7667// can be used by the cluster to access other AWS services. 7668// 7669// A cluster can have up to 10 IAM roles associated at any time. 7670// 7671// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7672// with awserr.Error's Code and Message methods to get detailed information about 7673// the error. 7674// 7675// See the AWS API reference guide for Amazon Redshift's 7676// API operation ModifyClusterIamRoles for usage and error information. 7677// 7678// Returned Error Codes: 7679// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 7680// The specified cluster is not in the available state. 7681// 7682// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7683// The ClusterIdentifier parameter does not refer to an existing cluster. 7684// 7685// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterIamRoles 7686func (c *Redshift) ModifyClusterIamRoles(input *ModifyClusterIamRolesInput) (*ModifyClusterIamRolesOutput, error) { 7687 req, out := c.ModifyClusterIamRolesRequest(input) 7688 return out, req.Send() 7689} 7690 7691// ModifyClusterIamRolesWithContext is the same as ModifyClusterIamRoles with the addition of 7692// the ability to pass a context and additional request options. 7693// 7694// See ModifyClusterIamRoles for details on how to use this API operation. 7695// 7696// The context must be non-nil and will be used for request cancellation. If 7697// the context is nil a panic will occur. In the future the SDK may create 7698// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7699// for more information on using Contexts. 7700func (c *Redshift) ModifyClusterIamRolesWithContext(ctx aws.Context, input *ModifyClusterIamRolesInput, opts ...request.Option) (*ModifyClusterIamRolesOutput, error) { 7701 req, out := c.ModifyClusterIamRolesRequest(input) 7702 req.SetContext(ctx) 7703 req.ApplyOptions(opts...) 7704 return out, req.Send() 7705} 7706 7707const opModifyClusterMaintenance = "ModifyClusterMaintenance" 7708 7709// ModifyClusterMaintenanceRequest generates a "aws/request.Request" representing the 7710// client's request for the ModifyClusterMaintenance operation. The "output" return 7711// value will be populated with the request's response once the request completes 7712// successfully. 7713// 7714// Use "Send" method on the returned Request to send the API call to the service. 7715// the "output" return value is not valid until after Send returns without error. 7716// 7717// See ModifyClusterMaintenance for more information on using the ModifyClusterMaintenance 7718// API call, and error handling. 7719// 7720// This method is useful when you want to inject custom logic or configuration 7721// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7722// 7723// 7724// // Example sending a request using the ModifyClusterMaintenanceRequest method. 7725// req, resp := client.ModifyClusterMaintenanceRequest(params) 7726// 7727// err := req.Send() 7728// if err == nil { // resp is now filled 7729// fmt.Println(resp) 7730// } 7731// 7732// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterMaintenance 7733func (c *Redshift) ModifyClusterMaintenanceRequest(input *ModifyClusterMaintenanceInput) (req *request.Request, output *ModifyClusterMaintenanceOutput) { 7734 op := &request.Operation{ 7735 Name: opModifyClusterMaintenance, 7736 HTTPMethod: "POST", 7737 HTTPPath: "/", 7738 } 7739 7740 if input == nil { 7741 input = &ModifyClusterMaintenanceInput{} 7742 } 7743 7744 output = &ModifyClusterMaintenanceOutput{} 7745 req = c.newRequest(op, input, output) 7746 return 7747} 7748 7749// ModifyClusterMaintenance API operation for Amazon Redshift. 7750// 7751// Modifies the maintenance settings of a cluster. 7752// 7753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7754// with awserr.Error's Code and Message methods to get detailed information about 7755// the error. 7756// 7757// See the AWS API reference guide for Amazon Redshift's 7758// API operation ModifyClusterMaintenance for usage and error information. 7759// 7760// Returned Error Codes: 7761// * ErrCodeClusterNotFoundFault "ClusterNotFound" 7762// The ClusterIdentifier parameter does not refer to an existing cluster. 7763// 7764// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 7765// The specified cluster is not in the available state. 7766// 7767// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterMaintenance 7768func (c *Redshift) ModifyClusterMaintenance(input *ModifyClusterMaintenanceInput) (*ModifyClusterMaintenanceOutput, error) { 7769 req, out := c.ModifyClusterMaintenanceRequest(input) 7770 return out, req.Send() 7771} 7772 7773// ModifyClusterMaintenanceWithContext is the same as ModifyClusterMaintenance with the addition of 7774// the ability to pass a context and additional request options. 7775// 7776// See ModifyClusterMaintenance for details on how to use this API operation. 7777// 7778// The context must be non-nil and will be used for request cancellation. If 7779// the context is nil a panic will occur. In the future the SDK may create 7780// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7781// for more information on using Contexts. 7782func (c *Redshift) ModifyClusterMaintenanceWithContext(ctx aws.Context, input *ModifyClusterMaintenanceInput, opts ...request.Option) (*ModifyClusterMaintenanceOutput, error) { 7783 req, out := c.ModifyClusterMaintenanceRequest(input) 7784 req.SetContext(ctx) 7785 req.ApplyOptions(opts...) 7786 return out, req.Send() 7787} 7788 7789const opModifyClusterParameterGroup = "ModifyClusterParameterGroup" 7790 7791// ModifyClusterParameterGroupRequest generates a "aws/request.Request" representing the 7792// client's request for the ModifyClusterParameterGroup operation. The "output" return 7793// value will be populated with the request's response once the request completes 7794// successfully. 7795// 7796// Use "Send" method on the returned Request to send the API call to the service. 7797// the "output" return value is not valid until after Send returns without error. 7798// 7799// See ModifyClusterParameterGroup for more information on using the ModifyClusterParameterGroup 7800// API call, and error handling. 7801// 7802// This method is useful when you want to inject custom logic or configuration 7803// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7804// 7805// 7806// // Example sending a request using the ModifyClusterParameterGroupRequest method. 7807// req, resp := client.ModifyClusterParameterGroupRequest(params) 7808// 7809// err := req.Send() 7810// if err == nil { // resp is now filled 7811// fmt.Println(resp) 7812// } 7813// 7814// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterParameterGroup 7815func (c *Redshift) ModifyClusterParameterGroupRequest(input *ModifyClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) { 7816 op := &request.Operation{ 7817 Name: opModifyClusterParameterGroup, 7818 HTTPMethod: "POST", 7819 HTTPPath: "/", 7820 } 7821 7822 if input == nil { 7823 input = &ModifyClusterParameterGroupInput{} 7824 } 7825 7826 output = &ClusterParameterGroupNameMessage{} 7827 req = c.newRequest(op, input, output) 7828 return 7829} 7830 7831// ModifyClusterParameterGroup API operation for Amazon Redshift. 7832// 7833// Modifies the parameters of a parameter group. 7834// 7835// For more information about parameters and parameter groups, go to Amazon 7836// Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 7837// in the Amazon Redshift Cluster Management Guide. 7838// 7839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7840// with awserr.Error's Code and Message methods to get detailed information about 7841// the error. 7842// 7843// See the AWS API reference guide for Amazon Redshift's 7844// API operation ModifyClusterParameterGroup for usage and error information. 7845// 7846// Returned Error Codes: 7847// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 7848// The parameter group name does not refer to an existing parameter group. 7849// 7850// * ErrCodeInvalidClusterParameterGroupStateFault "InvalidClusterParameterGroupState" 7851// The cluster parameter group action can not be completed because another task 7852// is in progress that involves the parameter group. Wait a few moments and 7853// try the operation again. 7854// 7855// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterParameterGroup 7856func (c *Redshift) ModifyClusterParameterGroup(input *ModifyClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) { 7857 req, out := c.ModifyClusterParameterGroupRequest(input) 7858 return out, req.Send() 7859} 7860 7861// ModifyClusterParameterGroupWithContext is the same as ModifyClusterParameterGroup with the addition of 7862// the ability to pass a context and additional request options. 7863// 7864// See ModifyClusterParameterGroup for details on how to use this API operation. 7865// 7866// The context must be non-nil and will be used for request cancellation. If 7867// the context is nil a panic will occur. In the future the SDK may create 7868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7869// for more information on using Contexts. 7870func (c *Redshift) ModifyClusterParameterGroupWithContext(ctx aws.Context, input *ModifyClusterParameterGroupInput, opts ...request.Option) (*ClusterParameterGroupNameMessage, error) { 7871 req, out := c.ModifyClusterParameterGroupRequest(input) 7872 req.SetContext(ctx) 7873 req.ApplyOptions(opts...) 7874 return out, req.Send() 7875} 7876 7877const opModifyClusterSnapshot = "ModifyClusterSnapshot" 7878 7879// ModifyClusterSnapshotRequest generates a "aws/request.Request" representing the 7880// client's request for the ModifyClusterSnapshot operation. The "output" return 7881// value will be populated with the request's response once the request completes 7882// successfully. 7883// 7884// Use "Send" method on the returned Request to send the API call to the service. 7885// the "output" return value is not valid until after Send returns without error. 7886// 7887// See ModifyClusterSnapshot for more information on using the ModifyClusterSnapshot 7888// API call, and error handling. 7889// 7890// This method is useful when you want to inject custom logic or configuration 7891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7892// 7893// 7894// // Example sending a request using the ModifyClusterSnapshotRequest method. 7895// req, resp := client.ModifyClusterSnapshotRequest(params) 7896// 7897// err := req.Send() 7898// if err == nil { // resp is now filled 7899// fmt.Println(resp) 7900// } 7901// 7902// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshot 7903func (c *Redshift) ModifyClusterSnapshotRequest(input *ModifyClusterSnapshotInput) (req *request.Request, output *ModifyClusterSnapshotOutput) { 7904 op := &request.Operation{ 7905 Name: opModifyClusterSnapshot, 7906 HTTPMethod: "POST", 7907 HTTPPath: "/", 7908 } 7909 7910 if input == nil { 7911 input = &ModifyClusterSnapshotInput{} 7912 } 7913 7914 output = &ModifyClusterSnapshotOutput{} 7915 req = c.newRequest(op, input, output) 7916 return 7917} 7918 7919// ModifyClusterSnapshot API operation for Amazon Redshift. 7920// 7921// Modifies the settings for a snapshot. 7922// 7923// This exanmple modifies the manual retention period setting for a cluster 7924// snapshot. 7925// 7926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 7927// with awserr.Error's Code and Message methods to get detailed information about 7928// the error. 7929// 7930// See the AWS API reference guide for Amazon Redshift's 7931// API operation ModifyClusterSnapshot for usage and error information. 7932// 7933// Returned Error Codes: 7934// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 7935// The specified cluster snapshot is not in the available state, or other accounts 7936// are authorized to access the snapshot. 7937// 7938// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 7939// The snapshot identifier does not refer to an existing cluster snapshot. 7940// 7941// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 7942// The retention period specified is either in the past or is not a valid value. 7943// 7944// The value must be either -1 or an integer between 1 and 3,653. 7945// 7946// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshot 7947func (c *Redshift) ModifyClusterSnapshot(input *ModifyClusterSnapshotInput) (*ModifyClusterSnapshotOutput, error) { 7948 req, out := c.ModifyClusterSnapshotRequest(input) 7949 return out, req.Send() 7950} 7951 7952// ModifyClusterSnapshotWithContext is the same as ModifyClusterSnapshot with the addition of 7953// the ability to pass a context and additional request options. 7954// 7955// See ModifyClusterSnapshot for details on how to use this API operation. 7956// 7957// The context must be non-nil and will be used for request cancellation. If 7958// the context is nil a panic will occur. In the future the SDK may create 7959// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 7960// for more information on using Contexts. 7961func (c *Redshift) ModifyClusterSnapshotWithContext(ctx aws.Context, input *ModifyClusterSnapshotInput, opts ...request.Option) (*ModifyClusterSnapshotOutput, error) { 7962 req, out := c.ModifyClusterSnapshotRequest(input) 7963 req.SetContext(ctx) 7964 req.ApplyOptions(opts...) 7965 return out, req.Send() 7966} 7967 7968const opModifyClusterSnapshotSchedule = "ModifyClusterSnapshotSchedule" 7969 7970// ModifyClusterSnapshotScheduleRequest generates a "aws/request.Request" representing the 7971// client's request for the ModifyClusterSnapshotSchedule operation. The "output" return 7972// value will be populated with the request's response once the request completes 7973// successfully. 7974// 7975// Use "Send" method on the returned Request to send the API call to the service. 7976// the "output" return value is not valid until after Send returns without error. 7977// 7978// See ModifyClusterSnapshotSchedule for more information on using the ModifyClusterSnapshotSchedule 7979// API call, and error handling. 7980// 7981// This method is useful when you want to inject custom logic or configuration 7982// into the SDK's request lifecycle. Such as custom headers, or retry logic. 7983// 7984// 7985// // Example sending a request using the ModifyClusterSnapshotScheduleRequest method. 7986// req, resp := client.ModifyClusterSnapshotScheduleRequest(params) 7987// 7988// err := req.Send() 7989// if err == nil { // resp is now filled 7990// fmt.Println(resp) 7991// } 7992// 7993// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotSchedule 7994func (c *Redshift) ModifyClusterSnapshotScheduleRequest(input *ModifyClusterSnapshotScheduleInput) (req *request.Request, output *ModifyClusterSnapshotScheduleOutput) { 7995 op := &request.Operation{ 7996 Name: opModifyClusterSnapshotSchedule, 7997 HTTPMethod: "POST", 7998 HTTPPath: "/", 7999 } 8000 8001 if input == nil { 8002 input = &ModifyClusterSnapshotScheduleInput{} 8003 } 8004 8005 output = &ModifyClusterSnapshotScheduleOutput{} 8006 req = c.newRequest(op, input, output) 8007 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 8008 return 8009} 8010 8011// ModifyClusterSnapshotSchedule API operation for Amazon Redshift. 8012// 8013// Modifies a snapshot schedule for a cluster. 8014// 8015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8016// with awserr.Error's Code and Message methods to get detailed information about 8017// the error. 8018// 8019// See the AWS API reference guide for Amazon Redshift's 8020// API operation ModifyClusterSnapshotSchedule for usage and error information. 8021// 8022// Returned Error Codes: 8023// * ErrCodeClusterNotFoundFault "ClusterNotFound" 8024// The ClusterIdentifier parameter does not refer to an existing cluster. 8025// 8026// * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound" 8027// We could not find the specified snapshot schedule. 8028// 8029// * ErrCodeInvalidClusterSnapshotScheduleStateFault "InvalidClusterSnapshotScheduleState" 8030// The cluster snapshot schedule state is not valid. 8031// 8032// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSnapshotSchedule 8033func (c *Redshift) ModifyClusterSnapshotSchedule(input *ModifyClusterSnapshotScheduleInput) (*ModifyClusterSnapshotScheduleOutput, error) { 8034 req, out := c.ModifyClusterSnapshotScheduleRequest(input) 8035 return out, req.Send() 8036} 8037 8038// ModifyClusterSnapshotScheduleWithContext is the same as ModifyClusterSnapshotSchedule with the addition of 8039// the ability to pass a context and additional request options. 8040// 8041// See ModifyClusterSnapshotSchedule for details on how to use this API operation. 8042// 8043// The context must be non-nil and will be used for request cancellation. If 8044// the context is nil a panic will occur. In the future the SDK may create 8045// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8046// for more information on using Contexts. 8047func (c *Redshift) ModifyClusterSnapshotScheduleWithContext(ctx aws.Context, input *ModifyClusterSnapshotScheduleInput, opts ...request.Option) (*ModifyClusterSnapshotScheduleOutput, error) { 8048 req, out := c.ModifyClusterSnapshotScheduleRequest(input) 8049 req.SetContext(ctx) 8050 req.ApplyOptions(opts...) 8051 return out, req.Send() 8052} 8053 8054const opModifyClusterSubnetGroup = "ModifyClusterSubnetGroup" 8055 8056// ModifyClusterSubnetGroupRequest generates a "aws/request.Request" representing the 8057// client's request for the ModifyClusterSubnetGroup operation. The "output" return 8058// value will be populated with the request's response once the request completes 8059// successfully. 8060// 8061// Use "Send" method on the returned Request to send the API call to the service. 8062// the "output" return value is not valid until after Send returns without error. 8063// 8064// See ModifyClusterSubnetGroup for more information on using the ModifyClusterSubnetGroup 8065// API call, and error handling. 8066// 8067// This method is useful when you want to inject custom logic or configuration 8068// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8069// 8070// 8071// // Example sending a request using the ModifyClusterSubnetGroupRequest method. 8072// req, resp := client.ModifyClusterSubnetGroupRequest(params) 8073// 8074// err := req.Send() 8075// if err == nil { // resp is now filled 8076// fmt.Println(resp) 8077// } 8078// 8079// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSubnetGroup 8080func (c *Redshift) ModifyClusterSubnetGroupRequest(input *ModifyClusterSubnetGroupInput) (req *request.Request, output *ModifyClusterSubnetGroupOutput) { 8081 op := &request.Operation{ 8082 Name: opModifyClusterSubnetGroup, 8083 HTTPMethod: "POST", 8084 HTTPPath: "/", 8085 } 8086 8087 if input == nil { 8088 input = &ModifyClusterSubnetGroupInput{} 8089 } 8090 8091 output = &ModifyClusterSubnetGroupOutput{} 8092 req = c.newRequest(op, input, output) 8093 return 8094} 8095 8096// ModifyClusterSubnetGroup API operation for Amazon Redshift. 8097// 8098// Modifies a cluster subnet group to include the specified list of VPC subnets. 8099// The operation replaces the existing list of subnets with the new list of 8100// subnets. 8101// 8102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8103// with awserr.Error's Code and Message methods to get detailed information about 8104// the error. 8105// 8106// See the AWS API reference guide for Amazon Redshift's 8107// API operation ModifyClusterSubnetGroup for usage and error information. 8108// 8109// Returned Error Codes: 8110// * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault" 8111// The cluster subnet group name does not refer to an existing cluster subnet 8112// group. 8113// 8114// * ErrCodeClusterSubnetQuotaExceededFault "ClusterSubnetQuotaExceededFault" 8115// The request would result in user exceeding the allowed number of subnets 8116// in a cluster subnet groups. For information about increasing your quota, 8117// go to Limits in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 8118// in the Amazon Redshift Cluster Management Guide. 8119// 8120// * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse" 8121// A specified subnet is already in use by another cluster. 8122// 8123// * ErrCodeInvalidSubnet "InvalidSubnet" 8124// The requested subnet is not valid, or not all of the subnets are in the same 8125// VPC. 8126// 8127// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 8128// Your account is not authorized to perform the requested operation. 8129// 8130// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 8131// The request cannot be completed because a dependent service is throttling 8132// requests made by Amazon Redshift on your behalf. Wait and retry the request. 8133// 8134// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyClusterSubnetGroup 8135func (c *Redshift) ModifyClusterSubnetGroup(input *ModifyClusterSubnetGroupInput) (*ModifyClusterSubnetGroupOutput, error) { 8136 req, out := c.ModifyClusterSubnetGroupRequest(input) 8137 return out, req.Send() 8138} 8139 8140// ModifyClusterSubnetGroupWithContext is the same as ModifyClusterSubnetGroup with the addition of 8141// the ability to pass a context and additional request options. 8142// 8143// See ModifyClusterSubnetGroup for details on how to use this API operation. 8144// 8145// The context must be non-nil and will be used for request cancellation. If 8146// the context is nil a panic will occur. In the future the SDK may create 8147// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8148// for more information on using Contexts. 8149func (c *Redshift) ModifyClusterSubnetGroupWithContext(ctx aws.Context, input *ModifyClusterSubnetGroupInput, opts ...request.Option) (*ModifyClusterSubnetGroupOutput, error) { 8150 req, out := c.ModifyClusterSubnetGroupRequest(input) 8151 req.SetContext(ctx) 8152 req.ApplyOptions(opts...) 8153 return out, req.Send() 8154} 8155 8156const opModifyEventSubscription = "ModifyEventSubscription" 8157 8158// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the 8159// client's request for the ModifyEventSubscription operation. The "output" return 8160// value will be populated with the request's response once the request completes 8161// successfully. 8162// 8163// Use "Send" method on the returned Request to send the API call to the service. 8164// the "output" return value is not valid until after Send returns without error. 8165// 8166// See ModifyEventSubscription for more information on using the ModifyEventSubscription 8167// API call, and error handling. 8168// 8169// This method is useful when you want to inject custom logic or configuration 8170// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8171// 8172// 8173// // Example sending a request using the ModifyEventSubscriptionRequest method. 8174// req, resp := client.ModifyEventSubscriptionRequest(params) 8175// 8176// err := req.Send() 8177// if err == nil { // resp is now filled 8178// fmt.Println(resp) 8179// } 8180// 8181// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyEventSubscription 8182func (c *Redshift) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) { 8183 op := &request.Operation{ 8184 Name: opModifyEventSubscription, 8185 HTTPMethod: "POST", 8186 HTTPPath: "/", 8187 } 8188 8189 if input == nil { 8190 input = &ModifyEventSubscriptionInput{} 8191 } 8192 8193 output = &ModifyEventSubscriptionOutput{} 8194 req = c.newRequest(op, input, output) 8195 return 8196} 8197 8198// ModifyEventSubscription API operation for Amazon Redshift. 8199// 8200// Modifies an existing Amazon Redshift event notification subscription. 8201// 8202// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8203// with awserr.Error's Code and Message methods to get detailed information about 8204// the error. 8205// 8206// See the AWS API reference guide for Amazon Redshift's 8207// API operation ModifyEventSubscription for usage and error information. 8208// 8209// Returned Error Codes: 8210// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" 8211// An Amazon Redshift event notification subscription with the specified name 8212// does not exist. 8213// 8214// * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic" 8215// Amazon SNS has responded that there is a problem with the specified Amazon 8216// SNS topic. 8217// 8218// * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization" 8219// You do not have permission to publish to the specified Amazon SNS topic. 8220// 8221// * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound" 8222// An Amazon SNS topic with the specified Amazon Resource Name (ARN) does not 8223// exist. 8224// 8225// * ErrCodeSubscriptionEventIdNotFoundFault "SubscriptionEventIdNotFound" 8226// An Amazon Redshift event with the specified event ID does not exist. 8227// 8228// * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound" 8229// The value specified for the event category was not one of the allowed values, 8230// or it specified a category that does not apply to the specified source type. 8231// The allowed values are Configuration, Management, Monitoring, and Security. 8232// 8233// * ErrCodeSubscriptionSeverityNotFoundFault "SubscriptionSeverityNotFound" 8234// The value specified for the event severity was not one of the allowed values, 8235// or it specified a severity that does not apply to the specified source type. 8236// The allowed values are ERROR and INFO. 8237// 8238// * ErrCodeSourceNotFoundFault "SourceNotFound" 8239// The specified Amazon Redshift event source could not be found. 8240// 8241// * ErrCodeInvalidSubscriptionStateFault "InvalidSubscriptionStateFault" 8242// The subscription request is invalid because it is a duplicate request. This 8243// subscription request is already in progress. 8244// 8245// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyEventSubscription 8246func (c *Redshift) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) { 8247 req, out := c.ModifyEventSubscriptionRequest(input) 8248 return out, req.Send() 8249} 8250 8251// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of 8252// the ability to pass a context and additional request options. 8253// 8254// See ModifyEventSubscription for details on how to use this API operation. 8255// 8256// The context must be non-nil and will be used for request cancellation. If 8257// the context is nil a panic will occur. In the future the SDK may create 8258// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8259// for more information on using Contexts. 8260func (c *Redshift) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) { 8261 req, out := c.ModifyEventSubscriptionRequest(input) 8262 req.SetContext(ctx) 8263 req.ApplyOptions(opts...) 8264 return out, req.Send() 8265} 8266 8267const opModifyScheduledAction = "ModifyScheduledAction" 8268 8269// ModifyScheduledActionRequest generates a "aws/request.Request" representing the 8270// client's request for the ModifyScheduledAction operation. The "output" return 8271// value will be populated with the request's response once the request completes 8272// successfully. 8273// 8274// Use "Send" method on the returned Request to send the API call to the service. 8275// the "output" return value is not valid until after Send returns without error. 8276// 8277// See ModifyScheduledAction for more information on using the ModifyScheduledAction 8278// API call, and error handling. 8279// 8280// This method is useful when you want to inject custom logic or configuration 8281// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8282// 8283// 8284// // Example sending a request using the ModifyScheduledActionRequest method. 8285// req, resp := client.ModifyScheduledActionRequest(params) 8286// 8287// err := req.Send() 8288// if err == nil { // resp is now filled 8289// fmt.Println(resp) 8290// } 8291// 8292// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction 8293func (c *Redshift) ModifyScheduledActionRequest(input *ModifyScheduledActionInput) (req *request.Request, output *ModifyScheduledActionOutput) { 8294 op := &request.Operation{ 8295 Name: opModifyScheduledAction, 8296 HTTPMethod: "POST", 8297 HTTPPath: "/", 8298 } 8299 8300 if input == nil { 8301 input = &ModifyScheduledActionInput{} 8302 } 8303 8304 output = &ModifyScheduledActionOutput{} 8305 req = c.newRequest(op, input, output) 8306 return 8307} 8308 8309// ModifyScheduledAction API operation for Amazon Redshift. 8310// 8311// Modifies a scheduled action. 8312// 8313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8314// with awserr.Error's Code and Message methods to get detailed information about 8315// the error. 8316// 8317// See the AWS API reference guide for Amazon Redshift's 8318// API operation ModifyScheduledAction for usage and error information. 8319// 8320// Returned Error Codes: 8321// * ErrCodeScheduledActionNotFoundFault "ScheduledActionNotFound" 8322// The scheduled action cannot be found. 8323// 8324// * ErrCodeScheduledActionTypeUnsupportedFault "ScheduledActionTypeUnsupported" 8325// The action type specified for a scheduled action is not supported. 8326// 8327// * ErrCodeInvalidScheduleFault "InvalidSchedule" 8328// The schedule you submitted isn't valid. 8329// 8330// * ErrCodeInvalidScheduledActionFault "InvalidScheduledAction" 8331// The scheduled action is not valid. 8332// 8333// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 8334// Your account is not authorized to perform the requested operation. 8335// 8336// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyScheduledAction 8337func (c *Redshift) ModifyScheduledAction(input *ModifyScheduledActionInput) (*ModifyScheduledActionOutput, error) { 8338 req, out := c.ModifyScheduledActionRequest(input) 8339 return out, req.Send() 8340} 8341 8342// ModifyScheduledActionWithContext is the same as ModifyScheduledAction with the addition of 8343// the ability to pass a context and additional request options. 8344// 8345// See ModifyScheduledAction for details on how to use this API operation. 8346// 8347// The context must be non-nil and will be used for request cancellation. If 8348// the context is nil a panic will occur. In the future the SDK may create 8349// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8350// for more information on using Contexts. 8351func (c *Redshift) ModifyScheduledActionWithContext(ctx aws.Context, input *ModifyScheduledActionInput, opts ...request.Option) (*ModifyScheduledActionOutput, error) { 8352 req, out := c.ModifyScheduledActionRequest(input) 8353 req.SetContext(ctx) 8354 req.ApplyOptions(opts...) 8355 return out, req.Send() 8356} 8357 8358const opModifySnapshotCopyRetentionPeriod = "ModifySnapshotCopyRetentionPeriod" 8359 8360// ModifySnapshotCopyRetentionPeriodRequest generates a "aws/request.Request" representing the 8361// client's request for the ModifySnapshotCopyRetentionPeriod operation. The "output" return 8362// value will be populated with the request's response once the request completes 8363// successfully. 8364// 8365// Use "Send" method on the returned Request to send the API call to the service. 8366// the "output" return value is not valid until after Send returns without error. 8367// 8368// See ModifySnapshotCopyRetentionPeriod for more information on using the ModifySnapshotCopyRetentionPeriod 8369// API call, and error handling. 8370// 8371// This method is useful when you want to inject custom logic or configuration 8372// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8373// 8374// 8375// // Example sending a request using the ModifySnapshotCopyRetentionPeriodRequest method. 8376// req, resp := client.ModifySnapshotCopyRetentionPeriodRequest(params) 8377// 8378// err := req.Send() 8379// if err == nil { // resp is now filled 8380// fmt.Println(resp) 8381// } 8382// 8383// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod 8384func (c *Redshift) ModifySnapshotCopyRetentionPeriodRequest(input *ModifySnapshotCopyRetentionPeriodInput) (req *request.Request, output *ModifySnapshotCopyRetentionPeriodOutput) { 8385 op := &request.Operation{ 8386 Name: opModifySnapshotCopyRetentionPeriod, 8387 HTTPMethod: "POST", 8388 HTTPPath: "/", 8389 } 8390 8391 if input == nil { 8392 input = &ModifySnapshotCopyRetentionPeriodInput{} 8393 } 8394 8395 output = &ModifySnapshotCopyRetentionPeriodOutput{} 8396 req = c.newRequest(op, input, output) 8397 return 8398} 8399 8400// ModifySnapshotCopyRetentionPeriod API operation for Amazon Redshift. 8401// 8402// Modifies the number of days to retain snapshots in the destination AWS Region 8403// after they are copied from the source AWS Region. By default, this operation 8404// only changes the retention period of copied automated snapshots. The retention 8405// periods for both new and existing copied automated snapshots are updated 8406// with the new retention period. You can set the manual option to change only 8407// the retention periods of copied manual snapshots. If you set this option, 8408// only newly copied manual snapshots have the new retention period. 8409// 8410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8411// with awserr.Error's Code and Message methods to get detailed information about 8412// the error. 8413// 8414// See the AWS API reference guide for Amazon Redshift's 8415// API operation ModifySnapshotCopyRetentionPeriod for usage and error information. 8416// 8417// Returned Error Codes: 8418// * ErrCodeClusterNotFoundFault "ClusterNotFound" 8419// The ClusterIdentifier parameter does not refer to an existing cluster. 8420// 8421// * ErrCodeSnapshotCopyDisabledFault "SnapshotCopyDisabledFault" 8422// Cross-region snapshot copy was temporarily disabled. Try your request again. 8423// 8424// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 8425// Your account is not authorized to perform the requested operation. 8426// 8427// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 8428// The specified cluster is not in the available state. 8429// 8430// * ErrCodeInvalidRetentionPeriodFault "InvalidRetentionPeriodFault" 8431// The retention period specified is either in the past or is not a valid value. 8432// 8433// The value must be either -1 or an integer between 1 and 3,653. 8434// 8435// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotCopyRetentionPeriod 8436func (c *Redshift) ModifySnapshotCopyRetentionPeriod(input *ModifySnapshotCopyRetentionPeriodInput) (*ModifySnapshotCopyRetentionPeriodOutput, error) { 8437 req, out := c.ModifySnapshotCopyRetentionPeriodRequest(input) 8438 return out, req.Send() 8439} 8440 8441// ModifySnapshotCopyRetentionPeriodWithContext is the same as ModifySnapshotCopyRetentionPeriod with the addition of 8442// the ability to pass a context and additional request options. 8443// 8444// See ModifySnapshotCopyRetentionPeriod for details on how to use this API operation. 8445// 8446// The context must be non-nil and will be used for request cancellation. If 8447// the context is nil a panic will occur. In the future the SDK may create 8448// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8449// for more information on using Contexts. 8450func (c *Redshift) ModifySnapshotCopyRetentionPeriodWithContext(ctx aws.Context, input *ModifySnapshotCopyRetentionPeriodInput, opts ...request.Option) (*ModifySnapshotCopyRetentionPeriodOutput, error) { 8451 req, out := c.ModifySnapshotCopyRetentionPeriodRequest(input) 8452 req.SetContext(ctx) 8453 req.ApplyOptions(opts...) 8454 return out, req.Send() 8455} 8456 8457const opModifySnapshotSchedule = "ModifySnapshotSchedule" 8458 8459// ModifySnapshotScheduleRequest generates a "aws/request.Request" representing the 8460// client's request for the ModifySnapshotSchedule operation. The "output" return 8461// value will be populated with the request's response once the request completes 8462// successfully. 8463// 8464// Use "Send" method on the returned Request to send the API call to the service. 8465// the "output" return value is not valid until after Send returns without error. 8466// 8467// See ModifySnapshotSchedule for more information on using the ModifySnapshotSchedule 8468// API call, and error handling. 8469// 8470// This method is useful when you want to inject custom logic or configuration 8471// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8472// 8473// 8474// // Example sending a request using the ModifySnapshotScheduleRequest method. 8475// req, resp := client.ModifySnapshotScheduleRequest(params) 8476// 8477// err := req.Send() 8478// if err == nil { // resp is now filled 8479// fmt.Println(resp) 8480// } 8481// 8482// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotSchedule 8483func (c *Redshift) ModifySnapshotScheduleRequest(input *ModifySnapshotScheduleInput) (req *request.Request, output *ModifySnapshotScheduleOutput) { 8484 op := &request.Operation{ 8485 Name: opModifySnapshotSchedule, 8486 HTTPMethod: "POST", 8487 HTTPPath: "/", 8488 } 8489 8490 if input == nil { 8491 input = &ModifySnapshotScheduleInput{} 8492 } 8493 8494 output = &ModifySnapshotScheduleOutput{} 8495 req = c.newRequest(op, input, output) 8496 return 8497} 8498 8499// ModifySnapshotSchedule API operation for Amazon Redshift. 8500// 8501// Modifies a snapshot schedule. Any schedule associated with a cluster is modified 8502// asynchronously. 8503// 8504// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8505// with awserr.Error's Code and Message methods to get detailed information about 8506// the error. 8507// 8508// See the AWS API reference guide for Amazon Redshift's 8509// API operation ModifySnapshotSchedule for usage and error information. 8510// 8511// Returned Error Codes: 8512// * ErrCodeInvalidScheduleFault "InvalidSchedule" 8513// The schedule you submitted isn't valid. 8514// 8515// * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound" 8516// We could not find the specified snapshot schedule. 8517// 8518// * ErrCodeSnapshotScheduleUpdateInProgressFault "SnapshotScheduleUpdateInProgress" 8519// The specified snapshot schedule is already being updated. 8520// 8521// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifySnapshotSchedule 8522func (c *Redshift) ModifySnapshotSchedule(input *ModifySnapshotScheduleInput) (*ModifySnapshotScheduleOutput, error) { 8523 req, out := c.ModifySnapshotScheduleRequest(input) 8524 return out, req.Send() 8525} 8526 8527// ModifySnapshotScheduleWithContext is the same as ModifySnapshotSchedule with the addition of 8528// the ability to pass a context and additional request options. 8529// 8530// See ModifySnapshotSchedule for details on how to use this API operation. 8531// 8532// The context must be non-nil and will be used for request cancellation. If 8533// the context is nil a panic will occur. In the future the SDK may create 8534// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8535// for more information on using Contexts. 8536func (c *Redshift) ModifySnapshotScheduleWithContext(ctx aws.Context, input *ModifySnapshotScheduleInput, opts ...request.Option) (*ModifySnapshotScheduleOutput, error) { 8537 req, out := c.ModifySnapshotScheduleRequest(input) 8538 req.SetContext(ctx) 8539 req.ApplyOptions(opts...) 8540 return out, req.Send() 8541} 8542 8543const opModifyUsageLimit = "ModifyUsageLimit" 8544 8545// ModifyUsageLimitRequest generates a "aws/request.Request" representing the 8546// client's request for the ModifyUsageLimit operation. The "output" return 8547// value will be populated with the request's response once the request completes 8548// successfully. 8549// 8550// Use "Send" method on the returned Request to send the API call to the service. 8551// the "output" return value is not valid until after Send returns without error. 8552// 8553// See ModifyUsageLimit for more information on using the ModifyUsageLimit 8554// API call, and error handling. 8555// 8556// This method is useful when you want to inject custom logic or configuration 8557// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8558// 8559// 8560// // Example sending a request using the ModifyUsageLimitRequest method. 8561// req, resp := client.ModifyUsageLimitRequest(params) 8562// 8563// err := req.Send() 8564// if err == nil { // resp is now filled 8565// fmt.Println(resp) 8566// } 8567// 8568// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyUsageLimit 8569func (c *Redshift) ModifyUsageLimitRequest(input *ModifyUsageLimitInput) (req *request.Request, output *ModifyUsageLimitOutput) { 8570 op := &request.Operation{ 8571 Name: opModifyUsageLimit, 8572 HTTPMethod: "POST", 8573 HTTPPath: "/", 8574 } 8575 8576 if input == nil { 8577 input = &ModifyUsageLimitInput{} 8578 } 8579 8580 output = &ModifyUsageLimitOutput{} 8581 req = c.newRequest(op, input, output) 8582 return 8583} 8584 8585// ModifyUsageLimit API operation for Amazon Redshift. 8586// 8587// Modifies a usage limit in a cluster. You can't modify the feature type or 8588// period of a usage limit. 8589// 8590// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8591// with awserr.Error's Code and Message methods to get detailed information about 8592// the error. 8593// 8594// See the AWS API reference guide for Amazon Redshift's 8595// API operation ModifyUsageLimit for usage and error information. 8596// 8597// Returned Error Codes: 8598// * ErrCodeInvalidUsageLimitFault "InvalidUsageLimit" 8599// The usage limit is not valid. 8600// 8601// * ErrCodeUsageLimitNotFoundFault "UsageLimitNotFound" 8602// The usage limit identifier can't be found. 8603// 8604// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 8605// The requested operation isn't supported. 8606// 8607// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ModifyUsageLimit 8608func (c *Redshift) ModifyUsageLimit(input *ModifyUsageLimitInput) (*ModifyUsageLimitOutput, error) { 8609 req, out := c.ModifyUsageLimitRequest(input) 8610 return out, req.Send() 8611} 8612 8613// ModifyUsageLimitWithContext is the same as ModifyUsageLimit with the addition of 8614// the ability to pass a context and additional request options. 8615// 8616// See ModifyUsageLimit for details on how to use this API operation. 8617// 8618// The context must be non-nil and will be used for request cancellation. If 8619// the context is nil a panic will occur. In the future the SDK may create 8620// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8621// for more information on using Contexts. 8622func (c *Redshift) ModifyUsageLimitWithContext(ctx aws.Context, input *ModifyUsageLimitInput, opts ...request.Option) (*ModifyUsageLimitOutput, error) { 8623 req, out := c.ModifyUsageLimitRequest(input) 8624 req.SetContext(ctx) 8625 req.ApplyOptions(opts...) 8626 return out, req.Send() 8627} 8628 8629const opPauseCluster = "PauseCluster" 8630 8631// PauseClusterRequest generates a "aws/request.Request" representing the 8632// client's request for the PauseCluster operation. The "output" return 8633// value will be populated with the request's response once the request completes 8634// successfully. 8635// 8636// Use "Send" method on the returned Request to send the API call to the service. 8637// the "output" return value is not valid until after Send returns without error. 8638// 8639// See PauseCluster for more information on using the PauseCluster 8640// API call, and error handling. 8641// 8642// This method is useful when you want to inject custom logic or configuration 8643// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8644// 8645// 8646// // Example sending a request using the PauseClusterRequest method. 8647// req, resp := client.PauseClusterRequest(params) 8648// 8649// err := req.Send() 8650// if err == nil { // resp is now filled 8651// fmt.Println(resp) 8652// } 8653// 8654// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PauseCluster 8655func (c *Redshift) PauseClusterRequest(input *PauseClusterInput) (req *request.Request, output *PauseClusterOutput) { 8656 op := &request.Operation{ 8657 Name: opPauseCluster, 8658 HTTPMethod: "POST", 8659 HTTPPath: "/", 8660 } 8661 8662 if input == nil { 8663 input = &PauseClusterInput{} 8664 } 8665 8666 output = &PauseClusterOutput{} 8667 req = c.newRequest(op, input, output) 8668 return 8669} 8670 8671// PauseCluster API operation for Amazon Redshift. 8672// 8673// Pauses a cluster. 8674// 8675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8676// with awserr.Error's Code and Message methods to get detailed information about 8677// the error. 8678// 8679// See the AWS API reference guide for Amazon Redshift's 8680// API operation PauseCluster for usage and error information. 8681// 8682// Returned Error Codes: 8683// * ErrCodeClusterNotFoundFault "ClusterNotFound" 8684// The ClusterIdentifier parameter does not refer to an existing cluster. 8685// 8686// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 8687// The specified cluster is not in the available state. 8688// 8689// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PauseCluster 8690func (c *Redshift) PauseCluster(input *PauseClusterInput) (*PauseClusterOutput, error) { 8691 req, out := c.PauseClusterRequest(input) 8692 return out, req.Send() 8693} 8694 8695// PauseClusterWithContext is the same as PauseCluster with the addition of 8696// the ability to pass a context and additional request options. 8697// 8698// See PauseCluster for details on how to use this API operation. 8699// 8700// The context must be non-nil and will be used for request cancellation. If 8701// the context is nil a panic will occur. In the future the SDK may create 8702// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8703// for more information on using Contexts. 8704func (c *Redshift) PauseClusterWithContext(ctx aws.Context, input *PauseClusterInput, opts ...request.Option) (*PauseClusterOutput, error) { 8705 req, out := c.PauseClusterRequest(input) 8706 req.SetContext(ctx) 8707 req.ApplyOptions(opts...) 8708 return out, req.Send() 8709} 8710 8711const opPurchaseReservedNodeOffering = "PurchaseReservedNodeOffering" 8712 8713// PurchaseReservedNodeOfferingRequest generates a "aws/request.Request" representing the 8714// client's request for the PurchaseReservedNodeOffering operation. The "output" return 8715// value will be populated with the request's response once the request completes 8716// successfully. 8717// 8718// Use "Send" method on the returned Request to send the API call to the service. 8719// the "output" return value is not valid until after Send returns without error. 8720// 8721// See PurchaseReservedNodeOffering for more information on using the PurchaseReservedNodeOffering 8722// API call, and error handling. 8723// 8724// This method is useful when you want to inject custom logic or configuration 8725// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8726// 8727// 8728// // Example sending a request using the PurchaseReservedNodeOfferingRequest method. 8729// req, resp := client.PurchaseReservedNodeOfferingRequest(params) 8730// 8731// err := req.Send() 8732// if err == nil { // resp is now filled 8733// fmt.Println(resp) 8734// } 8735// 8736// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PurchaseReservedNodeOffering 8737func (c *Redshift) PurchaseReservedNodeOfferingRequest(input *PurchaseReservedNodeOfferingInput) (req *request.Request, output *PurchaseReservedNodeOfferingOutput) { 8738 op := &request.Operation{ 8739 Name: opPurchaseReservedNodeOffering, 8740 HTTPMethod: "POST", 8741 HTTPPath: "/", 8742 } 8743 8744 if input == nil { 8745 input = &PurchaseReservedNodeOfferingInput{} 8746 } 8747 8748 output = &PurchaseReservedNodeOfferingOutput{} 8749 req = c.newRequest(op, input, output) 8750 return 8751} 8752 8753// PurchaseReservedNodeOffering API operation for Amazon Redshift. 8754// 8755// Allows you to purchase reserved nodes. Amazon Redshift offers a predefined 8756// set of reserved node offerings. You can purchase one or more of the offerings. 8757// You can call the DescribeReservedNodeOfferings API to obtain the available 8758// reserved node offerings. You can call this API by providing a specific reserved 8759// node offering and the number of nodes you want to reserve. 8760// 8761// For more information about reserved node offerings, go to Purchasing Reserved 8762// Nodes (https://docs.aws.amazon.com/redshift/latest/mgmt/purchase-reserved-node-instance.html) 8763// in the Amazon Redshift Cluster Management Guide. 8764// 8765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8766// with awserr.Error's Code and Message methods to get detailed information about 8767// the error. 8768// 8769// See the AWS API reference guide for Amazon Redshift's 8770// API operation PurchaseReservedNodeOffering for usage and error information. 8771// 8772// Returned Error Codes: 8773// * ErrCodeReservedNodeOfferingNotFoundFault "ReservedNodeOfferingNotFound" 8774// Specified offering does not exist. 8775// 8776// * ErrCodeReservedNodeAlreadyExistsFault "ReservedNodeAlreadyExists" 8777// User already has a reservation with the given identifier. 8778// 8779// * ErrCodeReservedNodeQuotaExceededFault "ReservedNodeQuotaExceeded" 8780// Request would exceed the user's compute node quota. For information about 8781// increasing your quota, go to Limits in Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 8782// in the Amazon Redshift Cluster Management Guide. 8783// 8784// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 8785// The requested operation isn't supported. 8786// 8787// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/PurchaseReservedNodeOffering 8788func (c *Redshift) PurchaseReservedNodeOffering(input *PurchaseReservedNodeOfferingInput) (*PurchaseReservedNodeOfferingOutput, error) { 8789 req, out := c.PurchaseReservedNodeOfferingRequest(input) 8790 return out, req.Send() 8791} 8792 8793// PurchaseReservedNodeOfferingWithContext is the same as PurchaseReservedNodeOffering with the addition of 8794// the ability to pass a context and additional request options. 8795// 8796// See PurchaseReservedNodeOffering for details on how to use this API operation. 8797// 8798// The context must be non-nil and will be used for request cancellation. If 8799// the context is nil a panic will occur. In the future the SDK may create 8800// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8801// for more information on using Contexts. 8802func (c *Redshift) PurchaseReservedNodeOfferingWithContext(ctx aws.Context, input *PurchaseReservedNodeOfferingInput, opts ...request.Option) (*PurchaseReservedNodeOfferingOutput, error) { 8803 req, out := c.PurchaseReservedNodeOfferingRequest(input) 8804 req.SetContext(ctx) 8805 req.ApplyOptions(opts...) 8806 return out, req.Send() 8807} 8808 8809const opRebootCluster = "RebootCluster" 8810 8811// RebootClusterRequest generates a "aws/request.Request" representing the 8812// client's request for the RebootCluster operation. The "output" return 8813// value will be populated with the request's response once the request completes 8814// successfully. 8815// 8816// Use "Send" method on the returned Request to send the API call to the service. 8817// the "output" return value is not valid until after Send returns without error. 8818// 8819// See RebootCluster for more information on using the RebootCluster 8820// API call, and error handling. 8821// 8822// This method is useful when you want to inject custom logic or configuration 8823// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8824// 8825// 8826// // Example sending a request using the RebootClusterRequest method. 8827// req, resp := client.RebootClusterRequest(params) 8828// 8829// err := req.Send() 8830// if err == nil { // resp is now filled 8831// fmt.Println(resp) 8832// } 8833// 8834// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RebootCluster 8835func (c *Redshift) RebootClusterRequest(input *RebootClusterInput) (req *request.Request, output *RebootClusterOutput) { 8836 op := &request.Operation{ 8837 Name: opRebootCluster, 8838 HTTPMethod: "POST", 8839 HTTPPath: "/", 8840 } 8841 8842 if input == nil { 8843 input = &RebootClusterInput{} 8844 } 8845 8846 output = &RebootClusterOutput{} 8847 req = c.newRequest(op, input, output) 8848 return 8849} 8850 8851// RebootCluster API operation for Amazon Redshift. 8852// 8853// Reboots a cluster. This action is taken as soon as possible. It results in 8854// a momentary outage to the cluster, during which the cluster status is set 8855// to rebooting. A cluster event is created when the reboot is completed. Any 8856// pending cluster modifications (see ModifyCluster) are applied at this reboot. 8857// For more information about managing clusters, go to Amazon Redshift Clusters 8858// (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) 8859// in the Amazon Redshift Cluster Management Guide. 8860// 8861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8862// with awserr.Error's Code and Message methods to get detailed information about 8863// the error. 8864// 8865// See the AWS API reference guide for Amazon Redshift's 8866// API operation RebootCluster for usage and error information. 8867// 8868// Returned Error Codes: 8869// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 8870// The specified cluster is not in the available state. 8871// 8872// * ErrCodeClusterNotFoundFault "ClusterNotFound" 8873// The ClusterIdentifier parameter does not refer to an existing cluster. 8874// 8875// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RebootCluster 8876func (c *Redshift) RebootCluster(input *RebootClusterInput) (*RebootClusterOutput, error) { 8877 req, out := c.RebootClusterRequest(input) 8878 return out, req.Send() 8879} 8880 8881// RebootClusterWithContext is the same as RebootCluster with the addition of 8882// the ability to pass a context and additional request options. 8883// 8884// See RebootCluster for details on how to use this API operation. 8885// 8886// The context must be non-nil and will be used for request cancellation. If 8887// the context is nil a panic will occur. In the future the SDK may create 8888// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8889// for more information on using Contexts. 8890func (c *Redshift) RebootClusterWithContext(ctx aws.Context, input *RebootClusterInput, opts ...request.Option) (*RebootClusterOutput, error) { 8891 req, out := c.RebootClusterRequest(input) 8892 req.SetContext(ctx) 8893 req.ApplyOptions(opts...) 8894 return out, req.Send() 8895} 8896 8897const opResetClusterParameterGroup = "ResetClusterParameterGroup" 8898 8899// ResetClusterParameterGroupRequest generates a "aws/request.Request" representing the 8900// client's request for the ResetClusterParameterGroup operation. The "output" return 8901// value will be populated with the request's response once the request completes 8902// successfully. 8903// 8904// Use "Send" method on the returned Request to send the API call to the service. 8905// the "output" return value is not valid until after Send returns without error. 8906// 8907// See ResetClusterParameterGroup for more information on using the ResetClusterParameterGroup 8908// API call, and error handling. 8909// 8910// This method is useful when you want to inject custom logic or configuration 8911// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8912// 8913// 8914// // Example sending a request using the ResetClusterParameterGroupRequest method. 8915// req, resp := client.ResetClusterParameterGroupRequest(params) 8916// 8917// err := req.Send() 8918// if err == nil { // resp is now filled 8919// fmt.Println(resp) 8920// } 8921// 8922// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResetClusterParameterGroup 8923func (c *Redshift) ResetClusterParameterGroupRequest(input *ResetClusterParameterGroupInput) (req *request.Request, output *ClusterParameterGroupNameMessage) { 8924 op := &request.Operation{ 8925 Name: opResetClusterParameterGroup, 8926 HTTPMethod: "POST", 8927 HTTPPath: "/", 8928 } 8929 8930 if input == nil { 8931 input = &ResetClusterParameterGroupInput{} 8932 } 8933 8934 output = &ClusterParameterGroupNameMessage{} 8935 req = c.newRequest(op, input, output) 8936 return 8937} 8938 8939// ResetClusterParameterGroup API operation for Amazon Redshift. 8940// 8941// Sets one or more parameters of the specified parameter group to their default 8942// values and sets the source values of the parameters to "engine-default". 8943// To reset the entire parameter group specify the ResetAllParameters parameter. 8944// For parameter changes to take effect you must reboot any associated clusters. 8945// 8946// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 8947// with awserr.Error's Code and Message methods to get detailed information about 8948// the error. 8949// 8950// See the AWS API reference guide for Amazon Redshift's 8951// API operation ResetClusterParameterGroup for usage and error information. 8952// 8953// Returned Error Codes: 8954// * ErrCodeInvalidClusterParameterGroupStateFault "InvalidClusterParameterGroupState" 8955// The cluster parameter group action can not be completed because another task 8956// is in progress that involves the parameter group. Wait a few moments and 8957// try the operation again. 8958// 8959// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 8960// The parameter group name does not refer to an existing parameter group. 8961// 8962// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResetClusterParameterGroup 8963func (c *Redshift) ResetClusterParameterGroup(input *ResetClusterParameterGroupInput) (*ClusterParameterGroupNameMessage, error) { 8964 req, out := c.ResetClusterParameterGroupRequest(input) 8965 return out, req.Send() 8966} 8967 8968// ResetClusterParameterGroupWithContext is the same as ResetClusterParameterGroup with the addition of 8969// the ability to pass a context and additional request options. 8970// 8971// See ResetClusterParameterGroup for details on how to use this API operation. 8972// 8973// The context must be non-nil and will be used for request cancellation. If 8974// the context is nil a panic will occur. In the future the SDK may create 8975// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 8976// for more information on using Contexts. 8977func (c *Redshift) ResetClusterParameterGroupWithContext(ctx aws.Context, input *ResetClusterParameterGroupInput, opts ...request.Option) (*ClusterParameterGroupNameMessage, error) { 8978 req, out := c.ResetClusterParameterGroupRequest(input) 8979 req.SetContext(ctx) 8980 req.ApplyOptions(opts...) 8981 return out, req.Send() 8982} 8983 8984const opResizeCluster = "ResizeCluster" 8985 8986// ResizeClusterRequest generates a "aws/request.Request" representing the 8987// client's request for the ResizeCluster operation. The "output" return 8988// value will be populated with the request's response once the request completes 8989// successfully. 8990// 8991// Use "Send" method on the returned Request to send the API call to the service. 8992// the "output" return value is not valid until after Send returns without error. 8993// 8994// See ResizeCluster for more information on using the ResizeCluster 8995// API call, and error handling. 8996// 8997// This method is useful when you want to inject custom logic or configuration 8998// into the SDK's request lifecycle. Such as custom headers, or retry logic. 8999// 9000// 9001// // Example sending a request using the ResizeClusterRequest method. 9002// req, resp := client.ResizeClusterRequest(params) 9003// 9004// err := req.Send() 9005// if err == nil { // resp is now filled 9006// fmt.Println(resp) 9007// } 9008// 9009// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResizeCluster 9010func (c *Redshift) ResizeClusterRequest(input *ResizeClusterInput) (req *request.Request, output *ResizeClusterOutput) { 9011 op := &request.Operation{ 9012 Name: opResizeCluster, 9013 HTTPMethod: "POST", 9014 HTTPPath: "/", 9015 } 9016 9017 if input == nil { 9018 input = &ResizeClusterInput{} 9019 } 9020 9021 output = &ResizeClusterOutput{} 9022 req = c.newRequest(op, input, output) 9023 return 9024} 9025 9026// ResizeCluster API operation for Amazon Redshift. 9027// 9028// Changes the size of the cluster. You can change the cluster's type, or change 9029// the number or type of nodes. The default behavior is to use the elastic resize 9030// method. With an elastic resize, your cluster is available for read and write 9031// operations more quickly than with the classic resize method. 9032// 9033// Elastic resize operations have the following restrictions: 9034// 9035// * You can only resize clusters of the following types: dc2.large dc2.8xlarge 9036// ds2.xlarge ds2.8xlarge ra3.4xlarge ra3.16xlarge 9037// 9038// * The type of nodes that you add must match the node type for the cluster. 9039// 9040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9041// with awserr.Error's Code and Message methods to get detailed information about 9042// the error. 9043// 9044// See the AWS API reference guide for Amazon Redshift's 9045// API operation ResizeCluster for usage and error information. 9046// 9047// Returned Error Codes: 9048// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 9049// The specified cluster is not in the available state. 9050// 9051// * ErrCodeClusterNotFoundFault "ClusterNotFound" 9052// The ClusterIdentifier parameter does not refer to an existing cluster. 9053// 9054// * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded" 9055// The operation would exceed the number of nodes allotted to the account. For 9056// information about increasing your quota, go to Limits in Amazon Redshift 9057// (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 9058// in the Amazon Redshift Cluster Management Guide. 9059// 9060// * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded" 9061// The operation would exceed the number of nodes allowed for a cluster. 9062// 9063// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity" 9064// The number of nodes specified exceeds the allotted capacity of the cluster. 9065// 9066// * ErrCodeUnsupportedOptionFault "UnsupportedOptionFault" 9067// A request option was specified that is not supported. 9068// 9069// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 9070// The requested operation isn't supported. 9071// 9072// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 9073// Your account is not authorized to perform the requested operation. 9074// 9075// * ErrCodeLimitExceededFault "LimitExceededFault" 9076// The encryption key has exceeded its grant limit in AWS KMS. 9077// 9078// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResizeCluster 9079func (c *Redshift) ResizeCluster(input *ResizeClusterInput) (*ResizeClusterOutput, error) { 9080 req, out := c.ResizeClusterRequest(input) 9081 return out, req.Send() 9082} 9083 9084// ResizeClusterWithContext is the same as ResizeCluster with the addition of 9085// the ability to pass a context and additional request options. 9086// 9087// See ResizeCluster for details on how to use this API operation. 9088// 9089// The context must be non-nil and will be used for request cancellation. If 9090// the context is nil a panic will occur. In the future the SDK may create 9091// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9092// for more information on using Contexts. 9093func (c *Redshift) ResizeClusterWithContext(ctx aws.Context, input *ResizeClusterInput, opts ...request.Option) (*ResizeClusterOutput, error) { 9094 req, out := c.ResizeClusterRequest(input) 9095 req.SetContext(ctx) 9096 req.ApplyOptions(opts...) 9097 return out, req.Send() 9098} 9099 9100const opRestoreFromClusterSnapshot = "RestoreFromClusterSnapshot" 9101 9102// RestoreFromClusterSnapshotRequest generates a "aws/request.Request" representing the 9103// client's request for the RestoreFromClusterSnapshot operation. The "output" return 9104// value will be populated with the request's response once the request completes 9105// successfully. 9106// 9107// Use "Send" method on the returned Request to send the API call to the service. 9108// the "output" return value is not valid until after Send returns without error. 9109// 9110// See RestoreFromClusterSnapshot for more information on using the RestoreFromClusterSnapshot 9111// API call, and error handling. 9112// 9113// This method is useful when you want to inject custom logic or configuration 9114// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9115// 9116// 9117// // Example sending a request using the RestoreFromClusterSnapshotRequest method. 9118// req, resp := client.RestoreFromClusterSnapshotRequest(params) 9119// 9120// err := req.Send() 9121// if err == nil { // resp is now filled 9122// fmt.Println(resp) 9123// } 9124// 9125// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreFromClusterSnapshot 9126func (c *Redshift) RestoreFromClusterSnapshotRequest(input *RestoreFromClusterSnapshotInput) (req *request.Request, output *RestoreFromClusterSnapshotOutput) { 9127 op := &request.Operation{ 9128 Name: opRestoreFromClusterSnapshot, 9129 HTTPMethod: "POST", 9130 HTTPPath: "/", 9131 } 9132 9133 if input == nil { 9134 input = &RestoreFromClusterSnapshotInput{} 9135 } 9136 9137 output = &RestoreFromClusterSnapshotOutput{} 9138 req = c.newRequest(op, input, output) 9139 return 9140} 9141 9142// RestoreFromClusterSnapshot API operation for Amazon Redshift. 9143// 9144// Creates a new cluster from a snapshot. By default, Amazon Redshift creates 9145// the resulting cluster with the same configuration as the original cluster 9146// from which the snapshot was created, except that the new cluster is created 9147// with the default cluster security and parameter groups. After Amazon Redshift 9148// creates the cluster, you can use the ModifyCluster API to associate a different 9149// security group and different parameter group with the restored cluster. If 9150// you are using a DS node type, you can also choose to change to another DS 9151// node type of the same size during restore. 9152// 9153// If you restore a cluster into a VPC, you must provide a cluster subnet group 9154// where you want the cluster restored. 9155// 9156// For more information about working with snapshots, go to Amazon Redshift 9157// Snapshots (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) 9158// in the Amazon Redshift Cluster Management Guide. 9159// 9160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9161// with awserr.Error's Code and Message methods to get detailed information about 9162// the error. 9163// 9164// See the AWS API reference guide for Amazon Redshift's 9165// API operation RestoreFromClusterSnapshot for usage and error information. 9166// 9167// Returned Error Codes: 9168// * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied" 9169// The owner of the specified snapshot has not authorized your account to access 9170// the snapshot. 9171// 9172// * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExists" 9173// The account already has a cluster with the given identifier. 9174// 9175// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 9176// The snapshot identifier does not refer to an existing cluster snapshot. 9177// 9178// * ErrCodeClusterQuotaExceededFault "ClusterQuotaExceeded" 9179// The request would exceed the allowed number of cluster instances for this 9180// account. For information about increasing your quota, go to Limits in Amazon 9181// Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 9182// in the Amazon Redshift Cluster Management Guide. 9183// 9184// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacity" 9185// The number of nodes specified exceeds the allotted capacity of the cluster. 9186// 9187// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 9188// The specified cluster snapshot is not in the available state, or other accounts 9189// are authorized to access the snapshot. 9190// 9191// * ErrCodeInvalidRestoreFault "InvalidRestore" 9192// The restore is invalid. 9193// 9194// * ErrCodeNumberOfNodesQuotaExceededFault "NumberOfNodesQuotaExceeded" 9195// The operation would exceed the number of nodes allotted to the account. For 9196// information about increasing your quota, go to Limits in Amazon Redshift 9197// (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) 9198// in the Amazon Redshift Cluster Management Guide. 9199// 9200// * ErrCodeNumberOfNodesPerClusterLimitExceededFault "NumberOfNodesPerClusterLimitExceeded" 9201// The operation would exceed the number of nodes allowed for a cluster. 9202// 9203// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 9204// The cluster subnet group does not cover all Availability Zones. 9205// 9206// * ErrCodeInvalidClusterSubnetGroupStateFault "InvalidClusterSubnetGroupStateFault" 9207// The cluster subnet group cannot be deleted because it is in use. 9208// 9209// * ErrCodeInvalidSubnet "InvalidSubnet" 9210// The requested subnet is not valid, or not all of the subnets are in the same 9211// VPC. 9212// 9213// * ErrCodeClusterSubnetGroupNotFoundFault "ClusterSubnetGroupNotFoundFault" 9214// The cluster subnet group name does not refer to an existing cluster subnet 9215// group. 9216// 9217// * ErrCodeUnauthorizedOperation "UnauthorizedOperation" 9218// Your account is not authorized to perform the requested operation. 9219// 9220// * ErrCodeHsmClientCertificateNotFoundFault "HsmClientCertificateNotFoundFault" 9221// There is no Amazon Redshift HSM client certificate with the specified identifier. 9222// 9223// * ErrCodeHsmConfigurationNotFoundFault "HsmConfigurationNotFoundFault" 9224// There is no Amazon Redshift HSM configuration with the specified identifier. 9225// 9226// * ErrCodeInvalidElasticIpFault "InvalidElasticIpFault" 9227// The Elastic IP (EIP) is invalid or cannot be found. 9228// 9229// * ErrCodeClusterParameterGroupNotFoundFault "ClusterParameterGroupNotFound" 9230// The parameter group name does not refer to an existing parameter group. 9231// 9232// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 9233// The cluster security group name does not refer to an existing cluster security 9234// group. 9235// 9236// * ErrCodeLimitExceededFault "LimitExceededFault" 9237// The encryption key has exceeded its grant limit in AWS KMS. 9238// 9239// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 9240// The request cannot be completed because a dependent service is throttling 9241// requests made by Amazon Redshift on your behalf. Wait and retry the request. 9242// 9243// * ErrCodeInvalidClusterTrackFault "InvalidClusterTrack" 9244// The provided cluster track name is not valid. 9245// 9246// * ErrCodeSnapshotScheduleNotFoundFault "SnapshotScheduleNotFound" 9247// We could not find the specified snapshot schedule. 9248// 9249// * ErrCodeTagLimitExceededFault "TagLimitExceededFault" 9250// You have exceeded the number of tags allowed. 9251// 9252// * ErrCodeInvalidTagFault "InvalidTagFault" 9253// The tag is invalid. 9254// 9255// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreFromClusterSnapshot 9256func (c *Redshift) RestoreFromClusterSnapshot(input *RestoreFromClusterSnapshotInput) (*RestoreFromClusterSnapshotOutput, error) { 9257 req, out := c.RestoreFromClusterSnapshotRequest(input) 9258 return out, req.Send() 9259} 9260 9261// RestoreFromClusterSnapshotWithContext is the same as RestoreFromClusterSnapshot with the addition of 9262// the ability to pass a context and additional request options. 9263// 9264// See RestoreFromClusterSnapshot for details on how to use this API operation. 9265// 9266// The context must be non-nil and will be used for request cancellation. If 9267// the context is nil a panic will occur. In the future the SDK may create 9268// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9269// for more information on using Contexts. 9270func (c *Redshift) RestoreFromClusterSnapshotWithContext(ctx aws.Context, input *RestoreFromClusterSnapshotInput, opts ...request.Option) (*RestoreFromClusterSnapshotOutput, error) { 9271 req, out := c.RestoreFromClusterSnapshotRequest(input) 9272 req.SetContext(ctx) 9273 req.ApplyOptions(opts...) 9274 return out, req.Send() 9275} 9276 9277const opRestoreTableFromClusterSnapshot = "RestoreTableFromClusterSnapshot" 9278 9279// RestoreTableFromClusterSnapshotRequest generates a "aws/request.Request" representing the 9280// client's request for the RestoreTableFromClusterSnapshot operation. The "output" return 9281// value will be populated with the request's response once the request completes 9282// successfully. 9283// 9284// Use "Send" method on the returned Request to send the API call to the service. 9285// the "output" return value is not valid until after Send returns without error. 9286// 9287// See RestoreTableFromClusterSnapshot for more information on using the RestoreTableFromClusterSnapshot 9288// API call, and error handling. 9289// 9290// This method is useful when you want to inject custom logic or configuration 9291// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9292// 9293// 9294// // Example sending a request using the RestoreTableFromClusterSnapshotRequest method. 9295// req, resp := client.RestoreTableFromClusterSnapshotRequest(params) 9296// 9297// err := req.Send() 9298// if err == nil { // resp is now filled 9299// fmt.Println(resp) 9300// } 9301// 9302// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreTableFromClusterSnapshot 9303func (c *Redshift) RestoreTableFromClusterSnapshotRequest(input *RestoreTableFromClusterSnapshotInput) (req *request.Request, output *RestoreTableFromClusterSnapshotOutput) { 9304 op := &request.Operation{ 9305 Name: opRestoreTableFromClusterSnapshot, 9306 HTTPMethod: "POST", 9307 HTTPPath: "/", 9308 } 9309 9310 if input == nil { 9311 input = &RestoreTableFromClusterSnapshotInput{} 9312 } 9313 9314 output = &RestoreTableFromClusterSnapshotOutput{} 9315 req = c.newRequest(op, input, output) 9316 return 9317} 9318 9319// RestoreTableFromClusterSnapshot API operation for Amazon Redshift. 9320// 9321// Creates a new table from a table in an Amazon Redshift cluster snapshot. 9322// You must create the new table within the Amazon Redshift cluster that the 9323// snapshot was taken from. 9324// 9325// You cannot use RestoreTableFromClusterSnapshot to restore a table with the 9326// same name as an existing table in an Amazon Redshift cluster. That is, you 9327// cannot overwrite an existing table in a cluster with a restored table. If 9328// you want to replace your original table with a new, restored table, then 9329// rename or drop your original table before you call RestoreTableFromClusterSnapshot. 9330// When you have renamed your original table, then you can pass the original 9331// name of the table as the NewTableName parameter value in the call to RestoreTableFromClusterSnapshot. 9332// This way, you can replace the original table with the table created from 9333// the snapshot. 9334// 9335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9336// with awserr.Error's Code and Message methods to get detailed information about 9337// the error. 9338// 9339// See the AWS API reference guide for Amazon Redshift's 9340// API operation RestoreTableFromClusterSnapshot for usage and error information. 9341// 9342// Returned Error Codes: 9343// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 9344// The snapshot identifier does not refer to an existing cluster snapshot. 9345// 9346// * ErrCodeInProgressTableRestoreQuotaExceededFault "InProgressTableRestoreQuotaExceededFault" 9347// You have exceeded the allowed number of table restore requests. Wait for 9348// your current table restore requests to complete before making a new request. 9349// 9350// * ErrCodeInvalidClusterSnapshotStateFault "InvalidClusterSnapshotState" 9351// The specified cluster snapshot is not in the available state, or other accounts 9352// are authorized to access the snapshot. 9353// 9354// * ErrCodeInvalidTableRestoreArgumentFault "InvalidTableRestoreArgument" 9355// The value specified for the sourceDatabaseName, sourceSchemaName, or sourceTableName 9356// parameter, or a combination of these, doesn't exist in the snapshot. 9357// 9358// * ErrCodeClusterNotFoundFault "ClusterNotFound" 9359// The ClusterIdentifier parameter does not refer to an existing cluster. 9360// 9361// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 9362// The specified cluster is not in the available state. 9363// 9364// * ErrCodeUnsupportedOperationFault "UnsupportedOperation" 9365// The requested operation isn't supported. 9366// 9367// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RestoreTableFromClusterSnapshot 9368func (c *Redshift) RestoreTableFromClusterSnapshot(input *RestoreTableFromClusterSnapshotInput) (*RestoreTableFromClusterSnapshotOutput, error) { 9369 req, out := c.RestoreTableFromClusterSnapshotRequest(input) 9370 return out, req.Send() 9371} 9372 9373// RestoreTableFromClusterSnapshotWithContext is the same as RestoreTableFromClusterSnapshot with the addition of 9374// the ability to pass a context and additional request options. 9375// 9376// See RestoreTableFromClusterSnapshot for details on how to use this API operation. 9377// 9378// The context must be non-nil and will be used for request cancellation. If 9379// the context is nil a panic will occur. In the future the SDK may create 9380// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9381// for more information on using Contexts. 9382func (c *Redshift) RestoreTableFromClusterSnapshotWithContext(ctx aws.Context, input *RestoreTableFromClusterSnapshotInput, opts ...request.Option) (*RestoreTableFromClusterSnapshotOutput, error) { 9383 req, out := c.RestoreTableFromClusterSnapshotRequest(input) 9384 req.SetContext(ctx) 9385 req.ApplyOptions(opts...) 9386 return out, req.Send() 9387} 9388 9389const opResumeCluster = "ResumeCluster" 9390 9391// ResumeClusterRequest generates a "aws/request.Request" representing the 9392// client's request for the ResumeCluster operation. The "output" return 9393// value will be populated with the request's response once the request completes 9394// successfully. 9395// 9396// Use "Send" method on the returned Request to send the API call to the service. 9397// the "output" return value is not valid until after Send returns without error. 9398// 9399// See ResumeCluster for more information on using the ResumeCluster 9400// API call, and error handling. 9401// 9402// This method is useful when you want to inject custom logic or configuration 9403// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9404// 9405// 9406// // Example sending a request using the ResumeClusterRequest method. 9407// req, resp := client.ResumeClusterRequest(params) 9408// 9409// err := req.Send() 9410// if err == nil { // resp is now filled 9411// fmt.Println(resp) 9412// } 9413// 9414// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResumeCluster 9415func (c *Redshift) ResumeClusterRequest(input *ResumeClusterInput) (req *request.Request, output *ResumeClusterOutput) { 9416 op := &request.Operation{ 9417 Name: opResumeCluster, 9418 HTTPMethod: "POST", 9419 HTTPPath: "/", 9420 } 9421 9422 if input == nil { 9423 input = &ResumeClusterInput{} 9424 } 9425 9426 output = &ResumeClusterOutput{} 9427 req = c.newRequest(op, input, output) 9428 return 9429} 9430 9431// ResumeCluster API operation for Amazon Redshift. 9432// 9433// Resumes a paused cluster. 9434// 9435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9436// with awserr.Error's Code and Message methods to get detailed information about 9437// the error. 9438// 9439// See the AWS API reference guide for Amazon Redshift's 9440// API operation ResumeCluster for usage and error information. 9441// 9442// Returned Error Codes: 9443// * ErrCodeClusterNotFoundFault "ClusterNotFound" 9444// The ClusterIdentifier parameter does not refer to an existing cluster. 9445// 9446// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 9447// The specified cluster is not in the available state. 9448// 9449// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/ResumeCluster 9450func (c *Redshift) ResumeCluster(input *ResumeClusterInput) (*ResumeClusterOutput, error) { 9451 req, out := c.ResumeClusterRequest(input) 9452 return out, req.Send() 9453} 9454 9455// ResumeClusterWithContext is the same as ResumeCluster with the addition of 9456// the ability to pass a context and additional request options. 9457// 9458// See ResumeCluster for details on how to use this API operation. 9459// 9460// The context must be non-nil and will be used for request cancellation. If 9461// the context is nil a panic will occur. In the future the SDK may create 9462// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9463// for more information on using Contexts. 9464func (c *Redshift) ResumeClusterWithContext(ctx aws.Context, input *ResumeClusterInput, opts ...request.Option) (*ResumeClusterOutput, error) { 9465 req, out := c.ResumeClusterRequest(input) 9466 req.SetContext(ctx) 9467 req.ApplyOptions(opts...) 9468 return out, req.Send() 9469} 9470 9471const opRevokeClusterSecurityGroupIngress = "RevokeClusterSecurityGroupIngress" 9472 9473// RevokeClusterSecurityGroupIngressRequest generates a "aws/request.Request" representing the 9474// client's request for the RevokeClusterSecurityGroupIngress operation. The "output" return 9475// value will be populated with the request's response once the request completes 9476// successfully. 9477// 9478// Use "Send" method on the returned Request to send the API call to the service. 9479// the "output" return value is not valid until after Send returns without error. 9480// 9481// See RevokeClusterSecurityGroupIngress for more information on using the RevokeClusterSecurityGroupIngress 9482// API call, and error handling. 9483// 9484// This method is useful when you want to inject custom logic or configuration 9485// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9486// 9487// 9488// // Example sending a request using the RevokeClusterSecurityGroupIngressRequest method. 9489// req, resp := client.RevokeClusterSecurityGroupIngressRequest(params) 9490// 9491// err := req.Send() 9492// if err == nil { // resp is now filled 9493// fmt.Println(resp) 9494// } 9495// 9496// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeClusterSecurityGroupIngress 9497func (c *Redshift) RevokeClusterSecurityGroupIngressRequest(input *RevokeClusterSecurityGroupIngressInput) (req *request.Request, output *RevokeClusterSecurityGroupIngressOutput) { 9498 op := &request.Operation{ 9499 Name: opRevokeClusterSecurityGroupIngress, 9500 HTTPMethod: "POST", 9501 HTTPPath: "/", 9502 } 9503 9504 if input == nil { 9505 input = &RevokeClusterSecurityGroupIngressInput{} 9506 } 9507 9508 output = &RevokeClusterSecurityGroupIngressOutput{} 9509 req = c.newRequest(op, input, output) 9510 return 9511} 9512 9513// RevokeClusterSecurityGroupIngress API operation for Amazon Redshift. 9514// 9515// Revokes an ingress rule in an Amazon Redshift security group for a previously 9516// authorized IP range or Amazon EC2 security group. To add an ingress rule, 9517// see AuthorizeClusterSecurityGroupIngress. For information about managing 9518// security groups, go to Amazon Redshift Cluster Security Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-security-groups.html) 9519// in the Amazon Redshift Cluster Management Guide. 9520// 9521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9522// with awserr.Error's Code and Message methods to get detailed information about 9523// the error. 9524// 9525// See the AWS API reference guide for Amazon Redshift's 9526// API operation RevokeClusterSecurityGroupIngress for usage and error information. 9527// 9528// Returned Error Codes: 9529// * ErrCodeClusterSecurityGroupNotFoundFault "ClusterSecurityGroupNotFound" 9530// The cluster security group name does not refer to an existing cluster security 9531// group. 9532// 9533// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 9534// The specified CIDR IP range or EC2 security group is not authorized for the 9535// specified cluster security group. 9536// 9537// * ErrCodeInvalidClusterSecurityGroupStateFault "InvalidClusterSecurityGroupState" 9538// The state of the cluster security group is not available. 9539// 9540// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeClusterSecurityGroupIngress 9541func (c *Redshift) RevokeClusterSecurityGroupIngress(input *RevokeClusterSecurityGroupIngressInput) (*RevokeClusterSecurityGroupIngressOutput, error) { 9542 req, out := c.RevokeClusterSecurityGroupIngressRequest(input) 9543 return out, req.Send() 9544} 9545 9546// RevokeClusterSecurityGroupIngressWithContext is the same as RevokeClusterSecurityGroupIngress with the addition of 9547// the ability to pass a context and additional request options. 9548// 9549// See RevokeClusterSecurityGroupIngress for details on how to use this API operation. 9550// 9551// The context must be non-nil and will be used for request cancellation. If 9552// the context is nil a panic will occur. In the future the SDK may create 9553// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9554// for more information on using Contexts. 9555func (c *Redshift) RevokeClusterSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeClusterSecurityGroupIngressInput, opts ...request.Option) (*RevokeClusterSecurityGroupIngressOutput, error) { 9556 req, out := c.RevokeClusterSecurityGroupIngressRequest(input) 9557 req.SetContext(ctx) 9558 req.ApplyOptions(opts...) 9559 return out, req.Send() 9560} 9561 9562const opRevokeSnapshotAccess = "RevokeSnapshotAccess" 9563 9564// RevokeSnapshotAccessRequest generates a "aws/request.Request" representing the 9565// client's request for the RevokeSnapshotAccess operation. The "output" return 9566// value will be populated with the request's response once the request completes 9567// successfully. 9568// 9569// Use "Send" method on the returned Request to send the API call to the service. 9570// the "output" return value is not valid until after Send returns without error. 9571// 9572// See RevokeSnapshotAccess for more information on using the RevokeSnapshotAccess 9573// API call, and error handling. 9574// 9575// This method is useful when you want to inject custom logic or configuration 9576// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9577// 9578// 9579// // Example sending a request using the RevokeSnapshotAccessRequest method. 9580// req, resp := client.RevokeSnapshotAccessRequest(params) 9581// 9582// err := req.Send() 9583// if err == nil { // resp is now filled 9584// fmt.Println(resp) 9585// } 9586// 9587// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeSnapshotAccess 9588func (c *Redshift) RevokeSnapshotAccessRequest(input *RevokeSnapshotAccessInput) (req *request.Request, output *RevokeSnapshotAccessOutput) { 9589 op := &request.Operation{ 9590 Name: opRevokeSnapshotAccess, 9591 HTTPMethod: "POST", 9592 HTTPPath: "/", 9593 } 9594 9595 if input == nil { 9596 input = &RevokeSnapshotAccessInput{} 9597 } 9598 9599 output = &RevokeSnapshotAccessOutput{} 9600 req = c.newRequest(op, input, output) 9601 return 9602} 9603 9604// RevokeSnapshotAccess API operation for Amazon Redshift. 9605// 9606// Removes the ability of the specified AWS customer account to restore the 9607// specified snapshot. If the account is currently restoring the snapshot, the 9608// restore will run to completion. 9609// 9610// For more information about working with snapshots, go to Amazon Redshift 9611// Snapshots (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-snapshots.html) 9612// in the Amazon Redshift Cluster Management Guide. 9613// 9614// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9615// with awserr.Error's Code and Message methods to get detailed information about 9616// the error. 9617// 9618// See the AWS API reference guide for Amazon Redshift's 9619// API operation RevokeSnapshotAccess for usage and error information. 9620// 9621// Returned Error Codes: 9622// * ErrCodeAccessToSnapshotDeniedFault "AccessToSnapshotDenied" 9623// The owner of the specified snapshot has not authorized your account to access 9624// the snapshot. 9625// 9626// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 9627// The specified CIDR IP range or EC2 security group is not authorized for the 9628// specified cluster security group. 9629// 9630// * ErrCodeClusterSnapshotNotFoundFault "ClusterSnapshotNotFound" 9631// The snapshot identifier does not refer to an existing cluster snapshot. 9632// 9633// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RevokeSnapshotAccess 9634func (c *Redshift) RevokeSnapshotAccess(input *RevokeSnapshotAccessInput) (*RevokeSnapshotAccessOutput, error) { 9635 req, out := c.RevokeSnapshotAccessRequest(input) 9636 return out, req.Send() 9637} 9638 9639// RevokeSnapshotAccessWithContext is the same as RevokeSnapshotAccess with the addition of 9640// the ability to pass a context and additional request options. 9641// 9642// See RevokeSnapshotAccess for details on how to use this API operation. 9643// 9644// The context must be non-nil and will be used for request cancellation. If 9645// the context is nil a panic will occur. In the future the SDK may create 9646// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9647// for more information on using Contexts. 9648func (c *Redshift) RevokeSnapshotAccessWithContext(ctx aws.Context, input *RevokeSnapshotAccessInput, opts ...request.Option) (*RevokeSnapshotAccessOutput, error) { 9649 req, out := c.RevokeSnapshotAccessRequest(input) 9650 req.SetContext(ctx) 9651 req.ApplyOptions(opts...) 9652 return out, req.Send() 9653} 9654 9655const opRotateEncryptionKey = "RotateEncryptionKey" 9656 9657// RotateEncryptionKeyRequest generates a "aws/request.Request" representing the 9658// client's request for the RotateEncryptionKey operation. The "output" return 9659// value will be populated with the request's response once the request completes 9660// successfully. 9661// 9662// Use "Send" method on the returned Request to send the API call to the service. 9663// the "output" return value is not valid until after Send returns without error. 9664// 9665// See RotateEncryptionKey for more information on using the RotateEncryptionKey 9666// API call, and error handling. 9667// 9668// This method is useful when you want to inject custom logic or configuration 9669// into the SDK's request lifecycle. Such as custom headers, or retry logic. 9670// 9671// 9672// // Example sending a request using the RotateEncryptionKeyRequest method. 9673// req, resp := client.RotateEncryptionKeyRequest(params) 9674// 9675// err := req.Send() 9676// if err == nil { // resp is now filled 9677// fmt.Println(resp) 9678// } 9679// 9680// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RotateEncryptionKey 9681func (c *Redshift) RotateEncryptionKeyRequest(input *RotateEncryptionKeyInput) (req *request.Request, output *RotateEncryptionKeyOutput) { 9682 op := &request.Operation{ 9683 Name: opRotateEncryptionKey, 9684 HTTPMethod: "POST", 9685 HTTPPath: "/", 9686 } 9687 9688 if input == nil { 9689 input = &RotateEncryptionKeyInput{} 9690 } 9691 9692 output = &RotateEncryptionKeyOutput{} 9693 req = c.newRequest(op, input, output) 9694 return 9695} 9696 9697// RotateEncryptionKey API operation for Amazon Redshift. 9698// 9699// Rotates the encryption keys for a cluster. 9700// 9701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 9702// with awserr.Error's Code and Message methods to get detailed information about 9703// the error. 9704// 9705// See the AWS API reference guide for Amazon Redshift's 9706// API operation RotateEncryptionKey for usage and error information. 9707// 9708// Returned Error Codes: 9709// * ErrCodeClusterNotFoundFault "ClusterNotFound" 9710// The ClusterIdentifier parameter does not refer to an existing cluster. 9711// 9712// * ErrCodeInvalidClusterStateFault "InvalidClusterState" 9713// The specified cluster is not in the available state. 9714// 9715// * ErrCodeDependentServiceRequestThrottlingFault "DependentServiceRequestThrottlingFault" 9716// The request cannot be completed because a dependent service is throttling 9717// requests made by Amazon Redshift on your behalf. Wait and retry the request. 9718// 9719// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-2012-12-01/RotateEncryptionKey 9720func (c *Redshift) RotateEncryptionKey(input *RotateEncryptionKeyInput) (*RotateEncryptionKeyOutput, error) { 9721 req, out := c.RotateEncryptionKeyRequest(input) 9722 return out, req.Send() 9723} 9724 9725// RotateEncryptionKeyWithContext is the same as RotateEncryptionKey with the addition of 9726// the ability to pass a context and additional request options. 9727// 9728// See RotateEncryptionKey for details on how to use this API operation. 9729// 9730// The context must be non-nil and will be used for request cancellation. If 9731// the context is nil a panic will occur. In the future the SDK may create 9732// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 9733// for more information on using Contexts. 9734func (c *Redshift) RotateEncryptionKeyWithContext(ctx aws.Context, input *RotateEncryptionKeyInput, opts ...request.Option) (*RotateEncryptionKeyOutput, error) { 9735 req, out := c.RotateEncryptionKeyRequest(input) 9736 req.SetContext(ctx) 9737 req.ApplyOptions(opts...) 9738 return out, req.Send() 9739} 9740 9741type AcceptReservedNodeExchangeInput struct { 9742 _ struct{} `type:"structure"` 9743 9744 // A string representing the node identifier of the DC1 Reserved Node to be 9745 // exchanged. 9746 // 9747 // ReservedNodeId is a required field 9748 ReservedNodeId *string `type:"string" required:"true"` 9749 9750 // The unique identifier of the DC2 Reserved Node offering to be used for the 9751 // exchange. You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings 9752 // 9753 // TargetReservedNodeOfferingId is a required field 9754 TargetReservedNodeOfferingId *string `type:"string" required:"true"` 9755} 9756 9757// String returns the string representation 9758func (s AcceptReservedNodeExchangeInput) String() string { 9759 return awsutil.Prettify(s) 9760} 9761 9762// GoString returns the string representation 9763func (s AcceptReservedNodeExchangeInput) GoString() string { 9764 return s.String() 9765} 9766 9767// Validate inspects the fields of the type to determine if they are valid. 9768func (s *AcceptReservedNodeExchangeInput) Validate() error { 9769 invalidParams := request.ErrInvalidParams{Context: "AcceptReservedNodeExchangeInput"} 9770 if s.ReservedNodeId == nil { 9771 invalidParams.Add(request.NewErrParamRequired("ReservedNodeId")) 9772 } 9773 if s.TargetReservedNodeOfferingId == nil { 9774 invalidParams.Add(request.NewErrParamRequired("TargetReservedNodeOfferingId")) 9775 } 9776 9777 if invalidParams.Len() > 0 { 9778 return invalidParams 9779 } 9780 return nil 9781} 9782 9783// SetReservedNodeId sets the ReservedNodeId field's value. 9784func (s *AcceptReservedNodeExchangeInput) SetReservedNodeId(v string) *AcceptReservedNodeExchangeInput { 9785 s.ReservedNodeId = &v 9786 return s 9787} 9788 9789// SetTargetReservedNodeOfferingId sets the TargetReservedNodeOfferingId field's value. 9790func (s *AcceptReservedNodeExchangeInput) SetTargetReservedNodeOfferingId(v string) *AcceptReservedNodeExchangeInput { 9791 s.TargetReservedNodeOfferingId = &v 9792 return s 9793} 9794 9795type AcceptReservedNodeExchangeOutput struct { 9796 _ struct{} `type:"structure"` 9797 9798 // Describes a reserved node. You can call the DescribeReservedNodeOfferings 9799 // API to obtain the available reserved node offerings. 9800 ExchangedReservedNode *ReservedNode `type:"structure"` 9801} 9802 9803// String returns the string representation 9804func (s AcceptReservedNodeExchangeOutput) String() string { 9805 return awsutil.Prettify(s) 9806} 9807 9808// GoString returns the string representation 9809func (s AcceptReservedNodeExchangeOutput) GoString() string { 9810 return s.String() 9811} 9812 9813// SetExchangedReservedNode sets the ExchangedReservedNode field's value. 9814func (s *AcceptReservedNodeExchangeOutput) SetExchangedReservedNode(v *ReservedNode) *AcceptReservedNodeExchangeOutput { 9815 s.ExchangedReservedNode = v 9816 return s 9817} 9818 9819// A name value pair that describes an aspect of an account. 9820type AccountAttribute struct { 9821 _ struct{} `type:"structure"` 9822 9823 // The name of the attribute. 9824 AttributeName *string `type:"string"` 9825 9826 // A list of attribute values. 9827 AttributeValues []*AttributeValueTarget `locationNameList:"AttributeValueTarget" type:"list"` 9828} 9829 9830// String returns the string representation 9831func (s AccountAttribute) String() string { 9832 return awsutil.Prettify(s) 9833} 9834 9835// GoString returns the string representation 9836func (s AccountAttribute) GoString() string { 9837 return s.String() 9838} 9839 9840// SetAttributeName sets the AttributeName field's value. 9841func (s *AccountAttribute) SetAttributeName(v string) *AccountAttribute { 9842 s.AttributeName = &v 9843 return s 9844} 9845 9846// SetAttributeValues sets the AttributeValues field's value. 9847func (s *AccountAttribute) SetAttributeValues(v []*AttributeValueTarget) *AccountAttribute { 9848 s.AttributeValues = v 9849 return s 9850} 9851 9852// Describes an AWS customer account authorized to restore a snapshot. 9853type AccountWithRestoreAccess struct { 9854 _ struct{} `type:"structure"` 9855 9856 // The identifier of an AWS support account authorized to restore a snapshot. 9857 // For AWS support, the identifier is amazon-redshift-support. 9858 AccountAlias *string `type:"string"` 9859 9860 // The identifier of an AWS customer account authorized to restore a snapshot. 9861 AccountId *string `type:"string"` 9862} 9863 9864// String returns the string representation 9865func (s AccountWithRestoreAccess) String() string { 9866 return awsutil.Prettify(s) 9867} 9868 9869// GoString returns the string representation 9870func (s AccountWithRestoreAccess) GoString() string { 9871 return s.String() 9872} 9873 9874// SetAccountAlias sets the AccountAlias field's value. 9875func (s *AccountWithRestoreAccess) SetAccountAlias(v string) *AccountWithRestoreAccess { 9876 s.AccountAlias = &v 9877 return s 9878} 9879 9880// SetAccountId sets the AccountId field's value. 9881func (s *AccountWithRestoreAccess) SetAccountId(v string) *AccountWithRestoreAccess { 9882 s.AccountId = &v 9883 return s 9884} 9885 9886// Describes an attribute value. 9887type AttributeValueTarget struct { 9888 _ struct{} `type:"structure"` 9889 9890 // The value of the attribute. 9891 AttributeValue *string `type:"string"` 9892} 9893 9894// String returns the string representation 9895func (s AttributeValueTarget) String() string { 9896 return awsutil.Prettify(s) 9897} 9898 9899// GoString returns the string representation 9900func (s AttributeValueTarget) GoString() string { 9901 return s.String() 9902} 9903 9904// SetAttributeValue sets the AttributeValue field's value. 9905func (s *AttributeValueTarget) SetAttributeValue(v string) *AttributeValueTarget { 9906 s.AttributeValue = &v 9907 return s 9908} 9909 9910type AuthorizeClusterSecurityGroupIngressInput struct { 9911 _ struct{} `type:"structure"` 9912 9913 // The IP range to be added the Amazon Redshift security group. 9914 CIDRIP *string `type:"string"` 9915 9916 // The name of the security group to which the ingress rule is added. 9917 // 9918 // ClusterSecurityGroupName is a required field 9919 ClusterSecurityGroupName *string `type:"string" required:"true"` 9920 9921 // The EC2 security group to be added the Amazon Redshift security group. 9922 EC2SecurityGroupName *string `type:"string"` 9923 9924 // The AWS account number of the owner of the security group specified by the 9925 // EC2SecurityGroupName parameter. The AWS Access Key ID is not an acceptable 9926 // value. 9927 // 9928 // Example: 111122223333 9929 EC2SecurityGroupOwnerId *string `type:"string"` 9930} 9931 9932// String returns the string representation 9933func (s AuthorizeClusterSecurityGroupIngressInput) String() string { 9934 return awsutil.Prettify(s) 9935} 9936 9937// GoString returns the string representation 9938func (s AuthorizeClusterSecurityGroupIngressInput) GoString() string { 9939 return s.String() 9940} 9941 9942// Validate inspects the fields of the type to determine if they are valid. 9943func (s *AuthorizeClusterSecurityGroupIngressInput) Validate() error { 9944 invalidParams := request.ErrInvalidParams{Context: "AuthorizeClusterSecurityGroupIngressInput"} 9945 if s.ClusterSecurityGroupName == nil { 9946 invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName")) 9947 } 9948 9949 if invalidParams.Len() > 0 { 9950 return invalidParams 9951 } 9952 return nil 9953} 9954 9955// SetCIDRIP sets the CIDRIP field's value. 9956func (s *AuthorizeClusterSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeClusterSecurityGroupIngressInput { 9957 s.CIDRIP = &v 9958 return s 9959} 9960 9961// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 9962func (s *AuthorizeClusterSecurityGroupIngressInput) SetClusterSecurityGroupName(v string) *AuthorizeClusterSecurityGroupIngressInput { 9963 s.ClusterSecurityGroupName = &v 9964 return s 9965} 9966 9967// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 9968func (s *AuthorizeClusterSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeClusterSecurityGroupIngressInput { 9969 s.EC2SecurityGroupName = &v 9970 return s 9971} 9972 9973// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 9974func (s *AuthorizeClusterSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeClusterSecurityGroupIngressInput { 9975 s.EC2SecurityGroupOwnerId = &v 9976 return s 9977} 9978 9979type AuthorizeClusterSecurityGroupIngressOutput struct { 9980 _ struct{} `type:"structure"` 9981 9982 // Describes a security group. 9983 ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"` 9984} 9985 9986// String returns the string representation 9987func (s AuthorizeClusterSecurityGroupIngressOutput) String() string { 9988 return awsutil.Prettify(s) 9989} 9990 9991// GoString returns the string representation 9992func (s AuthorizeClusterSecurityGroupIngressOutput) GoString() string { 9993 return s.String() 9994} 9995 9996// SetClusterSecurityGroup sets the ClusterSecurityGroup field's value. 9997func (s *AuthorizeClusterSecurityGroupIngressOutput) SetClusterSecurityGroup(v *ClusterSecurityGroup) *AuthorizeClusterSecurityGroupIngressOutput { 9998 s.ClusterSecurityGroup = v 9999 return s 10000} 10001 10002type AuthorizeSnapshotAccessInput struct { 10003 _ struct{} `type:"structure"` 10004 10005 // The identifier of the AWS customer account authorized to restore the specified 10006 // snapshot. 10007 // 10008 // To share a snapshot with AWS support, specify amazon-redshift-support. 10009 // 10010 // AccountWithRestoreAccess is a required field 10011 AccountWithRestoreAccess *string `type:"string" required:"true"` 10012 10013 // The identifier of the cluster the snapshot was created from. This parameter 10014 // is required if your IAM user has a policy containing a snapshot resource 10015 // element that specifies anything other than * for the cluster name. 10016 SnapshotClusterIdentifier *string `type:"string"` 10017 10018 // The identifier of the snapshot the account is authorized to restore. 10019 // 10020 // SnapshotIdentifier is a required field 10021 SnapshotIdentifier *string `type:"string" required:"true"` 10022} 10023 10024// String returns the string representation 10025func (s AuthorizeSnapshotAccessInput) String() string { 10026 return awsutil.Prettify(s) 10027} 10028 10029// GoString returns the string representation 10030func (s AuthorizeSnapshotAccessInput) GoString() string { 10031 return s.String() 10032} 10033 10034// Validate inspects the fields of the type to determine if they are valid. 10035func (s *AuthorizeSnapshotAccessInput) Validate() error { 10036 invalidParams := request.ErrInvalidParams{Context: "AuthorizeSnapshotAccessInput"} 10037 if s.AccountWithRestoreAccess == nil { 10038 invalidParams.Add(request.NewErrParamRequired("AccountWithRestoreAccess")) 10039 } 10040 if s.SnapshotIdentifier == nil { 10041 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 10042 } 10043 10044 if invalidParams.Len() > 0 { 10045 return invalidParams 10046 } 10047 return nil 10048} 10049 10050// SetAccountWithRestoreAccess sets the AccountWithRestoreAccess field's value. 10051func (s *AuthorizeSnapshotAccessInput) SetAccountWithRestoreAccess(v string) *AuthorizeSnapshotAccessInput { 10052 s.AccountWithRestoreAccess = &v 10053 return s 10054} 10055 10056// SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value. 10057func (s *AuthorizeSnapshotAccessInput) SetSnapshotClusterIdentifier(v string) *AuthorizeSnapshotAccessInput { 10058 s.SnapshotClusterIdentifier = &v 10059 return s 10060} 10061 10062// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 10063func (s *AuthorizeSnapshotAccessInput) SetSnapshotIdentifier(v string) *AuthorizeSnapshotAccessInput { 10064 s.SnapshotIdentifier = &v 10065 return s 10066} 10067 10068type AuthorizeSnapshotAccessOutput struct { 10069 _ struct{} `type:"structure"` 10070 10071 // Describes a snapshot. 10072 Snapshot *Snapshot `type:"structure"` 10073} 10074 10075// String returns the string representation 10076func (s AuthorizeSnapshotAccessOutput) String() string { 10077 return awsutil.Prettify(s) 10078} 10079 10080// GoString returns the string representation 10081func (s AuthorizeSnapshotAccessOutput) GoString() string { 10082 return s.String() 10083} 10084 10085// SetSnapshot sets the Snapshot field's value. 10086func (s *AuthorizeSnapshotAccessOutput) SetSnapshot(v *Snapshot) *AuthorizeSnapshotAccessOutput { 10087 s.Snapshot = v 10088 return s 10089} 10090 10091// Describes an availability zone. 10092type AvailabilityZone struct { 10093 _ struct{} `type:"structure"` 10094 10095 // The name of the availability zone. 10096 Name *string `type:"string"` 10097 10098 SupportedPlatforms []*SupportedPlatform `locationNameList:"SupportedPlatform" type:"list"` 10099} 10100 10101// String returns the string representation 10102func (s AvailabilityZone) String() string { 10103 return awsutil.Prettify(s) 10104} 10105 10106// GoString returns the string representation 10107func (s AvailabilityZone) GoString() string { 10108 return s.String() 10109} 10110 10111// SetName sets the Name field's value. 10112func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 10113 s.Name = &v 10114 return s 10115} 10116 10117// SetSupportedPlatforms sets the SupportedPlatforms field's value. 10118func (s *AvailabilityZone) SetSupportedPlatforms(v []*SupportedPlatform) *AvailabilityZone { 10119 s.SupportedPlatforms = v 10120 return s 10121} 10122 10123type BatchDeleteClusterSnapshotsInput struct { 10124 _ struct{} `type:"structure"` 10125 10126 // A list of identifiers for the snapshots that you want to delete. 10127 // 10128 // Identifiers is a required field 10129 Identifiers []*DeleteClusterSnapshotMessage `locationNameList:"DeleteClusterSnapshotMessage" type:"list" required:"true"` 10130} 10131 10132// String returns the string representation 10133func (s BatchDeleteClusterSnapshotsInput) String() string { 10134 return awsutil.Prettify(s) 10135} 10136 10137// GoString returns the string representation 10138func (s BatchDeleteClusterSnapshotsInput) GoString() string { 10139 return s.String() 10140} 10141 10142// Validate inspects the fields of the type to determine if they are valid. 10143func (s *BatchDeleteClusterSnapshotsInput) Validate() error { 10144 invalidParams := request.ErrInvalidParams{Context: "BatchDeleteClusterSnapshotsInput"} 10145 if s.Identifiers == nil { 10146 invalidParams.Add(request.NewErrParamRequired("Identifiers")) 10147 } 10148 if s.Identifiers != nil { 10149 for i, v := range s.Identifiers { 10150 if v == nil { 10151 continue 10152 } 10153 if err := v.Validate(); err != nil { 10154 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Identifiers", i), err.(request.ErrInvalidParams)) 10155 } 10156 } 10157 } 10158 10159 if invalidParams.Len() > 0 { 10160 return invalidParams 10161 } 10162 return nil 10163} 10164 10165// SetIdentifiers sets the Identifiers field's value. 10166func (s *BatchDeleteClusterSnapshotsInput) SetIdentifiers(v []*DeleteClusterSnapshotMessage) *BatchDeleteClusterSnapshotsInput { 10167 s.Identifiers = v 10168 return s 10169} 10170 10171type BatchDeleteClusterSnapshotsOutput struct { 10172 _ struct{} `type:"structure"` 10173 10174 // A list of any errors returned. 10175 Errors []*SnapshotErrorMessage `locationNameList:"SnapshotErrorMessage" type:"list"` 10176 10177 // A list of the snapshot identifiers that were deleted. 10178 Resources []*string `locationNameList:"String" type:"list"` 10179} 10180 10181// String returns the string representation 10182func (s BatchDeleteClusterSnapshotsOutput) String() string { 10183 return awsutil.Prettify(s) 10184} 10185 10186// GoString returns the string representation 10187func (s BatchDeleteClusterSnapshotsOutput) GoString() string { 10188 return s.String() 10189} 10190 10191// SetErrors sets the Errors field's value. 10192func (s *BatchDeleteClusterSnapshotsOutput) SetErrors(v []*SnapshotErrorMessage) *BatchDeleteClusterSnapshotsOutput { 10193 s.Errors = v 10194 return s 10195} 10196 10197// SetResources sets the Resources field's value. 10198func (s *BatchDeleteClusterSnapshotsOutput) SetResources(v []*string) *BatchDeleteClusterSnapshotsOutput { 10199 s.Resources = v 10200 return s 10201} 10202 10203type BatchModifyClusterSnapshotsInput struct { 10204 _ struct{} `type:"structure"` 10205 10206 // A boolean value indicating whether to override an exception if the retention 10207 // period has passed. 10208 Force *bool `type:"boolean"` 10209 10210 // The number of days that a manual snapshot is retained. If you specify the 10211 // value -1, the manual snapshot is retained indefinitely. 10212 // 10213 // The number must be either -1 or an integer between 1 and 3,653. 10214 // 10215 // If you decrease the manual snapshot retention period from its current value, 10216 // existing manual snapshots that fall outside of the new retention period will 10217 // return an error. If you want to suppress the errors and delete the snapshots, 10218 // use the force option. 10219 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 10220 10221 // A list of snapshot identifiers you want to modify. 10222 // 10223 // SnapshotIdentifierList is a required field 10224 SnapshotIdentifierList []*string `locationNameList:"String" type:"list" required:"true"` 10225} 10226 10227// String returns the string representation 10228func (s BatchModifyClusterSnapshotsInput) String() string { 10229 return awsutil.Prettify(s) 10230} 10231 10232// GoString returns the string representation 10233func (s BatchModifyClusterSnapshotsInput) GoString() string { 10234 return s.String() 10235} 10236 10237// Validate inspects the fields of the type to determine if they are valid. 10238func (s *BatchModifyClusterSnapshotsInput) Validate() error { 10239 invalidParams := request.ErrInvalidParams{Context: "BatchModifyClusterSnapshotsInput"} 10240 if s.SnapshotIdentifierList == nil { 10241 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifierList")) 10242 } 10243 10244 if invalidParams.Len() > 0 { 10245 return invalidParams 10246 } 10247 return nil 10248} 10249 10250// SetForce sets the Force field's value. 10251func (s *BatchModifyClusterSnapshotsInput) SetForce(v bool) *BatchModifyClusterSnapshotsInput { 10252 s.Force = &v 10253 return s 10254} 10255 10256// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 10257func (s *BatchModifyClusterSnapshotsInput) SetManualSnapshotRetentionPeriod(v int64) *BatchModifyClusterSnapshotsInput { 10258 s.ManualSnapshotRetentionPeriod = &v 10259 return s 10260} 10261 10262// SetSnapshotIdentifierList sets the SnapshotIdentifierList field's value. 10263func (s *BatchModifyClusterSnapshotsInput) SetSnapshotIdentifierList(v []*string) *BatchModifyClusterSnapshotsInput { 10264 s.SnapshotIdentifierList = v 10265 return s 10266} 10267 10268type BatchModifyClusterSnapshotsOutput struct { 10269 _ struct{} `type:"structure"` 10270 10271 // A list of any errors returned. 10272 Errors []*SnapshotErrorMessage `locationNameList:"SnapshotErrorMessage" type:"list"` 10273 10274 // A list of the snapshots that were modified. 10275 Resources []*string `locationNameList:"String" type:"list"` 10276} 10277 10278// String returns the string representation 10279func (s BatchModifyClusterSnapshotsOutput) String() string { 10280 return awsutil.Prettify(s) 10281} 10282 10283// GoString returns the string representation 10284func (s BatchModifyClusterSnapshotsOutput) GoString() string { 10285 return s.String() 10286} 10287 10288// SetErrors sets the Errors field's value. 10289func (s *BatchModifyClusterSnapshotsOutput) SetErrors(v []*SnapshotErrorMessage) *BatchModifyClusterSnapshotsOutput { 10290 s.Errors = v 10291 return s 10292} 10293 10294// SetResources sets the Resources field's value. 10295func (s *BatchModifyClusterSnapshotsOutput) SetResources(v []*string) *BatchModifyClusterSnapshotsOutput { 10296 s.Resources = v 10297 return s 10298} 10299 10300type CancelResizeInput struct { 10301 _ struct{} `type:"structure"` 10302 10303 // The unique identifier for the cluster that you want to cancel a resize operation 10304 // for. 10305 // 10306 // ClusterIdentifier is a required field 10307 ClusterIdentifier *string `type:"string" required:"true"` 10308} 10309 10310// String returns the string representation 10311func (s CancelResizeInput) String() string { 10312 return awsutil.Prettify(s) 10313} 10314 10315// GoString returns the string representation 10316func (s CancelResizeInput) GoString() string { 10317 return s.String() 10318} 10319 10320// Validate inspects the fields of the type to determine if they are valid. 10321func (s *CancelResizeInput) Validate() error { 10322 invalidParams := request.ErrInvalidParams{Context: "CancelResizeInput"} 10323 if s.ClusterIdentifier == nil { 10324 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 10325 } 10326 10327 if invalidParams.Len() > 0 { 10328 return invalidParams 10329 } 10330 return nil 10331} 10332 10333// SetClusterIdentifier sets the ClusterIdentifier field's value. 10334func (s *CancelResizeInput) SetClusterIdentifier(v string) *CancelResizeInput { 10335 s.ClusterIdentifier = &v 10336 return s 10337} 10338 10339// Describes the result of a cluster resize operation. 10340type CancelResizeOutput struct { 10341 _ struct{} `type:"structure"` 10342 10343 // The average rate of the resize operation over the last few minutes, measured 10344 // in megabytes per second. After the resize operation completes, this value 10345 // shows the average rate of the entire resize operation. 10346 AvgResizeRateInMegaBytesPerSecond *float64 `type:"double"` 10347 10348 // The percent of data transferred from source cluster to target cluster. 10349 DataTransferProgressPercent *float64 `type:"double"` 10350 10351 // The amount of seconds that have elapsed since the resize operation began. 10352 // After the resize operation completes, this value shows the total actual time, 10353 // in seconds, for the resize operation. 10354 ElapsedTimeInSeconds *int64 `type:"long"` 10355 10356 // The estimated time remaining, in seconds, until the resize operation is complete. 10357 // This value is calculated based on the average resize rate and the estimated 10358 // amount of data remaining to be processed. Once the resize operation is complete, 10359 // this value will be 0. 10360 EstimatedTimeToCompletionInSeconds *int64 `type:"long"` 10361 10362 // The names of tables that have been completely imported . 10363 // 10364 // Valid Values: List of table names. 10365 ImportTablesCompleted []*string `type:"list"` 10366 10367 // The names of tables that are being currently imported. 10368 // 10369 // Valid Values: List of table names. 10370 ImportTablesInProgress []*string `type:"list"` 10371 10372 // The names of tables that have not been yet imported. 10373 // 10374 // Valid Values: List of table names 10375 ImportTablesNotStarted []*string `type:"list"` 10376 10377 // An optional string to provide additional details about the resize action. 10378 Message *string `type:"string"` 10379 10380 // While the resize operation is in progress, this value shows the current amount 10381 // of data, in megabytes, that has been processed so far. When the resize operation 10382 // is complete, this value shows the total amount of data, in megabytes, on 10383 // the cluster, which may be more or less than TotalResizeDataInMegaBytes (the 10384 // estimated total amount of data before resize). 10385 ProgressInMegaBytes *int64 `type:"long"` 10386 10387 // An enum with possible values of ClassicResize and ElasticResize. These values 10388 // describe the type of resize operation being performed. 10389 ResizeType *string `type:"string"` 10390 10391 // The status of the resize operation. 10392 // 10393 // Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED | CANCELLING 10394 Status *string `type:"string"` 10395 10396 // The cluster type after the resize operation is complete. 10397 // 10398 // Valid Values: multi-node | single-node 10399 TargetClusterType *string `type:"string"` 10400 10401 // The type of encryption for the cluster after the resize is complete. 10402 // 10403 // Possible values are KMS and None. In the China region possible values are: 10404 // Legacy and None. 10405 TargetEncryptionType *string `type:"string"` 10406 10407 // The node type that the cluster will have after the resize operation is complete. 10408 TargetNodeType *string `type:"string"` 10409 10410 // The number of nodes that the cluster will have after the resize operation 10411 // is complete. 10412 TargetNumberOfNodes *int64 `type:"integer"` 10413 10414 // The estimated total amount of data, in megabytes, on the cluster before the 10415 // resize operation began. 10416 TotalResizeDataInMegaBytes *int64 `type:"long"` 10417} 10418 10419// String returns the string representation 10420func (s CancelResizeOutput) String() string { 10421 return awsutil.Prettify(s) 10422} 10423 10424// GoString returns the string representation 10425func (s CancelResizeOutput) GoString() string { 10426 return s.String() 10427} 10428 10429// SetAvgResizeRateInMegaBytesPerSecond sets the AvgResizeRateInMegaBytesPerSecond field's value. 10430func (s *CancelResizeOutput) SetAvgResizeRateInMegaBytesPerSecond(v float64) *CancelResizeOutput { 10431 s.AvgResizeRateInMegaBytesPerSecond = &v 10432 return s 10433} 10434 10435// SetDataTransferProgressPercent sets the DataTransferProgressPercent field's value. 10436func (s *CancelResizeOutput) SetDataTransferProgressPercent(v float64) *CancelResizeOutput { 10437 s.DataTransferProgressPercent = &v 10438 return s 10439} 10440 10441// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value. 10442func (s *CancelResizeOutput) SetElapsedTimeInSeconds(v int64) *CancelResizeOutput { 10443 s.ElapsedTimeInSeconds = &v 10444 return s 10445} 10446 10447// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value. 10448func (s *CancelResizeOutput) SetEstimatedTimeToCompletionInSeconds(v int64) *CancelResizeOutput { 10449 s.EstimatedTimeToCompletionInSeconds = &v 10450 return s 10451} 10452 10453// SetImportTablesCompleted sets the ImportTablesCompleted field's value. 10454func (s *CancelResizeOutput) SetImportTablesCompleted(v []*string) *CancelResizeOutput { 10455 s.ImportTablesCompleted = v 10456 return s 10457} 10458 10459// SetImportTablesInProgress sets the ImportTablesInProgress field's value. 10460func (s *CancelResizeOutput) SetImportTablesInProgress(v []*string) *CancelResizeOutput { 10461 s.ImportTablesInProgress = v 10462 return s 10463} 10464 10465// SetImportTablesNotStarted sets the ImportTablesNotStarted field's value. 10466func (s *CancelResizeOutput) SetImportTablesNotStarted(v []*string) *CancelResizeOutput { 10467 s.ImportTablesNotStarted = v 10468 return s 10469} 10470 10471// SetMessage sets the Message field's value. 10472func (s *CancelResizeOutput) SetMessage(v string) *CancelResizeOutput { 10473 s.Message = &v 10474 return s 10475} 10476 10477// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value. 10478func (s *CancelResizeOutput) SetProgressInMegaBytes(v int64) *CancelResizeOutput { 10479 s.ProgressInMegaBytes = &v 10480 return s 10481} 10482 10483// SetResizeType sets the ResizeType field's value. 10484func (s *CancelResizeOutput) SetResizeType(v string) *CancelResizeOutput { 10485 s.ResizeType = &v 10486 return s 10487} 10488 10489// SetStatus sets the Status field's value. 10490func (s *CancelResizeOutput) SetStatus(v string) *CancelResizeOutput { 10491 s.Status = &v 10492 return s 10493} 10494 10495// SetTargetClusterType sets the TargetClusterType field's value. 10496func (s *CancelResizeOutput) SetTargetClusterType(v string) *CancelResizeOutput { 10497 s.TargetClusterType = &v 10498 return s 10499} 10500 10501// SetTargetEncryptionType sets the TargetEncryptionType field's value. 10502func (s *CancelResizeOutput) SetTargetEncryptionType(v string) *CancelResizeOutput { 10503 s.TargetEncryptionType = &v 10504 return s 10505} 10506 10507// SetTargetNodeType sets the TargetNodeType field's value. 10508func (s *CancelResizeOutput) SetTargetNodeType(v string) *CancelResizeOutput { 10509 s.TargetNodeType = &v 10510 return s 10511} 10512 10513// SetTargetNumberOfNodes sets the TargetNumberOfNodes field's value. 10514func (s *CancelResizeOutput) SetTargetNumberOfNodes(v int64) *CancelResizeOutput { 10515 s.TargetNumberOfNodes = &v 10516 return s 10517} 10518 10519// SetTotalResizeDataInMegaBytes sets the TotalResizeDataInMegaBytes field's value. 10520func (s *CancelResizeOutput) SetTotalResizeDataInMegaBytes(v int64) *CancelResizeOutput { 10521 s.TotalResizeDataInMegaBytes = &v 10522 return s 10523} 10524 10525// Describes a cluster. 10526type Cluster struct { 10527 _ struct{} `type:"structure"` 10528 10529 // A boolean value that, if true, indicates that major version upgrades will 10530 // be applied automatically to the cluster during the maintenance window. 10531 AllowVersionUpgrade *bool `type:"boolean"` 10532 10533 // The number of days that automatic cluster snapshots are retained. 10534 AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` 10535 10536 // The name of the Availability Zone in which the cluster is located. 10537 AvailabilityZone *string `type:"string"` 10538 10539 // The availability status of the cluster for queries. Possible values are the 10540 // following: 10541 // 10542 // * Available - The cluster is available for queries. 10543 // 10544 // * Unavailable - The cluster is not available for queries. 10545 // 10546 // * Maintenance - The cluster is intermittently available for queries due 10547 // to maintenance activities. 10548 // 10549 // * Modifying - The cluster is intermittently available for queries due 10550 // to changes that modify the cluster. 10551 // 10552 // * Failed - The cluster failed and is not available for queries. 10553 ClusterAvailabilityStatus *string `type:"string"` 10554 10555 // The date and time that the cluster was created. 10556 ClusterCreateTime *time.Time `type:"timestamp"` 10557 10558 // The unique identifier of the cluster. 10559 ClusterIdentifier *string `type:"string"` 10560 10561 // The nodes in the cluster. 10562 ClusterNodes []*ClusterNode `type:"list"` 10563 10564 // The list of cluster parameter groups that are associated with this cluster. 10565 // Each parameter group in the list is returned with its status. 10566 ClusterParameterGroups []*ClusterParameterGroupStatus `locationNameList:"ClusterParameterGroup" type:"list"` 10567 10568 // The public key for the cluster. 10569 ClusterPublicKey *string `type:"string"` 10570 10571 // The specific revision number of the database in the cluster. 10572 ClusterRevisionNumber *string `type:"string"` 10573 10574 // A list of cluster security group that are associated with the cluster. Each 10575 // security group is represented by an element that contains ClusterSecurityGroup.Name 10576 // and ClusterSecurityGroup.Status subelements. 10577 // 10578 // Cluster security groups are used when the cluster is not created in an Amazon 10579 // Virtual Private Cloud (VPC). Clusters that are created in a VPC use VPC security 10580 // groups, which are listed by the VpcSecurityGroups parameter. 10581 ClusterSecurityGroups []*ClusterSecurityGroupMembership `locationNameList:"ClusterSecurityGroup" type:"list"` 10582 10583 // A value that returns the destination region and retention period that are 10584 // configured for cross-region snapshot copy. 10585 ClusterSnapshotCopyStatus *ClusterSnapshotCopyStatus `type:"structure"` 10586 10587 // The current state of the cluster. Possible values are the following: 10588 // 10589 // * available 10590 // 10591 // * available, prep-for-resize 10592 // 10593 // * available, resize-cleanup 10594 // 10595 // * cancelling-resize 10596 // 10597 // * creating 10598 // 10599 // * deleting 10600 // 10601 // * final-snapshot 10602 // 10603 // * hardware-failure 10604 // 10605 // * incompatible-hsm 10606 // 10607 // * incompatible-network 10608 // 10609 // * incompatible-parameters 10610 // 10611 // * incompatible-restore 10612 // 10613 // * modifying 10614 // 10615 // * paused 10616 // 10617 // * rebooting 10618 // 10619 // * renaming 10620 // 10621 // * resizing 10622 // 10623 // * rotating-keys 10624 // 10625 // * storage-full 10626 // 10627 // * updating-hsm 10628 ClusterStatus *string `type:"string"` 10629 10630 // The name of the subnet group that is associated with the cluster. This parameter 10631 // is valid only when the cluster is in a VPC. 10632 ClusterSubnetGroupName *string `type:"string"` 10633 10634 // The version ID of the Amazon Redshift engine that is running on the cluster. 10635 ClusterVersion *string `type:"string"` 10636 10637 // The name of the initial database that was created when the cluster was created. 10638 // This same name is returned for the life of the cluster. If an initial database 10639 // was not specified, a database named devdev was created by default. 10640 DBName *string `type:"string"` 10641 10642 // Describes the status of a cluster while it is in the process of resizing 10643 // with an incremental resize. 10644 DataTransferProgress *DataTransferProgress `type:"structure"` 10645 10646 // Describes a group of DeferredMaintenanceWindow objects. 10647 DeferredMaintenanceWindows []*DeferredMaintenanceWindow `locationNameList:"DeferredMaintenanceWindow" type:"list"` 10648 10649 // The status of the elastic IP (EIP) address. 10650 ElasticIpStatus *ElasticIpStatus `type:"structure"` 10651 10652 // The number of nodes that you can resize the cluster to with the elastic resize 10653 // method. 10654 ElasticResizeNumberOfNodeOptions *string `type:"string"` 10655 10656 // A boolean value that, if true, indicates that data in the cluster is encrypted 10657 // at rest. 10658 Encrypted *bool `type:"boolean"` 10659 10660 // The connection endpoint. 10661 Endpoint *Endpoint `type:"structure"` 10662 10663 // An option that specifies whether to create the cluster with enhanced VPC 10664 // routing enabled. To create a cluster that uses enhanced VPC routing, the 10665 // cluster must be in a VPC. For more information, see Enhanced VPC Routing 10666 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) 10667 // in the Amazon Redshift Cluster Management Guide. 10668 // 10669 // If this option is true, enhanced VPC routing is enabled. 10670 // 10671 // Default: false 10672 EnhancedVpcRouting *bool `type:"boolean"` 10673 10674 // The date and time when the next snapshot is expected to be taken for clusters 10675 // with a valid snapshot schedule and backups enabled. 10676 ExpectedNextSnapshotScheduleTime *time.Time `type:"timestamp"` 10677 10678 // The status of next expected snapshot for clusters having a valid snapshot 10679 // schedule and backups enabled. Possible values are the following: 10680 // 10681 // * OnTrack - The next snapshot is expected to be taken on time. 10682 // 10683 // * Pending - The next snapshot is pending to be taken. 10684 ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"` 10685 10686 // A value that reports whether the Amazon Redshift cluster has finished applying 10687 // any hardware security module (HSM) settings changes specified in a modify 10688 // cluster command. 10689 // 10690 // Values: active, applying 10691 HsmStatus *HsmStatus `type:"structure"` 10692 10693 // A list of AWS Identity and Access Management (IAM) roles that can be used 10694 // by the cluster to access other AWS services. 10695 IamRoles []*ClusterIamRole `locationNameList:"ClusterIamRole" type:"list"` 10696 10697 // The AWS Key Management Service (AWS KMS) key ID of the encryption key used 10698 // to encrypt data in the cluster. 10699 KmsKeyId *string `type:"string"` 10700 10701 // The name of the maintenance track for the cluster. 10702 MaintenanceTrackName *string `type:"string"` 10703 10704 // The default number of days to retain a manual snapshot. If the value is -1, 10705 // the snapshot is retained indefinitely. This setting doesn't change the retention 10706 // period of existing snapshots. 10707 // 10708 // The value must be either -1 or an integer between 1 and 3,653. 10709 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 10710 10711 // The master user name for the cluster. This name is used to connect to the 10712 // database that is specified in the DBName parameter. 10713 MasterUsername *string `type:"string"` 10714 10715 // The status of a modify operation, if any, initiated for the cluster. 10716 ModifyStatus *string `type:"string"` 10717 10718 // The date and time in UTC when system maintenance can begin. 10719 NextMaintenanceWindowStartTime *time.Time `type:"timestamp"` 10720 10721 // The node type for the nodes in the cluster. 10722 NodeType *string `type:"string"` 10723 10724 // The number of compute nodes in the cluster. 10725 NumberOfNodes *int64 `type:"integer"` 10726 10727 // Cluster operations that are waiting to be started. 10728 PendingActions []*string `type:"list"` 10729 10730 // A value that, if present, indicates that changes to the cluster are pending. 10731 // Specific pending changes are identified by subelements. 10732 PendingModifiedValues *PendingModifiedValues `type:"structure"` 10733 10734 // The weekly time range, in Universal Coordinated Time (UTC), during which 10735 // system maintenance can occur. 10736 PreferredMaintenanceWindow *string `type:"string"` 10737 10738 // A boolean value that, if true, indicates that the cluster can be accessed 10739 // from a public network. 10740 PubliclyAccessible *bool `type:"boolean"` 10741 10742 // Returns the following: 10743 // 10744 // * AllowCancelResize: a boolean value indicating if the resize operation 10745 // can be cancelled. 10746 // 10747 // * ResizeType: Returns ClassicResize 10748 ResizeInfo *ResizeInfo `type:"structure"` 10749 10750 // A value that describes the status of a cluster restore action. This parameter 10751 // returns null if the cluster was not created by restoring a snapshot. 10752 RestoreStatus *RestoreStatus `type:"structure"` 10753 10754 // A unique identifier for the cluster snapshot schedule. 10755 SnapshotScheduleIdentifier *string `type:"string"` 10756 10757 // The current state of the cluster snapshot schedule. 10758 SnapshotScheduleState *string `type:"string" enum:"ScheduleState"` 10759 10760 // The list of tags for the cluster. 10761 Tags []*Tag `locationNameList:"Tag" type:"list"` 10762 10763 // The identifier of the VPC the cluster is in, if the cluster is in a VPC. 10764 VpcId *string `type:"string"` 10765 10766 // A list of Amazon Virtual Private Cloud (Amazon VPC) security groups that 10767 // are associated with the cluster. This parameter is returned only if the cluster 10768 // is in a VPC. 10769 VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroup" type:"list"` 10770} 10771 10772// String returns the string representation 10773func (s Cluster) String() string { 10774 return awsutil.Prettify(s) 10775} 10776 10777// GoString returns the string representation 10778func (s Cluster) GoString() string { 10779 return s.String() 10780} 10781 10782// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value. 10783func (s *Cluster) SetAllowVersionUpgrade(v bool) *Cluster { 10784 s.AllowVersionUpgrade = &v 10785 return s 10786} 10787 10788// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value. 10789func (s *Cluster) SetAutomatedSnapshotRetentionPeriod(v int64) *Cluster { 10790 s.AutomatedSnapshotRetentionPeriod = &v 10791 return s 10792} 10793 10794// SetAvailabilityZone sets the AvailabilityZone field's value. 10795func (s *Cluster) SetAvailabilityZone(v string) *Cluster { 10796 s.AvailabilityZone = &v 10797 return s 10798} 10799 10800// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value. 10801func (s *Cluster) SetClusterAvailabilityStatus(v string) *Cluster { 10802 s.ClusterAvailabilityStatus = &v 10803 return s 10804} 10805 10806// SetClusterCreateTime sets the ClusterCreateTime field's value. 10807func (s *Cluster) SetClusterCreateTime(v time.Time) *Cluster { 10808 s.ClusterCreateTime = &v 10809 return s 10810} 10811 10812// SetClusterIdentifier sets the ClusterIdentifier field's value. 10813func (s *Cluster) SetClusterIdentifier(v string) *Cluster { 10814 s.ClusterIdentifier = &v 10815 return s 10816} 10817 10818// SetClusterNodes sets the ClusterNodes field's value. 10819func (s *Cluster) SetClusterNodes(v []*ClusterNode) *Cluster { 10820 s.ClusterNodes = v 10821 return s 10822} 10823 10824// SetClusterParameterGroups sets the ClusterParameterGroups field's value. 10825func (s *Cluster) SetClusterParameterGroups(v []*ClusterParameterGroupStatus) *Cluster { 10826 s.ClusterParameterGroups = v 10827 return s 10828} 10829 10830// SetClusterPublicKey sets the ClusterPublicKey field's value. 10831func (s *Cluster) SetClusterPublicKey(v string) *Cluster { 10832 s.ClusterPublicKey = &v 10833 return s 10834} 10835 10836// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value. 10837func (s *Cluster) SetClusterRevisionNumber(v string) *Cluster { 10838 s.ClusterRevisionNumber = &v 10839 return s 10840} 10841 10842// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value. 10843func (s *Cluster) SetClusterSecurityGroups(v []*ClusterSecurityGroupMembership) *Cluster { 10844 s.ClusterSecurityGroups = v 10845 return s 10846} 10847 10848// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value. 10849func (s *Cluster) SetClusterSnapshotCopyStatus(v *ClusterSnapshotCopyStatus) *Cluster { 10850 s.ClusterSnapshotCopyStatus = v 10851 return s 10852} 10853 10854// SetClusterStatus sets the ClusterStatus field's value. 10855func (s *Cluster) SetClusterStatus(v string) *Cluster { 10856 s.ClusterStatus = &v 10857 return s 10858} 10859 10860// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 10861func (s *Cluster) SetClusterSubnetGroupName(v string) *Cluster { 10862 s.ClusterSubnetGroupName = &v 10863 return s 10864} 10865 10866// SetClusterVersion sets the ClusterVersion field's value. 10867func (s *Cluster) SetClusterVersion(v string) *Cluster { 10868 s.ClusterVersion = &v 10869 return s 10870} 10871 10872// SetDBName sets the DBName field's value. 10873func (s *Cluster) SetDBName(v string) *Cluster { 10874 s.DBName = &v 10875 return s 10876} 10877 10878// SetDataTransferProgress sets the DataTransferProgress field's value. 10879func (s *Cluster) SetDataTransferProgress(v *DataTransferProgress) *Cluster { 10880 s.DataTransferProgress = v 10881 return s 10882} 10883 10884// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value. 10885func (s *Cluster) SetDeferredMaintenanceWindows(v []*DeferredMaintenanceWindow) *Cluster { 10886 s.DeferredMaintenanceWindows = v 10887 return s 10888} 10889 10890// SetElasticIpStatus sets the ElasticIpStatus field's value. 10891func (s *Cluster) SetElasticIpStatus(v *ElasticIpStatus) *Cluster { 10892 s.ElasticIpStatus = v 10893 return s 10894} 10895 10896// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value. 10897func (s *Cluster) SetElasticResizeNumberOfNodeOptions(v string) *Cluster { 10898 s.ElasticResizeNumberOfNodeOptions = &v 10899 return s 10900} 10901 10902// SetEncrypted sets the Encrypted field's value. 10903func (s *Cluster) SetEncrypted(v bool) *Cluster { 10904 s.Encrypted = &v 10905 return s 10906} 10907 10908// SetEndpoint sets the Endpoint field's value. 10909func (s *Cluster) SetEndpoint(v *Endpoint) *Cluster { 10910 s.Endpoint = v 10911 return s 10912} 10913 10914// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. 10915func (s *Cluster) SetEnhancedVpcRouting(v bool) *Cluster { 10916 s.EnhancedVpcRouting = &v 10917 return s 10918} 10919 10920// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value. 10921func (s *Cluster) SetExpectedNextSnapshotScheduleTime(v time.Time) *Cluster { 10922 s.ExpectedNextSnapshotScheduleTime = &v 10923 return s 10924} 10925 10926// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value. 10927func (s *Cluster) SetExpectedNextSnapshotScheduleTimeStatus(v string) *Cluster { 10928 s.ExpectedNextSnapshotScheduleTimeStatus = &v 10929 return s 10930} 10931 10932// SetHsmStatus sets the HsmStatus field's value. 10933func (s *Cluster) SetHsmStatus(v *HsmStatus) *Cluster { 10934 s.HsmStatus = v 10935 return s 10936} 10937 10938// SetIamRoles sets the IamRoles field's value. 10939func (s *Cluster) SetIamRoles(v []*ClusterIamRole) *Cluster { 10940 s.IamRoles = v 10941 return s 10942} 10943 10944// SetKmsKeyId sets the KmsKeyId field's value. 10945func (s *Cluster) SetKmsKeyId(v string) *Cluster { 10946 s.KmsKeyId = &v 10947 return s 10948} 10949 10950// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 10951func (s *Cluster) SetMaintenanceTrackName(v string) *Cluster { 10952 s.MaintenanceTrackName = &v 10953 return s 10954} 10955 10956// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 10957func (s *Cluster) SetManualSnapshotRetentionPeriod(v int64) *Cluster { 10958 s.ManualSnapshotRetentionPeriod = &v 10959 return s 10960} 10961 10962// SetMasterUsername sets the MasterUsername field's value. 10963func (s *Cluster) SetMasterUsername(v string) *Cluster { 10964 s.MasterUsername = &v 10965 return s 10966} 10967 10968// SetModifyStatus sets the ModifyStatus field's value. 10969func (s *Cluster) SetModifyStatus(v string) *Cluster { 10970 s.ModifyStatus = &v 10971 return s 10972} 10973 10974// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value. 10975func (s *Cluster) SetNextMaintenanceWindowStartTime(v time.Time) *Cluster { 10976 s.NextMaintenanceWindowStartTime = &v 10977 return s 10978} 10979 10980// SetNodeType sets the NodeType field's value. 10981func (s *Cluster) SetNodeType(v string) *Cluster { 10982 s.NodeType = &v 10983 return s 10984} 10985 10986// SetNumberOfNodes sets the NumberOfNodes field's value. 10987func (s *Cluster) SetNumberOfNodes(v int64) *Cluster { 10988 s.NumberOfNodes = &v 10989 return s 10990} 10991 10992// SetPendingActions sets the PendingActions field's value. 10993func (s *Cluster) SetPendingActions(v []*string) *Cluster { 10994 s.PendingActions = v 10995 return s 10996} 10997 10998// SetPendingModifiedValues sets the PendingModifiedValues field's value. 10999func (s *Cluster) SetPendingModifiedValues(v *PendingModifiedValues) *Cluster { 11000 s.PendingModifiedValues = v 11001 return s 11002} 11003 11004// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 11005func (s *Cluster) SetPreferredMaintenanceWindow(v string) *Cluster { 11006 s.PreferredMaintenanceWindow = &v 11007 return s 11008} 11009 11010// SetPubliclyAccessible sets the PubliclyAccessible field's value. 11011func (s *Cluster) SetPubliclyAccessible(v bool) *Cluster { 11012 s.PubliclyAccessible = &v 11013 return s 11014} 11015 11016// SetResizeInfo sets the ResizeInfo field's value. 11017func (s *Cluster) SetResizeInfo(v *ResizeInfo) *Cluster { 11018 s.ResizeInfo = v 11019 return s 11020} 11021 11022// SetRestoreStatus sets the RestoreStatus field's value. 11023func (s *Cluster) SetRestoreStatus(v *RestoreStatus) *Cluster { 11024 s.RestoreStatus = v 11025 return s 11026} 11027 11028// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value. 11029func (s *Cluster) SetSnapshotScheduleIdentifier(v string) *Cluster { 11030 s.SnapshotScheduleIdentifier = &v 11031 return s 11032} 11033 11034// SetSnapshotScheduleState sets the SnapshotScheduleState field's value. 11035func (s *Cluster) SetSnapshotScheduleState(v string) *Cluster { 11036 s.SnapshotScheduleState = &v 11037 return s 11038} 11039 11040// SetTags sets the Tags field's value. 11041func (s *Cluster) SetTags(v []*Tag) *Cluster { 11042 s.Tags = v 11043 return s 11044} 11045 11046// SetVpcId sets the VpcId field's value. 11047func (s *Cluster) SetVpcId(v string) *Cluster { 11048 s.VpcId = &v 11049 return s 11050} 11051 11052// SetVpcSecurityGroups sets the VpcSecurityGroups field's value. 11053func (s *Cluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *Cluster { 11054 s.VpcSecurityGroups = v 11055 return s 11056} 11057 11058type ClusterAssociatedToSchedule struct { 11059 _ struct{} `type:"structure"` 11060 11061 ClusterIdentifier *string `type:"string"` 11062 11063 ScheduleAssociationState *string `type:"string" enum:"ScheduleState"` 11064} 11065 11066// String returns the string representation 11067func (s ClusterAssociatedToSchedule) String() string { 11068 return awsutil.Prettify(s) 11069} 11070 11071// GoString returns the string representation 11072func (s ClusterAssociatedToSchedule) GoString() string { 11073 return s.String() 11074} 11075 11076// SetClusterIdentifier sets the ClusterIdentifier field's value. 11077func (s *ClusterAssociatedToSchedule) SetClusterIdentifier(v string) *ClusterAssociatedToSchedule { 11078 s.ClusterIdentifier = &v 11079 return s 11080} 11081 11082// SetScheduleAssociationState sets the ScheduleAssociationState field's value. 11083func (s *ClusterAssociatedToSchedule) SetScheduleAssociationState(v string) *ClusterAssociatedToSchedule { 11084 s.ScheduleAssociationState = &v 11085 return s 11086} 11087 11088// Describes a ClusterDbRevision. 11089type ClusterDbRevision struct { 11090 _ struct{} `type:"structure"` 11091 11092 // The unique identifier of the cluster. 11093 ClusterIdentifier *string `type:"string"` 11094 11095 // A string representing the current cluster version. 11096 CurrentDatabaseRevision *string `type:"string"` 11097 11098 // The date on which the database revision was released. 11099 DatabaseRevisionReleaseDate *time.Time `type:"timestamp"` 11100 11101 // A list of RevisionTarget objects, where each object describes the database 11102 // revision that a cluster can be updated to. 11103 RevisionTargets []*RevisionTarget `locationNameList:"RevisionTarget" type:"list"` 11104} 11105 11106// String returns the string representation 11107func (s ClusterDbRevision) String() string { 11108 return awsutil.Prettify(s) 11109} 11110 11111// GoString returns the string representation 11112func (s ClusterDbRevision) GoString() string { 11113 return s.String() 11114} 11115 11116// SetClusterIdentifier sets the ClusterIdentifier field's value. 11117func (s *ClusterDbRevision) SetClusterIdentifier(v string) *ClusterDbRevision { 11118 s.ClusterIdentifier = &v 11119 return s 11120} 11121 11122// SetCurrentDatabaseRevision sets the CurrentDatabaseRevision field's value. 11123func (s *ClusterDbRevision) SetCurrentDatabaseRevision(v string) *ClusterDbRevision { 11124 s.CurrentDatabaseRevision = &v 11125 return s 11126} 11127 11128// SetDatabaseRevisionReleaseDate sets the DatabaseRevisionReleaseDate field's value. 11129func (s *ClusterDbRevision) SetDatabaseRevisionReleaseDate(v time.Time) *ClusterDbRevision { 11130 s.DatabaseRevisionReleaseDate = &v 11131 return s 11132} 11133 11134// SetRevisionTargets sets the RevisionTargets field's value. 11135func (s *ClusterDbRevision) SetRevisionTargets(v []*RevisionTarget) *ClusterDbRevision { 11136 s.RevisionTargets = v 11137 return s 11138} 11139 11140// An AWS Identity and Access Management (IAM) role that can be used by the 11141// associated Amazon Redshift cluster to access other AWS services. 11142type ClusterIamRole struct { 11143 _ struct{} `type:"structure"` 11144 11145 // A value that describes the status of the IAM role's association with an Amazon 11146 // Redshift cluster. 11147 // 11148 // The following are possible statuses and descriptions. 11149 // 11150 // * in-sync: The role is available for use by the cluster. 11151 // 11152 // * adding: The role is in the process of being associated with the cluster. 11153 // 11154 // * removing: The role is in the process of being disassociated with the 11155 // cluster. 11156 ApplyStatus *string `type:"string"` 11157 11158 // The Amazon Resource Name (ARN) of the IAM role, for example, arn:aws:iam::123456789012:role/RedshiftCopyUnload. 11159 IamRoleArn *string `type:"string"` 11160} 11161 11162// String returns the string representation 11163func (s ClusterIamRole) String() string { 11164 return awsutil.Prettify(s) 11165} 11166 11167// GoString returns the string representation 11168func (s ClusterIamRole) GoString() string { 11169 return s.String() 11170} 11171 11172// SetApplyStatus sets the ApplyStatus field's value. 11173func (s *ClusterIamRole) SetApplyStatus(v string) *ClusterIamRole { 11174 s.ApplyStatus = &v 11175 return s 11176} 11177 11178// SetIamRoleArn sets the IamRoleArn field's value. 11179func (s *ClusterIamRole) SetIamRoleArn(v string) *ClusterIamRole { 11180 s.IamRoleArn = &v 11181 return s 11182} 11183 11184// The identifier of a node in a cluster. 11185type ClusterNode struct { 11186 _ struct{} `type:"structure"` 11187 11188 // Whether the node is a leader node or a compute node. 11189 NodeRole *string `type:"string"` 11190 11191 // The private IP address of a node within a cluster. 11192 PrivateIPAddress *string `type:"string"` 11193 11194 // The public IP address of a node within a cluster. 11195 PublicIPAddress *string `type:"string"` 11196} 11197 11198// String returns the string representation 11199func (s ClusterNode) String() string { 11200 return awsutil.Prettify(s) 11201} 11202 11203// GoString returns the string representation 11204func (s ClusterNode) GoString() string { 11205 return s.String() 11206} 11207 11208// SetNodeRole sets the NodeRole field's value. 11209func (s *ClusterNode) SetNodeRole(v string) *ClusterNode { 11210 s.NodeRole = &v 11211 return s 11212} 11213 11214// SetPrivateIPAddress sets the PrivateIPAddress field's value. 11215func (s *ClusterNode) SetPrivateIPAddress(v string) *ClusterNode { 11216 s.PrivateIPAddress = &v 11217 return s 11218} 11219 11220// SetPublicIPAddress sets the PublicIPAddress field's value. 11221func (s *ClusterNode) SetPublicIPAddress(v string) *ClusterNode { 11222 s.PublicIPAddress = &v 11223 return s 11224} 11225 11226// Describes a parameter group. 11227type ClusterParameterGroup struct { 11228 _ struct{} `type:"structure"` 11229 11230 // The description of the parameter group. 11231 Description *string `type:"string"` 11232 11233 // The name of the cluster parameter group family that this cluster parameter 11234 // group is compatible with. 11235 ParameterGroupFamily *string `type:"string"` 11236 11237 // The name of the cluster parameter group. 11238 ParameterGroupName *string `type:"string"` 11239 11240 // The list of tags for the cluster parameter group. 11241 Tags []*Tag `locationNameList:"Tag" type:"list"` 11242} 11243 11244// String returns the string representation 11245func (s ClusterParameterGroup) String() string { 11246 return awsutil.Prettify(s) 11247} 11248 11249// GoString returns the string representation 11250func (s ClusterParameterGroup) GoString() string { 11251 return s.String() 11252} 11253 11254// SetDescription sets the Description field's value. 11255func (s *ClusterParameterGroup) SetDescription(v string) *ClusterParameterGroup { 11256 s.Description = &v 11257 return s 11258} 11259 11260// SetParameterGroupFamily sets the ParameterGroupFamily field's value. 11261func (s *ClusterParameterGroup) SetParameterGroupFamily(v string) *ClusterParameterGroup { 11262 s.ParameterGroupFamily = &v 11263 return s 11264} 11265 11266// SetParameterGroupName sets the ParameterGroupName field's value. 11267func (s *ClusterParameterGroup) SetParameterGroupName(v string) *ClusterParameterGroup { 11268 s.ParameterGroupName = &v 11269 return s 11270} 11271 11272// SetTags sets the Tags field's value. 11273func (s *ClusterParameterGroup) SetTags(v []*Tag) *ClusterParameterGroup { 11274 s.Tags = v 11275 return s 11276} 11277 11278type ClusterParameterGroupNameMessage struct { 11279 _ struct{} `type:"structure"` 11280 11281 // The name of the cluster parameter group. 11282 ParameterGroupName *string `type:"string"` 11283 11284 // The status of the parameter group. For example, if you made a change to a 11285 // parameter group name-value pair, then the change could be pending a reboot 11286 // of an associated cluster. 11287 ParameterGroupStatus *string `type:"string"` 11288} 11289 11290// String returns the string representation 11291func (s ClusterParameterGroupNameMessage) String() string { 11292 return awsutil.Prettify(s) 11293} 11294 11295// GoString returns the string representation 11296func (s ClusterParameterGroupNameMessage) GoString() string { 11297 return s.String() 11298} 11299 11300// SetParameterGroupName sets the ParameterGroupName field's value. 11301func (s *ClusterParameterGroupNameMessage) SetParameterGroupName(v string) *ClusterParameterGroupNameMessage { 11302 s.ParameterGroupName = &v 11303 return s 11304} 11305 11306// SetParameterGroupStatus sets the ParameterGroupStatus field's value. 11307func (s *ClusterParameterGroupNameMessage) SetParameterGroupStatus(v string) *ClusterParameterGroupNameMessage { 11308 s.ParameterGroupStatus = &v 11309 return s 11310} 11311 11312// Describes the status of a parameter group. 11313type ClusterParameterGroupStatus struct { 11314 _ struct{} `type:"structure"` 11315 11316 // The list of parameter statuses. 11317 // 11318 // For more information about parameters and parameter groups, go to Amazon 11319 // Redshift Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 11320 // in the Amazon Redshift Cluster Management Guide. 11321 ClusterParameterStatusList []*ClusterParameterStatus `type:"list"` 11322 11323 // The status of parameter updates. 11324 ParameterApplyStatus *string `type:"string"` 11325 11326 // The name of the cluster parameter group. 11327 ParameterGroupName *string `type:"string"` 11328} 11329 11330// String returns the string representation 11331func (s ClusterParameterGroupStatus) String() string { 11332 return awsutil.Prettify(s) 11333} 11334 11335// GoString returns the string representation 11336func (s ClusterParameterGroupStatus) GoString() string { 11337 return s.String() 11338} 11339 11340// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value. 11341func (s *ClusterParameterGroupStatus) SetClusterParameterStatusList(v []*ClusterParameterStatus) *ClusterParameterGroupStatus { 11342 s.ClusterParameterStatusList = v 11343 return s 11344} 11345 11346// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 11347func (s *ClusterParameterGroupStatus) SetParameterApplyStatus(v string) *ClusterParameterGroupStatus { 11348 s.ParameterApplyStatus = &v 11349 return s 11350} 11351 11352// SetParameterGroupName sets the ParameterGroupName field's value. 11353func (s *ClusterParameterGroupStatus) SetParameterGroupName(v string) *ClusterParameterGroupStatus { 11354 s.ParameterGroupName = &v 11355 return s 11356} 11357 11358// Describes the status of a parameter group. 11359type ClusterParameterStatus struct { 11360 _ struct{} `type:"structure"` 11361 11362 // The error that prevented the parameter from being applied to the database. 11363 ParameterApplyErrorDescription *string `type:"string"` 11364 11365 // The status of the parameter that indicates whether the parameter is in sync 11366 // with the database, waiting for a cluster reboot, or encountered an error 11367 // when being applied. 11368 // 11369 // The following are possible statuses and descriptions. 11370 // 11371 // * in-sync: The parameter value is in sync with the database. 11372 // 11373 // * pending-reboot: The parameter value will be applied after the cluster 11374 // reboots. 11375 // 11376 // * applying: The parameter value is being applied to the database. 11377 // 11378 // * invalid-parameter: Cannot apply the parameter value because it has an 11379 // invalid value or syntax. 11380 // 11381 // * apply-deferred: The parameter contains static property changes. The 11382 // changes are deferred until the cluster reboots. 11383 // 11384 // * apply-error: Cannot connect to the cluster. The parameter change will 11385 // be applied after the cluster reboots. 11386 // 11387 // * unknown-error: Cannot apply the parameter change right now. The change 11388 // will be applied after the cluster reboots. 11389 ParameterApplyStatus *string `type:"string"` 11390 11391 // The name of the parameter. 11392 ParameterName *string `type:"string"` 11393} 11394 11395// String returns the string representation 11396func (s ClusterParameterStatus) String() string { 11397 return awsutil.Prettify(s) 11398} 11399 11400// GoString returns the string representation 11401func (s ClusterParameterStatus) GoString() string { 11402 return s.String() 11403} 11404 11405// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value. 11406func (s *ClusterParameterStatus) SetParameterApplyErrorDescription(v string) *ClusterParameterStatus { 11407 s.ParameterApplyErrorDescription = &v 11408 return s 11409} 11410 11411// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 11412func (s *ClusterParameterStatus) SetParameterApplyStatus(v string) *ClusterParameterStatus { 11413 s.ParameterApplyStatus = &v 11414 return s 11415} 11416 11417// SetParameterName sets the ParameterName field's value. 11418func (s *ClusterParameterStatus) SetParameterName(v string) *ClusterParameterStatus { 11419 s.ParameterName = &v 11420 return s 11421} 11422 11423// Describes a security group. 11424type ClusterSecurityGroup struct { 11425 _ struct{} `type:"structure"` 11426 11427 // The name of the cluster security group to which the operation was applied. 11428 ClusterSecurityGroupName *string `type:"string"` 11429 11430 // A description of the security group. 11431 Description *string `type:"string"` 11432 11433 // A list of EC2 security groups that are permitted to access clusters associated 11434 // with this cluster security group. 11435 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 11436 11437 // A list of IP ranges (CIDR blocks) that are permitted to access clusters associated 11438 // with this cluster security group. 11439 IPRanges []*IPRange `locationNameList:"IPRange" type:"list"` 11440 11441 // The list of tags for the cluster security group. 11442 Tags []*Tag `locationNameList:"Tag" type:"list"` 11443} 11444 11445// String returns the string representation 11446func (s ClusterSecurityGroup) String() string { 11447 return awsutil.Prettify(s) 11448} 11449 11450// GoString returns the string representation 11451func (s ClusterSecurityGroup) GoString() string { 11452 return s.String() 11453} 11454 11455// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 11456func (s *ClusterSecurityGroup) SetClusterSecurityGroupName(v string) *ClusterSecurityGroup { 11457 s.ClusterSecurityGroupName = &v 11458 return s 11459} 11460 11461// SetDescription sets the Description field's value. 11462func (s *ClusterSecurityGroup) SetDescription(v string) *ClusterSecurityGroup { 11463 s.Description = &v 11464 return s 11465} 11466 11467// SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 11468func (s *ClusterSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *ClusterSecurityGroup { 11469 s.EC2SecurityGroups = v 11470 return s 11471} 11472 11473// SetIPRanges sets the IPRanges field's value. 11474func (s *ClusterSecurityGroup) SetIPRanges(v []*IPRange) *ClusterSecurityGroup { 11475 s.IPRanges = v 11476 return s 11477} 11478 11479// SetTags sets the Tags field's value. 11480func (s *ClusterSecurityGroup) SetTags(v []*Tag) *ClusterSecurityGroup { 11481 s.Tags = v 11482 return s 11483} 11484 11485// Describes a cluster security group. 11486type ClusterSecurityGroupMembership struct { 11487 _ struct{} `type:"structure"` 11488 11489 // The name of the cluster security group. 11490 ClusterSecurityGroupName *string `type:"string"` 11491 11492 // The status of the cluster security group. 11493 Status *string `type:"string"` 11494} 11495 11496// String returns the string representation 11497func (s ClusterSecurityGroupMembership) String() string { 11498 return awsutil.Prettify(s) 11499} 11500 11501// GoString returns the string representation 11502func (s ClusterSecurityGroupMembership) GoString() string { 11503 return s.String() 11504} 11505 11506// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 11507func (s *ClusterSecurityGroupMembership) SetClusterSecurityGroupName(v string) *ClusterSecurityGroupMembership { 11508 s.ClusterSecurityGroupName = &v 11509 return s 11510} 11511 11512// SetStatus sets the Status field's value. 11513func (s *ClusterSecurityGroupMembership) SetStatus(v string) *ClusterSecurityGroupMembership { 11514 s.Status = &v 11515 return s 11516} 11517 11518// Returns the destination region and retention period that are configured for 11519// cross-region snapshot copy. 11520type ClusterSnapshotCopyStatus struct { 11521 _ struct{} `type:"structure"` 11522 11523 // The destination region that snapshots are automatically copied to when cross-region 11524 // snapshot copy is enabled. 11525 DestinationRegion *string `type:"string"` 11526 11527 // The number of days that automated snapshots are retained in the destination 11528 // region after they are copied from a source region. If the value is -1, the 11529 // manual snapshot is retained indefinitely. 11530 // 11531 // The value must be either -1 or an integer between 1 and 3,653. 11532 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 11533 11534 // The number of days that automated snapshots are retained in the destination 11535 // region after they are copied from a source region. 11536 RetentionPeriod *int64 `type:"long"` 11537 11538 // The name of the snapshot copy grant. 11539 SnapshotCopyGrantName *string `type:"string"` 11540} 11541 11542// String returns the string representation 11543func (s ClusterSnapshotCopyStatus) String() string { 11544 return awsutil.Prettify(s) 11545} 11546 11547// GoString returns the string representation 11548func (s ClusterSnapshotCopyStatus) GoString() string { 11549 return s.String() 11550} 11551 11552// SetDestinationRegion sets the DestinationRegion field's value. 11553func (s *ClusterSnapshotCopyStatus) SetDestinationRegion(v string) *ClusterSnapshotCopyStatus { 11554 s.DestinationRegion = &v 11555 return s 11556} 11557 11558// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 11559func (s *ClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *ClusterSnapshotCopyStatus { 11560 s.ManualSnapshotRetentionPeriod = &v 11561 return s 11562} 11563 11564// SetRetentionPeriod sets the RetentionPeriod field's value. 11565func (s *ClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *ClusterSnapshotCopyStatus { 11566 s.RetentionPeriod = &v 11567 return s 11568} 11569 11570// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value. 11571func (s *ClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *ClusterSnapshotCopyStatus { 11572 s.SnapshotCopyGrantName = &v 11573 return s 11574} 11575 11576// Describes a subnet group. 11577type ClusterSubnetGroup struct { 11578 _ struct{} `type:"structure"` 11579 11580 // The name of the cluster subnet group. 11581 ClusterSubnetGroupName *string `type:"string"` 11582 11583 // The description of the cluster subnet group. 11584 Description *string `type:"string"` 11585 11586 // The status of the cluster subnet group. Possible values are Complete, Incomplete 11587 // and Invalid. 11588 SubnetGroupStatus *string `type:"string"` 11589 11590 // A list of the VPC Subnet elements. 11591 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 11592 11593 // The list of tags for the cluster subnet group. 11594 Tags []*Tag `locationNameList:"Tag" type:"list"` 11595 11596 // The VPC ID of the cluster subnet group. 11597 VpcId *string `type:"string"` 11598} 11599 11600// String returns the string representation 11601func (s ClusterSubnetGroup) String() string { 11602 return awsutil.Prettify(s) 11603} 11604 11605// GoString returns the string representation 11606func (s ClusterSubnetGroup) GoString() string { 11607 return s.String() 11608} 11609 11610// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 11611func (s *ClusterSubnetGroup) SetClusterSubnetGroupName(v string) *ClusterSubnetGroup { 11612 s.ClusterSubnetGroupName = &v 11613 return s 11614} 11615 11616// SetDescription sets the Description field's value. 11617func (s *ClusterSubnetGroup) SetDescription(v string) *ClusterSubnetGroup { 11618 s.Description = &v 11619 return s 11620} 11621 11622// SetSubnetGroupStatus sets the SubnetGroupStatus field's value. 11623func (s *ClusterSubnetGroup) SetSubnetGroupStatus(v string) *ClusterSubnetGroup { 11624 s.SubnetGroupStatus = &v 11625 return s 11626} 11627 11628// SetSubnets sets the Subnets field's value. 11629func (s *ClusterSubnetGroup) SetSubnets(v []*Subnet) *ClusterSubnetGroup { 11630 s.Subnets = v 11631 return s 11632} 11633 11634// SetTags sets the Tags field's value. 11635func (s *ClusterSubnetGroup) SetTags(v []*Tag) *ClusterSubnetGroup { 11636 s.Tags = v 11637 return s 11638} 11639 11640// SetVpcId sets the VpcId field's value. 11641func (s *ClusterSubnetGroup) SetVpcId(v string) *ClusterSubnetGroup { 11642 s.VpcId = &v 11643 return s 11644} 11645 11646// Describes a cluster version, including the parameter group family and description 11647// of the version. 11648type ClusterVersion struct { 11649 _ struct{} `type:"structure"` 11650 11651 // The name of the cluster parameter group family for the cluster. 11652 ClusterParameterGroupFamily *string `type:"string"` 11653 11654 // The version number used by the cluster. 11655 ClusterVersion *string `type:"string"` 11656 11657 // The description of the cluster version. 11658 Description *string `type:"string"` 11659} 11660 11661// String returns the string representation 11662func (s ClusterVersion) String() string { 11663 return awsutil.Prettify(s) 11664} 11665 11666// GoString returns the string representation 11667func (s ClusterVersion) GoString() string { 11668 return s.String() 11669} 11670 11671// SetClusterParameterGroupFamily sets the ClusterParameterGroupFamily field's value. 11672func (s *ClusterVersion) SetClusterParameterGroupFamily(v string) *ClusterVersion { 11673 s.ClusterParameterGroupFamily = &v 11674 return s 11675} 11676 11677// SetClusterVersion sets the ClusterVersion field's value. 11678func (s *ClusterVersion) SetClusterVersion(v string) *ClusterVersion { 11679 s.ClusterVersion = &v 11680 return s 11681} 11682 11683// SetDescription sets the Description field's value. 11684func (s *ClusterVersion) SetDescription(v string) *ClusterVersion { 11685 s.Description = &v 11686 return s 11687} 11688 11689type CopyClusterSnapshotInput struct { 11690 _ struct{} `type:"structure"` 11691 11692 // The number of days that a manual snapshot is retained. If the value is -1, 11693 // the manual snapshot is retained indefinitely. 11694 // 11695 // The value must be either -1 or an integer between 1 and 3,653. 11696 // 11697 // The default value is -1. 11698 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 11699 11700 // The identifier of the cluster the source snapshot was created from. This 11701 // parameter is required if your IAM user has a policy containing a snapshot 11702 // resource element that specifies anything other than * for the cluster name. 11703 // 11704 // Constraints: 11705 // 11706 // * Must be the identifier for a valid cluster. 11707 SourceSnapshotClusterIdentifier *string `type:"string"` 11708 11709 // The identifier for the source snapshot. 11710 // 11711 // Constraints: 11712 // 11713 // * Must be the identifier for a valid automated snapshot whose state is 11714 // available. 11715 // 11716 // SourceSnapshotIdentifier is a required field 11717 SourceSnapshotIdentifier *string `type:"string" required:"true"` 11718 11719 // The identifier given to the new manual snapshot. 11720 // 11721 // Constraints: 11722 // 11723 // * Cannot be null, empty, or blank. 11724 // 11725 // * Must contain from 1 to 255 alphanumeric characters or hyphens. 11726 // 11727 // * First character must be a letter. 11728 // 11729 // * Cannot end with a hyphen or contain two consecutive hyphens. 11730 // 11731 // * Must be unique for the AWS account that is making the request. 11732 // 11733 // TargetSnapshotIdentifier is a required field 11734 TargetSnapshotIdentifier *string `type:"string" required:"true"` 11735} 11736 11737// String returns the string representation 11738func (s CopyClusterSnapshotInput) String() string { 11739 return awsutil.Prettify(s) 11740} 11741 11742// GoString returns the string representation 11743func (s CopyClusterSnapshotInput) GoString() string { 11744 return s.String() 11745} 11746 11747// Validate inspects the fields of the type to determine if they are valid. 11748func (s *CopyClusterSnapshotInput) Validate() error { 11749 invalidParams := request.ErrInvalidParams{Context: "CopyClusterSnapshotInput"} 11750 if s.SourceSnapshotIdentifier == nil { 11751 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotIdentifier")) 11752 } 11753 if s.TargetSnapshotIdentifier == nil { 11754 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotIdentifier")) 11755 } 11756 11757 if invalidParams.Len() > 0 { 11758 return invalidParams 11759 } 11760 return nil 11761} 11762 11763// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 11764func (s *CopyClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *CopyClusterSnapshotInput { 11765 s.ManualSnapshotRetentionPeriod = &v 11766 return s 11767} 11768 11769// SetSourceSnapshotClusterIdentifier sets the SourceSnapshotClusterIdentifier field's value. 11770func (s *CopyClusterSnapshotInput) SetSourceSnapshotClusterIdentifier(v string) *CopyClusterSnapshotInput { 11771 s.SourceSnapshotClusterIdentifier = &v 11772 return s 11773} 11774 11775// SetSourceSnapshotIdentifier sets the SourceSnapshotIdentifier field's value. 11776func (s *CopyClusterSnapshotInput) SetSourceSnapshotIdentifier(v string) *CopyClusterSnapshotInput { 11777 s.SourceSnapshotIdentifier = &v 11778 return s 11779} 11780 11781// SetTargetSnapshotIdentifier sets the TargetSnapshotIdentifier field's value. 11782func (s *CopyClusterSnapshotInput) SetTargetSnapshotIdentifier(v string) *CopyClusterSnapshotInput { 11783 s.TargetSnapshotIdentifier = &v 11784 return s 11785} 11786 11787type CopyClusterSnapshotOutput struct { 11788 _ struct{} `type:"structure"` 11789 11790 // Describes a snapshot. 11791 Snapshot *Snapshot `type:"structure"` 11792} 11793 11794// String returns the string representation 11795func (s CopyClusterSnapshotOutput) String() string { 11796 return awsutil.Prettify(s) 11797} 11798 11799// GoString returns the string representation 11800func (s CopyClusterSnapshotOutput) GoString() string { 11801 return s.String() 11802} 11803 11804// SetSnapshot sets the Snapshot field's value. 11805func (s *CopyClusterSnapshotOutput) SetSnapshot(v *Snapshot) *CopyClusterSnapshotOutput { 11806 s.Snapshot = v 11807 return s 11808} 11809 11810type CreateClusterInput struct { 11811 _ struct{} `type:"structure"` 11812 11813 // Reserved. 11814 AdditionalInfo *string `type:"string"` 11815 11816 // If true, major version upgrades can be applied during the maintenance window 11817 // to the Amazon Redshift engine that is running on the cluster. 11818 // 11819 // When a new major version of the Amazon Redshift engine is released, you can 11820 // request that the service automatically apply upgrades during the maintenance 11821 // window to the Amazon Redshift engine that is running on your cluster. 11822 // 11823 // Default: true 11824 AllowVersionUpgrade *bool `type:"boolean"` 11825 11826 // The number of days that automated snapshots are retained. If the value is 11827 // 0, automated snapshots are disabled. Even if automated snapshots are disabled, 11828 // you can still create manual snapshots when you want with CreateClusterSnapshot. 11829 // 11830 // Default: 1 11831 // 11832 // Constraints: Must be a value from 0 to 35. 11833 AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` 11834 11835 // The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision 11836 // the cluster. For example, if you have several EC2 instances running in a 11837 // specific Availability Zone, then you might want the cluster to be provisioned 11838 // in the same zone in order to decrease network latency. 11839 // 11840 // Default: A random, system-chosen Availability Zone in the region that is 11841 // specified by the endpoint. 11842 // 11843 // Example: us-east-2d 11844 // 11845 // Constraint: The specified Availability Zone must be in the same region as 11846 // the current endpoint. 11847 AvailabilityZone *string `type:"string"` 11848 11849 // A unique identifier for the cluster. You use this identifier to refer to 11850 // the cluster for any subsequent cluster operations such as deleting or modifying. 11851 // The identifier also appears in the Amazon Redshift console. 11852 // 11853 // Constraints: 11854 // 11855 // * Must contain from 1 to 63 alphanumeric characters or hyphens. 11856 // 11857 // * Alphabetic characters must be lowercase. 11858 // 11859 // * First character must be a letter. 11860 // 11861 // * Cannot end with a hyphen or contain two consecutive hyphens. 11862 // 11863 // * Must be unique for all clusters within an AWS account. 11864 // 11865 // Example: myexamplecluster 11866 // 11867 // ClusterIdentifier is a required field 11868 ClusterIdentifier *string `type:"string" required:"true"` 11869 11870 // The name of the parameter group to be associated with this cluster. 11871 // 11872 // Default: The default Amazon Redshift cluster parameter group. For information 11873 // about the default parameter group, go to Working with Amazon Redshift Parameter 11874 // Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 11875 // 11876 // Constraints: 11877 // 11878 // * Must be 1 to 255 alphanumeric characters or hyphens. 11879 // 11880 // * First character must be a letter. 11881 // 11882 // * Cannot end with a hyphen or contain two consecutive hyphens. 11883 ClusterParameterGroupName *string `type:"string"` 11884 11885 // A list of security groups to be associated with this cluster. 11886 // 11887 // Default: The default cluster security group for Amazon Redshift. 11888 ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"` 11889 11890 // The name of a cluster subnet group to be associated with this cluster. 11891 // 11892 // If this parameter is not provided the resulting cluster will be deployed 11893 // outside virtual private cloud (VPC). 11894 ClusterSubnetGroupName *string `type:"string"` 11895 11896 // The type of the cluster. When cluster type is specified as 11897 // 11898 // * single-node, the NumberOfNodes parameter is not required. 11899 // 11900 // * multi-node, the NumberOfNodes parameter is required. 11901 // 11902 // Valid Values: multi-node | single-node 11903 // 11904 // Default: multi-node 11905 ClusterType *string `type:"string"` 11906 11907 // The version of the Amazon Redshift engine software that you want to deploy 11908 // on the cluster. 11909 // 11910 // The version selected runs on all the nodes in the cluster. 11911 // 11912 // Constraints: Only version 1.0 is currently available. 11913 // 11914 // Example: 1.0 11915 ClusterVersion *string `type:"string"` 11916 11917 // The name of the first database to be created when the cluster is created. 11918 // 11919 // To create additional databases after the cluster is created, connect to the 11920 // cluster with a SQL client and use SQL commands to create a database. For 11921 // more information, go to Create a Database (https://docs.aws.amazon.com/redshift/latest/dg/t_creating_database.html) 11922 // in the Amazon Redshift Database Developer Guide. 11923 // 11924 // Default: dev 11925 // 11926 // Constraints: 11927 // 11928 // * Must contain 1 to 64 alphanumeric characters. 11929 // 11930 // * Must contain only lowercase letters. 11931 // 11932 // * Cannot be a word that is reserved by the service. A list of reserved 11933 // words can be found in Reserved Words (https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) 11934 // in the Amazon Redshift Database Developer Guide. 11935 DBName *string `type:"string"` 11936 11937 // The Elastic IP (EIP) address for the cluster. 11938 // 11939 // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible 11940 // through an Internet gateway. For more information about provisioning clusters 11941 // in EC2-VPC, go to Supported Platforms to Launch Your Cluster (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) 11942 // in the Amazon Redshift Cluster Management Guide. 11943 ElasticIp *string `type:"string"` 11944 11945 // If true, the data in the cluster is encrypted at rest. 11946 // 11947 // Default: false 11948 Encrypted *bool `type:"boolean"` 11949 11950 // An option that specifies whether to create the cluster with enhanced VPC 11951 // routing enabled. To create a cluster that uses enhanced VPC routing, the 11952 // cluster must be in a VPC. For more information, see Enhanced VPC Routing 11953 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) 11954 // in the Amazon Redshift Cluster Management Guide. 11955 // 11956 // If this option is true, enhanced VPC routing is enabled. 11957 // 11958 // Default: false 11959 EnhancedVpcRouting *bool `type:"boolean"` 11960 11961 // Specifies the name of the HSM client certificate the Amazon Redshift cluster 11962 // uses to retrieve the data encryption keys stored in an HSM. 11963 HsmClientCertificateIdentifier *string `type:"string"` 11964 11965 // Specifies the name of the HSM configuration that contains the information 11966 // the Amazon Redshift cluster can use to retrieve and store keys in an HSM. 11967 HsmConfigurationIdentifier *string `type:"string"` 11968 11969 // A list of AWS Identity and Access Management (IAM) roles that can be used 11970 // by the cluster to access other AWS services. You must supply the IAM roles 11971 // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles 11972 // in a single request. 11973 // 11974 // A cluster can have up to 10 IAM roles associated with it at any time. 11975 IamRoles []*string `locationNameList:"IamRoleArn" type:"list"` 11976 11977 // The AWS Key Management Service (KMS) key ID of the encryption key that you 11978 // want to use to encrypt data in the cluster. 11979 KmsKeyId *string `type:"string"` 11980 11981 // An optional parameter for the name of the maintenance track for the cluster. 11982 // If you don't provide a maintenance track name, the cluster is assigned to 11983 // the current track. 11984 MaintenanceTrackName *string `type:"string"` 11985 11986 // The default number of days to retain a manual snapshot. If the value is -1, 11987 // the snapshot is retained indefinitely. This setting doesn't change the retention 11988 // period of existing snapshots. 11989 // 11990 // The value must be either -1 or an integer between 1 and 3,653. 11991 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 11992 11993 // The password associated with the master user account for the cluster that 11994 // is being created. 11995 // 11996 // Constraints: 11997 // 11998 // * Must be between 8 and 64 characters in length. 11999 // 12000 // * Must contain at least one uppercase letter. 12001 // 12002 // * Must contain at least one lowercase letter. 12003 // 12004 // * Must contain one number. 12005 // 12006 // * Can be any printable ASCII character (ASCII code 33 to 126) except ' 12007 // (single quote), " (double quote), \, /, @, or space. 12008 // 12009 // MasterUserPassword is a required field 12010 MasterUserPassword *string `type:"string" required:"true"` 12011 12012 // The user name associated with the master user account for the cluster that 12013 // is being created. 12014 // 12015 // Constraints: 12016 // 12017 // * Must be 1 - 128 alphanumeric characters. The user name can't be PUBLIC. 12018 // 12019 // * First character must be a letter. 12020 // 12021 // * Cannot be a reserved word. A list of reserved words can be found in 12022 // Reserved Words (https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) 12023 // in the Amazon Redshift Database Developer Guide. 12024 // 12025 // MasterUsername is a required field 12026 MasterUsername *string `type:"string" required:"true"` 12027 12028 // The node type to be provisioned for the cluster. For information about node 12029 // types, go to Working with Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) 12030 // in the Amazon Redshift Cluster Management Guide. 12031 // 12032 // Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large 12033 // | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge 12034 // 12035 // NodeType is a required field 12036 NodeType *string `type:"string" required:"true"` 12037 12038 // The number of compute nodes in the cluster. This parameter is required when 12039 // the ClusterType parameter is specified as multi-node. 12040 // 12041 // For information about determining how many nodes you need, go to Working 12042 // with Clusters (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#how-many-nodes) 12043 // in the Amazon Redshift Cluster Management Guide. 12044 // 12045 // If you don't specify this parameter, you get a single-node cluster. When 12046 // requesting a multi-node cluster, you must specify the number of nodes that 12047 // you want in the cluster. 12048 // 12049 // Default: 1 12050 // 12051 // Constraints: Value must be at least 1 and no more than 100. 12052 NumberOfNodes *int64 `type:"integer"` 12053 12054 // The port number on which the cluster accepts incoming connections. 12055 // 12056 // The cluster is accessible only via the JDBC and ODBC connection strings. 12057 // Part of the connection string requires the port on which the cluster will 12058 // listen for incoming connections. 12059 // 12060 // Default: 5439 12061 // 12062 // Valid Values: 1150-65535 12063 Port *int64 `type:"integer"` 12064 12065 // The weekly time range (in UTC) during which automated cluster maintenance 12066 // can occur. 12067 // 12068 // Format: ddd:hh24:mi-ddd:hh24:mi 12069 // 12070 // Default: A 30-minute window selected at random from an 8-hour block of time 12071 // per region, occurring on a random day of the week. For more information about 12072 // the time blocks for each region, see Maintenance Windows (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) 12073 // in Amazon Redshift Cluster Management Guide. 12074 // 12075 // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun 12076 // 12077 // Constraints: Minimum 30-minute window. 12078 PreferredMaintenanceWindow *string `type:"string"` 12079 12080 // If true, the cluster can be accessed from a public network. 12081 PubliclyAccessible *bool `type:"boolean"` 12082 12083 // A unique identifier for the snapshot schedule. 12084 SnapshotScheduleIdentifier *string `type:"string"` 12085 12086 // A list of tag instances. 12087 Tags []*Tag `locationNameList:"Tag" type:"list"` 12088 12089 // A list of Virtual Private Cloud (VPC) security groups to be associated with 12090 // the cluster. 12091 // 12092 // Default: The default VPC security group is associated with the cluster. 12093 VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` 12094} 12095 12096// String returns the string representation 12097func (s CreateClusterInput) String() string { 12098 return awsutil.Prettify(s) 12099} 12100 12101// GoString returns the string representation 12102func (s CreateClusterInput) GoString() string { 12103 return s.String() 12104} 12105 12106// Validate inspects the fields of the type to determine if they are valid. 12107func (s *CreateClusterInput) Validate() error { 12108 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 12109 if s.ClusterIdentifier == nil { 12110 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 12111 } 12112 if s.MasterUserPassword == nil { 12113 invalidParams.Add(request.NewErrParamRequired("MasterUserPassword")) 12114 } 12115 if s.MasterUsername == nil { 12116 invalidParams.Add(request.NewErrParamRequired("MasterUsername")) 12117 } 12118 if s.NodeType == nil { 12119 invalidParams.Add(request.NewErrParamRequired("NodeType")) 12120 } 12121 12122 if invalidParams.Len() > 0 { 12123 return invalidParams 12124 } 12125 return nil 12126} 12127 12128// SetAdditionalInfo sets the AdditionalInfo field's value. 12129func (s *CreateClusterInput) SetAdditionalInfo(v string) *CreateClusterInput { 12130 s.AdditionalInfo = &v 12131 return s 12132} 12133 12134// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value. 12135func (s *CreateClusterInput) SetAllowVersionUpgrade(v bool) *CreateClusterInput { 12136 s.AllowVersionUpgrade = &v 12137 return s 12138} 12139 12140// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value. 12141func (s *CreateClusterInput) SetAutomatedSnapshotRetentionPeriod(v int64) *CreateClusterInput { 12142 s.AutomatedSnapshotRetentionPeriod = &v 12143 return s 12144} 12145 12146// SetAvailabilityZone sets the AvailabilityZone field's value. 12147func (s *CreateClusterInput) SetAvailabilityZone(v string) *CreateClusterInput { 12148 s.AvailabilityZone = &v 12149 return s 12150} 12151 12152// SetClusterIdentifier sets the ClusterIdentifier field's value. 12153func (s *CreateClusterInput) SetClusterIdentifier(v string) *CreateClusterInput { 12154 s.ClusterIdentifier = &v 12155 return s 12156} 12157 12158// SetClusterParameterGroupName sets the ClusterParameterGroupName field's value. 12159func (s *CreateClusterInput) SetClusterParameterGroupName(v string) *CreateClusterInput { 12160 s.ClusterParameterGroupName = &v 12161 return s 12162} 12163 12164// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value. 12165func (s *CreateClusterInput) SetClusterSecurityGroups(v []*string) *CreateClusterInput { 12166 s.ClusterSecurityGroups = v 12167 return s 12168} 12169 12170// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 12171func (s *CreateClusterInput) SetClusterSubnetGroupName(v string) *CreateClusterInput { 12172 s.ClusterSubnetGroupName = &v 12173 return s 12174} 12175 12176// SetClusterType sets the ClusterType field's value. 12177func (s *CreateClusterInput) SetClusterType(v string) *CreateClusterInput { 12178 s.ClusterType = &v 12179 return s 12180} 12181 12182// SetClusterVersion sets the ClusterVersion field's value. 12183func (s *CreateClusterInput) SetClusterVersion(v string) *CreateClusterInput { 12184 s.ClusterVersion = &v 12185 return s 12186} 12187 12188// SetDBName sets the DBName field's value. 12189func (s *CreateClusterInput) SetDBName(v string) *CreateClusterInput { 12190 s.DBName = &v 12191 return s 12192} 12193 12194// SetElasticIp sets the ElasticIp field's value. 12195func (s *CreateClusterInput) SetElasticIp(v string) *CreateClusterInput { 12196 s.ElasticIp = &v 12197 return s 12198} 12199 12200// SetEncrypted sets the Encrypted field's value. 12201func (s *CreateClusterInput) SetEncrypted(v bool) *CreateClusterInput { 12202 s.Encrypted = &v 12203 return s 12204} 12205 12206// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. 12207func (s *CreateClusterInput) SetEnhancedVpcRouting(v bool) *CreateClusterInput { 12208 s.EnhancedVpcRouting = &v 12209 return s 12210} 12211 12212// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 12213func (s *CreateClusterInput) SetHsmClientCertificateIdentifier(v string) *CreateClusterInput { 12214 s.HsmClientCertificateIdentifier = &v 12215 return s 12216} 12217 12218// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 12219func (s *CreateClusterInput) SetHsmConfigurationIdentifier(v string) *CreateClusterInput { 12220 s.HsmConfigurationIdentifier = &v 12221 return s 12222} 12223 12224// SetIamRoles sets the IamRoles field's value. 12225func (s *CreateClusterInput) SetIamRoles(v []*string) *CreateClusterInput { 12226 s.IamRoles = v 12227 return s 12228} 12229 12230// SetKmsKeyId sets the KmsKeyId field's value. 12231func (s *CreateClusterInput) SetKmsKeyId(v string) *CreateClusterInput { 12232 s.KmsKeyId = &v 12233 return s 12234} 12235 12236// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 12237func (s *CreateClusterInput) SetMaintenanceTrackName(v string) *CreateClusterInput { 12238 s.MaintenanceTrackName = &v 12239 return s 12240} 12241 12242// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 12243func (s *CreateClusterInput) SetManualSnapshotRetentionPeriod(v int64) *CreateClusterInput { 12244 s.ManualSnapshotRetentionPeriod = &v 12245 return s 12246} 12247 12248// SetMasterUserPassword sets the MasterUserPassword field's value. 12249func (s *CreateClusterInput) SetMasterUserPassword(v string) *CreateClusterInput { 12250 s.MasterUserPassword = &v 12251 return s 12252} 12253 12254// SetMasterUsername sets the MasterUsername field's value. 12255func (s *CreateClusterInput) SetMasterUsername(v string) *CreateClusterInput { 12256 s.MasterUsername = &v 12257 return s 12258} 12259 12260// SetNodeType sets the NodeType field's value. 12261func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput { 12262 s.NodeType = &v 12263 return s 12264} 12265 12266// SetNumberOfNodes sets the NumberOfNodes field's value. 12267func (s *CreateClusterInput) SetNumberOfNodes(v int64) *CreateClusterInput { 12268 s.NumberOfNodes = &v 12269 return s 12270} 12271 12272// SetPort sets the Port field's value. 12273func (s *CreateClusterInput) SetPort(v int64) *CreateClusterInput { 12274 s.Port = &v 12275 return s 12276} 12277 12278// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 12279func (s *CreateClusterInput) SetPreferredMaintenanceWindow(v string) *CreateClusterInput { 12280 s.PreferredMaintenanceWindow = &v 12281 return s 12282} 12283 12284// SetPubliclyAccessible sets the PubliclyAccessible field's value. 12285func (s *CreateClusterInput) SetPubliclyAccessible(v bool) *CreateClusterInput { 12286 s.PubliclyAccessible = &v 12287 return s 12288} 12289 12290// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value. 12291func (s *CreateClusterInput) SetSnapshotScheduleIdentifier(v string) *CreateClusterInput { 12292 s.SnapshotScheduleIdentifier = &v 12293 return s 12294} 12295 12296// SetTags sets the Tags field's value. 12297func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { 12298 s.Tags = v 12299 return s 12300} 12301 12302// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. 12303func (s *CreateClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateClusterInput { 12304 s.VpcSecurityGroupIds = v 12305 return s 12306} 12307 12308type CreateClusterOutput struct { 12309 _ struct{} `type:"structure"` 12310 12311 // Describes a cluster. 12312 Cluster *Cluster `type:"structure"` 12313} 12314 12315// String returns the string representation 12316func (s CreateClusterOutput) String() string { 12317 return awsutil.Prettify(s) 12318} 12319 12320// GoString returns the string representation 12321func (s CreateClusterOutput) GoString() string { 12322 return s.String() 12323} 12324 12325// SetCluster sets the Cluster field's value. 12326func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { 12327 s.Cluster = v 12328 return s 12329} 12330 12331type CreateClusterParameterGroupInput struct { 12332 _ struct{} `type:"structure"` 12333 12334 // A description of the parameter group. 12335 // 12336 // Description is a required field 12337 Description *string `type:"string" required:"true"` 12338 12339 // The Amazon Redshift engine version to which the cluster parameter group applies. 12340 // The cluster engine version determines the set of parameters. 12341 // 12342 // To get a list of valid parameter group family names, you can call DescribeClusterParameterGroups. 12343 // By default, Amazon Redshift returns a list of all the parameter groups that 12344 // are owned by your AWS account, including the default parameter groups for 12345 // each Amazon Redshift engine version. The parameter group family names associated 12346 // with the default parameter groups provide you the valid values. For example, 12347 // a valid family name is "redshift-1.0". 12348 // 12349 // ParameterGroupFamily is a required field 12350 ParameterGroupFamily *string `type:"string" required:"true"` 12351 12352 // The name of the cluster parameter group. 12353 // 12354 // Constraints: 12355 // 12356 // * Must be 1 to 255 alphanumeric characters or hyphens 12357 // 12358 // * First character must be a letter. 12359 // 12360 // * Cannot end with a hyphen or contain two consecutive hyphens. 12361 // 12362 // * Must be unique withing your AWS account. 12363 // 12364 // This value is stored as a lower-case string. 12365 // 12366 // ParameterGroupName is a required field 12367 ParameterGroupName *string `type:"string" required:"true"` 12368 12369 // A list of tag instances. 12370 Tags []*Tag `locationNameList:"Tag" type:"list"` 12371} 12372 12373// String returns the string representation 12374func (s CreateClusterParameterGroupInput) String() string { 12375 return awsutil.Prettify(s) 12376} 12377 12378// GoString returns the string representation 12379func (s CreateClusterParameterGroupInput) GoString() string { 12380 return s.String() 12381} 12382 12383// Validate inspects the fields of the type to determine if they are valid. 12384func (s *CreateClusterParameterGroupInput) Validate() error { 12385 invalidParams := request.ErrInvalidParams{Context: "CreateClusterParameterGroupInput"} 12386 if s.Description == nil { 12387 invalidParams.Add(request.NewErrParamRequired("Description")) 12388 } 12389 if s.ParameterGroupFamily == nil { 12390 invalidParams.Add(request.NewErrParamRequired("ParameterGroupFamily")) 12391 } 12392 if s.ParameterGroupName == nil { 12393 invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) 12394 } 12395 12396 if invalidParams.Len() > 0 { 12397 return invalidParams 12398 } 12399 return nil 12400} 12401 12402// SetDescription sets the Description field's value. 12403func (s *CreateClusterParameterGroupInput) SetDescription(v string) *CreateClusterParameterGroupInput { 12404 s.Description = &v 12405 return s 12406} 12407 12408// SetParameterGroupFamily sets the ParameterGroupFamily field's value. 12409func (s *CreateClusterParameterGroupInput) SetParameterGroupFamily(v string) *CreateClusterParameterGroupInput { 12410 s.ParameterGroupFamily = &v 12411 return s 12412} 12413 12414// SetParameterGroupName sets the ParameterGroupName field's value. 12415func (s *CreateClusterParameterGroupInput) SetParameterGroupName(v string) *CreateClusterParameterGroupInput { 12416 s.ParameterGroupName = &v 12417 return s 12418} 12419 12420// SetTags sets the Tags field's value. 12421func (s *CreateClusterParameterGroupInput) SetTags(v []*Tag) *CreateClusterParameterGroupInput { 12422 s.Tags = v 12423 return s 12424} 12425 12426type CreateClusterParameterGroupOutput struct { 12427 _ struct{} `type:"structure"` 12428 12429 // Describes a parameter group. 12430 ClusterParameterGroup *ClusterParameterGroup `type:"structure"` 12431} 12432 12433// String returns the string representation 12434func (s CreateClusterParameterGroupOutput) String() string { 12435 return awsutil.Prettify(s) 12436} 12437 12438// GoString returns the string representation 12439func (s CreateClusterParameterGroupOutput) GoString() string { 12440 return s.String() 12441} 12442 12443// SetClusterParameterGroup sets the ClusterParameterGroup field's value. 12444func (s *CreateClusterParameterGroupOutput) SetClusterParameterGroup(v *ClusterParameterGroup) *CreateClusterParameterGroupOutput { 12445 s.ClusterParameterGroup = v 12446 return s 12447} 12448 12449type CreateClusterSecurityGroupInput struct { 12450 _ struct{} `type:"structure"` 12451 12452 // The name for the security group. Amazon Redshift stores the value as a lowercase 12453 // string. 12454 // 12455 // Constraints: 12456 // 12457 // * Must contain no more than 255 alphanumeric characters or hyphens. 12458 // 12459 // * Must not be "Default". 12460 // 12461 // * Must be unique for all security groups that are created by your AWS 12462 // account. 12463 // 12464 // Example: examplesecuritygroup 12465 // 12466 // ClusterSecurityGroupName is a required field 12467 ClusterSecurityGroupName *string `type:"string" required:"true"` 12468 12469 // A description for the security group. 12470 // 12471 // Description is a required field 12472 Description *string `type:"string" required:"true"` 12473 12474 // A list of tag instances. 12475 Tags []*Tag `locationNameList:"Tag" type:"list"` 12476} 12477 12478// String returns the string representation 12479func (s CreateClusterSecurityGroupInput) String() string { 12480 return awsutil.Prettify(s) 12481} 12482 12483// GoString returns the string representation 12484func (s CreateClusterSecurityGroupInput) GoString() string { 12485 return s.String() 12486} 12487 12488// Validate inspects the fields of the type to determine if they are valid. 12489func (s *CreateClusterSecurityGroupInput) Validate() error { 12490 invalidParams := request.ErrInvalidParams{Context: "CreateClusterSecurityGroupInput"} 12491 if s.ClusterSecurityGroupName == nil { 12492 invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName")) 12493 } 12494 if s.Description == nil { 12495 invalidParams.Add(request.NewErrParamRequired("Description")) 12496 } 12497 12498 if invalidParams.Len() > 0 { 12499 return invalidParams 12500 } 12501 return nil 12502} 12503 12504// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 12505func (s *CreateClusterSecurityGroupInput) SetClusterSecurityGroupName(v string) *CreateClusterSecurityGroupInput { 12506 s.ClusterSecurityGroupName = &v 12507 return s 12508} 12509 12510// SetDescription sets the Description field's value. 12511func (s *CreateClusterSecurityGroupInput) SetDescription(v string) *CreateClusterSecurityGroupInput { 12512 s.Description = &v 12513 return s 12514} 12515 12516// SetTags sets the Tags field's value. 12517func (s *CreateClusterSecurityGroupInput) SetTags(v []*Tag) *CreateClusterSecurityGroupInput { 12518 s.Tags = v 12519 return s 12520} 12521 12522type CreateClusterSecurityGroupOutput struct { 12523 _ struct{} `type:"structure"` 12524 12525 // Describes a security group. 12526 ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"` 12527} 12528 12529// String returns the string representation 12530func (s CreateClusterSecurityGroupOutput) String() string { 12531 return awsutil.Prettify(s) 12532} 12533 12534// GoString returns the string representation 12535func (s CreateClusterSecurityGroupOutput) GoString() string { 12536 return s.String() 12537} 12538 12539// SetClusterSecurityGroup sets the ClusterSecurityGroup field's value. 12540func (s *CreateClusterSecurityGroupOutput) SetClusterSecurityGroup(v *ClusterSecurityGroup) *CreateClusterSecurityGroupOutput { 12541 s.ClusterSecurityGroup = v 12542 return s 12543} 12544 12545type CreateClusterSnapshotInput struct { 12546 _ struct{} `type:"structure"` 12547 12548 // The cluster identifier for which you want a snapshot. 12549 // 12550 // ClusterIdentifier is a required field 12551 ClusterIdentifier *string `type:"string" required:"true"` 12552 12553 // The number of days that a manual snapshot is retained. If the value is -1, 12554 // the manual snapshot is retained indefinitely. 12555 // 12556 // The value must be either -1 or an integer between 1 and 3,653. 12557 // 12558 // The default value is -1. 12559 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 12560 12561 // A unique identifier for the snapshot that you are requesting. This identifier 12562 // must be unique for all snapshots within the AWS account. 12563 // 12564 // Constraints: 12565 // 12566 // * Cannot be null, empty, or blank 12567 // 12568 // * Must contain from 1 to 255 alphanumeric characters or hyphens 12569 // 12570 // * First character must be a letter 12571 // 12572 // * Cannot end with a hyphen or contain two consecutive hyphens 12573 // 12574 // Example: my-snapshot-id 12575 // 12576 // SnapshotIdentifier is a required field 12577 SnapshotIdentifier *string `type:"string" required:"true"` 12578 12579 // A list of tag instances. 12580 Tags []*Tag `locationNameList:"Tag" type:"list"` 12581} 12582 12583// String returns the string representation 12584func (s CreateClusterSnapshotInput) String() string { 12585 return awsutil.Prettify(s) 12586} 12587 12588// GoString returns the string representation 12589func (s CreateClusterSnapshotInput) GoString() string { 12590 return s.String() 12591} 12592 12593// Validate inspects the fields of the type to determine if they are valid. 12594func (s *CreateClusterSnapshotInput) Validate() error { 12595 invalidParams := request.ErrInvalidParams{Context: "CreateClusterSnapshotInput"} 12596 if s.ClusterIdentifier == nil { 12597 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 12598 } 12599 if s.SnapshotIdentifier == nil { 12600 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 12601 } 12602 12603 if invalidParams.Len() > 0 { 12604 return invalidParams 12605 } 12606 return nil 12607} 12608 12609// SetClusterIdentifier sets the ClusterIdentifier field's value. 12610func (s *CreateClusterSnapshotInput) SetClusterIdentifier(v string) *CreateClusterSnapshotInput { 12611 s.ClusterIdentifier = &v 12612 return s 12613} 12614 12615// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 12616func (s *CreateClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *CreateClusterSnapshotInput { 12617 s.ManualSnapshotRetentionPeriod = &v 12618 return s 12619} 12620 12621// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 12622func (s *CreateClusterSnapshotInput) SetSnapshotIdentifier(v string) *CreateClusterSnapshotInput { 12623 s.SnapshotIdentifier = &v 12624 return s 12625} 12626 12627// SetTags sets the Tags field's value. 12628func (s *CreateClusterSnapshotInput) SetTags(v []*Tag) *CreateClusterSnapshotInput { 12629 s.Tags = v 12630 return s 12631} 12632 12633type CreateClusterSnapshotOutput struct { 12634 _ struct{} `type:"structure"` 12635 12636 // Describes a snapshot. 12637 Snapshot *Snapshot `type:"structure"` 12638} 12639 12640// String returns the string representation 12641func (s CreateClusterSnapshotOutput) String() string { 12642 return awsutil.Prettify(s) 12643} 12644 12645// GoString returns the string representation 12646func (s CreateClusterSnapshotOutput) GoString() string { 12647 return s.String() 12648} 12649 12650// SetSnapshot sets the Snapshot field's value. 12651func (s *CreateClusterSnapshotOutput) SetSnapshot(v *Snapshot) *CreateClusterSnapshotOutput { 12652 s.Snapshot = v 12653 return s 12654} 12655 12656type CreateClusterSubnetGroupInput struct { 12657 _ struct{} `type:"structure"` 12658 12659 // The name for the subnet group. Amazon Redshift stores the value as a lowercase 12660 // string. 12661 // 12662 // Constraints: 12663 // 12664 // * Must contain no more than 255 alphanumeric characters or hyphens. 12665 // 12666 // * Must not be "Default". 12667 // 12668 // * Must be unique for all subnet groups that are created by your AWS account. 12669 // 12670 // Example: examplesubnetgroup 12671 // 12672 // ClusterSubnetGroupName is a required field 12673 ClusterSubnetGroupName *string `type:"string" required:"true"` 12674 12675 // A description for the subnet group. 12676 // 12677 // Description is a required field 12678 Description *string `type:"string" required:"true"` 12679 12680 // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a 12681 // single request. 12682 // 12683 // SubnetIds is a required field 12684 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 12685 12686 // A list of tag instances. 12687 Tags []*Tag `locationNameList:"Tag" type:"list"` 12688} 12689 12690// String returns the string representation 12691func (s CreateClusterSubnetGroupInput) String() string { 12692 return awsutil.Prettify(s) 12693} 12694 12695// GoString returns the string representation 12696func (s CreateClusterSubnetGroupInput) GoString() string { 12697 return s.String() 12698} 12699 12700// Validate inspects the fields of the type to determine if they are valid. 12701func (s *CreateClusterSubnetGroupInput) Validate() error { 12702 invalidParams := request.ErrInvalidParams{Context: "CreateClusterSubnetGroupInput"} 12703 if s.ClusterSubnetGroupName == nil { 12704 invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName")) 12705 } 12706 if s.Description == nil { 12707 invalidParams.Add(request.NewErrParamRequired("Description")) 12708 } 12709 if s.SubnetIds == nil { 12710 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 12711 } 12712 12713 if invalidParams.Len() > 0 { 12714 return invalidParams 12715 } 12716 return nil 12717} 12718 12719// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 12720func (s *CreateClusterSubnetGroupInput) SetClusterSubnetGroupName(v string) *CreateClusterSubnetGroupInput { 12721 s.ClusterSubnetGroupName = &v 12722 return s 12723} 12724 12725// SetDescription sets the Description field's value. 12726func (s *CreateClusterSubnetGroupInput) SetDescription(v string) *CreateClusterSubnetGroupInput { 12727 s.Description = &v 12728 return s 12729} 12730 12731// SetSubnetIds sets the SubnetIds field's value. 12732func (s *CreateClusterSubnetGroupInput) SetSubnetIds(v []*string) *CreateClusterSubnetGroupInput { 12733 s.SubnetIds = v 12734 return s 12735} 12736 12737// SetTags sets the Tags field's value. 12738func (s *CreateClusterSubnetGroupInput) SetTags(v []*Tag) *CreateClusterSubnetGroupInput { 12739 s.Tags = v 12740 return s 12741} 12742 12743type CreateClusterSubnetGroupOutput struct { 12744 _ struct{} `type:"structure"` 12745 12746 // Describes a subnet group. 12747 ClusterSubnetGroup *ClusterSubnetGroup `type:"structure"` 12748} 12749 12750// String returns the string representation 12751func (s CreateClusterSubnetGroupOutput) String() string { 12752 return awsutil.Prettify(s) 12753} 12754 12755// GoString returns the string representation 12756func (s CreateClusterSubnetGroupOutput) GoString() string { 12757 return s.String() 12758} 12759 12760// SetClusterSubnetGroup sets the ClusterSubnetGroup field's value. 12761func (s *CreateClusterSubnetGroupOutput) SetClusterSubnetGroup(v *ClusterSubnetGroup) *CreateClusterSubnetGroupOutput { 12762 s.ClusterSubnetGroup = v 12763 return s 12764} 12765 12766type CreateEventSubscriptionInput struct { 12767 _ struct{} `type:"structure"` 12768 12769 // A boolean value; set to true to activate the subscription, and set to false 12770 // to create the subscription but not activate it. 12771 Enabled *bool `type:"boolean"` 12772 12773 // Specifies the Amazon Redshift event categories to be published by the event 12774 // notification subscription. 12775 // 12776 // Values: configuration, management, monitoring, security 12777 EventCategories []*string `locationNameList:"EventCategory" type:"list"` 12778 12779 // Specifies the Amazon Redshift event severity to be published by the event 12780 // notification subscription. 12781 // 12782 // Values: ERROR, INFO 12783 Severity *string `type:"string"` 12784 12785 // The Amazon Resource Name (ARN) of the Amazon SNS topic used to transmit the 12786 // event notifications. The ARN is created by Amazon SNS when you create a topic 12787 // and subscribe to it. 12788 // 12789 // SnsTopicArn is a required field 12790 SnsTopicArn *string `type:"string" required:"true"` 12791 12792 // A list of one or more identifiers of Amazon Redshift source objects. All 12793 // of the objects must be of the same type as was specified in the source type 12794 // parameter. The event subscription will return only events generated by the 12795 // specified objects. If not specified, then events are returned for all objects 12796 // within the source type specified. 12797 // 12798 // Example: my-cluster-1, my-cluster-2 12799 // 12800 // Example: my-snapshot-20131010 12801 SourceIds []*string `locationNameList:"SourceId" type:"list"` 12802 12803 // The type of source that will be generating the events. For example, if you 12804 // want to be notified of events generated by a cluster, you would set this 12805 // parameter to cluster. If this value is not specified, events are returned 12806 // for all Amazon Redshift objects in your AWS account. You must specify a source 12807 // type in order to specify source IDs. 12808 // 12809 // Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, 12810 // and scheduled-action. 12811 SourceType *string `type:"string"` 12812 12813 // The name of the event subscription to be created. 12814 // 12815 // Constraints: 12816 // 12817 // * Cannot be null, empty, or blank. 12818 // 12819 // * Must contain from 1 to 255 alphanumeric characters or hyphens. 12820 // 12821 // * First character must be a letter. 12822 // 12823 // * Cannot end with a hyphen or contain two consecutive hyphens. 12824 // 12825 // SubscriptionName is a required field 12826 SubscriptionName *string `type:"string" required:"true"` 12827 12828 // A list of tag instances. 12829 Tags []*Tag `locationNameList:"Tag" type:"list"` 12830} 12831 12832// String returns the string representation 12833func (s CreateEventSubscriptionInput) String() string { 12834 return awsutil.Prettify(s) 12835} 12836 12837// GoString returns the string representation 12838func (s CreateEventSubscriptionInput) GoString() string { 12839 return s.String() 12840} 12841 12842// Validate inspects the fields of the type to determine if they are valid. 12843func (s *CreateEventSubscriptionInput) Validate() error { 12844 invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"} 12845 if s.SnsTopicArn == nil { 12846 invalidParams.Add(request.NewErrParamRequired("SnsTopicArn")) 12847 } 12848 if s.SubscriptionName == nil { 12849 invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) 12850 } 12851 12852 if invalidParams.Len() > 0 { 12853 return invalidParams 12854 } 12855 return nil 12856} 12857 12858// SetEnabled sets the Enabled field's value. 12859func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput { 12860 s.Enabled = &v 12861 return s 12862} 12863 12864// SetEventCategories sets the EventCategories field's value. 12865func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput { 12866 s.EventCategories = v 12867 return s 12868} 12869 12870// SetSeverity sets the Severity field's value. 12871func (s *CreateEventSubscriptionInput) SetSeverity(v string) *CreateEventSubscriptionInput { 12872 s.Severity = &v 12873 return s 12874} 12875 12876// SetSnsTopicArn sets the SnsTopicArn field's value. 12877func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput { 12878 s.SnsTopicArn = &v 12879 return s 12880} 12881 12882// SetSourceIds sets the SourceIds field's value. 12883func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput { 12884 s.SourceIds = v 12885 return s 12886} 12887 12888// SetSourceType sets the SourceType field's value. 12889func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput { 12890 s.SourceType = &v 12891 return s 12892} 12893 12894// SetSubscriptionName sets the SubscriptionName field's value. 12895func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput { 12896 s.SubscriptionName = &v 12897 return s 12898} 12899 12900// SetTags sets the Tags field's value. 12901func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput { 12902 s.Tags = v 12903 return s 12904} 12905 12906type CreateEventSubscriptionOutput struct { 12907 _ struct{} `type:"structure"` 12908 12909 // Describes event subscriptions. 12910 EventSubscription *EventSubscription `type:"structure"` 12911} 12912 12913// String returns the string representation 12914func (s CreateEventSubscriptionOutput) String() string { 12915 return awsutil.Prettify(s) 12916} 12917 12918// GoString returns the string representation 12919func (s CreateEventSubscriptionOutput) GoString() string { 12920 return s.String() 12921} 12922 12923// SetEventSubscription sets the EventSubscription field's value. 12924func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput { 12925 s.EventSubscription = v 12926 return s 12927} 12928 12929type CreateHsmClientCertificateInput struct { 12930 _ struct{} `type:"structure"` 12931 12932 // The identifier to be assigned to the new HSM client certificate that the 12933 // cluster will use to connect to the HSM to use the database encryption keys. 12934 // 12935 // HsmClientCertificateIdentifier is a required field 12936 HsmClientCertificateIdentifier *string `type:"string" required:"true"` 12937 12938 // A list of tag instances. 12939 Tags []*Tag `locationNameList:"Tag" type:"list"` 12940} 12941 12942// String returns the string representation 12943func (s CreateHsmClientCertificateInput) String() string { 12944 return awsutil.Prettify(s) 12945} 12946 12947// GoString returns the string representation 12948func (s CreateHsmClientCertificateInput) GoString() string { 12949 return s.String() 12950} 12951 12952// Validate inspects the fields of the type to determine if they are valid. 12953func (s *CreateHsmClientCertificateInput) Validate() error { 12954 invalidParams := request.ErrInvalidParams{Context: "CreateHsmClientCertificateInput"} 12955 if s.HsmClientCertificateIdentifier == nil { 12956 invalidParams.Add(request.NewErrParamRequired("HsmClientCertificateIdentifier")) 12957 } 12958 12959 if invalidParams.Len() > 0 { 12960 return invalidParams 12961 } 12962 return nil 12963} 12964 12965// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 12966func (s *CreateHsmClientCertificateInput) SetHsmClientCertificateIdentifier(v string) *CreateHsmClientCertificateInput { 12967 s.HsmClientCertificateIdentifier = &v 12968 return s 12969} 12970 12971// SetTags sets the Tags field's value. 12972func (s *CreateHsmClientCertificateInput) SetTags(v []*Tag) *CreateHsmClientCertificateInput { 12973 s.Tags = v 12974 return s 12975} 12976 12977type CreateHsmClientCertificateOutput struct { 12978 _ struct{} `type:"structure"` 12979 12980 // Returns information about an HSM client certificate. The certificate is stored 12981 // in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift 12982 // cluster to encrypt data files. 12983 HsmClientCertificate *HsmClientCertificate `type:"structure"` 12984} 12985 12986// String returns the string representation 12987func (s CreateHsmClientCertificateOutput) String() string { 12988 return awsutil.Prettify(s) 12989} 12990 12991// GoString returns the string representation 12992func (s CreateHsmClientCertificateOutput) GoString() string { 12993 return s.String() 12994} 12995 12996// SetHsmClientCertificate sets the HsmClientCertificate field's value. 12997func (s *CreateHsmClientCertificateOutput) SetHsmClientCertificate(v *HsmClientCertificate) *CreateHsmClientCertificateOutput { 12998 s.HsmClientCertificate = v 12999 return s 13000} 13001 13002type CreateHsmConfigurationInput struct { 13003 _ struct{} `type:"structure"` 13004 13005 // A text description of the HSM configuration to be created. 13006 // 13007 // Description is a required field 13008 Description *string `type:"string" required:"true"` 13009 13010 // The identifier to be assigned to the new Amazon Redshift HSM configuration. 13011 // 13012 // HsmConfigurationIdentifier is a required field 13013 HsmConfigurationIdentifier *string `type:"string" required:"true"` 13014 13015 // The IP address that the Amazon Redshift cluster must use to access the HSM. 13016 // 13017 // HsmIpAddress is a required field 13018 HsmIpAddress *string `type:"string" required:"true"` 13019 13020 // The name of the partition in the HSM where the Amazon Redshift clusters will 13021 // store their database encryption keys. 13022 // 13023 // HsmPartitionName is a required field 13024 HsmPartitionName *string `type:"string" required:"true"` 13025 13026 // The password required to access the HSM partition. 13027 // 13028 // HsmPartitionPassword is a required field 13029 HsmPartitionPassword *string `type:"string" required:"true"` 13030 13031 // The HSMs public certificate file. When using Cloud HSM, the file name is 13032 // server.pem. 13033 // 13034 // HsmServerPublicCertificate is a required field 13035 HsmServerPublicCertificate *string `type:"string" required:"true"` 13036 13037 // A list of tag instances. 13038 Tags []*Tag `locationNameList:"Tag" type:"list"` 13039} 13040 13041// String returns the string representation 13042func (s CreateHsmConfigurationInput) String() string { 13043 return awsutil.Prettify(s) 13044} 13045 13046// GoString returns the string representation 13047func (s CreateHsmConfigurationInput) GoString() string { 13048 return s.String() 13049} 13050 13051// Validate inspects the fields of the type to determine if they are valid. 13052func (s *CreateHsmConfigurationInput) Validate() error { 13053 invalidParams := request.ErrInvalidParams{Context: "CreateHsmConfigurationInput"} 13054 if s.Description == nil { 13055 invalidParams.Add(request.NewErrParamRequired("Description")) 13056 } 13057 if s.HsmConfigurationIdentifier == nil { 13058 invalidParams.Add(request.NewErrParamRequired("HsmConfigurationIdentifier")) 13059 } 13060 if s.HsmIpAddress == nil { 13061 invalidParams.Add(request.NewErrParamRequired("HsmIpAddress")) 13062 } 13063 if s.HsmPartitionName == nil { 13064 invalidParams.Add(request.NewErrParamRequired("HsmPartitionName")) 13065 } 13066 if s.HsmPartitionPassword == nil { 13067 invalidParams.Add(request.NewErrParamRequired("HsmPartitionPassword")) 13068 } 13069 if s.HsmServerPublicCertificate == nil { 13070 invalidParams.Add(request.NewErrParamRequired("HsmServerPublicCertificate")) 13071 } 13072 13073 if invalidParams.Len() > 0 { 13074 return invalidParams 13075 } 13076 return nil 13077} 13078 13079// SetDescription sets the Description field's value. 13080func (s *CreateHsmConfigurationInput) SetDescription(v string) *CreateHsmConfigurationInput { 13081 s.Description = &v 13082 return s 13083} 13084 13085// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 13086func (s *CreateHsmConfigurationInput) SetHsmConfigurationIdentifier(v string) *CreateHsmConfigurationInput { 13087 s.HsmConfigurationIdentifier = &v 13088 return s 13089} 13090 13091// SetHsmIpAddress sets the HsmIpAddress field's value. 13092func (s *CreateHsmConfigurationInput) SetHsmIpAddress(v string) *CreateHsmConfigurationInput { 13093 s.HsmIpAddress = &v 13094 return s 13095} 13096 13097// SetHsmPartitionName sets the HsmPartitionName field's value. 13098func (s *CreateHsmConfigurationInput) SetHsmPartitionName(v string) *CreateHsmConfigurationInput { 13099 s.HsmPartitionName = &v 13100 return s 13101} 13102 13103// SetHsmPartitionPassword sets the HsmPartitionPassword field's value. 13104func (s *CreateHsmConfigurationInput) SetHsmPartitionPassword(v string) *CreateHsmConfigurationInput { 13105 s.HsmPartitionPassword = &v 13106 return s 13107} 13108 13109// SetHsmServerPublicCertificate sets the HsmServerPublicCertificate field's value. 13110func (s *CreateHsmConfigurationInput) SetHsmServerPublicCertificate(v string) *CreateHsmConfigurationInput { 13111 s.HsmServerPublicCertificate = &v 13112 return s 13113} 13114 13115// SetTags sets the Tags field's value. 13116func (s *CreateHsmConfigurationInput) SetTags(v []*Tag) *CreateHsmConfigurationInput { 13117 s.Tags = v 13118 return s 13119} 13120 13121type CreateHsmConfigurationOutput struct { 13122 _ struct{} `type:"structure"` 13123 13124 // Returns information about an HSM configuration, which is an object that describes 13125 // to Amazon Redshift clusters the information they require to connect to an 13126 // HSM where they can store database encryption keys. 13127 HsmConfiguration *HsmConfiguration `type:"structure"` 13128} 13129 13130// String returns the string representation 13131func (s CreateHsmConfigurationOutput) String() string { 13132 return awsutil.Prettify(s) 13133} 13134 13135// GoString returns the string representation 13136func (s CreateHsmConfigurationOutput) GoString() string { 13137 return s.String() 13138} 13139 13140// SetHsmConfiguration sets the HsmConfiguration field's value. 13141func (s *CreateHsmConfigurationOutput) SetHsmConfiguration(v *HsmConfiguration) *CreateHsmConfigurationOutput { 13142 s.HsmConfiguration = v 13143 return s 13144} 13145 13146type CreateScheduledActionInput struct { 13147 _ struct{} `type:"structure"` 13148 13149 // If true, the schedule is enabled. If false, the scheduled action does not 13150 // trigger. For more information about state of the scheduled action, see ScheduledAction. 13151 Enable *bool `type:"boolean"` 13152 13153 // The end time in UTC of the scheduled action. After this time, the scheduled 13154 // action does not trigger. For more information about this parameter, see ScheduledAction. 13155 EndTime *time.Time `type:"timestamp"` 13156 13157 // The IAM role to assume to run the target action. For more information about 13158 // this parameter, see ScheduledAction. 13159 // 13160 // IamRole is a required field 13161 IamRole *string `type:"string" required:"true"` 13162 13163 // The schedule in at( ) or cron( ) format. For more information about this 13164 // parameter, see ScheduledAction. 13165 // 13166 // Schedule is a required field 13167 Schedule *string `type:"string" required:"true"` 13168 13169 // The description of the scheduled action. 13170 ScheduledActionDescription *string `type:"string"` 13171 13172 // The name of the scheduled action. The name must be unique within an account. 13173 // For more information about this parameter, see ScheduledAction. 13174 // 13175 // ScheduledActionName is a required field 13176 ScheduledActionName *string `type:"string" required:"true"` 13177 13178 // The start time in UTC of the scheduled action. Before this time, the scheduled 13179 // action does not trigger. For more information about this parameter, see ScheduledAction. 13180 StartTime *time.Time `type:"timestamp"` 13181 13182 // A JSON format string of the Amazon Redshift API operation with input parameters. 13183 // For more information about this parameter, see ScheduledAction. 13184 // 13185 // TargetAction is a required field 13186 TargetAction *ScheduledActionType `type:"structure" required:"true"` 13187} 13188 13189// String returns the string representation 13190func (s CreateScheduledActionInput) String() string { 13191 return awsutil.Prettify(s) 13192} 13193 13194// GoString returns the string representation 13195func (s CreateScheduledActionInput) GoString() string { 13196 return s.String() 13197} 13198 13199// Validate inspects the fields of the type to determine if they are valid. 13200func (s *CreateScheduledActionInput) Validate() error { 13201 invalidParams := request.ErrInvalidParams{Context: "CreateScheduledActionInput"} 13202 if s.IamRole == nil { 13203 invalidParams.Add(request.NewErrParamRequired("IamRole")) 13204 } 13205 if s.Schedule == nil { 13206 invalidParams.Add(request.NewErrParamRequired("Schedule")) 13207 } 13208 if s.ScheduledActionName == nil { 13209 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 13210 } 13211 if s.TargetAction == nil { 13212 invalidParams.Add(request.NewErrParamRequired("TargetAction")) 13213 } 13214 if s.TargetAction != nil { 13215 if err := s.TargetAction.Validate(); err != nil { 13216 invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) 13217 } 13218 } 13219 13220 if invalidParams.Len() > 0 { 13221 return invalidParams 13222 } 13223 return nil 13224} 13225 13226// SetEnable sets the Enable field's value. 13227func (s *CreateScheduledActionInput) SetEnable(v bool) *CreateScheduledActionInput { 13228 s.Enable = &v 13229 return s 13230} 13231 13232// SetEndTime sets the EndTime field's value. 13233func (s *CreateScheduledActionInput) SetEndTime(v time.Time) *CreateScheduledActionInput { 13234 s.EndTime = &v 13235 return s 13236} 13237 13238// SetIamRole sets the IamRole field's value. 13239func (s *CreateScheduledActionInput) SetIamRole(v string) *CreateScheduledActionInput { 13240 s.IamRole = &v 13241 return s 13242} 13243 13244// SetSchedule sets the Schedule field's value. 13245func (s *CreateScheduledActionInput) SetSchedule(v string) *CreateScheduledActionInput { 13246 s.Schedule = &v 13247 return s 13248} 13249 13250// SetScheduledActionDescription sets the ScheduledActionDescription field's value. 13251func (s *CreateScheduledActionInput) SetScheduledActionDescription(v string) *CreateScheduledActionInput { 13252 s.ScheduledActionDescription = &v 13253 return s 13254} 13255 13256// SetScheduledActionName sets the ScheduledActionName field's value. 13257func (s *CreateScheduledActionInput) SetScheduledActionName(v string) *CreateScheduledActionInput { 13258 s.ScheduledActionName = &v 13259 return s 13260} 13261 13262// SetStartTime sets the StartTime field's value. 13263func (s *CreateScheduledActionInput) SetStartTime(v time.Time) *CreateScheduledActionInput { 13264 s.StartTime = &v 13265 return s 13266} 13267 13268// SetTargetAction sets the TargetAction field's value. 13269func (s *CreateScheduledActionInput) SetTargetAction(v *ScheduledActionType) *CreateScheduledActionInput { 13270 s.TargetAction = v 13271 return s 13272} 13273 13274// Describes a scheduled action. You can use a scheduled action to trigger some 13275// Amazon Redshift API operations on a schedule. For information about which 13276// API operations can be scheduled, see ScheduledActionType. 13277type CreateScheduledActionOutput struct { 13278 _ struct{} `type:"structure"` 13279 13280 // The end time in UTC when the schedule is no longer active. After this time, 13281 // the scheduled action does not trigger. 13282 EndTime *time.Time `type:"timestamp"` 13283 13284 // The IAM role to assume to run the scheduled action. This IAM role must have 13285 // permission to run the Amazon Redshift API operation in the scheduled action. 13286 // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) 13287 // to assume permissions on your behalf. For more information about the IAM 13288 // role to use with the Amazon Redshift scheduler, see Using Identity-Based 13289 // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) 13290 // in the Amazon Redshift Cluster Management Guide. 13291 IamRole *string `type:"string"` 13292 13293 // List of times when the scheduled action will run. 13294 NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` 13295 13296 // The schedule for a one-time (at format) or recurring (cron format) scheduled 13297 // action. Schedule invocations must be separated by at least one hour. 13298 // 13299 // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". 13300 // 13301 // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week 13302 // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron 13303 // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) 13304 // in the Amazon CloudWatch Events User Guide. 13305 Schedule *string `type:"string"` 13306 13307 // The description of the scheduled action. 13308 ScheduledActionDescription *string `type:"string"` 13309 13310 // The name of the scheduled action. 13311 ScheduledActionName *string `type:"string"` 13312 13313 // The start time in UTC when the schedule is active. Before this time, the 13314 // scheduled action does not trigger. 13315 StartTime *time.Time `type:"timestamp"` 13316 13317 // The state of the scheduled action. For example, DISABLED. 13318 State *string `type:"string" enum:"ScheduledActionState"` 13319 13320 // A JSON format string of the Amazon Redshift API operation with input parameters. 13321 // 13322 // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". 13323 TargetAction *ScheduledActionType `type:"structure"` 13324} 13325 13326// String returns the string representation 13327func (s CreateScheduledActionOutput) String() string { 13328 return awsutil.Prettify(s) 13329} 13330 13331// GoString returns the string representation 13332func (s CreateScheduledActionOutput) GoString() string { 13333 return s.String() 13334} 13335 13336// SetEndTime sets the EndTime field's value. 13337func (s *CreateScheduledActionOutput) SetEndTime(v time.Time) *CreateScheduledActionOutput { 13338 s.EndTime = &v 13339 return s 13340} 13341 13342// SetIamRole sets the IamRole field's value. 13343func (s *CreateScheduledActionOutput) SetIamRole(v string) *CreateScheduledActionOutput { 13344 s.IamRole = &v 13345 return s 13346} 13347 13348// SetNextInvocations sets the NextInvocations field's value. 13349func (s *CreateScheduledActionOutput) SetNextInvocations(v []*time.Time) *CreateScheduledActionOutput { 13350 s.NextInvocations = v 13351 return s 13352} 13353 13354// SetSchedule sets the Schedule field's value. 13355func (s *CreateScheduledActionOutput) SetSchedule(v string) *CreateScheduledActionOutput { 13356 s.Schedule = &v 13357 return s 13358} 13359 13360// SetScheduledActionDescription sets the ScheduledActionDescription field's value. 13361func (s *CreateScheduledActionOutput) SetScheduledActionDescription(v string) *CreateScheduledActionOutput { 13362 s.ScheduledActionDescription = &v 13363 return s 13364} 13365 13366// SetScheduledActionName sets the ScheduledActionName field's value. 13367func (s *CreateScheduledActionOutput) SetScheduledActionName(v string) *CreateScheduledActionOutput { 13368 s.ScheduledActionName = &v 13369 return s 13370} 13371 13372// SetStartTime sets the StartTime field's value. 13373func (s *CreateScheduledActionOutput) SetStartTime(v time.Time) *CreateScheduledActionOutput { 13374 s.StartTime = &v 13375 return s 13376} 13377 13378// SetState sets the State field's value. 13379func (s *CreateScheduledActionOutput) SetState(v string) *CreateScheduledActionOutput { 13380 s.State = &v 13381 return s 13382} 13383 13384// SetTargetAction sets the TargetAction field's value. 13385func (s *CreateScheduledActionOutput) SetTargetAction(v *ScheduledActionType) *CreateScheduledActionOutput { 13386 s.TargetAction = v 13387 return s 13388} 13389 13390// The result of the CreateSnapshotCopyGrant action. 13391type CreateSnapshotCopyGrantInput struct { 13392 _ struct{} `type:"structure"` 13393 13394 // The unique identifier of the customer master key (CMK) to which to grant 13395 // Amazon Redshift permission. If no key is specified, the default key is used. 13396 KmsKeyId *string `type:"string"` 13397 13398 // The name of the snapshot copy grant. This name must be unique in the region 13399 // for the AWS account. 13400 // 13401 // Constraints: 13402 // 13403 // * Must contain from 1 to 63 alphanumeric characters or hyphens. 13404 // 13405 // * Alphabetic characters must be lowercase. 13406 // 13407 // * First character must be a letter. 13408 // 13409 // * Cannot end with a hyphen or contain two consecutive hyphens. 13410 // 13411 // * Must be unique for all clusters within an AWS account. 13412 // 13413 // SnapshotCopyGrantName is a required field 13414 SnapshotCopyGrantName *string `type:"string" required:"true"` 13415 13416 // A list of tag instances. 13417 Tags []*Tag `locationNameList:"Tag" type:"list"` 13418} 13419 13420// String returns the string representation 13421func (s CreateSnapshotCopyGrantInput) String() string { 13422 return awsutil.Prettify(s) 13423} 13424 13425// GoString returns the string representation 13426func (s CreateSnapshotCopyGrantInput) GoString() string { 13427 return s.String() 13428} 13429 13430// Validate inspects the fields of the type to determine if they are valid. 13431func (s *CreateSnapshotCopyGrantInput) Validate() error { 13432 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotCopyGrantInput"} 13433 if s.SnapshotCopyGrantName == nil { 13434 invalidParams.Add(request.NewErrParamRequired("SnapshotCopyGrantName")) 13435 } 13436 13437 if invalidParams.Len() > 0 { 13438 return invalidParams 13439 } 13440 return nil 13441} 13442 13443// SetKmsKeyId sets the KmsKeyId field's value. 13444func (s *CreateSnapshotCopyGrantInput) SetKmsKeyId(v string) *CreateSnapshotCopyGrantInput { 13445 s.KmsKeyId = &v 13446 return s 13447} 13448 13449// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value. 13450func (s *CreateSnapshotCopyGrantInput) SetSnapshotCopyGrantName(v string) *CreateSnapshotCopyGrantInput { 13451 s.SnapshotCopyGrantName = &v 13452 return s 13453} 13454 13455// SetTags sets the Tags field's value. 13456func (s *CreateSnapshotCopyGrantInput) SetTags(v []*Tag) *CreateSnapshotCopyGrantInput { 13457 s.Tags = v 13458 return s 13459} 13460 13461type CreateSnapshotCopyGrantOutput struct { 13462 _ struct{} `type:"structure"` 13463 13464 // The snapshot copy grant that grants Amazon Redshift permission to encrypt 13465 // copied snapshots with the specified customer master key (CMK) from AWS KMS 13466 // in the destination region. 13467 // 13468 // For more information about managing snapshot copy grants, go to Amazon Redshift 13469 // Database Encryption (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) 13470 // in the Amazon Redshift Cluster Management Guide. 13471 SnapshotCopyGrant *SnapshotCopyGrant `type:"structure"` 13472} 13473 13474// String returns the string representation 13475func (s CreateSnapshotCopyGrantOutput) String() string { 13476 return awsutil.Prettify(s) 13477} 13478 13479// GoString returns the string representation 13480func (s CreateSnapshotCopyGrantOutput) GoString() string { 13481 return s.String() 13482} 13483 13484// SetSnapshotCopyGrant sets the SnapshotCopyGrant field's value. 13485func (s *CreateSnapshotCopyGrantOutput) SetSnapshotCopyGrant(v *SnapshotCopyGrant) *CreateSnapshotCopyGrantOutput { 13486 s.SnapshotCopyGrant = v 13487 return s 13488} 13489 13490type CreateSnapshotScheduleInput struct { 13491 _ struct{} `type:"structure"` 13492 13493 DryRun *bool `type:"boolean"` 13494 13495 NextInvocations *int64 `type:"integer"` 13496 13497 // The definition of the snapshot schedule. The definition is made up of schedule 13498 // expressions, for example "cron(30 12 *)" or "rate(12 hours)". 13499 ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"` 13500 13501 // The description of the snapshot schedule. 13502 ScheduleDescription *string `type:"string"` 13503 13504 // A unique identifier for a snapshot schedule. Only alphanumeric characters 13505 // are allowed for the identifier. 13506 ScheduleIdentifier *string `type:"string"` 13507 13508 // An optional set of tags you can use to search for the schedule. 13509 Tags []*Tag `locationNameList:"Tag" type:"list"` 13510} 13511 13512// String returns the string representation 13513func (s CreateSnapshotScheduleInput) String() string { 13514 return awsutil.Prettify(s) 13515} 13516 13517// GoString returns the string representation 13518func (s CreateSnapshotScheduleInput) GoString() string { 13519 return s.String() 13520} 13521 13522// SetDryRun sets the DryRun field's value. 13523func (s *CreateSnapshotScheduleInput) SetDryRun(v bool) *CreateSnapshotScheduleInput { 13524 s.DryRun = &v 13525 return s 13526} 13527 13528// SetNextInvocations sets the NextInvocations field's value. 13529func (s *CreateSnapshotScheduleInput) SetNextInvocations(v int64) *CreateSnapshotScheduleInput { 13530 s.NextInvocations = &v 13531 return s 13532} 13533 13534// SetScheduleDefinitions sets the ScheduleDefinitions field's value. 13535func (s *CreateSnapshotScheduleInput) SetScheduleDefinitions(v []*string) *CreateSnapshotScheduleInput { 13536 s.ScheduleDefinitions = v 13537 return s 13538} 13539 13540// SetScheduleDescription sets the ScheduleDescription field's value. 13541func (s *CreateSnapshotScheduleInput) SetScheduleDescription(v string) *CreateSnapshotScheduleInput { 13542 s.ScheduleDescription = &v 13543 return s 13544} 13545 13546// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 13547func (s *CreateSnapshotScheduleInput) SetScheduleIdentifier(v string) *CreateSnapshotScheduleInput { 13548 s.ScheduleIdentifier = &v 13549 return s 13550} 13551 13552// SetTags sets the Tags field's value. 13553func (s *CreateSnapshotScheduleInput) SetTags(v []*Tag) *CreateSnapshotScheduleInput { 13554 s.Tags = v 13555 return s 13556} 13557 13558// Describes a snapshot schedule. You can set a regular interval for creating 13559// snapshots of a cluster. You can also schedule snapshots for specific dates. 13560type CreateSnapshotScheduleOutput struct { 13561 _ struct{} `type:"structure"` 13562 13563 // The number of clusters associated with the schedule. 13564 AssociatedClusterCount *int64 `type:"integer"` 13565 13566 // A list of clusters associated with the schedule. A maximum of 100 clusters 13567 // is returned. 13568 AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"` 13569 13570 NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"` 13571 13572 // A list of ScheduleDefinitions. 13573 ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"` 13574 13575 // The description of the schedule. 13576 ScheduleDescription *string `type:"string"` 13577 13578 // A unique identifier for the schedule. 13579 ScheduleIdentifier *string `type:"string"` 13580 13581 // An optional set of tags describing the schedule. 13582 Tags []*Tag `locationNameList:"Tag" type:"list"` 13583} 13584 13585// String returns the string representation 13586func (s CreateSnapshotScheduleOutput) String() string { 13587 return awsutil.Prettify(s) 13588} 13589 13590// GoString returns the string representation 13591func (s CreateSnapshotScheduleOutput) GoString() string { 13592 return s.String() 13593} 13594 13595// SetAssociatedClusterCount sets the AssociatedClusterCount field's value. 13596func (s *CreateSnapshotScheduleOutput) SetAssociatedClusterCount(v int64) *CreateSnapshotScheduleOutput { 13597 s.AssociatedClusterCount = &v 13598 return s 13599} 13600 13601// SetAssociatedClusters sets the AssociatedClusters field's value. 13602func (s *CreateSnapshotScheduleOutput) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *CreateSnapshotScheduleOutput { 13603 s.AssociatedClusters = v 13604 return s 13605} 13606 13607// SetNextInvocations sets the NextInvocations field's value. 13608func (s *CreateSnapshotScheduleOutput) SetNextInvocations(v []*time.Time) *CreateSnapshotScheduleOutput { 13609 s.NextInvocations = v 13610 return s 13611} 13612 13613// SetScheduleDefinitions sets the ScheduleDefinitions field's value. 13614func (s *CreateSnapshotScheduleOutput) SetScheduleDefinitions(v []*string) *CreateSnapshotScheduleOutput { 13615 s.ScheduleDefinitions = v 13616 return s 13617} 13618 13619// SetScheduleDescription sets the ScheduleDescription field's value. 13620func (s *CreateSnapshotScheduleOutput) SetScheduleDescription(v string) *CreateSnapshotScheduleOutput { 13621 s.ScheduleDescription = &v 13622 return s 13623} 13624 13625// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 13626func (s *CreateSnapshotScheduleOutput) SetScheduleIdentifier(v string) *CreateSnapshotScheduleOutput { 13627 s.ScheduleIdentifier = &v 13628 return s 13629} 13630 13631// SetTags sets the Tags field's value. 13632func (s *CreateSnapshotScheduleOutput) SetTags(v []*Tag) *CreateSnapshotScheduleOutput { 13633 s.Tags = v 13634 return s 13635} 13636 13637// Contains the output from the CreateTags action. 13638type CreateTagsInput struct { 13639 _ struct{} `type:"structure"` 13640 13641 // The Amazon Resource Name (ARN) to which you want to add the tag or tags. 13642 // For example, arn:aws:redshift:us-east-2:123456789:cluster:t1. 13643 // 13644 // ResourceName is a required field 13645 ResourceName *string `type:"string" required:"true"` 13646 13647 // One or more name/value pairs to add as tags to the specified resource. Each 13648 // tag name is passed in with the parameter Key and the corresponding value 13649 // is passed in with the parameter Value. The Key and Value parameters are separated 13650 // by a comma (,). Separate multiple tags with a space. For example, --tags 13651 // "Key"="owner","Value"="admin" "Key"="environment","Value"="test" "Key"="version","Value"="1.0". 13652 // 13653 // Tags is a required field 13654 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 13655} 13656 13657// String returns the string representation 13658func (s CreateTagsInput) String() string { 13659 return awsutil.Prettify(s) 13660} 13661 13662// GoString returns the string representation 13663func (s CreateTagsInput) GoString() string { 13664 return s.String() 13665} 13666 13667// Validate inspects the fields of the type to determine if they are valid. 13668func (s *CreateTagsInput) Validate() error { 13669 invalidParams := request.ErrInvalidParams{Context: "CreateTagsInput"} 13670 if s.ResourceName == nil { 13671 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 13672 } 13673 if s.Tags == nil { 13674 invalidParams.Add(request.NewErrParamRequired("Tags")) 13675 } 13676 13677 if invalidParams.Len() > 0 { 13678 return invalidParams 13679 } 13680 return nil 13681} 13682 13683// SetResourceName sets the ResourceName field's value. 13684func (s *CreateTagsInput) SetResourceName(v string) *CreateTagsInput { 13685 s.ResourceName = &v 13686 return s 13687} 13688 13689// SetTags sets the Tags field's value. 13690func (s *CreateTagsInput) SetTags(v []*Tag) *CreateTagsInput { 13691 s.Tags = v 13692 return s 13693} 13694 13695type CreateTagsOutput struct { 13696 _ struct{} `type:"structure"` 13697} 13698 13699// String returns the string representation 13700func (s CreateTagsOutput) String() string { 13701 return awsutil.Prettify(s) 13702} 13703 13704// GoString returns the string representation 13705func (s CreateTagsOutput) GoString() string { 13706 return s.String() 13707} 13708 13709type CreateUsageLimitInput struct { 13710 _ struct{} `type:"structure"` 13711 13712 // The limit amount. If time-based, this amount is in minutes. If data-based, 13713 // this amount is in terabytes (TB). The value must be a positive number. 13714 // 13715 // Amount is a required field 13716 Amount *int64 `type:"long" required:"true"` 13717 13718 // The action that Amazon Redshift takes when the limit is reached. The default 13719 // is log. For more information about this parameter, see UsageLimit. 13720 BreachAction *string `type:"string" enum:"UsageLimitBreachAction"` 13721 13722 // The identifier of the cluster that you want to limit usage. 13723 // 13724 // ClusterIdentifier is a required field 13725 ClusterIdentifier *string `type:"string" required:"true"` 13726 13727 // The Amazon Redshift feature that you want to limit. 13728 // 13729 // FeatureType is a required field 13730 FeatureType *string `type:"string" required:"true" enum:"UsageLimitFeatureType"` 13731 13732 // The type of limit. Depending on the feature type, this can be based on a 13733 // time duration or data size. If FeatureType is spectrum, then LimitType must 13734 // be data-scanned. If FeatureType is concurrency-scaling, then LimitType must 13735 // be time. 13736 // 13737 // LimitType is a required field 13738 LimitType *string `type:"string" required:"true" enum:"UsageLimitLimitType"` 13739 13740 // The time period that the amount applies to. A weekly period begins on Sunday. 13741 // The default is monthly. 13742 Period *string `type:"string" enum:"UsageLimitPeriod"` 13743 13744 // A list of tag instances. 13745 Tags []*Tag `locationNameList:"Tag" type:"list"` 13746} 13747 13748// String returns the string representation 13749func (s CreateUsageLimitInput) String() string { 13750 return awsutil.Prettify(s) 13751} 13752 13753// GoString returns the string representation 13754func (s CreateUsageLimitInput) GoString() string { 13755 return s.String() 13756} 13757 13758// Validate inspects the fields of the type to determine if they are valid. 13759func (s *CreateUsageLimitInput) Validate() error { 13760 invalidParams := request.ErrInvalidParams{Context: "CreateUsageLimitInput"} 13761 if s.Amount == nil { 13762 invalidParams.Add(request.NewErrParamRequired("Amount")) 13763 } 13764 if s.ClusterIdentifier == nil { 13765 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 13766 } 13767 if s.FeatureType == nil { 13768 invalidParams.Add(request.NewErrParamRequired("FeatureType")) 13769 } 13770 if s.LimitType == nil { 13771 invalidParams.Add(request.NewErrParamRequired("LimitType")) 13772 } 13773 13774 if invalidParams.Len() > 0 { 13775 return invalidParams 13776 } 13777 return nil 13778} 13779 13780// SetAmount sets the Amount field's value. 13781func (s *CreateUsageLimitInput) SetAmount(v int64) *CreateUsageLimitInput { 13782 s.Amount = &v 13783 return s 13784} 13785 13786// SetBreachAction sets the BreachAction field's value. 13787func (s *CreateUsageLimitInput) SetBreachAction(v string) *CreateUsageLimitInput { 13788 s.BreachAction = &v 13789 return s 13790} 13791 13792// SetClusterIdentifier sets the ClusterIdentifier field's value. 13793func (s *CreateUsageLimitInput) SetClusterIdentifier(v string) *CreateUsageLimitInput { 13794 s.ClusterIdentifier = &v 13795 return s 13796} 13797 13798// SetFeatureType sets the FeatureType field's value. 13799func (s *CreateUsageLimitInput) SetFeatureType(v string) *CreateUsageLimitInput { 13800 s.FeatureType = &v 13801 return s 13802} 13803 13804// SetLimitType sets the LimitType field's value. 13805func (s *CreateUsageLimitInput) SetLimitType(v string) *CreateUsageLimitInput { 13806 s.LimitType = &v 13807 return s 13808} 13809 13810// SetPeriod sets the Period field's value. 13811func (s *CreateUsageLimitInput) SetPeriod(v string) *CreateUsageLimitInput { 13812 s.Period = &v 13813 return s 13814} 13815 13816// SetTags sets the Tags field's value. 13817func (s *CreateUsageLimitInput) SetTags(v []*Tag) *CreateUsageLimitInput { 13818 s.Tags = v 13819 return s 13820} 13821 13822// Describes a usage limit object for a cluster. 13823type CreateUsageLimitOutput struct { 13824 _ struct{} `type:"structure"` 13825 13826 // The limit amount. If time-based, this amount is in minutes. If data-based, 13827 // this amount is in terabytes (TB). 13828 Amount *int64 `type:"long"` 13829 13830 // The action that Amazon Redshift takes when the limit is reached. Possible 13831 // values are: 13832 // 13833 // * log - To log an event in a system table. The default is log. 13834 // 13835 // * emit-metric - To emit CloudWatch metrics. 13836 // 13837 // * disable - To disable the feature until the next usage period begins. 13838 BreachAction *string `type:"string" enum:"UsageLimitBreachAction"` 13839 13840 // The identifier of the cluster with a usage limit. 13841 ClusterIdentifier *string `type:"string"` 13842 13843 // The Amazon Redshift feature to which the limit applies. 13844 FeatureType *string `type:"string" enum:"UsageLimitFeatureType"` 13845 13846 // The type of limit. Depending on the feature type, this can be based on a 13847 // time duration or data size. 13848 LimitType *string `type:"string" enum:"UsageLimitLimitType"` 13849 13850 // The time period that the amount applies to. A weekly period begins on Sunday. 13851 // The default is monthly. 13852 Period *string `type:"string" enum:"UsageLimitPeriod"` 13853 13854 // A list of tag instances. 13855 Tags []*Tag `locationNameList:"Tag" type:"list"` 13856 13857 // The identifier of the usage limit. 13858 UsageLimitId *string `type:"string"` 13859} 13860 13861// String returns the string representation 13862func (s CreateUsageLimitOutput) String() string { 13863 return awsutil.Prettify(s) 13864} 13865 13866// GoString returns the string representation 13867func (s CreateUsageLimitOutput) GoString() string { 13868 return s.String() 13869} 13870 13871// SetAmount sets the Amount field's value. 13872func (s *CreateUsageLimitOutput) SetAmount(v int64) *CreateUsageLimitOutput { 13873 s.Amount = &v 13874 return s 13875} 13876 13877// SetBreachAction sets the BreachAction field's value. 13878func (s *CreateUsageLimitOutput) SetBreachAction(v string) *CreateUsageLimitOutput { 13879 s.BreachAction = &v 13880 return s 13881} 13882 13883// SetClusterIdentifier sets the ClusterIdentifier field's value. 13884func (s *CreateUsageLimitOutput) SetClusterIdentifier(v string) *CreateUsageLimitOutput { 13885 s.ClusterIdentifier = &v 13886 return s 13887} 13888 13889// SetFeatureType sets the FeatureType field's value. 13890func (s *CreateUsageLimitOutput) SetFeatureType(v string) *CreateUsageLimitOutput { 13891 s.FeatureType = &v 13892 return s 13893} 13894 13895// SetLimitType sets the LimitType field's value. 13896func (s *CreateUsageLimitOutput) SetLimitType(v string) *CreateUsageLimitOutput { 13897 s.LimitType = &v 13898 return s 13899} 13900 13901// SetPeriod sets the Period field's value. 13902func (s *CreateUsageLimitOutput) SetPeriod(v string) *CreateUsageLimitOutput { 13903 s.Period = &v 13904 return s 13905} 13906 13907// SetTags sets the Tags field's value. 13908func (s *CreateUsageLimitOutput) SetTags(v []*Tag) *CreateUsageLimitOutput { 13909 s.Tags = v 13910 return s 13911} 13912 13913// SetUsageLimitId sets the UsageLimitId field's value. 13914func (s *CreateUsageLimitOutput) SetUsageLimitId(v string) *CreateUsageLimitOutput { 13915 s.UsageLimitId = &v 13916 return s 13917} 13918 13919// Describes the status of a cluster while it is in the process of resizing 13920// with an incremental resize. 13921type DataTransferProgress struct { 13922 _ struct{} `type:"structure"` 13923 13924 // Describes the data transfer rate in MB's per second. 13925 CurrentRateInMegaBytesPerSecond *float64 `type:"double"` 13926 13927 // Describes the total amount of data that has been transfered in MB's. 13928 DataTransferredInMegaBytes *int64 `type:"long"` 13929 13930 // Describes the number of seconds that have elapsed during the data transfer. 13931 ElapsedTimeInSeconds *int64 `type:"long"` 13932 13933 // Describes the estimated number of seconds remaining to complete the transfer. 13934 EstimatedTimeToCompletionInSeconds *int64 `type:"long"` 13935 13936 // Describes the status of the cluster. While the transfer is in progress the 13937 // status is transferringdata. 13938 Status *string `type:"string"` 13939 13940 // Describes the total amount of data to be transfered in megabytes. 13941 TotalDataInMegaBytes *int64 `type:"long"` 13942} 13943 13944// String returns the string representation 13945func (s DataTransferProgress) String() string { 13946 return awsutil.Prettify(s) 13947} 13948 13949// GoString returns the string representation 13950func (s DataTransferProgress) GoString() string { 13951 return s.String() 13952} 13953 13954// SetCurrentRateInMegaBytesPerSecond sets the CurrentRateInMegaBytesPerSecond field's value. 13955func (s *DataTransferProgress) SetCurrentRateInMegaBytesPerSecond(v float64) *DataTransferProgress { 13956 s.CurrentRateInMegaBytesPerSecond = &v 13957 return s 13958} 13959 13960// SetDataTransferredInMegaBytes sets the DataTransferredInMegaBytes field's value. 13961func (s *DataTransferProgress) SetDataTransferredInMegaBytes(v int64) *DataTransferProgress { 13962 s.DataTransferredInMegaBytes = &v 13963 return s 13964} 13965 13966// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value. 13967func (s *DataTransferProgress) SetElapsedTimeInSeconds(v int64) *DataTransferProgress { 13968 s.ElapsedTimeInSeconds = &v 13969 return s 13970} 13971 13972// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value. 13973func (s *DataTransferProgress) SetEstimatedTimeToCompletionInSeconds(v int64) *DataTransferProgress { 13974 s.EstimatedTimeToCompletionInSeconds = &v 13975 return s 13976} 13977 13978// SetStatus sets the Status field's value. 13979func (s *DataTransferProgress) SetStatus(v string) *DataTransferProgress { 13980 s.Status = &v 13981 return s 13982} 13983 13984// SetTotalDataInMegaBytes sets the TotalDataInMegaBytes field's value. 13985func (s *DataTransferProgress) SetTotalDataInMegaBytes(v int64) *DataTransferProgress { 13986 s.TotalDataInMegaBytes = &v 13987 return s 13988} 13989 13990// Describes the default cluster parameters for a parameter group family. 13991type DefaultClusterParameters struct { 13992 _ struct{} `type:"structure"` 13993 13994 // A value that indicates the starting point for the next set of response records 13995 // in a subsequent request. If a value is returned in a response, you can retrieve 13996 // the next set of records by providing this returned marker value in the Marker 13997 // parameter and retrying the command. If the Marker field is empty, all response 13998 // records have been retrieved for the request. 13999 Marker *string `type:"string"` 14000 14001 // The name of the cluster parameter group family to which the engine default 14002 // parameters apply. 14003 ParameterGroupFamily *string `type:"string"` 14004 14005 // The list of cluster default parameters. 14006 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 14007} 14008 14009// String returns the string representation 14010func (s DefaultClusterParameters) String() string { 14011 return awsutil.Prettify(s) 14012} 14013 14014// GoString returns the string representation 14015func (s DefaultClusterParameters) GoString() string { 14016 return s.String() 14017} 14018 14019// SetMarker sets the Marker field's value. 14020func (s *DefaultClusterParameters) SetMarker(v string) *DefaultClusterParameters { 14021 s.Marker = &v 14022 return s 14023} 14024 14025// SetParameterGroupFamily sets the ParameterGroupFamily field's value. 14026func (s *DefaultClusterParameters) SetParameterGroupFamily(v string) *DefaultClusterParameters { 14027 s.ParameterGroupFamily = &v 14028 return s 14029} 14030 14031// SetParameters sets the Parameters field's value. 14032func (s *DefaultClusterParameters) SetParameters(v []*Parameter) *DefaultClusterParameters { 14033 s.Parameters = v 14034 return s 14035} 14036 14037// Describes a deferred maintenance window 14038type DeferredMaintenanceWindow struct { 14039 _ struct{} `type:"structure"` 14040 14041 // A timestamp for the end of the time period when we defer maintenance. 14042 DeferMaintenanceEndTime *time.Time `type:"timestamp"` 14043 14044 // A unique identifier for the maintenance window. 14045 DeferMaintenanceIdentifier *string `type:"string"` 14046 14047 // A timestamp for the beginning of the time period when we defer maintenance. 14048 DeferMaintenanceStartTime *time.Time `type:"timestamp"` 14049} 14050 14051// String returns the string representation 14052func (s DeferredMaintenanceWindow) String() string { 14053 return awsutil.Prettify(s) 14054} 14055 14056// GoString returns the string representation 14057func (s DeferredMaintenanceWindow) GoString() string { 14058 return s.String() 14059} 14060 14061// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value. 14062func (s *DeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v time.Time) *DeferredMaintenanceWindow { 14063 s.DeferMaintenanceEndTime = &v 14064 return s 14065} 14066 14067// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value. 14068func (s *DeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *DeferredMaintenanceWindow { 14069 s.DeferMaintenanceIdentifier = &v 14070 return s 14071} 14072 14073// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value. 14074func (s *DeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v time.Time) *DeferredMaintenanceWindow { 14075 s.DeferMaintenanceStartTime = &v 14076 return s 14077} 14078 14079type DeleteClusterInput struct { 14080 _ struct{} `type:"structure"` 14081 14082 // The identifier of the cluster to be deleted. 14083 // 14084 // Constraints: 14085 // 14086 // * Must contain lowercase characters. 14087 // 14088 // * Must contain from 1 to 63 alphanumeric characters or hyphens. 14089 // 14090 // * First character must be a letter. 14091 // 14092 // * Cannot end with a hyphen or contain two consecutive hyphens. 14093 // 14094 // ClusterIdentifier is a required field 14095 ClusterIdentifier *string `type:"string" required:"true"` 14096 14097 // The identifier of the final snapshot that is to be created immediately before 14098 // deleting the cluster. If this parameter is provided, SkipFinalClusterSnapshot 14099 // must be false. 14100 // 14101 // Constraints: 14102 // 14103 // * Must be 1 to 255 alphanumeric characters. 14104 // 14105 // * First character must be a letter. 14106 // 14107 // * Cannot end with a hyphen or contain two consecutive hyphens. 14108 FinalClusterSnapshotIdentifier *string `type:"string"` 14109 14110 // The number of days that a manual snapshot is retained. If the value is -1, 14111 // the manual snapshot is retained indefinitely. 14112 // 14113 // The value must be either -1 or an integer between 1 and 3,653. 14114 // 14115 // The default value is -1. 14116 FinalClusterSnapshotRetentionPeriod *int64 `type:"integer"` 14117 14118 // Determines whether a final snapshot of the cluster is created before Amazon 14119 // Redshift deletes the cluster. If true, a final cluster snapshot is not created. 14120 // If false, a final cluster snapshot is created before the cluster is deleted. 14121 // 14122 // The FinalClusterSnapshotIdentifier parameter must be specified if SkipFinalClusterSnapshot 14123 // is false. 14124 // 14125 // Default: false 14126 SkipFinalClusterSnapshot *bool `type:"boolean"` 14127} 14128 14129// String returns the string representation 14130func (s DeleteClusterInput) String() string { 14131 return awsutil.Prettify(s) 14132} 14133 14134// GoString returns the string representation 14135func (s DeleteClusterInput) GoString() string { 14136 return s.String() 14137} 14138 14139// Validate inspects the fields of the type to determine if they are valid. 14140func (s *DeleteClusterInput) Validate() error { 14141 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} 14142 if s.ClusterIdentifier == nil { 14143 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 14144 } 14145 14146 if invalidParams.Len() > 0 { 14147 return invalidParams 14148 } 14149 return nil 14150} 14151 14152// SetClusterIdentifier sets the ClusterIdentifier field's value. 14153func (s *DeleteClusterInput) SetClusterIdentifier(v string) *DeleteClusterInput { 14154 s.ClusterIdentifier = &v 14155 return s 14156} 14157 14158// SetFinalClusterSnapshotIdentifier sets the FinalClusterSnapshotIdentifier field's value. 14159func (s *DeleteClusterInput) SetFinalClusterSnapshotIdentifier(v string) *DeleteClusterInput { 14160 s.FinalClusterSnapshotIdentifier = &v 14161 return s 14162} 14163 14164// SetFinalClusterSnapshotRetentionPeriod sets the FinalClusterSnapshotRetentionPeriod field's value. 14165func (s *DeleteClusterInput) SetFinalClusterSnapshotRetentionPeriod(v int64) *DeleteClusterInput { 14166 s.FinalClusterSnapshotRetentionPeriod = &v 14167 return s 14168} 14169 14170// SetSkipFinalClusterSnapshot sets the SkipFinalClusterSnapshot field's value. 14171func (s *DeleteClusterInput) SetSkipFinalClusterSnapshot(v bool) *DeleteClusterInput { 14172 s.SkipFinalClusterSnapshot = &v 14173 return s 14174} 14175 14176type DeleteClusterOutput struct { 14177 _ struct{} `type:"structure"` 14178 14179 // Describes a cluster. 14180 Cluster *Cluster `type:"structure"` 14181} 14182 14183// String returns the string representation 14184func (s DeleteClusterOutput) String() string { 14185 return awsutil.Prettify(s) 14186} 14187 14188// GoString returns the string representation 14189func (s DeleteClusterOutput) GoString() string { 14190 return s.String() 14191} 14192 14193// SetCluster sets the Cluster field's value. 14194func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { 14195 s.Cluster = v 14196 return s 14197} 14198 14199type DeleteClusterParameterGroupInput struct { 14200 _ struct{} `type:"structure"` 14201 14202 // The name of the parameter group to be deleted. 14203 // 14204 // Constraints: 14205 // 14206 // * Must be the name of an existing cluster parameter group. 14207 // 14208 // * Cannot delete a default cluster parameter group. 14209 // 14210 // ParameterGroupName is a required field 14211 ParameterGroupName *string `type:"string" required:"true"` 14212} 14213 14214// String returns the string representation 14215func (s DeleteClusterParameterGroupInput) String() string { 14216 return awsutil.Prettify(s) 14217} 14218 14219// GoString returns the string representation 14220func (s DeleteClusterParameterGroupInput) GoString() string { 14221 return s.String() 14222} 14223 14224// Validate inspects the fields of the type to determine if they are valid. 14225func (s *DeleteClusterParameterGroupInput) Validate() error { 14226 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterParameterGroupInput"} 14227 if s.ParameterGroupName == nil { 14228 invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) 14229 } 14230 14231 if invalidParams.Len() > 0 { 14232 return invalidParams 14233 } 14234 return nil 14235} 14236 14237// SetParameterGroupName sets the ParameterGroupName field's value. 14238func (s *DeleteClusterParameterGroupInput) SetParameterGroupName(v string) *DeleteClusterParameterGroupInput { 14239 s.ParameterGroupName = &v 14240 return s 14241} 14242 14243type DeleteClusterParameterGroupOutput struct { 14244 _ struct{} `type:"structure"` 14245} 14246 14247// String returns the string representation 14248func (s DeleteClusterParameterGroupOutput) String() string { 14249 return awsutil.Prettify(s) 14250} 14251 14252// GoString returns the string representation 14253func (s DeleteClusterParameterGroupOutput) GoString() string { 14254 return s.String() 14255} 14256 14257type DeleteClusterSecurityGroupInput struct { 14258 _ struct{} `type:"structure"` 14259 14260 // The name of the cluster security group to be deleted. 14261 // 14262 // ClusterSecurityGroupName is a required field 14263 ClusterSecurityGroupName *string `type:"string" required:"true"` 14264} 14265 14266// String returns the string representation 14267func (s DeleteClusterSecurityGroupInput) String() string { 14268 return awsutil.Prettify(s) 14269} 14270 14271// GoString returns the string representation 14272func (s DeleteClusterSecurityGroupInput) GoString() string { 14273 return s.String() 14274} 14275 14276// Validate inspects the fields of the type to determine if they are valid. 14277func (s *DeleteClusterSecurityGroupInput) Validate() error { 14278 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSecurityGroupInput"} 14279 if s.ClusterSecurityGroupName == nil { 14280 invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName")) 14281 } 14282 14283 if invalidParams.Len() > 0 { 14284 return invalidParams 14285 } 14286 return nil 14287} 14288 14289// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 14290func (s *DeleteClusterSecurityGroupInput) SetClusterSecurityGroupName(v string) *DeleteClusterSecurityGroupInput { 14291 s.ClusterSecurityGroupName = &v 14292 return s 14293} 14294 14295type DeleteClusterSecurityGroupOutput struct { 14296 _ struct{} `type:"structure"` 14297} 14298 14299// String returns the string representation 14300func (s DeleteClusterSecurityGroupOutput) String() string { 14301 return awsutil.Prettify(s) 14302} 14303 14304// GoString returns the string representation 14305func (s DeleteClusterSecurityGroupOutput) GoString() string { 14306 return s.String() 14307} 14308 14309type DeleteClusterSnapshotInput struct { 14310 _ struct{} `type:"structure"` 14311 14312 // The unique identifier of the cluster the snapshot was created from. This 14313 // parameter is required if your IAM user has a policy containing a snapshot 14314 // resource element that specifies anything other than * for the cluster name. 14315 // 14316 // Constraints: Must be the name of valid cluster. 14317 SnapshotClusterIdentifier *string `type:"string"` 14318 14319 // The unique identifier of the manual snapshot to be deleted. 14320 // 14321 // Constraints: Must be the name of an existing snapshot that is in the available, 14322 // failed, or cancelled state. 14323 // 14324 // SnapshotIdentifier is a required field 14325 SnapshotIdentifier *string `type:"string" required:"true"` 14326} 14327 14328// String returns the string representation 14329func (s DeleteClusterSnapshotInput) String() string { 14330 return awsutil.Prettify(s) 14331} 14332 14333// GoString returns the string representation 14334func (s DeleteClusterSnapshotInput) GoString() string { 14335 return s.String() 14336} 14337 14338// Validate inspects the fields of the type to determine if they are valid. 14339func (s *DeleteClusterSnapshotInput) Validate() error { 14340 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSnapshotInput"} 14341 if s.SnapshotIdentifier == nil { 14342 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 14343 } 14344 14345 if invalidParams.Len() > 0 { 14346 return invalidParams 14347 } 14348 return nil 14349} 14350 14351// SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value. 14352func (s *DeleteClusterSnapshotInput) SetSnapshotClusterIdentifier(v string) *DeleteClusterSnapshotInput { 14353 s.SnapshotClusterIdentifier = &v 14354 return s 14355} 14356 14357// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 14358func (s *DeleteClusterSnapshotInput) SetSnapshotIdentifier(v string) *DeleteClusterSnapshotInput { 14359 s.SnapshotIdentifier = &v 14360 return s 14361} 14362 14363type DeleteClusterSnapshotMessage struct { 14364 _ struct{} `type:"structure"` 14365 14366 // The unique identifier of the cluster the snapshot was created from. This 14367 // parameter is required if your IAM user has a policy containing a snapshot 14368 // resource element that specifies anything other than * for the cluster name. 14369 // 14370 // Constraints: Must be the name of valid cluster. 14371 SnapshotClusterIdentifier *string `type:"string"` 14372 14373 // The unique identifier of the manual snapshot to be deleted. 14374 // 14375 // Constraints: Must be the name of an existing snapshot that is in the available, 14376 // failed, or cancelled state. 14377 // 14378 // SnapshotIdentifier is a required field 14379 SnapshotIdentifier *string `type:"string" required:"true"` 14380} 14381 14382// String returns the string representation 14383func (s DeleteClusterSnapshotMessage) String() string { 14384 return awsutil.Prettify(s) 14385} 14386 14387// GoString returns the string representation 14388func (s DeleteClusterSnapshotMessage) GoString() string { 14389 return s.String() 14390} 14391 14392// Validate inspects the fields of the type to determine if they are valid. 14393func (s *DeleteClusterSnapshotMessage) Validate() error { 14394 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSnapshotMessage"} 14395 if s.SnapshotIdentifier == nil { 14396 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 14397 } 14398 14399 if invalidParams.Len() > 0 { 14400 return invalidParams 14401 } 14402 return nil 14403} 14404 14405// SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value. 14406func (s *DeleteClusterSnapshotMessage) SetSnapshotClusterIdentifier(v string) *DeleteClusterSnapshotMessage { 14407 s.SnapshotClusterIdentifier = &v 14408 return s 14409} 14410 14411// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 14412func (s *DeleteClusterSnapshotMessage) SetSnapshotIdentifier(v string) *DeleteClusterSnapshotMessage { 14413 s.SnapshotIdentifier = &v 14414 return s 14415} 14416 14417type DeleteClusterSnapshotOutput struct { 14418 _ struct{} `type:"structure"` 14419 14420 // Describes a snapshot. 14421 Snapshot *Snapshot `type:"structure"` 14422} 14423 14424// String returns the string representation 14425func (s DeleteClusterSnapshotOutput) String() string { 14426 return awsutil.Prettify(s) 14427} 14428 14429// GoString returns the string representation 14430func (s DeleteClusterSnapshotOutput) GoString() string { 14431 return s.String() 14432} 14433 14434// SetSnapshot sets the Snapshot field's value. 14435func (s *DeleteClusterSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteClusterSnapshotOutput { 14436 s.Snapshot = v 14437 return s 14438} 14439 14440type DeleteClusterSubnetGroupInput struct { 14441 _ struct{} `type:"structure"` 14442 14443 // The name of the cluster subnet group name to be deleted. 14444 // 14445 // ClusterSubnetGroupName is a required field 14446 ClusterSubnetGroupName *string `type:"string" required:"true"` 14447} 14448 14449// String returns the string representation 14450func (s DeleteClusterSubnetGroupInput) String() string { 14451 return awsutil.Prettify(s) 14452} 14453 14454// GoString returns the string representation 14455func (s DeleteClusterSubnetGroupInput) GoString() string { 14456 return s.String() 14457} 14458 14459// Validate inspects the fields of the type to determine if they are valid. 14460func (s *DeleteClusterSubnetGroupInput) Validate() error { 14461 invalidParams := request.ErrInvalidParams{Context: "DeleteClusterSubnetGroupInput"} 14462 if s.ClusterSubnetGroupName == nil { 14463 invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName")) 14464 } 14465 14466 if invalidParams.Len() > 0 { 14467 return invalidParams 14468 } 14469 return nil 14470} 14471 14472// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 14473func (s *DeleteClusterSubnetGroupInput) SetClusterSubnetGroupName(v string) *DeleteClusterSubnetGroupInput { 14474 s.ClusterSubnetGroupName = &v 14475 return s 14476} 14477 14478type DeleteClusterSubnetGroupOutput struct { 14479 _ struct{} `type:"structure"` 14480} 14481 14482// String returns the string representation 14483func (s DeleteClusterSubnetGroupOutput) String() string { 14484 return awsutil.Prettify(s) 14485} 14486 14487// GoString returns the string representation 14488func (s DeleteClusterSubnetGroupOutput) GoString() string { 14489 return s.String() 14490} 14491 14492type DeleteEventSubscriptionInput struct { 14493 _ struct{} `type:"structure"` 14494 14495 // The name of the Amazon Redshift event notification subscription to be deleted. 14496 // 14497 // SubscriptionName is a required field 14498 SubscriptionName *string `type:"string" required:"true"` 14499} 14500 14501// String returns the string representation 14502func (s DeleteEventSubscriptionInput) String() string { 14503 return awsutil.Prettify(s) 14504} 14505 14506// GoString returns the string representation 14507func (s DeleteEventSubscriptionInput) GoString() string { 14508 return s.String() 14509} 14510 14511// Validate inspects the fields of the type to determine if they are valid. 14512func (s *DeleteEventSubscriptionInput) Validate() error { 14513 invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"} 14514 if s.SubscriptionName == nil { 14515 invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) 14516 } 14517 14518 if invalidParams.Len() > 0 { 14519 return invalidParams 14520 } 14521 return nil 14522} 14523 14524// SetSubscriptionName sets the SubscriptionName field's value. 14525func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput { 14526 s.SubscriptionName = &v 14527 return s 14528} 14529 14530type DeleteEventSubscriptionOutput struct { 14531 _ struct{} `type:"structure"` 14532} 14533 14534// String returns the string representation 14535func (s DeleteEventSubscriptionOutput) String() string { 14536 return awsutil.Prettify(s) 14537} 14538 14539// GoString returns the string representation 14540func (s DeleteEventSubscriptionOutput) GoString() string { 14541 return s.String() 14542} 14543 14544type DeleteHsmClientCertificateInput struct { 14545 _ struct{} `type:"structure"` 14546 14547 // The identifier of the HSM client certificate to be deleted. 14548 // 14549 // HsmClientCertificateIdentifier is a required field 14550 HsmClientCertificateIdentifier *string `type:"string" required:"true"` 14551} 14552 14553// String returns the string representation 14554func (s DeleteHsmClientCertificateInput) String() string { 14555 return awsutil.Prettify(s) 14556} 14557 14558// GoString returns the string representation 14559func (s DeleteHsmClientCertificateInput) GoString() string { 14560 return s.String() 14561} 14562 14563// Validate inspects the fields of the type to determine if they are valid. 14564func (s *DeleteHsmClientCertificateInput) Validate() error { 14565 invalidParams := request.ErrInvalidParams{Context: "DeleteHsmClientCertificateInput"} 14566 if s.HsmClientCertificateIdentifier == nil { 14567 invalidParams.Add(request.NewErrParamRequired("HsmClientCertificateIdentifier")) 14568 } 14569 14570 if invalidParams.Len() > 0 { 14571 return invalidParams 14572 } 14573 return nil 14574} 14575 14576// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 14577func (s *DeleteHsmClientCertificateInput) SetHsmClientCertificateIdentifier(v string) *DeleteHsmClientCertificateInput { 14578 s.HsmClientCertificateIdentifier = &v 14579 return s 14580} 14581 14582type DeleteHsmClientCertificateOutput struct { 14583 _ struct{} `type:"structure"` 14584} 14585 14586// String returns the string representation 14587func (s DeleteHsmClientCertificateOutput) String() string { 14588 return awsutil.Prettify(s) 14589} 14590 14591// GoString returns the string representation 14592func (s DeleteHsmClientCertificateOutput) GoString() string { 14593 return s.String() 14594} 14595 14596type DeleteHsmConfigurationInput struct { 14597 _ struct{} `type:"structure"` 14598 14599 // The identifier of the Amazon Redshift HSM configuration to be deleted. 14600 // 14601 // HsmConfigurationIdentifier is a required field 14602 HsmConfigurationIdentifier *string `type:"string" required:"true"` 14603} 14604 14605// String returns the string representation 14606func (s DeleteHsmConfigurationInput) String() string { 14607 return awsutil.Prettify(s) 14608} 14609 14610// GoString returns the string representation 14611func (s DeleteHsmConfigurationInput) GoString() string { 14612 return s.String() 14613} 14614 14615// Validate inspects the fields of the type to determine if they are valid. 14616func (s *DeleteHsmConfigurationInput) Validate() error { 14617 invalidParams := request.ErrInvalidParams{Context: "DeleteHsmConfigurationInput"} 14618 if s.HsmConfigurationIdentifier == nil { 14619 invalidParams.Add(request.NewErrParamRequired("HsmConfigurationIdentifier")) 14620 } 14621 14622 if invalidParams.Len() > 0 { 14623 return invalidParams 14624 } 14625 return nil 14626} 14627 14628// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 14629func (s *DeleteHsmConfigurationInput) SetHsmConfigurationIdentifier(v string) *DeleteHsmConfigurationInput { 14630 s.HsmConfigurationIdentifier = &v 14631 return s 14632} 14633 14634type DeleteHsmConfigurationOutput struct { 14635 _ struct{} `type:"structure"` 14636} 14637 14638// String returns the string representation 14639func (s DeleteHsmConfigurationOutput) String() string { 14640 return awsutil.Prettify(s) 14641} 14642 14643// GoString returns the string representation 14644func (s DeleteHsmConfigurationOutput) GoString() string { 14645 return s.String() 14646} 14647 14648type DeleteScheduledActionInput struct { 14649 _ struct{} `type:"structure"` 14650 14651 // The name of the scheduled action to delete. 14652 // 14653 // ScheduledActionName is a required field 14654 ScheduledActionName *string `type:"string" required:"true"` 14655} 14656 14657// String returns the string representation 14658func (s DeleteScheduledActionInput) String() string { 14659 return awsutil.Prettify(s) 14660} 14661 14662// GoString returns the string representation 14663func (s DeleteScheduledActionInput) GoString() string { 14664 return s.String() 14665} 14666 14667// Validate inspects the fields of the type to determine if they are valid. 14668func (s *DeleteScheduledActionInput) Validate() error { 14669 invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} 14670 if s.ScheduledActionName == nil { 14671 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 14672 } 14673 14674 if invalidParams.Len() > 0 { 14675 return invalidParams 14676 } 14677 return nil 14678} 14679 14680// SetScheduledActionName sets the ScheduledActionName field's value. 14681func (s *DeleteScheduledActionInput) SetScheduledActionName(v string) *DeleteScheduledActionInput { 14682 s.ScheduledActionName = &v 14683 return s 14684} 14685 14686type DeleteScheduledActionOutput struct { 14687 _ struct{} `type:"structure"` 14688} 14689 14690// String returns the string representation 14691func (s DeleteScheduledActionOutput) String() string { 14692 return awsutil.Prettify(s) 14693} 14694 14695// GoString returns the string representation 14696func (s DeleteScheduledActionOutput) GoString() string { 14697 return s.String() 14698} 14699 14700// The result of the DeleteSnapshotCopyGrant action. 14701type DeleteSnapshotCopyGrantInput struct { 14702 _ struct{} `type:"structure"` 14703 14704 // The name of the snapshot copy grant to delete. 14705 // 14706 // SnapshotCopyGrantName is a required field 14707 SnapshotCopyGrantName *string `type:"string" required:"true"` 14708} 14709 14710// String returns the string representation 14711func (s DeleteSnapshotCopyGrantInput) String() string { 14712 return awsutil.Prettify(s) 14713} 14714 14715// GoString returns the string representation 14716func (s DeleteSnapshotCopyGrantInput) GoString() string { 14717 return s.String() 14718} 14719 14720// Validate inspects the fields of the type to determine if they are valid. 14721func (s *DeleteSnapshotCopyGrantInput) Validate() error { 14722 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotCopyGrantInput"} 14723 if s.SnapshotCopyGrantName == nil { 14724 invalidParams.Add(request.NewErrParamRequired("SnapshotCopyGrantName")) 14725 } 14726 14727 if invalidParams.Len() > 0 { 14728 return invalidParams 14729 } 14730 return nil 14731} 14732 14733// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value. 14734func (s *DeleteSnapshotCopyGrantInput) SetSnapshotCopyGrantName(v string) *DeleteSnapshotCopyGrantInput { 14735 s.SnapshotCopyGrantName = &v 14736 return s 14737} 14738 14739type DeleteSnapshotCopyGrantOutput struct { 14740 _ struct{} `type:"structure"` 14741} 14742 14743// String returns the string representation 14744func (s DeleteSnapshotCopyGrantOutput) String() string { 14745 return awsutil.Prettify(s) 14746} 14747 14748// GoString returns the string representation 14749func (s DeleteSnapshotCopyGrantOutput) GoString() string { 14750 return s.String() 14751} 14752 14753type DeleteSnapshotScheduleInput struct { 14754 _ struct{} `type:"structure"` 14755 14756 // A unique identifier of the snapshot schedule to delete. 14757 // 14758 // ScheduleIdentifier is a required field 14759 ScheduleIdentifier *string `type:"string" required:"true"` 14760} 14761 14762// String returns the string representation 14763func (s DeleteSnapshotScheduleInput) String() string { 14764 return awsutil.Prettify(s) 14765} 14766 14767// GoString returns the string representation 14768func (s DeleteSnapshotScheduleInput) GoString() string { 14769 return s.String() 14770} 14771 14772// Validate inspects the fields of the type to determine if they are valid. 14773func (s *DeleteSnapshotScheduleInput) Validate() error { 14774 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotScheduleInput"} 14775 if s.ScheduleIdentifier == nil { 14776 invalidParams.Add(request.NewErrParamRequired("ScheduleIdentifier")) 14777 } 14778 14779 if invalidParams.Len() > 0 { 14780 return invalidParams 14781 } 14782 return nil 14783} 14784 14785// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 14786func (s *DeleteSnapshotScheduleInput) SetScheduleIdentifier(v string) *DeleteSnapshotScheduleInput { 14787 s.ScheduleIdentifier = &v 14788 return s 14789} 14790 14791type DeleteSnapshotScheduleOutput struct { 14792 _ struct{} `type:"structure"` 14793} 14794 14795// String returns the string representation 14796func (s DeleteSnapshotScheduleOutput) String() string { 14797 return awsutil.Prettify(s) 14798} 14799 14800// GoString returns the string representation 14801func (s DeleteSnapshotScheduleOutput) GoString() string { 14802 return s.String() 14803} 14804 14805// Contains the output from the DeleteTags action. 14806type DeleteTagsInput struct { 14807 _ struct{} `type:"structure"` 14808 14809 // The Amazon Resource Name (ARN) from which you want to remove the tag or tags. 14810 // For example, arn:aws:redshift:us-east-2:123456789:cluster:t1. 14811 // 14812 // ResourceName is a required field 14813 ResourceName *string `type:"string" required:"true"` 14814 14815 // The tag key that you want to delete. 14816 // 14817 // TagKeys is a required field 14818 TagKeys []*string `locationNameList:"TagKey" type:"list" required:"true"` 14819} 14820 14821// String returns the string representation 14822func (s DeleteTagsInput) String() string { 14823 return awsutil.Prettify(s) 14824} 14825 14826// GoString returns the string representation 14827func (s DeleteTagsInput) GoString() string { 14828 return s.String() 14829} 14830 14831// Validate inspects the fields of the type to determine if they are valid. 14832func (s *DeleteTagsInput) Validate() error { 14833 invalidParams := request.ErrInvalidParams{Context: "DeleteTagsInput"} 14834 if s.ResourceName == nil { 14835 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 14836 } 14837 if s.TagKeys == nil { 14838 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 14839 } 14840 14841 if invalidParams.Len() > 0 { 14842 return invalidParams 14843 } 14844 return nil 14845} 14846 14847// SetResourceName sets the ResourceName field's value. 14848func (s *DeleteTagsInput) SetResourceName(v string) *DeleteTagsInput { 14849 s.ResourceName = &v 14850 return s 14851} 14852 14853// SetTagKeys sets the TagKeys field's value. 14854func (s *DeleteTagsInput) SetTagKeys(v []*string) *DeleteTagsInput { 14855 s.TagKeys = v 14856 return s 14857} 14858 14859type DeleteTagsOutput struct { 14860 _ struct{} `type:"structure"` 14861} 14862 14863// String returns the string representation 14864func (s DeleteTagsOutput) String() string { 14865 return awsutil.Prettify(s) 14866} 14867 14868// GoString returns the string representation 14869func (s DeleteTagsOutput) GoString() string { 14870 return s.String() 14871} 14872 14873type DeleteUsageLimitInput struct { 14874 _ struct{} `type:"structure"` 14875 14876 // The identifier of the usage limit to delete. 14877 // 14878 // UsageLimitId is a required field 14879 UsageLimitId *string `type:"string" required:"true"` 14880} 14881 14882// String returns the string representation 14883func (s DeleteUsageLimitInput) String() string { 14884 return awsutil.Prettify(s) 14885} 14886 14887// GoString returns the string representation 14888func (s DeleteUsageLimitInput) GoString() string { 14889 return s.String() 14890} 14891 14892// Validate inspects the fields of the type to determine if they are valid. 14893func (s *DeleteUsageLimitInput) Validate() error { 14894 invalidParams := request.ErrInvalidParams{Context: "DeleteUsageLimitInput"} 14895 if s.UsageLimitId == nil { 14896 invalidParams.Add(request.NewErrParamRequired("UsageLimitId")) 14897 } 14898 14899 if invalidParams.Len() > 0 { 14900 return invalidParams 14901 } 14902 return nil 14903} 14904 14905// SetUsageLimitId sets the UsageLimitId field's value. 14906func (s *DeleteUsageLimitInput) SetUsageLimitId(v string) *DeleteUsageLimitInput { 14907 s.UsageLimitId = &v 14908 return s 14909} 14910 14911type DeleteUsageLimitOutput struct { 14912 _ struct{} `type:"structure"` 14913} 14914 14915// String returns the string representation 14916func (s DeleteUsageLimitOutput) String() string { 14917 return awsutil.Prettify(s) 14918} 14919 14920// GoString returns the string representation 14921func (s DeleteUsageLimitOutput) GoString() string { 14922 return s.String() 14923} 14924 14925type DescribeAccountAttributesInput struct { 14926 _ struct{} `type:"structure"` 14927 14928 // A list of attribute names. 14929 AttributeNames []*string `locationNameList:"AttributeName" type:"list"` 14930} 14931 14932// String returns the string representation 14933func (s DescribeAccountAttributesInput) String() string { 14934 return awsutil.Prettify(s) 14935} 14936 14937// GoString returns the string representation 14938func (s DescribeAccountAttributesInput) GoString() string { 14939 return s.String() 14940} 14941 14942// SetAttributeNames sets the AttributeNames field's value. 14943func (s *DescribeAccountAttributesInput) SetAttributeNames(v []*string) *DescribeAccountAttributesInput { 14944 s.AttributeNames = v 14945 return s 14946} 14947 14948type DescribeAccountAttributesOutput struct { 14949 _ struct{} `type:"structure"` 14950 14951 // A list of attributes assigned to an account. 14952 AccountAttributes []*AccountAttribute `locationNameList:"AccountAttribute" type:"list"` 14953} 14954 14955// String returns the string representation 14956func (s DescribeAccountAttributesOutput) String() string { 14957 return awsutil.Prettify(s) 14958} 14959 14960// GoString returns the string representation 14961func (s DescribeAccountAttributesOutput) GoString() string { 14962 return s.String() 14963} 14964 14965// SetAccountAttributes sets the AccountAttributes field's value. 14966func (s *DescribeAccountAttributesOutput) SetAccountAttributes(v []*AccountAttribute) *DescribeAccountAttributesOutput { 14967 s.AccountAttributes = v 14968 return s 14969} 14970 14971type DescribeClusterDbRevisionsInput struct { 14972 _ struct{} `type:"structure"` 14973 14974 // A unique identifier for a cluster whose ClusterDbRevisions you are requesting. 14975 // This parameter is case sensitive. All clusters defined for an account are 14976 // returned by default. 14977 ClusterIdentifier *string `type:"string"` 14978 14979 // An optional parameter that specifies the starting point for returning a set 14980 // of response records. When the results of a DescribeClusterDbRevisions request 14981 // exceed the value specified in MaxRecords, Amazon Redshift returns a value 14982 // in the marker field of the response. You can retrieve the next set of response 14983 // records by providing the returned marker value in the marker parameter and 14984 // retrying the request. 14985 // 14986 // Constraints: You can specify either the ClusterIdentifier parameter, or the 14987 // marker parameter, but not both. 14988 Marker *string `type:"string"` 14989 14990 // The maximum number of response records to return in each call. If the number 14991 // of remaining response records exceeds the specified MaxRecords value, a value 14992 // is returned in the marker field of the response. You can retrieve the next 14993 // set of response records by providing the returned marker value in the marker 14994 // parameter and retrying the request. 14995 // 14996 // Default: 100 14997 // 14998 // Constraints: minimum 20, maximum 100. 14999 MaxRecords *int64 `type:"integer"` 15000} 15001 15002// String returns the string representation 15003func (s DescribeClusterDbRevisionsInput) String() string { 15004 return awsutil.Prettify(s) 15005} 15006 15007// GoString returns the string representation 15008func (s DescribeClusterDbRevisionsInput) GoString() string { 15009 return s.String() 15010} 15011 15012// SetClusterIdentifier sets the ClusterIdentifier field's value. 15013func (s *DescribeClusterDbRevisionsInput) SetClusterIdentifier(v string) *DescribeClusterDbRevisionsInput { 15014 s.ClusterIdentifier = &v 15015 return s 15016} 15017 15018// SetMarker sets the Marker field's value. 15019func (s *DescribeClusterDbRevisionsInput) SetMarker(v string) *DescribeClusterDbRevisionsInput { 15020 s.Marker = &v 15021 return s 15022} 15023 15024// SetMaxRecords sets the MaxRecords field's value. 15025func (s *DescribeClusterDbRevisionsInput) SetMaxRecords(v int64) *DescribeClusterDbRevisionsInput { 15026 s.MaxRecords = &v 15027 return s 15028} 15029 15030type DescribeClusterDbRevisionsOutput struct { 15031 _ struct{} `type:"structure"` 15032 15033 // A list of revisions. 15034 ClusterDbRevisions []*ClusterDbRevision `locationNameList:"ClusterDbRevision" type:"list"` 15035 15036 // A string representing the starting point for the next set of revisions. If 15037 // a value is returned in a response, you can retrieve the next set of revisions 15038 // by providing the value in the marker parameter and retrying the command. 15039 // If the marker field is empty, all revisions have already been returned. 15040 Marker *string `type:"string"` 15041} 15042 15043// String returns the string representation 15044func (s DescribeClusterDbRevisionsOutput) String() string { 15045 return awsutil.Prettify(s) 15046} 15047 15048// GoString returns the string representation 15049func (s DescribeClusterDbRevisionsOutput) GoString() string { 15050 return s.String() 15051} 15052 15053// SetClusterDbRevisions sets the ClusterDbRevisions field's value. 15054func (s *DescribeClusterDbRevisionsOutput) SetClusterDbRevisions(v []*ClusterDbRevision) *DescribeClusterDbRevisionsOutput { 15055 s.ClusterDbRevisions = v 15056 return s 15057} 15058 15059// SetMarker sets the Marker field's value. 15060func (s *DescribeClusterDbRevisionsOutput) SetMarker(v string) *DescribeClusterDbRevisionsOutput { 15061 s.Marker = &v 15062 return s 15063} 15064 15065type DescribeClusterParameterGroupsInput struct { 15066 _ struct{} `type:"structure"` 15067 15068 // An optional parameter that specifies the starting point to return a set of 15069 // response records. When the results of a DescribeClusterParameterGroups request 15070 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 15071 // field of the response. You can retrieve the next set of response records 15072 // by providing the returned marker value in the Marker parameter and retrying 15073 // the request. 15074 Marker *string `type:"string"` 15075 15076 // The maximum number of response records to return in each call. If the number 15077 // of remaining response records exceeds the specified MaxRecords value, a value 15078 // is returned in a marker field of the response. You can retrieve the next 15079 // set of records by retrying the command with the returned marker value. 15080 // 15081 // Default: 100 15082 // 15083 // Constraints: minimum 20, maximum 100. 15084 MaxRecords *int64 `type:"integer"` 15085 15086 // The name of a specific parameter group for which to return details. By default, 15087 // details about all parameter groups and the default parameter group are returned. 15088 ParameterGroupName *string `type:"string"` 15089 15090 // A tag key or keys for which you want to return all matching cluster parameter 15091 // groups that are associated with the specified key or keys. For example, suppose 15092 // that you have parameter groups that are tagged with keys called owner and 15093 // environment. If you specify both of these tag keys in the request, Amazon 15094 // Redshift returns a response with the parameter groups that have either or 15095 // both of these tag keys associated with them. 15096 TagKeys []*string `locationNameList:"TagKey" type:"list"` 15097 15098 // A tag value or values for which you want to return all matching cluster parameter 15099 // groups that are associated with the specified tag value or values. For example, 15100 // suppose that you have parameter groups that are tagged with values called 15101 // admin and test. If you specify both of these tag values in the request, Amazon 15102 // Redshift returns a response with the parameter groups that have either or 15103 // both of these tag values associated with them. 15104 TagValues []*string `locationNameList:"TagValue" type:"list"` 15105} 15106 15107// String returns the string representation 15108func (s DescribeClusterParameterGroupsInput) String() string { 15109 return awsutil.Prettify(s) 15110} 15111 15112// GoString returns the string representation 15113func (s DescribeClusterParameterGroupsInput) GoString() string { 15114 return s.String() 15115} 15116 15117// SetMarker sets the Marker field's value. 15118func (s *DescribeClusterParameterGroupsInput) SetMarker(v string) *DescribeClusterParameterGroupsInput { 15119 s.Marker = &v 15120 return s 15121} 15122 15123// SetMaxRecords sets the MaxRecords field's value. 15124func (s *DescribeClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeClusterParameterGroupsInput { 15125 s.MaxRecords = &v 15126 return s 15127} 15128 15129// SetParameterGroupName sets the ParameterGroupName field's value. 15130func (s *DescribeClusterParameterGroupsInput) SetParameterGroupName(v string) *DescribeClusterParameterGroupsInput { 15131 s.ParameterGroupName = &v 15132 return s 15133} 15134 15135// SetTagKeys sets the TagKeys field's value. 15136func (s *DescribeClusterParameterGroupsInput) SetTagKeys(v []*string) *DescribeClusterParameterGroupsInput { 15137 s.TagKeys = v 15138 return s 15139} 15140 15141// SetTagValues sets the TagValues field's value. 15142func (s *DescribeClusterParameterGroupsInput) SetTagValues(v []*string) *DescribeClusterParameterGroupsInput { 15143 s.TagValues = v 15144 return s 15145} 15146 15147// Contains the output from the DescribeClusterParameterGroups action. 15148type DescribeClusterParameterGroupsOutput struct { 15149 _ struct{} `type:"structure"` 15150 15151 // A value that indicates the starting point for the next set of response records 15152 // in a subsequent request. If a value is returned in a response, you can retrieve 15153 // the next set of records by providing this returned marker value in the Marker 15154 // parameter and retrying the command. If the Marker field is empty, all response 15155 // records have been retrieved for the request. 15156 Marker *string `type:"string"` 15157 15158 // A list of ClusterParameterGroup instances. Each instance describes one cluster 15159 // parameter group. 15160 ParameterGroups []*ClusterParameterGroup `locationNameList:"ClusterParameterGroup" type:"list"` 15161} 15162 15163// String returns the string representation 15164func (s DescribeClusterParameterGroupsOutput) String() string { 15165 return awsutil.Prettify(s) 15166} 15167 15168// GoString returns the string representation 15169func (s DescribeClusterParameterGroupsOutput) GoString() string { 15170 return s.String() 15171} 15172 15173// SetMarker sets the Marker field's value. 15174func (s *DescribeClusterParameterGroupsOutput) SetMarker(v string) *DescribeClusterParameterGroupsOutput { 15175 s.Marker = &v 15176 return s 15177} 15178 15179// SetParameterGroups sets the ParameterGroups field's value. 15180func (s *DescribeClusterParameterGroupsOutput) SetParameterGroups(v []*ClusterParameterGroup) *DescribeClusterParameterGroupsOutput { 15181 s.ParameterGroups = v 15182 return s 15183} 15184 15185type DescribeClusterParametersInput struct { 15186 _ struct{} `type:"structure"` 15187 15188 // An optional parameter that specifies the starting point to return a set of 15189 // response records. When the results of a DescribeClusterParameters request 15190 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 15191 // field of the response. You can retrieve the next set of response records 15192 // by providing the returned marker value in the Marker parameter and retrying 15193 // the request. 15194 Marker *string `type:"string"` 15195 15196 // The maximum number of response records to return in each call. If the number 15197 // of remaining response records exceeds the specified MaxRecords value, a value 15198 // is returned in a marker field of the response. You can retrieve the next 15199 // set of records by retrying the command with the returned marker value. 15200 // 15201 // Default: 100 15202 // 15203 // Constraints: minimum 20, maximum 100. 15204 MaxRecords *int64 `type:"integer"` 15205 15206 // The name of a cluster parameter group for which to return details. 15207 // 15208 // ParameterGroupName is a required field 15209 ParameterGroupName *string `type:"string" required:"true"` 15210 15211 // The parameter types to return. Specify user to show parameters that are different 15212 // form the default. Similarly, specify engine-default to show parameters that 15213 // are the same as the default parameter group. 15214 // 15215 // Default: All parameter types returned. 15216 // 15217 // Valid Values: user | engine-default 15218 Source *string `type:"string"` 15219} 15220 15221// String returns the string representation 15222func (s DescribeClusterParametersInput) String() string { 15223 return awsutil.Prettify(s) 15224} 15225 15226// GoString returns the string representation 15227func (s DescribeClusterParametersInput) GoString() string { 15228 return s.String() 15229} 15230 15231// Validate inspects the fields of the type to determine if they are valid. 15232func (s *DescribeClusterParametersInput) Validate() error { 15233 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterParametersInput"} 15234 if s.ParameterGroupName == nil { 15235 invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) 15236 } 15237 15238 if invalidParams.Len() > 0 { 15239 return invalidParams 15240 } 15241 return nil 15242} 15243 15244// SetMarker sets the Marker field's value. 15245func (s *DescribeClusterParametersInput) SetMarker(v string) *DescribeClusterParametersInput { 15246 s.Marker = &v 15247 return s 15248} 15249 15250// SetMaxRecords sets the MaxRecords field's value. 15251func (s *DescribeClusterParametersInput) SetMaxRecords(v int64) *DescribeClusterParametersInput { 15252 s.MaxRecords = &v 15253 return s 15254} 15255 15256// SetParameterGroupName sets the ParameterGroupName field's value. 15257func (s *DescribeClusterParametersInput) SetParameterGroupName(v string) *DescribeClusterParametersInput { 15258 s.ParameterGroupName = &v 15259 return s 15260} 15261 15262// SetSource sets the Source field's value. 15263func (s *DescribeClusterParametersInput) SetSource(v string) *DescribeClusterParametersInput { 15264 s.Source = &v 15265 return s 15266} 15267 15268// Contains the output from the DescribeClusterParameters action. 15269type DescribeClusterParametersOutput struct { 15270 _ struct{} `type:"structure"` 15271 15272 // A value that indicates the starting point for the next set of response records 15273 // in a subsequent request. If a value is returned in a response, you can retrieve 15274 // the next set of records by providing this returned marker value in the Marker 15275 // parameter and retrying the command. If the Marker field is empty, all response 15276 // records have been retrieved for the request. 15277 Marker *string `type:"string"` 15278 15279 // A list of Parameter instances. Each instance lists the parameters of one 15280 // cluster parameter group. 15281 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 15282} 15283 15284// String returns the string representation 15285func (s DescribeClusterParametersOutput) String() string { 15286 return awsutil.Prettify(s) 15287} 15288 15289// GoString returns the string representation 15290func (s DescribeClusterParametersOutput) GoString() string { 15291 return s.String() 15292} 15293 15294// SetMarker sets the Marker field's value. 15295func (s *DescribeClusterParametersOutput) SetMarker(v string) *DescribeClusterParametersOutput { 15296 s.Marker = &v 15297 return s 15298} 15299 15300// SetParameters sets the Parameters field's value. 15301func (s *DescribeClusterParametersOutput) SetParameters(v []*Parameter) *DescribeClusterParametersOutput { 15302 s.Parameters = v 15303 return s 15304} 15305 15306type DescribeClusterSecurityGroupsInput struct { 15307 _ struct{} `type:"structure"` 15308 15309 // The name of a cluster security group for which you are requesting details. 15310 // You can specify either the Marker parameter or a ClusterSecurityGroupName 15311 // parameter, but not both. 15312 // 15313 // Example: securitygroup1 15314 ClusterSecurityGroupName *string `type:"string"` 15315 15316 // An optional parameter that specifies the starting point to return a set of 15317 // response records. When the results of a DescribeClusterSecurityGroups request 15318 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 15319 // field of the response. You can retrieve the next set of response records 15320 // by providing the returned marker value in the Marker parameter and retrying 15321 // the request. 15322 // 15323 // Constraints: You can specify either the ClusterSecurityGroupName parameter 15324 // or the Marker parameter, but not both. 15325 Marker *string `type:"string"` 15326 15327 // The maximum number of response records to return in each call. If the number 15328 // of remaining response records exceeds the specified MaxRecords value, a value 15329 // is returned in a marker field of the response. You can retrieve the next 15330 // set of records by retrying the command with the returned marker value. 15331 // 15332 // Default: 100 15333 // 15334 // Constraints: minimum 20, maximum 100. 15335 MaxRecords *int64 `type:"integer"` 15336 15337 // A tag key or keys for which you want to return all matching cluster security 15338 // groups that are associated with the specified key or keys. For example, suppose 15339 // that you have security groups that are tagged with keys called owner and 15340 // environment. If you specify both of these tag keys in the request, Amazon 15341 // Redshift returns a response with the security groups that have either or 15342 // both of these tag keys associated with them. 15343 TagKeys []*string `locationNameList:"TagKey" type:"list"` 15344 15345 // A tag value or values for which you want to return all matching cluster security 15346 // groups that are associated with the specified tag value or values. For example, 15347 // suppose that you have security groups that are tagged with values called 15348 // admin and test. If you specify both of these tag values in the request, Amazon 15349 // Redshift returns a response with the security groups that have either or 15350 // both of these tag values associated with them. 15351 TagValues []*string `locationNameList:"TagValue" type:"list"` 15352} 15353 15354// String returns the string representation 15355func (s DescribeClusterSecurityGroupsInput) String() string { 15356 return awsutil.Prettify(s) 15357} 15358 15359// GoString returns the string representation 15360func (s DescribeClusterSecurityGroupsInput) GoString() string { 15361 return s.String() 15362} 15363 15364// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 15365func (s *DescribeClusterSecurityGroupsInput) SetClusterSecurityGroupName(v string) *DescribeClusterSecurityGroupsInput { 15366 s.ClusterSecurityGroupName = &v 15367 return s 15368} 15369 15370// SetMarker sets the Marker field's value. 15371func (s *DescribeClusterSecurityGroupsInput) SetMarker(v string) *DescribeClusterSecurityGroupsInput { 15372 s.Marker = &v 15373 return s 15374} 15375 15376// SetMaxRecords sets the MaxRecords field's value. 15377func (s *DescribeClusterSecurityGroupsInput) SetMaxRecords(v int64) *DescribeClusterSecurityGroupsInput { 15378 s.MaxRecords = &v 15379 return s 15380} 15381 15382// SetTagKeys sets the TagKeys field's value. 15383func (s *DescribeClusterSecurityGroupsInput) SetTagKeys(v []*string) *DescribeClusterSecurityGroupsInput { 15384 s.TagKeys = v 15385 return s 15386} 15387 15388// SetTagValues sets the TagValues field's value. 15389func (s *DescribeClusterSecurityGroupsInput) SetTagValues(v []*string) *DescribeClusterSecurityGroupsInput { 15390 s.TagValues = v 15391 return s 15392} 15393 15394type DescribeClusterSecurityGroupsOutput struct { 15395 _ struct{} `type:"structure"` 15396 15397 // A list of ClusterSecurityGroup instances. 15398 ClusterSecurityGroups []*ClusterSecurityGroup `locationNameList:"ClusterSecurityGroup" type:"list"` 15399 15400 // A value that indicates the starting point for the next set of response records 15401 // in a subsequent request. If a value is returned in a response, you can retrieve 15402 // the next set of records by providing this returned marker value in the Marker 15403 // parameter and retrying the command. If the Marker field is empty, all response 15404 // records have been retrieved for the request. 15405 Marker *string `type:"string"` 15406} 15407 15408// String returns the string representation 15409func (s DescribeClusterSecurityGroupsOutput) String() string { 15410 return awsutil.Prettify(s) 15411} 15412 15413// GoString returns the string representation 15414func (s DescribeClusterSecurityGroupsOutput) GoString() string { 15415 return s.String() 15416} 15417 15418// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value. 15419func (s *DescribeClusterSecurityGroupsOutput) SetClusterSecurityGroups(v []*ClusterSecurityGroup) *DescribeClusterSecurityGroupsOutput { 15420 s.ClusterSecurityGroups = v 15421 return s 15422} 15423 15424// SetMarker sets the Marker field's value. 15425func (s *DescribeClusterSecurityGroupsOutput) SetMarker(v string) *DescribeClusterSecurityGroupsOutput { 15426 s.Marker = &v 15427 return s 15428} 15429 15430type DescribeClusterSnapshotsInput struct { 15431 _ struct{} `type:"structure"` 15432 15433 // A value that indicates whether to return snapshots only for an existing cluster. 15434 // You can perform table-level restore only by using a snapshot of an existing 15435 // cluster, that is, a cluster that has not been deleted. Values for this parameter 15436 // work as follows: 15437 // 15438 // * If ClusterExists is set to true, ClusterIdentifier is required. 15439 // 15440 // * If ClusterExists is set to false and ClusterIdentifier isn't specified, 15441 // all snapshots associated with deleted clusters (orphaned snapshots) are 15442 // returned. 15443 // 15444 // * If ClusterExists is set to false and ClusterIdentifier is specified 15445 // for a deleted cluster, snapshots associated with that cluster are returned. 15446 // 15447 // * If ClusterExists is set to false and ClusterIdentifier is specified 15448 // for an existing cluster, no snapshots are returned. 15449 ClusterExists *bool `type:"boolean"` 15450 15451 // The identifier of the cluster which generated the requested snapshots. 15452 ClusterIdentifier *string `type:"string"` 15453 15454 // A time value that requests only snapshots created at or before the specified 15455 // time. The time value is specified in ISO 8601 format. For more information 15456 // about ISO 8601, go to the ISO8601 Wikipedia page. (http://en.wikipedia.org/wiki/ISO_8601) 15457 // 15458 // Example: 2012-07-16T18:00:00Z 15459 EndTime *time.Time `type:"timestamp"` 15460 15461 // An optional parameter that specifies the starting point to return a set of 15462 // response records. When the results of a DescribeClusterSnapshots request 15463 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 15464 // field of the response. You can retrieve the next set of response records 15465 // by providing the returned marker value in the Marker parameter and retrying 15466 // the request. 15467 Marker *string `type:"string"` 15468 15469 // The maximum number of response records to return in each call. If the number 15470 // of remaining response records exceeds the specified MaxRecords value, a value 15471 // is returned in a marker field of the response. You can retrieve the next 15472 // set of records by retrying the command with the returned marker value. 15473 // 15474 // Default: 100 15475 // 15476 // Constraints: minimum 20, maximum 100. 15477 MaxRecords *int64 `type:"integer"` 15478 15479 // The AWS customer account used to create or copy the snapshot. Use this field 15480 // to filter the results to snapshots owned by a particular account. To describe 15481 // snapshots you own, either specify your AWS customer account, or do not specify 15482 // the parameter. 15483 OwnerAccount *string `type:"string"` 15484 15485 // The snapshot identifier of the snapshot about which to return information. 15486 SnapshotIdentifier *string `type:"string"` 15487 15488 // The type of snapshots for which you are requesting information. By default, 15489 // snapshots of all types are returned. 15490 // 15491 // Valid Values: automated | manual 15492 SnapshotType *string `type:"string"` 15493 15494 SortingEntities []*SnapshotSortingEntity `locationNameList:"SnapshotSortingEntity" type:"list"` 15495 15496 // A value that requests only snapshots created at or after the specified time. 15497 // The time value is specified in ISO 8601 format. For more information about 15498 // ISO 8601, go to the ISO8601 Wikipedia page. (http://en.wikipedia.org/wiki/ISO_8601) 15499 // 15500 // Example: 2012-07-16T18:00:00Z 15501 StartTime *time.Time `type:"timestamp"` 15502 15503 // A tag key or keys for which you want to return all matching cluster snapshots 15504 // that are associated with the specified key or keys. For example, suppose 15505 // that you have snapshots that are tagged with keys called owner and environment. 15506 // If you specify both of these tag keys in the request, Amazon Redshift returns 15507 // a response with the snapshots that have either or both of these tag keys 15508 // associated with them. 15509 TagKeys []*string `locationNameList:"TagKey" type:"list"` 15510 15511 // A tag value or values for which you want to return all matching cluster snapshots 15512 // that are associated with the specified tag value or values. For example, 15513 // suppose that you have snapshots that are tagged with values called admin 15514 // and test. If you specify both of these tag values in the request, Amazon 15515 // Redshift returns a response with the snapshots that have either or both of 15516 // these tag values associated with them. 15517 TagValues []*string `locationNameList:"TagValue" type:"list"` 15518} 15519 15520// String returns the string representation 15521func (s DescribeClusterSnapshotsInput) String() string { 15522 return awsutil.Prettify(s) 15523} 15524 15525// GoString returns the string representation 15526func (s DescribeClusterSnapshotsInput) GoString() string { 15527 return s.String() 15528} 15529 15530// Validate inspects the fields of the type to determine if they are valid. 15531func (s *DescribeClusterSnapshotsInput) Validate() error { 15532 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterSnapshotsInput"} 15533 if s.SortingEntities != nil { 15534 for i, v := range s.SortingEntities { 15535 if v == nil { 15536 continue 15537 } 15538 if err := v.Validate(); err != nil { 15539 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SortingEntities", i), err.(request.ErrInvalidParams)) 15540 } 15541 } 15542 } 15543 15544 if invalidParams.Len() > 0 { 15545 return invalidParams 15546 } 15547 return nil 15548} 15549 15550// SetClusterExists sets the ClusterExists field's value. 15551func (s *DescribeClusterSnapshotsInput) SetClusterExists(v bool) *DescribeClusterSnapshotsInput { 15552 s.ClusterExists = &v 15553 return s 15554} 15555 15556// SetClusterIdentifier sets the ClusterIdentifier field's value. 15557func (s *DescribeClusterSnapshotsInput) SetClusterIdentifier(v string) *DescribeClusterSnapshotsInput { 15558 s.ClusterIdentifier = &v 15559 return s 15560} 15561 15562// SetEndTime sets the EndTime field's value. 15563func (s *DescribeClusterSnapshotsInput) SetEndTime(v time.Time) *DescribeClusterSnapshotsInput { 15564 s.EndTime = &v 15565 return s 15566} 15567 15568// SetMarker sets the Marker field's value. 15569func (s *DescribeClusterSnapshotsInput) SetMarker(v string) *DescribeClusterSnapshotsInput { 15570 s.Marker = &v 15571 return s 15572} 15573 15574// SetMaxRecords sets the MaxRecords field's value. 15575func (s *DescribeClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeClusterSnapshotsInput { 15576 s.MaxRecords = &v 15577 return s 15578} 15579 15580// SetOwnerAccount sets the OwnerAccount field's value. 15581func (s *DescribeClusterSnapshotsInput) SetOwnerAccount(v string) *DescribeClusterSnapshotsInput { 15582 s.OwnerAccount = &v 15583 return s 15584} 15585 15586// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 15587func (s *DescribeClusterSnapshotsInput) SetSnapshotIdentifier(v string) *DescribeClusterSnapshotsInput { 15588 s.SnapshotIdentifier = &v 15589 return s 15590} 15591 15592// SetSnapshotType sets the SnapshotType field's value. 15593func (s *DescribeClusterSnapshotsInput) SetSnapshotType(v string) *DescribeClusterSnapshotsInput { 15594 s.SnapshotType = &v 15595 return s 15596} 15597 15598// SetSortingEntities sets the SortingEntities field's value. 15599func (s *DescribeClusterSnapshotsInput) SetSortingEntities(v []*SnapshotSortingEntity) *DescribeClusterSnapshotsInput { 15600 s.SortingEntities = v 15601 return s 15602} 15603 15604// SetStartTime sets the StartTime field's value. 15605func (s *DescribeClusterSnapshotsInput) SetStartTime(v time.Time) *DescribeClusterSnapshotsInput { 15606 s.StartTime = &v 15607 return s 15608} 15609 15610// SetTagKeys sets the TagKeys field's value. 15611func (s *DescribeClusterSnapshotsInput) SetTagKeys(v []*string) *DescribeClusterSnapshotsInput { 15612 s.TagKeys = v 15613 return s 15614} 15615 15616// SetTagValues sets the TagValues field's value. 15617func (s *DescribeClusterSnapshotsInput) SetTagValues(v []*string) *DescribeClusterSnapshotsInput { 15618 s.TagValues = v 15619 return s 15620} 15621 15622// Contains the output from the DescribeClusterSnapshots action. 15623type DescribeClusterSnapshotsOutput struct { 15624 _ struct{} `type:"structure"` 15625 15626 // A value that indicates the starting point for the next set of response records 15627 // in a subsequent request. If a value is returned in a response, you can retrieve 15628 // the next set of records by providing this returned marker value in the Marker 15629 // parameter and retrying the command. If the Marker field is empty, all response 15630 // records have been retrieved for the request. 15631 Marker *string `type:"string"` 15632 15633 // A list of Snapshot instances. 15634 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 15635} 15636 15637// String returns the string representation 15638func (s DescribeClusterSnapshotsOutput) String() string { 15639 return awsutil.Prettify(s) 15640} 15641 15642// GoString returns the string representation 15643func (s DescribeClusterSnapshotsOutput) GoString() string { 15644 return s.String() 15645} 15646 15647// SetMarker sets the Marker field's value. 15648func (s *DescribeClusterSnapshotsOutput) SetMarker(v string) *DescribeClusterSnapshotsOutput { 15649 s.Marker = &v 15650 return s 15651} 15652 15653// SetSnapshots sets the Snapshots field's value. 15654func (s *DescribeClusterSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeClusterSnapshotsOutput { 15655 s.Snapshots = v 15656 return s 15657} 15658 15659type DescribeClusterSubnetGroupsInput struct { 15660 _ struct{} `type:"structure"` 15661 15662 // The name of the cluster subnet group for which information is requested. 15663 ClusterSubnetGroupName *string `type:"string"` 15664 15665 // An optional parameter that specifies the starting point to return a set of 15666 // response records. When the results of a DescribeClusterSubnetGroups request 15667 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 15668 // field of the response. You can retrieve the next set of response records 15669 // by providing the returned marker value in the Marker parameter and retrying 15670 // the request. 15671 Marker *string `type:"string"` 15672 15673 // The maximum number of response records to return in each call. If the number 15674 // of remaining response records exceeds the specified MaxRecords value, a value 15675 // is returned in a marker field of the response. You can retrieve the next 15676 // set of records by retrying the command with the returned marker value. 15677 // 15678 // Default: 100 15679 // 15680 // Constraints: minimum 20, maximum 100. 15681 MaxRecords *int64 `type:"integer"` 15682 15683 // A tag key or keys for which you want to return all matching cluster subnet 15684 // groups that are associated with the specified key or keys. For example, suppose 15685 // that you have subnet groups that are tagged with keys called owner and environment. 15686 // If you specify both of these tag keys in the request, Amazon Redshift returns 15687 // a response with the subnet groups that have either or both of these tag keys 15688 // associated with them. 15689 TagKeys []*string `locationNameList:"TagKey" type:"list"` 15690 15691 // A tag value or values for which you want to return all matching cluster subnet 15692 // groups that are associated with the specified tag value or values. For example, 15693 // suppose that you have subnet groups that are tagged with values called admin 15694 // and test. If you specify both of these tag values in the request, Amazon 15695 // Redshift returns a response with the subnet groups that have either or both 15696 // of these tag values associated with them. 15697 TagValues []*string `locationNameList:"TagValue" type:"list"` 15698} 15699 15700// String returns the string representation 15701func (s DescribeClusterSubnetGroupsInput) String() string { 15702 return awsutil.Prettify(s) 15703} 15704 15705// GoString returns the string representation 15706func (s DescribeClusterSubnetGroupsInput) GoString() string { 15707 return s.String() 15708} 15709 15710// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 15711func (s *DescribeClusterSubnetGroupsInput) SetClusterSubnetGroupName(v string) *DescribeClusterSubnetGroupsInput { 15712 s.ClusterSubnetGroupName = &v 15713 return s 15714} 15715 15716// SetMarker sets the Marker field's value. 15717func (s *DescribeClusterSubnetGroupsInput) SetMarker(v string) *DescribeClusterSubnetGroupsInput { 15718 s.Marker = &v 15719 return s 15720} 15721 15722// SetMaxRecords sets the MaxRecords field's value. 15723func (s *DescribeClusterSubnetGroupsInput) SetMaxRecords(v int64) *DescribeClusterSubnetGroupsInput { 15724 s.MaxRecords = &v 15725 return s 15726} 15727 15728// SetTagKeys sets the TagKeys field's value. 15729func (s *DescribeClusterSubnetGroupsInput) SetTagKeys(v []*string) *DescribeClusterSubnetGroupsInput { 15730 s.TagKeys = v 15731 return s 15732} 15733 15734// SetTagValues sets the TagValues field's value. 15735func (s *DescribeClusterSubnetGroupsInput) SetTagValues(v []*string) *DescribeClusterSubnetGroupsInput { 15736 s.TagValues = v 15737 return s 15738} 15739 15740// Contains the output from the DescribeClusterSubnetGroups action. 15741type DescribeClusterSubnetGroupsOutput struct { 15742 _ struct{} `type:"structure"` 15743 15744 // A list of ClusterSubnetGroup instances. 15745 ClusterSubnetGroups []*ClusterSubnetGroup `locationNameList:"ClusterSubnetGroup" type:"list"` 15746 15747 // A value that indicates the starting point for the next set of response records 15748 // in a subsequent request. If a value is returned in a response, you can retrieve 15749 // the next set of records by providing this returned marker value in the Marker 15750 // parameter and retrying the command. If the Marker field is empty, all response 15751 // records have been retrieved for the request. 15752 Marker *string `type:"string"` 15753} 15754 15755// String returns the string representation 15756func (s DescribeClusterSubnetGroupsOutput) String() string { 15757 return awsutil.Prettify(s) 15758} 15759 15760// GoString returns the string representation 15761func (s DescribeClusterSubnetGroupsOutput) GoString() string { 15762 return s.String() 15763} 15764 15765// SetClusterSubnetGroups sets the ClusterSubnetGroups field's value. 15766func (s *DescribeClusterSubnetGroupsOutput) SetClusterSubnetGroups(v []*ClusterSubnetGroup) *DescribeClusterSubnetGroupsOutput { 15767 s.ClusterSubnetGroups = v 15768 return s 15769} 15770 15771// SetMarker sets the Marker field's value. 15772func (s *DescribeClusterSubnetGroupsOutput) SetMarker(v string) *DescribeClusterSubnetGroupsOutput { 15773 s.Marker = &v 15774 return s 15775} 15776 15777type DescribeClusterTracksInput struct { 15778 _ struct{} `type:"structure"` 15779 15780 // The name of the maintenance track. 15781 MaintenanceTrackName *string `type:"string"` 15782 15783 // An optional parameter that specifies the starting point to return a set of 15784 // response records. When the results of a DescribeClusterTracks request exceed 15785 // the value specified in MaxRecords, Amazon Redshift returns a value in the 15786 // Marker field of the response. You can retrieve the next set of response records 15787 // by providing the returned marker value in the Marker parameter and retrying 15788 // the request. 15789 Marker *string `type:"string"` 15790 15791 // An integer value for the maximum number of maintenance tracks to return. 15792 MaxRecords *int64 `type:"integer"` 15793} 15794 15795// String returns the string representation 15796func (s DescribeClusterTracksInput) String() string { 15797 return awsutil.Prettify(s) 15798} 15799 15800// GoString returns the string representation 15801func (s DescribeClusterTracksInput) GoString() string { 15802 return s.String() 15803} 15804 15805// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 15806func (s *DescribeClusterTracksInput) SetMaintenanceTrackName(v string) *DescribeClusterTracksInput { 15807 s.MaintenanceTrackName = &v 15808 return s 15809} 15810 15811// SetMarker sets the Marker field's value. 15812func (s *DescribeClusterTracksInput) SetMarker(v string) *DescribeClusterTracksInput { 15813 s.Marker = &v 15814 return s 15815} 15816 15817// SetMaxRecords sets the MaxRecords field's value. 15818func (s *DescribeClusterTracksInput) SetMaxRecords(v int64) *DescribeClusterTracksInput { 15819 s.MaxRecords = &v 15820 return s 15821} 15822 15823type DescribeClusterTracksOutput struct { 15824 _ struct{} `type:"structure"` 15825 15826 // A list of maintenance tracks output by the DescribeClusterTracks operation. 15827 MaintenanceTracks []*MaintenanceTrack `locationNameList:"MaintenanceTrack" type:"list"` 15828 15829 // The starting point to return a set of response tracklist records. You can 15830 // retrieve the next set of response records by providing the returned marker 15831 // value in the Marker parameter and retrying the request. 15832 Marker *string `type:"string"` 15833} 15834 15835// String returns the string representation 15836func (s DescribeClusterTracksOutput) String() string { 15837 return awsutil.Prettify(s) 15838} 15839 15840// GoString returns the string representation 15841func (s DescribeClusterTracksOutput) GoString() string { 15842 return s.String() 15843} 15844 15845// SetMaintenanceTracks sets the MaintenanceTracks field's value. 15846func (s *DescribeClusterTracksOutput) SetMaintenanceTracks(v []*MaintenanceTrack) *DescribeClusterTracksOutput { 15847 s.MaintenanceTracks = v 15848 return s 15849} 15850 15851// SetMarker sets the Marker field's value. 15852func (s *DescribeClusterTracksOutput) SetMarker(v string) *DescribeClusterTracksOutput { 15853 s.Marker = &v 15854 return s 15855} 15856 15857type DescribeClusterVersionsInput struct { 15858 _ struct{} `type:"structure"` 15859 15860 // The name of a specific cluster parameter group family to return details for. 15861 // 15862 // Constraints: 15863 // 15864 // * Must be 1 to 255 alphanumeric characters 15865 // 15866 // * First character must be a letter 15867 // 15868 // * Cannot end with a hyphen or contain two consecutive hyphens 15869 ClusterParameterGroupFamily *string `type:"string"` 15870 15871 // The specific cluster version to return. 15872 // 15873 // Example: 1.0 15874 ClusterVersion *string `type:"string"` 15875 15876 // An optional parameter that specifies the starting point to return a set of 15877 // response records. When the results of a DescribeClusterVersions request exceed 15878 // the value specified in MaxRecords, AWS returns a value in the Marker field 15879 // of the response. You can retrieve the next set of response records by providing 15880 // the returned marker value in the Marker parameter and retrying the request. 15881 Marker *string `type:"string"` 15882 15883 // The maximum number of response records to return in each call. If the number 15884 // of remaining response records exceeds the specified MaxRecords value, a value 15885 // is returned in a marker field of the response. You can retrieve the next 15886 // set of records by retrying the command with the returned marker value. 15887 // 15888 // Default: 100 15889 // 15890 // Constraints: minimum 20, maximum 100. 15891 MaxRecords *int64 `type:"integer"` 15892} 15893 15894// String returns the string representation 15895func (s DescribeClusterVersionsInput) String() string { 15896 return awsutil.Prettify(s) 15897} 15898 15899// GoString returns the string representation 15900func (s DescribeClusterVersionsInput) GoString() string { 15901 return s.String() 15902} 15903 15904// SetClusterParameterGroupFamily sets the ClusterParameterGroupFamily field's value. 15905func (s *DescribeClusterVersionsInput) SetClusterParameterGroupFamily(v string) *DescribeClusterVersionsInput { 15906 s.ClusterParameterGroupFamily = &v 15907 return s 15908} 15909 15910// SetClusterVersion sets the ClusterVersion field's value. 15911func (s *DescribeClusterVersionsInput) SetClusterVersion(v string) *DescribeClusterVersionsInput { 15912 s.ClusterVersion = &v 15913 return s 15914} 15915 15916// SetMarker sets the Marker field's value. 15917func (s *DescribeClusterVersionsInput) SetMarker(v string) *DescribeClusterVersionsInput { 15918 s.Marker = &v 15919 return s 15920} 15921 15922// SetMaxRecords sets the MaxRecords field's value. 15923func (s *DescribeClusterVersionsInput) SetMaxRecords(v int64) *DescribeClusterVersionsInput { 15924 s.MaxRecords = &v 15925 return s 15926} 15927 15928// Contains the output from the DescribeClusterVersions action. 15929type DescribeClusterVersionsOutput struct { 15930 _ struct{} `type:"structure"` 15931 15932 // A list of Version elements. 15933 ClusterVersions []*ClusterVersion `locationNameList:"ClusterVersion" type:"list"` 15934 15935 // A value that indicates the starting point for the next set of response records 15936 // in a subsequent request. If a value is returned in a response, you can retrieve 15937 // the next set of records by providing this returned marker value in the Marker 15938 // parameter and retrying the command. If the Marker field is empty, all response 15939 // records have been retrieved for the request. 15940 Marker *string `type:"string"` 15941} 15942 15943// String returns the string representation 15944func (s DescribeClusterVersionsOutput) String() string { 15945 return awsutil.Prettify(s) 15946} 15947 15948// GoString returns the string representation 15949func (s DescribeClusterVersionsOutput) GoString() string { 15950 return s.String() 15951} 15952 15953// SetClusterVersions sets the ClusterVersions field's value. 15954func (s *DescribeClusterVersionsOutput) SetClusterVersions(v []*ClusterVersion) *DescribeClusterVersionsOutput { 15955 s.ClusterVersions = v 15956 return s 15957} 15958 15959// SetMarker sets the Marker field's value. 15960func (s *DescribeClusterVersionsOutput) SetMarker(v string) *DescribeClusterVersionsOutput { 15961 s.Marker = &v 15962 return s 15963} 15964 15965type DescribeClustersInput struct { 15966 _ struct{} `type:"structure"` 15967 15968 // The unique identifier of a cluster whose properties you are requesting. This 15969 // parameter is case sensitive. 15970 // 15971 // The default is that all clusters defined for an account are returned. 15972 ClusterIdentifier *string `type:"string"` 15973 15974 // An optional parameter that specifies the starting point to return a set of 15975 // response records. When the results of a DescribeClusters request exceed the 15976 // value specified in MaxRecords, AWS returns a value in the Marker field of 15977 // the response. You can retrieve the next set of response records by providing 15978 // the returned marker value in the Marker parameter and retrying the request. 15979 // 15980 // Constraints: You can specify either the ClusterIdentifier parameter or the 15981 // Marker parameter, but not both. 15982 Marker *string `type:"string"` 15983 15984 // The maximum number of response records to return in each call. If the number 15985 // of remaining response records exceeds the specified MaxRecords value, a value 15986 // is returned in a marker field of the response. You can retrieve the next 15987 // set of records by retrying the command with the returned marker value. 15988 // 15989 // Default: 100 15990 // 15991 // Constraints: minimum 20, maximum 100. 15992 MaxRecords *int64 `type:"integer"` 15993 15994 // A tag key or keys for which you want to return all matching clusters that 15995 // are associated with the specified key or keys. For example, suppose that 15996 // you have clusters that are tagged with keys called owner and environment. 15997 // If you specify both of these tag keys in the request, Amazon Redshift returns 15998 // a response with the clusters that have either or both of these tag keys associated 15999 // with them. 16000 TagKeys []*string `locationNameList:"TagKey" type:"list"` 16001 16002 // A tag value or values for which you want to return all matching clusters 16003 // that are associated with the specified tag value or values. For example, 16004 // suppose that you have clusters that are tagged with values called admin and 16005 // test. If you specify both of these tag values in the request, Amazon Redshift 16006 // returns a response with the clusters that have either or both of these tag 16007 // values associated with them. 16008 TagValues []*string `locationNameList:"TagValue" type:"list"` 16009} 16010 16011// String returns the string representation 16012func (s DescribeClustersInput) String() string { 16013 return awsutil.Prettify(s) 16014} 16015 16016// GoString returns the string representation 16017func (s DescribeClustersInput) GoString() string { 16018 return s.String() 16019} 16020 16021// SetClusterIdentifier sets the ClusterIdentifier field's value. 16022func (s *DescribeClustersInput) SetClusterIdentifier(v string) *DescribeClustersInput { 16023 s.ClusterIdentifier = &v 16024 return s 16025} 16026 16027// SetMarker sets the Marker field's value. 16028func (s *DescribeClustersInput) SetMarker(v string) *DescribeClustersInput { 16029 s.Marker = &v 16030 return s 16031} 16032 16033// SetMaxRecords sets the MaxRecords field's value. 16034func (s *DescribeClustersInput) SetMaxRecords(v int64) *DescribeClustersInput { 16035 s.MaxRecords = &v 16036 return s 16037} 16038 16039// SetTagKeys sets the TagKeys field's value. 16040func (s *DescribeClustersInput) SetTagKeys(v []*string) *DescribeClustersInput { 16041 s.TagKeys = v 16042 return s 16043} 16044 16045// SetTagValues sets the TagValues field's value. 16046func (s *DescribeClustersInput) SetTagValues(v []*string) *DescribeClustersInput { 16047 s.TagValues = v 16048 return s 16049} 16050 16051// Contains the output from the DescribeClusters action. 16052type DescribeClustersOutput struct { 16053 _ struct{} `type:"structure"` 16054 16055 // A list of Cluster objects, where each object describes one cluster. 16056 Clusters []*Cluster `locationNameList:"Cluster" type:"list"` 16057 16058 // A value that indicates the starting point for the next set of response records 16059 // in a subsequent request. If a value is returned in a response, you can retrieve 16060 // the next set of records by providing this returned marker value in the Marker 16061 // parameter and retrying the command. If the Marker field is empty, all response 16062 // records have been retrieved for the request. 16063 Marker *string `type:"string"` 16064} 16065 16066// String returns the string representation 16067func (s DescribeClustersOutput) String() string { 16068 return awsutil.Prettify(s) 16069} 16070 16071// GoString returns the string representation 16072func (s DescribeClustersOutput) GoString() string { 16073 return s.String() 16074} 16075 16076// SetClusters sets the Clusters field's value. 16077func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { 16078 s.Clusters = v 16079 return s 16080} 16081 16082// SetMarker sets the Marker field's value. 16083func (s *DescribeClustersOutput) SetMarker(v string) *DescribeClustersOutput { 16084 s.Marker = &v 16085 return s 16086} 16087 16088type DescribeDefaultClusterParametersInput struct { 16089 _ struct{} `type:"structure"` 16090 16091 // An optional parameter that specifies the starting point to return a set of 16092 // response records. When the results of a DescribeDefaultClusterParameters 16093 // request exceed the value specified in MaxRecords, AWS returns a value in 16094 // the Marker field of the response. You can retrieve the next set of response 16095 // records by providing the returned marker value in the Marker parameter and 16096 // retrying the request. 16097 Marker *string `type:"string"` 16098 16099 // The maximum number of response records to return in each call. If the number 16100 // of remaining response records exceeds the specified MaxRecords value, a value 16101 // is returned in a marker field of the response. You can retrieve the next 16102 // set of records by retrying the command with the returned marker value. 16103 // 16104 // Default: 100 16105 // 16106 // Constraints: minimum 20, maximum 100. 16107 MaxRecords *int64 `type:"integer"` 16108 16109 // The name of the cluster parameter group family. 16110 // 16111 // ParameterGroupFamily is a required field 16112 ParameterGroupFamily *string `type:"string" required:"true"` 16113} 16114 16115// String returns the string representation 16116func (s DescribeDefaultClusterParametersInput) String() string { 16117 return awsutil.Prettify(s) 16118} 16119 16120// GoString returns the string representation 16121func (s DescribeDefaultClusterParametersInput) GoString() string { 16122 return s.String() 16123} 16124 16125// Validate inspects the fields of the type to determine if they are valid. 16126func (s *DescribeDefaultClusterParametersInput) Validate() error { 16127 invalidParams := request.ErrInvalidParams{Context: "DescribeDefaultClusterParametersInput"} 16128 if s.ParameterGroupFamily == nil { 16129 invalidParams.Add(request.NewErrParamRequired("ParameterGroupFamily")) 16130 } 16131 16132 if invalidParams.Len() > 0 { 16133 return invalidParams 16134 } 16135 return nil 16136} 16137 16138// SetMarker sets the Marker field's value. 16139func (s *DescribeDefaultClusterParametersInput) SetMarker(v string) *DescribeDefaultClusterParametersInput { 16140 s.Marker = &v 16141 return s 16142} 16143 16144// SetMaxRecords sets the MaxRecords field's value. 16145func (s *DescribeDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeDefaultClusterParametersInput { 16146 s.MaxRecords = &v 16147 return s 16148} 16149 16150// SetParameterGroupFamily sets the ParameterGroupFamily field's value. 16151func (s *DescribeDefaultClusterParametersInput) SetParameterGroupFamily(v string) *DescribeDefaultClusterParametersInput { 16152 s.ParameterGroupFamily = &v 16153 return s 16154} 16155 16156type DescribeDefaultClusterParametersOutput struct { 16157 _ struct{} `type:"structure"` 16158 16159 // Describes the default cluster parameters for a parameter group family. 16160 DefaultClusterParameters *DefaultClusterParameters `type:"structure"` 16161} 16162 16163// String returns the string representation 16164func (s DescribeDefaultClusterParametersOutput) String() string { 16165 return awsutil.Prettify(s) 16166} 16167 16168// GoString returns the string representation 16169func (s DescribeDefaultClusterParametersOutput) GoString() string { 16170 return s.String() 16171} 16172 16173// SetDefaultClusterParameters sets the DefaultClusterParameters field's value. 16174func (s *DescribeDefaultClusterParametersOutput) SetDefaultClusterParameters(v *DefaultClusterParameters) *DescribeDefaultClusterParametersOutput { 16175 s.DefaultClusterParameters = v 16176 return s 16177} 16178 16179type DescribeEventCategoriesInput struct { 16180 _ struct{} `type:"structure"` 16181 16182 // The source type, such as cluster or parameter group, to which the described 16183 // event categories apply. 16184 // 16185 // Valid values: cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, 16186 // and scheduled-action. 16187 SourceType *string `type:"string"` 16188} 16189 16190// String returns the string representation 16191func (s DescribeEventCategoriesInput) String() string { 16192 return awsutil.Prettify(s) 16193} 16194 16195// GoString returns the string representation 16196func (s DescribeEventCategoriesInput) GoString() string { 16197 return s.String() 16198} 16199 16200// SetSourceType sets the SourceType field's value. 16201func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput { 16202 s.SourceType = &v 16203 return s 16204} 16205 16206type DescribeEventCategoriesOutput struct { 16207 _ struct{} `type:"structure"` 16208 16209 // A list of event categories descriptions. 16210 EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"` 16211} 16212 16213// String returns the string representation 16214func (s DescribeEventCategoriesOutput) String() string { 16215 return awsutil.Prettify(s) 16216} 16217 16218// GoString returns the string representation 16219func (s DescribeEventCategoriesOutput) GoString() string { 16220 return s.String() 16221} 16222 16223// SetEventCategoriesMapList sets the EventCategoriesMapList field's value. 16224func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput { 16225 s.EventCategoriesMapList = v 16226 return s 16227} 16228 16229type DescribeEventSubscriptionsInput struct { 16230 _ struct{} `type:"structure"` 16231 16232 // An optional parameter that specifies the starting point to return a set of 16233 // response records. When the results of a DescribeEventSubscriptions request 16234 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 16235 // field of the response. You can retrieve the next set of response records 16236 // by providing the returned marker value in the Marker parameter and retrying 16237 // the request. 16238 Marker *string `type:"string"` 16239 16240 // The maximum number of response records to return in each call. If the number 16241 // of remaining response records exceeds the specified MaxRecords value, a value 16242 // is returned in a marker field of the response. You can retrieve the next 16243 // set of records by retrying the command with the returned marker value. 16244 // 16245 // Default: 100 16246 // 16247 // Constraints: minimum 20, maximum 100. 16248 MaxRecords *int64 `type:"integer"` 16249 16250 // The name of the Amazon Redshift event notification subscription to be described. 16251 SubscriptionName *string `type:"string"` 16252 16253 // A tag key or keys for which you want to return all matching event notification 16254 // subscriptions that are associated with the specified key or keys. For example, 16255 // suppose that you have subscriptions that are tagged with keys called owner 16256 // and environment. If you specify both of these tag keys in the request, Amazon 16257 // Redshift returns a response with the subscriptions that have either or both 16258 // of these tag keys associated with them. 16259 TagKeys []*string `locationNameList:"TagKey" type:"list"` 16260 16261 // A tag value or values for which you want to return all matching event notification 16262 // subscriptions that are associated with the specified tag value or values. 16263 // For example, suppose that you have subscriptions that are tagged with values 16264 // called admin and test. If you specify both of these tag values in the request, 16265 // Amazon Redshift returns a response with the subscriptions that have either 16266 // or both of these tag values associated with them. 16267 TagValues []*string `locationNameList:"TagValue" type:"list"` 16268} 16269 16270// String returns the string representation 16271func (s DescribeEventSubscriptionsInput) String() string { 16272 return awsutil.Prettify(s) 16273} 16274 16275// GoString returns the string representation 16276func (s DescribeEventSubscriptionsInput) GoString() string { 16277 return s.String() 16278} 16279 16280// SetMarker sets the Marker field's value. 16281func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput { 16282 s.Marker = &v 16283 return s 16284} 16285 16286// SetMaxRecords sets the MaxRecords field's value. 16287func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput { 16288 s.MaxRecords = &v 16289 return s 16290} 16291 16292// SetSubscriptionName sets the SubscriptionName field's value. 16293func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput { 16294 s.SubscriptionName = &v 16295 return s 16296} 16297 16298// SetTagKeys sets the TagKeys field's value. 16299func (s *DescribeEventSubscriptionsInput) SetTagKeys(v []*string) *DescribeEventSubscriptionsInput { 16300 s.TagKeys = v 16301 return s 16302} 16303 16304// SetTagValues sets the TagValues field's value. 16305func (s *DescribeEventSubscriptionsInput) SetTagValues(v []*string) *DescribeEventSubscriptionsInput { 16306 s.TagValues = v 16307 return s 16308} 16309 16310type DescribeEventSubscriptionsOutput struct { 16311 _ struct{} `type:"structure"` 16312 16313 // A list of event subscriptions. 16314 EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"` 16315 16316 // A value that indicates the starting point for the next set of response records 16317 // in a subsequent request. If a value is returned in a response, you can retrieve 16318 // the next set of records by providing this returned marker value in the Marker 16319 // parameter and retrying the command. If the Marker field is empty, all response 16320 // records have been retrieved for the request. 16321 Marker *string `type:"string"` 16322} 16323 16324// String returns the string representation 16325func (s DescribeEventSubscriptionsOutput) String() string { 16326 return awsutil.Prettify(s) 16327} 16328 16329// GoString returns the string representation 16330func (s DescribeEventSubscriptionsOutput) GoString() string { 16331 return s.String() 16332} 16333 16334// SetEventSubscriptionsList sets the EventSubscriptionsList field's value. 16335func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput { 16336 s.EventSubscriptionsList = v 16337 return s 16338} 16339 16340// SetMarker sets the Marker field's value. 16341func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput { 16342 s.Marker = &v 16343 return s 16344} 16345 16346type DescribeEventsInput struct { 16347 _ struct{} `type:"structure"` 16348 16349 // The number of minutes prior to the time of the request for which to retrieve 16350 // events. For example, if the request is sent at 18:00 and you specify a duration 16351 // of 60, then only events which have occurred after 17:00 will be returned. 16352 // 16353 // Default: 60 16354 Duration *int64 `type:"integer"` 16355 16356 // The end of the time interval for which to retrieve events, specified in ISO 16357 // 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia 16358 // page. (http://en.wikipedia.org/wiki/ISO_8601) 16359 // 16360 // Example: 2009-07-08T18:00Z 16361 EndTime *time.Time `type:"timestamp"` 16362 16363 // An optional parameter that specifies the starting point to return a set of 16364 // response records. When the results of a DescribeEvents request exceed the 16365 // value specified in MaxRecords, AWS returns a value in the Marker field of 16366 // the response. You can retrieve the next set of response records by providing 16367 // the returned marker value in the Marker parameter and retrying the request. 16368 Marker *string `type:"string"` 16369 16370 // The maximum number of response records to return in each call. If the number 16371 // of remaining response records exceeds the specified MaxRecords value, a value 16372 // is returned in a marker field of the response. You can retrieve the next 16373 // set of records by retrying the command with the returned marker value. 16374 // 16375 // Default: 100 16376 // 16377 // Constraints: minimum 20, maximum 100. 16378 MaxRecords *int64 `type:"integer"` 16379 16380 // The identifier of the event source for which events will be returned. If 16381 // this parameter is not specified, then all sources are included in the response. 16382 // 16383 // Constraints: 16384 // 16385 // If SourceIdentifier is supplied, SourceType must also be provided. 16386 // 16387 // * Specify a cluster identifier when SourceType is cluster. 16388 // 16389 // * Specify a cluster security group name when SourceType is cluster-security-group. 16390 // 16391 // * Specify a cluster parameter group name when SourceType is cluster-parameter-group. 16392 // 16393 // * Specify a cluster snapshot identifier when SourceType is cluster-snapshot. 16394 SourceIdentifier *string `type:"string"` 16395 16396 // The event source to retrieve events for. If no value is specified, all events 16397 // are returned. 16398 // 16399 // Constraints: 16400 // 16401 // If SourceType is supplied, SourceIdentifier must also be provided. 16402 // 16403 // * Specify cluster when SourceIdentifier is a cluster identifier. 16404 // 16405 // * Specify cluster-security-group when SourceIdentifier is a cluster security 16406 // group name. 16407 // 16408 // * Specify cluster-parameter-group when SourceIdentifier is a cluster parameter 16409 // group name. 16410 // 16411 // * Specify cluster-snapshot when SourceIdentifier is a cluster snapshot 16412 // identifier. 16413 SourceType *string `type:"string" enum:"SourceType"` 16414 16415 // The beginning of the time interval to retrieve events for, specified in ISO 16416 // 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia 16417 // page. (http://en.wikipedia.org/wiki/ISO_8601) 16418 // 16419 // Example: 2009-07-08T18:00Z 16420 StartTime *time.Time `type:"timestamp"` 16421} 16422 16423// String returns the string representation 16424func (s DescribeEventsInput) String() string { 16425 return awsutil.Prettify(s) 16426} 16427 16428// GoString returns the string representation 16429func (s DescribeEventsInput) GoString() string { 16430 return s.String() 16431} 16432 16433// SetDuration sets the Duration field's value. 16434func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 16435 s.Duration = &v 16436 return s 16437} 16438 16439// SetEndTime sets the EndTime field's value. 16440func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 16441 s.EndTime = &v 16442 return s 16443} 16444 16445// SetMarker sets the Marker field's value. 16446func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 16447 s.Marker = &v 16448 return s 16449} 16450 16451// SetMaxRecords sets the MaxRecords field's value. 16452func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 16453 s.MaxRecords = &v 16454 return s 16455} 16456 16457// SetSourceIdentifier sets the SourceIdentifier field's value. 16458func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 16459 s.SourceIdentifier = &v 16460 return s 16461} 16462 16463// SetSourceType sets the SourceType field's value. 16464func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 16465 s.SourceType = &v 16466 return s 16467} 16468 16469// SetStartTime sets the StartTime field's value. 16470func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 16471 s.StartTime = &v 16472 return s 16473} 16474 16475type DescribeEventsOutput struct { 16476 _ struct{} `type:"structure"` 16477 16478 // A list of Event instances. 16479 Events []*Event `locationNameList:"Event" type:"list"` 16480 16481 // A value that indicates the starting point for the next set of response records 16482 // in a subsequent request. If a value is returned in a response, you can retrieve 16483 // the next set of records by providing this returned marker value in the Marker 16484 // parameter and retrying the command. If the Marker field is empty, all response 16485 // records have been retrieved for the request. 16486 Marker *string `type:"string"` 16487} 16488 16489// String returns the string representation 16490func (s DescribeEventsOutput) String() string { 16491 return awsutil.Prettify(s) 16492} 16493 16494// GoString returns the string representation 16495func (s DescribeEventsOutput) GoString() string { 16496 return s.String() 16497} 16498 16499// SetEvents sets the Events field's value. 16500func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 16501 s.Events = v 16502 return s 16503} 16504 16505// SetMarker sets the Marker field's value. 16506func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 16507 s.Marker = &v 16508 return s 16509} 16510 16511type DescribeHsmClientCertificatesInput struct { 16512 _ struct{} `type:"structure"` 16513 16514 // The identifier of a specific HSM client certificate for which you want information. 16515 // If no identifier is specified, information is returned for all HSM client 16516 // certificates owned by your AWS customer account. 16517 HsmClientCertificateIdentifier *string `type:"string"` 16518 16519 // An optional parameter that specifies the starting point to return a set of 16520 // response records. When the results of a DescribeHsmClientCertificates request 16521 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 16522 // field of the response. You can retrieve the next set of response records 16523 // by providing the returned marker value in the Marker parameter and retrying 16524 // the request. 16525 Marker *string `type:"string"` 16526 16527 // The maximum number of response records to return in each call. If the number 16528 // of remaining response records exceeds the specified MaxRecords value, a value 16529 // is returned in a marker field of the response. You can retrieve the next 16530 // set of records by retrying the command with the returned marker value. 16531 // 16532 // Default: 100 16533 // 16534 // Constraints: minimum 20, maximum 100. 16535 MaxRecords *int64 `type:"integer"` 16536 16537 // A tag key or keys for which you want to return all matching HSM client certificates 16538 // that are associated with the specified key or keys. For example, suppose 16539 // that you have HSM client certificates that are tagged with keys called owner 16540 // and environment. If you specify both of these tag keys in the request, Amazon 16541 // Redshift returns a response with the HSM client certificates that have either 16542 // or both of these tag keys associated with them. 16543 TagKeys []*string `locationNameList:"TagKey" type:"list"` 16544 16545 // A tag value or values for which you want to return all matching HSM client 16546 // certificates that are associated with the specified tag value or values. 16547 // For example, suppose that you have HSM client certificates that are tagged 16548 // with values called admin and test. If you specify both of these tag values 16549 // in the request, Amazon Redshift returns a response with the HSM client certificates 16550 // that have either or both of these tag values associated with them. 16551 TagValues []*string `locationNameList:"TagValue" type:"list"` 16552} 16553 16554// String returns the string representation 16555func (s DescribeHsmClientCertificatesInput) String() string { 16556 return awsutil.Prettify(s) 16557} 16558 16559// GoString returns the string representation 16560func (s DescribeHsmClientCertificatesInput) GoString() string { 16561 return s.String() 16562} 16563 16564// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 16565func (s *DescribeHsmClientCertificatesInput) SetHsmClientCertificateIdentifier(v string) *DescribeHsmClientCertificatesInput { 16566 s.HsmClientCertificateIdentifier = &v 16567 return s 16568} 16569 16570// SetMarker sets the Marker field's value. 16571func (s *DescribeHsmClientCertificatesInput) SetMarker(v string) *DescribeHsmClientCertificatesInput { 16572 s.Marker = &v 16573 return s 16574} 16575 16576// SetMaxRecords sets the MaxRecords field's value. 16577func (s *DescribeHsmClientCertificatesInput) SetMaxRecords(v int64) *DescribeHsmClientCertificatesInput { 16578 s.MaxRecords = &v 16579 return s 16580} 16581 16582// SetTagKeys sets the TagKeys field's value. 16583func (s *DescribeHsmClientCertificatesInput) SetTagKeys(v []*string) *DescribeHsmClientCertificatesInput { 16584 s.TagKeys = v 16585 return s 16586} 16587 16588// SetTagValues sets the TagValues field's value. 16589func (s *DescribeHsmClientCertificatesInput) SetTagValues(v []*string) *DescribeHsmClientCertificatesInput { 16590 s.TagValues = v 16591 return s 16592} 16593 16594type DescribeHsmClientCertificatesOutput struct { 16595 _ struct{} `type:"structure"` 16596 16597 // A list of the identifiers for one or more HSM client certificates used by 16598 // Amazon Redshift clusters to store and retrieve database encryption keys in 16599 // an HSM. 16600 HsmClientCertificates []*HsmClientCertificate `locationNameList:"HsmClientCertificate" type:"list"` 16601 16602 // A value that indicates the starting point for the next set of response records 16603 // in a subsequent request. If a value is returned in a response, you can retrieve 16604 // the next set of records by providing this returned marker value in the Marker 16605 // parameter and retrying the command. If the Marker field is empty, all response 16606 // records have been retrieved for the request. 16607 Marker *string `type:"string"` 16608} 16609 16610// String returns the string representation 16611func (s DescribeHsmClientCertificatesOutput) String() string { 16612 return awsutil.Prettify(s) 16613} 16614 16615// GoString returns the string representation 16616func (s DescribeHsmClientCertificatesOutput) GoString() string { 16617 return s.String() 16618} 16619 16620// SetHsmClientCertificates sets the HsmClientCertificates field's value. 16621func (s *DescribeHsmClientCertificatesOutput) SetHsmClientCertificates(v []*HsmClientCertificate) *DescribeHsmClientCertificatesOutput { 16622 s.HsmClientCertificates = v 16623 return s 16624} 16625 16626// SetMarker sets the Marker field's value. 16627func (s *DescribeHsmClientCertificatesOutput) SetMarker(v string) *DescribeHsmClientCertificatesOutput { 16628 s.Marker = &v 16629 return s 16630} 16631 16632type DescribeHsmConfigurationsInput struct { 16633 _ struct{} `type:"structure"` 16634 16635 // The identifier of a specific Amazon Redshift HSM configuration to be described. 16636 // If no identifier is specified, information is returned for all HSM configurations 16637 // owned by your AWS customer account. 16638 HsmConfigurationIdentifier *string `type:"string"` 16639 16640 // An optional parameter that specifies the starting point to return a set of 16641 // response records. When the results of a DescribeHsmConfigurations request 16642 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 16643 // field of the response. You can retrieve the next set of response records 16644 // by providing the returned marker value in the Marker parameter and retrying 16645 // the request. 16646 Marker *string `type:"string"` 16647 16648 // The maximum number of response records to return in each call. If the number 16649 // of remaining response records exceeds the specified MaxRecords value, a value 16650 // is returned in a marker field of the response. You can retrieve the next 16651 // set of records by retrying the command with the returned marker value. 16652 // 16653 // Default: 100 16654 // 16655 // Constraints: minimum 20, maximum 100. 16656 MaxRecords *int64 `type:"integer"` 16657 16658 // A tag key or keys for which you want to return all matching HSM configurations 16659 // that are associated with the specified key or keys. For example, suppose 16660 // that you have HSM configurations that are tagged with keys called owner and 16661 // environment. If you specify both of these tag keys in the request, Amazon 16662 // Redshift returns a response with the HSM configurations that have either 16663 // or both of these tag keys associated with them. 16664 TagKeys []*string `locationNameList:"TagKey" type:"list"` 16665 16666 // A tag value or values for which you want to return all matching HSM configurations 16667 // that are associated with the specified tag value or values. For example, 16668 // suppose that you have HSM configurations that are tagged with values called 16669 // admin and test. If you specify both of these tag values in the request, Amazon 16670 // Redshift returns a response with the HSM configurations that have either 16671 // or both of these tag values associated with them. 16672 TagValues []*string `locationNameList:"TagValue" type:"list"` 16673} 16674 16675// String returns the string representation 16676func (s DescribeHsmConfigurationsInput) String() string { 16677 return awsutil.Prettify(s) 16678} 16679 16680// GoString returns the string representation 16681func (s DescribeHsmConfigurationsInput) GoString() string { 16682 return s.String() 16683} 16684 16685// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 16686func (s *DescribeHsmConfigurationsInput) SetHsmConfigurationIdentifier(v string) *DescribeHsmConfigurationsInput { 16687 s.HsmConfigurationIdentifier = &v 16688 return s 16689} 16690 16691// SetMarker sets the Marker field's value. 16692func (s *DescribeHsmConfigurationsInput) SetMarker(v string) *DescribeHsmConfigurationsInput { 16693 s.Marker = &v 16694 return s 16695} 16696 16697// SetMaxRecords sets the MaxRecords field's value. 16698func (s *DescribeHsmConfigurationsInput) SetMaxRecords(v int64) *DescribeHsmConfigurationsInput { 16699 s.MaxRecords = &v 16700 return s 16701} 16702 16703// SetTagKeys sets the TagKeys field's value. 16704func (s *DescribeHsmConfigurationsInput) SetTagKeys(v []*string) *DescribeHsmConfigurationsInput { 16705 s.TagKeys = v 16706 return s 16707} 16708 16709// SetTagValues sets the TagValues field's value. 16710func (s *DescribeHsmConfigurationsInput) SetTagValues(v []*string) *DescribeHsmConfigurationsInput { 16711 s.TagValues = v 16712 return s 16713} 16714 16715type DescribeHsmConfigurationsOutput struct { 16716 _ struct{} `type:"structure"` 16717 16718 // A list of HsmConfiguration objects. 16719 HsmConfigurations []*HsmConfiguration `locationNameList:"HsmConfiguration" type:"list"` 16720 16721 // A value that indicates the starting point for the next set of response records 16722 // in a subsequent request. If a value is returned in a response, you can retrieve 16723 // the next set of records by providing this returned marker value in the Marker 16724 // parameter and retrying the command. If the Marker field is empty, all response 16725 // records have been retrieved for the request. 16726 Marker *string `type:"string"` 16727} 16728 16729// String returns the string representation 16730func (s DescribeHsmConfigurationsOutput) String() string { 16731 return awsutil.Prettify(s) 16732} 16733 16734// GoString returns the string representation 16735func (s DescribeHsmConfigurationsOutput) GoString() string { 16736 return s.String() 16737} 16738 16739// SetHsmConfigurations sets the HsmConfigurations field's value. 16740func (s *DescribeHsmConfigurationsOutput) SetHsmConfigurations(v []*HsmConfiguration) *DescribeHsmConfigurationsOutput { 16741 s.HsmConfigurations = v 16742 return s 16743} 16744 16745// SetMarker sets the Marker field's value. 16746func (s *DescribeHsmConfigurationsOutput) SetMarker(v string) *DescribeHsmConfigurationsOutput { 16747 s.Marker = &v 16748 return s 16749} 16750 16751type DescribeLoggingStatusInput struct { 16752 _ struct{} `type:"structure"` 16753 16754 // The identifier of the cluster from which to get the logging status. 16755 // 16756 // Example: examplecluster 16757 // 16758 // ClusterIdentifier is a required field 16759 ClusterIdentifier *string `type:"string" required:"true"` 16760} 16761 16762// String returns the string representation 16763func (s DescribeLoggingStatusInput) String() string { 16764 return awsutil.Prettify(s) 16765} 16766 16767// GoString returns the string representation 16768func (s DescribeLoggingStatusInput) GoString() string { 16769 return s.String() 16770} 16771 16772// Validate inspects the fields of the type to determine if they are valid. 16773func (s *DescribeLoggingStatusInput) Validate() error { 16774 invalidParams := request.ErrInvalidParams{Context: "DescribeLoggingStatusInput"} 16775 if s.ClusterIdentifier == nil { 16776 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 16777 } 16778 16779 if invalidParams.Len() > 0 { 16780 return invalidParams 16781 } 16782 return nil 16783} 16784 16785// SetClusterIdentifier sets the ClusterIdentifier field's value. 16786func (s *DescribeLoggingStatusInput) SetClusterIdentifier(v string) *DescribeLoggingStatusInput { 16787 s.ClusterIdentifier = &v 16788 return s 16789} 16790 16791type DescribeNodeConfigurationOptionsInput struct { 16792 _ struct{} `type:"structure"` 16793 16794 // The action type to evaluate for possible node configurations. Specify "restore-cluster" 16795 // to get configuration combinations based on an existing snapshot. Specify 16796 // "recommend-node-config" to get configuration recommendations based on an 16797 // existing cluster or snapshot. Specify "resize-cluster" to get configuration 16798 // combinations for elastic resize based on an existing cluster. 16799 // 16800 // ActionType is a required field 16801 ActionType *string `type:"string" required:"true" enum:"ActionType"` 16802 16803 // The identifier of the cluster to evaluate for possible node configurations. 16804 ClusterIdentifier *string `type:"string"` 16805 16806 // A set of name, operator, and value items to filter the results. 16807 Filters []*NodeConfigurationOptionsFilter `locationName:"Filter" locationNameList:"NodeConfigurationOptionsFilter" type:"list"` 16808 16809 // An optional parameter that specifies the starting point to return a set of 16810 // response records. When the results of a DescribeNodeConfigurationOptions 16811 // request exceed the value specified in MaxRecords, AWS returns a value in 16812 // the Marker field of the response. You can retrieve the next set of response 16813 // records by providing the returned marker value in the Marker parameter and 16814 // retrying the request. 16815 Marker *string `type:"string"` 16816 16817 // The maximum number of response records to return in each call. If the number 16818 // of remaining response records exceeds the specified MaxRecords value, a value 16819 // is returned in a marker field of the response. You can retrieve the next 16820 // set of records by retrying the command with the returned marker value. 16821 // 16822 // Default: 500 16823 // 16824 // Constraints: minimum 100, maximum 500. 16825 MaxRecords *int64 `type:"integer"` 16826 16827 // The AWS customer account used to create or copy the snapshot. Required if 16828 // you are restoring a snapshot you do not own, optional if you own the snapshot. 16829 OwnerAccount *string `type:"string"` 16830 16831 // The identifier of the snapshot to evaluate for possible node configurations. 16832 SnapshotIdentifier *string `type:"string"` 16833} 16834 16835// String returns the string representation 16836func (s DescribeNodeConfigurationOptionsInput) String() string { 16837 return awsutil.Prettify(s) 16838} 16839 16840// GoString returns the string representation 16841func (s DescribeNodeConfigurationOptionsInput) GoString() string { 16842 return s.String() 16843} 16844 16845// Validate inspects the fields of the type to determine if they are valid. 16846func (s *DescribeNodeConfigurationOptionsInput) Validate() error { 16847 invalidParams := request.ErrInvalidParams{Context: "DescribeNodeConfigurationOptionsInput"} 16848 if s.ActionType == nil { 16849 invalidParams.Add(request.NewErrParamRequired("ActionType")) 16850 } 16851 16852 if invalidParams.Len() > 0 { 16853 return invalidParams 16854 } 16855 return nil 16856} 16857 16858// SetActionType sets the ActionType field's value. 16859func (s *DescribeNodeConfigurationOptionsInput) SetActionType(v string) *DescribeNodeConfigurationOptionsInput { 16860 s.ActionType = &v 16861 return s 16862} 16863 16864// SetClusterIdentifier sets the ClusterIdentifier field's value. 16865func (s *DescribeNodeConfigurationOptionsInput) SetClusterIdentifier(v string) *DescribeNodeConfigurationOptionsInput { 16866 s.ClusterIdentifier = &v 16867 return s 16868} 16869 16870// SetFilters sets the Filters field's value. 16871func (s *DescribeNodeConfigurationOptionsInput) SetFilters(v []*NodeConfigurationOptionsFilter) *DescribeNodeConfigurationOptionsInput { 16872 s.Filters = v 16873 return s 16874} 16875 16876// SetMarker sets the Marker field's value. 16877func (s *DescribeNodeConfigurationOptionsInput) SetMarker(v string) *DescribeNodeConfigurationOptionsInput { 16878 s.Marker = &v 16879 return s 16880} 16881 16882// SetMaxRecords sets the MaxRecords field's value. 16883func (s *DescribeNodeConfigurationOptionsInput) SetMaxRecords(v int64) *DescribeNodeConfigurationOptionsInput { 16884 s.MaxRecords = &v 16885 return s 16886} 16887 16888// SetOwnerAccount sets the OwnerAccount field's value. 16889func (s *DescribeNodeConfigurationOptionsInput) SetOwnerAccount(v string) *DescribeNodeConfigurationOptionsInput { 16890 s.OwnerAccount = &v 16891 return s 16892} 16893 16894// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 16895func (s *DescribeNodeConfigurationOptionsInput) SetSnapshotIdentifier(v string) *DescribeNodeConfigurationOptionsInput { 16896 s.SnapshotIdentifier = &v 16897 return s 16898} 16899 16900type DescribeNodeConfigurationOptionsOutput struct { 16901 _ struct{} `type:"structure"` 16902 16903 // A value that indicates the starting point for the next set of response records 16904 // in a subsequent request. If a value is returned in a response, you can retrieve 16905 // the next set of records by providing this returned marker value in the Marker 16906 // parameter and retrying the command. If the Marker field is empty, all response 16907 // records have been retrieved for the request. 16908 Marker *string `type:"string"` 16909 16910 // A list of valid node configurations. 16911 NodeConfigurationOptionList []*NodeConfigurationOption `locationNameList:"NodeConfigurationOption" type:"list"` 16912} 16913 16914// String returns the string representation 16915func (s DescribeNodeConfigurationOptionsOutput) String() string { 16916 return awsutil.Prettify(s) 16917} 16918 16919// GoString returns the string representation 16920func (s DescribeNodeConfigurationOptionsOutput) GoString() string { 16921 return s.String() 16922} 16923 16924// SetMarker sets the Marker field's value. 16925func (s *DescribeNodeConfigurationOptionsOutput) SetMarker(v string) *DescribeNodeConfigurationOptionsOutput { 16926 s.Marker = &v 16927 return s 16928} 16929 16930// SetNodeConfigurationOptionList sets the NodeConfigurationOptionList field's value. 16931func (s *DescribeNodeConfigurationOptionsOutput) SetNodeConfigurationOptionList(v []*NodeConfigurationOption) *DescribeNodeConfigurationOptionsOutput { 16932 s.NodeConfigurationOptionList = v 16933 return s 16934} 16935 16936type DescribeOrderableClusterOptionsInput struct { 16937 _ struct{} `type:"structure"` 16938 16939 // The version filter value. Specify this parameter to show only the available 16940 // offerings matching the specified version. 16941 // 16942 // Default: All versions. 16943 // 16944 // Constraints: Must be one of the version returned from DescribeClusterVersions. 16945 ClusterVersion *string `type:"string"` 16946 16947 // An optional parameter that specifies the starting point to return a set of 16948 // response records. When the results of a DescribeOrderableClusterOptions request 16949 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 16950 // field of the response. You can retrieve the next set of response records 16951 // by providing the returned marker value in the Marker parameter and retrying 16952 // the request. 16953 Marker *string `type:"string"` 16954 16955 // The maximum number of response records to return in each call. If the number 16956 // of remaining response records exceeds the specified MaxRecords value, a value 16957 // is returned in a marker field of the response. You can retrieve the next 16958 // set of records by retrying the command with the returned marker value. 16959 // 16960 // Default: 100 16961 // 16962 // Constraints: minimum 20, maximum 100. 16963 MaxRecords *int64 `type:"integer"` 16964 16965 // The node type filter value. Specify this parameter to show only the available 16966 // offerings matching the specified node type. 16967 NodeType *string `type:"string"` 16968} 16969 16970// String returns the string representation 16971func (s DescribeOrderableClusterOptionsInput) String() string { 16972 return awsutil.Prettify(s) 16973} 16974 16975// GoString returns the string representation 16976func (s DescribeOrderableClusterOptionsInput) GoString() string { 16977 return s.String() 16978} 16979 16980// SetClusterVersion sets the ClusterVersion field's value. 16981func (s *DescribeOrderableClusterOptionsInput) SetClusterVersion(v string) *DescribeOrderableClusterOptionsInput { 16982 s.ClusterVersion = &v 16983 return s 16984} 16985 16986// SetMarker sets the Marker field's value. 16987func (s *DescribeOrderableClusterOptionsInput) SetMarker(v string) *DescribeOrderableClusterOptionsInput { 16988 s.Marker = &v 16989 return s 16990} 16991 16992// SetMaxRecords sets the MaxRecords field's value. 16993func (s *DescribeOrderableClusterOptionsInput) SetMaxRecords(v int64) *DescribeOrderableClusterOptionsInput { 16994 s.MaxRecords = &v 16995 return s 16996} 16997 16998// SetNodeType sets the NodeType field's value. 16999func (s *DescribeOrderableClusterOptionsInput) SetNodeType(v string) *DescribeOrderableClusterOptionsInput { 17000 s.NodeType = &v 17001 return s 17002} 17003 17004// Contains the output from the DescribeOrderableClusterOptions action. 17005type DescribeOrderableClusterOptionsOutput struct { 17006 _ struct{} `type:"structure"` 17007 17008 // A value that indicates the starting point for the next set of response records 17009 // in a subsequent request. If a value is returned in a response, you can retrieve 17010 // the next set of records by providing this returned marker value in the Marker 17011 // parameter and retrying the command. If the Marker field is empty, all response 17012 // records have been retrieved for the request. 17013 Marker *string `type:"string"` 17014 17015 // An OrderableClusterOption structure containing information about orderable 17016 // options for the cluster. 17017 OrderableClusterOptions []*OrderableClusterOption `locationNameList:"OrderableClusterOption" type:"list"` 17018} 17019 17020// String returns the string representation 17021func (s DescribeOrderableClusterOptionsOutput) String() string { 17022 return awsutil.Prettify(s) 17023} 17024 17025// GoString returns the string representation 17026func (s DescribeOrderableClusterOptionsOutput) GoString() string { 17027 return s.String() 17028} 17029 17030// SetMarker sets the Marker field's value. 17031func (s *DescribeOrderableClusterOptionsOutput) SetMarker(v string) *DescribeOrderableClusterOptionsOutput { 17032 s.Marker = &v 17033 return s 17034} 17035 17036// SetOrderableClusterOptions sets the OrderableClusterOptions field's value. 17037func (s *DescribeOrderableClusterOptionsOutput) SetOrderableClusterOptions(v []*OrderableClusterOption) *DescribeOrderableClusterOptionsOutput { 17038 s.OrderableClusterOptions = v 17039 return s 17040} 17041 17042type DescribeReservedNodeOfferingsInput struct { 17043 _ struct{} `type:"structure"` 17044 17045 // An optional parameter that specifies the starting point to return a set of 17046 // response records. When the results of a DescribeReservedNodeOfferings request 17047 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 17048 // field of the response. You can retrieve the next set of response records 17049 // by providing the returned marker value in the Marker parameter and retrying 17050 // the request. 17051 Marker *string `type:"string"` 17052 17053 // The maximum number of response records to return in each call. If the number 17054 // of remaining response records exceeds the specified MaxRecords value, a value 17055 // is returned in a marker field of the response. You can retrieve the next 17056 // set of records by retrying the command with the returned marker value. 17057 // 17058 // Default: 100 17059 // 17060 // Constraints: minimum 20, maximum 100. 17061 MaxRecords *int64 `type:"integer"` 17062 17063 // The unique identifier for the offering. 17064 ReservedNodeOfferingId *string `type:"string"` 17065} 17066 17067// String returns the string representation 17068func (s DescribeReservedNodeOfferingsInput) String() string { 17069 return awsutil.Prettify(s) 17070} 17071 17072// GoString returns the string representation 17073func (s DescribeReservedNodeOfferingsInput) GoString() string { 17074 return s.String() 17075} 17076 17077// SetMarker sets the Marker field's value. 17078func (s *DescribeReservedNodeOfferingsInput) SetMarker(v string) *DescribeReservedNodeOfferingsInput { 17079 s.Marker = &v 17080 return s 17081} 17082 17083// SetMaxRecords sets the MaxRecords field's value. 17084func (s *DescribeReservedNodeOfferingsInput) SetMaxRecords(v int64) *DescribeReservedNodeOfferingsInput { 17085 s.MaxRecords = &v 17086 return s 17087} 17088 17089// SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value. 17090func (s *DescribeReservedNodeOfferingsInput) SetReservedNodeOfferingId(v string) *DescribeReservedNodeOfferingsInput { 17091 s.ReservedNodeOfferingId = &v 17092 return s 17093} 17094 17095type DescribeReservedNodeOfferingsOutput struct { 17096 _ struct{} `type:"structure"` 17097 17098 // A value that indicates the starting point for the next set of response records 17099 // in a subsequent request. If a value is returned in a response, you can retrieve 17100 // the next set of records by providing this returned marker value in the Marker 17101 // parameter and retrying the command. If the Marker field is empty, all response 17102 // records have been retrieved for the request. 17103 Marker *string `type:"string"` 17104 17105 // A list of ReservedNodeOffering objects. 17106 ReservedNodeOfferings []*ReservedNodeOffering `locationNameList:"ReservedNodeOffering" type:"list"` 17107} 17108 17109// String returns the string representation 17110func (s DescribeReservedNodeOfferingsOutput) String() string { 17111 return awsutil.Prettify(s) 17112} 17113 17114// GoString returns the string representation 17115func (s DescribeReservedNodeOfferingsOutput) GoString() string { 17116 return s.String() 17117} 17118 17119// SetMarker sets the Marker field's value. 17120func (s *DescribeReservedNodeOfferingsOutput) SetMarker(v string) *DescribeReservedNodeOfferingsOutput { 17121 s.Marker = &v 17122 return s 17123} 17124 17125// SetReservedNodeOfferings sets the ReservedNodeOfferings field's value. 17126func (s *DescribeReservedNodeOfferingsOutput) SetReservedNodeOfferings(v []*ReservedNodeOffering) *DescribeReservedNodeOfferingsOutput { 17127 s.ReservedNodeOfferings = v 17128 return s 17129} 17130 17131type DescribeReservedNodesInput struct { 17132 _ struct{} `type:"structure"` 17133 17134 // An optional parameter that specifies the starting point to return a set of 17135 // response records. When the results of a DescribeReservedNodes request exceed 17136 // the value specified in MaxRecords, AWS returns a value in the Marker field 17137 // of the response. You can retrieve the next set of response records by providing 17138 // the returned marker value in the Marker parameter and retrying the request. 17139 Marker *string `type:"string"` 17140 17141 // The maximum number of response records to return in each call. If the number 17142 // of remaining response records exceeds the specified MaxRecords value, a value 17143 // is returned in a marker field of the response. You can retrieve the next 17144 // set of records by retrying the command with the returned marker value. 17145 // 17146 // Default: 100 17147 // 17148 // Constraints: minimum 20, maximum 100. 17149 MaxRecords *int64 `type:"integer"` 17150 17151 // Identifier for the node reservation. 17152 ReservedNodeId *string `type:"string"` 17153} 17154 17155// String returns the string representation 17156func (s DescribeReservedNodesInput) String() string { 17157 return awsutil.Prettify(s) 17158} 17159 17160// GoString returns the string representation 17161func (s DescribeReservedNodesInput) GoString() string { 17162 return s.String() 17163} 17164 17165// SetMarker sets the Marker field's value. 17166func (s *DescribeReservedNodesInput) SetMarker(v string) *DescribeReservedNodesInput { 17167 s.Marker = &v 17168 return s 17169} 17170 17171// SetMaxRecords sets the MaxRecords field's value. 17172func (s *DescribeReservedNodesInput) SetMaxRecords(v int64) *DescribeReservedNodesInput { 17173 s.MaxRecords = &v 17174 return s 17175} 17176 17177// SetReservedNodeId sets the ReservedNodeId field's value. 17178func (s *DescribeReservedNodesInput) SetReservedNodeId(v string) *DescribeReservedNodesInput { 17179 s.ReservedNodeId = &v 17180 return s 17181} 17182 17183type DescribeReservedNodesOutput struct { 17184 _ struct{} `type:"structure"` 17185 17186 // A value that indicates the starting point for the next set of response records 17187 // in a subsequent request. If a value is returned in a response, you can retrieve 17188 // the next set of records by providing this returned marker value in the Marker 17189 // parameter and retrying the command. If the Marker field is empty, all response 17190 // records have been retrieved for the request. 17191 Marker *string `type:"string"` 17192 17193 // The list of ReservedNode objects. 17194 ReservedNodes []*ReservedNode `locationNameList:"ReservedNode" type:"list"` 17195} 17196 17197// String returns the string representation 17198func (s DescribeReservedNodesOutput) String() string { 17199 return awsutil.Prettify(s) 17200} 17201 17202// GoString returns the string representation 17203func (s DescribeReservedNodesOutput) GoString() string { 17204 return s.String() 17205} 17206 17207// SetMarker sets the Marker field's value. 17208func (s *DescribeReservedNodesOutput) SetMarker(v string) *DescribeReservedNodesOutput { 17209 s.Marker = &v 17210 return s 17211} 17212 17213// SetReservedNodes sets the ReservedNodes field's value. 17214func (s *DescribeReservedNodesOutput) SetReservedNodes(v []*ReservedNode) *DescribeReservedNodesOutput { 17215 s.ReservedNodes = v 17216 return s 17217} 17218 17219type DescribeResizeInput struct { 17220 _ struct{} `type:"structure"` 17221 17222 // The unique identifier of a cluster whose resize progress you are requesting. 17223 // This parameter is case-sensitive. 17224 // 17225 // By default, resize operations for all clusters defined for an AWS account 17226 // are returned. 17227 // 17228 // ClusterIdentifier is a required field 17229 ClusterIdentifier *string `type:"string" required:"true"` 17230} 17231 17232// String returns the string representation 17233func (s DescribeResizeInput) String() string { 17234 return awsutil.Prettify(s) 17235} 17236 17237// GoString returns the string representation 17238func (s DescribeResizeInput) GoString() string { 17239 return s.String() 17240} 17241 17242// Validate inspects the fields of the type to determine if they are valid. 17243func (s *DescribeResizeInput) Validate() error { 17244 invalidParams := request.ErrInvalidParams{Context: "DescribeResizeInput"} 17245 if s.ClusterIdentifier == nil { 17246 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 17247 } 17248 17249 if invalidParams.Len() > 0 { 17250 return invalidParams 17251 } 17252 return nil 17253} 17254 17255// SetClusterIdentifier sets the ClusterIdentifier field's value. 17256func (s *DescribeResizeInput) SetClusterIdentifier(v string) *DescribeResizeInput { 17257 s.ClusterIdentifier = &v 17258 return s 17259} 17260 17261// Describes the result of a cluster resize operation. 17262type DescribeResizeOutput struct { 17263 _ struct{} `type:"structure"` 17264 17265 // The average rate of the resize operation over the last few minutes, measured 17266 // in megabytes per second. After the resize operation completes, this value 17267 // shows the average rate of the entire resize operation. 17268 AvgResizeRateInMegaBytesPerSecond *float64 `type:"double"` 17269 17270 // The percent of data transferred from source cluster to target cluster. 17271 DataTransferProgressPercent *float64 `type:"double"` 17272 17273 // The amount of seconds that have elapsed since the resize operation began. 17274 // After the resize operation completes, this value shows the total actual time, 17275 // in seconds, for the resize operation. 17276 ElapsedTimeInSeconds *int64 `type:"long"` 17277 17278 // The estimated time remaining, in seconds, until the resize operation is complete. 17279 // This value is calculated based on the average resize rate and the estimated 17280 // amount of data remaining to be processed. Once the resize operation is complete, 17281 // this value will be 0. 17282 EstimatedTimeToCompletionInSeconds *int64 `type:"long"` 17283 17284 // The names of tables that have been completely imported . 17285 // 17286 // Valid Values: List of table names. 17287 ImportTablesCompleted []*string `type:"list"` 17288 17289 // The names of tables that are being currently imported. 17290 // 17291 // Valid Values: List of table names. 17292 ImportTablesInProgress []*string `type:"list"` 17293 17294 // The names of tables that have not been yet imported. 17295 // 17296 // Valid Values: List of table names 17297 ImportTablesNotStarted []*string `type:"list"` 17298 17299 // An optional string to provide additional details about the resize action. 17300 Message *string `type:"string"` 17301 17302 // While the resize operation is in progress, this value shows the current amount 17303 // of data, in megabytes, that has been processed so far. When the resize operation 17304 // is complete, this value shows the total amount of data, in megabytes, on 17305 // the cluster, which may be more or less than TotalResizeDataInMegaBytes (the 17306 // estimated total amount of data before resize). 17307 ProgressInMegaBytes *int64 `type:"long"` 17308 17309 // An enum with possible values of ClassicResize and ElasticResize. These values 17310 // describe the type of resize operation being performed. 17311 ResizeType *string `type:"string"` 17312 17313 // The status of the resize operation. 17314 // 17315 // Valid Values: NONE | IN_PROGRESS | FAILED | SUCCEEDED | CANCELLING 17316 Status *string `type:"string"` 17317 17318 // The cluster type after the resize operation is complete. 17319 // 17320 // Valid Values: multi-node | single-node 17321 TargetClusterType *string `type:"string"` 17322 17323 // The type of encryption for the cluster after the resize is complete. 17324 // 17325 // Possible values are KMS and None. In the China region possible values are: 17326 // Legacy and None. 17327 TargetEncryptionType *string `type:"string"` 17328 17329 // The node type that the cluster will have after the resize operation is complete. 17330 TargetNodeType *string `type:"string"` 17331 17332 // The number of nodes that the cluster will have after the resize operation 17333 // is complete. 17334 TargetNumberOfNodes *int64 `type:"integer"` 17335 17336 // The estimated total amount of data, in megabytes, on the cluster before the 17337 // resize operation began. 17338 TotalResizeDataInMegaBytes *int64 `type:"long"` 17339} 17340 17341// String returns the string representation 17342func (s DescribeResizeOutput) String() string { 17343 return awsutil.Prettify(s) 17344} 17345 17346// GoString returns the string representation 17347func (s DescribeResizeOutput) GoString() string { 17348 return s.String() 17349} 17350 17351// SetAvgResizeRateInMegaBytesPerSecond sets the AvgResizeRateInMegaBytesPerSecond field's value. 17352func (s *DescribeResizeOutput) SetAvgResizeRateInMegaBytesPerSecond(v float64) *DescribeResizeOutput { 17353 s.AvgResizeRateInMegaBytesPerSecond = &v 17354 return s 17355} 17356 17357// SetDataTransferProgressPercent sets the DataTransferProgressPercent field's value. 17358func (s *DescribeResizeOutput) SetDataTransferProgressPercent(v float64) *DescribeResizeOutput { 17359 s.DataTransferProgressPercent = &v 17360 return s 17361} 17362 17363// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value. 17364func (s *DescribeResizeOutput) SetElapsedTimeInSeconds(v int64) *DescribeResizeOutput { 17365 s.ElapsedTimeInSeconds = &v 17366 return s 17367} 17368 17369// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value. 17370func (s *DescribeResizeOutput) SetEstimatedTimeToCompletionInSeconds(v int64) *DescribeResizeOutput { 17371 s.EstimatedTimeToCompletionInSeconds = &v 17372 return s 17373} 17374 17375// SetImportTablesCompleted sets the ImportTablesCompleted field's value. 17376func (s *DescribeResizeOutput) SetImportTablesCompleted(v []*string) *DescribeResizeOutput { 17377 s.ImportTablesCompleted = v 17378 return s 17379} 17380 17381// SetImportTablesInProgress sets the ImportTablesInProgress field's value. 17382func (s *DescribeResizeOutput) SetImportTablesInProgress(v []*string) *DescribeResizeOutput { 17383 s.ImportTablesInProgress = v 17384 return s 17385} 17386 17387// SetImportTablesNotStarted sets the ImportTablesNotStarted field's value. 17388func (s *DescribeResizeOutput) SetImportTablesNotStarted(v []*string) *DescribeResizeOutput { 17389 s.ImportTablesNotStarted = v 17390 return s 17391} 17392 17393// SetMessage sets the Message field's value. 17394func (s *DescribeResizeOutput) SetMessage(v string) *DescribeResizeOutput { 17395 s.Message = &v 17396 return s 17397} 17398 17399// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value. 17400func (s *DescribeResizeOutput) SetProgressInMegaBytes(v int64) *DescribeResizeOutput { 17401 s.ProgressInMegaBytes = &v 17402 return s 17403} 17404 17405// SetResizeType sets the ResizeType field's value. 17406func (s *DescribeResizeOutput) SetResizeType(v string) *DescribeResizeOutput { 17407 s.ResizeType = &v 17408 return s 17409} 17410 17411// SetStatus sets the Status field's value. 17412func (s *DescribeResizeOutput) SetStatus(v string) *DescribeResizeOutput { 17413 s.Status = &v 17414 return s 17415} 17416 17417// SetTargetClusterType sets the TargetClusterType field's value. 17418func (s *DescribeResizeOutput) SetTargetClusterType(v string) *DescribeResizeOutput { 17419 s.TargetClusterType = &v 17420 return s 17421} 17422 17423// SetTargetEncryptionType sets the TargetEncryptionType field's value. 17424func (s *DescribeResizeOutput) SetTargetEncryptionType(v string) *DescribeResizeOutput { 17425 s.TargetEncryptionType = &v 17426 return s 17427} 17428 17429// SetTargetNodeType sets the TargetNodeType field's value. 17430func (s *DescribeResizeOutput) SetTargetNodeType(v string) *DescribeResizeOutput { 17431 s.TargetNodeType = &v 17432 return s 17433} 17434 17435// SetTargetNumberOfNodes sets the TargetNumberOfNodes field's value. 17436func (s *DescribeResizeOutput) SetTargetNumberOfNodes(v int64) *DescribeResizeOutput { 17437 s.TargetNumberOfNodes = &v 17438 return s 17439} 17440 17441// SetTotalResizeDataInMegaBytes sets the TotalResizeDataInMegaBytes field's value. 17442func (s *DescribeResizeOutput) SetTotalResizeDataInMegaBytes(v int64) *DescribeResizeOutput { 17443 s.TotalResizeDataInMegaBytes = &v 17444 return s 17445} 17446 17447type DescribeScheduledActionsInput struct { 17448 _ struct{} `type:"structure"` 17449 17450 // If true, retrieve only active scheduled actions. If false, retrieve only 17451 // disabled scheduled actions. 17452 Active *bool `type:"boolean"` 17453 17454 // The end time in UTC of the scheduled action to retrieve. Only active scheduled 17455 // actions that have invocations before this time are retrieved. 17456 EndTime *time.Time `type:"timestamp"` 17457 17458 // List of scheduled action filters. 17459 Filters []*ScheduledActionFilter `locationNameList:"ScheduledActionFilter" type:"list"` 17460 17461 // An optional parameter that specifies the starting point to return a set of 17462 // response records. When the results of a DescribeScheduledActions request 17463 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 17464 // field of the response. You can retrieve the next set of response records 17465 // by providing the returned marker value in the Marker parameter and retrying 17466 // the request. 17467 Marker *string `type:"string"` 17468 17469 // The maximum number of response records to return in each call. If the number 17470 // of remaining response records exceeds the specified MaxRecords value, a value 17471 // is returned in a marker field of the response. You can retrieve the next 17472 // set of records by retrying the command with the returned marker value. 17473 // 17474 // Default: 100 17475 // 17476 // Constraints: minimum 20, maximum 100. 17477 MaxRecords *int64 `type:"integer"` 17478 17479 // The name of the scheduled action to retrieve. 17480 ScheduledActionName *string `type:"string"` 17481 17482 // The start time in UTC of the scheduled actions to retrieve. Only active scheduled 17483 // actions that have invocations after this time are retrieved. 17484 StartTime *time.Time `type:"timestamp"` 17485 17486 // The type of the scheduled actions to retrieve. 17487 TargetActionType *string `type:"string" enum:"ScheduledActionTypeValues"` 17488} 17489 17490// String returns the string representation 17491func (s DescribeScheduledActionsInput) String() string { 17492 return awsutil.Prettify(s) 17493} 17494 17495// GoString returns the string representation 17496func (s DescribeScheduledActionsInput) GoString() string { 17497 return s.String() 17498} 17499 17500// Validate inspects the fields of the type to determine if they are valid. 17501func (s *DescribeScheduledActionsInput) Validate() error { 17502 invalidParams := request.ErrInvalidParams{Context: "DescribeScheduledActionsInput"} 17503 if s.Filters != nil { 17504 for i, v := range s.Filters { 17505 if v == nil { 17506 continue 17507 } 17508 if err := v.Validate(); err != nil { 17509 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) 17510 } 17511 } 17512 } 17513 17514 if invalidParams.Len() > 0 { 17515 return invalidParams 17516 } 17517 return nil 17518} 17519 17520// SetActive sets the Active field's value. 17521func (s *DescribeScheduledActionsInput) SetActive(v bool) *DescribeScheduledActionsInput { 17522 s.Active = &v 17523 return s 17524} 17525 17526// SetEndTime sets the EndTime field's value. 17527func (s *DescribeScheduledActionsInput) SetEndTime(v time.Time) *DescribeScheduledActionsInput { 17528 s.EndTime = &v 17529 return s 17530} 17531 17532// SetFilters sets the Filters field's value. 17533func (s *DescribeScheduledActionsInput) SetFilters(v []*ScheduledActionFilter) *DescribeScheduledActionsInput { 17534 s.Filters = v 17535 return s 17536} 17537 17538// SetMarker sets the Marker field's value. 17539func (s *DescribeScheduledActionsInput) SetMarker(v string) *DescribeScheduledActionsInput { 17540 s.Marker = &v 17541 return s 17542} 17543 17544// SetMaxRecords sets the MaxRecords field's value. 17545func (s *DescribeScheduledActionsInput) SetMaxRecords(v int64) *DescribeScheduledActionsInput { 17546 s.MaxRecords = &v 17547 return s 17548} 17549 17550// SetScheduledActionName sets the ScheduledActionName field's value. 17551func (s *DescribeScheduledActionsInput) SetScheduledActionName(v string) *DescribeScheduledActionsInput { 17552 s.ScheduledActionName = &v 17553 return s 17554} 17555 17556// SetStartTime sets the StartTime field's value. 17557func (s *DescribeScheduledActionsInput) SetStartTime(v time.Time) *DescribeScheduledActionsInput { 17558 s.StartTime = &v 17559 return s 17560} 17561 17562// SetTargetActionType sets the TargetActionType field's value. 17563func (s *DescribeScheduledActionsInput) SetTargetActionType(v string) *DescribeScheduledActionsInput { 17564 s.TargetActionType = &v 17565 return s 17566} 17567 17568type DescribeScheduledActionsOutput struct { 17569 _ struct{} `type:"structure"` 17570 17571 // An optional parameter that specifies the starting point to return a set of 17572 // response records. When the results of a DescribeScheduledActions request 17573 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 17574 // field of the response. You can retrieve the next set of response records 17575 // by providing the returned marker value in the Marker parameter and retrying 17576 // the request. 17577 Marker *string `type:"string"` 17578 17579 // List of retrieved scheduled actions. 17580 ScheduledActions []*ScheduledAction `locationNameList:"ScheduledAction" type:"list"` 17581} 17582 17583// String returns the string representation 17584func (s DescribeScheduledActionsOutput) String() string { 17585 return awsutil.Prettify(s) 17586} 17587 17588// GoString returns the string representation 17589func (s DescribeScheduledActionsOutput) GoString() string { 17590 return s.String() 17591} 17592 17593// SetMarker sets the Marker field's value. 17594func (s *DescribeScheduledActionsOutput) SetMarker(v string) *DescribeScheduledActionsOutput { 17595 s.Marker = &v 17596 return s 17597} 17598 17599// SetScheduledActions sets the ScheduledActions field's value. 17600func (s *DescribeScheduledActionsOutput) SetScheduledActions(v []*ScheduledAction) *DescribeScheduledActionsOutput { 17601 s.ScheduledActions = v 17602 return s 17603} 17604 17605// The result of the DescribeSnapshotCopyGrants action. 17606type DescribeSnapshotCopyGrantsInput struct { 17607 _ struct{} `type:"structure"` 17608 17609 // An optional parameter that specifies the starting point to return a set of 17610 // response records. When the results of a DescribeSnapshotCopyGrant request 17611 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 17612 // field of the response. You can retrieve the next set of response records 17613 // by providing the returned marker value in the Marker parameter and retrying 17614 // the request. 17615 // 17616 // Constraints: You can specify either the SnapshotCopyGrantName parameter or 17617 // the Marker parameter, but not both. 17618 Marker *string `type:"string"` 17619 17620 // The maximum number of response records to return in each call. If the number 17621 // of remaining response records exceeds the specified MaxRecords value, a value 17622 // is returned in a marker field of the response. You can retrieve the next 17623 // set of records by retrying the command with the returned marker value. 17624 // 17625 // Default: 100 17626 // 17627 // Constraints: minimum 20, maximum 100. 17628 MaxRecords *int64 `type:"integer"` 17629 17630 // The name of the snapshot copy grant. 17631 SnapshotCopyGrantName *string `type:"string"` 17632 17633 // A tag key or keys for which you want to return all matching resources that 17634 // are associated with the specified key or keys. For example, suppose that 17635 // you have resources tagged with keys called owner and environment. If you 17636 // specify both of these tag keys in the request, Amazon Redshift returns a 17637 // response with all resources that have either or both of these tag keys associated 17638 // with them. 17639 TagKeys []*string `locationNameList:"TagKey" type:"list"` 17640 17641 // A tag value or values for which you want to return all matching resources 17642 // that are associated with the specified value or values. For example, suppose 17643 // that you have resources tagged with values called admin and test. If you 17644 // specify both of these tag values in the request, Amazon Redshift returns 17645 // a response with all resources that have either or both of these tag values 17646 // associated with them. 17647 TagValues []*string `locationNameList:"TagValue" type:"list"` 17648} 17649 17650// String returns the string representation 17651func (s DescribeSnapshotCopyGrantsInput) String() string { 17652 return awsutil.Prettify(s) 17653} 17654 17655// GoString returns the string representation 17656func (s DescribeSnapshotCopyGrantsInput) GoString() string { 17657 return s.String() 17658} 17659 17660// SetMarker sets the Marker field's value. 17661func (s *DescribeSnapshotCopyGrantsInput) SetMarker(v string) *DescribeSnapshotCopyGrantsInput { 17662 s.Marker = &v 17663 return s 17664} 17665 17666// SetMaxRecords sets the MaxRecords field's value. 17667func (s *DescribeSnapshotCopyGrantsInput) SetMaxRecords(v int64) *DescribeSnapshotCopyGrantsInput { 17668 s.MaxRecords = &v 17669 return s 17670} 17671 17672// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value. 17673func (s *DescribeSnapshotCopyGrantsInput) SetSnapshotCopyGrantName(v string) *DescribeSnapshotCopyGrantsInput { 17674 s.SnapshotCopyGrantName = &v 17675 return s 17676} 17677 17678// SetTagKeys sets the TagKeys field's value. 17679func (s *DescribeSnapshotCopyGrantsInput) SetTagKeys(v []*string) *DescribeSnapshotCopyGrantsInput { 17680 s.TagKeys = v 17681 return s 17682} 17683 17684// SetTagValues sets the TagValues field's value. 17685func (s *DescribeSnapshotCopyGrantsInput) SetTagValues(v []*string) *DescribeSnapshotCopyGrantsInput { 17686 s.TagValues = v 17687 return s 17688} 17689 17690type DescribeSnapshotCopyGrantsOutput struct { 17691 _ struct{} `type:"structure"` 17692 17693 // An optional parameter that specifies the starting point to return a set of 17694 // response records. When the results of a DescribeSnapshotCopyGrant request 17695 // exceed the value specified in MaxRecords, AWS returns a value in the Marker 17696 // field of the response. You can retrieve the next set of response records 17697 // by providing the returned marker value in the Marker parameter and retrying 17698 // the request. 17699 // 17700 // Constraints: You can specify either the SnapshotCopyGrantName parameter or 17701 // the Marker parameter, but not both. 17702 Marker *string `type:"string"` 17703 17704 // The list of SnapshotCopyGrant objects. 17705 SnapshotCopyGrants []*SnapshotCopyGrant `locationNameList:"SnapshotCopyGrant" type:"list"` 17706} 17707 17708// String returns the string representation 17709func (s DescribeSnapshotCopyGrantsOutput) String() string { 17710 return awsutil.Prettify(s) 17711} 17712 17713// GoString returns the string representation 17714func (s DescribeSnapshotCopyGrantsOutput) GoString() string { 17715 return s.String() 17716} 17717 17718// SetMarker sets the Marker field's value. 17719func (s *DescribeSnapshotCopyGrantsOutput) SetMarker(v string) *DescribeSnapshotCopyGrantsOutput { 17720 s.Marker = &v 17721 return s 17722} 17723 17724// SetSnapshotCopyGrants sets the SnapshotCopyGrants field's value. 17725func (s *DescribeSnapshotCopyGrantsOutput) SetSnapshotCopyGrants(v []*SnapshotCopyGrant) *DescribeSnapshotCopyGrantsOutput { 17726 s.SnapshotCopyGrants = v 17727 return s 17728} 17729 17730type DescribeSnapshotSchedulesInput struct { 17731 _ struct{} `type:"structure"` 17732 17733 // The unique identifier for the cluster whose snapshot schedules you want to 17734 // view. 17735 ClusterIdentifier *string `type:"string"` 17736 17737 // A value that indicates the starting point for the next set of response records 17738 // in a subsequent request. If a value is returned in a response, you can retrieve 17739 // the next set of records by providing this returned marker value in the marker 17740 // parameter and retrying the command. If the marker field is empty, all response 17741 // records have been retrieved for the request. 17742 Marker *string `type:"string"` 17743 17744 // The maximum number or response records to return in each call. If the number 17745 // of remaining response records exceeds the specified MaxRecords value, a value 17746 // is returned in a marker field of the response. You can retrieve the next 17747 // set of records by retrying the command with the returned marker value. 17748 MaxRecords *int64 `type:"integer"` 17749 17750 // A unique identifier for a snapshot schedule. 17751 ScheduleIdentifier *string `type:"string"` 17752 17753 // The key value for a snapshot schedule tag. 17754 TagKeys []*string `locationNameList:"TagKey" type:"list"` 17755 17756 // The value corresponding to the key of the snapshot schedule tag. 17757 TagValues []*string `locationNameList:"TagValue" type:"list"` 17758} 17759 17760// String returns the string representation 17761func (s DescribeSnapshotSchedulesInput) String() string { 17762 return awsutil.Prettify(s) 17763} 17764 17765// GoString returns the string representation 17766func (s DescribeSnapshotSchedulesInput) GoString() string { 17767 return s.String() 17768} 17769 17770// SetClusterIdentifier sets the ClusterIdentifier field's value. 17771func (s *DescribeSnapshotSchedulesInput) SetClusterIdentifier(v string) *DescribeSnapshotSchedulesInput { 17772 s.ClusterIdentifier = &v 17773 return s 17774} 17775 17776// SetMarker sets the Marker field's value. 17777func (s *DescribeSnapshotSchedulesInput) SetMarker(v string) *DescribeSnapshotSchedulesInput { 17778 s.Marker = &v 17779 return s 17780} 17781 17782// SetMaxRecords sets the MaxRecords field's value. 17783func (s *DescribeSnapshotSchedulesInput) SetMaxRecords(v int64) *DescribeSnapshotSchedulesInput { 17784 s.MaxRecords = &v 17785 return s 17786} 17787 17788// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 17789func (s *DescribeSnapshotSchedulesInput) SetScheduleIdentifier(v string) *DescribeSnapshotSchedulesInput { 17790 s.ScheduleIdentifier = &v 17791 return s 17792} 17793 17794// SetTagKeys sets the TagKeys field's value. 17795func (s *DescribeSnapshotSchedulesInput) SetTagKeys(v []*string) *DescribeSnapshotSchedulesInput { 17796 s.TagKeys = v 17797 return s 17798} 17799 17800// SetTagValues sets the TagValues field's value. 17801func (s *DescribeSnapshotSchedulesInput) SetTagValues(v []*string) *DescribeSnapshotSchedulesInput { 17802 s.TagValues = v 17803 return s 17804} 17805 17806type DescribeSnapshotSchedulesOutput struct { 17807 _ struct{} `type:"structure"` 17808 17809 // A value that indicates the starting point for the next set of response records 17810 // in a subsequent request. If a value is returned in a response, you can retrieve 17811 // the next set of records by providing this returned marker value in the marker 17812 // parameter and retrying the command. If the marker field is empty, all response 17813 // records have been retrieved for the request. 17814 Marker *string `type:"string"` 17815 17816 // A list of SnapshotSchedules. 17817 SnapshotSchedules []*SnapshotSchedule `locationNameList:"SnapshotSchedule" type:"list"` 17818} 17819 17820// String returns the string representation 17821func (s DescribeSnapshotSchedulesOutput) String() string { 17822 return awsutil.Prettify(s) 17823} 17824 17825// GoString returns the string representation 17826func (s DescribeSnapshotSchedulesOutput) GoString() string { 17827 return s.String() 17828} 17829 17830// SetMarker sets the Marker field's value. 17831func (s *DescribeSnapshotSchedulesOutput) SetMarker(v string) *DescribeSnapshotSchedulesOutput { 17832 s.Marker = &v 17833 return s 17834} 17835 17836// SetSnapshotSchedules sets the SnapshotSchedules field's value. 17837func (s *DescribeSnapshotSchedulesOutput) SetSnapshotSchedules(v []*SnapshotSchedule) *DescribeSnapshotSchedulesOutput { 17838 s.SnapshotSchedules = v 17839 return s 17840} 17841 17842type DescribeStorageInput struct { 17843 _ struct{} `type:"structure"` 17844} 17845 17846// String returns the string representation 17847func (s DescribeStorageInput) String() string { 17848 return awsutil.Prettify(s) 17849} 17850 17851// GoString returns the string representation 17852func (s DescribeStorageInput) GoString() string { 17853 return s.String() 17854} 17855 17856type DescribeStorageOutput struct { 17857 _ struct{} `type:"structure"` 17858 17859 // The total amount of storage currently used for snapshots. 17860 TotalBackupSizeInMegaBytes *float64 `type:"double"` 17861 17862 // The total amount of storage currently provisioned. 17863 TotalProvisionedStorageInMegaBytes *float64 `type:"double"` 17864} 17865 17866// String returns the string representation 17867func (s DescribeStorageOutput) String() string { 17868 return awsutil.Prettify(s) 17869} 17870 17871// GoString returns the string representation 17872func (s DescribeStorageOutput) GoString() string { 17873 return s.String() 17874} 17875 17876// SetTotalBackupSizeInMegaBytes sets the TotalBackupSizeInMegaBytes field's value. 17877func (s *DescribeStorageOutput) SetTotalBackupSizeInMegaBytes(v float64) *DescribeStorageOutput { 17878 s.TotalBackupSizeInMegaBytes = &v 17879 return s 17880} 17881 17882// SetTotalProvisionedStorageInMegaBytes sets the TotalProvisionedStorageInMegaBytes field's value. 17883func (s *DescribeStorageOutput) SetTotalProvisionedStorageInMegaBytes(v float64) *DescribeStorageOutput { 17884 s.TotalProvisionedStorageInMegaBytes = &v 17885 return s 17886} 17887 17888type DescribeTableRestoreStatusInput struct { 17889 _ struct{} `type:"structure"` 17890 17891 // The Amazon Redshift cluster that the table is being restored to. 17892 ClusterIdentifier *string `type:"string"` 17893 17894 // An optional pagination token provided by a previous DescribeTableRestoreStatus 17895 // request. If this parameter is specified, the response includes only records 17896 // beyond the marker, up to the value specified by the MaxRecords parameter. 17897 Marker *string `type:"string"` 17898 17899 // The maximum number of records to include in the response. If more records 17900 // exist than the specified MaxRecords value, a pagination token called a marker 17901 // is included in the response so that the remaining results can be retrieved. 17902 MaxRecords *int64 `type:"integer"` 17903 17904 // The identifier of the table restore request to return status for. If you 17905 // don't specify a TableRestoreRequestId value, then DescribeTableRestoreStatus 17906 // returns the status of all in-progress table restore requests. 17907 TableRestoreRequestId *string `type:"string"` 17908} 17909 17910// String returns the string representation 17911func (s DescribeTableRestoreStatusInput) String() string { 17912 return awsutil.Prettify(s) 17913} 17914 17915// GoString returns the string representation 17916func (s DescribeTableRestoreStatusInput) GoString() string { 17917 return s.String() 17918} 17919 17920// SetClusterIdentifier sets the ClusterIdentifier field's value. 17921func (s *DescribeTableRestoreStatusInput) SetClusterIdentifier(v string) *DescribeTableRestoreStatusInput { 17922 s.ClusterIdentifier = &v 17923 return s 17924} 17925 17926// SetMarker sets the Marker field's value. 17927func (s *DescribeTableRestoreStatusInput) SetMarker(v string) *DescribeTableRestoreStatusInput { 17928 s.Marker = &v 17929 return s 17930} 17931 17932// SetMaxRecords sets the MaxRecords field's value. 17933func (s *DescribeTableRestoreStatusInput) SetMaxRecords(v int64) *DescribeTableRestoreStatusInput { 17934 s.MaxRecords = &v 17935 return s 17936} 17937 17938// SetTableRestoreRequestId sets the TableRestoreRequestId field's value. 17939func (s *DescribeTableRestoreStatusInput) SetTableRestoreRequestId(v string) *DescribeTableRestoreStatusInput { 17940 s.TableRestoreRequestId = &v 17941 return s 17942} 17943 17944type DescribeTableRestoreStatusOutput struct { 17945 _ struct{} `type:"structure"` 17946 17947 // A pagination token that can be used in a subsequent DescribeTableRestoreStatus 17948 // request. 17949 Marker *string `type:"string"` 17950 17951 // A list of status details for one or more table restore requests. 17952 TableRestoreStatusDetails []*TableRestoreStatus `locationNameList:"TableRestoreStatus" type:"list"` 17953} 17954 17955// String returns the string representation 17956func (s DescribeTableRestoreStatusOutput) String() string { 17957 return awsutil.Prettify(s) 17958} 17959 17960// GoString returns the string representation 17961func (s DescribeTableRestoreStatusOutput) GoString() string { 17962 return s.String() 17963} 17964 17965// SetMarker sets the Marker field's value. 17966func (s *DescribeTableRestoreStatusOutput) SetMarker(v string) *DescribeTableRestoreStatusOutput { 17967 s.Marker = &v 17968 return s 17969} 17970 17971// SetTableRestoreStatusDetails sets the TableRestoreStatusDetails field's value. 17972func (s *DescribeTableRestoreStatusOutput) SetTableRestoreStatusDetails(v []*TableRestoreStatus) *DescribeTableRestoreStatusOutput { 17973 s.TableRestoreStatusDetails = v 17974 return s 17975} 17976 17977type DescribeTagsInput struct { 17978 _ struct{} `type:"structure"` 17979 17980 // A value that indicates the starting point for the next set of response records 17981 // in a subsequent request. If a value is returned in a response, you can retrieve 17982 // the next set of records by providing this returned marker value in the marker 17983 // parameter and retrying the command. If the marker field is empty, all response 17984 // records have been retrieved for the request. 17985 Marker *string `type:"string"` 17986 17987 // The maximum number or response records to return in each call. If the number 17988 // of remaining response records exceeds the specified MaxRecords value, a value 17989 // is returned in a marker field of the response. You can retrieve the next 17990 // set of records by retrying the command with the returned marker value. 17991 MaxRecords *int64 `type:"integer"` 17992 17993 // The Amazon Resource Name (ARN) for which you want to describe the tag or 17994 // tags. For example, arn:aws:redshift:us-east-2:123456789:cluster:t1. 17995 ResourceName *string `type:"string"` 17996 17997 // The type of resource with which you want to view tags. Valid resource types 17998 // are: 17999 // 18000 // * Cluster 18001 // 18002 // * CIDR/IP 18003 // 18004 // * EC2 security group 18005 // 18006 // * Snapshot 18007 // 18008 // * Cluster security group 18009 // 18010 // * Subnet group 18011 // 18012 // * HSM connection 18013 // 18014 // * HSM certificate 18015 // 18016 // * Parameter group 18017 // 18018 // * Snapshot copy grant 18019 // 18020 // For more information about Amazon Redshift resource types and constructing 18021 // ARNs, go to Specifying Policy Elements: Actions, Effects, Resources, and 18022 // Principals (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-overview.html#redshift-iam-access-control-specify-actions) 18023 // in the Amazon Redshift Cluster Management Guide. 18024 ResourceType *string `type:"string"` 18025 18026 // A tag key or keys for which you want to return all matching resources that 18027 // are associated with the specified key or keys. For example, suppose that 18028 // you have resources tagged with keys called owner and environment. If you 18029 // specify both of these tag keys in the request, Amazon Redshift returns a 18030 // response with all resources that have either or both of these tag keys associated 18031 // with them. 18032 TagKeys []*string `locationNameList:"TagKey" type:"list"` 18033 18034 // A tag value or values for which you want to return all matching resources 18035 // that are associated with the specified value or values. For example, suppose 18036 // that you have resources tagged with values called admin and test. If you 18037 // specify both of these tag values in the request, Amazon Redshift returns 18038 // a response with all resources that have either or both of these tag values 18039 // associated with them. 18040 TagValues []*string `locationNameList:"TagValue" type:"list"` 18041} 18042 18043// String returns the string representation 18044func (s DescribeTagsInput) String() string { 18045 return awsutil.Prettify(s) 18046} 18047 18048// GoString returns the string representation 18049func (s DescribeTagsInput) GoString() string { 18050 return s.String() 18051} 18052 18053// SetMarker sets the Marker field's value. 18054func (s *DescribeTagsInput) SetMarker(v string) *DescribeTagsInput { 18055 s.Marker = &v 18056 return s 18057} 18058 18059// SetMaxRecords sets the MaxRecords field's value. 18060func (s *DescribeTagsInput) SetMaxRecords(v int64) *DescribeTagsInput { 18061 s.MaxRecords = &v 18062 return s 18063} 18064 18065// SetResourceName sets the ResourceName field's value. 18066func (s *DescribeTagsInput) SetResourceName(v string) *DescribeTagsInput { 18067 s.ResourceName = &v 18068 return s 18069} 18070 18071// SetResourceType sets the ResourceType field's value. 18072func (s *DescribeTagsInput) SetResourceType(v string) *DescribeTagsInput { 18073 s.ResourceType = &v 18074 return s 18075} 18076 18077// SetTagKeys sets the TagKeys field's value. 18078func (s *DescribeTagsInput) SetTagKeys(v []*string) *DescribeTagsInput { 18079 s.TagKeys = v 18080 return s 18081} 18082 18083// SetTagValues sets the TagValues field's value. 18084func (s *DescribeTagsInput) SetTagValues(v []*string) *DescribeTagsInput { 18085 s.TagValues = v 18086 return s 18087} 18088 18089type DescribeTagsOutput struct { 18090 _ struct{} `type:"structure"` 18091 18092 // A value that indicates the starting point for the next set of response records 18093 // in a subsequent request. If a value is returned in a response, you can retrieve 18094 // the next set of records by providing this returned marker value in the Marker 18095 // parameter and retrying the command. If the Marker field is empty, all response 18096 // records have been retrieved for the request. 18097 Marker *string `type:"string"` 18098 18099 // A list of tags with their associated resources. 18100 TaggedResources []*TaggedResource `locationNameList:"TaggedResource" type:"list"` 18101} 18102 18103// String returns the string representation 18104func (s DescribeTagsOutput) String() string { 18105 return awsutil.Prettify(s) 18106} 18107 18108// GoString returns the string representation 18109func (s DescribeTagsOutput) GoString() string { 18110 return s.String() 18111} 18112 18113// SetMarker sets the Marker field's value. 18114func (s *DescribeTagsOutput) SetMarker(v string) *DescribeTagsOutput { 18115 s.Marker = &v 18116 return s 18117} 18118 18119// SetTaggedResources sets the TaggedResources field's value. 18120func (s *DescribeTagsOutput) SetTaggedResources(v []*TaggedResource) *DescribeTagsOutput { 18121 s.TaggedResources = v 18122 return s 18123} 18124 18125type DescribeUsageLimitsInput struct { 18126 _ struct{} `type:"structure"` 18127 18128 // The identifier of the cluster for which you want to describe usage limits. 18129 ClusterIdentifier *string `type:"string"` 18130 18131 // The feature type for which you want to describe usage limits. 18132 FeatureType *string `type:"string" enum:"UsageLimitFeatureType"` 18133 18134 // An optional parameter that specifies the starting point to return a set of 18135 // response records. When the results of a DescribeUsageLimits request exceed 18136 // the value specified in MaxRecords, AWS returns a value in the Marker field 18137 // of the response. You can retrieve the next set of response records by providing 18138 // the returned marker value in the Marker parameter and retrying the request. 18139 Marker *string `type:"string"` 18140 18141 // The maximum number of response records to return in each call. If the number 18142 // of remaining response records exceeds the specified MaxRecords value, a value 18143 // is returned in a marker field of the response. You can retrieve the next 18144 // set of records by retrying the command with the returned marker value. 18145 // 18146 // Default: 100 18147 // 18148 // Constraints: minimum 20, maximum 100. 18149 MaxRecords *int64 `type:"integer"` 18150 18151 // A tag key or keys for which you want to return all matching usage limit objects 18152 // that are associated with the specified key or keys. For example, suppose 18153 // that you have parameter groups that are tagged with keys called owner and 18154 // environment. If you specify both of these tag keys in the request, Amazon 18155 // Redshift returns a response with the usage limit objects have either or both 18156 // of these tag keys associated with them. 18157 TagKeys []*string `locationNameList:"TagKey" type:"list"` 18158 18159 // A tag value or values for which you want to return all matching usage limit 18160 // objects that are associated with the specified tag value or values. For example, 18161 // suppose that you have parameter groups that are tagged with values called 18162 // admin and test. If you specify both of these tag values in the request, Amazon 18163 // Redshift returns a response with the usage limit objects that have either 18164 // or both of these tag values associated with them. 18165 TagValues []*string `locationNameList:"TagValue" type:"list"` 18166 18167 // The identifier of the usage limit to describe. 18168 UsageLimitId *string `type:"string"` 18169} 18170 18171// String returns the string representation 18172func (s DescribeUsageLimitsInput) String() string { 18173 return awsutil.Prettify(s) 18174} 18175 18176// GoString returns the string representation 18177func (s DescribeUsageLimitsInput) GoString() string { 18178 return s.String() 18179} 18180 18181// SetClusterIdentifier sets the ClusterIdentifier field's value. 18182func (s *DescribeUsageLimitsInput) SetClusterIdentifier(v string) *DescribeUsageLimitsInput { 18183 s.ClusterIdentifier = &v 18184 return s 18185} 18186 18187// SetFeatureType sets the FeatureType field's value. 18188func (s *DescribeUsageLimitsInput) SetFeatureType(v string) *DescribeUsageLimitsInput { 18189 s.FeatureType = &v 18190 return s 18191} 18192 18193// SetMarker sets the Marker field's value. 18194func (s *DescribeUsageLimitsInput) SetMarker(v string) *DescribeUsageLimitsInput { 18195 s.Marker = &v 18196 return s 18197} 18198 18199// SetMaxRecords sets the MaxRecords field's value. 18200func (s *DescribeUsageLimitsInput) SetMaxRecords(v int64) *DescribeUsageLimitsInput { 18201 s.MaxRecords = &v 18202 return s 18203} 18204 18205// SetTagKeys sets the TagKeys field's value. 18206func (s *DescribeUsageLimitsInput) SetTagKeys(v []*string) *DescribeUsageLimitsInput { 18207 s.TagKeys = v 18208 return s 18209} 18210 18211// SetTagValues sets the TagValues field's value. 18212func (s *DescribeUsageLimitsInput) SetTagValues(v []*string) *DescribeUsageLimitsInput { 18213 s.TagValues = v 18214 return s 18215} 18216 18217// SetUsageLimitId sets the UsageLimitId field's value. 18218func (s *DescribeUsageLimitsInput) SetUsageLimitId(v string) *DescribeUsageLimitsInput { 18219 s.UsageLimitId = &v 18220 return s 18221} 18222 18223type DescribeUsageLimitsOutput struct { 18224 _ struct{} `type:"structure"` 18225 18226 // A value that indicates the starting point for the next set of response records 18227 // in a subsequent request. If a value is returned in a response, you can retrieve 18228 // the next set of records by providing this returned marker value in the Marker 18229 // parameter and retrying the command. If the Marker field is empty, all response 18230 // records have been retrieved for the request. 18231 Marker *string `type:"string"` 18232 18233 // Contains the output from the DescribeUsageLimits action. 18234 UsageLimits []*UsageLimit `type:"list"` 18235} 18236 18237// String returns the string representation 18238func (s DescribeUsageLimitsOutput) String() string { 18239 return awsutil.Prettify(s) 18240} 18241 18242// GoString returns the string representation 18243func (s DescribeUsageLimitsOutput) GoString() string { 18244 return s.String() 18245} 18246 18247// SetMarker sets the Marker field's value. 18248func (s *DescribeUsageLimitsOutput) SetMarker(v string) *DescribeUsageLimitsOutput { 18249 s.Marker = &v 18250 return s 18251} 18252 18253// SetUsageLimits sets the UsageLimits field's value. 18254func (s *DescribeUsageLimitsOutput) SetUsageLimits(v []*UsageLimit) *DescribeUsageLimitsOutput { 18255 s.UsageLimits = v 18256 return s 18257} 18258 18259type DisableLoggingInput struct { 18260 _ struct{} `type:"structure"` 18261 18262 // The identifier of the cluster on which logging is to be stopped. 18263 // 18264 // Example: examplecluster 18265 // 18266 // ClusterIdentifier is a required field 18267 ClusterIdentifier *string `type:"string" required:"true"` 18268} 18269 18270// String returns the string representation 18271func (s DisableLoggingInput) String() string { 18272 return awsutil.Prettify(s) 18273} 18274 18275// GoString returns the string representation 18276func (s DisableLoggingInput) GoString() string { 18277 return s.String() 18278} 18279 18280// Validate inspects the fields of the type to determine if they are valid. 18281func (s *DisableLoggingInput) Validate() error { 18282 invalidParams := request.ErrInvalidParams{Context: "DisableLoggingInput"} 18283 if s.ClusterIdentifier == nil { 18284 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 18285 } 18286 18287 if invalidParams.Len() > 0 { 18288 return invalidParams 18289 } 18290 return nil 18291} 18292 18293// SetClusterIdentifier sets the ClusterIdentifier field's value. 18294func (s *DisableLoggingInput) SetClusterIdentifier(v string) *DisableLoggingInput { 18295 s.ClusterIdentifier = &v 18296 return s 18297} 18298 18299type DisableSnapshotCopyInput struct { 18300 _ struct{} `type:"structure"` 18301 18302 // The unique identifier of the source cluster that you want to disable copying 18303 // of snapshots to a destination region. 18304 // 18305 // Constraints: Must be the valid name of an existing cluster that has cross-region 18306 // snapshot copy enabled. 18307 // 18308 // ClusterIdentifier is a required field 18309 ClusterIdentifier *string `type:"string" required:"true"` 18310} 18311 18312// String returns the string representation 18313func (s DisableSnapshotCopyInput) String() string { 18314 return awsutil.Prettify(s) 18315} 18316 18317// GoString returns the string representation 18318func (s DisableSnapshotCopyInput) GoString() string { 18319 return s.String() 18320} 18321 18322// Validate inspects the fields of the type to determine if they are valid. 18323func (s *DisableSnapshotCopyInput) Validate() error { 18324 invalidParams := request.ErrInvalidParams{Context: "DisableSnapshotCopyInput"} 18325 if s.ClusterIdentifier == nil { 18326 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 18327 } 18328 18329 if invalidParams.Len() > 0 { 18330 return invalidParams 18331 } 18332 return nil 18333} 18334 18335// SetClusterIdentifier sets the ClusterIdentifier field's value. 18336func (s *DisableSnapshotCopyInput) SetClusterIdentifier(v string) *DisableSnapshotCopyInput { 18337 s.ClusterIdentifier = &v 18338 return s 18339} 18340 18341type DisableSnapshotCopyOutput struct { 18342 _ struct{} `type:"structure"` 18343 18344 // Describes a cluster. 18345 Cluster *Cluster `type:"structure"` 18346} 18347 18348// String returns the string representation 18349func (s DisableSnapshotCopyOutput) String() string { 18350 return awsutil.Prettify(s) 18351} 18352 18353// GoString returns the string representation 18354func (s DisableSnapshotCopyOutput) GoString() string { 18355 return s.String() 18356} 18357 18358// SetCluster sets the Cluster field's value. 18359func (s *DisableSnapshotCopyOutput) SetCluster(v *Cluster) *DisableSnapshotCopyOutput { 18360 s.Cluster = v 18361 return s 18362} 18363 18364// Describes an Amazon EC2 security group. 18365type EC2SecurityGroup struct { 18366 _ struct{} `type:"structure"` 18367 18368 // The name of the EC2 Security Group. 18369 EC2SecurityGroupName *string `type:"string"` 18370 18371 // The AWS ID of the owner of the EC2 security group specified in the EC2SecurityGroupName 18372 // field. 18373 EC2SecurityGroupOwnerId *string `type:"string"` 18374 18375 // The status of the EC2 security group. 18376 Status *string `type:"string"` 18377 18378 // The list of tags for the EC2 security group. 18379 Tags []*Tag `locationNameList:"Tag" type:"list"` 18380} 18381 18382// String returns the string representation 18383func (s EC2SecurityGroup) String() string { 18384 return awsutil.Prettify(s) 18385} 18386 18387// GoString returns the string representation 18388func (s EC2SecurityGroup) GoString() string { 18389 return s.String() 18390} 18391 18392// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 18393func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 18394 s.EC2SecurityGroupName = &v 18395 return s 18396} 18397 18398// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 18399func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 18400 s.EC2SecurityGroupOwnerId = &v 18401 return s 18402} 18403 18404// SetStatus sets the Status field's value. 18405func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 18406 s.Status = &v 18407 return s 18408} 18409 18410// SetTags sets the Tags field's value. 18411func (s *EC2SecurityGroup) SetTags(v []*Tag) *EC2SecurityGroup { 18412 s.Tags = v 18413 return s 18414} 18415 18416// Describes the status of the elastic IP (EIP) address. 18417type ElasticIpStatus struct { 18418 _ struct{} `type:"structure"` 18419 18420 // The elastic IP (EIP) address for the cluster. 18421 ElasticIp *string `type:"string"` 18422 18423 // The status of the elastic IP (EIP) address. 18424 Status *string `type:"string"` 18425} 18426 18427// String returns the string representation 18428func (s ElasticIpStatus) String() string { 18429 return awsutil.Prettify(s) 18430} 18431 18432// GoString returns the string representation 18433func (s ElasticIpStatus) GoString() string { 18434 return s.String() 18435} 18436 18437// SetElasticIp sets the ElasticIp field's value. 18438func (s *ElasticIpStatus) SetElasticIp(v string) *ElasticIpStatus { 18439 s.ElasticIp = &v 18440 return s 18441} 18442 18443// SetStatus sets the Status field's value. 18444func (s *ElasticIpStatus) SetStatus(v string) *ElasticIpStatus { 18445 s.Status = &v 18446 return s 18447} 18448 18449type EnableLoggingInput struct { 18450 _ struct{} `type:"structure"` 18451 18452 // The name of an existing S3 bucket where the log files are to be stored. 18453 // 18454 // Constraints: 18455 // 18456 // * Must be in the same region as the cluster 18457 // 18458 // * The cluster must have read bucket and put object permissions 18459 // 18460 // BucketName is a required field 18461 BucketName *string `type:"string" required:"true"` 18462 18463 // The identifier of the cluster on which logging is to be started. 18464 // 18465 // Example: examplecluster 18466 // 18467 // ClusterIdentifier is a required field 18468 ClusterIdentifier *string `type:"string" required:"true"` 18469 18470 // The prefix applied to the log file names. 18471 // 18472 // Constraints: 18473 // 18474 // * Cannot exceed 512 characters 18475 // 18476 // * Cannot contain spaces( ), double quotes ("), single quotes ('), a backslash 18477 // (\), or control characters. The hexadecimal codes for invalid characters 18478 // are: x00 to x20 x22 x27 x5c x7f or larger 18479 S3KeyPrefix *string `type:"string"` 18480} 18481 18482// String returns the string representation 18483func (s EnableLoggingInput) String() string { 18484 return awsutil.Prettify(s) 18485} 18486 18487// GoString returns the string representation 18488func (s EnableLoggingInput) GoString() string { 18489 return s.String() 18490} 18491 18492// Validate inspects the fields of the type to determine if they are valid. 18493func (s *EnableLoggingInput) Validate() error { 18494 invalidParams := request.ErrInvalidParams{Context: "EnableLoggingInput"} 18495 if s.BucketName == nil { 18496 invalidParams.Add(request.NewErrParamRequired("BucketName")) 18497 } 18498 if s.ClusterIdentifier == nil { 18499 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 18500 } 18501 18502 if invalidParams.Len() > 0 { 18503 return invalidParams 18504 } 18505 return nil 18506} 18507 18508// SetBucketName sets the BucketName field's value. 18509func (s *EnableLoggingInput) SetBucketName(v string) *EnableLoggingInput { 18510 s.BucketName = &v 18511 return s 18512} 18513 18514// SetClusterIdentifier sets the ClusterIdentifier field's value. 18515func (s *EnableLoggingInput) SetClusterIdentifier(v string) *EnableLoggingInput { 18516 s.ClusterIdentifier = &v 18517 return s 18518} 18519 18520// SetS3KeyPrefix sets the S3KeyPrefix field's value. 18521func (s *EnableLoggingInput) SetS3KeyPrefix(v string) *EnableLoggingInput { 18522 s.S3KeyPrefix = &v 18523 return s 18524} 18525 18526type EnableSnapshotCopyInput struct { 18527 _ struct{} `type:"structure"` 18528 18529 // The unique identifier of the source cluster to copy snapshots from. 18530 // 18531 // Constraints: Must be the valid name of an existing cluster that does not 18532 // already have cross-region snapshot copy enabled. 18533 // 18534 // ClusterIdentifier is a required field 18535 ClusterIdentifier *string `type:"string" required:"true"` 18536 18537 // The destination AWS Region that you want to copy snapshots to. 18538 // 18539 // Constraints: Must be the name of a valid AWS Region. For more information, 18540 // see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#redshift_region) 18541 // in the Amazon Web Services General Reference. 18542 // 18543 // DestinationRegion is a required field 18544 DestinationRegion *string `type:"string" required:"true"` 18545 18546 // The number of days to retain newly copied snapshots in the destination AWS 18547 // Region after they are copied from the source AWS Region. If the value is 18548 // -1, the manual snapshot is retained indefinitely. 18549 // 18550 // The value must be either -1 or an integer between 1 and 3,653. 18551 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 18552 18553 // The number of days to retain automated snapshots in the destination region 18554 // after they are copied from the source region. 18555 // 18556 // Default: 7. 18557 // 18558 // Constraints: Must be at least 1 and no more than 35. 18559 RetentionPeriod *int64 `type:"integer"` 18560 18561 // The name of the snapshot copy grant to use when snapshots of an AWS KMS-encrypted 18562 // cluster are copied to the destination region. 18563 SnapshotCopyGrantName *string `type:"string"` 18564} 18565 18566// String returns the string representation 18567func (s EnableSnapshotCopyInput) String() string { 18568 return awsutil.Prettify(s) 18569} 18570 18571// GoString returns the string representation 18572func (s EnableSnapshotCopyInput) GoString() string { 18573 return s.String() 18574} 18575 18576// Validate inspects the fields of the type to determine if they are valid. 18577func (s *EnableSnapshotCopyInput) Validate() error { 18578 invalidParams := request.ErrInvalidParams{Context: "EnableSnapshotCopyInput"} 18579 if s.ClusterIdentifier == nil { 18580 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 18581 } 18582 if s.DestinationRegion == nil { 18583 invalidParams.Add(request.NewErrParamRequired("DestinationRegion")) 18584 } 18585 18586 if invalidParams.Len() > 0 { 18587 return invalidParams 18588 } 18589 return nil 18590} 18591 18592// SetClusterIdentifier sets the ClusterIdentifier field's value. 18593func (s *EnableSnapshotCopyInput) SetClusterIdentifier(v string) *EnableSnapshotCopyInput { 18594 s.ClusterIdentifier = &v 18595 return s 18596} 18597 18598// SetDestinationRegion sets the DestinationRegion field's value. 18599func (s *EnableSnapshotCopyInput) SetDestinationRegion(v string) *EnableSnapshotCopyInput { 18600 s.DestinationRegion = &v 18601 return s 18602} 18603 18604// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 18605func (s *EnableSnapshotCopyInput) SetManualSnapshotRetentionPeriod(v int64) *EnableSnapshotCopyInput { 18606 s.ManualSnapshotRetentionPeriod = &v 18607 return s 18608} 18609 18610// SetRetentionPeriod sets the RetentionPeriod field's value. 18611func (s *EnableSnapshotCopyInput) SetRetentionPeriod(v int64) *EnableSnapshotCopyInput { 18612 s.RetentionPeriod = &v 18613 return s 18614} 18615 18616// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value. 18617func (s *EnableSnapshotCopyInput) SetSnapshotCopyGrantName(v string) *EnableSnapshotCopyInput { 18618 s.SnapshotCopyGrantName = &v 18619 return s 18620} 18621 18622type EnableSnapshotCopyOutput struct { 18623 _ struct{} `type:"structure"` 18624 18625 // Describes a cluster. 18626 Cluster *Cluster `type:"structure"` 18627} 18628 18629// String returns the string representation 18630func (s EnableSnapshotCopyOutput) String() string { 18631 return awsutil.Prettify(s) 18632} 18633 18634// GoString returns the string representation 18635func (s EnableSnapshotCopyOutput) GoString() string { 18636 return s.String() 18637} 18638 18639// SetCluster sets the Cluster field's value. 18640func (s *EnableSnapshotCopyOutput) SetCluster(v *Cluster) *EnableSnapshotCopyOutput { 18641 s.Cluster = v 18642 return s 18643} 18644 18645// Describes a connection endpoint. 18646type Endpoint struct { 18647 _ struct{} `type:"structure"` 18648 18649 // The DNS address of the Cluster. 18650 Address *string `type:"string"` 18651 18652 // The port that the database engine is listening on. 18653 Port *int64 `type:"integer"` 18654} 18655 18656// String returns the string representation 18657func (s Endpoint) String() string { 18658 return awsutil.Prettify(s) 18659} 18660 18661// GoString returns the string representation 18662func (s Endpoint) GoString() string { 18663 return s.String() 18664} 18665 18666// SetAddress sets the Address field's value. 18667func (s *Endpoint) SetAddress(v string) *Endpoint { 18668 s.Address = &v 18669 return s 18670} 18671 18672// SetPort sets the Port field's value. 18673func (s *Endpoint) SetPort(v int64) *Endpoint { 18674 s.Port = &v 18675 return s 18676} 18677 18678// Describes an event. 18679type Event struct { 18680 _ struct{} `type:"structure"` 18681 18682 // The date and time of the event. 18683 Date *time.Time `type:"timestamp"` 18684 18685 // A list of the event categories. 18686 // 18687 // Values: Configuration, Management, Monitoring, Security 18688 EventCategories []*string `locationNameList:"EventCategory" type:"list"` 18689 18690 // The identifier of the event. 18691 EventId *string `type:"string"` 18692 18693 // The text of this event. 18694 Message *string `type:"string"` 18695 18696 // The severity of the event. 18697 // 18698 // Values: ERROR, INFO 18699 Severity *string `type:"string"` 18700 18701 // The identifier for the source of the event. 18702 SourceIdentifier *string `type:"string"` 18703 18704 // The source type for this event. 18705 SourceType *string `type:"string" enum:"SourceType"` 18706} 18707 18708// String returns the string representation 18709func (s Event) String() string { 18710 return awsutil.Prettify(s) 18711} 18712 18713// GoString returns the string representation 18714func (s Event) GoString() string { 18715 return s.String() 18716} 18717 18718// SetDate sets the Date field's value. 18719func (s *Event) SetDate(v time.Time) *Event { 18720 s.Date = &v 18721 return s 18722} 18723 18724// SetEventCategories sets the EventCategories field's value. 18725func (s *Event) SetEventCategories(v []*string) *Event { 18726 s.EventCategories = v 18727 return s 18728} 18729 18730// SetEventId sets the EventId field's value. 18731func (s *Event) SetEventId(v string) *Event { 18732 s.EventId = &v 18733 return s 18734} 18735 18736// SetMessage sets the Message field's value. 18737func (s *Event) SetMessage(v string) *Event { 18738 s.Message = &v 18739 return s 18740} 18741 18742// SetSeverity sets the Severity field's value. 18743func (s *Event) SetSeverity(v string) *Event { 18744 s.Severity = &v 18745 return s 18746} 18747 18748// SetSourceIdentifier sets the SourceIdentifier field's value. 18749func (s *Event) SetSourceIdentifier(v string) *Event { 18750 s.SourceIdentifier = &v 18751 return s 18752} 18753 18754// SetSourceType sets the SourceType field's value. 18755func (s *Event) SetSourceType(v string) *Event { 18756 s.SourceType = &v 18757 return s 18758} 18759 18760// Describes event categories. 18761type EventCategoriesMap struct { 18762 _ struct{} `type:"structure"` 18763 18764 // The events in the event category. 18765 Events []*EventInfoMap `locationNameList:"EventInfoMap" type:"list"` 18766 18767 // The source type, such as cluster or cluster-snapshot, that the returned categories 18768 // belong to. 18769 SourceType *string `type:"string"` 18770} 18771 18772// String returns the string representation 18773func (s EventCategoriesMap) String() string { 18774 return awsutil.Prettify(s) 18775} 18776 18777// GoString returns the string representation 18778func (s EventCategoriesMap) GoString() string { 18779 return s.String() 18780} 18781 18782// SetEvents sets the Events field's value. 18783func (s *EventCategoriesMap) SetEvents(v []*EventInfoMap) *EventCategoriesMap { 18784 s.Events = v 18785 return s 18786} 18787 18788// SetSourceType sets the SourceType field's value. 18789func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap { 18790 s.SourceType = &v 18791 return s 18792} 18793 18794// Describes event information. 18795type EventInfoMap struct { 18796 _ struct{} `type:"structure"` 18797 18798 // The category of an Amazon Redshift event. 18799 EventCategories []*string `locationNameList:"EventCategory" type:"list"` 18800 18801 // The description of an Amazon Redshift event. 18802 EventDescription *string `type:"string"` 18803 18804 // The identifier of an Amazon Redshift event. 18805 EventId *string `type:"string"` 18806 18807 // The severity of the event. 18808 // 18809 // Values: ERROR, INFO 18810 Severity *string `type:"string"` 18811} 18812 18813// String returns the string representation 18814func (s EventInfoMap) String() string { 18815 return awsutil.Prettify(s) 18816} 18817 18818// GoString returns the string representation 18819func (s EventInfoMap) GoString() string { 18820 return s.String() 18821} 18822 18823// SetEventCategories sets the EventCategories field's value. 18824func (s *EventInfoMap) SetEventCategories(v []*string) *EventInfoMap { 18825 s.EventCategories = v 18826 return s 18827} 18828 18829// SetEventDescription sets the EventDescription field's value. 18830func (s *EventInfoMap) SetEventDescription(v string) *EventInfoMap { 18831 s.EventDescription = &v 18832 return s 18833} 18834 18835// SetEventId sets the EventId field's value. 18836func (s *EventInfoMap) SetEventId(v string) *EventInfoMap { 18837 s.EventId = &v 18838 return s 18839} 18840 18841// SetSeverity sets the Severity field's value. 18842func (s *EventInfoMap) SetSeverity(v string) *EventInfoMap { 18843 s.Severity = &v 18844 return s 18845} 18846 18847// Describes event subscriptions. 18848type EventSubscription struct { 18849 _ struct{} `type:"structure"` 18850 18851 // The name of the Amazon Redshift event notification subscription. 18852 CustSubscriptionId *string `type:"string"` 18853 18854 // The AWS customer account associated with the Amazon Redshift event notification 18855 // subscription. 18856 CustomerAwsId *string `type:"string"` 18857 18858 // A boolean value indicating whether the subscription is enabled; true indicates 18859 // that the subscription is enabled. 18860 Enabled *bool `type:"boolean"` 18861 18862 // The list of Amazon Redshift event categories specified in the event notification 18863 // subscription. 18864 // 18865 // Values: Configuration, Management, Monitoring, Security 18866 EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"` 18867 18868 // The event severity specified in the Amazon Redshift event notification subscription. 18869 // 18870 // Values: ERROR, INFO 18871 Severity *string `type:"string"` 18872 18873 // The Amazon Resource Name (ARN) of the Amazon SNS topic used by the event 18874 // notification subscription. 18875 SnsTopicArn *string `type:"string"` 18876 18877 // A list of the sources that publish events to the Amazon Redshift event notification 18878 // subscription. 18879 SourceIdsList []*string `locationNameList:"SourceId" type:"list"` 18880 18881 // The source type of the events returned by the Amazon Redshift event notification, 18882 // such as cluster, cluster-snapshot, cluster-parameter-group, cluster-security-group, 18883 // or scheduled-action. 18884 SourceType *string `type:"string"` 18885 18886 // The status of the Amazon Redshift event notification subscription. 18887 // 18888 // Constraints: 18889 // 18890 // * Can be one of the following: active | no-permission | topic-not-exist 18891 // 18892 // * The status "no-permission" indicates that Amazon Redshift no longer 18893 // has permission to post to the Amazon SNS topic. The status "topic-not-exist" 18894 // indicates that the topic was deleted after the subscription was created. 18895 Status *string `type:"string"` 18896 18897 // The date and time the Amazon Redshift event notification subscription was 18898 // created. 18899 SubscriptionCreationTime *time.Time `type:"timestamp"` 18900 18901 // The list of tags for the event subscription. 18902 Tags []*Tag `locationNameList:"Tag" type:"list"` 18903} 18904 18905// String returns the string representation 18906func (s EventSubscription) String() string { 18907 return awsutil.Prettify(s) 18908} 18909 18910// GoString returns the string representation 18911func (s EventSubscription) GoString() string { 18912 return s.String() 18913} 18914 18915// SetCustSubscriptionId sets the CustSubscriptionId field's value. 18916func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription { 18917 s.CustSubscriptionId = &v 18918 return s 18919} 18920 18921// SetCustomerAwsId sets the CustomerAwsId field's value. 18922func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription { 18923 s.CustomerAwsId = &v 18924 return s 18925} 18926 18927// SetEnabled sets the Enabled field's value. 18928func (s *EventSubscription) SetEnabled(v bool) *EventSubscription { 18929 s.Enabled = &v 18930 return s 18931} 18932 18933// SetEventCategoriesList sets the EventCategoriesList field's value. 18934func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription { 18935 s.EventCategoriesList = v 18936 return s 18937} 18938 18939// SetSeverity sets the Severity field's value. 18940func (s *EventSubscription) SetSeverity(v string) *EventSubscription { 18941 s.Severity = &v 18942 return s 18943} 18944 18945// SetSnsTopicArn sets the SnsTopicArn field's value. 18946func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription { 18947 s.SnsTopicArn = &v 18948 return s 18949} 18950 18951// SetSourceIdsList sets the SourceIdsList field's value. 18952func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription { 18953 s.SourceIdsList = v 18954 return s 18955} 18956 18957// SetSourceType sets the SourceType field's value. 18958func (s *EventSubscription) SetSourceType(v string) *EventSubscription { 18959 s.SourceType = &v 18960 return s 18961} 18962 18963// SetStatus sets the Status field's value. 18964func (s *EventSubscription) SetStatus(v string) *EventSubscription { 18965 s.Status = &v 18966 return s 18967} 18968 18969// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value. 18970func (s *EventSubscription) SetSubscriptionCreationTime(v time.Time) *EventSubscription { 18971 s.SubscriptionCreationTime = &v 18972 return s 18973} 18974 18975// SetTags sets the Tags field's value. 18976func (s *EventSubscription) SetTags(v []*Tag) *EventSubscription { 18977 s.Tags = v 18978 return s 18979} 18980 18981// The request parameters to get cluster credentials. 18982type GetClusterCredentialsInput struct { 18983 _ struct{} `type:"structure"` 18984 18985 // Create a database user with the name specified for the user named in DbUser 18986 // if one does not exist. 18987 AutoCreate *bool `type:"boolean"` 18988 18989 // The unique identifier of the cluster that contains the database for which 18990 // your are requesting credentials. This parameter is case sensitive. 18991 // 18992 // ClusterIdentifier is a required field 18993 ClusterIdentifier *string `type:"string" required:"true"` 18994 18995 // A list of the names of existing database groups that the user named in DbUser 18996 // will join for the current session, in addition to any group memberships for 18997 // an existing user. If not specified, a new user is added only to PUBLIC. 18998 // 18999 // Database group name constraints 19000 // 19001 // * Must be 1 to 64 alphanumeric characters or hyphens 19002 // 19003 // * Must contain only lowercase letters, numbers, underscore, plus sign, 19004 // period (dot), at symbol (@), or hyphen. 19005 // 19006 // * First character must be a letter. 19007 // 19008 // * Must not contain a colon ( : ) or slash ( / ). 19009 // 19010 // * Cannot be a reserved word. A list of reserved words can be found in 19011 // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) 19012 // in the Amazon Redshift Database Developer Guide. 19013 DbGroups []*string `locationNameList:"DbGroup" type:"list"` 19014 19015 // The name of a database that DbUser is authorized to log on to. If DbName 19016 // is not specified, DbUser can log on to any existing database. 19017 // 19018 // Constraints: 19019 // 19020 // * Must be 1 to 64 alphanumeric characters or hyphens 19021 // 19022 // * Must contain only lowercase letters, numbers, underscore, plus sign, 19023 // period (dot), at symbol (@), or hyphen. 19024 // 19025 // * First character must be a letter. 19026 // 19027 // * Must not contain a colon ( : ) or slash ( / ). 19028 // 19029 // * Cannot be a reserved word. A list of reserved words can be found in 19030 // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) 19031 // in the Amazon Redshift Database Developer Guide. 19032 DbName *string `type:"string"` 19033 19034 // The name of a database user. If a user name matching DbUser exists in the 19035 // database, the temporary user credentials have the same permissions as the 19036 // existing user. If DbUser doesn't exist in the database and Autocreate is 19037 // True, a new user is created using the value for DbUser with PUBLIC permissions. 19038 // If a database user matching the value for DbUser doesn't exist and Autocreate 19039 // is False, then the command succeeds but the connection attempt will fail 19040 // because the user doesn't exist in the database. 19041 // 19042 // For more information, see CREATE USER (https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_USER.html) 19043 // in the Amazon Redshift Database Developer Guide. 19044 // 19045 // Constraints: 19046 // 19047 // * Must be 1 to 64 alphanumeric characters or hyphens. The user name can't 19048 // be PUBLIC. 19049 // 19050 // * Must contain only lowercase letters, numbers, underscore, plus sign, 19051 // period (dot), at symbol (@), or hyphen. 19052 // 19053 // * First character must be a letter. 19054 // 19055 // * Must not contain a colon ( : ) or slash ( / ). 19056 // 19057 // * Cannot be a reserved word. A list of reserved words can be found in 19058 // Reserved Words (http://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html) 19059 // in the Amazon Redshift Database Developer Guide. 19060 // 19061 // DbUser is a required field 19062 DbUser *string `type:"string" required:"true"` 19063 19064 // The number of seconds until the returned temporary password expires. 19065 // 19066 // Constraint: minimum 900, maximum 3600. 19067 // 19068 // Default: 900 19069 DurationSeconds *int64 `type:"integer"` 19070} 19071 19072// String returns the string representation 19073func (s GetClusterCredentialsInput) String() string { 19074 return awsutil.Prettify(s) 19075} 19076 19077// GoString returns the string representation 19078func (s GetClusterCredentialsInput) GoString() string { 19079 return s.String() 19080} 19081 19082// Validate inspects the fields of the type to determine if they are valid. 19083func (s *GetClusterCredentialsInput) Validate() error { 19084 invalidParams := request.ErrInvalidParams{Context: "GetClusterCredentialsInput"} 19085 if s.ClusterIdentifier == nil { 19086 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 19087 } 19088 if s.DbUser == nil { 19089 invalidParams.Add(request.NewErrParamRequired("DbUser")) 19090 } 19091 19092 if invalidParams.Len() > 0 { 19093 return invalidParams 19094 } 19095 return nil 19096} 19097 19098// SetAutoCreate sets the AutoCreate field's value. 19099func (s *GetClusterCredentialsInput) SetAutoCreate(v bool) *GetClusterCredentialsInput { 19100 s.AutoCreate = &v 19101 return s 19102} 19103 19104// SetClusterIdentifier sets the ClusterIdentifier field's value. 19105func (s *GetClusterCredentialsInput) SetClusterIdentifier(v string) *GetClusterCredentialsInput { 19106 s.ClusterIdentifier = &v 19107 return s 19108} 19109 19110// SetDbGroups sets the DbGroups field's value. 19111func (s *GetClusterCredentialsInput) SetDbGroups(v []*string) *GetClusterCredentialsInput { 19112 s.DbGroups = v 19113 return s 19114} 19115 19116// SetDbName sets the DbName field's value. 19117func (s *GetClusterCredentialsInput) SetDbName(v string) *GetClusterCredentialsInput { 19118 s.DbName = &v 19119 return s 19120} 19121 19122// SetDbUser sets the DbUser field's value. 19123func (s *GetClusterCredentialsInput) SetDbUser(v string) *GetClusterCredentialsInput { 19124 s.DbUser = &v 19125 return s 19126} 19127 19128// SetDurationSeconds sets the DurationSeconds field's value. 19129func (s *GetClusterCredentialsInput) SetDurationSeconds(v int64) *GetClusterCredentialsInput { 19130 s.DurationSeconds = &v 19131 return s 19132} 19133 19134// Temporary credentials with authorization to log on to an Amazon Redshift 19135// database. 19136type GetClusterCredentialsOutput struct { 19137 _ struct{} `type:"structure"` 19138 19139 // A temporary password that authorizes the user name returned by DbUser to 19140 // log on to the database DbName. 19141 DbPassword *string `type:"string" sensitive:"true"` 19142 19143 // A database user name that is authorized to log on to the database DbName 19144 // using the password DbPassword. If the specified DbUser exists in the database, 19145 // the new user name has the same database privileges as the the user named 19146 // in DbUser. By default, the user is added to PUBLIC. If the DbGroups parameter 19147 // is specifed, DbUser is added to the listed groups for any sessions created 19148 // using these credentials. 19149 DbUser *string `type:"string"` 19150 19151 // The date and time the password in DbPassword expires. 19152 Expiration *time.Time `type:"timestamp"` 19153} 19154 19155// String returns the string representation 19156func (s GetClusterCredentialsOutput) String() string { 19157 return awsutil.Prettify(s) 19158} 19159 19160// GoString returns the string representation 19161func (s GetClusterCredentialsOutput) GoString() string { 19162 return s.String() 19163} 19164 19165// SetDbPassword sets the DbPassword field's value. 19166func (s *GetClusterCredentialsOutput) SetDbPassword(v string) *GetClusterCredentialsOutput { 19167 s.DbPassword = &v 19168 return s 19169} 19170 19171// SetDbUser sets the DbUser field's value. 19172func (s *GetClusterCredentialsOutput) SetDbUser(v string) *GetClusterCredentialsOutput { 19173 s.DbUser = &v 19174 return s 19175} 19176 19177// SetExpiration sets the Expiration field's value. 19178func (s *GetClusterCredentialsOutput) SetExpiration(v time.Time) *GetClusterCredentialsOutput { 19179 s.Expiration = &v 19180 return s 19181} 19182 19183type GetReservedNodeExchangeOfferingsInput struct { 19184 _ struct{} `type:"structure"` 19185 19186 // A value that indicates the starting point for the next set of ReservedNodeOfferings. 19187 Marker *string `type:"string"` 19188 19189 // An integer setting the maximum number of ReservedNodeOfferings to retrieve. 19190 MaxRecords *int64 `type:"integer"` 19191 19192 // A string representing the node identifier for the DC1 Reserved Node to be 19193 // exchanged. 19194 // 19195 // ReservedNodeId is a required field 19196 ReservedNodeId *string `type:"string" required:"true"` 19197} 19198 19199// String returns the string representation 19200func (s GetReservedNodeExchangeOfferingsInput) String() string { 19201 return awsutil.Prettify(s) 19202} 19203 19204// GoString returns the string representation 19205func (s GetReservedNodeExchangeOfferingsInput) GoString() string { 19206 return s.String() 19207} 19208 19209// Validate inspects the fields of the type to determine if they are valid. 19210func (s *GetReservedNodeExchangeOfferingsInput) Validate() error { 19211 invalidParams := request.ErrInvalidParams{Context: "GetReservedNodeExchangeOfferingsInput"} 19212 if s.ReservedNodeId == nil { 19213 invalidParams.Add(request.NewErrParamRequired("ReservedNodeId")) 19214 } 19215 19216 if invalidParams.Len() > 0 { 19217 return invalidParams 19218 } 19219 return nil 19220} 19221 19222// SetMarker sets the Marker field's value. 19223func (s *GetReservedNodeExchangeOfferingsInput) SetMarker(v string) *GetReservedNodeExchangeOfferingsInput { 19224 s.Marker = &v 19225 return s 19226} 19227 19228// SetMaxRecords sets the MaxRecords field's value. 19229func (s *GetReservedNodeExchangeOfferingsInput) SetMaxRecords(v int64) *GetReservedNodeExchangeOfferingsInput { 19230 s.MaxRecords = &v 19231 return s 19232} 19233 19234// SetReservedNodeId sets the ReservedNodeId field's value. 19235func (s *GetReservedNodeExchangeOfferingsInput) SetReservedNodeId(v string) *GetReservedNodeExchangeOfferingsInput { 19236 s.ReservedNodeId = &v 19237 return s 19238} 19239 19240type GetReservedNodeExchangeOfferingsOutput struct { 19241 _ struct{} `type:"structure"` 19242 19243 // An optional parameter that specifies the starting point for returning a set 19244 // of response records. When the results of a GetReservedNodeExchangeOfferings 19245 // request exceed the value specified in MaxRecords, Amazon Redshift returns 19246 // a value in the marker field of the response. You can retrieve the next set 19247 // of response records by providing the returned marker value in the marker 19248 // parameter and retrying the request. 19249 Marker *string `type:"string"` 19250 19251 // Returns an array of ReservedNodeOffering objects. 19252 ReservedNodeOfferings []*ReservedNodeOffering `locationNameList:"ReservedNodeOffering" type:"list"` 19253} 19254 19255// String returns the string representation 19256func (s GetReservedNodeExchangeOfferingsOutput) String() string { 19257 return awsutil.Prettify(s) 19258} 19259 19260// GoString returns the string representation 19261func (s GetReservedNodeExchangeOfferingsOutput) GoString() string { 19262 return s.String() 19263} 19264 19265// SetMarker sets the Marker field's value. 19266func (s *GetReservedNodeExchangeOfferingsOutput) SetMarker(v string) *GetReservedNodeExchangeOfferingsOutput { 19267 s.Marker = &v 19268 return s 19269} 19270 19271// SetReservedNodeOfferings sets the ReservedNodeOfferings field's value. 19272func (s *GetReservedNodeExchangeOfferingsOutput) SetReservedNodeOfferings(v []*ReservedNodeOffering) *GetReservedNodeExchangeOfferingsOutput { 19273 s.ReservedNodeOfferings = v 19274 return s 19275} 19276 19277// Returns information about an HSM client certificate. The certificate is stored 19278// in a secure Hardware Storage Module (HSM), and used by the Amazon Redshift 19279// cluster to encrypt data files. 19280type HsmClientCertificate struct { 19281 _ struct{} `type:"structure"` 19282 19283 // The identifier of the HSM client certificate. 19284 HsmClientCertificateIdentifier *string `type:"string"` 19285 19286 // The public key that the Amazon Redshift cluster will use to connect to the 19287 // HSM. You must register the public key in the HSM. 19288 HsmClientCertificatePublicKey *string `type:"string"` 19289 19290 // The list of tags for the HSM client certificate. 19291 Tags []*Tag `locationNameList:"Tag" type:"list"` 19292} 19293 19294// String returns the string representation 19295func (s HsmClientCertificate) String() string { 19296 return awsutil.Prettify(s) 19297} 19298 19299// GoString returns the string representation 19300func (s HsmClientCertificate) GoString() string { 19301 return s.String() 19302} 19303 19304// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 19305func (s *HsmClientCertificate) SetHsmClientCertificateIdentifier(v string) *HsmClientCertificate { 19306 s.HsmClientCertificateIdentifier = &v 19307 return s 19308} 19309 19310// SetHsmClientCertificatePublicKey sets the HsmClientCertificatePublicKey field's value. 19311func (s *HsmClientCertificate) SetHsmClientCertificatePublicKey(v string) *HsmClientCertificate { 19312 s.HsmClientCertificatePublicKey = &v 19313 return s 19314} 19315 19316// SetTags sets the Tags field's value. 19317func (s *HsmClientCertificate) SetTags(v []*Tag) *HsmClientCertificate { 19318 s.Tags = v 19319 return s 19320} 19321 19322// Returns information about an HSM configuration, which is an object that describes 19323// to Amazon Redshift clusters the information they require to connect to an 19324// HSM where they can store database encryption keys. 19325type HsmConfiguration struct { 19326 _ struct{} `type:"structure"` 19327 19328 // A text description of the HSM configuration. 19329 Description *string `type:"string"` 19330 19331 // The name of the Amazon Redshift HSM configuration. 19332 HsmConfigurationIdentifier *string `type:"string"` 19333 19334 // The IP address that the Amazon Redshift cluster must use to access the HSM. 19335 HsmIpAddress *string `type:"string"` 19336 19337 // The name of the partition in the HSM where the Amazon Redshift clusters will 19338 // store their database encryption keys. 19339 HsmPartitionName *string `type:"string"` 19340 19341 // The list of tags for the HSM configuration. 19342 Tags []*Tag `locationNameList:"Tag" type:"list"` 19343} 19344 19345// String returns the string representation 19346func (s HsmConfiguration) String() string { 19347 return awsutil.Prettify(s) 19348} 19349 19350// GoString returns the string representation 19351func (s HsmConfiguration) GoString() string { 19352 return s.String() 19353} 19354 19355// SetDescription sets the Description field's value. 19356func (s *HsmConfiguration) SetDescription(v string) *HsmConfiguration { 19357 s.Description = &v 19358 return s 19359} 19360 19361// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 19362func (s *HsmConfiguration) SetHsmConfigurationIdentifier(v string) *HsmConfiguration { 19363 s.HsmConfigurationIdentifier = &v 19364 return s 19365} 19366 19367// SetHsmIpAddress sets the HsmIpAddress field's value. 19368func (s *HsmConfiguration) SetHsmIpAddress(v string) *HsmConfiguration { 19369 s.HsmIpAddress = &v 19370 return s 19371} 19372 19373// SetHsmPartitionName sets the HsmPartitionName field's value. 19374func (s *HsmConfiguration) SetHsmPartitionName(v string) *HsmConfiguration { 19375 s.HsmPartitionName = &v 19376 return s 19377} 19378 19379// SetTags sets the Tags field's value. 19380func (s *HsmConfiguration) SetTags(v []*Tag) *HsmConfiguration { 19381 s.Tags = v 19382 return s 19383} 19384 19385// Describes the status of changes to HSM settings. 19386type HsmStatus struct { 19387 _ struct{} `type:"structure"` 19388 19389 // Specifies the name of the HSM client certificate the Amazon Redshift cluster 19390 // uses to retrieve the data encryption keys stored in an HSM. 19391 HsmClientCertificateIdentifier *string `type:"string"` 19392 19393 // Specifies the name of the HSM configuration that contains the information 19394 // the Amazon Redshift cluster can use to retrieve and store keys in an HSM. 19395 HsmConfigurationIdentifier *string `type:"string"` 19396 19397 // Reports whether the Amazon Redshift cluster has finished applying any HSM 19398 // settings changes specified in a modify cluster command. 19399 // 19400 // Values: active, applying 19401 Status *string `type:"string"` 19402} 19403 19404// String returns the string representation 19405func (s HsmStatus) String() string { 19406 return awsutil.Prettify(s) 19407} 19408 19409// GoString returns the string representation 19410func (s HsmStatus) GoString() string { 19411 return s.String() 19412} 19413 19414// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 19415func (s *HsmStatus) SetHsmClientCertificateIdentifier(v string) *HsmStatus { 19416 s.HsmClientCertificateIdentifier = &v 19417 return s 19418} 19419 19420// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 19421func (s *HsmStatus) SetHsmConfigurationIdentifier(v string) *HsmStatus { 19422 s.HsmConfigurationIdentifier = &v 19423 return s 19424} 19425 19426// SetStatus sets the Status field's value. 19427func (s *HsmStatus) SetStatus(v string) *HsmStatus { 19428 s.Status = &v 19429 return s 19430} 19431 19432// Describes an IP range used in a security group. 19433type IPRange struct { 19434 _ struct{} `type:"structure"` 19435 19436 // The IP range in Classless Inter-Domain Routing (CIDR) notation. 19437 CIDRIP *string `type:"string"` 19438 19439 // The status of the IP range, for example, "authorized". 19440 Status *string `type:"string"` 19441 19442 // The list of tags for the IP range. 19443 Tags []*Tag `locationNameList:"Tag" type:"list"` 19444} 19445 19446// String returns the string representation 19447func (s IPRange) String() string { 19448 return awsutil.Prettify(s) 19449} 19450 19451// GoString returns the string representation 19452func (s IPRange) GoString() string { 19453 return s.String() 19454} 19455 19456// SetCIDRIP sets the CIDRIP field's value. 19457func (s *IPRange) SetCIDRIP(v string) *IPRange { 19458 s.CIDRIP = &v 19459 return s 19460} 19461 19462// SetStatus sets the Status field's value. 19463func (s *IPRange) SetStatus(v string) *IPRange { 19464 s.Status = &v 19465 return s 19466} 19467 19468// SetTags sets the Tags field's value. 19469func (s *IPRange) SetTags(v []*Tag) *IPRange { 19470 s.Tags = v 19471 return s 19472} 19473 19474// Describes the status of logging for a cluster. 19475type LoggingStatus struct { 19476 _ struct{} `type:"structure"` 19477 19478 // The name of the S3 bucket where the log files are stored. 19479 BucketName *string `type:"string"` 19480 19481 // The message indicating that logs failed to be delivered. 19482 LastFailureMessage *string `type:"string"` 19483 19484 // The last time when logs failed to be delivered. 19485 LastFailureTime *time.Time `type:"timestamp"` 19486 19487 // The last time that logs were delivered. 19488 LastSuccessfulDeliveryTime *time.Time `type:"timestamp"` 19489 19490 // true if logging is on, false if logging is off. 19491 LoggingEnabled *bool `type:"boolean"` 19492 19493 // The prefix applied to the log file names. 19494 S3KeyPrefix *string `type:"string"` 19495} 19496 19497// String returns the string representation 19498func (s LoggingStatus) String() string { 19499 return awsutil.Prettify(s) 19500} 19501 19502// GoString returns the string representation 19503func (s LoggingStatus) GoString() string { 19504 return s.String() 19505} 19506 19507// SetBucketName sets the BucketName field's value. 19508func (s *LoggingStatus) SetBucketName(v string) *LoggingStatus { 19509 s.BucketName = &v 19510 return s 19511} 19512 19513// SetLastFailureMessage sets the LastFailureMessage field's value. 19514func (s *LoggingStatus) SetLastFailureMessage(v string) *LoggingStatus { 19515 s.LastFailureMessage = &v 19516 return s 19517} 19518 19519// SetLastFailureTime sets the LastFailureTime field's value. 19520func (s *LoggingStatus) SetLastFailureTime(v time.Time) *LoggingStatus { 19521 s.LastFailureTime = &v 19522 return s 19523} 19524 19525// SetLastSuccessfulDeliveryTime sets the LastSuccessfulDeliveryTime field's value. 19526func (s *LoggingStatus) SetLastSuccessfulDeliveryTime(v time.Time) *LoggingStatus { 19527 s.LastSuccessfulDeliveryTime = &v 19528 return s 19529} 19530 19531// SetLoggingEnabled sets the LoggingEnabled field's value. 19532func (s *LoggingStatus) SetLoggingEnabled(v bool) *LoggingStatus { 19533 s.LoggingEnabled = &v 19534 return s 19535} 19536 19537// SetS3KeyPrefix sets the S3KeyPrefix field's value. 19538func (s *LoggingStatus) SetS3KeyPrefix(v string) *LoggingStatus { 19539 s.S3KeyPrefix = &v 19540 return s 19541} 19542 19543// Defines a maintenance track that determines which Amazon Redshift version 19544// to apply during a maintenance window. If the value for MaintenanceTrack is 19545// current, the cluster is updated to the most recently certified maintenance 19546// release. If the value is trailing, the cluster is updated to the previously 19547// certified maintenance release. 19548type MaintenanceTrack struct { 19549 _ struct{} `type:"structure"` 19550 19551 // The version number for the cluster release. 19552 DatabaseVersion *string `type:"string"` 19553 19554 // The name of the maintenance track. Possible values are current and trailing. 19555 MaintenanceTrackName *string `type:"string"` 19556 19557 // An array of UpdateTarget objects to update with the maintenance track. 19558 UpdateTargets []*UpdateTarget `locationNameList:"UpdateTarget" type:"list"` 19559} 19560 19561// String returns the string representation 19562func (s MaintenanceTrack) String() string { 19563 return awsutil.Prettify(s) 19564} 19565 19566// GoString returns the string representation 19567func (s MaintenanceTrack) GoString() string { 19568 return s.String() 19569} 19570 19571// SetDatabaseVersion sets the DatabaseVersion field's value. 19572func (s *MaintenanceTrack) SetDatabaseVersion(v string) *MaintenanceTrack { 19573 s.DatabaseVersion = &v 19574 return s 19575} 19576 19577// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 19578func (s *MaintenanceTrack) SetMaintenanceTrackName(v string) *MaintenanceTrack { 19579 s.MaintenanceTrackName = &v 19580 return s 19581} 19582 19583// SetUpdateTargets sets the UpdateTargets field's value. 19584func (s *MaintenanceTrack) SetUpdateTargets(v []*UpdateTarget) *MaintenanceTrack { 19585 s.UpdateTargets = v 19586 return s 19587} 19588 19589type ModifyClusterDbRevisionInput struct { 19590 _ struct{} `type:"structure"` 19591 19592 // The unique identifier of a cluster whose database revision you want to modify. 19593 // 19594 // Example: examplecluster 19595 // 19596 // ClusterIdentifier is a required field 19597 ClusterIdentifier *string `type:"string" required:"true"` 19598 19599 // The identifier of the database revision. You can retrieve this value from 19600 // the response to the DescribeClusterDbRevisions request. 19601 // 19602 // RevisionTarget is a required field 19603 RevisionTarget *string `type:"string" required:"true"` 19604} 19605 19606// String returns the string representation 19607func (s ModifyClusterDbRevisionInput) String() string { 19608 return awsutil.Prettify(s) 19609} 19610 19611// GoString returns the string representation 19612func (s ModifyClusterDbRevisionInput) GoString() string { 19613 return s.String() 19614} 19615 19616// Validate inspects the fields of the type to determine if they are valid. 19617func (s *ModifyClusterDbRevisionInput) Validate() error { 19618 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterDbRevisionInput"} 19619 if s.ClusterIdentifier == nil { 19620 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 19621 } 19622 if s.RevisionTarget == nil { 19623 invalidParams.Add(request.NewErrParamRequired("RevisionTarget")) 19624 } 19625 19626 if invalidParams.Len() > 0 { 19627 return invalidParams 19628 } 19629 return nil 19630} 19631 19632// SetClusterIdentifier sets the ClusterIdentifier field's value. 19633func (s *ModifyClusterDbRevisionInput) SetClusterIdentifier(v string) *ModifyClusterDbRevisionInput { 19634 s.ClusterIdentifier = &v 19635 return s 19636} 19637 19638// SetRevisionTarget sets the RevisionTarget field's value. 19639func (s *ModifyClusterDbRevisionInput) SetRevisionTarget(v string) *ModifyClusterDbRevisionInput { 19640 s.RevisionTarget = &v 19641 return s 19642} 19643 19644type ModifyClusterDbRevisionOutput struct { 19645 _ struct{} `type:"structure"` 19646 19647 // Describes a cluster. 19648 Cluster *Cluster `type:"structure"` 19649} 19650 19651// String returns the string representation 19652func (s ModifyClusterDbRevisionOutput) String() string { 19653 return awsutil.Prettify(s) 19654} 19655 19656// GoString returns the string representation 19657func (s ModifyClusterDbRevisionOutput) GoString() string { 19658 return s.String() 19659} 19660 19661// SetCluster sets the Cluster field's value. 19662func (s *ModifyClusterDbRevisionOutput) SetCluster(v *Cluster) *ModifyClusterDbRevisionOutput { 19663 s.Cluster = v 19664 return s 19665} 19666 19667type ModifyClusterIamRolesInput struct { 19668 _ struct{} `type:"structure"` 19669 19670 // Zero or more IAM roles to associate with the cluster. The roles must be in 19671 // their Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles 19672 // with a single cluster in a single request. 19673 AddIamRoles []*string `locationNameList:"IamRoleArn" type:"list"` 19674 19675 // The unique identifier of the cluster for which you want to associate or disassociate 19676 // IAM roles. 19677 // 19678 // ClusterIdentifier is a required field 19679 ClusterIdentifier *string `type:"string" required:"true"` 19680 19681 // Zero or more IAM roles in ARN format to disassociate from the cluster. You 19682 // can disassociate up to 10 IAM roles from a single cluster in a single request. 19683 RemoveIamRoles []*string `locationNameList:"IamRoleArn" type:"list"` 19684} 19685 19686// String returns the string representation 19687func (s ModifyClusterIamRolesInput) String() string { 19688 return awsutil.Prettify(s) 19689} 19690 19691// GoString returns the string representation 19692func (s ModifyClusterIamRolesInput) GoString() string { 19693 return s.String() 19694} 19695 19696// Validate inspects the fields of the type to determine if they are valid. 19697func (s *ModifyClusterIamRolesInput) Validate() error { 19698 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterIamRolesInput"} 19699 if s.ClusterIdentifier == nil { 19700 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 19701 } 19702 19703 if invalidParams.Len() > 0 { 19704 return invalidParams 19705 } 19706 return nil 19707} 19708 19709// SetAddIamRoles sets the AddIamRoles field's value. 19710func (s *ModifyClusterIamRolesInput) SetAddIamRoles(v []*string) *ModifyClusterIamRolesInput { 19711 s.AddIamRoles = v 19712 return s 19713} 19714 19715// SetClusterIdentifier sets the ClusterIdentifier field's value. 19716func (s *ModifyClusterIamRolesInput) SetClusterIdentifier(v string) *ModifyClusterIamRolesInput { 19717 s.ClusterIdentifier = &v 19718 return s 19719} 19720 19721// SetRemoveIamRoles sets the RemoveIamRoles field's value. 19722func (s *ModifyClusterIamRolesInput) SetRemoveIamRoles(v []*string) *ModifyClusterIamRolesInput { 19723 s.RemoveIamRoles = v 19724 return s 19725} 19726 19727type ModifyClusterIamRolesOutput struct { 19728 _ struct{} `type:"structure"` 19729 19730 // Describes a cluster. 19731 Cluster *Cluster `type:"structure"` 19732} 19733 19734// String returns the string representation 19735func (s ModifyClusterIamRolesOutput) String() string { 19736 return awsutil.Prettify(s) 19737} 19738 19739// GoString returns the string representation 19740func (s ModifyClusterIamRolesOutput) GoString() string { 19741 return s.String() 19742} 19743 19744// SetCluster sets the Cluster field's value. 19745func (s *ModifyClusterIamRolesOutput) SetCluster(v *Cluster) *ModifyClusterIamRolesOutput { 19746 s.Cluster = v 19747 return s 19748} 19749 19750type ModifyClusterInput struct { 19751 _ struct{} `type:"structure"` 19752 19753 // If true, major version upgrades will be applied automatically to the cluster 19754 // during the maintenance window. 19755 // 19756 // Default: false 19757 AllowVersionUpgrade *bool `type:"boolean"` 19758 19759 // The number of days that automated snapshots are retained. If the value is 19760 // 0, automated snapshots are disabled. Even if automated snapshots are disabled, 19761 // you can still create manual snapshots when you want with CreateClusterSnapshot. 19762 // 19763 // If you decrease the automated snapshot retention period from its current 19764 // value, existing automated snapshots that fall outside of the new retention 19765 // period will be immediately deleted. 19766 // 19767 // Default: Uses existing setting. 19768 // 19769 // Constraints: Must be a value from 0 to 35. 19770 AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` 19771 19772 // The unique identifier of the cluster to be modified. 19773 // 19774 // Example: examplecluster 19775 // 19776 // ClusterIdentifier is a required field 19777 ClusterIdentifier *string `type:"string" required:"true"` 19778 19779 // The name of the cluster parameter group to apply to this cluster. This change 19780 // is applied only after the cluster is rebooted. To reboot a cluster use RebootCluster. 19781 // 19782 // Default: Uses existing setting. 19783 // 19784 // Constraints: The cluster parameter group must be in the same parameter group 19785 // family that matches the cluster version. 19786 ClusterParameterGroupName *string `type:"string"` 19787 19788 // A list of cluster security groups to be authorized on this cluster. This 19789 // change is asynchronously applied as soon as possible. 19790 // 19791 // Security groups currently associated with the cluster, and not in the list 19792 // of groups to apply, will be revoked from the cluster. 19793 // 19794 // Constraints: 19795 // 19796 // * Must be 1 to 255 alphanumeric characters or hyphens 19797 // 19798 // * First character must be a letter 19799 // 19800 // * Cannot end with a hyphen or contain two consecutive hyphens 19801 ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"` 19802 19803 // The new cluster type. 19804 // 19805 // When you submit your cluster resize request, your existing cluster goes into 19806 // a read-only mode. After Amazon Redshift provisions a new cluster based on 19807 // your resize requirements, there will be outage for a period while the old 19808 // cluster is deleted and your connection is switched to the new cluster. You 19809 // can use DescribeResize to track the progress of the resize request. 19810 // 19811 // Valid Values: multi-node | single-node 19812 ClusterType *string `type:"string"` 19813 19814 // The new version number of the Amazon Redshift engine to upgrade to. 19815 // 19816 // For major version upgrades, if a non-default cluster parameter group is currently 19817 // in use, a new cluster parameter group in the cluster parameter group family 19818 // for the new version must be specified. The new cluster parameter group can 19819 // be the default for that cluster parameter group family. For more information 19820 // about parameters and parameter groups, go to Amazon Redshift Parameter Groups 19821 // (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 19822 // in the Amazon Redshift Cluster Management Guide. 19823 // 19824 // Example: 1.0 19825 ClusterVersion *string `type:"string"` 19826 19827 // The Elastic IP (EIP) address for the cluster. 19828 // 19829 // Constraints: The cluster must be provisioned in EC2-VPC and publicly-accessible 19830 // through an Internet gateway. For more information about provisioning clusters 19831 // in EC2-VPC, go to Supported Platforms to Launch Your Cluster (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#cluster-platforms) 19832 // in the Amazon Redshift Cluster Management Guide. 19833 ElasticIp *string `type:"string"` 19834 19835 // Indicates whether the cluster is encrypted. If the value is encrypted (true) 19836 // and you provide a value for the KmsKeyId parameter, we encrypt the cluster 19837 // with the provided KmsKeyId. If you don't provide a KmsKeyId, we encrypt with 19838 // the default key. In the China region we use legacy encryption if you specify 19839 // that the cluster is encrypted. 19840 // 19841 // If the value is not encrypted (false), then the cluster is decrypted. 19842 Encrypted *bool `type:"boolean"` 19843 19844 // An option that specifies whether to create the cluster with enhanced VPC 19845 // routing enabled. To create a cluster that uses enhanced VPC routing, the 19846 // cluster must be in a VPC. For more information, see Enhanced VPC Routing 19847 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) 19848 // in the Amazon Redshift Cluster Management Guide. 19849 // 19850 // If this option is true, enhanced VPC routing is enabled. 19851 // 19852 // Default: false 19853 EnhancedVpcRouting *bool `type:"boolean"` 19854 19855 // Specifies the name of the HSM client certificate the Amazon Redshift cluster 19856 // uses to retrieve the data encryption keys stored in an HSM. 19857 HsmClientCertificateIdentifier *string `type:"string"` 19858 19859 // Specifies the name of the HSM configuration that contains the information 19860 // the Amazon Redshift cluster can use to retrieve and store keys in an HSM. 19861 HsmConfigurationIdentifier *string `type:"string"` 19862 19863 // The AWS Key Management Service (KMS) key ID of the encryption key that you 19864 // want to use to encrypt data in the cluster. 19865 KmsKeyId *string `type:"string"` 19866 19867 // The name for the maintenance track that you want to assign for the cluster. 19868 // This name change is asynchronous. The new track name stays in the PendingModifiedValues 19869 // for the cluster until the next maintenance window. When the maintenance track 19870 // changes, the cluster is switched to the latest cluster release available 19871 // for the maintenance track. At this point, the maintenance track name is applied. 19872 MaintenanceTrackName *string `type:"string"` 19873 19874 // The default for number of days that a newly created manual snapshot is retained. 19875 // If the value is -1, the manual snapshot is retained indefinitely. This value 19876 // doesn't retroactively change the retention periods of existing manual snapshots. 19877 // 19878 // The value must be either -1 or an integer between 1 and 3,653. 19879 // 19880 // The default value is -1. 19881 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 19882 19883 // The new password for the cluster master user. This change is asynchronously 19884 // applied as soon as possible. Between the time of the request and the completion 19885 // of the request, the MasterUserPassword element exists in the PendingModifiedValues 19886 // element of the operation response. 19887 // 19888 // Operations never return the password, so this operation provides a way to 19889 // regain access to the master user account for a cluster if the password is 19890 // lost. 19891 // 19892 // Default: Uses existing setting. 19893 // 19894 // Constraints: 19895 // 19896 // * Must be between 8 and 64 characters in length. 19897 // 19898 // * Must contain at least one uppercase letter. 19899 // 19900 // * Must contain at least one lowercase letter. 19901 // 19902 // * Must contain one number. 19903 // 19904 // * Can be any printable ASCII character (ASCII code 33 to 126) except ' 19905 // (single quote), " (double quote), \, /, @, or space. 19906 MasterUserPassword *string `type:"string"` 19907 19908 // The new identifier for the cluster. 19909 // 19910 // Constraints: 19911 // 19912 // * Must contain from 1 to 63 alphanumeric characters or hyphens. 19913 // 19914 // * Alphabetic characters must be lowercase. 19915 // 19916 // * First character must be a letter. 19917 // 19918 // * Cannot end with a hyphen or contain two consecutive hyphens. 19919 // 19920 // * Must be unique for all clusters within an AWS account. 19921 // 19922 // Example: examplecluster 19923 NewClusterIdentifier *string `type:"string"` 19924 19925 // The new node type of the cluster. If you specify a new node type, you must 19926 // also specify the number of nodes parameter. 19927 // 19928 // For more information about resizing clusters, go to Resizing Clusters in 19929 // Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/rs-resize-tutorial.html) 19930 // in the Amazon Redshift Cluster Management Guide. 19931 // 19932 // Valid Values: ds2.xlarge | ds2.8xlarge | dc1.large | dc1.8xlarge | dc2.large 19933 // | dc2.8xlarge | ra3.4xlarge | ra3.16xlarge 19934 NodeType *string `type:"string"` 19935 19936 // The new number of nodes of the cluster. If you specify a new number of nodes, 19937 // you must also specify the node type parameter. 19938 // 19939 // For more information about resizing clusters, go to Resizing Clusters in 19940 // Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/rs-resize-tutorial.html) 19941 // in the Amazon Redshift Cluster Management Guide. 19942 // 19943 // Valid Values: Integer greater than 0. 19944 NumberOfNodes *int64 `type:"integer"` 19945 19946 // The weekly time range (in UTC) during which system maintenance can occur, 19947 // if necessary. If system maintenance is necessary during the window, it may 19948 // result in an outage. 19949 // 19950 // This maintenance window change is made immediately. If the new maintenance 19951 // window indicates the current time, there must be at least 120 minutes between 19952 // the current time and end of the window in order to ensure that pending changes 19953 // are applied. 19954 // 19955 // Default: Uses existing setting. 19956 // 19957 // Format: ddd:hh24:mi-ddd:hh24:mi, for example wed:07:30-wed:08:00. 19958 // 19959 // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun 19960 // 19961 // Constraints: Must be at least 30 minutes. 19962 PreferredMaintenanceWindow *string `type:"string"` 19963 19964 // If true, the cluster can be accessed from a public network. Only clusters 19965 // in VPCs can be set to be publicly available. 19966 PubliclyAccessible *bool `type:"boolean"` 19967 19968 // A list of virtual private cloud (VPC) security groups to be associated with 19969 // the cluster. This change is asynchronously applied as soon as possible. 19970 VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` 19971} 19972 19973// String returns the string representation 19974func (s ModifyClusterInput) String() string { 19975 return awsutil.Prettify(s) 19976} 19977 19978// GoString returns the string representation 19979func (s ModifyClusterInput) GoString() string { 19980 return s.String() 19981} 19982 19983// Validate inspects the fields of the type to determine if they are valid. 19984func (s *ModifyClusterInput) Validate() error { 19985 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterInput"} 19986 if s.ClusterIdentifier == nil { 19987 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 19988 } 19989 19990 if invalidParams.Len() > 0 { 19991 return invalidParams 19992 } 19993 return nil 19994} 19995 19996// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value. 19997func (s *ModifyClusterInput) SetAllowVersionUpgrade(v bool) *ModifyClusterInput { 19998 s.AllowVersionUpgrade = &v 19999 return s 20000} 20001 20002// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value. 20003func (s *ModifyClusterInput) SetAutomatedSnapshotRetentionPeriod(v int64) *ModifyClusterInput { 20004 s.AutomatedSnapshotRetentionPeriod = &v 20005 return s 20006} 20007 20008// SetClusterIdentifier sets the ClusterIdentifier field's value. 20009func (s *ModifyClusterInput) SetClusterIdentifier(v string) *ModifyClusterInput { 20010 s.ClusterIdentifier = &v 20011 return s 20012} 20013 20014// SetClusterParameterGroupName sets the ClusterParameterGroupName field's value. 20015func (s *ModifyClusterInput) SetClusterParameterGroupName(v string) *ModifyClusterInput { 20016 s.ClusterParameterGroupName = &v 20017 return s 20018} 20019 20020// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value. 20021func (s *ModifyClusterInput) SetClusterSecurityGroups(v []*string) *ModifyClusterInput { 20022 s.ClusterSecurityGroups = v 20023 return s 20024} 20025 20026// SetClusterType sets the ClusterType field's value. 20027func (s *ModifyClusterInput) SetClusterType(v string) *ModifyClusterInput { 20028 s.ClusterType = &v 20029 return s 20030} 20031 20032// SetClusterVersion sets the ClusterVersion field's value. 20033func (s *ModifyClusterInput) SetClusterVersion(v string) *ModifyClusterInput { 20034 s.ClusterVersion = &v 20035 return s 20036} 20037 20038// SetElasticIp sets the ElasticIp field's value. 20039func (s *ModifyClusterInput) SetElasticIp(v string) *ModifyClusterInput { 20040 s.ElasticIp = &v 20041 return s 20042} 20043 20044// SetEncrypted sets the Encrypted field's value. 20045func (s *ModifyClusterInput) SetEncrypted(v bool) *ModifyClusterInput { 20046 s.Encrypted = &v 20047 return s 20048} 20049 20050// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. 20051func (s *ModifyClusterInput) SetEnhancedVpcRouting(v bool) *ModifyClusterInput { 20052 s.EnhancedVpcRouting = &v 20053 return s 20054} 20055 20056// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 20057func (s *ModifyClusterInput) SetHsmClientCertificateIdentifier(v string) *ModifyClusterInput { 20058 s.HsmClientCertificateIdentifier = &v 20059 return s 20060} 20061 20062// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 20063func (s *ModifyClusterInput) SetHsmConfigurationIdentifier(v string) *ModifyClusterInput { 20064 s.HsmConfigurationIdentifier = &v 20065 return s 20066} 20067 20068// SetKmsKeyId sets the KmsKeyId field's value. 20069func (s *ModifyClusterInput) SetKmsKeyId(v string) *ModifyClusterInput { 20070 s.KmsKeyId = &v 20071 return s 20072} 20073 20074// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 20075func (s *ModifyClusterInput) SetMaintenanceTrackName(v string) *ModifyClusterInput { 20076 s.MaintenanceTrackName = &v 20077 return s 20078} 20079 20080// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 20081func (s *ModifyClusterInput) SetManualSnapshotRetentionPeriod(v int64) *ModifyClusterInput { 20082 s.ManualSnapshotRetentionPeriod = &v 20083 return s 20084} 20085 20086// SetMasterUserPassword sets the MasterUserPassword field's value. 20087func (s *ModifyClusterInput) SetMasterUserPassword(v string) *ModifyClusterInput { 20088 s.MasterUserPassword = &v 20089 return s 20090} 20091 20092// SetNewClusterIdentifier sets the NewClusterIdentifier field's value. 20093func (s *ModifyClusterInput) SetNewClusterIdentifier(v string) *ModifyClusterInput { 20094 s.NewClusterIdentifier = &v 20095 return s 20096} 20097 20098// SetNodeType sets the NodeType field's value. 20099func (s *ModifyClusterInput) SetNodeType(v string) *ModifyClusterInput { 20100 s.NodeType = &v 20101 return s 20102} 20103 20104// SetNumberOfNodes sets the NumberOfNodes field's value. 20105func (s *ModifyClusterInput) SetNumberOfNodes(v int64) *ModifyClusterInput { 20106 s.NumberOfNodes = &v 20107 return s 20108} 20109 20110// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 20111func (s *ModifyClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyClusterInput { 20112 s.PreferredMaintenanceWindow = &v 20113 return s 20114} 20115 20116// SetPubliclyAccessible sets the PubliclyAccessible field's value. 20117func (s *ModifyClusterInput) SetPubliclyAccessible(v bool) *ModifyClusterInput { 20118 s.PubliclyAccessible = &v 20119 return s 20120} 20121 20122// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. 20123func (s *ModifyClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyClusterInput { 20124 s.VpcSecurityGroupIds = v 20125 return s 20126} 20127 20128type ModifyClusterMaintenanceInput struct { 20129 _ struct{} `type:"structure"` 20130 20131 // A unique identifier for the cluster. 20132 // 20133 // ClusterIdentifier is a required field 20134 ClusterIdentifier *string `type:"string" required:"true"` 20135 20136 // A boolean indicating whether to enable the deferred maintenance window. 20137 DeferMaintenance *bool `type:"boolean"` 20138 20139 // An integer indicating the duration of the maintenance window in days. If 20140 // you specify a duration, you can't specify an end time. The duration must 20141 // be 45 days or less. 20142 DeferMaintenanceDuration *int64 `type:"integer"` 20143 20144 // A timestamp indicating end time for the deferred maintenance window. If you 20145 // specify an end time, you can't specify a duration. 20146 DeferMaintenanceEndTime *time.Time `type:"timestamp"` 20147 20148 // A unique identifier for the deferred maintenance window. 20149 DeferMaintenanceIdentifier *string `type:"string"` 20150 20151 // A timestamp indicating the start time for the deferred maintenance window. 20152 DeferMaintenanceStartTime *time.Time `type:"timestamp"` 20153} 20154 20155// String returns the string representation 20156func (s ModifyClusterMaintenanceInput) String() string { 20157 return awsutil.Prettify(s) 20158} 20159 20160// GoString returns the string representation 20161func (s ModifyClusterMaintenanceInput) GoString() string { 20162 return s.String() 20163} 20164 20165// Validate inspects the fields of the type to determine if they are valid. 20166func (s *ModifyClusterMaintenanceInput) Validate() error { 20167 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterMaintenanceInput"} 20168 if s.ClusterIdentifier == nil { 20169 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 20170 } 20171 20172 if invalidParams.Len() > 0 { 20173 return invalidParams 20174 } 20175 return nil 20176} 20177 20178// SetClusterIdentifier sets the ClusterIdentifier field's value. 20179func (s *ModifyClusterMaintenanceInput) SetClusterIdentifier(v string) *ModifyClusterMaintenanceInput { 20180 s.ClusterIdentifier = &v 20181 return s 20182} 20183 20184// SetDeferMaintenance sets the DeferMaintenance field's value. 20185func (s *ModifyClusterMaintenanceInput) SetDeferMaintenance(v bool) *ModifyClusterMaintenanceInput { 20186 s.DeferMaintenance = &v 20187 return s 20188} 20189 20190// SetDeferMaintenanceDuration sets the DeferMaintenanceDuration field's value. 20191func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceDuration(v int64) *ModifyClusterMaintenanceInput { 20192 s.DeferMaintenanceDuration = &v 20193 return s 20194} 20195 20196// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value. 20197func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceEndTime(v time.Time) *ModifyClusterMaintenanceInput { 20198 s.DeferMaintenanceEndTime = &v 20199 return s 20200} 20201 20202// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value. 20203func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceIdentifier(v string) *ModifyClusterMaintenanceInput { 20204 s.DeferMaintenanceIdentifier = &v 20205 return s 20206} 20207 20208// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value. 20209func (s *ModifyClusterMaintenanceInput) SetDeferMaintenanceStartTime(v time.Time) *ModifyClusterMaintenanceInput { 20210 s.DeferMaintenanceStartTime = &v 20211 return s 20212} 20213 20214type ModifyClusterMaintenanceOutput struct { 20215 _ struct{} `type:"structure"` 20216 20217 // Describes a cluster. 20218 Cluster *Cluster `type:"structure"` 20219} 20220 20221// String returns the string representation 20222func (s ModifyClusterMaintenanceOutput) String() string { 20223 return awsutil.Prettify(s) 20224} 20225 20226// GoString returns the string representation 20227func (s ModifyClusterMaintenanceOutput) GoString() string { 20228 return s.String() 20229} 20230 20231// SetCluster sets the Cluster field's value. 20232func (s *ModifyClusterMaintenanceOutput) SetCluster(v *Cluster) *ModifyClusterMaintenanceOutput { 20233 s.Cluster = v 20234 return s 20235} 20236 20237type ModifyClusterOutput struct { 20238 _ struct{} `type:"structure"` 20239 20240 // Describes a cluster. 20241 Cluster *Cluster `type:"structure"` 20242} 20243 20244// String returns the string representation 20245func (s ModifyClusterOutput) String() string { 20246 return awsutil.Prettify(s) 20247} 20248 20249// GoString returns the string representation 20250func (s ModifyClusterOutput) GoString() string { 20251 return s.String() 20252} 20253 20254// SetCluster sets the Cluster field's value. 20255func (s *ModifyClusterOutput) SetCluster(v *Cluster) *ModifyClusterOutput { 20256 s.Cluster = v 20257 return s 20258} 20259 20260type ModifyClusterParameterGroupInput struct { 20261 _ struct{} `type:"structure"` 20262 20263 // The name of the parameter group to be modified. 20264 // 20265 // ParameterGroupName is a required field 20266 ParameterGroupName *string `type:"string" required:"true"` 20267 20268 // An array of parameters to be modified. A maximum of 20 parameters can be 20269 // modified in a single request. 20270 // 20271 // For each parameter to be modified, you must supply at least the parameter 20272 // name and parameter value; other name-value pairs of the parameter are optional. 20273 // 20274 // For the workload management (WLM) configuration, you must supply all the 20275 // name-value pairs in the wlm_json_configuration parameter. 20276 // 20277 // Parameters is a required field 20278 Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"` 20279} 20280 20281// String returns the string representation 20282func (s ModifyClusterParameterGroupInput) String() string { 20283 return awsutil.Prettify(s) 20284} 20285 20286// GoString returns the string representation 20287func (s ModifyClusterParameterGroupInput) GoString() string { 20288 return s.String() 20289} 20290 20291// Validate inspects the fields of the type to determine if they are valid. 20292func (s *ModifyClusterParameterGroupInput) Validate() error { 20293 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterParameterGroupInput"} 20294 if s.ParameterGroupName == nil { 20295 invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) 20296 } 20297 if s.Parameters == nil { 20298 invalidParams.Add(request.NewErrParamRequired("Parameters")) 20299 } 20300 20301 if invalidParams.Len() > 0 { 20302 return invalidParams 20303 } 20304 return nil 20305} 20306 20307// SetParameterGroupName sets the ParameterGroupName field's value. 20308func (s *ModifyClusterParameterGroupInput) SetParameterGroupName(v string) *ModifyClusterParameterGroupInput { 20309 s.ParameterGroupName = &v 20310 return s 20311} 20312 20313// SetParameters sets the Parameters field's value. 20314func (s *ModifyClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyClusterParameterGroupInput { 20315 s.Parameters = v 20316 return s 20317} 20318 20319type ModifyClusterSnapshotInput struct { 20320 _ struct{} `type:"structure"` 20321 20322 // A Boolean option to override an exception if the retention period has already 20323 // passed. 20324 Force *bool `type:"boolean"` 20325 20326 // The number of days that a manual snapshot is retained. If the value is -1, 20327 // the manual snapshot is retained indefinitely. 20328 // 20329 // If the manual snapshot falls outside of the new retention period, you can 20330 // specify the force option to immediately delete the snapshot. 20331 // 20332 // The value must be either -1 or an integer between 1 and 3,653. 20333 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 20334 20335 // The identifier of the snapshot whose setting you want to modify. 20336 // 20337 // SnapshotIdentifier is a required field 20338 SnapshotIdentifier *string `type:"string" required:"true"` 20339} 20340 20341// String returns the string representation 20342func (s ModifyClusterSnapshotInput) String() string { 20343 return awsutil.Prettify(s) 20344} 20345 20346// GoString returns the string representation 20347func (s ModifyClusterSnapshotInput) GoString() string { 20348 return s.String() 20349} 20350 20351// Validate inspects the fields of the type to determine if they are valid. 20352func (s *ModifyClusterSnapshotInput) Validate() error { 20353 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSnapshotInput"} 20354 if s.SnapshotIdentifier == nil { 20355 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 20356 } 20357 20358 if invalidParams.Len() > 0 { 20359 return invalidParams 20360 } 20361 return nil 20362} 20363 20364// SetForce sets the Force field's value. 20365func (s *ModifyClusterSnapshotInput) SetForce(v bool) *ModifyClusterSnapshotInput { 20366 s.Force = &v 20367 return s 20368} 20369 20370// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 20371func (s *ModifyClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *ModifyClusterSnapshotInput { 20372 s.ManualSnapshotRetentionPeriod = &v 20373 return s 20374} 20375 20376// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 20377func (s *ModifyClusterSnapshotInput) SetSnapshotIdentifier(v string) *ModifyClusterSnapshotInput { 20378 s.SnapshotIdentifier = &v 20379 return s 20380} 20381 20382type ModifyClusterSnapshotOutput struct { 20383 _ struct{} `type:"structure"` 20384 20385 // Describes a snapshot. 20386 Snapshot *Snapshot `type:"structure"` 20387} 20388 20389// String returns the string representation 20390func (s ModifyClusterSnapshotOutput) String() string { 20391 return awsutil.Prettify(s) 20392} 20393 20394// GoString returns the string representation 20395func (s ModifyClusterSnapshotOutput) GoString() string { 20396 return s.String() 20397} 20398 20399// SetSnapshot sets the Snapshot field's value. 20400func (s *ModifyClusterSnapshotOutput) SetSnapshot(v *Snapshot) *ModifyClusterSnapshotOutput { 20401 s.Snapshot = v 20402 return s 20403} 20404 20405type ModifyClusterSnapshotScheduleInput struct { 20406 _ struct{} `type:"structure"` 20407 20408 // A unique identifier for the cluster whose snapshot schedule you want to modify. 20409 // 20410 // ClusterIdentifier is a required field 20411 ClusterIdentifier *string `type:"string" required:"true"` 20412 20413 // A boolean to indicate whether to remove the assoiciation between the cluster 20414 // and the schedule. 20415 DisassociateSchedule *bool `type:"boolean"` 20416 20417 // A unique alphanumeric identifier for the schedule that you want to associate 20418 // with the cluster. 20419 ScheduleIdentifier *string `type:"string"` 20420} 20421 20422// String returns the string representation 20423func (s ModifyClusterSnapshotScheduleInput) String() string { 20424 return awsutil.Prettify(s) 20425} 20426 20427// GoString returns the string representation 20428func (s ModifyClusterSnapshotScheduleInput) GoString() string { 20429 return s.String() 20430} 20431 20432// Validate inspects the fields of the type to determine if they are valid. 20433func (s *ModifyClusterSnapshotScheduleInput) Validate() error { 20434 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSnapshotScheduleInput"} 20435 if s.ClusterIdentifier == nil { 20436 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 20437 } 20438 20439 if invalidParams.Len() > 0 { 20440 return invalidParams 20441 } 20442 return nil 20443} 20444 20445// SetClusterIdentifier sets the ClusterIdentifier field's value. 20446func (s *ModifyClusterSnapshotScheduleInput) SetClusterIdentifier(v string) *ModifyClusterSnapshotScheduleInput { 20447 s.ClusterIdentifier = &v 20448 return s 20449} 20450 20451// SetDisassociateSchedule sets the DisassociateSchedule field's value. 20452func (s *ModifyClusterSnapshotScheduleInput) SetDisassociateSchedule(v bool) *ModifyClusterSnapshotScheduleInput { 20453 s.DisassociateSchedule = &v 20454 return s 20455} 20456 20457// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 20458func (s *ModifyClusterSnapshotScheduleInput) SetScheduleIdentifier(v string) *ModifyClusterSnapshotScheduleInput { 20459 s.ScheduleIdentifier = &v 20460 return s 20461} 20462 20463type ModifyClusterSnapshotScheduleOutput struct { 20464 _ struct{} `type:"structure"` 20465} 20466 20467// String returns the string representation 20468func (s ModifyClusterSnapshotScheduleOutput) String() string { 20469 return awsutil.Prettify(s) 20470} 20471 20472// GoString returns the string representation 20473func (s ModifyClusterSnapshotScheduleOutput) GoString() string { 20474 return s.String() 20475} 20476 20477type ModifyClusterSubnetGroupInput struct { 20478 _ struct{} `type:"structure"` 20479 20480 // The name of the subnet group to be modified. 20481 // 20482 // ClusterSubnetGroupName is a required field 20483 ClusterSubnetGroupName *string `type:"string" required:"true"` 20484 20485 // A text description of the subnet group to be modified. 20486 Description *string `type:"string"` 20487 20488 // An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a 20489 // single request. 20490 // 20491 // SubnetIds is a required field 20492 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 20493} 20494 20495// String returns the string representation 20496func (s ModifyClusterSubnetGroupInput) String() string { 20497 return awsutil.Prettify(s) 20498} 20499 20500// GoString returns the string representation 20501func (s ModifyClusterSubnetGroupInput) GoString() string { 20502 return s.String() 20503} 20504 20505// Validate inspects the fields of the type to determine if they are valid. 20506func (s *ModifyClusterSubnetGroupInput) Validate() error { 20507 invalidParams := request.ErrInvalidParams{Context: "ModifyClusterSubnetGroupInput"} 20508 if s.ClusterSubnetGroupName == nil { 20509 invalidParams.Add(request.NewErrParamRequired("ClusterSubnetGroupName")) 20510 } 20511 if s.SubnetIds == nil { 20512 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 20513 } 20514 20515 if invalidParams.Len() > 0 { 20516 return invalidParams 20517 } 20518 return nil 20519} 20520 20521// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 20522func (s *ModifyClusterSubnetGroupInput) SetClusterSubnetGroupName(v string) *ModifyClusterSubnetGroupInput { 20523 s.ClusterSubnetGroupName = &v 20524 return s 20525} 20526 20527// SetDescription sets the Description field's value. 20528func (s *ModifyClusterSubnetGroupInput) SetDescription(v string) *ModifyClusterSubnetGroupInput { 20529 s.Description = &v 20530 return s 20531} 20532 20533// SetSubnetIds sets the SubnetIds field's value. 20534func (s *ModifyClusterSubnetGroupInput) SetSubnetIds(v []*string) *ModifyClusterSubnetGroupInput { 20535 s.SubnetIds = v 20536 return s 20537} 20538 20539type ModifyClusterSubnetGroupOutput struct { 20540 _ struct{} `type:"structure"` 20541 20542 // Describes a subnet group. 20543 ClusterSubnetGroup *ClusterSubnetGroup `type:"structure"` 20544} 20545 20546// String returns the string representation 20547func (s ModifyClusterSubnetGroupOutput) String() string { 20548 return awsutil.Prettify(s) 20549} 20550 20551// GoString returns the string representation 20552func (s ModifyClusterSubnetGroupOutput) GoString() string { 20553 return s.String() 20554} 20555 20556// SetClusterSubnetGroup sets the ClusterSubnetGroup field's value. 20557func (s *ModifyClusterSubnetGroupOutput) SetClusterSubnetGroup(v *ClusterSubnetGroup) *ModifyClusterSubnetGroupOutput { 20558 s.ClusterSubnetGroup = v 20559 return s 20560} 20561 20562type ModifyEventSubscriptionInput struct { 20563 _ struct{} `type:"structure"` 20564 20565 // A Boolean value indicating if the subscription is enabled. true indicates 20566 // the subscription is enabled 20567 Enabled *bool `type:"boolean"` 20568 20569 // Specifies the Amazon Redshift event categories to be published by the event 20570 // notification subscription. 20571 // 20572 // Values: configuration, management, monitoring, security 20573 EventCategories []*string `locationNameList:"EventCategory" type:"list"` 20574 20575 // Specifies the Amazon Redshift event severity to be published by the event 20576 // notification subscription. 20577 // 20578 // Values: ERROR, INFO 20579 Severity *string `type:"string"` 20580 20581 // The Amazon Resource Name (ARN) of the SNS topic to be used by the event notification 20582 // subscription. 20583 SnsTopicArn *string `type:"string"` 20584 20585 // A list of one or more identifiers of Amazon Redshift source objects. All 20586 // of the objects must be of the same type as was specified in the source type 20587 // parameter. The event subscription will return only events generated by the 20588 // specified objects. If not specified, then events are returned for all objects 20589 // within the source type specified. 20590 // 20591 // Example: my-cluster-1, my-cluster-2 20592 // 20593 // Example: my-snapshot-20131010 20594 SourceIds []*string `locationNameList:"SourceId" type:"list"` 20595 20596 // The type of source that will be generating the events. For example, if you 20597 // want to be notified of events generated by a cluster, you would set this 20598 // parameter to cluster. If this value is not specified, events are returned 20599 // for all Amazon Redshift objects in your AWS account. You must specify a source 20600 // type in order to specify source IDs. 20601 // 20602 // Valid values: cluster, cluster-parameter-group, cluster-security-group, cluster-snapshot, 20603 // and scheduled-action. 20604 SourceType *string `type:"string"` 20605 20606 // The name of the modified Amazon Redshift event notification subscription. 20607 // 20608 // SubscriptionName is a required field 20609 SubscriptionName *string `type:"string" required:"true"` 20610} 20611 20612// String returns the string representation 20613func (s ModifyEventSubscriptionInput) String() string { 20614 return awsutil.Prettify(s) 20615} 20616 20617// GoString returns the string representation 20618func (s ModifyEventSubscriptionInput) GoString() string { 20619 return s.String() 20620} 20621 20622// Validate inspects the fields of the type to determine if they are valid. 20623func (s *ModifyEventSubscriptionInput) Validate() error { 20624 invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"} 20625 if s.SubscriptionName == nil { 20626 invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) 20627 } 20628 20629 if invalidParams.Len() > 0 { 20630 return invalidParams 20631 } 20632 return nil 20633} 20634 20635// SetEnabled sets the Enabled field's value. 20636func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput { 20637 s.Enabled = &v 20638 return s 20639} 20640 20641// SetEventCategories sets the EventCategories field's value. 20642func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput { 20643 s.EventCategories = v 20644 return s 20645} 20646 20647// SetSeverity sets the Severity field's value. 20648func (s *ModifyEventSubscriptionInput) SetSeverity(v string) *ModifyEventSubscriptionInput { 20649 s.Severity = &v 20650 return s 20651} 20652 20653// SetSnsTopicArn sets the SnsTopicArn field's value. 20654func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput { 20655 s.SnsTopicArn = &v 20656 return s 20657} 20658 20659// SetSourceIds sets the SourceIds field's value. 20660func (s *ModifyEventSubscriptionInput) SetSourceIds(v []*string) *ModifyEventSubscriptionInput { 20661 s.SourceIds = v 20662 return s 20663} 20664 20665// SetSourceType sets the SourceType field's value. 20666func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput { 20667 s.SourceType = &v 20668 return s 20669} 20670 20671// SetSubscriptionName sets the SubscriptionName field's value. 20672func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput { 20673 s.SubscriptionName = &v 20674 return s 20675} 20676 20677type ModifyEventSubscriptionOutput struct { 20678 _ struct{} `type:"structure"` 20679 20680 // Describes event subscriptions. 20681 EventSubscription *EventSubscription `type:"structure"` 20682} 20683 20684// String returns the string representation 20685func (s ModifyEventSubscriptionOutput) String() string { 20686 return awsutil.Prettify(s) 20687} 20688 20689// GoString returns the string representation 20690func (s ModifyEventSubscriptionOutput) GoString() string { 20691 return s.String() 20692} 20693 20694// SetEventSubscription sets the EventSubscription field's value. 20695func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput { 20696 s.EventSubscription = v 20697 return s 20698} 20699 20700type ModifyScheduledActionInput struct { 20701 _ struct{} `type:"structure"` 20702 20703 // A modified enable flag of the scheduled action. If true, the scheduled action 20704 // is active. If false, the scheduled action is disabled. 20705 Enable *bool `type:"boolean"` 20706 20707 // A modified end time of the scheduled action. For more information about this 20708 // parameter, see ScheduledAction. 20709 EndTime *time.Time `type:"timestamp"` 20710 20711 // A different IAM role to assume to run the target action. For more information 20712 // about this parameter, see ScheduledAction. 20713 IamRole *string `type:"string"` 20714 20715 // A modified schedule in either at( ) or cron( ) format. For more information 20716 // about this parameter, see ScheduledAction. 20717 Schedule *string `type:"string"` 20718 20719 // A modified description of the scheduled action. 20720 ScheduledActionDescription *string `type:"string"` 20721 20722 // The name of the scheduled action to modify. 20723 // 20724 // ScheduledActionName is a required field 20725 ScheduledActionName *string `type:"string" required:"true"` 20726 20727 // A modified start time of the scheduled action. For more information about 20728 // this parameter, see ScheduledAction. 20729 StartTime *time.Time `type:"timestamp"` 20730 20731 // A modified JSON format of the scheduled action. For more information about 20732 // this parameter, see ScheduledAction. 20733 TargetAction *ScheduledActionType `type:"structure"` 20734} 20735 20736// String returns the string representation 20737func (s ModifyScheduledActionInput) String() string { 20738 return awsutil.Prettify(s) 20739} 20740 20741// GoString returns the string representation 20742func (s ModifyScheduledActionInput) GoString() string { 20743 return s.String() 20744} 20745 20746// Validate inspects the fields of the type to determine if they are valid. 20747func (s *ModifyScheduledActionInput) Validate() error { 20748 invalidParams := request.ErrInvalidParams{Context: "ModifyScheduledActionInput"} 20749 if s.ScheduledActionName == nil { 20750 invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) 20751 } 20752 if s.TargetAction != nil { 20753 if err := s.TargetAction.Validate(); err != nil { 20754 invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) 20755 } 20756 } 20757 20758 if invalidParams.Len() > 0 { 20759 return invalidParams 20760 } 20761 return nil 20762} 20763 20764// SetEnable sets the Enable field's value. 20765func (s *ModifyScheduledActionInput) SetEnable(v bool) *ModifyScheduledActionInput { 20766 s.Enable = &v 20767 return s 20768} 20769 20770// SetEndTime sets the EndTime field's value. 20771func (s *ModifyScheduledActionInput) SetEndTime(v time.Time) *ModifyScheduledActionInput { 20772 s.EndTime = &v 20773 return s 20774} 20775 20776// SetIamRole sets the IamRole field's value. 20777func (s *ModifyScheduledActionInput) SetIamRole(v string) *ModifyScheduledActionInput { 20778 s.IamRole = &v 20779 return s 20780} 20781 20782// SetSchedule sets the Schedule field's value. 20783func (s *ModifyScheduledActionInput) SetSchedule(v string) *ModifyScheduledActionInput { 20784 s.Schedule = &v 20785 return s 20786} 20787 20788// SetScheduledActionDescription sets the ScheduledActionDescription field's value. 20789func (s *ModifyScheduledActionInput) SetScheduledActionDescription(v string) *ModifyScheduledActionInput { 20790 s.ScheduledActionDescription = &v 20791 return s 20792} 20793 20794// SetScheduledActionName sets the ScheduledActionName field's value. 20795func (s *ModifyScheduledActionInput) SetScheduledActionName(v string) *ModifyScheduledActionInput { 20796 s.ScheduledActionName = &v 20797 return s 20798} 20799 20800// SetStartTime sets the StartTime field's value. 20801func (s *ModifyScheduledActionInput) SetStartTime(v time.Time) *ModifyScheduledActionInput { 20802 s.StartTime = &v 20803 return s 20804} 20805 20806// SetTargetAction sets the TargetAction field's value. 20807func (s *ModifyScheduledActionInput) SetTargetAction(v *ScheduledActionType) *ModifyScheduledActionInput { 20808 s.TargetAction = v 20809 return s 20810} 20811 20812// Describes a scheduled action. You can use a scheduled action to trigger some 20813// Amazon Redshift API operations on a schedule. For information about which 20814// API operations can be scheduled, see ScheduledActionType. 20815type ModifyScheduledActionOutput struct { 20816 _ struct{} `type:"structure"` 20817 20818 // The end time in UTC when the schedule is no longer active. After this time, 20819 // the scheduled action does not trigger. 20820 EndTime *time.Time `type:"timestamp"` 20821 20822 // The IAM role to assume to run the scheduled action. This IAM role must have 20823 // permission to run the Amazon Redshift API operation in the scheduled action. 20824 // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) 20825 // to assume permissions on your behalf. For more information about the IAM 20826 // role to use with the Amazon Redshift scheduler, see Using Identity-Based 20827 // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) 20828 // in the Amazon Redshift Cluster Management Guide. 20829 IamRole *string `type:"string"` 20830 20831 // List of times when the scheduled action will run. 20832 NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` 20833 20834 // The schedule for a one-time (at format) or recurring (cron format) scheduled 20835 // action. Schedule invocations must be separated by at least one hour. 20836 // 20837 // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". 20838 // 20839 // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week 20840 // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron 20841 // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) 20842 // in the Amazon CloudWatch Events User Guide. 20843 Schedule *string `type:"string"` 20844 20845 // The description of the scheduled action. 20846 ScheduledActionDescription *string `type:"string"` 20847 20848 // The name of the scheduled action. 20849 ScheduledActionName *string `type:"string"` 20850 20851 // The start time in UTC when the schedule is active. Before this time, the 20852 // scheduled action does not trigger. 20853 StartTime *time.Time `type:"timestamp"` 20854 20855 // The state of the scheduled action. For example, DISABLED. 20856 State *string `type:"string" enum:"ScheduledActionState"` 20857 20858 // A JSON format string of the Amazon Redshift API operation with input parameters. 20859 // 20860 // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". 20861 TargetAction *ScheduledActionType `type:"structure"` 20862} 20863 20864// String returns the string representation 20865func (s ModifyScheduledActionOutput) String() string { 20866 return awsutil.Prettify(s) 20867} 20868 20869// GoString returns the string representation 20870func (s ModifyScheduledActionOutput) GoString() string { 20871 return s.String() 20872} 20873 20874// SetEndTime sets the EndTime field's value. 20875func (s *ModifyScheduledActionOutput) SetEndTime(v time.Time) *ModifyScheduledActionOutput { 20876 s.EndTime = &v 20877 return s 20878} 20879 20880// SetIamRole sets the IamRole field's value. 20881func (s *ModifyScheduledActionOutput) SetIamRole(v string) *ModifyScheduledActionOutput { 20882 s.IamRole = &v 20883 return s 20884} 20885 20886// SetNextInvocations sets the NextInvocations field's value. 20887func (s *ModifyScheduledActionOutput) SetNextInvocations(v []*time.Time) *ModifyScheduledActionOutput { 20888 s.NextInvocations = v 20889 return s 20890} 20891 20892// SetSchedule sets the Schedule field's value. 20893func (s *ModifyScheduledActionOutput) SetSchedule(v string) *ModifyScheduledActionOutput { 20894 s.Schedule = &v 20895 return s 20896} 20897 20898// SetScheduledActionDescription sets the ScheduledActionDescription field's value. 20899func (s *ModifyScheduledActionOutput) SetScheduledActionDescription(v string) *ModifyScheduledActionOutput { 20900 s.ScheduledActionDescription = &v 20901 return s 20902} 20903 20904// SetScheduledActionName sets the ScheduledActionName field's value. 20905func (s *ModifyScheduledActionOutput) SetScheduledActionName(v string) *ModifyScheduledActionOutput { 20906 s.ScheduledActionName = &v 20907 return s 20908} 20909 20910// SetStartTime sets the StartTime field's value. 20911func (s *ModifyScheduledActionOutput) SetStartTime(v time.Time) *ModifyScheduledActionOutput { 20912 s.StartTime = &v 20913 return s 20914} 20915 20916// SetState sets the State field's value. 20917func (s *ModifyScheduledActionOutput) SetState(v string) *ModifyScheduledActionOutput { 20918 s.State = &v 20919 return s 20920} 20921 20922// SetTargetAction sets the TargetAction field's value. 20923func (s *ModifyScheduledActionOutput) SetTargetAction(v *ScheduledActionType) *ModifyScheduledActionOutput { 20924 s.TargetAction = v 20925 return s 20926} 20927 20928type ModifySnapshotCopyRetentionPeriodInput struct { 20929 _ struct{} `type:"structure"` 20930 20931 // The unique identifier of the cluster for which you want to change the retention 20932 // period for either automated or manual snapshots that are copied to a destination 20933 // AWS Region. 20934 // 20935 // Constraints: Must be the valid name of an existing cluster that has cross-region 20936 // snapshot copy enabled. 20937 // 20938 // ClusterIdentifier is a required field 20939 ClusterIdentifier *string `type:"string" required:"true"` 20940 20941 // Indicates whether to apply the snapshot retention period to newly copied 20942 // manual snapshots instead of automated snapshots. 20943 Manual *bool `type:"boolean"` 20944 20945 // The number of days to retain automated snapshots in the destination AWS Region 20946 // after they are copied from the source AWS Region. 20947 // 20948 // By default, this only changes the retention period of copied automated snapshots. 20949 // 20950 // If you decrease the retention period for automated snapshots that are copied 20951 // to a destination AWS Region, Amazon Redshift deletes any existing automated 20952 // snapshots that were copied to the destination AWS Region and that fall outside 20953 // of the new retention period. 20954 // 20955 // Constraints: Must be at least 1 and no more than 35 for automated snapshots. 20956 // 20957 // If you specify the manual option, only newly copied manual snapshots will 20958 // have the new retention period. 20959 // 20960 // If you specify the value of -1 newly copied manual snapshots are retained 20961 // indefinitely. 20962 // 20963 // Constraints: The number of days must be either -1 or an integer between 1 20964 // and 3,653 for manual snapshots. 20965 // 20966 // RetentionPeriod is a required field 20967 RetentionPeriod *int64 `type:"integer" required:"true"` 20968} 20969 20970// String returns the string representation 20971func (s ModifySnapshotCopyRetentionPeriodInput) String() string { 20972 return awsutil.Prettify(s) 20973} 20974 20975// GoString returns the string representation 20976func (s ModifySnapshotCopyRetentionPeriodInput) GoString() string { 20977 return s.String() 20978} 20979 20980// Validate inspects the fields of the type to determine if they are valid. 20981func (s *ModifySnapshotCopyRetentionPeriodInput) Validate() error { 20982 invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotCopyRetentionPeriodInput"} 20983 if s.ClusterIdentifier == nil { 20984 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 20985 } 20986 if s.RetentionPeriod == nil { 20987 invalidParams.Add(request.NewErrParamRequired("RetentionPeriod")) 20988 } 20989 20990 if invalidParams.Len() > 0 { 20991 return invalidParams 20992 } 20993 return nil 20994} 20995 20996// SetClusterIdentifier sets the ClusterIdentifier field's value. 20997func (s *ModifySnapshotCopyRetentionPeriodInput) SetClusterIdentifier(v string) *ModifySnapshotCopyRetentionPeriodInput { 20998 s.ClusterIdentifier = &v 20999 return s 21000} 21001 21002// SetManual sets the Manual field's value. 21003func (s *ModifySnapshotCopyRetentionPeriodInput) SetManual(v bool) *ModifySnapshotCopyRetentionPeriodInput { 21004 s.Manual = &v 21005 return s 21006} 21007 21008// SetRetentionPeriod sets the RetentionPeriod field's value. 21009func (s *ModifySnapshotCopyRetentionPeriodInput) SetRetentionPeriod(v int64) *ModifySnapshotCopyRetentionPeriodInput { 21010 s.RetentionPeriod = &v 21011 return s 21012} 21013 21014type ModifySnapshotCopyRetentionPeriodOutput struct { 21015 _ struct{} `type:"structure"` 21016 21017 // Describes a cluster. 21018 Cluster *Cluster `type:"structure"` 21019} 21020 21021// String returns the string representation 21022func (s ModifySnapshotCopyRetentionPeriodOutput) String() string { 21023 return awsutil.Prettify(s) 21024} 21025 21026// GoString returns the string representation 21027func (s ModifySnapshotCopyRetentionPeriodOutput) GoString() string { 21028 return s.String() 21029} 21030 21031// SetCluster sets the Cluster field's value. 21032func (s *ModifySnapshotCopyRetentionPeriodOutput) SetCluster(v *Cluster) *ModifySnapshotCopyRetentionPeriodOutput { 21033 s.Cluster = v 21034 return s 21035} 21036 21037type ModifySnapshotScheduleInput struct { 21038 _ struct{} `type:"structure"` 21039 21040 // An updated list of schedule definitions. A schedule definition is made up 21041 // of schedule expressions, for example, "cron(30 12 *)" or "rate(12 hours)". 21042 // 21043 // ScheduleDefinitions is a required field 21044 ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list" required:"true"` 21045 21046 // A unique alphanumeric identifier of the schedule to modify. 21047 // 21048 // ScheduleIdentifier is a required field 21049 ScheduleIdentifier *string `type:"string" required:"true"` 21050} 21051 21052// String returns the string representation 21053func (s ModifySnapshotScheduleInput) String() string { 21054 return awsutil.Prettify(s) 21055} 21056 21057// GoString returns the string representation 21058func (s ModifySnapshotScheduleInput) GoString() string { 21059 return s.String() 21060} 21061 21062// Validate inspects the fields of the type to determine if they are valid. 21063func (s *ModifySnapshotScheduleInput) Validate() error { 21064 invalidParams := request.ErrInvalidParams{Context: "ModifySnapshotScheduleInput"} 21065 if s.ScheduleDefinitions == nil { 21066 invalidParams.Add(request.NewErrParamRequired("ScheduleDefinitions")) 21067 } 21068 if s.ScheduleIdentifier == nil { 21069 invalidParams.Add(request.NewErrParamRequired("ScheduleIdentifier")) 21070 } 21071 21072 if invalidParams.Len() > 0 { 21073 return invalidParams 21074 } 21075 return nil 21076} 21077 21078// SetScheduleDefinitions sets the ScheduleDefinitions field's value. 21079func (s *ModifySnapshotScheduleInput) SetScheduleDefinitions(v []*string) *ModifySnapshotScheduleInput { 21080 s.ScheduleDefinitions = v 21081 return s 21082} 21083 21084// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 21085func (s *ModifySnapshotScheduleInput) SetScheduleIdentifier(v string) *ModifySnapshotScheduleInput { 21086 s.ScheduleIdentifier = &v 21087 return s 21088} 21089 21090// Describes a snapshot schedule. You can set a regular interval for creating 21091// snapshots of a cluster. You can also schedule snapshots for specific dates. 21092type ModifySnapshotScheduleOutput struct { 21093 _ struct{} `type:"structure"` 21094 21095 // The number of clusters associated with the schedule. 21096 AssociatedClusterCount *int64 `type:"integer"` 21097 21098 // A list of clusters associated with the schedule. A maximum of 100 clusters 21099 // is returned. 21100 AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"` 21101 21102 NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"` 21103 21104 // A list of ScheduleDefinitions. 21105 ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"` 21106 21107 // The description of the schedule. 21108 ScheduleDescription *string `type:"string"` 21109 21110 // A unique identifier for the schedule. 21111 ScheduleIdentifier *string `type:"string"` 21112 21113 // An optional set of tags describing the schedule. 21114 Tags []*Tag `locationNameList:"Tag" type:"list"` 21115} 21116 21117// String returns the string representation 21118func (s ModifySnapshotScheduleOutput) String() string { 21119 return awsutil.Prettify(s) 21120} 21121 21122// GoString returns the string representation 21123func (s ModifySnapshotScheduleOutput) GoString() string { 21124 return s.String() 21125} 21126 21127// SetAssociatedClusterCount sets the AssociatedClusterCount field's value. 21128func (s *ModifySnapshotScheduleOutput) SetAssociatedClusterCount(v int64) *ModifySnapshotScheduleOutput { 21129 s.AssociatedClusterCount = &v 21130 return s 21131} 21132 21133// SetAssociatedClusters sets the AssociatedClusters field's value. 21134func (s *ModifySnapshotScheduleOutput) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *ModifySnapshotScheduleOutput { 21135 s.AssociatedClusters = v 21136 return s 21137} 21138 21139// SetNextInvocations sets the NextInvocations field's value. 21140func (s *ModifySnapshotScheduleOutput) SetNextInvocations(v []*time.Time) *ModifySnapshotScheduleOutput { 21141 s.NextInvocations = v 21142 return s 21143} 21144 21145// SetScheduleDefinitions sets the ScheduleDefinitions field's value. 21146func (s *ModifySnapshotScheduleOutput) SetScheduleDefinitions(v []*string) *ModifySnapshotScheduleOutput { 21147 s.ScheduleDefinitions = v 21148 return s 21149} 21150 21151// SetScheduleDescription sets the ScheduleDescription field's value. 21152func (s *ModifySnapshotScheduleOutput) SetScheduleDescription(v string) *ModifySnapshotScheduleOutput { 21153 s.ScheduleDescription = &v 21154 return s 21155} 21156 21157// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 21158func (s *ModifySnapshotScheduleOutput) SetScheduleIdentifier(v string) *ModifySnapshotScheduleOutput { 21159 s.ScheduleIdentifier = &v 21160 return s 21161} 21162 21163// SetTags sets the Tags field's value. 21164func (s *ModifySnapshotScheduleOutput) SetTags(v []*Tag) *ModifySnapshotScheduleOutput { 21165 s.Tags = v 21166 return s 21167} 21168 21169type ModifyUsageLimitInput struct { 21170 _ struct{} `type:"structure"` 21171 21172 // The new limit amount. For more information about this parameter, see UsageLimit. 21173 Amount *int64 `type:"long"` 21174 21175 // The new action that Amazon Redshift takes when the limit is reached. For 21176 // more information about this parameter, see UsageLimit. 21177 BreachAction *string `type:"string" enum:"UsageLimitBreachAction"` 21178 21179 // The identifier of the usage limit to modify. 21180 // 21181 // UsageLimitId is a required field 21182 UsageLimitId *string `type:"string" required:"true"` 21183} 21184 21185// String returns the string representation 21186func (s ModifyUsageLimitInput) String() string { 21187 return awsutil.Prettify(s) 21188} 21189 21190// GoString returns the string representation 21191func (s ModifyUsageLimitInput) GoString() string { 21192 return s.String() 21193} 21194 21195// Validate inspects the fields of the type to determine if they are valid. 21196func (s *ModifyUsageLimitInput) Validate() error { 21197 invalidParams := request.ErrInvalidParams{Context: "ModifyUsageLimitInput"} 21198 if s.UsageLimitId == nil { 21199 invalidParams.Add(request.NewErrParamRequired("UsageLimitId")) 21200 } 21201 21202 if invalidParams.Len() > 0 { 21203 return invalidParams 21204 } 21205 return nil 21206} 21207 21208// SetAmount sets the Amount field's value. 21209func (s *ModifyUsageLimitInput) SetAmount(v int64) *ModifyUsageLimitInput { 21210 s.Amount = &v 21211 return s 21212} 21213 21214// SetBreachAction sets the BreachAction field's value. 21215func (s *ModifyUsageLimitInput) SetBreachAction(v string) *ModifyUsageLimitInput { 21216 s.BreachAction = &v 21217 return s 21218} 21219 21220// SetUsageLimitId sets the UsageLimitId field's value. 21221func (s *ModifyUsageLimitInput) SetUsageLimitId(v string) *ModifyUsageLimitInput { 21222 s.UsageLimitId = &v 21223 return s 21224} 21225 21226// Describes a usage limit object for a cluster. 21227type ModifyUsageLimitOutput struct { 21228 _ struct{} `type:"structure"` 21229 21230 // The limit amount. If time-based, this amount is in minutes. If data-based, 21231 // this amount is in terabytes (TB). 21232 Amount *int64 `type:"long"` 21233 21234 // The action that Amazon Redshift takes when the limit is reached. Possible 21235 // values are: 21236 // 21237 // * log - To log an event in a system table. The default is log. 21238 // 21239 // * emit-metric - To emit CloudWatch metrics. 21240 // 21241 // * disable - To disable the feature until the next usage period begins. 21242 BreachAction *string `type:"string" enum:"UsageLimitBreachAction"` 21243 21244 // The identifier of the cluster with a usage limit. 21245 ClusterIdentifier *string `type:"string"` 21246 21247 // The Amazon Redshift feature to which the limit applies. 21248 FeatureType *string `type:"string" enum:"UsageLimitFeatureType"` 21249 21250 // The type of limit. Depending on the feature type, this can be based on a 21251 // time duration or data size. 21252 LimitType *string `type:"string" enum:"UsageLimitLimitType"` 21253 21254 // The time period that the amount applies to. A weekly period begins on Sunday. 21255 // The default is monthly. 21256 Period *string `type:"string" enum:"UsageLimitPeriod"` 21257 21258 // A list of tag instances. 21259 Tags []*Tag `locationNameList:"Tag" type:"list"` 21260 21261 // The identifier of the usage limit. 21262 UsageLimitId *string `type:"string"` 21263} 21264 21265// String returns the string representation 21266func (s ModifyUsageLimitOutput) String() string { 21267 return awsutil.Prettify(s) 21268} 21269 21270// GoString returns the string representation 21271func (s ModifyUsageLimitOutput) GoString() string { 21272 return s.String() 21273} 21274 21275// SetAmount sets the Amount field's value. 21276func (s *ModifyUsageLimitOutput) SetAmount(v int64) *ModifyUsageLimitOutput { 21277 s.Amount = &v 21278 return s 21279} 21280 21281// SetBreachAction sets the BreachAction field's value. 21282func (s *ModifyUsageLimitOutput) SetBreachAction(v string) *ModifyUsageLimitOutput { 21283 s.BreachAction = &v 21284 return s 21285} 21286 21287// SetClusterIdentifier sets the ClusterIdentifier field's value. 21288func (s *ModifyUsageLimitOutput) SetClusterIdentifier(v string) *ModifyUsageLimitOutput { 21289 s.ClusterIdentifier = &v 21290 return s 21291} 21292 21293// SetFeatureType sets the FeatureType field's value. 21294func (s *ModifyUsageLimitOutput) SetFeatureType(v string) *ModifyUsageLimitOutput { 21295 s.FeatureType = &v 21296 return s 21297} 21298 21299// SetLimitType sets the LimitType field's value. 21300func (s *ModifyUsageLimitOutput) SetLimitType(v string) *ModifyUsageLimitOutput { 21301 s.LimitType = &v 21302 return s 21303} 21304 21305// SetPeriod sets the Period field's value. 21306func (s *ModifyUsageLimitOutput) SetPeriod(v string) *ModifyUsageLimitOutput { 21307 s.Period = &v 21308 return s 21309} 21310 21311// SetTags sets the Tags field's value. 21312func (s *ModifyUsageLimitOutput) SetTags(v []*Tag) *ModifyUsageLimitOutput { 21313 s.Tags = v 21314 return s 21315} 21316 21317// SetUsageLimitId sets the UsageLimitId field's value. 21318func (s *ModifyUsageLimitOutput) SetUsageLimitId(v string) *ModifyUsageLimitOutput { 21319 s.UsageLimitId = &v 21320 return s 21321} 21322 21323// A list of node configurations. 21324type NodeConfigurationOption struct { 21325 _ struct{} `type:"structure"` 21326 21327 // The estimated disk utilizaton percentage. 21328 EstimatedDiskUtilizationPercent *float64 `type:"double"` 21329 21330 // The category of the node configuration recommendation. 21331 Mode *string `type:"string" enum:"Mode"` 21332 21333 // The node type, such as, "ds2.8xlarge". 21334 NodeType *string `type:"string"` 21335 21336 // The number of nodes. 21337 NumberOfNodes *int64 `type:"integer"` 21338} 21339 21340// String returns the string representation 21341func (s NodeConfigurationOption) String() string { 21342 return awsutil.Prettify(s) 21343} 21344 21345// GoString returns the string representation 21346func (s NodeConfigurationOption) GoString() string { 21347 return s.String() 21348} 21349 21350// SetEstimatedDiskUtilizationPercent sets the EstimatedDiskUtilizationPercent field's value. 21351func (s *NodeConfigurationOption) SetEstimatedDiskUtilizationPercent(v float64) *NodeConfigurationOption { 21352 s.EstimatedDiskUtilizationPercent = &v 21353 return s 21354} 21355 21356// SetMode sets the Mode field's value. 21357func (s *NodeConfigurationOption) SetMode(v string) *NodeConfigurationOption { 21358 s.Mode = &v 21359 return s 21360} 21361 21362// SetNodeType sets the NodeType field's value. 21363func (s *NodeConfigurationOption) SetNodeType(v string) *NodeConfigurationOption { 21364 s.NodeType = &v 21365 return s 21366} 21367 21368// SetNumberOfNodes sets the NumberOfNodes field's value. 21369func (s *NodeConfigurationOption) SetNumberOfNodes(v int64) *NodeConfigurationOption { 21370 s.NumberOfNodes = &v 21371 return s 21372} 21373 21374// A set of elements to filter the returned node configurations. 21375type NodeConfigurationOptionsFilter struct { 21376 _ struct{} `type:"structure"` 21377 21378 // The name of the element to filter. 21379 Name *string `type:"string" enum:"NodeConfigurationOptionsFilterName"` 21380 21381 // The filter operator. If filter Name is NodeType only the 'in' operator is 21382 // supported. Provide one value to evaluate for 'eq', 'lt', 'le', 'gt', and 21383 // 'ge'. Provide two values to evaluate for 'between'. Provide a list of values 21384 // for 'in'. 21385 Operator *string `type:"string" enum:"OperatorType"` 21386 21387 // List of values. Compare Name using Operator to Values. If filter Name is 21388 // NumberOfNodes, then values can range from 0 to 200. If filter Name is EstimatedDiskUtilizationPercent, 21389 // then values can range from 0 to 100. For example, filter NumberOfNodes (name) 21390 // GT (operator) 3 (values). 21391 Values []*string `locationName:"Value" locationNameList:"item" type:"list"` 21392} 21393 21394// String returns the string representation 21395func (s NodeConfigurationOptionsFilter) String() string { 21396 return awsutil.Prettify(s) 21397} 21398 21399// GoString returns the string representation 21400func (s NodeConfigurationOptionsFilter) GoString() string { 21401 return s.String() 21402} 21403 21404// SetName sets the Name field's value. 21405func (s *NodeConfigurationOptionsFilter) SetName(v string) *NodeConfigurationOptionsFilter { 21406 s.Name = &v 21407 return s 21408} 21409 21410// SetOperator sets the Operator field's value. 21411func (s *NodeConfigurationOptionsFilter) SetOperator(v string) *NodeConfigurationOptionsFilter { 21412 s.Operator = &v 21413 return s 21414} 21415 21416// SetValues sets the Values field's value. 21417func (s *NodeConfigurationOptionsFilter) SetValues(v []*string) *NodeConfigurationOptionsFilter { 21418 s.Values = v 21419 return s 21420} 21421 21422// Describes an orderable cluster option. 21423type OrderableClusterOption struct { 21424 _ struct{} `type:"structure"` 21425 21426 // A list of availability zones for the orderable cluster. 21427 AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"` 21428 21429 // The cluster type, for example multi-node. 21430 ClusterType *string `type:"string"` 21431 21432 // The version of the orderable cluster. 21433 ClusterVersion *string `type:"string"` 21434 21435 // The node type for the orderable cluster. 21436 NodeType *string `type:"string"` 21437} 21438 21439// String returns the string representation 21440func (s OrderableClusterOption) String() string { 21441 return awsutil.Prettify(s) 21442} 21443 21444// GoString returns the string representation 21445func (s OrderableClusterOption) GoString() string { 21446 return s.String() 21447} 21448 21449// SetAvailabilityZones sets the AvailabilityZones field's value. 21450func (s *OrderableClusterOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableClusterOption { 21451 s.AvailabilityZones = v 21452 return s 21453} 21454 21455// SetClusterType sets the ClusterType field's value. 21456func (s *OrderableClusterOption) SetClusterType(v string) *OrderableClusterOption { 21457 s.ClusterType = &v 21458 return s 21459} 21460 21461// SetClusterVersion sets the ClusterVersion field's value. 21462func (s *OrderableClusterOption) SetClusterVersion(v string) *OrderableClusterOption { 21463 s.ClusterVersion = &v 21464 return s 21465} 21466 21467// SetNodeType sets the NodeType field's value. 21468func (s *OrderableClusterOption) SetNodeType(v string) *OrderableClusterOption { 21469 s.NodeType = &v 21470 return s 21471} 21472 21473// Describes a parameter in a cluster parameter group. 21474type Parameter struct { 21475 _ struct{} `type:"structure"` 21476 21477 // The valid range of values for the parameter. 21478 AllowedValues *string `type:"string"` 21479 21480 // Specifies how to apply the WLM configuration parameter. Some properties can 21481 // be applied dynamically, while other properties require that any associated 21482 // clusters be rebooted for the configuration changes to be applied. For more 21483 // information about parameters and parameter groups, go to Amazon Redshift 21484 // Parameter Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html) 21485 // in the Amazon Redshift Cluster Management Guide. 21486 ApplyType *string `type:"string" enum:"ParameterApplyType"` 21487 21488 // The data type of the parameter. 21489 DataType *string `type:"string"` 21490 21491 // A description of the parameter. 21492 Description *string `type:"string"` 21493 21494 // If true, the parameter can be modified. Some parameters have security or 21495 // operational implications that prevent them from being changed. 21496 IsModifiable *bool `type:"boolean"` 21497 21498 // The earliest engine version to which the parameter can apply. 21499 MinimumEngineVersion *string `type:"string"` 21500 21501 // The name of the parameter. 21502 ParameterName *string `type:"string"` 21503 21504 // The value of the parameter. 21505 ParameterValue *string `type:"string"` 21506 21507 // The source of the parameter value, such as "engine-default" or "user". 21508 Source *string `type:"string"` 21509} 21510 21511// String returns the string representation 21512func (s Parameter) String() string { 21513 return awsutil.Prettify(s) 21514} 21515 21516// GoString returns the string representation 21517func (s Parameter) GoString() string { 21518 return s.String() 21519} 21520 21521// SetAllowedValues sets the AllowedValues field's value. 21522func (s *Parameter) SetAllowedValues(v string) *Parameter { 21523 s.AllowedValues = &v 21524 return s 21525} 21526 21527// SetApplyType sets the ApplyType field's value. 21528func (s *Parameter) SetApplyType(v string) *Parameter { 21529 s.ApplyType = &v 21530 return s 21531} 21532 21533// SetDataType sets the DataType field's value. 21534func (s *Parameter) SetDataType(v string) *Parameter { 21535 s.DataType = &v 21536 return s 21537} 21538 21539// SetDescription sets the Description field's value. 21540func (s *Parameter) SetDescription(v string) *Parameter { 21541 s.Description = &v 21542 return s 21543} 21544 21545// SetIsModifiable sets the IsModifiable field's value. 21546func (s *Parameter) SetIsModifiable(v bool) *Parameter { 21547 s.IsModifiable = &v 21548 return s 21549} 21550 21551// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 21552func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 21553 s.MinimumEngineVersion = &v 21554 return s 21555} 21556 21557// SetParameterName sets the ParameterName field's value. 21558func (s *Parameter) SetParameterName(v string) *Parameter { 21559 s.ParameterName = &v 21560 return s 21561} 21562 21563// SetParameterValue sets the ParameterValue field's value. 21564func (s *Parameter) SetParameterValue(v string) *Parameter { 21565 s.ParameterValue = &v 21566 return s 21567} 21568 21569// SetSource sets the Source field's value. 21570func (s *Parameter) SetSource(v string) *Parameter { 21571 s.Source = &v 21572 return s 21573} 21574 21575type PauseClusterInput struct { 21576 _ struct{} `type:"structure"` 21577 21578 // The identifier of the cluster to be paused. 21579 // 21580 // ClusterIdentifier is a required field 21581 ClusterIdentifier *string `type:"string" required:"true"` 21582} 21583 21584// String returns the string representation 21585func (s PauseClusterInput) String() string { 21586 return awsutil.Prettify(s) 21587} 21588 21589// GoString returns the string representation 21590func (s PauseClusterInput) GoString() string { 21591 return s.String() 21592} 21593 21594// Validate inspects the fields of the type to determine if they are valid. 21595func (s *PauseClusterInput) Validate() error { 21596 invalidParams := request.ErrInvalidParams{Context: "PauseClusterInput"} 21597 if s.ClusterIdentifier == nil { 21598 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 21599 } 21600 21601 if invalidParams.Len() > 0 { 21602 return invalidParams 21603 } 21604 return nil 21605} 21606 21607// SetClusterIdentifier sets the ClusterIdentifier field's value. 21608func (s *PauseClusterInput) SetClusterIdentifier(v string) *PauseClusterInput { 21609 s.ClusterIdentifier = &v 21610 return s 21611} 21612 21613type PauseClusterMessage struct { 21614 _ struct{} `type:"structure"` 21615 21616 // The identifier of the cluster to be paused. 21617 // 21618 // ClusterIdentifier is a required field 21619 ClusterIdentifier *string `type:"string" required:"true"` 21620} 21621 21622// String returns the string representation 21623func (s PauseClusterMessage) String() string { 21624 return awsutil.Prettify(s) 21625} 21626 21627// GoString returns the string representation 21628func (s PauseClusterMessage) GoString() string { 21629 return s.String() 21630} 21631 21632// Validate inspects the fields of the type to determine if they are valid. 21633func (s *PauseClusterMessage) Validate() error { 21634 invalidParams := request.ErrInvalidParams{Context: "PauseClusterMessage"} 21635 if s.ClusterIdentifier == nil { 21636 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 21637 } 21638 21639 if invalidParams.Len() > 0 { 21640 return invalidParams 21641 } 21642 return nil 21643} 21644 21645// SetClusterIdentifier sets the ClusterIdentifier field's value. 21646func (s *PauseClusterMessage) SetClusterIdentifier(v string) *PauseClusterMessage { 21647 s.ClusterIdentifier = &v 21648 return s 21649} 21650 21651type PauseClusterOutput struct { 21652 _ struct{} `type:"structure"` 21653 21654 // Describes a cluster. 21655 Cluster *Cluster `type:"structure"` 21656} 21657 21658// String returns the string representation 21659func (s PauseClusterOutput) String() string { 21660 return awsutil.Prettify(s) 21661} 21662 21663// GoString returns the string representation 21664func (s PauseClusterOutput) GoString() string { 21665 return s.String() 21666} 21667 21668// SetCluster sets the Cluster field's value. 21669func (s *PauseClusterOutput) SetCluster(v *Cluster) *PauseClusterOutput { 21670 s.Cluster = v 21671 return s 21672} 21673 21674// Describes cluster attributes that are in a pending state. A change to one 21675// or more the attributes was requested and is in progress or will be applied. 21676type PendingModifiedValues struct { 21677 _ struct{} `type:"structure"` 21678 21679 // The pending or in-progress change of the automated snapshot retention period. 21680 AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` 21681 21682 // The pending or in-progress change of the new identifier for the cluster. 21683 ClusterIdentifier *string `type:"string"` 21684 21685 // The pending or in-progress change of the cluster type. 21686 ClusterType *string `type:"string"` 21687 21688 // The pending or in-progress change of the service version. 21689 ClusterVersion *string `type:"string"` 21690 21691 // The encryption type for a cluster. Possible values are: KMS and None. For 21692 // the China region the possible values are None, and Legacy. 21693 EncryptionType *string `type:"string"` 21694 21695 // An option that specifies whether to create the cluster with enhanced VPC 21696 // routing enabled. To create a cluster that uses enhanced VPC routing, the 21697 // cluster must be in a VPC. For more information, see Enhanced VPC Routing 21698 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) 21699 // in the Amazon Redshift Cluster Management Guide. 21700 // 21701 // If this option is true, enhanced VPC routing is enabled. 21702 // 21703 // Default: false 21704 EnhancedVpcRouting *bool `type:"boolean"` 21705 21706 // The name of the maintenance track that the cluster will change to during 21707 // the next maintenance window. 21708 MaintenanceTrackName *string `type:"string"` 21709 21710 // The pending or in-progress change of the master user password for the cluster. 21711 MasterUserPassword *string `type:"string"` 21712 21713 // The pending or in-progress change of the cluster's node type. 21714 NodeType *string `type:"string"` 21715 21716 // The pending or in-progress change of the number of nodes in the cluster. 21717 NumberOfNodes *int64 `type:"integer"` 21718 21719 // The pending or in-progress change of the ability to connect to the cluster 21720 // from the public network. 21721 PubliclyAccessible *bool `type:"boolean"` 21722} 21723 21724// String returns the string representation 21725func (s PendingModifiedValues) String() string { 21726 return awsutil.Prettify(s) 21727} 21728 21729// GoString returns the string representation 21730func (s PendingModifiedValues) GoString() string { 21731 return s.String() 21732} 21733 21734// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value. 21735func (s *PendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *PendingModifiedValues { 21736 s.AutomatedSnapshotRetentionPeriod = &v 21737 return s 21738} 21739 21740// SetClusterIdentifier sets the ClusterIdentifier field's value. 21741func (s *PendingModifiedValues) SetClusterIdentifier(v string) *PendingModifiedValues { 21742 s.ClusterIdentifier = &v 21743 return s 21744} 21745 21746// SetClusterType sets the ClusterType field's value. 21747func (s *PendingModifiedValues) SetClusterType(v string) *PendingModifiedValues { 21748 s.ClusterType = &v 21749 return s 21750} 21751 21752// SetClusterVersion sets the ClusterVersion field's value. 21753func (s *PendingModifiedValues) SetClusterVersion(v string) *PendingModifiedValues { 21754 s.ClusterVersion = &v 21755 return s 21756} 21757 21758// SetEncryptionType sets the EncryptionType field's value. 21759func (s *PendingModifiedValues) SetEncryptionType(v string) *PendingModifiedValues { 21760 s.EncryptionType = &v 21761 return s 21762} 21763 21764// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. 21765func (s *PendingModifiedValues) SetEnhancedVpcRouting(v bool) *PendingModifiedValues { 21766 s.EnhancedVpcRouting = &v 21767 return s 21768} 21769 21770// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 21771func (s *PendingModifiedValues) SetMaintenanceTrackName(v string) *PendingModifiedValues { 21772 s.MaintenanceTrackName = &v 21773 return s 21774} 21775 21776// SetMasterUserPassword sets the MasterUserPassword field's value. 21777func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues { 21778 s.MasterUserPassword = &v 21779 return s 21780} 21781 21782// SetNodeType sets the NodeType field's value. 21783func (s *PendingModifiedValues) SetNodeType(v string) *PendingModifiedValues { 21784 s.NodeType = &v 21785 return s 21786} 21787 21788// SetNumberOfNodes sets the NumberOfNodes field's value. 21789func (s *PendingModifiedValues) SetNumberOfNodes(v int64) *PendingModifiedValues { 21790 s.NumberOfNodes = &v 21791 return s 21792} 21793 21794// SetPubliclyAccessible sets the PubliclyAccessible field's value. 21795func (s *PendingModifiedValues) SetPubliclyAccessible(v bool) *PendingModifiedValues { 21796 s.PubliclyAccessible = &v 21797 return s 21798} 21799 21800type PurchaseReservedNodeOfferingInput struct { 21801 _ struct{} `type:"structure"` 21802 21803 // The number of reserved nodes that you want to purchase. 21804 // 21805 // Default: 1 21806 NodeCount *int64 `type:"integer"` 21807 21808 // The unique identifier of the reserved node offering you want to purchase. 21809 // 21810 // ReservedNodeOfferingId is a required field 21811 ReservedNodeOfferingId *string `type:"string" required:"true"` 21812} 21813 21814// String returns the string representation 21815func (s PurchaseReservedNodeOfferingInput) String() string { 21816 return awsutil.Prettify(s) 21817} 21818 21819// GoString returns the string representation 21820func (s PurchaseReservedNodeOfferingInput) GoString() string { 21821 return s.String() 21822} 21823 21824// Validate inspects the fields of the type to determine if they are valid. 21825func (s *PurchaseReservedNodeOfferingInput) Validate() error { 21826 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedNodeOfferingInput"} 21827 if s.ReservedNodeOfferingId == nil { 21828 invalidParams.Add(request.NewErrParamRequired("ReservedNodeOfferingId")) 21829 } 21830 21831 if invalidParams.Len() > 0 { 21832 return invalidParams 21833 } 21834 return nil 21835} 21836 21837// SetNodeCount sets the NodeCount field's value. 21838func (s *PurchaseReservedNodeOfferingInput) SetNodeCount(v int64) *PurchaseReservedNodeOfferingInput { 21839 s.NodeCount = &v 21840 return s 21841} 21842 21843// SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value. 21844func (s *PurchaseReservedNodeOfferingInput) SetReservedNodeOfferingId(v string) *PurchaseReservedNodeOfferingInput { 21845 s.ReservedNodeOfferingId = &v 21846 return s 21847} 21848 21849type PurchaseReservedNodeOfferingOutput struct { 21850 _ struct{} `type:"structure"` 21851 21852 // Describes a reserved node. You can call the DescribeReservedNodeOfferings 21853 // API to obtain the available reserved node offerings. 21854 ReservedNode *ReservedNode `type:"structure"` 21855} 21856 21857// String returns the string representation 21858func (s PurchaseReservedNodeOfferingOutput) String() string { 21859 return awsutil.Prettify(s) 21860} 21861 21862// GoString returns the string representation 21863func (s PurchaseReservedNodeOfferingOutput) GoString() string { 21864 return s.String() 21865} 21866 21867// SetReservedNode sets the ReservedNode field's value. 21868func (s *PurchaseReservedNodeOfferingOutput) SetReservedNode(v *ReservedNode) *PurchaseReservedNodeOfferingOutput { 21869 s.ReservedNode = v 21870 return s 21871} 21872 21873type RebootClusterInput struct { 21874 _ struct{} `type:"structure"` 21875 21876 // The cluster identifier. 21877 // 21878 // ClusterIdentifier is a required field 21879 ClusterIdentifier *string `type:"string" required:"true"` 21880} 21881 21882// String returns the string representation 21883func (s RebootClusterInput) String() string { 21884 return awsutil.Prettify(s) 21885} 21886 21887// GoString returns the string representation 21888func (s RebootClusterInput) GoString() string { 21889 return s.String() 21890} 21891 21892// Validate inspects the fields of the type to determine if they are valid. 21893func (s *RebootClusterInput) Validate() error { 21894 invalidParams := request.ErrInvalidParams{Context: "RebootClusterInput"} 21895 if s.ClusterIdentifier == nil { 21896 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 21897 } 21898 21899 if invalidParams.Len() > 0 { 21900 return invalidParams 21901 } 21902 return nil 21903} 21904 21905// SetClusterIdentifier sets the ClusterIdentifier field's value. 21906func (s *RebootClusterInput) SetClusterIdentifier(v string) *RebootClusterInput { 21907 s.ClusterIdentifier = &v 21908 return s 21909} 21910 21911type RebootClusterOutput struct { 21912 _ struct{} `type:"structure"` 21913 21914 // Describes a cluster. 21915 Cluster *Cluster `type:"structure"` 21916} 21917 21918// String returns the string representation 21919func (s RebootClusterOutput) String() string { 21920 return awsutil.Prettify(s) 21921} 21922 21923// GoString returns the string representation 21924func (s RebootClusterOutput) GoString() string { 21925 return s.String() 21926} 21927 21928// SetCluster sets the Cluster field's value. 21929func (s *RebootClusterOutput) SetCluster(v *Cluster) *RebootClusterOutput { 21930 s.Cluster = v 21931 return s 21932} 21933 21934// Describes a recurring charge. 21935type RecurringCharge struct { 21936 _ struct{} `type:"structure"` 21937 21938 // The amount charged per the period of time specified by the recurring charge 21939 // frequency. 21940 RecurringChargeAmount *float64 `type:"double"` 21941 21942 // The frequency at which the recurring charge amount is applied. 21943 RecurringChargeFrequency *string `type:"string"` 21944} 21945 21946// String returns the string representation 21947func (s RecurringCharge) String() string { 21948 return awsutil.Prettify(s) 21949} 21950 21951// GoString returns the string representation 21952func (s RecurringCharge) GoString() string { 21953 return s.String() 21954} 21955 21956// SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 21957func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 21958 s.RecurringChargeAmount = &v 21959 return s 21960} 21961 21962// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 21963func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 21964 s.RecurringChargeFrequency = &v 21965 return s 21966} 21967 21968// Describes a reserved node. You can call the DescribeReservedNodeOfferings 21969// API to obtain the available reserved node offerings. 21970type ReservedNode struct { 21971 _ struct{} `type:"structure"` 21972 21973 // The currency code for the reserved cluster. 21974 CurrencyCode *string `type:"string"` 21975 21976 // The duration of the node reservation in seconds. 21977 Duration *int64 `type:"integer"` 21978 21979 // The fixed cost Amazon Redshift charges you for this reserved node. 21980 FixedPrice *float64 `type:"double"` 21981 21982 // The number of reserved compute nodes. 21983 NodeCount *int64 `type:"integer"` 21984 21985 // The node type of the reserved node. 21986 NodeType *string `type:"string"` 21987 21988 // The anticipated utilization of the reserved node, as defined in the reserved 21989 // node offering. 21990 OfferingType *string `type:"string"` 21991 21992 // The recurring charges for the reserved node. 21993 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 21994 21995 // The unique identifier for the reservation. 21996 ReservedNodeId *string `type:"string"` 21997 21998 // The identifier for the reserved node offering. 21999 ReservedNodeOfferingId *string `type:"string"` 22000 22001 ReservedNodeOfferingType *string `type:"string" enum:"ReservedNodeOfferingType"` 22002 22003 // The time the reservation started. You purchase a reserved node offering for 22004 // a duration. This is the start time of that duration. 22005 StartTime *time.Time `type:"timestamp"` 22006 22007 // The state of the reserved compute node. 22008 // 22009 // Possible Values: 22010 // 22011 // * pending-payment-This reserved node has recently been purchased, and 22012 // the sale has been approved, but payment has not yet been confirmed. 22013 // 22014 // * active-This reserved node is owned by the caller and is available for 22015 // use. 22016 // 22017 // * payment-failed-Payment failed for the purchase attempt. 22018 // 22019 // * retired-The reserved node is no longer available. 22020 // 22021 // * exchanging-The owner is exchanging the reserved node for another reserved 22022 // node. 22023 State *string `type:"string"` 22024 22025 // The hourly rate Amazon Redshift charges you for this reserved node. 22026 UsagePrice *float64 `type:"double"` 22027} 22028 22029// String returns the string representation 22030func (s ReservedNode) String() string { 22031 return awsutil.Prettify(s) 22032} 22033 22034// GoString returns the string representation 22035func (s ReservedNode) GoString() string { 22036 return s.String() 22037} 22038 22039// SetCurrencyCode sets the CurrencyCode field's value. 22040func (s *ReservedNode) SetCurrencyCode(v string) *ReservedNode { 22041 s.CurrencyCode = &v 22042 return s 22043} 22044 22045// SetDuration sets the Duration field's value. 22046func (s *ReservedNode) SetDuration(v int64) *ReservedNode { 22047 s.Duration = &v 22048 return s 22049} 22050 22051// SetFixedPrice sets the FixedPrice field's value. 22052func (s *ReservedNode) SetFixedPrice(v float64) *ReservedNode { 22053 s.FixedPrice = &v 22054 return s 22055} 22056 22057// SetNodeCount sets the NodeCount field's value. 22058func (s *ReservedNode) SetNodeCount(v int64) *ReservedNode { 22059 s.NodeCount = &v 22060 return s 22061} 22062 22063// SetNodeType sets the NodeType field's value. 22064func (s *ReservedNode) SetNodeType(v string) *ReservedNode { 22065 s.NodeType = &v 22066 return s 22067} 22068 22069// SetOfferingType sets the OfferingType field's value. 22070func (s *ReservedNode) SetOfferingType(v string) *ReservedNode { 22071 s.OfferingType = &v 22072 return s 22073} 22074 22075// SetRecurringCharges sets the RecurringCharges field's value. 22076func (s *ReservedNode) SetRecurringCharges(v []*RecurringCharge) *ReservedNode { 22077 s.RecurringCharges = v 22078 return s 22079} 22080 22081// SetReservedNodeId sets the ReservedNodeId field's value. 22082func (s *ReservedNode) SetReservedNodeId(v string) *ReservedNode { 22083 s.ReservedNodeId = &v 22084 return s 22085} 22086 22087// SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value. 22088func (s *ReservedNode) SetReservedNodeOfferingId(v string) *ReservedNode { 22089 s.ReservedNodeOfferingId = &v 22090 return s 22091} 22092 22093// SetReservedNodeOfferingType sets the ReservedNodeOfferingType field's value. 22094func (s *ReservedNode) SetReservedNodeOfferingType(v string) *ReservedNode { 22095 s.ReservedNodeOfferingType = &v 22096 return s 22097} 22098 22099// SetStartTime sets the StartTime field's value. 22100func (s *ReservedNode) SetStartTime(v time.Time) *ReservedNode { 22101 s.StartTime = &v 22102 return s 22103} 22104 22105// SetState sets the State field's value. 22106func (s *ReservedNode) SetState(v string) *ReservedNode { 22107 s.State = &v 22108 return s 22109} 22110 22111// SetUsagePrice sets the UsagePrice field's value. 22112func (s *ReservedNode) SetUsagePrice(v float64) *ReservedNode { 22113 s.UsagePrice = &v 22114 return s 22115} 22116 22117// Describes a reserved node offering. 22118type ReservedNodeOffering struct { 22119 _ struct{} `type:"structure"` 22120 22121 // The currency code for the compute nodes offering. 22122 CurrencyCode *string `type:"string"` 22123 22124 // The duration, in seconds, for which the offering will reserve the node. 22125 Duration *int64 `type:"integer"` 22126 22127 // The upfront fixed charge you will pay to purchase the specific reserved node 22128 // offering. 22129 FixedPrice *float64 `type:"double"` 22130 22131 // The node type offered by the reserved node offering. 22132 NodeType *string `type:"string"` 22133 22134 // The anticipated utilization of the reserved node, as defined in the reserved 22135 // node offering. 22136 OfferingType *string `type:"string"` 22137 22138 // The charge to your account regardless of whether you are creating any clusters 22139 // using the node offering. Recurring charges are only in effect for heavy-utilization 22140 // reserved nodes. 22141 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 22142 22143 // The offering identifier. 22144 ReservedNodeOfferingId *string `type:"string"` 22145 22146 ReservedNodeOfferingType *string `type:"string" enum:"ReservedNodeOfferingType"` 22147 22148 // The rate you are charged for each hour the cluster that is using the offering 22149 // is running. 22150 UsagePrice *float64 `type:"double"` 22151} 22152 22153// String returns the string representation 22154func (s ReservedNodeOffering) String() string { 22155 return awsutil.Prettify(s) 22156} 22157 22158// GoString returns the string representation 22159func (s ReservedNodeOffering) GoString() string { 22160 return s.String() 22161} 22162 22163// SetCurrencyCode sets the CurrencyCode field's value. 22164func (s *ReservedNodeOffering) SetCurrencyCode(v string) *ReservedNodeOffering { 22165 s.CurrencyCode = &v 22166 return s 22167} 22168 22169// SetDuration sets the Duration field's value. 22170func (s *ReservedNodeOffering) SetDuration(v int64) *ReservedNodeOffering { 22171 s.Duration = &v 22172 return s 22173} 22174 22175// SetFixedPrice sets the FixedPrice field's value. 22176func (s *ReservedNodeOffering) SetFixedPrice(v float64) *ReservedNodeOffering { 22177 s.FixedPrice = &v 22178 return s 22179} 22180 22181// SetNodeType sets the NodeType field's value. 22182func (s *ReservedNodeOffering) SetNodeType(v string) *ReservedNodeOffering { 22183 s.NodeType = &v 22184 return s 22185} 22186 22187// SetOfferingType sets the OfferingType field's value. 22188func (s *ReservedNodeOffering) SetOfferingType(v string) *ReservedNodeOffering { 22189 s.OfferingType = &v 22190 return s 22191} 22192 22193// SetRecurringCharges sets the RecurringCharges field's value. 22194func (s *ReservedNodeOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedNodeOffering { 22195 s.RecurringCharges = v 22196 return s 22197} 22198 22199// SetReservedNodeOfferingId sets the ReservedNodeOfferingId field's value. 22200func (s *ReservedNodeOffering) SetReservedNodeOfferingId(v string) *ReservedNodeOffering { 22201 s.ReservedNodeOfferingId = &v 22202 return s 22203} 22204 22205// SetReservedNodeOfferingType sets the ReservedNodeOfferingType field's value. 22206func (s *ReservedNodeOffering) SetReservedNodeOfferingType(v string) *ReservedNodeOffering { 22207 s.ReservedNodeOfferingType = &v 22208 return s 22209} 22210 22211// SetUsagePrice sets the UsagePrice field's value. 22212func (s *ReservedNodeOffering) SetUsagePrice(v float64) *ReservedNodeOffering { 22213 s.UsagePrice = &v 22214 return s 22215} 22216 22217type ResetClusterParameterGroupInput struct { 22218 _ struct{} `type:"structure"` 22219 22220 // The name of the cluster parameter group to be reset. 22221 // 22222 // ParameterGroupName is a required field 22223 ParameterGroupName *string `type:"string" required:"true"` 22224 22225 // An array of names of parameters to be reset. If ResetAllParameters option 22226 // is not used, then at least one parameter name must be supplied. 22227 // 22228 // Constraints: A maximum of 20 parameters can be reset in a single request. 22229 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 22230 22231 // If true, all parameters in the specified parameter group will be reset to 22232 // their default values. 22233 // 22234 // Default: true 22235 ResetAllParameters *bool `type:"boolean"` 22236} 22237 22238// String returns the string representation 22239func (s ResetClusterParameterGroupInput) String() string { 22240 return awsutil.Prettify(s) 22241} 22242 22243// GoString returns the string representation 22244func (s ResetClusterParameterGroupInput) GoString() string { 22245 return s.String() 22246} 22247 22248// Validate inspects the fields of the type to determine if they are valid. 22249func (s *ResetClusterParameterGroupInput) Validate() error { 22250 invalidParams := request.ErrInvalidParams{Context: "ResetClusterParameterGroupInput"} 22251 if s.ParameterGroupName == nil { 22252 invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) 22253 } 22254 22255 if invalidParams.Len() > 0 { 22256 return invalidParams 22257 } 22258 return nil 22259} 22260 22261// SetParameterGroupName sets the ParameterGroupName field's value. 22262func (s *ResetClusterParameterGroupInput) SetParameterGroupName(v string) *ResetClusterParameterGroupInput { 22263 s.ParameterGroupName = &v 22264 return s 22265} 22266 22267// SetParameters sets the Parameters field's value. 22268func (s *ResetClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetClusterParameterGroupInput { 22269 s.Parameters = v 22270 return s 22271} 22272 22273// SetResetAllParameters sets the ResetAllParameters field's value. 22274func (s *ResetClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetClusterParameterGroupInput { 22275 s.ResetAllParameters = &v 22276 return s 22277} 22278 22279type ResizeClusterInput struct { 22280 _ struct{} `type:"structure"` 22281 22282 // A boolean value indicating whether the resize operation is using the classic 22283 // resize process. If you don't provide this parameter or set the value to false, 22284 // the resize type is elastic. 22285 Classic *bool `type:"boolean"` 22286 22287 // The unique identifier for the cluster to resize. 22288 // 22289 // ClusterIdentifier is a required field 22290 ClusterIdentifier *string `type:"string" required:"true"` 22291 22292 // The new cluster type for the specified cluster. 22293 ClusterType *string `type:"string"` 22294 22295 // The new node type for the nodes you are adding. If not specified, the cluster's 22296 // current node type is used. 22297 NodeType *string `type:"string"` 22298 22299 // The new number of nodes for the cluster. 22300 NumberOfNodes *int64 `type:"integer"` 22301} 22302 22303// String returns the string representation 22304func (s ResizeClusterInput) String() string { 22305 return awsutil.Prettify(s) 22306} 22307 22308// GoString returns the string representation 22309func (s ResizeClusterInput) GoString() string { 22310 return s.String() 22311} 22312 22313// Validate inspects the fields of the type to determine if they are valid. 22314func (s *ResizeClusterInput) Validate() error { 22315 invalidParams := request.ErrInvalidParams{Context: "ResizeClusterInput"} 22316 if s.ClusterIdentifier == nil { 22317 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 22318 } 22319 22320 if invalidParams.Len() > 0 { 22321 return invalidParams 22322 } 22323 return nil 22324} 22325 22326// SetClassic sets the Classic field's value. 22327func (s *ResizeClusterInput) SetClassic(v bool) *ResizeClusterInput { 22328 s.Classic = &v 22329 return s 22330} 22331 22332// SetClusterIdentifier sets the ClusterIdentifier field's value. 22333func (s *ResizeClusterInput) SetClusterIdentifier(v string) *ResizeClusterInput { 22334 s.ClusterIdentifier = &v 22335 return s 22336} 22337 22338// SetClusterType sets the ClusterType field's value. 22339func (s *ResizeClusterInput) SetClusterType(v string) *ResizeClusterInput { 22340 s.ClusterType = &v 22341 return s 22342} 22343 22344// SetNodeType sets the NodeType field's value. 22345func (s *ResizeClusterInput) SetNodeType(v string) *ResizeClusterInput { 22346 s.NodeType = &v 22347 return s 22348} 22349 22350// SetNumberOfNodes sets the NumberOfNodes field's value. 22351func (s *ResizeClusterInput) SetNumberOfNodes(v int64) *ResizeClusterInput { 22352 s.NumberOfNodes = &v 22353 return s 22354} 22355 22356type ResizeClusterMessage struct { 22357 _ struct{} `type:"structure"` 22358 22359 // A boolean value indicating whether the resize operation is using the classic 22360 // resize process. If you don't provide this parameter or set the value to false, 22361 // the resize type is elastic. 22362 Classic *bool `type:"boolean"` 22363 22364 // The unique identifier for the cluster to resize. 22365 // 22366 // ClusterIdentifier is a required field 22367 ClusterIdentifier *string `type:"string" required:"true"` 22368 22369 // The new cluster type for the specified cluster. 22370 ClusterType *string `type:"string"` 22371 22372 // The new node type for the nodes you are adding. If not specified, the cluster's 22373 // current node type is used. 22374 NodeType *string `type:"string"` 22375 22376 // The new number of nodes for the cluster. 22377 NumberOfNodes *int64 `type:"integer"` 22378} 22379 22380// String returns the string representation 22381func (s ResizeClusterMessage) String() string { 22382 return awsutil.Prettify(s) 22383} 22384 22385// GoString returns the string representation 22386func (s ResizeClusterMessage) GoString() string { 22387 return s.String() 22388} 22389 22390// Validate inspects the fields of the type to determine if they are valid. 22391func (s *ResizeClusterMessage) Validate() error { 22392 invalidParams := request.ErrInvalidParams{Context: "ResizeClusterMessage"} 22393 if s.ClusterIdentifier == nil { 22394 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 22395 } 22396 22397 if invalidParams.Len() > 0 { 22398 return invalidParams 22399 } 22400 return nil 22401} 22402 22403// SetClassic sets the Classic field's value. 22404func (s *ResizeClusterMessage) SetClassic(v bool) *ResizeClusterMessage { 22405 s.Classic = &v 22406 return s 22407} 22408 22409// SetClusterIdentifier sets the ClusterIdentifier field's value. 22410func (s *ResizeClusterMessage) SetClusterIdentifier(v string) *ResizeClusterMessage { 22411 s.ClusterIdentifier = &v 22412 return s 22413} 22414 22415// SetClusterType sets the ClusterType field's value. 22416func (s *ResizeClusterMessage) SetClusterType(v string) *ResizeClusterMessage { 22417 s.ClusterType = &v 22418 return s 22419} 22420 22421// SetNodeType sets the NodeType field's value. 22422func (s *ResizeClusterMessage) SetNodeType(v string) *ResizeClusterMessage { 22423 s.NodeType = &v 22424 return s 22425} 22426 22427// SetNumberOfNodes sets the NumberOfNodes field's value. 22428func (s *ResizeClusterMessage) SetNumberOfNodes(v int64) *ResizeClusterMessage { 22429 s.NumberOfNodes = &v 22430 return s 22431} 22432 22433type ResizeClusterOutput struct { 22434 _ struct{} `type:"structure"` 22435 22436 // Describes a cluster. 22437 Cluster *Cluster `type:"structure"` 22438} 22439 22440// String returns the string representation 22441func (s ResizeClusterOutput) String() string { 22442 return awsutil.Prettify(s) 22443} 22444 22445// GoString returns the string representation 22446func (s ResizeClusterOutput) GoString() string { 22447 return s.String() 22448} 22449 22450// SetCluster sets the Cluster field's value. 22451func (s *ResizeClusterOutput) SetCluster(v *Cluster) *ResizeClusterOutput { 22452 s.Cluster = v 22453 return s 22454} 22455 22456// Describes a resize operation. 22457type ResizeInfo struct { 22458 _ struct{} `type:"structure"` 22459 22460 // A boolean value indicating if the resize operation can be cancelled. 22461 AllowCancelResize *bool `type:"boolean"` 22462 22463 // Returns the value ClassicResize. 22464 ResizeType *string `type:"string"` 22465} 22466 22467// String returns the string representation 22468func (s ResizeInfo) String() string { 22469 return awsutil.Prettify(s) 22470} 22471 22472// GoString returns the string representation 22473func (s ResizeInfo) GoString() string { 22474 return s.String() 22475} 22476 22477// SetAllowCancelResize sets the AllowCancelResize field's value. 22478func (s *ResizeInfo) SetAllowCancelResize(v bool) *ResizeInfo { 22479 s.AllowCancelResize = &v 22480 return s 22481} 22482 22483// SetResizeType sets the ResizeType field's value. 22484func (s *ResizeInfo) SetResizeType(v string) *ResizeInfo { 22485 s.ResizeType = &v 22486 return s 22487} 22488 22489type RestoreFromClusterSnapshotInput struct { 22490 _ struct{} `type:"structure"` 22491 22492 // Reserved. 22493 AdditionalInfo *string `type:"string"` 22494 22495 // If true, major version upgrades can be applied during the maintenance window 22496 // to the Amazon Redshift engine that is running on the cluster. 22497 // 22498 // Default: true 22499 AllowVersionUpgrade *bool `type:"boolean"` 22500 22501 // The number of days that automated snapshots are retained. If the value is 22502 // 0, automated snapshots are disabled. Even if automated snapshots are disabled, 22503 // you can still create manual snapshots when you want with CreateClusterSnapshot. 22504 // 22505 // Default: The value selected for the cluster from which the snapshot was taken. 22506 // 22507 // Constraints: Must be a value from 0 to 35. 22508 AutomatedSnapshotRetentionPeriod *int64 `type:"integer"` 22509 22510 // The Amazon EC2 Availability Zone in which to restore the cluster. 22511 // 22512 // Default: A random, system-chosen Availability Zone. 22513 // 22514 // Example: us-east-2a 22515 AvailabilityZone *string `type:"string"` 22516 22517 // The identifier of the cluster that will be created from restoring the snapshot. 22518 // 22519 // Constraints: 22520 // 22521 // * Must contain from 1 to 63 alphanumeric characters or hyphens. 22522 // 22523 // * Alphabetic characters must be lowercase. 22524 // 22525 // * First character must be a letter. 22526 // 22527 // * Cannot end with a hyphen or contain two consecutive hyphens. 22528 // 22529 // * Must be unique for all clusters within an AWS account. 22530 // 22531 // ClusterIdentifier is a required field 22532 ClusterIdentifier *string `type:"string" required:"true"` 22533 22534 // The name of the parameter group to be associated with this cluster. 22535 // 22536 // Default: The default Amazon Redshift cluster parameter group. For information 22537 // about the default parameter group, go to Working with Amazon Redshift Parameter 22538 // Groups (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-parameter-groups.html). 22539 // 22540 // Constraints: 22541 // 22542 // * Must be 1 to 255 alphanumeric characters or hyphens. 22543 // 22544 // * First character must be a letter. 22545 // 22546 // * Cannot end with a hyphen or contain two consecutive hyphens. 22547 ClusterParameterGroupName *string `type:"string"` 22548 22549 // A list of security groups to be associated with this cluster. 22550 // 22551 // Default: The default cluster security group for Amazon Redshift. 22552 // 22553 // Cluster security groups only apply to clusters outside of VPCs. 22554 ClusterSecurityGroups []*string `locationNameList:"ClusterSecurityGroupName" type:"list"` 22555 22556 // The name of the subnet group where you want to cluster restored. 22557 // 22558 // A snapshot of cluster in VPC can be restored only in VPC. Therefore, you 22559 // must provide subnet group name where you want the cluster restored. 22560 ClusterSubnetGroupName *string `type:"string"` 22561 22562 // The elastic IP (EIP) address for the cluster. 22563 ElasticIp *string `type:"string"` 22564 22565 // An option that specifies whether to create the cluster with enhanced VPC 22566 // routing enabled. To create a cluster that uses enhanced VPC routing, the 22567 // cluster must be in a VPC. For more information, see Enhanced VPC Routing 22568 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) 22569 // in the Amazon Redshift Cluster Management Guide. 22570 // 22571 // If this option is true, enhanced VPC routing is enabled. 22572 // 22573 // Default: false 22574 EnhancedVpcRouting *bool `type:"boolean"` 22575 22576 // Specifies the name of the HSM client certificate the Amazon Redshift cluster 22577 // uses to retrieve the data encryption keys stored in an HSM. 22578 HsmClientCertificateIdentifier *string `type:"string"` 22579 22580 // Specifies the name of the HSM configuration that contains the information 22581 // the Amazon Redshift cluster can use to retrieve and store keys in an HSM. 22582 HsmConfigurationIdentifier *string `type:"string"` 22583 22584 // A list of AWS Identity and Access Management (IAM) roles that can be used 22585 // by the cluster to access other AWS services. You must supply the IAM roles 22586 // in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM roles 22587 // in a single request. 22588 // 22589 // A cluster can have up to 10 IAM roles associated at any time. 22590 IamRoles []*string `locationNameList:"IamRoleArn" type:"list"` 22591 22592 // The AWS Key Management Service (KMS) key ID of the encryption key that you 22593 // want to use to encrypt data in the cluster that you restore from a shared 22594 // snapshot. 22595 KmsKeyId *string `type:"string"` 22596 22597 // The name of the maintenance track for the restored cluster. When you take 22598 // a snapshot, the snapshot inherits the MaintenanceTrack value from the cluster. 22599 // The snapshot might be on a different track than the cluster that was the 22600 // source for the snapshot. For example, suppose that you take a snapshot of 22601 // a cluster that is on the current track and then change the cluster to be 22602 // on the trailing track. In this case, the snapshot and the source cluster 22603 // are on different tracks. 22604 MaintenanceTrackName *string `type:"string"` 22605 22606 // The default number of days to retain a manual snapshot. If the value is -1, 22607 // the snapshot is retained indefinitely. This setting doesn't change the retention 22608 // period of existing snapshots. 22609 // 22610 // The value must be either -1 or an integer between 1 and 3,653. 22611 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 22612 22613 // The node type that the restored cluster will be provisioned with. 22614 // 22615 // Default: The node type of the cluster from which the snapshot was taken. 22616 // You can modify this if you are using any DS node type. In that case, you 22617 // can choose to restore into another DS node type of the same size. For example, 22618 // you can restore ds1.8xlarge into ds2.8xlarge, or ds1.xlarge into ds2.xlarge. 22619 // If you have a DC instance type, you must restore into that same instance 22620 // type and size. In other words, you can only restore a dc1.large instance 22621 // type into another dc1.large instance type or dc2.large instance type. You 22622 // can't restore dc1.8xlarge to dc2.8xlarge. First restore to a dc1.8xlarge 22623 // cluster, then resize to a dc2.8large cluster. For more information about 22624 // node types, see About Clusters and Nodes (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-about-clusters-and-nodes) 22625 // in the Amazon Redshift Cluster Management Guide. 22626 NodeType *string `type:"string"` 22627 22628 // The number of nodes specified when provisioning the restored cluster. 22629 NumberOfNodes *int64 `type:"integer"` 22630 22631 // The AWS customer account used to create or copy the snapshot. Required if 22632 // you are restoring a snapshot you do not own, optional if you own the snapshot. 22633 OwnerAccount *string `type:"string"` 22634 22635 // The port number on which the cluster accepts connections. 22636 // 22637 // Default: The same port as the original cluster. 22638 // 22639 // Constraints: Must be between 1115 and 65535. 22640 Port *int64 `type:"integer"` 22641 22642 // The weekly time range (in UTC) during which automated cluster maintenance 22643 // can occur. 22644 // 22645 // Format: ddd:hh24:mi-ddd:hh24:mi 22646 // 22647 // Default: The value selected for the cluster from which the snapshot was taken. 22648 // For more information about the time blocks for each region, see Maintenance 22649 // Windows (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html#rs-maintenance-windows) 22650 // in Amazon Redshift Cluster Management Guide. 22651 // 22652 // Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun 22653 // 22654 // Constraints: Minimum 30-minute window. 22655 PreferredMaintenanceWindow *string `type:"string"` 22656 22657 // If true, the cluster can be accessed from a public network. 22658 PubliclyAccessible *bool `type:"boolean"` 22659 22660 // The name of the cluster the source snapshot was created from. This parameter 22661 // is required if your IAM user has a policy containing a snapshot resource 22662 // element that specifies anything other than * for the cluster name. 22663 SnapshotClusterIdentifier *string `type:"string"` 22664 22665 // The name of the snapshot from which to create the new cluster. This parameter 22666 // isn't case sensitive. 22667 // 22668 // Example: my-snapshot-id 22669 // 22670 // SnapshotIdentifier is a required field 22671 SnapshotIdentifier *string `type:"string" required:"true"` 22672 22673 // A unique identifier for the snapshot schedule. 22674 SnapshotScheduleIdentifier *string `type:"string"` 22675 22676 // A list of Virtual Private Cloud (VPC) security groups to be associated with 22677 // the cluster. 22678 // 22679 // Default: The default VPC security group is associated with the cluster. 22680 // 22681 // VPC security groups only apply to clusters in VPCs. 22682 VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"` 22683} 22684 22685// String returns the string representation 22686func (s RestoreFromClusterSnapshotInput) String() string { 22687 return awsutil.Prettify(s) 22688} 22689 22690// GoString returns the string representation 22691func (s RestoreFromClusterSnapshotInput) GoString() string { 22692 return s.String() 22693} 22694 22695// Validate inspects the fields of the type to determine if they are valid. 22696func (s *RestoreFromClusterSnapshotInput) Validate() error { 22697 invalidParams := request.ErrInvalidParams{Context: "RestoreFromClusterSnapshotInput"} 22698 if s.ClusterIdentifier == nil { 22699 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 22700 } 22701 if s.SnapshotIdentifier == nil { 22702 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 22703 } 22704 22705 if invalidParams.Len() > 0 { 22706 return invalidParams 22707 } 22708 return nil 22709} 22710 22711// SetAdditionalInfo sets the AdditionalInfo field's value. 22712func (s *RestoreFromClusterSnapshotInput) SetAdditionalInfo(v string) *RestoreFromClusterSnapshotInput { 22713 s.AdditionalInfo = &v 22714 return s 22715} 22716 22717// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value. 22718func (s *RestoreFromClusterSnapshotInput) SetAllowVersionUpgrade(v bool) *RestoreFromClusterSnapshotInput { 22719 s.AllowVersionUpgrade = &v 22720 return s 22721} 22722 22723// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value. 22724func (s *RestoreFromClusterSnapshotInput) SetAutomatedSnapshotRetentionPeriod(v int64) *RestoreFromClusterSnapshotInput { 22725 s.AutomatedSnapshotRetentionPeriod = &v 22726 return s 22727} 22728 22729// SetAvailabilityZone sets the AvailabilityZone field's value. 22730func (s *RestoreFromClusterSnapshotInput) SetAvailabilityZone(v string) *RestoreFromClusterSnapshotInput { 22731 s.AvailabilityZone = &v 22732 return s 22733} 22734 22735// SetClusterIdentifier sets the ClusterIdentifier field's value. 22736func (s *RestoreFromClusterSnapshotInput) SetClusterIdentifier(v string) *RestoreFromClusterSnapshotInput { 22737 s.ClusterIdentifier = &v 22738 return s 22739} 22740 22741// SetClusterParameterGroupName sets the ClusterParameterGroupName field's value. 22742func (s *RestoreFromClusterSnapshotInput) SetClusterParameterGroupName(v string) *RestoreFromClusterSnapshotInput { 22743 s.ClusterParameterGroupName = &v 22744 return s 22745} 22746 22747// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value. 22748func (s *RestoreFromClusterSnapshotInput) SetClusterSecurityGroups(v []*string) *RestoreFromClusterSnapshotInput { 22749 s.ClusterSecurityGroups = v 22750 return s 22751} 22752 22753// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value. 22754func (s *RestoreFromClusterSnapshotInput) SetClusterSubnetGroupName(v string) *RestoreFromClusterSnapshotInput { 22755 s.ClusterSubnetGroupName = &v 22756 return s 22757} 22758 22759// SetElasticIp sets the ElasticIp field's value. 22760func (s *RestoreFromClusterSnapshotInput) SetElasticIp(v string) *RestoreFromClusterSnapshotInput { 22761 s.ElasticIp = &v 22762 return s 22763} 22764 22765// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. 22766func (s *RestoreFromClusterSnapshotInput) SetEnhancedVpcRouting(v bool) *RestoreFromClusterSnapshotInput { 22767 s.EnhancedVpcRouting = &v 22768 return s 22769} 22770 22771// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value. 22772func (s *RestoreFromClusterSnapshotInput) SetHsmClientCertificateIdentifier(v string) *RestoreFromClusterSnapshotInput { 22773 s.HsmClientCertificateIdentifier = &v 22774 return s 22775} 22776 22777// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value. 22778func (s *RestoreFromClusterSnapshotInput) SetHsmConfigurationIdentifier(v string) *RestoreFromClusterSnapshotInput { 22779 s.HsmConfigurationIdentifier = &v 22780 return s 22781} 22782 22783// SetIamRoles sets the IamRoles field's value. 22784func (s *RestoreFromClusterSnapshotInput) SetIamRoles(v []*string) *RestoreFromClusterSnapshotInput { 22785 s.IamRoles = v 22786 return s 22787} 22788 22789// SetKmsKeyId sets the KmsKeyId field's value. 22790func (s *RestoreFromClusterSnapshotInput) SetKmsKeyId(v string) *RestoreFromClusterSnapshotInput { 22791 s.KmsKeyId = &v 22792 return s 22793} 22794 22795// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 22796func (s *RestoreFromClusterSnapshotInput) SetMaintenanceTrackName(v string) *RestoreFromClusterSnapshotInput { 22797 s.MaintenanceTrackName = &v 22798 return s 22799} 22800 22801// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 22802func (s *RestoreFromClusterSnapshotInput) SetManualSnapshotRetentionPeriod(v int64) *RestoreFromClusterSnapshotInput { 22803 s.ManualSnapshotRetentionPeriod = &v 22804 return s 22805} 22806 22807// SetNodeType sets the NodeType field's value. 22808func (s *RestoreFromClusterSnapshotInput) SetNodeType(v string) *RestoreFromClusterSnapshotInput { 22809 s.NodeType = &v 22810 return s 22811} 22812 22813// SetNumberOfNodes sets the NumberOfNodes field's value. 22814func (s *RestoreFromClusterSnapshotInput) SetNumberOfNodes(v int64) *RestoreFromClusterSnapshotInput { 22815 s.NumberOfNodes = &v 22816 return s 22817} 22818 22819// SetOwnerAccount sets the OwnerAccount field's value. 22820func (s *RestoreFromClusterSnapshotInput) SetOwnerAccount(v string) *RestoreFromClusterSnapshotInput { 22821 s.OwnerAccount = &v 22822 return s 22823} 22824 22825// SetPort sets the Port field's value. 22826func (s *RestoreFromClusterSnapshotInput) SetPort(v int64) *RestoreFromClusterSnapshotInput { 22827 s.Port = &v 22828 return s 22829} 22830 22831// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 22832func (s *RestoreFromClusterSnapshotInput) SetPreferredMaintenanceWindow(v string) *RestoreFromClusterSnapshotInput { 22833 s.PreferredMaintenanceWindow = &v 22834 return s 22835} 22836 22837// SetPubliclyAccessible sets the PubliclyAccessible field's value. 22838func (s *RestoreFromClusterSnapshotInput) SetPubliclyAccessible(v bool) *RestoreFromClusterSnapshotInput { 22839 s.PubliclyAccessible = &v 22840 return s 22841} 22842 22843// SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value. 22844func (s *RestoreFromClusterSnapshotInput) SetSnapshotClusterIdentifier(v string) *RestoreFromClusterSnapshotInput { 22845 s.SnapshotClusterIdentifier = &v 22846 return s 22847} 22848 22849// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 22850func (s *RestoreFromClusterSnapshotInput) SetSnapshotIdentifier(v string) *RestoreFromClusterSnapshotInput { 22851 s.SnapshotIdentifier = &v 22852 return s 22853} 22854 22855// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value. 22856func (s *RestoreFromClusterSnapshotInput) SetSnapshotScheduleIdentifier(v string) *RestoreFromClusterSnapshotInput { 22857 s.SnapshotScheduleIdentifier = &v 22858 return s 22859} 22860 22861// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value. 22862func (s *RestoreFromClusterSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreFromClusterSnapshotInput { 22863 s.VpcSecurityGroupIds = v 22864 return s 22865} 22866 22867type RestoreFromClusterSnapshotOutput struct { 22868 _ struct{} `type:"structure"` 22869 22870 // Describes a cluster. 22871 Cluster *Cluster `type:"structure"` 22872} 22873 22874// String returns the string representation 22875func (s RestoreFromClusterSnapshotOutput) String() string { 22876 return awsutil.Prettify(s) 22877} 22878 22879// GoString returns the string representation 22880func (s RestoreFromClusterSnapshotOutput) GoString() string { 22881 return s.String() 22882} 22883 22884// SetCluster sets the Cluster field's value. 22885func (s *RestoreFromClusterSnapshotOutput) SetCluster(v *Cluster) *RestoreFromClusterSnapshotOutput { 22886 s.Cluster = v 22887 return s 22888} 22889 22890// Describes the status of a cluster restore action. Returns null if the cluster 22891// was not created by restoring a snapshot. 22892type RestoreStatus struct { 22893 _ struct{} `type:"structure"` 22894 22895 // The number of megabytes per second being transferred from the backup storage. 22896 // Returns the average rate for a completed backup. This field is only updated 22897 // when you restore to DC2 and DS2 node types. 22898 CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"` 22899 22900 // The amount of time an in-progress restore has been running, or the amount 22901 // of time it took a completed restore to finish. This field is only updated 22902 // when you restore to DC2 and DS2 node types. 22903 ElapsedTimeInSeconds *int64 `type:"long"` 22904 22905 // The estimate of the time remaining before the restore will complete. Returns 22906 // 0 for a completed restore. This field is only updated when you restore to 22907 // DC2 and DS2 node types. 22908 EstimatedTimeToCompletionInSeconds *int64 `type:"long"` 22909 22910 // The number of megabytes that have been transferred from snapshot storage. 22911 // This field is only updated when you restore to DC2 and DS2 node types. 22912 ProgressInMegaBytes *int64 `type:"long"` 22913 22914 // The size of the set of snapshot data used to restore the cluster. This field 22915 // is only updated when you restore to DC2 and DS2 node types. 22916 SnapshotSizeInMegaBytes *int64 `type:"long"` 22917 22918 // The status of the restore action. Returns starting, restoring, completed, 22919 // or failed. 22920 Status *string `type:"string"` 22921} 22922 22923// String returns the string representation 22924func (s RestoreStatus) String() string { 22925 return awsutil.Prettify(s) 22926} 22927 22928// GoString returns the string representation 22929func (s RestoreStatus) GoString() string { 22930 return s.String() 22931} 22932 22933// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value. 22934func (s *RestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *RestoreStatus { 22935 s.CurrentRestoreRateInMegaBytesPerSecond = &v 22936 return s 22937} 22938 22939// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value. 22940func (s *RestoreStatus) SetElapsedTimeInSeconds(v int64) *RestoreStatus { 22941 s.ElapsedTimeInSeconds = &v 22942 return s 22943} 22944 22945// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value. 22946func (s *RestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *RestoreStatus { 22947 s.EstimatedTimeToCompletionInSeconds = &v 22948 return s 22949} 22950 22951// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value. 22952func (s *RestoreStatus) SetProgressInMegaBytes(v int64) *RestoreStatus { 22953 s.ProgressInMegaBytes = &v 22954 return s 22955} 22956 22957// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value. 22958func (s *RestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *RestoreStatus { 22959 s.SnapshotSizeInMegaBytes = &v 22960 return s 22961} 22962 22963// SetStatus sets the Status field's value. 22964func (s *RestoreStatus) SetStatus(v string) *RestoreStatus { 22965 s.Status = &v 22966 return s 22967} 22968 22969type RestoreTableFromClusterSnapshotInput struct { 22970 _ struct{} `type:"structure"` 22971 22972 // The identifier of the Amazon Redshift cluster to restore the table to. 22973 // 22974 // ClusterIdentifier is a required field 22975 ClusterIdentifier *string `type:"string" required:"true"` 22976 22977 // The name of the table to create as a result of the current request. 22978 // 22979 // NewTableName is a required field 22980 NewTableName *string `type:"string" required:"true"` 22981 22982 // The identifier of the snapshot to restore the table from. This snapshot must 22983 // have been created from the Amazon Redshift cluster specified by the ClusterIdentifier 22984 // parameter. 22985 // 22986 // SnapshotIdentifier is a required field 22987 SnapshotIdentifier *string `type:"string" required:"true"` 22988 22989 // The name of the source database that contains the table to restore from. 22990 // 22991 // SourceDatabaseName is a required field 22992 SourceDatabaseName *string `type:"string" required:"true"` 22993 22994 // The name of the source schema that contains the table to restore from. If 22995 // you do not specify a SourceSchemaName value, the default is public. 22996 SourceSchemaName *string `type:"string"` 22997 22998 // The name of the source table to restore from. 22999 // 23000 // SourceTableName is a required field 23001 SourceTableName *string `type:"string" required:"true"` 23002 23003 // The name of the database to restore the table to. 23004 TargetDatabaseName *string `type:"string"` 23005 23006 // The name of the schema to restore the table to. 23007 TargetSchemaName *string `type:"string"` 23008} 23009 23010// String returns the string representation 23011func (s RestoreTableFromClusterSnapshotInput) String() string { 23012 return awsutil.Prettify(s) 23013} 23014 23015// GoString returns the string representation 23016func (s RestoreTableFromClusterSnapshotInput) GoString() string { 23017 return s.String() 23018} 23019 23020// Validate inspects the fields of the type to determine if they are valid. 23021func (s *RestoreTableFromClusterSnapshotInput) Validate() error { 23022 invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromClusterSnapshotInput"} 23023 if s.ClusterIdentifier == nil { 23024 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 23025 } 23026 if s.NewTableName == nil { 23027 invalidParams.Add(request.NewErrParamRequired("NewTableName")) 23028 } 23029 if s.SnapshotIdentifier == nil { 23030 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 23031 } 23032 if s.SourceDatabaseName == nil { 23033 invalidParams.Add(request.NewErrParamRequired("SourceDatabaseName")) 23034 } 23035 if s.SourceTableName == nil { 23036 invalidParams.Add(request.NewErrParamRequired("SourceTableName")) 23037 } 23038 23039 if invalidParams.Len() > 0 { 23040 return invalidParams 23041 } 23042 return nil 23043} 23044 23045// SetClusterIdentifier sets the ClusterIdentifier field's value. 23046func (s *RestoreTableFromClusterSnapshotInput) SetClusterIdentifier(v string) *RestoreTableFromClusterSnapshotInput { 23047 s.ClusterIdentifier = &v 23048 return s 23049} 23050 23051// SetNewTableName sets the NewTableName field's value. 23052func (s *RestoreTableFromClusterSnapshotInput) SetNewTableName(v string) *RestoreTableFromClusterSnapshotInput { 23053 s.NewTableName = &v 23054 return s 23055} 23056 23057// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 23058func (s *RestoreTableFromClusterSnapshotInput) SetSnapshotIdentifier(v string) *RestoreTableFromClusterSnapshotInput { 23059 s.SnapshotIdentifier = &v 23060 return s 23061} 23062 23063// SetSourceDatabaseName sets the SourceDatabaseName field's value. 23064func (s *RestoreTableFromClusterSnapshotInput) SetSourceDatabaseName(v string) *RestoreTableFromClusterSnapshotInput { 23065 s.SourceDatabaseName = &v 23066 return s 23067} 23068 23069// SetSourceSchemaName sets the SourceSchemaName field's value. 23070func (s *RestoreTableFromClusterSnapshotInput) SetSourceSchemaName(v string) *RestoreTableFromClusterSnapshotInput { 23071 s.SourceSchemaName = &v 23072 return s 23073} 23074 23075// SetSourceTableName sets the SourceTableName field's value. 23076func (s *RestoreTableFromClusterSnapshotInput) SetSourceTableName(v string) *RestoreTableFromClusterSnapshotInput { 23077 s.SourceTableName = &v 23078 return s 23079} 23080 23081// SetTargetDatabaseName sets the TargetDatabaseName field's value. 23082func (s *RestoreTableFromClusterSnapshotInput) SetTargetDatabaseName(v string) *RestoreTableFromClusterSnapshotInput { 23083 s.TargetDatabaseName = &v 23084 return s 23085} 23086 23087// SetTargetSchemaName sets the TargetSchemaName field's value. 23088func (s *RestoreTableFromClusterSnapshotInput) SetTargetSchemaName(v string) *RestoreTableFromClusterSnapshotInput { 23089 s.TargetSchemaName = &v 23090 return s 23091} 23092 23093type RestoreTableFromClusterSnapshotOutput struct { 23094 _ struct{} `type:"structure"` 23095 23096 // Describes the status of a RestoreTableFromClusterSnapshot operation. 23097 TableRestoreStatus *TableRestoreStatus `type:"structure"` 23098} 23099 23100// String returns the string representation 23101func (s RestoreTableFromClusterSnapshotOutput) String() string { 23102 return awsutil.Prettify(s) 23103} 23104 23105// GoString returns the string representation 23106func (s RestoreTableFromClusterSnapshotOutput) GoString() string { 23107 return s.String() 23108} 23109 23110// SetTableRestoreStatus sets the TableRestoreStatus field's value. 23111func (s *RestoreTableFromClusterSnapshotOutput) SetTableRestoreStatus(v *TableRestoreStatus) *RestoreTableFromClusterSnapshotOutput { 23112 s.TableRestoreStatus = v 23113 return s 23114} 23115 23116type ResumeClusterInput struct { 23117 _ struct{} `type:"structure"` 23118 23119 // The identifier of the cluster to be resumed. 23120 // 23121 // ClusterIdentifier is a required field 23122 ClusterIdentifier *string `type:"string" required:"true"` 23123} 23124 23125// String returns the string representation 23126func (s ResumeClusterInput) String() string { 23127 return awsutil.Prettify(s) 23128} 23129 23130// GoString returns the string representation 23131func (s ResumeClusterInput) GoString() string { 23132 return s.String() 23133} 23134 23135// Validate inspects the fields of the type to determine if they are valid. 23136func (s *ResumeClusterInput) Validate() error { 23137 invalidParams := request.ErrInvalidParams{Context: "ResumeClusterInput"} 23138 if s.ClusterIdentifier == nil { 23139 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 23140 } 23141 23142 if invalidParams.Len() > 0 { 23143 return invalidParams 23144 } 23145 return nil 23146} 23147 23148// SetClusterIdentifier sets the ClusterIdentifier field's value. 23149func (s *ResumeClusterInput) SetClusterIdentifier(v string) *ResumeClusterInput { 23150 s.ClusterIdentifier = &v 23151 return s 23152} 23153 23154type ResumeClusterMessage struct { 23155 _ struct{} `type:"structure"` 23156 23157 // The identifier of the cluster to be resumed. 23158 // 23159 // ClusterIdentifier is a required field 23160 ClusterIdentifier *string `type:"string" required:"true"` 23161} 23162 23163// String returns the string representation 23164func (s ResumeClusterMessage) String() string { 23165 return awsutil.Prettify(s) 23166} 23167 23168// GoString returns the string representation 23169func (s ResumeClusterMessage) GoString() string { 23170 return s.String() 23171} 23172 23173// Validate inspects the fields of the type to determine if they are valid. 23174func (s *ResumeClusterMessage) Validate() error { 23175 invalidParams := request.ErrInvalidParams{Context: "ResumeClusterMessage"} 23176 if s.ClusterIdentifier == nil { 23177 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 23178 } 23179 23180 if invalidParams.Len() > 0 { 23181 return invalidParams 23182 } 23183 return nil 23184} 23185 23186// SetClusterIdentifier sets the ClusterIdentifier field's value. 23187func (s *ResumeClusterMessage) SetClusterIdentifier(v string) *ResumeClusterMessage { 23188 s.ClusterIdentifier = &v 23189 return s 23190} 23191 23192type ResumeClusterOutput struct { 23193 _ struct{} `type:"structure"` 23194 23195 // Describes a cluster. 23196 Cluster *Cluster `type:"structure"` 23197} 23198 23199// String returns the string representation 23200func (s ResumeClusterOutput) String() string { 23201 return awsutil.Prettify(s) 23202} 23203 23204// GoString returns the string representation 23205func (s ResumeClusterOutput) GoString() string { 23206 return s.String() 23207} 23208 23209// SetCluster sets the Cluster field's value. 23210func (s *ResumeClusterOutput) SetCluster(v *Cluster) *ResumeClusterOutput { 23211 s.Cluster = v 23212 return s 23213} 23214 23215// Describes a RevisionTarget. 23216type RevisionTarget struct { 23217 _ struct{} `type:"structure"` 23218 23219 // A unique string that identifies the version to update the cluster to. You 23220 // can use this value in ModifyClusterDbRevision. 23221 DatabaseRevision *string `type:"string"` 23222 23223 // The date on which the database revision was released. 23224 DatabaseRevisionReleaseDate *time.Time `type:"timestamp"` 23225 23226 // A string that describes the changes and features that will be applied to 23227 // the cluster when it is updated to the corresponding ClusterDbRevision. 23228 Description *string `type:"string"` 23229} 23230 23231// String returns the string representation 23232func (s RevisionTarget) String() string { 23233 return awsutil.Prettify(s) 23234} 23235 23236// GoString returns the string representation 23237func (s RevisionTarget) GoString() string { 23238 return s.String() 23239} 23240 23241// SetDatabaseRevision sets the DatabaseRevision field's value. 23242func (s *RevisionTarget) SetDatabaseRevision(v string) *RevisionTarget { 23243 s.DatabaseRevision = &v 23244 return s 23245} 23246 23247// SetDatabaseRevisionReleaseDate sets the DatabaseRevisionReleaseDate field's value. 23248func (s *RevisionTarget) SetDatabaseRevisionReleaseDate(v time.Time) *RevisionTarget { 23249 s.DatabaseRevisionReleaseDate = &v 23250 return s 23251} 23252 23253// SetDescription sets the Description field's value. 23254func (s *RevisionTarget) SetDescription(v string) *RevisionTarget { 23255 s.Description = &v 23256 return s 23257} 23258 23259type RevokeClusterSecurityGroupIngressInput struct { 23260 _ struct{} `type:"structure"` 23261 23262 // The IP range for which to revoke access. This range must be a valid Classless 23263 // Inter-Domain Routing (CIDR) block of IP addresses. If CIDRIP is specified, 23264 // EC2SecurityGroupName and EC2SecurityGroupOwnerId cannot be provided. 23265 CIDRIP *string `type:"string"` 23266 23267 // The name of the security Group from which to revoke the ingress rule. 23268 // 23269 // ClusterSecurityGroupName is a required field 23270 ClusterSecurityGroupName *string `type:"string" required:"true"` 23271 23272 // The name of the EC2 Security Group whose access is to be revoked. If EC2SecurityGroupName 23273 // is specified, EC2SecurityGroupOwnerId must also be provided and CIDRIP cannot 23274 // be provided. 23275 EC2SecurityGroupName *string `type:"string"` 23276 23277 // The AWS account number of the owner of the security group specified in the 23278 // EC2SecurityGroupName parameter. The AWS access key ID is not an acceptable 23279 // value. If EC2SecurityGroupOwnerId is specified, EC2SecurityGroupName must 23280 // also be provided. and CIDRIP cannot be provided. 23281 // 23282 // Example: 111122223333 23283 EC2SecurityGroupOwnerId *string `type:"string"` 23284} 23285 23286// String returns the string representation 23287func (s RevokeClusterSecurityGroupIngressInput) String() string { 23288 return awsutil.Prettify(s) 23289} 23290 23291// GoString returns the string representation 23292func (s RevokeClusterSecurityGroupIngressInput) GoString() string { 23293 return s.String() 23294} 23295 23296// Validate inspects the fields of the type to determine if they are valid. 23297func (s *RevokeClusterSecurityGroupIngressInput) Validate() error { 23298 invalidParams := request.ErrInvalidParams{Context: "RevokeClusterSecurityGroupIngressInput"} 23299 if s.ClusterSecurityGroupName == nil { 23300 invalidParams.Add(request.NewErrParamRequired("ClusterSecurityGroupName")) 23301 } 23302 23303 if invalidParams.Len() > 0 { 23304 return invalidParams 23305 } 23306 return nil 23307} 23308 23309// SetCIDRIP sets the CIDRIP field's value. 23310func (s *RevokeClusterSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeClusterSecurityGroupIngressInput { 23311 s.CIDRIP = &v 23312 return s 23313} 23314 23315// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value. 23316func (s *RevokeClusterSecurityGroupIngressInput) SetClusterSecurityGroupName(v string) *RevokeClusterSecurityGroupIngressInput { 23317 s.ClusterSecurityGroupName = &v 23318 return s 23319} 23320 23321// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 23322func (s *RevokeClusterSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeClusterSecurityGroupIngressInput { 23323 s.EC2SecurityGroupName = &v 23324 return s 23325} 23326 23327// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 23328func (s *RevokeClusterSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeClusterSecurityGroupIngressInput { 23329 s.EC2SecurityGroupOwnerId = &v 23330 return s 23331} 23332 23333type RevokeClusterSecurityGroupIngressOutput struct { 23334 _ struct{} `type:"structure"` 23335 23336 // Describes a security group. 23337 ClusterSecurityGroup *ClusterSecurityGroup `type:"structure"` 23338} 23339 23340// String returns the string representation 23341func (s RevokeClusterSecurityGroupIngressOutput) String() string { 23342 return awsutil.Prettify(s) 23343} 23344 23345// GoString returns the string representation 23346func (s RevokeClusterSecurityGroupIngressOutput) GoString() string { 23347 return s.String() 23348} 23349 23350// SetClusterSecurityGroup sets the ClusterSecurityGroup field's value. 23351func (s *RevokeClusterSecurityGroupIngressOutput) SetClusterSecurityGroup(v *ClusterSecurityGroup) *RevokeClusterSecurityGroupIngressOutput { 23352 s.ClusterSecurityGroup = v 23353 return s 23354} 23355 23356type RevokeSnapshotAccessInput struct { 23357 _ struct{} `type:"structure"` 23358 23359 // The identifier of the AWS customer account that can no longer restore the 23360 // specified snapshot. 23361 // 23362 // AccountWithRestoreAccess is a required field 23363 AccountWithRestoreAccess *string `type:"string" required:"true"` 23364 23365 // The identifier of the cluster the snapshot was created from. This parameter 23366 // is required if your IAM user has a policy containing a snapshot resource 23367 // element that specifies anything other than * for the cluster name. 23368 SnapshotClusterIdentifier *string `type:"string"` 23369 23370 // The identifier of the snapshot that the account can no longer access. 23371 // 23372 // SnapshotIdentifier is a required field 23373 SnapshotIdentifier *string `type:"string" required:"true"` 23374} 23375 23376// String returns the string representation 23377func (s RevokeSnapshotAccessInput) String() string { 23378 return awsutil.Prettify(s) 23379} 23380 23381// GoString returns the string representation 23382func (s RevokeSnapshotAccessInput) GoString() string { 23383 return s.String() 23384} 23385 23386// Validate inspects the fields of the type to determine if they are valid. 23387func (s *RevokeSnapshotAccessInput) Validate() error { 23388 invalidParams := request.ErrInvalidParams{Context: "RevokeSnapshotAccessInput"} 23389 if s.AccountWithRestoreAccess == nil { 23390 invalidParams.Add(request.NewErrParamRequired("AccountWithRestoreAccess")) 23391 } 23392 if s.SnapshotIdentifier == nil { 23393 invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier")) 23394 } 23395 23396 if invalidParams.Len() > 0 { 23397 return invalidParams 23398 } 23399 return nil 23400} 23401 23402// SetAccountWithRestoreAccess sets the AccountWithRestoreAccess field's value. 23403func (s *RevokeSnapshotAccessInput) SetAccountWithRestoreAccess(v string) *RevokeSnapshotAccessInput { 23404 s.AccountWithRestoreAccess = &v 23405 return s 23406} 23407 23408// SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value. 23409func (s *RevokeSnapshotAccessInput) SetSnapshotClusterIdentifier(v string) *RevokeSnapshotAccessInput { 23410 s.SnapshotClusterIdentifier = &v 23411 return s 23412} 23413 23414// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 23415func (s *RevokeSnapshotAccessInput) SetSnapshotIdentifier(v string) *RevokeSnapshotAccessInput { 23416 s.SnapshotIdentifier = &v 23417 return s 23418} 23419 23420type RevokeSnapshotAccessOutput struct { 23421 _ struct{} `type:"structure"` 23422 23423 // Describes a snapshot. 23424 Snapshot *Snapshot `type:"structure"` 23425} 23426 23427// String returns the string representation 23428func (s RevokeSnapshotAccessOutput) String() string { 23429 return awsutil.Prettify(s) 23430} 23431 23432// GoString returns the string representation 23433func (s RevokeSnapshotAccessOutput) GoString() string { 23434 return s.String() 23435} 23436 23437// SetSnapshot sets the Snapshot field's value. 23438func (s *RevokeSnapshotAccessOutput) SetSnapshot(v *Snapshot) *RevokeSnapshotAccessOutput { 23439 s.Snapshot = v 23440 return s 23441} 23442 23443type RotateEncryptionKeyInput struct { 23444 _ struct{} `type:"structure"` 23445 23446 // The unique identifier of the cluster that you want to rotate the encryption 23447 // keys for. 23448 // 23449 // Constraints: Must be the name of valid cluster that has encryption enabled. 23450 // 23451 // ClusterIdentifier is a required field 23452 ClusterIdentifier *string `type:"string" required:"true"` 23453} 23454 23455// String returns the string representation 23456func (s RotateEncryptionKeyInput) String() string { 23457 return awsutil.Prettify(s) 23458} 23459 23460// GoString returns the string representation 23461func (s RotateEncryptionKeyInput) GoString() string { 23462 return s.String() 23463} 23464 23465// Validate inspects the fields of the type to determine if they are valid. 23466func (s *RotateEncryptionKeyInput) Validate() error { 23467 invalidParams := request.ErrInvalidParams{Context: "RotateEncryptionKeyInput"} 23468 if s.ClusterIdentifier == nil { 23469 invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) 23470 } 23471 23472 if invalidParams.Len() > 0 { 23473 return invalidParams 23474 } 23475 return nil 23476} 23477 23478// SetClusterIdentifier sets the ClusterIdentifier field's value. 23479func (s *RotateEncryptionKeyInput) SetClusterIdentifier(v string) *RotateEncryptionKeyInput { 23480 s.ClusterIdentifier = &v 23481 return s 23482} 23483 23484type RotateEncryptionKeyOutput struct { 23485 _ struct{} `type:"structure"` 23486 23487 // Describes a cluster. 23488 Cluster *Cluster `type:"structure"` 23489} 23490 23491// String returns the string representation 23492func (s RotateEncryptionKeyOutput) String() string { 23493 return awsutil.Prettify(s) 23494} 23495 23496// GoString returns the string representation 23497func (s RotateEncryptionKeyOutput) GoString() string { 23498 return s.String() 23499} 23500 23501// SetCluster sets the Cluster field's value. 23502func (s *RotateEncryptionKeyOutput) SetCluster(v *Cluster) *RotateEncryptionKeyOutput { 23503 s.Cluster = v 23504 return s 23505} 23506 23507// Describes a scheduled action. You can use a scheduled action to trigger some 23508// Amazon Redshift API operations on a schedule. For information about which 23509// API operations can be scheduled, see ScheduledActionType. 23510type ScheduledAction struct { 23511 _ struct{} `type:"structure"` 23512 23513 // The end time in UTC when the schedule is no longer active. After this time, 23514 // the scheduled action does not trigger. 23515 EndTime *time.Time `type:"timestamp"` 23516 23517 // The IAM role to assume to run the scheduled action. This IAM role must have 23518 // permission to run the Amazon Redshift API operation in the scheduled action. 23519 // This IAM role must allow the Amazon Redshift scheduler (Principal scheduler.redshift.amazonaws.com) 23520 // to assume permissions on your behalf. For more information about the IAM 23521 // role to use with the Amazon Redshift scheduler, see Using Identity-Based 23522 // Policies for Amazon Redshift (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) 23523 // in the Amazon Redshift Cluster Management Guide. 23524 IamRole *string `type:"string"` 23525 23526 // List of times when the scheduled action will run. 23527 NextInvocations []*time.Time `locationNameList:"ScheduledActionTime" type:"list"` 23528 23529 // The schedule for a one-time (at format) or recurring (cron format) scheduled 23530 // action. Schedule invocations must be separated by at least one hour. 23531 // 23532 // Format of at expressions is "at(yyyy-mm-ddThh:mm:ss)". For example, "at(2016-03-04T17:27:00)". 23533 // 23534 // Format of cron expressions is "cron(Minutes Hours Day-of-month Month Day-of-week 23535 // Year)". For example, "cron(0 10 ? * MON *)". For more information, see Cron 23536 // Expressions (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) 23537 // in the Amazon CloudWatch Events User Guide. 23538 Schedule *string `type:"string"` 23539 23540 // The description of the scheduled action. 23541 ScheduledActionDescription *string `type:"string"` 23542 23543 // The name of the scheduled action. 23544 ScheduledActionName *string `type:"string"` 23545 23546 // The start time in UTC when the schedule is active. Before this time, the 23547 // scheduled action does not trigger. 23548 StartTime *time.Time `type:"timestamp"` 23549 23550 // The state of the scheduled action. For example, DISABLED. 23551 State *string `type:"string" enum:"ScheduledActionState"` 23552 23553 // A JSON format string of the Amazon Redshift API operation with input parameters. 23554 // 23555 // "{\"ResizeCluster\":{\"NodeType\":\"ds2.8xlarge\",\"ClusterIdentifier\":\"my-test-cluster\",\"NumberOfNodes\":3}}". 23556 TargetAction *ScheduledActionType `type:"structure"` 23557} 23558 23559// String returns the string representation 23560func (s ScheduledAction) String() string { 23561 return awsutil.Prettify(s) 23562} 23563 23564// GoString returns the string representation 23565func (s ScheduledAction) GoString() string { 23566 return s.String() 23567} 23568 23569// SetEndTime sets the EndTime field's value. 23570func (s *ScheduledAction) SetEndTime(v time.Time) *ScheduledAction { 23571 s.EndTime = &v 23572 return s 23573} 23574 23575// SetIamRole sets the IamRole field's value. 23576func (s *ScheduledAction) SetIamRole(v string) *ScheduledAction { 23577 s.IamRole = &v 23578 return s 23579} 23580 23581// SetNextInvocations sets the NextInvocations field's value. 23582func (s *ScheduledAction) SetNextInvocations(v []*time.Time) *ScheduledAction { 23583 s.NextInvocations = v 23584 return s 23585} 23586 23587// SetSchedule sets the Schedule field's value. 23588func (s *ScheduledAction) SetSchedule(v string) *ScheduledAction { 23589 s.Schedule = &v 23590 return s 23591} 23592 23593// SetScheduledActionDescription sets the ScheduledActionDescription field's value. 23594func (s *ScheduledAction) SetScheduledActionDescription(v string) *ScheduledAction { 23595 s.ScheduledActionDescription = &v 23596 return s 23597} 23598 23599// SetScheduledActionName sets the ScheduledActionName field's value. 23600func (s *ScheduledAction) SetScheduledActionName(v string) *ScheduledAction { 23601 s.ScheduledActionName = &v 23602 return s 23603} 23604 23605// SetStartTime sets the StartTime field's value. 23606func (s *ScheduledAction) SetStartTime(v time.Time) *ScheduledAction { 23607 s.StartTime = &v 23608 return s 23609} 23610 23611// SetState sets the State field's value. 23612func (s *ScheduledAction) SetState(v string) *ScheduledAction { 23613 s.State = &v 23614 return s 23615} 23616 23617// SetTargetAction sets the TargetAction field's value. 23618func (s *ScheduledAction) SetTargetAction(v *ScheduledActionType) *ScheduledAction { 23619 s.TargetAction = v 23620 return s 23621} 23622 23623// A set of elements to filter the returned scheduled actions. 23624type ScheduledActionFilter struct { 23625 _ struct{} `type:"structure"` 23626 23627 // The type of element to filter. 23628 // 23629 // Name is a required field 23630 Name *string `type:"string" required:"true" enum:"ScheduledActionFilterName"` 23631 23632 // List of values. Compare if the value (of type defined by Name) equals an 23633 // item in the list of scheduled actions. 23634 // 23635 // Values is a required field 23636 Values []*string `locationNameList:"item" type:"list" required:"true"` 23637} 23638 23639// String returns the string representation 23640func (s ScheduledActionFilter) String() string { 23641 return awsutil.Prettify(s) 23642} 23643 23644// GoString returns the string representation 23645func (s ScheduledActionFilter) GoString() string { 23646 return s.String() 23647} 23648 23649// Validate inspects the fields of the type to determine if they are valid. 23650func (s *ScheduledActionFilter) Validate() error { 23651 invalidParams := request.ErrInvalidParams{Context: "ScheduledActionFilter"} 23652 if s.Name == nil { 23653 invalidParams.Add(request.NewErrParamRequired("Name")) 23654 } 23655 if s.Values == nil { 23656 invalidParams.Add(request.NewErrParamRequired("Values")) 23657 } 23658 23659 if invalidParams.Len() > 0 { 23660 return invalidParams 23661 } 23662 return nil 23663} 23664 23665// SetName sets the Name field's value. 23666func (s *ScheduledActionFilter) SetName(v string) *ScheduledActionFilter { 23667 s.Name = &v 23668 return s 23669} 23670 23671// SetValues sets the Values field's value. 23672func (s *ScheduledActionFilter) SetValues(v []*string) *ScheduledActionFilter { 23673 s.Values = v 23674 return s 23675} 23676 23677// The action type that specifies an Amazon Redshift API operation that is supported 23678// by the Amazon Redshift scheduler. 23679type ScheduledActionType struct { 23680 _ struct{} `type:"structure"` 23681 23682 // An action that runs a PauseCluster API operation. 23683 PauseCluster *PauseClusterMessage `type:"structure"` 23684 23685 // An action that runs a ResizeCluster API operation. 23686 ResizeCluster *ResizeClusterMessage `type:"structure"` 23687 23688 // An action that runs a ResumeCluster API operation. 23689 ResumeCluster *ResumeClusterMessage `type:"structure"` 23690} 23691 23692// String returns the string representation 23693func (s ScheduledActionType) String() string { 23694 return awsutil.Prettify(s) 23695} 23696 23697// GoString returns the string representation 23698func (s ScheduledActionType) GoString() string { 23699 return s.String() 23700} 23701 23702// Validate inspects the fields of the type to determine if they are valid. 23703func (s *ScheduledActionType) Validate() error { 23704 invalidParams := request.ErrInvalidParams{Context: "ScheduledActionType"} 23705 if s.PauseCluster != nil { 23706 if err := s.PauseCluster.Validate(); err != nil { 23707 invalidParams.AddNested("PauseCluster", err.(request.ErrInvalidParams)) 23708 } 23709 } 23710 if s.ResizeCluster != nil { 23711 if err := s.ResizeCluster.Validate(); err != nil { 23712 invalidParams.AddNested("ResizeCluster", err.(request.ErrInvalidParams)) 23713 } 23714 } 23715 if s.ResumeCluster != nil { 23716 if err := s.ResumeCluster.Validate(); err != nil { 23717 invalidParams.AddNested("ResumeCluster", err.(request.ErrInvalidParams)) 23718 } 23719 } 23720 23721 if invalidParams.Len() > 0 { 23722 return invalidParams 23723 } 23724 return nil 23725} 23726 23727// SetPauseCluster sets the PauseCluster field's value. 23728func (s *ScheduledActionType) SetPauseCluster(v *PauseClusterMessage) *ScheduledActionType { 23729 s.PauseCluster = v 23730 return s 23731} 23732 23733// SetResizeCluster sets the ResizeCluster field's value. 23734func (s *ScheduledActionType) SetResizeCluster(v *ResizeClusterMessage) *ScheduledActionType { 23735 s.ResizeCluster = v 23736 return s 23737} 23738 23739// SetResumeCluster sets the ResumeCluster field's value. 23740func (s *ScheduledActionType) SetResumeCluster(v *ResumeClusterMessage) *ScheduledActionType { 23741 s.ResumeCluster = v 23742 return s 23743} 23744 23745// Describes a snapshot. 23746type Snapshot struct { 23747 _ struct{} `type:"structure"` 23748 23749 // A list of the AWS customer accounts authorized to restore the snapshot. Returns 23750 // null if no accounts are authorized. Visible only to the snapshot owner. 23751 AccountsWithRestoreAccess []*AccountWithRestoreAccess `locationNameList:"AccountWithRestoreAccess" type:"list"` 23752 23753 // The size of the incremental backup. 23754 ActualIncrementalBackupSizeInMegaBytes *float64 `type:"double"` 23755 23756 // The Availability Zone in which the cluster was created. 23757 AvailabilityZone *string `type:"string"` 23758 23759 // The number of megabytes that have been transferred to the snapshot backup. 23760 BackupProgressInMegaBytes *float64 `type:"double"` 23761 23762 // The time (UTC) when the cluster was originally created. 23763 ClusterCreateTime *time.Time `type:"timestamp"` 23764 23765 // The identifier of the cluster for which the snapshot was taken. 23766 ClusterIdentifier *string `type:"string"` 23767 23768 // The version ID of the Amazon Redshift engine that is running on the cluster. 23769 ClusterVersion *string `type:"string"` 23770 23771 // The number of megabytes per second being transferred to the snapshot backup. 23772 // Returns 0 for a completed backup. 23773 CurrentBackupRateInMegaBytesPerSecond *float64 `type:"double"` 23774 23775 // The name of the database that was created when the cluster was created. 23776 DBName *string `type:"string"` 23777 23778 // The amount of time an in-progress snapshot backup has been running, or the 23779 // amount of time it took a completed backup to finish. 23780 ElapsedTimeInSeconds *int64 `type:"long"` 23781 23782 // If true, the data in the snapshot is encrypted at rest. 23783 Encrypted *bool `type:"boolean"` 23784 23785 // A boolean that indicates whether the snapshot data is encrypted using the 23786 // HSM keys of the source cluster. true indicates that the data is encrypted 23787 // using HSM keys. 23788 EncryptedWithHSM *bool `type:"boolean"` 23789 23790 // An option that specifies whether to create the cluster with enhanced VPC 23791 // routing enabled. To create a cluster that uses enhanced VPC routing, the 23792 // cluster must be in a VPC. For more information, see Enhanced VPC Routing 23793 // (https://docs.aws.amazon.com/redshift/latest/mgmt/enhanced-vpc-routing.html) 23794 // in the Amazon Redshift Cluster Management Guide. 23795 // 23796 // If this option is true, enhanced VPC routing is enabled. 23797 // 23798 // Default: false 23799 EnhancedVpcRouting *bool `type:"boolean"` 23800 23801 // The estimate of the time remaining before the snapshot backup will complete. 23802 // Returns 0 for a completed backup. 23803 EstimatedSecondsToCompletion *int64 `type:"long"` 23804 23805 // The AWS Key Management Service (KMS) key ID of the encryption key that was 23806 // used to encrypt data in the cluster from which the snapshot was taken. 23807 KmsKeyId *string `type:"string"` 23808 23809 // The name of the maintenance track for the snapshot. 23810 MaintenanceTrackName *string `type:"string"` 23811 23812 // The number of days until a manual snapshot will pass its retention period. 23813 ManualSnapshotRemainingDays *int64 `type:"integer"` 23814 23815 // The number of days that a manual snapshot is retained. If the value is -1, 23816 // the manual snapshot is retained indefinitely. 23817 // 23818 // The value must be either -1 or an integer between 1 and 3,653. 23819 ManualSnapshotRetentionPeriod *int64 `type:"integer"` 23820 23821 // The master user name for the cluster. 23822 MasterUsername *string `type:"string"` 23823 23824 // The node type of the nodes in the cluster. 23825 NodeType *string `type:"string"` 23826 23827 // The number of nodes in the cluster. 23828 NumberOfNodes *int64 `type:"integer"` 23829 23830 // For manual snapshots, the AWS customer account used to create or copy the 23831 // snapshot. For automatic snapshots, the owner of the cluster. The owner can 23832 // perform all snapshot actions, such as sharing a manual snapshot. 23833 OwnerAccount *string `type:"string"` 23834 23835 // The port that the cluster is listening on. 23836 Port *int64 `type:"integer"` 23837 23838 // The list of node types that this cluster snapshot is able to restore into. 23839 RestorableNodeTypes []*string `locationNameList:"NodeType" type:"list"` 23840 23841 // The time (in UTC format) when Amazon Redshift began the snapshot. A snapshot 23842 // contains a copy of the cluster data as of this exact time. 23843 SnapshotCreateTime *time.Time `type:"timestamp"` 23844 23845 // The snapshot identifier that is provided in the request. 23846 SnapshotIdentifier *string `type:"string"` 23847 23848 // A timestamp representing the start of the retention period for the snapshot. 23849 SnapshotRetentionStartTime *time.Time `type:"timestamp"` 23850 23851 // The snapshot type. Snapshots created using CreateClusterSnapshot and CopyClusterSnapshot 23852 // are of type "manual". 23853 SnapshotType *string `type:"string"` 23854 23855 // The source region from which the snapshot was copied. 23856 SourceRegion *string `type:"string"` 23857 23858 // The snapshot status. The value of the status depends on the API operation 23859 // used: 23860 // 23861 // * CreateClusterSnapshot and CopyClusterSnapshot returns status as "creating". 23862 // 23863 // * DescribeClusterSnapshots returns status as "creating", "available", 23864 // "final snapshot", or "failed". 23865 // 23866 // * DeleteClusterSnapshot returns status as "deleted". 23867 Status *string `type:"string"` 23868 23869 // The list of tags for the cluster snapshot. 23870 Tags []*Tag `locationNameList:"Tag" type:"list"` 23871 23872 // The size of the complete set of backup data that would be used to restore 23873 // the cluster. 23874 TotalBackupSizeInMegaBytes *float64 `type:"double"` 23875 23876 // The VPC identifier of the cluster if the snapshot is from a cluster in a 23877 // VPC. Otherwise, this field is not in the output. 23878 VpcId *string `type:"string"` 23879} 23880 23881// String returns the string representation 23882func (s Snapshot) String() string { 23883 return awsutil.Prettify(s) 23884} 23885 23886// GoString returns the string representation 23887func (s Snapshot) GoString() string { 23888 return s.String() 23889} 23890 23891// SetAccountsWithRestoreAccess sets the AccountsWithRestoreAccess field's value. 23892func (s *Snapshot) SetAccountsWithRestoreAccess(v []*AccountWithRestoreAccess) *Snapshot { 23893 s.AccountsWithRestoreAccess = v 23894 return s 23895} 23896 23897// SetActualIncrementalBackupSizeInMegaBytes sets the ActualIncrementalBackupSizeInMegaBytes field's value. 23898func (s *Snapshot) SetActualIncrementalBackupSizeInMegaBytes(v float64) *Snapshot { 23899 s.ActualIncrementalBackupSizeInMegaBytes = &v 23900 return s 23901} 23902 23903// SetAvailabilityZone sets the AvailabilityZone field's value. 23904func (s *Snapshot) SetAvailabilityZone(v string) *Snapshot { 23905 s.AvailabilityZone = &v 23906 return s 23907} 23908 23909// SetBackupProgressInMegaBytes sets the BackupProgressInMegaBytes field's value. 23910func (s *Snapshot) SetBackupProgressInMegaBytes(v float64) *Snapshot { 23911 s.BackupProgressInMegaBytes = &v 23912 return s 23913} 23914 23915// SetClusterCreateTime sets the ClusterCreateTime field's value. 23916func (s *Snapshot) SetClusterCreateTime(v time.Time) *Snapshot { 23917 s.ClusterCreateTime = &v 23918 return s 23919} 23920 23921// SetClusterIdentifier sets the ClusterIdentifier field's value. 23922func (s *Snapshot) SetClusterIdentifier(v string) *Snapshot { 23923 s.ClusterIdentifier = &v 23924 return s 23925} 23926 23927// SetClusterVersion sets the ClusterVersion field's value. 23928func (s *Snapshot) SetClusterVersion(v string) *Snapshot { 23929 s.ClusterVersion = &v 23930 return s 23931} 23932 23933// SetCurrentBackupRateInMegaBytesPerSecond sets the CurrentBackupRateInMegaBytesPerSecond field's value. 23934func (s *Snapshot) SetCurrentBackupRateInMegaBytesPerSecond(v float64) *Snapshot { 23935 s.CurrentBackupRateInMegaBytesPerSecond = &v 23936 return s 23937} 23938 23939// SetDBName sets the DBName field's value. 23940func (s *Snapshot) SetDBName(v string) *Snapshot { 23941 s.DBName = &v 23942 return s 23943} 23944 23945// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value. 23946func (s *Snapshot) SetElapsedTimeInSeconds(v int64) *Snapshot { 23947 s.ElapsedTimeInSeconds = &v 23948 return s 23949} 23950 23951// SetEncrypted sets the Encrypted field's value. 23952func (s *Snapshot) SetEncrypted(v bool) *Snapshot { 23953 s.Encrypted = &v 23954 return s 23955} 23956 23957// SetEncryptedWithHSM sets the EncryptedWithHSM field's value. 23958func (s *Snapshot) SetEncryptedWithHSM(v bool) *Snapshot { 23959 s.EncryptedWithHSM = &v 23960 return s 23961} 23962 23963// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value. 23964func (s *Snapshot) SetEnhancedVpcRouting(v bool) *Snapshot { 23965 s.EnhancedVpcRouting = &v 23966 return s 23967} 23968 23969// SetEstimatedSecondsToCompletion sets the EstimatedSecondsToCompletion field's value. 23970func (s *Snapshot) SetEstimatedSecondsToCompletion(v int64) *Snapshot { 23971 s.EstimatedSecondsToCompletion = &v 23972 return s 23973} 23974 23975// SetKmsKeyId sets the KmsKeyId field's value. 23976func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { 23977 s.KmsKeyId = &v 23978 return s 23979} 23980 23981// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 23982func (s *Snapshot) SetMaintenanceTrackName(v string) *Snapshot { 23983 s.MaintenanceTrackName = &v 23984 return s 23985} 23986 23987// SetManualSnapshotRemainingDays sets the ManualSnapshotRemainingDays field's value. 23988func (s *Snapshot) SetManualSnapshotRemainingDays(v int64) *Snapshot { 23989 s.ManualSnapshotRemainingDays = &v 23990 return s 23991} 23992 23993// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value. 23994func (s *Snapshot) SetManualSnapshotRetentionPeriod(v int64) *Snapshot { 23995 s.ManualSnapshotRetentionPeriod = &v 23996 return s 23997} 23998 23999// SetMasterUsername sets the MasterUsername field's value. 24000func (s *Snapshot) SetMasterUsername(v string) *Snapshot { 24001 s.MasterUsername = &v 24002 return s 24003} 24004 24005// SetNodeType sets the NodeType field's value. 24006func (s *Snapshot) SetNodeType(v string) *Snapshot { 24007 s.NodeType = &v 24008 return s 24009} 24010 24011// SetNumberOfNodes sets the NumberOfNodes field's value. 24012func (s *Snapshot) SetNumberOfNodes(v int64) *Snapshot { 24013 s.NumberOfNodes = &v 24014 return s 24015} 24016 24017// SetOwnerAccount sets the OwnerAccount field's value. 24018func (s *Snapshot) SetOwnerAccount(v string) *Snapshot { 24019 s.OwnerAccount = &v 24020 return s 24021} 24022 24023// SetPort sets the Port field's value. 24024func (s *Snapshot) SetPort(v int64) *Snapshot { 24025 s.Port = &v 24026 return s 24027} 24028 24029// SetRestorableNodeTypes sets the RestorableNodeTypes field's value. 24030func (s *Snapshot) SetRestorableNodeTypes(v []*string) *Snapshot { 24031 s.RestorableNodeTypes = v 24032 return s 24033} 24034 24035// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 24036func (s *Snapshot) SetSnapshotCreateTime(v time.Time) *Snapshot { 24037 s.SnapshotCreateTime = &v 24038 return s 24039} 24040 24041// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 24042func (s *Snapshot) SetSnapshotIdentifier(v string) *Snapshot { 24043 s.SnapshotIdentifier = &v 24044 return s 24045} 24046 24047// SetSnapshotRetentionStartTime sets the SnapshotRetentionStartTime field's value. 24048func (s *Snapshot) SetSnapshotRetentionStartTime(v time.Time) *Snapshot { 24049 s.SnapshotRetentionStartTime = &v 24050 return s 24051} 24052 24053// SetSnapshotType sets the SnapshotType field's value. 24054func (s *Snapshot) SetSnapshotType(v string) *Snapshot { 24055 s.SnapshotType = &v 24056 return s 24057} 24058 24059// SetSourceRegion sets the SourceRegion field's value. 24060func (s *Snapshot) SetSourceRegion(v string) *Snapshot { 24061 s.SourceRegion = &v 24062 return s 24063} 24064 24065// SetStatus sets the Status field's value. 24066func (s *Snapshot) SetStatus(v string) *Snapshot { 24067 s.Status = &v 24068 return s 24069} 24070 24071// SetTags sets the Tags field's value. 24072func (s *Snapshot) SetTags(v []*Tag) *Snapshot { 24073 s.Tags = v 24074 return s 24075} 24076 24077// SetTotalBackupSizeInMegaBytes sets the TotalBackupSizeInMegaBytes field's value. 24078func (s *Snapshot) SetTotalBackupSizeInMegaBytes(v float64) *Snapshot { 24079 s.TotalBackupSizeInMegaBytes = &v 24080 return s 24081} 24082 24083// SetVpcId sets the VpcId field's value. 24084func (s *Snapshot) SetVpcId(v string) *Snapshot { 24085 s.VpcId = &v 24086 return s 24087} 24088 24089// The snapshot copy grant that grants Amazon Redshift permission to encrypt 24090// copied snapshots with the specified customer master key (CMK) from AWS KMS 24091// in the destination region. 24092// 24093// For more information about managing snapshot copy grants, go to Amazon Redshift 24094// Database Encryption (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) 24095// in the Amazon Redshift Cluster Management Guide. 24096type SnapshotCopyGrant struct { 24097 _ struct{} `type:"structure"` 24098 24099 // The unique identifier of the customer master key (CMK) in AWS KMS to which 24100 // Amazon Redshift is granted permission. 24101 KmsKeyId *string `type:"string"` 24102 24103 // The name of the snapshot copy grant. 24104 SnapshotCopyGrantName *string `type:"string"` 24105 24106 // A list of tag instances. 24107 Tags []*Tag `locationNameList:"Tag" type:"list"` 24108} 24109 24110// String returns the string representation 24111func (s SnapshotCopyGrant) String() string { 24112 return awsutil.Prettify(s) 24113} 24114 24115// GoString returns the string representation 24116func (s SnapshotCopyGrant) GoString() string { 24117 return s.String() 24118} 24119 24120// SetKmsKeyId sets the KmsKeyId field's value. 24121func (s *SnapshotCopyGrant) SetKmsKeyId(v string) *SnapshotCopyGrant { 24122 s.KmsKeyId = &v 24123 return s 24124} 24125 24126// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value. 24127func (s *SnapshotCopyGrant) SetSnapshotCopyGrantName(v string) *SnapshotCopyGrant { 24128 s.SnapshotCopyGrantName = &v 24129 return s 24130} 24131 24132// SetTags sets the Tags field's value. 24133func (s *SnapshotCopyGrant) SetTags(v []*Tag) *SnapshotCopyGrant { 24134 s.Tags = v 24135 return s 24136} 24137 24138// Describes the errors returned by a snapshot. 24139type SnapshotErrorMessage struct { 24140 _ struct{} `type:"structure"` 24141 24142 // The failure code for the error. 24143 FailureCode *string `type:"string"` 24144 24145 // The text message describing the error. 24146 FailureReason *string `type:"string"` 24147 24148 // A unique identifier for the cluster. 24149 SnapshotClusterIdentifier *string `type:"string"` 24150 24151 // A unique identifier for the snapshot returning the error. 24152 SnapshotIdentifier *string `type:"string"` 24153} 24154 24155// String returns the string representation 24156func (s SnapshotErrorMessage) String() string { 24157 return awsutil.Prettify(s) 24158} 24159 24160// GoString returns the string representation 24161func (s SnapshotErrorMessage) GoString() string { 24162 return s.String() 24163} 24164 24165// SetFailureCode sets the FailureCode field's value. 24166func (s *SnapshotErrorMessage) SetFailureCode(v string) *SnapshotErrorMessage { 24167 s.FailureCode = &v 24168 return s 24169} 24170 24171// SetFailureReason sets the FailureReason field's value. 24172func (s *SnapshotErrorMessage) SetFailureReason(v string) *SnapshotErrorMessage { 24173 s.FailureReason = &v 24174 return s 24175} 24176 24177// SetSnapshotClusterIdentifier sets the SnapshotClusterIdentifier field's value. 24178func (s *SnapshotErrorMessage) SetSnapshotClusterIdentifier(v string) *SnapshotErrorMessage { 24179 s.SnapshotClusterIdentifier = &v 24180 return s 24181} 24182 24183// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 24184func (s *SnapshotErrorMessage) SetSnapshotIdentifier(v string) *SnapshotErrorMessage { 24185 s.SnapshotIdentifier = &v 24186 return s 24187} 24188 24189// Describes a snapshot schedule. You can set a regular interval for creating 24190// snapshots of a cluster. You can also schedule snapshots for specific dates. 24191type SnapshotSchedule struct { 24192 _ struct{} `type:"structure"` 24193 24194 // The number of clusters associated with the schedule. 24195 AssociatedClusterCount *int64 `type:"integer"` 24196 24197 // A list of clusters associated with the schedule. A maximum of 100 clusters 24198 // is returned. 24199 AssociatedClusters []*ClusterAssociatedToSchedule `locationNameList:"ClusterAssociatedToSchedule" type:"list"` 24200 24201 NextInvocations []*time.Time `locationNameList:"SnapshotTime" type:"list"` 24202 24203 // A list of ScheduleDefinitions. 24204 ScheduleDefinitions []*string `locationNameList:"ScheduleDefinition" type:"list"` 24205 24206 // The description of the schedule. 24207 ScheduleDescription *string `type:"string"` 24208 24209 // A unique identifier for the schedule. 24210 ScheduleIdentifier *string `type:"string"` 24211 24212 // An optional set of tags describing the schedule. 24213 Tags []*Tag `locationNameList:"Tag" type:"list"` 24214} 24215 24216// String returns the string representation 24217func (s SnapshotSchedule) String() string { 24218 return awsutil.Prettify(s) 24219} 24220 24221// GoString returns the string representation 24222func (s SnapshotSchedule) GoString() string { 24223 return s.String() 24224} 24225 24226// SetAssociatedClusterCount sets the AssociatedClusterCount field's value. 24227func (s *SnapshotSchedule) SetAssociatedClusterCount(v int64) *SnapshotSchedule { 24228 s.AssociatedClusterCount = &v 24229 return s 24230} 24231 24232// SetAssociatedClusters sets the AssociatedClusters field's value. 24233func (s *SnapshotSchedule) SetAssociatedClusters(v []*ClusterAssociatedToSchedule) *SnapshotSchedule { 24234 s.AssociatedClusters = v 24235 return s 24236} 24237 24238// SetNextInvocations sets the NextInvocations field's value. 24239func (s *SnapshotSchedule) SetNextInvocations(v []*time.Time) *SnapshotSchedule { 24240 s.NextInvocations = v 24241 return s 24242} 24243 24244// SetScheduleDefinitions sets the ScheduleDefinitions field's value. 24245func (s *SnapshotSchedule) SetScheduleDefinitions(v []*string) *SnapshotSchedule { 24246 s.ScheduleDefinitions = v 24247 return s 24248} 24249 24250// SetScheduleDescription sets the ScheduleDescription field's value. 24251func (s *SnapshotSchedule) SetScheduleDescription(v string) *SnapshotSchedule { 24252 s.ScheduleDescription = &v 24253 return s 24254} 24255 24256// SetScheduleIdentifier sets the ScheduleIdentifier field's value. 24257func (s *SnapshotSchedule) SetScheduleIdentifier(v string) *SnapshotSchedule { 24258 s.ScheduleIdentifier = &v 24259 return s 24260} 24261 24262// SetTags sets the Tags field's value. 24263func (s *SnapshotSchedule) SetTags(v []*Tag) *SnapshotSchedule { 24264 s.Tags = v 24265 return s 24266} 24267 24268// Describes a sorting entity 24269type SnapshotSortingEntity struct { 24270 _ struct{} `type:"structure"` 24271 24272 // The category for sorting the snapshots. 24273 // 24274 // Attribute is a required field 24275 Attribute *string `type:"string" required:"true" enum:"SnapshotAttributeToSortBy"` 24276 24277 // The order for listing the attributes. 24278 SortOrder *string `type:"string" enum:"SortByOrder"` 24279} 24280 24281// String returns the string representation 24282func (s SnapshotSortingEntity) String() string { 24283 return awsutil.Prettify(s) 24284} 24285 24286// GoString returns the string representation 24287func (s SnapshotSortingEntity) GoString() string { 24288 return s.String() 24289} 24290 24291// Validate inspects the fields of the type to determine if they are valid. 24292func (s *SnapshotSortingEntity) Validate() error { 24293 invalidParams := request.ErrInvalidParams{Context: "SnapshotSortingEntity"} 24294 if s.Attribute == nil { 24295 invalidParams.Add(request.NewErrParamRequired("Attribute")) 24296 } 24297 24298 if invalidParams.Len() > 0 { 24299 return invalidParams 24300 } 24301 return nil 24302} 24303 24304// SetAttribute sets the Attribute field's value. 24305func (s *SnapshotSortingEntity) SetAttribute(v string) *SnapshotSortingEntity { 24306 s.Attribute = &v 24307 return s 24308} 24309 24310// SetSortOrder sets the SortOrder field's value. 24311func (s *SnapshotSortingEntity) SetSortOrder(v string) *SnapshotSortingEntity { 24312 s.SortOrder = &v 24313 return s 24314} 24315 24316// Describes a subnet. 24317type Subnet struct { 24318 _ struct{} `type:"structure"` 24319 24320 // Describes an availability zone. 24321 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 24322 24323 // The identifier of the subnet. 24324 SubnetIdentifier *string `type:"string"` 24325 24326 // The status of the subnet. 24327 SubnetStatus *string `type:"string"` 24328} 24329 24330// String returns the string representation 24331func (s Subnet) String() string { 24332 return awsutil.Prettify(s) 24333} 24334 24335// GoString returns the string representation 24336func (s Subnet) GoString() string { 24337 return s.String() 24338} 24339 24340// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 24341func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 24342 s.SubnetAvailabilityZone = v 24343 return s 24344} 24345 24346// SetSubnetIdentifier sets the SubnetIdentifier field's value. 24347func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 24348 s.SubnetIdentifier = &v 24349 return s 24350} 24351 24352// SetSubnetStatus sets the SubnetStatus field's value. 24353func (s *Subnet) SetSubnetStatus(v string) *Subnet { 24354 s.SubnetStatus = &v 24355 return s 24356} 24357 24358// Describes the operations that are allowed on a maintenance track. 24359type SupportedOperation struct { 24360 _ struct{} `type:"structure"` 24361 24362 // A list of the supported operations. 24363 OperationName *string `type:"string"` 24364} 24365 24366// String returns the string representation 24367func (s SupportedOperation) String() string { 24368 return awsutil.Prettify(s) 24369} 24370 24371// GoString returns the string representation 24372func (s SupportedOperation) GoString() string { 24373 return s.String() 24374} 24375 24376// SetOperationName sets the OperationName field's value. 24377func (s *SupportedOperation) SetOperationName(v string) *SupportedOperation { 24378 s.OperationName = &v 24379 return s 24380} 24381 24382// A list of supported platforms for orderable clusters. 24383type SupportedPlatform struct { 24384 _ struct{} `type:"structure"` 24385 24386 Name *string `type:"string"` 24387} 24388 24389// String returns the string representation 24390func (s SupportedPlatform) String() string { 24391 return awsutil.Prettify(s) 24392} 24393 24394// GoString returns the string representation 24395func (s SupportedPlatform) GoString() string { 24396 return s.String() 24397} 24398 24399// SetName sets the Name field's value. 24400func (s *SupportedPlatform) SetName(v string) *SupportedPlatform { 24401 s.Name = &v 24402 return s 24403} 24404 24405// Describes the status of a RestoreTableFromClusterSnapshot operation. 24406type TableRestoreStatus struct { 24407 _ struct{} `type:"structure"` 24408 24409 // The identifier of the Amazon Redshift cluster that the table is being restored 24410 // to. 24411 ClusterIdentifier *string `type:"string"` 24412 24413 // A description of the status of the table restore request. Status values include 24414 // SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS. 24415 Message *string `type:"string"` 24416 24417 // The name of the table to create as a result of the table restore request. 24418 NewTableName *string `type:"string"` 24419 24420 // The amount of data restored to the new table so far, in megabytes (MB). 24421 ProgressInMegaBytes *int64 `type:"long"` 24422 24423 // The time that the table restore request was made, in Universal Coordinated 24424 // Time (UTC). 24425 RequestTime *time.Time `type:"timestamp"` 24426 24427 // The identifier of the snapshot that the table is being restored from. 24428 SnapshotIdentifier *string `type:"string"` 24429 24430 // The name of the source database that contains the table being restored. 24431 SourceDatabaseName *string `type:"string"` 24432 24433 // The name of the source schema that contains the table being restored. 24434 SourceSchemaName *string `type:"string"` 24435 24436 // The name of the source table being restored. 24437 SourceTableName *string `type:"string"` 24438 24439 // A value that describes the current state of the table restore request. 24440 // 24441 // Valid Values: SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS 24442 Status *string `type:"string" enum:"TableRestoreStatusType"` 24443 24444 // The unique identifier for the table restore request. 24445 TableRestoreRequestId *string `type:"string"` 24446 24447 // The name of the database to restore the table to. 24448 TargetDatabaseName *string `type:"string"` 24449 24450 // The name of the schema to restore the table to. 24451 TargetSchemaName *string `type:"string"` 24452 24453 // The total amount of data to restore to the new table, in megabytes (MB). 24454 TotalDataInMegaBytes *int64 `type:"long"` 24455} 24456 24457// String returns the string representation 24458func (s TableRestoreStatus) String() string { 24459 return awsutil.Prettify(s) 24460} 24461 24462// GoString returns the string representation 24463func (s TableRestoreStatus) GoString() string { 24464 return s.String() 24465} 24466 24467// SetClusterIdentifier sets the ClusterIdentifier field's value. 24468func (s *TableRestoreStatus) SetClusterIdentifier(v string) *TableRestoreStatus { 24469 s.ClusterIdentifier = &v 24470 return s 24471} 24472 24473// SetMessage sets the Message field's value. 24474func (s *TableRestoreStatus) SetMessage(v string) *TableRestoreStatus { 24475 s.Message = &v 24476 return s 24477} 24478 24479// SetNewTableName sets the NewTableName field's value. 24480func (s *TableRestoreStatus) SetNewTableName(v string) *TableRestoreStatus { 24481 s.NewTableName = &v 24482 return s 24483} 24484 24485// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value. 24486func (s *TableRestoreStatus) SetProgressInMegaBytes(v int64) *TableRestoreStatus { 24487 s.ProgressInMegaBytes = &v 24488 return s 24489} 24490 24491// SetRequestTime sets the RequestTime field's value. 24492func (s *TableRestoreStatus) SetRequestTime(v time.Time) *TableRestoreStatus { 24493 s.RequestTime = &v 24494 return s 24495} 24496 24497// SetSnapshotIdentifier sets the SnapshotIdentifier field's value. 24498func (s *TableRestoreStatus) SetSnapshotIdentifier(v string) *TableRestoreStatus { 24499 s.SnapshotIdentifier = &v 24500 return s 24501} 24502 24503// SetSourceDatabaseName sets the SourceDatabaseName field's value. 24504func (s *TableRestoreStatus) SetSourceDatabaseName(v string) *TableRestoreStatus { 24505 s.SourceDatabaseName = &v 24506 return s 24507} 24508 24509// SetSourceSchemaName sets the SourceSchemaName field's value. 24510func (s *TableRestoreStatus) SetSourceSchemaName(v string) *TableRestoreStatus { 24511 s.SourceSchemaName = &v 24512 return s 24513} 24514 24515// SetSourceTableName sets the SourceTableName field's value. 24516func (s *TableRestoreStatus) SetSourceTableName(v string) *TableRestoreStatus { 24517 s.SourceTableName = &v 24518 return s 24519} 24520 24521// SetStatus sets the Status field's value. 24522func (s *TableRestoreStatus) SetStatus(v string) *TableRestoreStatus { 24523 s.Status = &v 24524 return s 24525} 24526 24527// SetTableRestoreRequestId sets the TableRestoreRequestId field's value. 24528func (s *TableRestoreStatus) SetTableRestoreRequestId(v string) *TableRestoreStatus { 24529 s.TableRestoreRequestId = &v 24530 return s 24531} 24532 24533// SetTargetDatabaseName sets the TargetDatabaseName field's value. 24534func (s *TableRestoreStatus) SetTargetDatabaseName(v string) *TableRestoreStatus { 24535 s.TargetDatabaseName = &v 24536 return s 24537} 24538 24539// SetTargetSchemaName sets the TargetSchemaName field's value. 24540func (s *TableRestoreStatus) SetTargetSchemaName(v string) *TableRestoreStatus { 24541 s.TargetSchemaName = &v 24542 return s 24543} 24544 24545// SetTotalDataInMegaBytes sets the TotalDataInMegaBytes field's value. 24546func (s *TableRestoreStatus) SetTotalDataInMegaBytes(v int64) *TableRestoreStatus { 24547 s.TotalDataInMegaBytes = &v 24548 return s 24549} 24550 24551// A tag consisting of a name/value pair for a resource. 24552type Tag struct { 24553 _ struct{} `type:"structure"` 24554 24555 // The key, or name, for the resource tag. 24556 Key *string `type:"string"` 24557 24558 // The value for the resource tag. 24559 Value *string `type:"string"` 24560} 24561 24562// String returns the string representation 24563func (s Tag) String() string { 24564 return awsutil.Prettify(s) 24565} 24566 24567// GoString returns the string representation 24568func (s Tag) GoString() string { 24569 return s.String() 24570} 24571 24572// SetKey sets the Key field's value. 24573func (s *Tag) SetKey(v string) *Tag { 24574 s.Key = &v 24575 return s 24576} 24577 24578// SetValue sets the Value field's value. 24579func (s *Tag) SetValue(v string) *Tag { 24580 s.Value = &v 24581 return s 24582} 24583 24584// A tag and its associated resource. 24585type TaggedResource struct { 24586 _ struct{} `type:"structure"` 24587 24588 // The Amazon Resource Name (ARN) with which the tag is associated, for example: 24589 // arn:aws:redshift:us-east-2:123456789:cluster:t1. 24590 ResourceName *string `type:"string"` 24591 24592 // The type of resource with which the tag is associated. Valid resource types 24593 // are: 24594 // 24595 // * Cluster 24596 // 24597 // * CIDR/IP 24598 // 24599 // * EC2 security group 24600 // 24601 // * Snapshot 24602 // 24603 // * Cluster security group 24604 // 24605 // * Subnet group 24606 // 24607 // * HSM connection 24608 // 24609 // * HSM certificate 24610 // 24611 // * Parameter group 24612 // 24613 // For more information about Amazon Redshift resource types and constructing 24614 // ARNs, go to Constructing an Amazon Redshift Amazon Resource Name (ARN) (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-overview.html#redshift-iam-access-control-specify-actions) 24615 // in the Amazon Redshift Cluster Management Guide. 24616 ResourceType *string `type:"string"` 24617 24618 // The tag for the resource. 24619 Tag *Tag `type:"structure"` 24620} 24621 24622// String returns the string representation 24623func (s TaggedResource) String() string { 24624 return awsutil.Prettify(s) 24625} 24626 24627// GoString returns the string representation 24628func (s TaggedResource) GoString() string { 24629 return s.String() 24630} 24631 24632// SetResourceName sets the ResourceName field's value. 24633func (s *TaggedResource) SetResourceName(v string) *TaggedResource { 24634 s.ResourceName = &v 24635 return s 24636} 24637 24638// SetResourceType sets the ResourceType field's value. 24639func (s *TaggedResource) SetResourceType(v string) *TaggedResource { 24640 s.ResourceType = &v 24641 return s 24642} 24643 24644// SetTag sets the Tag field's value. 24645func (s *TaggedResource) SetTag(v *Tag) *TaggedResource { 24646 s.Tag = v 24647 return s 24648} 24649 24650// A maintenance track that you can switch the current track to. 24651type UpdateTarget struct { 24652 _ struct{} `type:"structure"` 24653 24654 // The cluster version for the new maintenance track. 24655 DatabaseVersion *string `type:"string"` 24656 24657 // The name of the new maintenance track. 24658 MaintenanceTrackName *string `type:"string"` 24659 24660 // A list of operations supported by the maintenance track. 24661 SupportedOperations []*SupportedOperation `locationNameList:"SupportedOperation" type:"list"` 24662} 24663 24664// String returns the string representation 24665func (s UpdateTarget) String() string { 24666 return awsutil.Prettify(s) 24667} 24668 24669// GoString returns the string representation 24670func (s UpdateTarget) GoString() string { 24671 return s.String() 24672} 24673 24674// SetDatabaseVersion sets the DatabaseVersion field's value. 24675func (s *UpdateTarget) SetDatabaseVersion(v string) *UpdateTarget { 24676 s.DatabaseVersion = &v 24677 return s 24678} 24679 24680// SetMaintenanceTrackName sets the MaintenanceTrackName field's value. 24681func (s *UpdateTarget) SetMaintenanceTrackName(v string) *UpdateTarget { 24682 s.MaintenanceTrackName = &v 24683 return s 24684} 24685 24686// SetSupportedOperations sets the SupportedOperations field's value. 24687func (s *UpdateTarget) SetSupportedOperations(v []*SupportedOperation) *UpdateTarget { 24688 s.SupportedOperations = v 24689 return s 24690} 24691 24692// Describes a usage limit object for a cluster. 24693type UsageLimit struct { 24694 _ struct{} `type:"structure"` 24695 24696 // The limit amount. If time-based, this amount is in minutes. If data-based, 24697 // this amount is in terabytes (TB). 24698 Amount *int64 `type:"long"` 24699 24700 // The action that Amazon Redshift takes when the limit is reached. Possible 24701 // values are: 24702 // 24703 // * log - To log an event in a system table. The default is log. 24704 // 24705 // * emit-metric - To emit CloudWatch metrics. 24706 // 24707 // * disable - To disable the feature until the next usage period begins. 24708 BreachAction *string `type:"string" enum:"UsageLimitBreachAction"` 24709 24710 // The identifier of the cluster with a usage limit. 24711 ClusterIdentifier *string `type:"string"` 24712 24713 // The Amazon Redshift feature to which the limit applies. 24714 FeatureType *string `type:"string" enum:"UsageLimitFeatureType"` 24715 24716 // The type of limit. Depending on the feature type, this can be based on a 24717 // time duration or data size. 24718 LimitType *string `type:"string" enum:"UsageLimitLimitType"` 24719 24720 // The time period that the amount applies to. A weekly period begins on Sunday. 24721 // The default is monthly. 24722 Period *string `type:"string" enum:"UsageLimitPeriod"` 24723 24724 // A list of tag instances. 24725 Tags []*Tag `locationNameList:"Tag" type:"list"` 24726 24727 // The identifier of the usage limit. 24728 UsageLimitId *string `type:"string"` 24729} 24730 24731// String returns the string representation 24732func (s UsageLimit) String() string { 24733 return awsutil.Prettify(s) 24734} 24735 24736// GoString returns the string representation 24737func (s UsageLimit) GoString() string { 24738 return s.String() 24739} 24740 24741// SetAmount sets the Amount field's value. 24742func (s *UsageLimit) SetAmount(v int64) *UsageLimit { 24743 s.Amount = &v 24744 return s 24745} 24746 24747// SetBreachAction sets the BreachAction field's value. 24748func (s *UsageLimit) SetBreachAction(v string) *UsageLimit { 24749 s.BreachAction = &v 24750 return s 24751} 24752 24753// SetClusterIdentifier sets the ClusterIdentifier field's value. 24754func (s *UsageLimit) SetClusterIdentifier(v string) *UsageLimit { 24755 s.ClusterIdentifier = &v 24756 return s 24757} 24758 24759// SetFeatureType sets the FeatureType field's value. 24760func (s *UsageLimit) SetFeatureType(v string) *UsageLimit { 24761 s.FeatureType = &v 24762 return s 24763} 24764 24765// SetLimitType sets the LimitType field's value. 24766func (s *UsageLimit) SetLimitType(v string) *UsageLimit { 24767 s.LimitType = &v 24768 return s 24769} 24770 24771// SetPeriod sets the Period field's value. 24772func (s *UsageLimit) SetPeriod(v string) *UsageLimit { 24773 s.Period = &v 24774 return s 24775} 24776 24777// SetTags sets the Tags field's value. 24778func (s *UsageLimit) SetTags(v []*Tag) *UsageLimit { 24779 s.Tags = v 24780 return s 24781} 24782 24783// SetUsageLimitId sets the UsageLimitId field's value. 24784func (s *UsageLimit) SetUsageLimitId(v string) *UsageLimit { 24785 s.UsageLimitId = &v 24786 return s 24787} 24788 24789// Describes the members of a VPC security group. 24790type VpcSecurityGroupMembership struct { 24791 _ struct{} `type:"structure"` 24792 24793 // The status of the VPC security group. 24794 Status *string `type:"string"` 24795 24796 // The identifier of the VPC security group. 24797 VpcSecurityGroupId *string `type:"string"` 24798} 24799 24800// String returns the string representation 24801func (s VpcSecurityGroupMembership) String() string { 24802 return awsutil.Prettify(s) 24803} 24804 24805// GoString returns the string representation 24806func (s VpcSecurityGroupMembership) GoString() string { 24807 return s.String() 24808} 24809 24810// SetStatus sets the Status field's value. 24811func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership { 24812 s.Status = &v 24813 return s 24814} 24815 24816// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value. 24817func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership { 24818 s.VpcSecurityGroupId = &v 24819 return s 24820} 24821 24822const ( 24823 // ActionTypeRestoreCluster is a ActionType enum value 24824 ActionTypeRestoreCluster = "restore-cluster" 24825 24826 // ActionTypeRecommendNodeConfig is a ActionType enum value 24827 ActionTypeRecommendNodeConfig = "recommend-node-config" 24828 24829 // ActionTypeResizeCluster is a ActionType enum value 24830 ActionTypeResizeCluster = "resize-cluster" 24831) 24832 24833const ( 24834 // ModeStandard is a Mode enum value 24835 ModeStandard = "standard" 24836 24837 // ModeHighPerformance is a Mode enum value 24838 ModeHighPerformance = "high-performance" 24839) 24840 24841const ( 24842 // NodeConfigurationOptionsFilterNameNodeType is a NodeConfigurationOptionsFilterName enum value 24843 NodeConfigurationOptionsFilterNameNodeType = "NodeType" 24844 24845 // NodeConfigurationOptionsFilterNameNumberOfNodes is a NodeConfigurationOptionsFilterName enum value 24846 NodeConfigurationOptionsFilterNameNumberOfNodes = "NumberOfNodes" 24847 24848 // NodeConfigurationOptionsFilterNameEstimatedDiskUtilizationPercent is a NodeConfigurationOptionsFilterName enum value 24849 NodeConfigurationOptionsFilterNameEstimatedDiskUtilizationPercent = "EstimatedDiskUtilizationPercent" 24850 24851 // NodeConfigurationOptionsFilterNameMode is a NodeConfigurationOptionsFilterName enum value 24852 NodeConfigurationOptionsFilterNameMode = "Mode" 24853) 24854 24855const ( 24856 // OperatorTypeEq is a OperatorType enum value 24857 OperatorTypeEq = "eq" 24858 24859 // OperatorTypeLt is a OperatorType enum value 24860 OperatorTypeLt = "lt" 24861 24862 // OperatorTypeGt is a OperatorType enum value 24863 OperatorTypeGt = "gt" 24864 24865 // OperatorTypeLe is a OperatorType enum value 24866 OperatorTypeLe = "le" 24867 24868 // OperatorTypeGe is a OperatorType enum value 24869 OperatorTypeGe = "ge" 24870 24871 // OperatorTypeIn is a OperatorType enum value 24872 OperatorTypeIn = "in" 24873 24874 // OperatorTypeBetween is a OperatorType enum value 24875 OperatorTypeBetween = "between" 24876) 24877 24878const ( 24879 // ParameterApplyTypeStatic is a ParameterApplyType enum value 24880 ParameterApplyTypeStatic = "static" 24881 24882 // ParameterApplyTypeDynamic is a ParameterApplyType enum value 24883 ParameterApplyTypeDynamic = "dynamic" 24884) 24885 24886const ( 24887 // ReservedNodeOfferingTypeRegular is a ReservedNodeOfferingType enum value 24888 ReservedNodeOfferingTypeRegular = "Regular" 24889 24890 // ReservedNodeOfferingTypeUpgradable is a ReservedNodeOfferingType enum value 24891 ReservedNodeOfferingTypeUpgradable = "Upgradable" 24892) 24893 24894const ( 24895 // ScheduleStateModifying is a ScheduleState enum value 24896 ScheduleStateModifying = "MODIFYING" 24897 24898 // ScheduleStateActive is a ScheduleState enum value 24899 ScheduleStateActive = "ACTIVE" 24900 24901 // ScheduleStateFailed is a ScheduleState enum value 24902 ScheduleStateFailed = "FAILED" 24903) 24904 24905const ( 24906 // ScheduledActionFilterNameClusterIdentifier is a ScheduledActionFilterName enum value 24907 ScheduledActionFilterNameClusterIdentifier = "cluster-identifier" 24908 24909 // ScheduledActionFilterNameIamRole is a ScheduledActionFilterName enum value 24910 ScheduledActionFilterNameIamRole = "iam-role" 24911) 24912 24913const ( 24914 // ScheduledActionStateActive is a ScheduledActionState enum value 24915 ScheduledActionStateActive = "ACTIVE" 24916 24917 // ScheduledActionStateDisabled is a ScheduledActionState enum value 24918 ScheduledActionStateDisabled = "DISABLED" 24919) 24920 24921const ( 24922 // ScheduledActionTypeValuesResizeCluster is a ScheduledActionTypeValues enum value 24923 ScheduledActionTypeValuesResizeCluster = "ResizeCluster" 24924 24925 // ScheduledActionTypeValuesPauseCluster is a ScheduledActionTypeValues enum value 24926 ScheduledActionTypeValuesPauseCluster = "PauseCluster" 24927 24928 // ScheduledActionTypeValuesResumeCluster is a ScheduledActionTypeValues enum value 24929 ScheduledActionTypeValuesResumeCluster = "ResumeCluster" 24930) 24931 24932const ( 24933 // SnapshotAttributeToSortBySourceType is a SnapshotAttributeToSortBy enum value 24934 SnapshotAttributeToSortBySourceType = "SOURCE_TYPE" 24935 24936 // SnapshotAttributeToSortByTotalSize is a SnapshotAttributeToSortBy enum value 24937 SnapshotAttributeToSortByTotalSize = "TOTAL_SIZE" 24938 24939 // SnapshotAttributeToSortByCreateTime is a SnapshotAttributeToSortBy enum value 24940 SnapshotAttributeToSortByCreateTime = "CREATE_TIME" 24941) 24942 24943const ( 24944 // SortByOrderAsc is a SortByOrder enum value 24945 SortByOrderAsc = "ASC" 24946 24947 // SortByOrderDesc is a SortByOrder enum value 24948 SortByOrderDesc = "DESC" 24949) 24950 24951const ( 24952 // SourceTypeCluster is a SourceType enum value 24953 SourceTypeCluster = "cluster" 24954 24955 // SourceTypeClusterParameterGroup is a SourceType enum value 24956 SourceTypeClusterParameterGroup = "cluster-parameter-group" 24957 24958 // SourceTypeClusterSecurityGroup is a SourceType enum value 24959 SourceTypeClusterSecurityGroup = "cluster-security-group" 24960 24961 // SourceTypeClusterSnapshot is a SourceType enum value 24962 SourceTypeClusterSnapshot = "cluster-snapshot" 24963 24964 // SourceTypeScheduledAction is a SourceType enum value 24965 SourceTypeScheduledAction = "scheduled-action" 24966) 24967 24968const ( 24969 // TableRestoreStatusTypePending is a TableRestoreStatusType enum value 24970 TableRestoreStatusTypePending = "PENDING" 24971 24972 // TableRestoreStatusTypeInProgress is a TableRestoreStatusType enum value 24973 TableRestoreStatusTypeInProgress = "IN_PROGRESS" 24974 24975 // TableRestoreStatusTypeSucceeded is a TableRestoreStatusType enum value 24976 TableRestoreStatusTypeSucceeded = "SUCCEEDED" 24977 24978 // TableRestoreStatusTypeFailed is a TableRestoreStatusType enum value 24979 TableRestoreStatusTypeFailed = "FAILED" 24980 24981 // TableRestoreStatusTypeCanceled is a TableRestoreStatusType enum value 24982 TableRestoreStatusTypeCanceled = "CANCELED" 24983) 24984 24985const ( 24986 // UsageLimitBreachActionLog is a UsageLimitBreachAction enum value 24987 UsageLimitBreachActionLog = "log" 24988 24989 // UsageLimitBreachActionEmitMetric is a UsageLimitBreachAction enum value 24990 UsageLimitBreachActionEmitMetric = "emit-metric" 24991 24992 // UsageLimitBreachActionDisable is a UsageLimitBreachAction enum value 24993 UsageLimitBreachActionDisable = "disable" 24994) 24995 24996const ( 24997 // UsageLimitFeatureTypeSpectrum is a UsageLimitFeatureType enum value 24998 UsageLimitFeatureTypeSpectrum = "spectrum" 24999 25000 // UsageLimitFeatureTypeConcurrencyScaling is a UsageLimitFeatureType enum value 25001 UsageLimitFeatureTypeConcurrencyScaling = "concurrency-scaling" 25002) 25003 25004const ( 25005 // UsageLimitLimitTypeTime is a UsageLimitLimitType enum value 25006 UsageLimitLimitTypeTime = "time" 25007 25008 // UsageLimitLimitTypeDataScanned is a UsageLimitLimitType enum value 25009 UsageLimitLimitTypeDataScanned = "data-scanned" 25010) 25011 25012const ( 25013 // UsageLimitPeriodDaily is a UsageLimitPeriod enum value 25014 UsageLimitPeriodDaily = "daily" 25015 25016 // UsageLimitPeriodWeekly is a UsageLimitPeriod enum value 25017 UsageLimitPeriodWeekly = "weekly" 25018 25019 // UsageLimitPeriodMonthly is a UsageLimitPeriod enum value 25020 UsageLimitPeriodMonthly = "monthly" 25021) 25022