1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package snowball 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/jsonrpc" 14) 15 16const opCancelCluster = "CancelCluster" 17 18// CancelClusterRequest generates a "aws/request.Request" representing the 19// client's request for the CancelCluster 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 CancelCluster for more information on using the CancelCluster 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 CancelClusterRequest method. 34// req, resp := client.CancelClusterRequest(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/snowball-2016-06-30/CancelCluster 42func (c *Snowball) CancelClusterRequest(input *CancelClusterInput) (req *request.Request, output *CancelClusterOutput) { 43 op := &request.Operation{ 44 Name: opCancelCluster, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &CancelClusterInput{} 51 } 52 53 output = &CancelClusterOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57} 58 59// CancelCluster API operation for Amazon Import/Export Snowball. 60// 61// Cancels a cluster job. You can only cancel a cluster job while it's in the 62// AwaitingQuorum status. You'll have at least an hour after creating a cluster 63// job to cancel it. 64// 65// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 66// with awserr.Error's Code and Message methods to get detailed information about 67// the error. 68// 69// See the AWS API reference guide for Amazon Import/Export Snowball's 70// API operation CancelCluster for usage and error information. 71// 72// Returned Error Codes: 73// * ErrCodeKMSRequestFailedException "KMSRequestFailedException" 74// The provided AWS Key Management Service key lacks the permissions to perform 75// the specified CreateJob or UpdateJob action. 76// 77// * ErrCodeInvalidJobStateException "InvalidJobStateException" 78// The action can't be performed because the job's current state doesn't allow 79// that action to be performed. 80// 81// * ErrCodeInvalidResourceException "InvalidResourceException" 82// The specified resource can't be found. Check the information you provided 83// in your last request, and try again. 84// 85// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelCluster 86func (c *Snowball) CancelCluster(input *CancelClusterInput) (*CancelClusterOutput, error) { 87 req, out := c.CancelClusterRequest(input) 88 return out, req.Send() 89} 90 91// CancelClusterWithContext is the same as CancelCluster with the addition of 92// the ability to pass a context and additional request options. 93// 94// See CancelCluster for details on how to use this API operation. 95// 96// The context must be non-nil and will be used for request cancellation. If 97// the context is nil a panic will occur. In the future the SDK may create 98// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 99// for more information on using Contexts. 100func (c *Snowball) CancelClusterWithContext(ctx aws.Context, input *CancelClusterInput, opts ...request.Option) (*CancelClusterOutput, error) { 101 req, out := c.CancelClusterRequest(input) 102 req.SetContext(ctx) 103 req.ApplyOptions(opts...) 104 return out, req.Send() 105} 106 107const opCancelJob = "CancelJob" 108 109// CancelJobRequest generates a "aws/request.Request" representing the 110// client's request for the CancelJob operation. The "output" return 111// value will be populated with the request's response once the request completes 112// successfully. 113// 114// Use "Send" method on the returned Request to send the API call to the service. 115// the "output" return value is not valid until after Send returns without error. 116// 117// See CancelJob for more information on using the CancelJob 118// API call, and error handling. 119// 120// This method is useful when you want to inject custom logic or configuration 121// into the SDK's request lifecycle. Such as custom headers, or retry logic. 122// 123// 124// // Example sending a request using the CancelJobRequest method. 125// req, resp := client.CancelJobRequest(params) 126// 127// err := req.Send() 128// if err == nil { // resp is now filled 129// fmt.Println(resp) 130// } 131// 132// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelJob 133func (c *Snowball) CancelJobRequest(input *CancelJobInput) (req *request.Request, output *CancelJobOutput) { 134 op := &request.Operation{ 135 Name: opCancelJob, 136 HTTPMethod: "POST", 137 HTTPPath: "/", 138 } 139 140 if input == nil { 141 input = &CancelJobInput{} 142 } 143 144 output = &CancelJobOutput{} 145 req = c.newRequest(op, input, output) 146 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 147 return 148} 149 150// CancelJob API operation for Amazon Import/Export Snowball. 151// 152// Cancels the specified job. You can only cancel a job before its JobState 153// value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob 154// action returns a job's JobState as part of the response element data returned. 155// 156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 157// with awserr.Error's Code and Message methods to get detailed information about 158// the error. 159// 160// See the AWS API reference guide for Amazon Import/Export Snowball's 161// API operation CancelJob for usage and error information. 162// 163// Returned Error Codes: 164// * ErrCodeInvalidResourceException "InvalidResourceException" 165// The specified resource can't be found. Check the information you provided 166// in your last request, and try again. 167// 168// * ErrCodeInvalidJobStateException "InvalidJobStateException" 169// The action can't be performed because the job's current state doesn't allow 170// that action to be performed. 171// 172// * ErrCodeKMSRequestFailedException "KMSRequestFailedException" 173// The provided AWS Key Management Service key lacks the permissions to perform 174// the specified CreateJob or UpdateJob action. 175// 176// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelJob 177func (c *Snowball) CancelJob(input *CancelJobInput) (*CancelJobOutput, error) { 178 req, out := c.CancelJobRequest(input) 179 return out, req.Send() 180} 181 182// CancelJobWithContext is the same as CancelJob with the addition of 183// the ability to pass a context and additional request options. 184// 185// See CancelJob for details on how to use this API operation. 186// 187// The context must be non-nil and will be used for request cancellation. If 188// the context is nil a panic will occur. In the future the SDK may create 189// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 190// for more information on using Contexts. 191func (c *Snowball) CancelJobWithContext(ctx aws.Context, input *CancelJobInput, opts ...request.Option) (*CancelJobOutput, error) { 192 req, out := c.CancelJobRequest(input) 193 req.SetContext(ctx) 194 req.ApplyOptions(opts...) 195 return out, req.Send() 196} 197 198const opCreateAddress = "CreateAddress" 199 200// CreateAddressRequest generates a "aws/request.Request" representing the 201// client's request for the CreateAddress operation. The "output" return 202// value will be populated with the request's response once the request completes 203// successfully. 204// 205// Use "Send" method on the returned Request to send the API call to the service. 206// the "output" return value is not valid until after Send returns without error. 207// 208// See CreateAddress for more information on using the CreateAddress 209// API call, and error handling. 210// 211// This method is useful when you want to inject custom logic or configuration 212// into the SDK's request lifecycle. Such as custom headers, or retry logic. 213// 214// 215// // Example sending a request using the CreateAddressRequest method. 216// req, resp := client.CreateAddressRequest(params) 217// 218// err := req.Send() 219// if err == nil { // resp is now filled 220// fmt.Println(resp) 221// } 222// 223// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateAddress 224func (c *Snowball) CreateAddressRequest(input *CreateAddressInput) (req *request.Request, output *CreateAddressOutput) { 225 op := &request.Operation{ 226 Name: opCreateAddress, 227 HTTPMethod: "POST", 228 HTTPPath: "/", 229 } 230 231 if input == nil { 232 input = &CreateAddressInput{} 233 } 234 235 output = &CreateAddressOutput{} 236 req = c.newRequest(op, input, output) 237 return 238} 239 240// CreateAddress API operation for Amazon Import/Export Snowball. 241// 242// Creates an address for a Snowball to be shipped to. In most regions, addresses 243// are validated at the time of creation. The address you provide must be located 244// within the serviceable area of your region. If the address is invalid or 245// unsupported, then an exception is thrown. 246// 247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 248// with awserr.Error's Code and Message methods to get detailed information about 249// the error. 250// 251// See the AWS API reference guide for Amazon Import/Export Snowball's 252// API operation CreateAddress for usage and error information. 253// 254// Returned Error Codes: 255// * ErrCodeInvalidAddressException "InvalidAddressException" 256// The address provided was invalid. Check the address with your region's carrier, 257// and try again. 258// 259// * ErrCodeUnsupportedAddressException "UnsupportedAddressException" 260// The address is either outside the serviceable area for your region, or an 261// error occurred. Check the address with your region's carrier and try again. 262// If the issue persists, contact AWS Support. 263// 264// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateAddress 265func (c *Snowball) CreateAddress(input *CreateAddressInput) (*CreateAddressOutput, error) { 266 req, out := c.CreateAddressRequest(input) 267 return out, req.Send() 268} 269 270// CreateAddressWithContext is the same as CreateAddress with the addition of 271// the ability to pass a context and additional request options. 272// 273// See CreateAddress for details on how to use this API operation. 274// 275// The context must be non-nil and will be used for request cancellation. If 276// the context is nil a panic will occur. In the future the SDK may create 277// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 278// for more information on using Contexts. 279func (c *Snowball) CreateAddressWithContext(ctx aws.Context, input *CreateAddressInput, opts ...request.Option) (*CreateAddressOutput, error) { 280 req, out := c.CreateAddressRequest(input) 281 req.SetContext(ctx) 282 req.ApplyOptions(opts...) 283 return out, req.Send() 284} 285 286const opCreateCluster = "CreateCluster" 287 288// CreateClusterRequest generates a "aws/request.Request" representing the 289// client's request for the CreateCluster operation. The "output" return 290// value will be populated with the request's response once the request completes 291// successfully. 292// 293// Use "Send" method on the returned Request to send the API call to the service. 294// the "output" return value is not valid until after Send returns without error. 295// 296// See CreateCluster for more information on using the CreateCluster 297// API call, and error handling. 298// 299// This method is useful when you want to inject custom logic or configuration 300// into the SDK's request lifecycle. Such as custom headers, or retry logic. 301// 302// 303// // Example sending a request using the CreateClusterRequest method. 304// req, resp := client.CreateClusterRequest(params) 305// 306// err := req.Send() 307// if err == nil { // resp is now filled 308// fmt.Println(resp) 309// } 310// 311// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateCluster 312func (c *Snowball) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { 313 op := &request.Operation{ 314 Name: opCreateCluster, 315 HTTPMethod: "POST", 316 HTTPPath: "/", 317 } 318 319 if input == nil { 320 input = &CreateClusterInput{} 321 } 322 323 output = &CreateClusterOutput{} 324 req = c.newRequest(op, input, output) 325 return 326} 327 328// CreateCluster API operation for Amazon Import/Export Snowball. 329// 330// Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob 331// action separately to create the jobs for each of these nodes. The cluster 332// does not ship until these five node jobs have been created. 333// 334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 335// with awserr.Error's Code and Message methods to get detailed information about 336// the error. 337// 338// See the AWS API reference guide for Amazon Import/Export Snowball's 339// API operation CreateCluster for usage and error information. 340// 341// Returned Error Codes: 342// * ErrCodeInvalidResourceException "InvalidResourceException" 343// The specified resource can't be found. Check the information you provided 344// in your last request, and try again. 345// 346// * ErrCodeKMSRequestFailedException "KMSRequestFailedException" 347// The provided AWS Key Management Service key lacks the permissions to perform 348// the specified CreateJob or UpdateJob action. 349// 350// * ErrCodeInvalidInputCombinationException "InvalidInputCombinationException" 351// Job or cluster creation failed. One ore more inputs were invalid. Confirm 352// that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType, 353// and try again. 354// 355// * ErrCodeEc2RequestFailedException "Ec2RequestFailedException" 356// Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted 357// action. 358// 359// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateCluster 360func (c *Snowball) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { 361 req, out := c.CreateClusterRequest(input) 362 return out, req.Send() 363} 364 365// CreateClusterWithContext is the same as CreateCluster with the addition of 366// the ability to pass a context and additional request options. 367// 368// See CreateCluster for details on how to use this API operation. 369// 370// The context must be non-nil and will be used for request cancellation. If 371// the context is nil a panic will occur. In the future the SDK may create 372// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 373// for more information on using Contexts. 374func (c *Snowball) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { 375 req, out := c.CreateClusterRequest(input) 376 req.SetContext(ctx) 377 req.ApplyOptions(opts...) 378 return out, req.Send() 379} 380 381const opCreateJob = "CreateJob" 382 383// CreateJobRequest generates a "aws/request.Request" representing the 384// client's request for the CreateJob operation. The "output" return 385// value will be populated with the request's response once the request completes 386// successfully. 387// 388// Use "Send" method on the returned Request to send the API call to the service. 389// the "output" return value is not valid until after Send returns without error. 390// 391// See CreateJob for more information on using the CreateJob 392// API call, and error handling. 393// 394// This method is useful when you want to inject custom logic or configuration 395// into the SDK's request lifecycle. Such as custom headers, or retry logic. 396// 397// 398// // Example sending a request using the CreateJobRequest method. 399// req, resp := client.CreateJobRequest(params) 400// 401// err := req.Send() 402// if err == nil { // resp is now filled 403// fmt.Println(resp) 404// } 405// 406// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateJob 407func (c *Snowball) CreateJobRequest(input *CreateJobInput) (req *request.Request, output *CreateJobOutput) { 408 op := &request.Operation{ 409 Name: opCreateJob, 410 HTTPMethod: "POST", 411 HTTPPath: "/", 412 } 413 414 if input == nil { 415 input = &CreateJobInput{} 416 } 417 418 output = &CreateJobOutput{} 419 req = c.newRequest(op, input, output) 420 return 421} 422 423// CreateJob API operation for Amazon Import/Export Snowball. 424// 425// Creates a job to import or export data between Amazon S3 and your on-premises 426// data center. Your AWS account must have the right trust policies and permissions 427// in place to create a job for Snowball. If you're creating a job for a node 428// in a cluster, you only need to provide the clusterId value; the other job 429// attributes are inherited from the cluster. 430// 431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 432// with awserr.Error's Code and Message methods to get detailed information about 433// the error. 434// 435// See the AWS API reference guide for Amazon Import/Export Snowball's 436// API operation CreateJob for usage and error information. 437// 438// Returned Error Codes: 439// * ErrCodeInvalidResourceException "InvalidResourceException" 440// The specified resource can't be found. Check the information you provided 441// in your last request, and try again. 442// 443// * ErrCodeKMSRequestFailedException "KMSRequestFailedException" 444// The provided AWS Key Management Service key lacks the permissions to perform 445// the specified CreateJob or UpdateJob action. 446// 447// * ErrCodeInvalidInputCombinationException "InvalidInputCombinationException" 448// Job or cluster creation failed. One ore more inputs were invalid. Confirm 449// that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType, 450// and try again. 451// 452// * ErrCodeClusterLimitExceededException "ClusterLimitExceededException" 453// Job creation failed. Currently, clusters support five nodes. If you have 454// less than five nodes for your cluster and you have more nodes to create for 455// this cluster, try again and create jobs until your cluster has exactly five 456// notes. 457// 458// * ErrCodeEc2RequestFailedException "Ec2RequestFailedException" 459// Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted 460// action. 461// 462// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateJob 463func (c *Snowball) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) { 464 req, out := c.CreateJobRequest(input) 465 return out, req.Send() 466} 467 468// CreateJobWithContext is the same as CreateJob with the addition of 469// the ability to pass a context and additional request options. 470// 471// See CreateJob for details on how to use this API operation. 472// 473// The context must be non-nil and will be used for request cancellation. If 474// the context is nil a panic will occur. In the future the SDK may create 475// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 476// for more information on using Contexts. 477func (c *Snowball) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) { 478 req, out := c.CreateJobRequest(input) 479 req.SetContext(ctx) 480 req.ApplyOptions(opts...) 481 return out, req.Send() 482} 483 484const opDescribeAddress = "DescribeAddress" 485 486// DescribeAddressRequest generates a "aws/request.Request" representing the 487// client's request for the DescribeAddress operation. The "output" return 488// value will be populated with the request's response once the request completes 489// successfully. 490// 491// Use "Send" method on the returned Request to send the API call to the service. 492// the "output" return value is not valid until after Send returns without error. 493// 494// See DescribeAddress for more information on using the DescribeAddress 495// API call, and error handling. 496// 497// This method is useful when you want to inject custom logic or configuration 498// into the SDK's request lifecycle. Such as custom headers, or retry logic. 499// 500// 501// // Example sending a request using the DescribeAddressRequest method. 502// req, resp := client.DescribeAddressRequest(params) 503// 504// err := req.Send() 505// if err == nil { // resp is now filled 506// fmt.Println(resp) 507// } 508// 509// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddress 510func (c *Snowball) DescribeAddressRequest(input *DescribeAddressInput) (req *request.Request, output *DescribeAddressOutput) { 511 op := &request.Operation{ 512 Name: opDescribeAddress, 513 HTTPMethod: "POST", 514 HTTPPath: "/", 515 } 516 517 if input == nil { 518 input = &DescribeAddressInput{} 519 } 520 521 output = &DescribeAddressOutput{} 522 req = c.newRequest(op, input, output) 523 return 524} 525 526// DescribeAddress API operation for Amazon Import/Export Snowball. 527// 528// Takes an AddressId and returns specific details about that address in the 529// form of an Address object. 530// 531// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 532// with awserr.Error's Code and Message methods to get detailed information about 533// the error. 534// 535// See the AWS API reference guide for Amazon Import/Export Snowball's 536// API operation DescribeAddress for usage and error information. 537// 538// Returned Error Codes: 539// * ErrCodeInvalidResourceException "InvalidResourceException" 540// The specified resource can't be found. Check the information you provided 541// in your last request, and try again. 542// 543// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddress 544func (c *Snowball) DescribeAddress(input *DescribeAddressInput) (*DescribeAddressOutput, error) { 545 req, out := c.DescribeAddressRequest(input) 546 return out, req.Send() 547} 548 549// DescribeAddressWithContext is the same as DescribeAddress with the addition of 550// the ability to pass a context and additional request options. 551// 552// See DescribeAddress for details on how to use this API operation. 553// 554// The context must be non-nil and will be used for request cancellation. If 555// the context is nil a panic will occur. In the future the SDK may create 556// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 557// for more information on using Contexts. 558func (c *Snowball) DescribeAddressWithContext(ctx aws.Context, input *DescribeAddressInput, opts ...request.Option) (*DescribeAddressOutput, error) { 559 req, out := c.DescribeAddressRequest(input) 560 req.SetContext(ctx) 561 req.ApplyOptions(opts...) 562 return out, req.Send() 563} 564 565const opDescribeAddresses = "DescribeAddresses" 566 567// DescribeAddressesRequest generates a "aws/request.Request" representing the 568// client's request for the DescribeAddresses operation. The "output" return 569// value will be populated with the request's response once the request completes 570// successfully. 571// 572// Use "Send" method on the returned Request to send the API call to the service. 573// the "output" return value is not valid until after Send returns without error. 574// 575// See DescribeAddresses for more information on using the DescribeAddresses 576// API call, and error handling. 577// 578// This method is useful when you want to inject custom logic or configuration 579// into the SDK's request lifecycle. Such as custom headers, or retry logic. 580// 581// 582// // Example sending a request using the DescribeAddressesRequest method. 583// req, resp := client.DescribeAddressesRequest(params) 584// 585// err := req.Send() 586// if err == nil { // resp is now filled 587// fmt.Println(resp) 588// } 589// 590// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddresses 591func (c *Snowball) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) { 592 op := &request.Operation{ 593 Name: opDescribeAddresses, 594 HTTPMethod: "POST", 595 HTTPPath: "/", 596 Paginator: &request.Paginator{ 597 InputTokens: []string{"NextToken"}, 598 OutputTokens: []string{"NextToken"}, 599 LimitToken: "MaxResults", 600 TruncationToken: "", 601 }, 602 } 603 604 if input == nil { 605 input = &DescribeAddressesInput{} 606 } 607 608 output = &DescribeAddressesOutput{} 609 req = c.newRequest(op, input, output) 610 return 611} 612 613// DescribeAddresses API operation for Amazon Import/Export Snowball. 614// 615// Returns a specified number of ADDRESS objects. Calling this API in one of 616// the US regions will return addresses from the list of all addresses associated 617// with this account in all US regions. 618// 619// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 620// with awserr.Error's Code and Message methods to get detailed information about 621// the error. 622// 623// See the AWS API reference guide for Amazon Import/Export Snowball's 624// API operation DescribeAddresses for usage and error information. 625// 626// Returned Error Codes: 627// * ErrCodeInvalidResourceException "InvalidResourceException" 628// The specified resource can't be found. Check the information you provided 629// in your last request, and try again. 630// 631// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 632// The NextToken string was altered unexpectedly, and the operation has stopped. 633// Run the operation without changing the NextToken string, and try again. 634// 635// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddresses 636func (c *Snowball) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) { 637 req, out := c.DescribeAddressesRequest(input) 638 return out, req.Send() 639} 640 641// DescribeAddressesWithContext is the same as DescribeAddresses with the addition of 642// the ability to pass a context and additional request options. 643// 644// See DescribeAddresses for details on how to use this API operation. 645// 646// The context must be non-nil and will be used for request cancellation. If 647// the context is nil a panic will occur. In the future the SDK may create 648// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 649// for more information on using Contexts. 650func (c *Snowball) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) { 651 req, out := c.DescribeAddressesRequest(input) 652 req.SetContext(ctx) 653 req.ApplyOptions(opts...) 654 return out, req.Send() 655} 656 657// DescribeAddressesPages iterates over the pages of a DescribeAddresses operation, 658// calling the "fn" function with the response data for each page. To stop 659// iterating, return false from the fn function. 660// 661// See DescribeAddresses method for more information on how to use this operation. 662// 663// Note: This operation can generate multiple requests to a service. 664// 665// // Example iterating over at most 3 pages of a DescribeAddresses operation. 666// pageNum := 0 667// err := client.DescribeAddressesPages(params, 668// func(page *snowball.DescribeAddressesOutput, lastPage bool) bool { 669// pageNum++ 670// fmt.Println(page) 671// return pageNum <= 3 672// }) 673// 674func (c *Snowball) DescribeAddressesPages(input *DescribeAddressesInput, fn func(*DescribeAddressesOutput, bool) bool) error { 675 return c.DescribeAddressesPagesWithContext(aws.BackgroundContext(), input, fn) 676} 677 678// DescribeAddressesPagesWithContext same as DescribeAddressesPages except 679// it takes a Context and allows setting request options on the pages. 680// 681// The context must be non-nil and will be used for request cancellation. If 682// the context is nil a panic will occur. In the future the SDK may create 683// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 684// for more information on using Contexts. 685func (c *Snowball) DescribeAddressesPagesWithContext(ctx aws.Context, input *DescribeAddressesInput, fn func(*DescribeAddressesOutput, bool) bool, opts ...request.Option) error { 686 p := request.Pagination{ 687 NewRequest: func() (*request.Request, error) { 688 var inCpy *DescribeAddressesInput 689 if input != nil { 690 tmp := *input 691 inCpy = &tmp 692 } 693 req, _ := c.DescribeAddressesRequest(inCpy) 694 req.SetContext(ctx) 695 req.ApplyOptions(opts...) 696 return req, nil 697 }, 698 } 699 700 for p.Next() { 701 if !fn(p.Page().(*DescribeAddressesOutput), !p.HasNextPage()) { 702 break 703 } 704 } 705 706 return p.Err() 707} 708 709const opDescribeCluster = "DescribeCluster" 710 711// DescribeClusterRequest generates a "aws/request.Request" representing the 712// client's request for the DescribeCluster operation. The "output" return 713// value will be populated with the request's response once the request completes 714// successfully. 715// 716// Use "Send" method on the returned Request to send the API call to the service. 717// the "output" return value is not valid until after Send returns without error. 718// 719// See DescribeCluster for more information on using the DescribeCluster 720// API call, and error handling. 721// 722// This method is useful when you want to inject custom logic or configuration 723// into the SDK's request lifecycle. Such as custom headers, or retry logic. 724// 725// 726// // Example sending a request using the DescribeClusterRequest method. 727// req, resp := client.DescribeClusterRequest(params) 728// 729// err := req.Send() 730// if err == nil { // resp is now filled 731// fmt.Println(resp) 732// } 733// 734// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeCluster 735func (c *Snowball) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { 736 op := &request.Operation{ 737 Name: opDescribeCluster, 738 HTTPMethod: "POST", 739 HTTPPath: "/", 740 } 741 742 if input == nil { 743 input = &DescribeClusterInput{} 744 } 745 746 output = &DescribeClusterOutput{} 747 req = c.newRequest(op, input, output) 748 return 749} 750 751// DescribeCluster API operation for Amazon Import/Export Snowball. 752// 753// Returns information about a specific cluster including shipping information, 754// cluster status, and other important metadata. 755// 756// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 757// with awserr.Error's Code and Message methods to get detailed information about 758// the error. 759// 760// See the AWS API reference guide for Amazon Import/Export Snowball's 761// API operation DescribeCluster for usage and error information. 762// 763// Returned Error Codes: 764// * ErrCodeInvalidResourceException "InvalidResourceException" 765// The specified resource can't be found. Check the information you provided 766// in your last request, and try again. 767// 768// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeCluster 769func (c *Snowball) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { 770 req, out := c.DescribeClusterRequest(input) 771 return out, req.Send() 772} 773 774// DescribeClusterWithContext is the same as DescribeCluster with the addition of 775// the ability to pass a context and additional request options. 776// 777// See DescribeCluster for details on how to use this API operation. 778// 779// The context must be non-nil and will be used for request cancellation. If 780// the context is nil a panic will occur. In the future the SDK may create 781// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 782// for more information on using Contexts. 783func (c *Snowball) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { 784 req, out := c.DescribeClusterRequest(input) 785 req.SetContext(ctx) 786 req.ApplyOptions(opts...) 787 return out, req.Send() 788} 789 790const opDescribeJob = "DescribeJob" 791 792// DescribeJobRequest generates a "aws/request.Request" representing the 793// client's request for the DescribeJob operation. The "output" return 794// value will be populated with the request's response once the request completes 795// successfully. 796// 797// Use "Send" method on the returned Request to send the API call to the service. 798// the "output" return value is not valid until after Send returns without error. 799// 800// See DescribeJob for more information on using the DescribeJob 801// API call, and error handling. 802// 803// This method is useful when you want to inject custom logic or configuration 804// into the SDK's request lifecycle. Such as custom headers, or retry logic. 805// 806// 807// // Example sending a request using the DescribeJobRequest method. 808// req, resp := client.DescribeJobRequest(params) 809// 810// err := req.Send() 811// if err == nil { // resp is now filled 812// fmt.Println(resp) 813// } 814// 815// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob 816func (c *Snowball) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) { 817 op := &request.Operation{ 818 Name: opDescribeJob, 819 HTTPMethod: "POST", 820 HTTPPath: "/", 821 } 822 823 if input == nil { 824 input = &DescribeJobInput{} 825 } 826 827 output = &DescribeJobOutput{} 828 req = c.newRequest(op, input, output) 829 return 830} 831 832// DescribeJob API operation for Amazon Import/Export Snowball. 833// 834// Returns information about a specific job including shipping information, 835// job status, and other important metadata. 836// 837// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 838// with awserr.Error's Code and Message methods to get detailed information about 839// the error. 840// 841// See the AWS API reference guide for Amazon Import/Export Snowball's 842// API operation DescribeJob for usage and error information. 843// 844// Returned Error Codes: 845// * ErrCodeInvalidResourceException "InvalidResourceException" 846// The specified resource can't be found. Check the information you provided 847// in your last request, and try again. 848// 849// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob 850func (c *Snowball) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) { 851 req, out := c.DescribeJobRequest(input) 852 return out, req.Send() 853} 854 855// DescribeJobWithContext is the same as DescribeJob with the addition of 856// the ability to pass a context and additional request options. 857// 858// See DescribeJob for details on how to use this API operation. 859// 860// The context must be non-nil and will be used for request cancellation. If 861// the context is nil a panic will occur. In the future the SDK may create 862// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 863// for more information on using Contexts. 864func (c *Snowball) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) { 865 req, out := c.DescribeJobRequest(input) 866 req.SetContext(ctx) 867 req.ApplyOptions(opts...) 868 return out, req.Send() 869} 870 871const opGetJobManifest = "GetJobManifest" 872 873// GetJobManifestRequest generates a "aws/request.Request" representing the 874// client's request for the GetJobManifest operation. The "output" return 875// value will be populated with the request's response once the request completes 876// successfully. 877// 878// Use "Send" method on the returned Request to send the API call to the service. 879// the "output" return value is not valid until after Send returns without error. 880// 881// See GetJobManifest for more information on using the GetJobManifest 882// API call, and error handling. 883// 884// This method is useful when you want to inject custom logic or configuration 885// into the SDK's request lifecycle. Such as custom headers, or retry logic. 886// 887// 888// // Example sending a request using the GetJobManifestRequest method. 889// req, resp := client.GetJobManifestRequest(params) 890// 891// err := req.Send() 892// if err == nil { // resp is now filled 893// fmt.Println(resp) 894// } 895// 896// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobManifest 897func (c *Snowball) GetJobManifestRequest(input *GetJobManifestInput) (req *request.Request, output *GetJobManifestOutput) { 898 op := &request.Operation{ 899 Name: opGetJobManifest, 900 HTTPMethod: "POST", 901 HTTPPath: "/", 902 } 903 904 if input == nil { 905 input = &GetJobManifestInput{} 906 } 907 908 output = &GetJobManifestOutput{} 909 req = c.newRequest(op, input, output) 910 return 911} 912 913// GetJobManifest API operation for Amazon Import/Export Snowball. 914// 915// Returns a link to an Amazon S3 presigned URL for the manifest file associated 916// with the specified JobId value. You can access the manifest file for up to 917// 60 minutes after this request has been made. To access the manifest file 918// after 60 minutes have passed, you'll have to make another call to the GetJobManifest 919// action. 920// 921// The manifest is an encrypted file that you can download after your job enters 922// the WithCustomer status. The manifest is decrypted by using the UnlockCode 923// code value, when you pass both values to the Snowball through the Snowball 924// client when the client is started for the first time. 925// 926// As a best practice, we recommend that you don't save a copy of an UnlockCode 927// value in the same location as the manifest file for that job. Saving these 928// separately helps prevent unauthorized parties from gaining access to the 929// Snowball associated with that job. 930// 931// The credentials of a given job, including its manifest file and unlock code, 932// expire 90 days after the job is created. 933// 934// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 935// with awserr.Error's Code and Message methods to get detailed information about 936// the error. 937// 938// See the AWS API reference guide for Amazon Import/Export Snowball's 939// API operation GetJobManifest for usage and error information. 940// 941// Returned Error Codes: 942// * ErrCodeInvalidResourceException "InvalidResourceException" 943// The specified resource can't be found. Check the information you provided 944// in your last request, and try again. 945// 946// * ErrCodeInvalidJobStateException "InvalidJobStateException" 947// The action can't be performed because the job's current state doesn't allow 948// that action to be performed. 949// 950// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobManifest 951func (c *Snowball) GetJobManifest(input *GetJobManifestInput) (*GetJobManifestOutput, error) { 952 req, out := c.GetJobManifestRequest(input) 953 return out, req.Send() 954} 955 956// GetJobManifestWithContext is the same as GetJobManifest with the addition of 957// the ability to pass a context and additional request options. 958// 959// See GetJobManifest for details on how to use this API operation. 960// 961// The context must be non-nil and will be used for request cancellation. If 962// the context is nil a panic will occur. In the future the SDK may create 963// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 964// for more information on using Contexts. 965func (c *Snowball) GetJobManifestWithContext(ctx aws.Context, input *GetJobManifestInput, opts ...request.Option) (*GetJobManifestOutput, error) { 966 req, out := c.GetJobManifestRequest(input) 967 req.SetContext(ctx) 968 req.ApplyOptions(opts...) 969 return out, req.Send() 970} 971 972const opGetJobUnlockCode = "GetJobUnlockCode" 973 974// GetJobUnlockCodeRequest generates a "aws/request.Request" representing the 975// client's request for the GetJobUnlockCode operation. The "output" return 976// value will be populated with the request's response once the request completes 977// successfully. 978// 979// Use "Send" method on the returned Request to send the API call to the service. 980// the "output" return value is not valid until after Send returns without error. 981// 982// See GetJobUnlockCode for more information on using the GetJobUnlockCode 983// API call, and error handling. 984// 985// This method is useful when you want to inject custom logic or configuration 986// into the SDK's request lifecycle. Such as custom headers, or retry logic. 987// 988// 989// // Example sending a request using the GetJobUnlockCodeRequest method. 990// req, resp := client.GetJobUnlockCodeRequest(params) 991// 992// err := req.Send() 993// if err == nil { // resp is now filled 994// fmt.Println(resp) 995// } 996// 997// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobUnlockCode 998func (c *Snowball) GetJobUnlockCodeRequest(input *GetJobUnlockCodeInput) (req *request.Request, output *GetJobUnlockCodeOutput) { 999 op := &request.Operation{ 1000 Name: opGetJobUnlockCode, 1001 HTTPMethod: "POST", 1002 HTTPPath: "/", 1003 } 1004 1005 if input == nil { 1006 input = &GetJobUnlockCodeInput{} 1007 } 1008 1009 output = &GetJobUnlockCodeOutput{} 1010 req = c.newRequest(op, input, output) 1011 return 1012} 1013 1014// GetJobUnlockCode API operation for Amazon Import/Export Snowball. 1015// 1016// Returns the UnlockCode code value for the specified job. A particular UnlockCode 1017// value can be accessed for up to 90 days after the associated job has been 1018// created. 1019// 1020// The UnlockCode value is a 29-character code with 25 alphanumeric characters 1021// and 4 hyphens. This code is used to decrypt the manifest file when it is 1022// passed along with the manifest to the Snowball through the Snowball client 1023// when the client is started for the first time. 1024// 1025// As a best practice, we recommend that you don't save a copy of the UnlockCode 1026// in the same location as the manifest file for that job. Saving these separately 1027// helps prevent unauthorized parties from gaining access to the Snowball associated 1028// with that job. 1029// 1030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1031// with awserr.Error's Code and Message methods to get detailed information about 1032// the error. 1033// 1034// See the AWS API reference guide for Amazon Import/Export Snowball's 1035// API operation GetJobUnlockCode for usage and error information. 1036// 1037// Returned Error Codes: 1038// * ErrCodeInvalidResourceException "InvalidResourceException" 1039// The specified resource can't be found. Check the information you provided 1040// in your last request, and try again. 1041// 1042// * ErrCodeInvalidJobStateException "InvalidJobStateException" 1043// The action can't be performed because the job's current state doesn't allow 1044// that action to be performed. 1045// 1046// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobUnlockCode 1047func (c *Snowball) GetJobUnlockCode(input *GetJobUnlockCodeInput) (*GetJobUnlockCodeOutput, error) { 1048 req, out := c.GetJobUnlockCodeRequest(input) 1049 return out, req.Send() 1050} 1051 1052// GetJobUnlockCodeWithContext is the same as GetJobUnlockCode with the addition of 1053// the ability to pass a context and additional request options. 1054// 1055// See GetJobUnlockCode for details on how to use this API operation. 1056// 1057// The context must be non-nil and will be used for request cancellation. If 1058// the context is nil a panic will occur. In the future the SDK may create 1059// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1060// for more information on using Contexts. 1061func (c *Snowball) GetJobUnlockCodeWithContext(ctx aws.Context, input *GetJobUnlockCodeInput, opts ...request.Option) (*GetJobUnlockCodeOutput, error) { 1062 req, out := c.GetJobUnlockCodeRequest(input) 1063 req.SetContext(ctx) 1064 req.ApplyOptions(opts...) 1065 return out, req.Send() 1066} 1067 1068const opGetSnowballUsage = "GetSnowballUsage" 1069 1070// GetSnowballUsageRequest generates a "aws/request.Request" representing the 1071// client's request for the GetSnowballUsage operation. The "output" return 1072// value will be populated with the request's response once the request completes 1073// successfully. 1074// 1075// Use "Send" method on the returned Request to send the API call to the service. 1076// the "output" return value is not valid until after Send returns without error. 1077// 1078// See GetSnowballUsage for more information on using the GetSnowballUsage 1079// API call, and error handling. 1080// 1081// This method is useful when you want to inject custom logic or configuration 1082// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1083// 1084// 1085// // Example sending a request using the GetSnowballUsageRequest method. 1086// req, resp := client.GetSnowballUsageRequest(params) 1087// 1088// err := req.Send() 1089// if err == nil { // resp is now filled 1090// fmt.Println(resp) 1091// } 1092// 1093// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSnowballUsage 1094func (c *Snowball) GetSnowballUsageRequest(input *GetSnowballUsageInput) (req *request.Request, output *GetSnowballUsageOutput) { 1095 op := &request.Operation{ 1096 Name: opGetSnowballUsage, 1097 HTTPMethod: "POST", 1098 HTTPPath: "/", 1099 } 1100 1101 if input == nil { 1102 input = &GetSnowballUsageInput{} 1103 } 1104 1105 output = &GetSnowballUsageOutput{} 1106 req = c.newRequest(op, input, output) 1107 return 1108} 1109 1110// GetSnowballUsage API operation for Amazon Import/Export Snowball. 1111// 1112// Returns information about the Snowball service limit for your account, and 1113// also the number of Snowballs your account has in use. 1114// 1115// The default service limit for the number of Snowballs that you can have at 1116// one time is 1. If you want to increase your service limit, contact AWS Support. 1117// 1118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1119// with awserr.Error's Code and Message methods to get detailed information about 1120// the error. 1121// 1122// See the AWS API reference guide for Amazon Import/Export Snowball's 1123// API operation GetSnowballUsage for usage and error information. 1124// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSnowballUsage 1125func (c *Snowball) GetSnowballUsage(input *GetSnowballUsageInput) (*GetSnowballUsageOutput, error) { 1126 req, out := c.GetSnowballUsageRequest(input) 1127 return out, req.Send() 1128} 1129 1130// GetSnowballUsageWithContext is the same as GetSnowballUsage with the addition of 1131// the ability to pass a context and additional request options. 1132// 1133// See GetSnowballUsage for details on how to use this API operation. 1134// 1135// The context must be non-nil and will be used for request cancellation. If 1136// the context is nil a panic will occur. In the future the SDK may create 1137// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1138// for more information on using Contexts. 1139func (c *Snowball) GetSnowballUsageWithContext(ctx aws.Context, input *GetSnowballUsageInput, opts ...request.Option) (*GetSnowballUsageOutput, error) { 1140 req, out := c.GetSnowballUsageRequest(input) 1141 req.SetContext(ctx) 1142 req.ApplyOptions(opts...) 1143 return out, req.Send() 1144} 1145 1146const opGetSoftwareUpdates = "GetSoftwareUpdates" 1147 1148// GetSoftwareUpdatesRequest generates a "aws/request.Request" representing the 1149// client's request for the GetSoftwareUpdates operation. The "output" return 1150// value will be populated with the request's response once the request completes 1151// successfully. 1152// 1153// Use "Send" method on the returned Request to send the API call to the service. 1154// the "output" return value is not valid until after Send returns without error. 1155// 1156// See GetSoftwareUpdates for more information on using the GetSoftwareUpdates 1157// API call, and error handling. 1158// 1159// This method is useful when you want to inject custom logic or configuration 1160// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1161// 1162// 1163// // Example sending a request using the GetSoftwareUpdatesRequest method. 1164// req, resp := client.GetSoftwareUpdatesRequest(params) 1165// 1166// err := req.Send() 1167// if err == nil { // resp is now filled 1168// fmt.Println(resp) 1169// } 1170// 1171// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSoftwareUpdates 1172func (c *Snowball) GetSoftwareUpdatesRequest(input *GetSoftwareUpdatesInput) (req *request.Request, output *GetSoftwareUpdatesOutput) { 1173 op := &request.Operation{ 1174 Name: opGetSoftwareUpdates, 1175 HTTPMethod: "POST", 1176 HTTPPath: "/", 1177 } 1178 1179 if input == nil { 1180 input = &GetSoftwareUpdatesInput{} 1181 } 1182 1183 output = &GetSoftwareUpdatesOutput{} 1184 req = c.newRequest(op, input, output) 1185 return 1186} 1187 1188// GetSoftwareUpdates API operation for Amazon Import/Export Snowball. 1189// 1190// Returns an Amazon S3 presigned URL for an update file associated with a specified 1191// JobId. 1192// 1193// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1194// with awserr.Error's Code and Message methods to get detailed information about 1195// the error. 1196// 1197// See the AWS API reference guide for Amazon Import/Export Snowball's 1198// API operation GetSoftwareUpdates for usage and error information. 1199// 1200// Returned Error Codes: 1201// * ErrCodeInvalidResourceException "InvalidResourceException" 1202// The specified resource can't be found. Check the information you provided 1203// in your last request, and try again. 1204// 1205// * ErrCodeInvalidJobStateException "InvalidJobStateException" 1206// The action can't be performed because the job's current state doesn't allow 1207// that action to be performed. 1208// 1209// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSoftwareUpdates 1210func (c *Snowball) GetSoftwareUpdates(input *GetSoftwareUpdatesInput) (*GetSoftwareUpdatesOutput, error) { 1211 req, out := c.GetSoftwareUpdatesRequest(input) 1212 return out, req.Send() 1213} 1214 1215// GetSoftwareUpdatesWithContext is the same as GetSoftwareUpdates with the addition of 1216// the ability to pass a context and additional request options. 1217// 1218// See GetSoftwareUpdates for details on how to use this API operation. 1219// 1220// The context must be non-nil and will be used for request cancellation. If 1221// the context is nil a panic will occur. In the future the SDK may create 1222// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1223// for more information on using Contexts. 1224func (c *Snowball) GetSoftwareUpdatesWithContext(ctx aws.Context, input *GetSoftwareUpdatesInput, opts ...request.Option) (*GetSoftwareUpdatesOutput, error) { 1225 req, out := c.GetSoftwareUpdatesRequest(input) 1226 req.SetContext(ctx) 1227 req.ApplyOptions(opts...) 1228 return out, req.Send() 1229} 1230 1231const opListClusterJobs = "ListClusterJobs" 1232 1233// ListClusterJobsRequest generates a "aws/request.Request" representing the 1234// client's request for the ListClusterJobs operation. The "output" return 1235// value will be populated with the request's response once the request completes 1236// successfully. 1237// 1238// Use "Send" method on the returned Request to send the API call to the service. 1239// the "output" return value is not valid until after Send returns without error. 1240// 1241// See ListClusterJobs for more information on using the ListClusterJobs 1242// API call, and error handling. 1243// 1244// This method is useful when you want to inject custom logic or configuration 1245// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1246// 1247// 1248// // Example sending a request using the ListClusterJobsRequest method. 1249// req, resp := client.ListClusterJobsRequest(params) 1250// 1251// err := req.Send() 1252// if err == nil { // resp is now filled 1253// fmt.Println(resp) 1254// } 1255// 1256// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusterJobs 1257func (c *Snowball) ListClusterJobsRequest(input *ListClusterJobsInput) (req *request.Request, output *ListClusterJobsOutput) { 1258 op := &request.Operation{ 1259 Name: opListClusterJobs, 1260 HTTPMethod: "POST", 1261 HTTPPath: "/", 1262 } 1263 1264 if input == nil { 1265 input = &ListClusterJobsInput{} 1266 } 1267 1268 output = &ListClusterJobsOutput{} 1269 req = c.newRequest(op, input, output) 1270 return 1271} 1272 1273// ListClusterJobs API operation for Amazon Import/Export Snowball. 1274// 1275// Returns an array of JobListEntry objects of the specified length. Each JobListEntry 1276// object is for a job in the specified cluster and contains a job's state, 1277// a job's ID, and other information. 1278// 1279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1280// with awserr.Error's Code and Message methods to get detailed information about 1281// the error. 1282// 1283// See the AWS API reference guide for Amazon Import/Export Snowball's 1284// API operation ListClusterJobs for usage and error information. 1285// 1286// Returned Error Codes: 1287// * ErrCodeInvalidResourceException "InvalidResourceException" 1288// The specified resource can't be found. Check the information you provided 1289// in your last request, and try again. 1290// 1291// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 1292// The NextToken string was altered unexpectedly, and the operation has stopped. 1293// Run the operation without changing the NextToken string, and try again. 1294// 1295// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusterJobs 1296func (c *Snowball) ListClusterJobs(input *ListClusterJobsInput) (*ListClusterJobsOutput, error) { 1297 req, out := c.ListClusterJobsRequest(input) 1298 return out, req.Send() 1299} 1300 1301// ListClusterJobsWithContext is the same as ListClusterJobs with the addition of 1302// the ability to pass a context and additional request options. 1303// 1304// See ListClusterJobs for details on how to use this API operation. 1305// 1306// The context must be non-nil and will be used for request cancellation. If 1307// the context is nil a panic will occur. In the future the SDK may create 1308// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1309// for more information on using Contexts. 1310func (c *Snowball) ListClusterJobsWithContext(ctx aws.Context, input *ListClusterJobsInput, opts ...request.Option) (*ListClusterJobsOutput, error) { 1311 req, out := c.ListClusterJobsRequest(input) 1312 req.SetContext(ctx) 1313 req.ApplyOptions(opts...) 1314 return out, req.Send() 1315} 1316 1317const opListClusters = "ListClusters" 1318 1319// ListClustersRequest generates a "aws/request.Request" representing the 1320// client's request for the ListClusters operation. The "output" return 1321// value will be populated with the request's response once the request completes 1322// successfully. 1323// 1324// Use "Send" method on the returned Request to send the API call to the service. 1325// the "output" return value is not valid until after Send returns without error. 1326// 1327// See ListClusters for more information on using the ListClusters 1328// API call, and error handling. 1329// 1330// This method is useful when you want to inject custom logic or configuration 1331// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1332// 1333// 1334// // Example sending a request using the ListClustersRequest method. 1335// req, resp := client.ListClustersRequest(params) 1336// 1337// err := req.Send() 1338// if err == nil { // resp is now filled 1339// fmt.Println(resp) 1340// } 1341// 1342// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusters 1343func (c *Snowball) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { 1344 op := &request.Operation{ 1345 Name: opListClusters, 1346 HTTPMethod: "POST", 1347 HTTPPath: "/", 1348 } 1349 1350 if input == nil { 1351 input = &ListClustersInput{} 1352 } 1353 1354 output = &ListClustersOutput{} 1355 req = c.newRequest(op, input, output) 1356 return 1357} 1358 1359// ListClusters API operation for Amazon Import/Export Snowball. 1360// 1361// Returns an array of ClusterListEntry objects of the specified length. Each 1362// ClusterListEntry object contains a cluster's state, a cluster's ID, and other 1363// important status information. 1364// 1365// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1366// with awserr.Error's Code and Message methods to get detailed information about 1367// the error. 1368// 1369// See the AWS API reference guide for Amazon Import/Export Snowball's 1370// API operation ListClusters for usage and error information. 1371// 1372// Returned Error Codes: 1373// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 1374// The NextToken string was altered unexpectedly, and the operation has stopped. 1375// Run the operation without changing the NextToken string, and try again. 1376// 1377// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusters 1378func (c *Snowball) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { 1379 req, out := c.ListClustersRequest(input) 1380 return out, req.Send() 1381} 1382 1383// ListClustersWithContext is the same as ListClusters with the addition of 1384// the ability to pass a context and additional request options. 1385// 1386// See ListClusters for details on how to use this API operation. 1387// 1388// The context must be non-nil and will be used for request cancellation. If 1389// the context is nil a panic will occur. In the future the SDK may create 1390// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1391// for more information on using Contexts. 1392func (c *Snowball) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { 1393 req, out := c.ListClustersRequest(input) 1394 req.SetContext(ctx) 1395 req.ApplyOptions(opts...) 1396 return out, req.Send() 1397} 1398 1399const opListCompatibleImages = "ListCompatibleImages" 1400 1401// ListCompatibleImagesRequest generates a "aws/request.Request" representing the 1402// client's request for the ListCompatibleImages operation. The "output" return 1403// value will be populated with the request's response once the request completes 1404// successfully. 1405// 1406// Use "Send" method on the returned Request to send the API call to the service. 1407// the "output" return value is not valid until after Send returns without error. 1408// 1409// See ListCompatibleImages for more information on using the ListCompatibleImages 1410// API call, and error handling. 1411// 1412// This method is useful when you want to inject custom logic or configuration 1413// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1414// 1415// 1416// // Example sending a request using the ListCompatibleImagesRequest method. 1417// req, resp := client.ListCompatibleImagesRequest(params) 1418// 1419// err := req.Send() 1420// if err == nil { // resp is now filled 1421// fmt.Println(resp) 1422// } 1423// 1424// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListCompatibleImages 1425func (c *Snowball) ListCompatibleImagesRequest(input *ListCompatibleImagesInput) (req *request.Request, output *ListCompatibleImagesOutput) { 1426 op := &request.Operation{ 1427 Name: opListCompatibleImages, 1428 HTTPMethod: "POST", 1429 HTTPPath: "/", 1430 } 1431 1432 if input == nil { 1433 input = &ListCompatibleImagesInput{} 1434 } 1435 1436 output = &ListCompatibleImagesOutput{} 1437 req = c.newRequest(op, input, output) 1438 return 1439} 1440 1441// ListCompatibleImages API operation for Amazon Import/Export Snowball. 1442// 1443// This action returns a list of the different Amazon EC2 Amazon Machine Images 1444// (AMIs) that are owned by your AWS account that would be supported for use 1445// on a Snowball Edge device. Currently, supported AMIs are based on the CentOS 1446// 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 1447// 16.04 LTS - Xenial (HVM) images, available on the AWS Marketplace. 1448// 1449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1450// with awserr.Error's Code and Message methods to get detailed information about 1451// the error. 1452// 1453// See the AWS API reference guide for Amazon Import/Export Snowball's 1454// API operation ListCompatibleImages for usage and error information. 1455// 1456// Returned Error Codes: 1457// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 1458// The NextToken string was altered unexpectedly, and the operation has stopped. 1459// Run the operation without changing the NextToken string, and try again. 1460// 1461// * ErrCodeEc2RequestFailedException "Ec2RequestFailedException" 1462// Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted 1463// action. 1464// 1465// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListCompatibleImages 1466func (c *Snowball) ListCompatibleImages(input *ListCompatibleImagesInput) (*ListCompatibleImagesOutput, error) { 1467 req, out := c.ListCompatibleImagesRequest(input) 1468 return out, req.Send() 1469} 1470 1471// ListCompatibleImagesWithContext is the same as ListCompatibleImages with the addition of 1472// the ability to pass a context and additional request options. 1473// 1474// See ListCompatibleImages for details on how to use this API operation. 1475// 1476// The context must be non-nil and will be used for request cancellation. If 1477// the context is nil a panic will occur. In the future the SDK may create 1478// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1479// for more information on using Contexts. 1480func (c *Snowball) ListCompatibleImagesWithContext(ctx aws.Context, input *ListCompatibleImagesInput, opts ...request.Option) (*ListCompatibleImagesOutput, error) { 1481 req, out := c.ListCompatibleImagesRequest(input) 1482 req.SetContext(ctx) 1483 req.ApplyOptions(opts...) 1484 return out, req.Send() 1485} 1486 1487const opListJobs = "ListJobs" 1488 1489// ListJobsRequest generates a "aws/request.Request" representing the 1490// client's request for the ListJobs operation. The "output" return 1491// value will be populated with the request's response once the request completes 1492// successfully. 1493// 1494// Use "Send" method on the returned Request to send the API call to the service. 1495// the "output" return value is not valid until after Send returns without error. 1496// 1497// See ListJobs for more information on using the ListJobs 1498// API call, and error handling. 1499// 1500// This method is useful when you want to inject custom logic or configuration 1501// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1502// 1503// 1504// // Example sending a request using the ListJobsRequest method. 1505// req, resp := client.ListJobsRequest(params) 1506// 1507// err := req.Send() 1508// if err == nil { // resp is now filled 1509// fmt.Println(resp) 1510// } 1511// 1512// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListJobs 1513func (c *Snowball) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) { 1514 op := &request.Operation{ 1515 Name: opListJobs, 1516 HTTPMethod: "POST", 1517 HTTPPath: "/", 1518 Paginator: &request.Paginator{ 1519 InputTokens: []string{"NextToken"}, 1520 OutputTokens: []string{"NextToken"}, 1521 LimitToken: "MaxResults", 1522 TruncationToken: "", 1523 }, 1524 } 1525 1526 if input == nil { 1527 input = &ListJobsInput{} 1528 } 1529 1530 output = &ListJobsOutput{} 1531 req = c.newRequest(op, input, output) 1532 return 1533} 1534 1535// ListJobs API operation for Amazon Import/Export Snowball. 1536// 1537// Returns an array of JobListEntry objects of the specified length. Each JobListEntry 1538// object contains a job's state, a job's ID, and a value that indicates whether 1539// the job is a job part, in the case of export jobs. Calling this API action 1540// in one of the US regions will return jobs from the list of all jobs associated 1541// with this account in all US regions. 1542// 1543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1544// with awserr.Error's Code and Message methods to get detailed information about 1545// the error. 1546// 1547// See the AWS API reference guide for Amazon Import/Export Snowball's 1548// API operation ListJobs for usage and error information. 1549// 1550// Returned Error Codes: 1551// * ErrCodeInvalidNextTokenException "InvalidNextTokenException" 1552// The NextToken string was altered unexpectedly, and the operation has stopped. 1553// Run the operation without changing the NextToken string, and try again. 1554// 1555// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListJobs 1556func (c *Snowball) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) { 1557 req, out := c.ListJobsRequest(input) 1558 return out, req.Send() 1559} 1560 1561// ListJobsWithContext is the same as ListJobs with the addition of 1562// the ability to pass a context and additional request options. 1563// 1564// See ListJobs for details on how to use this API operation. 1565// 1566// The context must be non-nil and will be used for request cancellation. If 1567// the context is nil a panic will occur. In the future the SDK may create 1568// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1569// for more information on using Contexts. 1570func (c *Snowball) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) { 1571 req, out := c.ListJobsRequest(input) 1572 req.SetContext(ctx) 1573 req.ApplyOptions(opts...) 1574 return out, req.Send() 1575} 1576 1577// ListJobsPages iterates over the pages of a ListJobs operation, 1578// calling the "fn" function with the response data for each page. To stop 1579// iterating, return false from the fn function. 1580// 1581// See ListJobs method for more information on how to use this operation. 1582// 1583// Note: This operation can generate multiple requests to a service. 1584// 1585// // Example iterating over at most 3 pages of a ListJobs operation. 1586// pageNum := 0 1587// err := client.ListJobsPages(params, 1588// func(page *snowball.ListJobsOutput, lastPage bool) bool { 1589// pageNum++ 1590// fmt.Println(page) 1591// return pageNum <= 3 1592// }) 1593// 1594func (c *Snowball) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { 1595 return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) 1596} 1597 1598// ListJobsPagesWithContext same as ListJobsPages except 1599// it takes a Context and allows setting request options on the pages. 1600// 1601// The context must be non-nil and will be used for request cancellation. If 1602// the context is nil a panic will occur. In the future the SDK may create 1603// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1604// for more information on using Contexts. 1605func (c *Snowball) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { 1606 p := request.Pagination{ 1607 NewRequest: func() (*request.Request, error) { 1608 var inCpy *ListJobsInput 1609 if input != nil { 1610 tmp := *input 1611 inCpy = &tmp 1612 } 1613 req, _ := c.ListJobsRequest(inCpy) 1614 req.SetContext(ctx) 1615 req.ApplyOptions(opts...) 1616 return req, nil 1617 }, 1618 } 1619 1620 for p.Next() { 1621 if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { 1622 break 1623 } 1624 } 1625 1626 return p.Err() 1627} 1628 1629const opUpdateCluster = "UpdateCluster" 1630 1631// UpdateClusterRequest generates a "aws/request.Request" representing the 1632// client's request for the UpdateCluster operation. The "output" return 1633// value will be populated with the request's response once the request completes 1634// successfully. 1635// 1636// Use "Send" method on the returned Request to send the API call to the service. 1637// the "output" return value is not valid until after Send returns without error. 1638// 1639// See UpdateCluster for more information on using the UpdateCluster 1640// API call, and error handling. 1641// 1642// This method is useful when you want to inject custom logic or configuration 1643// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1644// 1645// 1646// // Example sending a request using the UpdateClusterRequest method. 1647// req, resp := client.UpdateClusterRequest(params) 1648// 1649// err := req.Send() 1650// if err == nil { // resp is now filled 1651// fmt.Println(resp) 1652// } 1653// 1654// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateCluster 1655func (c *Snowball) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) { 1656 op := &request.Operation{ 1657 Name: opUpdateCluster, 1658 HTTPMethod: "POST", 1659 HTTPPath: "/", 1660 } 1661 1662 if input == nil { 1663 input = &UpdateClusterInput{} 1664 } 1665 1666 output = &UpdateClusterOutput{} 1667 req = c.newRequest(op, input, output) 1668 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1669 return 1670} 1671 1672// UpdateCluster API operation for Amazon Import/Export Snowball. 1673// 1674// While a cluster's ClusterState value is in the AwaitingQuorum state, you 1675// can update some of the information associated with a cluster. Once the cluster 1676// changes to a different job state, usually 60 minutes after the cluster being 1677// created, this action is no longer available. 1678// 1679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1680// with awserr.Error's Code and Message methods to get detailed information about 1681// the error. 1682// 1683// See the AWS API reference guide for Amazon Import/Export Snowball's 1684// API operation UpdateCluster for usage and error information. 1685// 1686// Returned Error Codes: 1687// * ErrCodeInvalidResourceException "InvalidResourceException" 1688// The specified resource can't be found. Check the information you provided 1689// in your last request, and try again. 1690// 1691// * ErrCodeInvalidJobStateException "InvalidJobStateException" 1692// The action can't be performed because the job's current state doesn't allow 1693// that action to be performed. 1694// 1695// * ErrCodeKMSRequestFailedException "KMSRequestFailedException" 1696// The provided AWS Key Management Service key lacks the permissions to perform 1697// the specified CreateJob or UpdateJob action. 1698// 1699// * ErrCodeInvalidInputCombinationException "InvalidInputCombinationException" 1700// Job or cluster creation failed. One ore more inputs were invalid. Confirm 1701// that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType, 1702// and try again. 1703// 1704// * ErrCodeEc2RequestFailedException "Ec2RequestFailedException" 1705// Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted 1706// action. 1707// 1708// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateCluster 1709func (c *Snowball) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) { 1710 req, out := c.UpdateClusterRequest(input) 1711 return out, req.Send() 1712} 1713 1714// UpdateClusterWithContext is the same as UpdateCluster with the addition of 1715// the ability to pass a context and additional request options. 1716// 1717// See UpdateCluster for details on how to use this API operation. 1718// 1719// The context must be non-nil and will be used for request cancellation. If 1720// the context is nil a panic will occur. In the future the SDK may create 1721// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1722// for more information on using Contexts. 1723func (c *Snowball) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) { 1724 req, out := c.UpdateClusterRequest(input) 1725 req.SetContext(ctx) 1726 req.ApplyOptions(opts...) 1727 return out, req.Send() 1728} 1729 1730const opUpdateJob = "UpdateJob" 1731 1732// UpdateJobRequest generates a "aws/request.Request" representing the 1733// client's request for the UpdateJob operation. The "output" return 1734// value will be populated with the request's response once the request completes 1735// successfully. 1736// 1737// Use "Send" method on the returned Request to send the API call to the service. 1738// the "output" return value is not valid until after Send returns without error. 1739// 1740// See UpdateJob for more information on using the UpdateJob 1741// API call, and error handling. 1742// 1743// This method is useful when you want to inject custom logic or configuration 1744// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1745// 1746// 1747// // Example sending a request using the UpdateJobRequest method. 1748// req, resp := client.UpdateJobRequest(params) 1749// 1750// err := req.Send() 1751// if err == nil { // resp is now filled 1752// fmt.Println(resp) 1753// } 1754// 1755// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJob 1756func (c *Snowball) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, output *UpdateJobOutput) { 1757 op := &request.Operation{ 1758 Name: opUpdateJob, 1759 HTTPMethod: "POST", 1760 HTTPPath: "/", 1761 } 1762 1763 if input == nil { 1764 input = &UpdateJobInput{} 1765 } 1766 1767 output = &UpdateJobOutput{} 1768 req = c.newRequest(op, input, output) 1769 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1770 return 1771} 1772 1773// UpdateJob API operation for Amazon Import/Export Snowball. 1774// 1775// While a job's JobState value is New, you can update some of the information 1776// associated with a job. Once the job changes to a different job state, usually 1777// within 60 minutes of the job being created, this action is no longer available. 1778// 1779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1780// with awserr.Error's Code and Message methods to get detailed information about 1781// the error. 1782// 1783// See the AWS API reference guide for Amazon Import/Export Snowball's 1784// API operation UpdateJob for usage and error information. 1785// 1786// Returned Error Codes: 1787// * ErrCodeInvalidResourceException "InvalidResourceException" 1788// The specified resource can't be found. Check the information you provided 1789// in your last request, and try again. 1790// 1791// * ErrCodeInvalidJobStateException "InvalidJobStateException" 1792// The action can't be performed because the job's current state doesn't allow 1793// that action to be performed. 1794// 1795// * ErrCodeKMSRequestFailedException "KMSRequestFailedException" 1796// The provided AWS Key Management Service key lacks the permissions to perform 1797// the specified CreateJob or UpdateJob action. 1798// 1799// * ErrCodeInvalidInputCombinationException "InvalidInputCombinationException" 1800// Job or cluster creation failed. One ore more inputs were invalid. Confirm 1801// that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType, 1802// and try again. 1803// 1804// * ErrCodeClusterLimitExceededException "ClusterLimitExceededException" 1805// Job creation failed. Currently, clusters support five nodes. If you have 1806// less than five nodes for your cluster and you have more nodes to create for 1807// this cluster, try again and create jobs until your cluster has exactly five 1808// notes. 1809// 1810// * ErrCodeEc2RequestFailedException "Ec2RequestFailedException" 1811// Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted 1812// action. 1813// 1814// See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJob 1815func (c *Snowball) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) { 1816 req, out := c.UpdateJobRequest(input) 1817 return out, req.Send() 1818} 1819 1820// UpdateJobWithContext is the same as UpdateJob with the addition of 1821// the ability to pass a context and additional request options. 1822// 1823// See UpdateJob for details on how to use this API operation. 1824// 1825// The context must be non-nil and will be used for request cancellation. If 1826// the context is nil a panic will occur. In the future the SDK may create 1827// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1828// for more information on using Contexts. 1829func (c *Snowball) UpdateJobWithContext(ctx aws.Context, input *UpdateJobInput, opts ...request.Option) (*UpdateJobOutput, error) { 1830 req, out := c.UpdateJobRequest(input) 1831 req.SetContext(ctx) 1832 req.ApplyOptions(opts...) 1833 return out, req.Send() 1834} 1835 1836// The address that you want the Snowball or Snowballs associated with a specific 1837// job to be shipped to. Addresses are validated at the time of creation. The 1838// address you provide must be located within the serviceable area of your region. 1839// Although no individual elements of the Address are required, if the address 1840// is invalid or unsupported, then an exception is thrown. 1841type Address struct { 1842 _ struct{} `type:"structure"` 1843 1844 // The unique ID for an address. 1845 AddressId *string `min:"40" type:"string"` 1846 1847 // The city in an address that a Snowball is to be delivered to. 1848 City *string `min:"1" type:"string"` 1849 1850 // The name of the company to receive a Snowball at an address. 1851 Company *string `min:"1" type:"string"` 1852 1853 // The country in an address that a Snowball is to be delivered to. 1854 Country *string `min:"1" type:"string"` 1855 1856 // If the address you are creating is a primary address, then set this option 1857 // to true. This field is not supported in most regions. 1858 IsRestricted *bool `type:"boolean"` 1859 1860 // This field is no longer used and the value is ignored. 1861 Landmark *string `min:"1" type:"string"` 1862 1863 // The name of a person to receive a Snowball at an address. 1864 Name *string `min:"1" type:"string"` 1865 1866 // The phone number associated with an address that a Snowball is to be delivered 1867 // to. 1868 PhoneNumber *string `min:"1" type:"string"` 1869 1870 // The postal code in an address that a Snowball is to be delivered to. 1871 PostalCode *string `min:"1" type:"string"` 1872 1873 // This field is no longer used and the value is ignored. 1874 PrefectureOrDistrict *string `min:"1" type:"string"` 1875 1876 // The state or province in an address that a Snowball is to be delivered to. 1877 StateOrProvince *string `min:"1" type:"string"` 1878 1879 // The first line in a street address that a Snowball is to be delivered to. 1880 Street1 *string `min:"1" type:"string"` 1881 1882 // The second line in a street address that a Snowball is to be delivered to. 1883 Street2 *string `min:"1" type:"string"` 1884 1885 // The third line in a street address that a Snowball is to be delivered to. 1886 Street3 *string `min:"1" type:"string"` 1887} 1888 1889// String returns the string representation 1890func (s Address) String() string { 1891 return awsutil.Prettify(s) 1892} 1893 1894// GoString returns the string representation 1895func (s Address) GoString() string { 1896 return s.String() 1897} 1898 1899// Validate inspects the fields of the type to determine if they are valid. 1900func (s *Address) Validate() error { 1901 invalidParams := request.ErrInvalidParams{Context: "Address"} 1902 if s.AddressId != nil && len(*s.AddressId) < 40 { 1903 invalidParams.Add(request.NewErrParamMinLen("AddressId", 40)) 1904 } 1905 if s.City != nil && len(*s.City) < 1 { 1906 invalidParams.Add(request.NewErrParamMinLen("City", 1)) 1907 } 1908 if s.Company != nil && len(*s.Company) < 1 { 1909 invalidParams.Add(request.NewErrParamMinLen("Company", 1)) 1910 } 1911 if s.Country != nil && len(*s.Country) < 1 { 1912 invalidParams.Add(request.NewErrParamMinLen("Country", 1)) 1913 } 1914 if s.Landmark != nil && len(*s.Landmark) < 1 { 1915 invalidParams.Add(request.NewErrParamMinLen("Landmark", 1)) 1916 } 1917 if s.Name != nil && len(*s.Name) < 1 { 1918 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 1919 } 1920 if s.PhoneNumber != nil && len(*s.PhoneNumber) < 1 { 1921 invalidParams.Add(request.NewErrParamMinLen("PhoneNumber", 1)) 1922 } 1923 if s.PostalCode != nil && len(*s.PostalCode) < 1 { 1924 invalidParams.Add(request.NewErrParamMinLen("PostalCode", 1)) 1925 } 1926 if s.PrefectureOrDistrict != nil && len(*s.PrefectureOrDistrict) < 1 { 1927 invalidParams.Add(request.NewErrParamMinLen("PrefectureOrDistrict", 1)) 1928 } 1929 if s.StateOrProvince != nil && len(*s.StateOrProvince) < 1 { 1930 invalidParams.Add(request.NewErrParamMinLen("StateOrProvince", 1)) 1931 } 1932 if s.Street1 != nil && len(*s.Street1) < 1 { 1933 invalidParams.Add(request.NewErrParamMinLen("Street1", 1)) 1934 } 1935 if s.Street2 != nil && len(*s.Street2) < 1 { 1936 invalidParams.Add(request.NewErrParamMinLen("Street2", 1)) 1937 } 1938 if s.Street3 != nil && len(*s.Street3) < 1 { 1939 invalidParams.Add(request.NewErrParamMinLen("Street3", 1)) 1940 } 1941 1942 if invalidParams.Len() > 0 { 1943 return invalidParams 1944 } 1945 return nil 1946} 1947 1948// SetAddressId sets the AddressId field's value. 1949func (s *Address) SetAddressId(v string) *Address { 1950 s.AddressId = &v 1951 return s 1952} 1953 1954// SetCity sets the City field's value. 1955func (s *Address) SetCity(v string) *Address { 1956 s.City = &v 1957 return s 1958} 1959 1960// SetCompany sets the Company field's value. 1961func (s *Address) SetCompany(v string) *Address { 1962 s.Company = &v 1963 return s 1964} 1965 1966// SetCountry sets the Country field's value. 1967func (s *Address) SetCountry(v string) *Address { 1968 s.Country = &v 1969 return s 1970} 1971 1972// SetIsRestricted sets the IsRestricted field's value. 1973func (s *Address) SetIsRestricted(v bool) *Address { 1974 s.IsRestricted = &v 1975 return s 1976} 1977 1978// SetLandmark sets the Landmark field's value. 1979func (s *Address) SetLandmark(v string) *Address { 1980 s.Landmark = &v 1981 return s 1982} 1983 1984// SetName sets the Name field's value. 1985func (s *Address) SetName(v string) *Address { 1986 s.Name = &v 1987 return s 1988} 1989 1990// SetPhoneNumber sets the PhoneNumber field's value. 1991func (s *Address) SetPhoneNumber(v string) *Address { 1992 s.PhoneNumber = &v 1993 return s 1994} 1995 1996// SetPostalCode sets the PostalCode field's value. 1997func (s *Address) SetPostalCode(v string) *Address { 1998 s.PostalCode = &v 1999 return s 2000} 2001 2002// SetPrefectureOrDistrict sets the PrefectureOrDistrict field's value. 2003func (s *Address) SetPrefectureOrDistrict(v string) *Address { 2004 s.PrefectureOrDistrict = &v 2005 return s 2006} 2007 2008// SetStateOrProvince sets the StateOrProvince field's value. 2009func (s *Address) SetStateOrProvince(v string) *Address { 2010 s.StateOrProvince = &v 2011 return s 2012} 2013 2014// SetStreet1 sets the Street1 field's value. 2015func (s *Address) SetStreet1(v string) *Address { 2016 s.Street1 = &v 2017 return s 2018} 2019 2020// SetStreet2 sets the Street2 field's value. 2021func (s *Address) SetStreet2(v string) *Address { 2022 s.Street2 = &v 2023 return s 2024} 2025 2026// SetStreet3 sets the Street3 field's value. 2027func (s *Address) SetStreet3(v string) *Address { 2028 s.Street3 = &v 2029 return s 2030} 2031 2032type CancelClusterInput struct { 2033 _ struct{} `type:"structure"` 2034 2035 // The 39-character ID for the cluster that you want to cancel, for example 2036 // CID123e4567-e89b-12d3-a456-426655440000. 2037 // 2038 // ClusterId is a required field 2039 ClusterId *string `min:"39" type:"string" required:"true"` 2040} 2041 2042// String returns the string representation 2043func (s CancelClusterInput) String() string { 2044 return awsutil.Prettify(s) 2045} 2046 2047// GoString returns the string representation 2048func (s CancelClusterInput) GoString() string { 2049 return s.String() 2050} 2051 2052// Validate inspects the fields of the type to determine if they are valid. 2053func (s *CancelClusterInput) Validate() error { 2054 invalidParams := request.ErrInvalidParams{Context: "CancelClusterInput"} 2055 if s.ClusterId == nil { 2056 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 2057 } 2058 if s.ClusterId != nil && len(*s.ClusterId) < 39 { 2059 invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39)) 2060 } 2061 2062 if invalidParams.Len() > 0 { 2063 return invalidParams 2064 } 2065 return nil 2066} 2067 2068// SetClusterId sets the ClusterId field's value. 2069func (s *CancelClusterInput) SetClusterId(v string) *CancelClusterInput { 2070 s.ClusterId = &v 2071 return s 2072} 2073 2074type CancelClusterOutput struct { 2075 _ struct{} `type:"structure"` 2076} 2077 2078// String returns the string representation 2079func (s CancelClusterOutput) String() string { 2080 return awsutil.Prettify(s) 2081} 2082 2083// GoString returns the string representation 2084func (s CancelClusterOutput) GoString() string { 2085 return s.String() 2086} 2087 2088type CancelJobInput struct { 2089 _ struct{} `type:"structure"` 2090 2091 // The 39-character job ID for the job that you want to cancel, for example 2092 // JID123e4567-e89b-12d3-a456-426655440000. 2093 // 2094 // JobId is a required field 2095 JobId *string `min:"39" type:"string" required:"true"` 2096} 2097 2098// String returns the string representation 2099func (s CancelJobInput) String() string { 2100 return awsutil.Prettify(s) 2101} 2102 2103// GoString returns the string representation 2104func (s CancelJobInput) GoString() string { 2105 return s.String() 2106} 2107 2108// Validate inspects the fields of the type to determine if they are valid. 2109func (s *CancelJobInput) Validate() error { 2110 invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"} 2111 if s.JobId == nil { 2112 invalidParams.Add(request.NewErrParamRequired("JobId")) 2113 } 2114 if s.JobId != nil && len(*s.JobId) < 39 { 2115 invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) 2116 } 2117 2118 if invalidParams.Len() > 0 { 2119 return invalidParams 2120 } 2121 return nil 2122} 2123 2124// SetJobId sets the JobId field's value. 2125func (s *CancelJobInput) SetJobId(v string) *CancelJobInput { 2126 s.JobId = &v 2127 return s 2128} 2129 2130type CancelJobOutput struct { 2131 _ struct{} `type:"structure"` 2132} 2133 2134// String returns the string representation 2135func (s CancelJobOutput) String() string { 2136 return awsutil.Prettify(s) 2137} 2138 2139// GoString returns the string representation 2140func (s CancelJobOutput) GoString() string { 2141 return s.String() 2142} 2143 2144// Contains a cluster's state, a cluster's ID, and other important information. 2145type ClusterListEntry struct { 2146 _ struct{} `type:"structure"` 2147 2148 // The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000. 2149 ClusterId *string `min:"1" type:"string"` 2150 2151 // The current state of this cluster. For information about the state of a specific 2152 // node, see JobListEntry$JobState. 2153 ClusterState *string `type:"string" enum:"ClusterState"` 2154 2155 // The creation date for this cluster. 2156 CreationDate *time.Time `type:"timestamp"` 2157 2158 // Defines an optional description of the cluster, for example Environmental 2159 // Data Cluster-01. 2160 Description *string `min:"1" type:"string"` 2161} 2162 2163// String returns the string representation 2164func (s ClusterListEntry) String() string { 2165 return awsutil.Prettify(s) 2166} 2167 2168// GoString returns the string representation 2169func (s ClusterListEntry) GoString() string { 2170 return s.String() 2171} 2172 2173// SetClusterId sets the ClusterId field's value. 2174func (s *ClusterListEntry) SetClusterId(v string) *ClusterListEntry { 2175 s.ClusterId = &v 2176 return s 2177} 2178 2179// SetClusterState sets the ClusterState field's value. 2180func (s *ClusterListEntry) SetClusterState(v string) *ClusterListEntry { 2181 s.ClusterState = &v 2182 return s 2183} 2184 2185// SetCreationDate sets the CreationDate field's value. 2186func (s *ClusterListEntry) SetCreationDate(v time.Time) *ClusterListEntry { 2187 s.CreationDate = &v 2188 return s 2189} 2190 2191// SetDescription sets the Description field's value. 2192func (s *ClusterListEntry) SetDescription(v string) *ClusterListEntry { 2193 s.Description = &v 2194 return s 2195} 2196 2197// Contains metadata about a specific cluster. 2198type ClusterMetadata struct { 2199 _ struct{} `type:"structure"` 2200 2201 // The automatically generated ID for a specific address. 2202 AddressId *string `min:"40" type:"string"` 2203 2204 // The automatically generated ID for a cluster. 2205 ClusterId *string `min:"1" type:"string"` 2206 2207 // The current status of the cluster. 2208 ClusterState *string `type:"string" enum:"ClusterState"` 2209 2210 // The creation date for this cluster. 2211 CreationDate *time.Time `type:"timestamp"` 2212 2213 // The optional description of the cluster. 2214 Description *string `min:"1" type:"string"` 2215 2216 // The ID of the address that you want a cluster shipped to, after it will be 2217 // shipped to its primary address. This field is not supported in most regions. 2218 ForwardingAddressId *string `min:"40" type:"string"` 2219 2220 // The type of job for this cluster. Currently, the only job type supported 2221 // for clusters is LOCAL_USE. 2222 JobType *string `type:"string" enum:"JobType"` 2223 2224 // The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This 2225 // ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 2226 // API action in AWS Key Management Service (AWS KMS). 2227 KmsKeyARN *string `type:"string"` 2228 2229 // The Amazon Simple Notification Service (Amazon SNS) notification settings 2230 // for this cluster. 2231 Notification *Notification `type:"structure"` 2232 2233 // The arrays of JobResource objects that can include updated S3Resource objects 2234 // or LambdaResource objects. 2235 Resources *JobResource `type:"structure"` 2236 2237 // The role ARN associated with this cluster. This ARN was created using the 2238 // CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) 2239 // API action in AWS Identity and Access Management (IAM). 2240 RoleARN *string `type:"string"` 2241 2242 // The shipping speed for each node in this cluster. This speed doesn't dictate 2243 // how soon you'll get each Snowball Edge device, rather it represents how quickly 2244 // each device moves to its destination while in transit. Regional shipping 2245 // speeds are as follows: 2246 // 2247 // * In Australia, you have access to express shipping. Typically, devices 2248 // shipped express are delivered in about a day. 2249 // 2250 // * In the European Union (EU), you have access to express shipping. Typically, 2251 // Snowball Edges shipped express are delivered in about a day. In addition, 2252 // most countries in the EU have access to standard shipping, which typically 2253 // takes less than a week, one way. 2254 // 2255 // * In India, Snowball Edges are delivered in one to seven days. 2256 // 2257 // * In the US, you have access to one-day shipping and two-day shipping. 2258 ShippingOption *string `type:"string" enum:"ShippingOption"` 2259 2260 // The type of AWS Snowball device to use for this cluster. Currently, the only 2261 // supported device type for cluster jobs is EDGE. 2262 SnowballType *string `type:"string" enum:"Type"` 2263} 2264 2265// String returns the string representation 2266func (s ClusterMetadata) String() string { 2267 return awsutil.Prettify(s) 2268} 2269 2270// GoString returns the string representation 2271func (s ClusterMetadata) GoString() string { 2272 return s.String() 2273} 2274 2275// SetAddressId sets the AddressId field's value. 2276func (s *ClusterMetadata) SetAddressId(v string) *ClusterMetadata { 2277 s.AddressId = &v 2278 return s 2279} 2280 2281// SetClusterId sets the ClusterId field's value. 2282func (s *ClusterMetadata) SetClusterId(v string) *ClusterMetadata { 2283 s.ClusterId = &v 2284 return s 2285} 2286 2287// SetClusterState sets the ClusterState field's value. 2288func (s *ClusterMetadata) SetClusterState(v string) *ClusterMetadata { 2289 s.ClusterState = &v 2290 return s 2291} 2292 2293// SetCreationDate sets the CreationDate field's value. 2294func (s *ClusterMetadata) SetCreationDate(v time.Time) *ClusterMetadata { 2295 s.CreationDate = &v 2296 return s 2297} 2298 2299// SetDescription sets the Description field's value. 2300func (s *ClusterMetadata) SetDescription(v string) *ClusterMetadata { 2301 s.Description = &v 2302 return s 2303} 2304 2305// SetForwardingAddressId sets the ForwardingAddressId field's value. 2306func (s *ClusterMetadata) SetForwardingAddressId(v string) *ClusterMetadata { 2307 s.ForwardingAddressId = &v 2308 return s 2309} 2310 2311// SetJobType sets the JobType field's value. 2312func (s *ClusterMetadata) SetJobType(v string) *ClusterMetadata { 2313 s.JobType = &v 2314 return s 2315} 2316 2317// SetKmsKeyARN sets the KmsKeyARN field's value. 2318func (s *ClusterMetadata) SetKmsKeyARN(v string) *ClusterMetadata { 2319 s.KmsKeyARN = &v 2320 return s 2321} 2322 2323// SetNotification sets the Notification field's value. 2324func (s *ClusterMetadata) SetNotification(v *Notification) *ClusterMetadata { 2325 s.Notification = v 2326 return s 2327} 2328 2329// SetResources sets the Resources field's value. 2330func (s *ClusterMetadata) SetResources(v *JobResource) *ClusterMetadata { 2331 s.Resources = v 2332 return s 2333} 2334 2335// SetRoleARN sets the RoleARN field's value. 2336func (s *ClusterMetadata) SetRoleARN(v string) *ClusterMetadata { 2337 s.RoleARN = &v 2338 return s 2339} 2340 2341// SetShippingOption sets the ShippingOption field's value. 2342func (s *ClusterMetadata) SetShippingOption(v string) *ClusterMetadata { 2343 s.ShippingOption = &v 2344 return s 2345} 2346 2347// SetSnowballType sets the SnowballType field's value. 2348func (s *ClusterMetadata) SetSnowballType(v string) *ClusterMetadata { 2349 s.SnowballType = &v 2350 return s 2351} 2352 2353// A JSON-formatted object that describes a compatible Amazon Machine Image 2354// (AMI), including the ID and name for a Snowball Edge AMI. This AMI is compatible 2355// with the device's physical hardware requirements, and it should be able to 2356// be run in an SBE1 instance on the device. 2357type CompatibleImage struct { 2358 _ struct{} `type:"structure"` 2359 2360 // The unique identifier for an individual Snowball Edge AMI. 2361 AmiId *string `min:"1" type:"string"` 2362 2363 // The optional name of a compatible image. 2364 Name *string `min:"1" type:"string"` 2365} 2366 2367// String returns the string representation 2368func (s CompatibleImage) String() string { 2369 return awsutil.Prettify(s) 2370} 2371 2372// GoString returns the string representation 2373func (s CompatibleImage) GoString() string { 2374 return s.String() 2375} 2376 2377// SetAmiId sets the AmiId field's value. 2378func (s *CompatibleImage) SetAmiId(v string) *CompatibleImage { 2379 s.AmiId = &v 2380 return s 2381} 2382 2383// SetName sets the Name field's value. 2384func (s *CompatibleImage) SetName(v string) *CompatibleImage { 2385 s.Name = &v 2386 return s 2387} 2388 2389type CreateAddressInput struct { 2390 _ struct{} `type:"structure"` 2391 2392 // The address that you want the Snowball shipped to. 2393 // 2394 // Address is a required field 2395 Address *Address `type:"structure" required:"true"` 2396} 2397 2398// String returns the string representation 2399func (s CreateAddressInput) String() string { 2400 return awsutil.Prettify(s) 2401} 2402 2403// GoString returns the string representation 2404func (s CreateAddressInput) GoString() string { 2405 return s.String() 2406} 2407 2408// Validate inspects the fields of the type to determine if they are valid. 2409func (s *CreateAddressInput) Validate() error { 2410 invalidParams := request.ErrInvalidParams{Context: "CreateAddressInput"} 2411 if s.Address == nil { 2412 invalidParams.Add(request.NewErrParamRequired("Address")) 2413 } 2414 if s.Address != nil { 2415 if err := s.Address.Validate(); err != nil { 2416 invalidParams.AddNested("Address", err.(request.ErrInvalidParams)) 2417 } 2418 } 2419 2420 if invalidParams.Len() > 0 { 2421 return invalidParams 2422 } 2423 return nil 2424} 2425 2426// SetAddress sets the Address field's value. 2427func (s *CreateAddressInput) SetAddress(v *Address) *CreateAddressInput { 2428 s.Address = v 2429 return s 2430} 2431 2432type CreateAddressOutput struct { 2433 _ struct{} `type:"structure"` 2434 2435 // The automatically generated ID for a specific address. You'll use this ID 2436 // when you create a job to specify which address you want the Snowball for 2437 // that job shipped to. 2438 AddressId *string `min:"1" type:"string"` 2439} 2440 2441// String returns the string representation 2442func (s CreateAddressOutput) String() string { 2443 return awsutil.Prettify(s) 2444} 2445 2446// GoString returns the string representation 2447func (s CreateAddressOutput) GoString() string { 2448 return s.String() 2449} 2450 2451// SetAddressId sets the AddressId field's value. 2452func (s *CreateAddressOutput) SetAddressId(v string) *CreateAddressOutput { 2453 s.AddressId = &v 2454 return s 2455} 2456 2457type CreateClusterInput struct { 2458 _ struct{} `type:"structure"` 2459 2460 // The ID for the address that you want the cluster shipped to. 2461 // 2462 // AddressId is a required field 2463 AddressId *string `min:"40" type:"string" required:"true"` 2464 2465 // An optional description of this specific cluster, for example Environmental 2466 // Data Cluster-01. 2467 Description *string `min:"1" type:"string"` 2468 2469 // The forwarding address ID for a cluster. This field is not supported in most 2470 // regions. 2471 ForwardingAddressId *string `min:"40" type:"string"` 2472 2473 // The type of job for this cluster. Currently, the only job type supported 2474 // for clusters is LOCAL_USE. 2475 // 2476 // JobType is a required field 2477 JobType *string `type:"string" required:"true" enum:"JobType"` 2478 2479 // The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN 2480 // values are created by using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 2481 // API action in AWS Key Management Service (AWS KMS). 2482 KmsKeyARN *string `type:"string"` 2483 2484 // The Amazon Simple Notification Service (Amazon SNS) notification settings 2485 // for this cluster. 2486 Notification *Notification `type:"structure"` 2487 2488 // The resources associated with the cluster job. These resources include Amazon 2489 // S3 buckets and optional AWS Lambda functions written in the Python language. 2490 // 2491 // Resources is a required field 2492 Resources *JobResource `type:"structure" required:"true"` 2493 2494 // The RoleARN that you want to associate with this cluster. RoleArn values 2495 // are created by using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) 2496 // API action in AWS Identity and Access Management (IAM). 2497 // 2498 // RoleARN is a required field 2499 RoleARN *string `type:"string" required:"true"` 2500 2501 // The shipping speed for each node in this cluster. This speed doesn't dictate 2502 // how soon you'll get each Snowball Edge device, rather it represents how quickly 2503 // each device moves to its destination while in transit. Regional shipping 2504 // speeds are as follows: 2505 // 2506 // * In Australia, you have access to express shipping. Typically, devices 2507 // shipped express are delivered in about a day. 2508 // 2509 // * In the European Union (EU), you have access to express shipping. Typically, 2510 // Snowball Edges shipped express are delivered in about a day. In addition, 2511 // most countries in the EU have access to standard shipping, which typically 2512 // takes less than a week, one way. 2513 // 2514 // * In India, Snowball Edges are delivered in one to seven days. 2515 // 2516 // * In the US, you have access to one-day shipping and two-day shipping. 2517 // 2518 // ShippingOption is a required field 2519 ShippingOption *string `type:"string" required:"true" enum:"ShippingOption"` 2520 2521 // The type of AWS Snowball device to use for this cluster. Currently, the only 2522 // supported device type for cluster jobs is EDGE. 2523 SnowballType *string `type:"string" enum:"Type"` 2524} 2525 2526// String returns the string representation 2527func (s CreateClusterInput) String() string { 2528 return awsutil.Prettify(s) 2529} 2530 2531// GoString returns the string representation 2532func (s CreateClusterInput) GoString() string { 2533 return s.String() 2534} 2535 2536// Validate inspects the fields of the type to determine if they are valid. 2537func (s *CreateClusterInput) Validate() error { 2538 invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} 2539 if s.AddressId == nil { 2540 invalidParams.Add(request.NewErrParamRequired("AddressId")) 2541 } 2542 if s.AddressId != nil && len(*s.AddressId) < 40 { 2543 invalidParams.Add(request.NewErrParamMinLen("AddressId", 40)) 2544 } 2545 if s.Description != nil && len(*s.Description) < 1 { 2546 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 2547 } 2548 if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 { 2549 invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40)) 2550 } 2551 if s.JobType == nil { 2552 invalidParams.Add(request.NewErrParamRequired("JobType")) 2553 } 2554 if s.Resources == nil { 2555 invalidParams.Add(request.NewErrParamRequired("Resources")) 2556 } 2557 if s.RoleARN == nil { 2558 invalidParams.Add(request.NewErrParamRequired("RoleARN")) 2559 } 2560 if s.ShippingOption == nil { 2561 invalidParams.Add(request.NewErrParamRequired("ShippingOption")) 2562 } 2563 if s.Resources != nil { 2564 if err := s.Resources.Validate(); err != nil { 2565 invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) 2566 } 2567 } 2568 2569 if invalidParams.Len() > 0 { 2570 return invalidParams 2571 } 2572 return nil 2573} 2574 2575// SetAddressId sets the AddressId field's value. 2576func (s *CreateClusterInput) SetAddressId(v string) *CreateClusterInput { 2577 s.AddressId = &v 2578 return s 2579} 2580 2581// SetDescription sets the Description field's value. 2582func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput { 2583 s.Description = &v 2584 return s 2585} 2586 2587// SetForwardingAddressId sets the ForwardingAddressId field's value. 2588func (s *CreateClusterInput) SetForwardingAddressId(v string) *CreateClusterInput { 2589 s.ForwardingAddressId = &v 2590 return s 2591} 2592 2593// SetJobType sets the JobType field's value. 2594func (s *CreateClusterInput) SetJobType(v string) *CreateClusterInput { 2595 s.JobType = &v 2596 return s 2597} 2598 2599// SetKmsKeyARN sets the KmsKeyARN field's value. 2600func (s *CreateClusterInput) SetKmsKeyARN(v string) *CreateClusterInput { 2601 s.KmsKeyARN = &v 2602 return s 2603} 2604 2605// SetNotification sets the Notification field's value. 2606func (s *CreateClusterInput) SetNotification(v *Notification) *CreateClusterInput { 2607 s.Notification = v 2608 return s 2609} 2610 2611// SetResources sets the Resources field's value. 2612func (s *CreateClusterInput) SetResources(v *JobResource) *CreateClusterInput { 2613 s.Resources = v 2614 return s 2615} 2616 2617// SetRoleARN sets the RoleARN field's value. 2618func (s *CreateClusterInput) SetRoleARN(v string) *CreateClusterInput { 2619 s.RoleARN = &v 2620 return s 2621} 2622 2623// SetShippingOption sets the ShippingOption field's value. 2624func (s *CreateClusterInput) SetShippingOption(v string) *CreateClusterInput { 2625 s.ShippingOption = &v 2626 return s 2627} 2628 2629// SetSnowballType sets the SnowballType field's value. 2630func (s *CreateClusterInput) SetSnowballType(v string) *CreateClusterInput { 2631 s.SnowballType = &v 2632 return s 2633} 2634 2635type CreateClusterOutput struct { 2636 _ struct{} `type:"structure"` 2637 2638 // The automatically generated ID for a cluster. 2639 ClusterId *string `min:"39" type:"string"` 2640} 2641 2642// String returns the string representation 2643func (s CreateClusterOutput) String() string { 2644 return awsutil.Prettify(s) 2645} 2646 2647// GoString returns the string representation 2648func (s CreateClusterOutput) GoString() string { 2649 return s.String() 2650} 2651 2652// SetClusterId sets the ClusterId field's value. 2653func (s *CreateClusterOutput) SetClusterId(v string) *CreateClusterOutput { 2654 s.ClusterId = &v 2655 return s 2656} 2657 2658type CreateJobInput struct { 2659 _ struct{} `type:"structure"` 2660 2661 // The ID for the address that you want the Snowball shipped to. 2662 AddressId *string `min:"40" type:"string"` 2663 2664 // The ID of a cluster. If you're creating a job for a node in a cluster, you 2665 // need to provide only this clusterId value. The other job attributes are inherited 2666 // from the cluster. 2667 ClusterId *string `min:"39" type:"string"` 2668 2669 // Defines an optional description of this specific job, for example Important 2670 // Photos 2016-08-11. 2671 Description *string `min:"1" type:"string"` 2672 2673 // The forwarding address ID for a job. This field is not supported in most 2674 // regions. 2675 ForwardingAddressId *string `min:"40" type:"string"` 2676 2677 // Defines the type of job that you're creating. 2678 JobType *string `type:"string" enum:"JobType"` 2679 2680 // The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created 2681 // using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 2682 // AWS Key Management Service (KMS) API action. 2683 KmsKeyARN *string `type:"string"` 2684 2685 // Defines the Amazon Simple Notification Service (Amazon SNS) notification 2686 // settings for this job. 2687 Notification *Notification `type:"structure"` 2688 2689 // Defines the Amazon S3 buckets associated with this job. 2690 // 2691 // With IMPORT jobs, you specify the bucket or buckets that your transferred 2692 // data will be imported into. 2693 // 2694 // With EXPORT jobs, you specify the bucket or buckets that your transferred 2695 // data will be exported from. Optionally, you can also specify a KeyRange value. 2696 // If you choose to export a range, you define the length of the range by providing 2697 // either an inclusive BeginMarker value, an inclusive EndMarker value, or both. 2698 // Ranges are UTF-8 binary sorted. 2699 Resources *JobResource `type:"structure"` 2700 2701 // The RoleARN that you want to associate with this job. RoleArns are created 2702 // using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) 2703 // AWS Identity and Access Management (IAM) API action. 2704 RoleARN *string `type:"string"` 2705 2706 // The shipping speed for this job. This speed doesn't dictate how soon you'll 2707 // get the Snowball, rather it represents how quickly the Snowball moves to 2708 // its destination while in transit. Regional shipping speeds are as follows: 2709 // 2710 // * In Australia, you have access to express shipping. Typically, Snowballs 2711 // shipped express are delivered in about a day. 2712 // 2713 // * In the European Union (EU), you have access to express shipping. Typically, 2714 // Snowballs shipped express are delivered in about a day. In addition, most 2715 // countries in the EU have access to standard shipping, which typically 2716 // takes less than a week, one way. 2717 // 2718 // * In India, Snowballs are delivered in one to seven days. 2719 // 2720 // * In the US, you have access to one-day shipping and two-day shipping. 2721 ShippingOption *string `type:"string" enum:"ShippingOption"` 2722 2723 // If your job is being created in one of the US regions, you have the option 2724 // of specifying what size Snowball you'd like for this job. In all other regions, 2725 // Snowballs come with 80 TB in storage capacity. 2726 SnowballCapacityPreference *string `type:"string" enum:"Capacity"` 2727 2728 // The type of AWS Snowball device to use for this job. Currently, the only 2729 // supported device type for cluster jobs is EDGE. 2730 SnowballType *string `type:"string" enum:"Type"` 2731} 2732 2733// String returns the string representation 2734func (s CreateJobInput) String() string { 2735 return awsutil.Prettify(s) 2736} 2737 2738// GoString returns the string representation 2739func (s CreateJobInput) GoString() string { 2740 return s.String() 2741} 2742 2743// Validate inspects the fields of the type to determine if they are valid. 2744func (s *CreateJobInput) Validate() error { 2745 invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"} 2746 if s.AddressId != nil && len(*s.AddressId) < 40 { 2747 invalidParams.Add(request.NewErrParamMinLen("AddressId", 40)) 2748 } 2749 if s.ClusterId != nil && len(*s.ClusterId) < 39 { 2750 invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39)) 2751 } 2752 if s.Description != nil && len(*s.Description) < 1 { 2753 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 2754 } 2755 if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 { 2756 invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40)) 2757 } 2758 if s.Resources != nil { 2759 if err := s.Resources.Validate(); err != nil { 2760 invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) 2761 } 2762 } 2763 2764 if invalidParams.Len() > 0 { 2765 return invalidParams 2766 } 2767 return nil 2768} 2769 2770// SetAddressId sets the AddressId field's value. 2771func (s *CreateJobInput) SetAddressId(v string) *CreateJobInput { 2772 s.AddressId = &v 2773 return s 2774} 2775 2776// SetClusterId sets the ClusterId field's value. 2777func (s *CreateJobInput) SetClusterId(v string) *CreateJobInput { 2778 s.ClusterId = &v 2779 return s 2780} 2781 2782// SetDescription sets the Description field's value. 2783func (s *CreateJobInput) SetDescription(v string) *CreateJobInput { 2784 s.Description = &v 2785 return s 2786} 2787 2788// SetForwardingAddressId sets the ForwardingAddressId field's value. 2789func (s *CreateJobInput) SetForwardingAddressId(v string) *CreateJobInput { 2790 s.ForwardingAddressId = &v 2791 return s 2792} 2793 2794// SetJobType sets the JobType field's value. 2795func (s *CreateJobInput) SetJobType(v string) *CreateJobInput { 2796 s.JobType = &v 2797 return s 2798} 2799 2800// SetKmsKeyARN sets the KmsKeyARN field's value. 2801func (s *CreateJobInput) SetKmsKeyARN(v string) *CreateJobInput { 2802 s.KmsKeyARN = &v 2803 return s 2804} 2805 2806// SetNotification sets the Notification field's value. 2807func (s *CreateJobInput) SetNotification(v *Notification) *CreateJobInput { 2808 s.Notification = v 2809 return s 2810} 2811 2812// SetResources sets the Resources field's value. 2813func (s *CreateJobInput) SetResources(v *JobResource) *CreateJobInput { 2814 s.Resources = v 2815 return s 2816} 2817 2818// SetRoleARN sets the RoleARN field's value. 2819func (s *CreateJobInput) SetRoleARN(v string) *CreateJobInput { 2820 s.RoleARN = &v 2821 return s 2822} 2823 2824// SetShippingOption sets the ShippingOption field's value. 2825func (s *CreateJobInput) SetShippingOption(v string) *CreateJobInput { 2826 s.ShippingOption = &v 2827 return s 2828} 2829 2830// SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value. 2831func (s *CreateJobInput) SetSnowballCapacityPreference(v string) *CreateJobInput { 2832 s.SnowballCapacityPreference = &v 2833 return s 2834} 2835 2836// SetSnowballType sets the SnowballType field's value. 2837func (s *CreateJobInput) SetSnowballType(v string) *CreateJobInput { 2838 s.SnowballType = &v 2839 return s 2840} 2841 2842type CreateJobOutput struct { 2843 _ struct{} `type:"structure"` 2844 2845 // The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. 2846 JobId *string `min:"39" type:"string"` 2847} 2848 2849// String returns the string representation 2850func (s CreateJobOutput) String() string { 2851 return awsutil.Prettify(s) 2852} 2853 2854// GoString returns the string representation 2855func (s CreateJobOutput) GoString() string { 2856 return s.String() 2857} 2858 2859// SetJobId sets the JobId field's value. 2860func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput { 2861 s.JobId = &v 2862 return s 2863} 2864 2865// Defines the real-time status of a Snowball's data transfer while the device 2866// is at AWS. This data is only available while a job has a JobState value of 2867// InProgress, for both import and export jobs. 2868type DataTransfer struct { 2869 _ struct{} `type:"structure"` 2870 2871 // The number of bytes transferred between a Snowball and Amazon S3. 2872 BytesTransferred *int64 `type:"long"` 2873 2874 // The number of objects transferred between a Snowball and Amazon S3. 2875 ObjectsTransferred *int64 `type:"long"` 2876 2877 // The total bytes of data for a transfer between a Snowball and Amazon S3. 2878 // This value is set to 0 (zero) until all the keys that will be transferred 2879 // have been listed. 2880 TotalBytes *int64 `type:"long"` 2881 2882 // The total number of objects for a transfer between a Snowball and Amazon 2883 // S3. This value is set to 0 (zero) until all the keys that will be transferred 2884 // have been listed. 2885 TotalObjects *int64 `type:"long"` 2886} 2887 2888// String returns the string representation 2889func (s DataTransfer) String() string { 2890 return awsutil.Prettify(s) 2891} 2892 2893// GoString returns the string representation 2894func (s DataTransfer) GoString() string { 2895 return s.String() 2896} 2897 2898// SetBytesTransferred sets the BytesTransferred field's value. 2899func (s *DataTransfer) SetBytesTransferred(v int64) *DataTransfer { 2900 s.BytesTransferred = &v 2901 return s 2902} 2903 2904// SetObjectsTransferred sets the ObjectsTransferred field's value. 2905func (s *DataTransfer) SetObjectsTransferred(v int64) *DataTransfer { 2906 s.ObjectsTransferred = &v 2907 return s 2908} 2909 2910// SetTotalBytes sets the TotalBytes field's value. 2911func (s *DataTransfer) SetTotalBytes(v int64) *DataTransfer { 2912 s.TotalBytes = &v 2913 return s 2914} 2915 2916// SetTotalObjects sets the TotalObjects field's value. 2917func (s *DataTransfer) SetTotalObjects(v int64) *DataTransfer { 2918 s.TotalObjects = &v 2919 return s 2920} 2921 2922type DescribeAddressInput struct { 2923 _ struct{} `type:"structure"` 2924 2925 // The automatically generated ID for a specific address. 2926 // 2927 // AddressId is a required field 2928 AddressId *string `min:"40" type:"string" required:"true"` 2929} 2930 2931// String returns the string representation 2932func (s DescribeAddressInput) String() string { 2933 return awsutil.Prettify(s) 2934} 2935 2936// GoString returns the string representation 2937func (s DescribeAddressInput) GoString() string { 2938 return s.String() 2939} 2940 2941// Validate inspects the fields of the type to determine if they are valid. 2942func (s *DescribeAddressInput) Validate() error { 2943 invalidParams := request.ErrInvalidParams{Context: "DescribeAddressInput"} 2944 if s.AddressId == nil { 2945 invalidParams.Add(request.NewErrParamRequired("AddressId")) 2946 } 2947 if s.AddressId != nil && len(*s.AddressId) < 40 { 2948 invalidParams.Add(request.NewErrParamMinLen("AddressId", 40)) 2949 } 2950 2951 if invalidParams.Len() > 0 { 2952 return invalidParams 2953 } 2954 return nil 2955} 2956 2957// SetAddressId sets the AddressId field's value. 2958func (s *DescribeAddressInput) SetAddressId(v string) *DescribeAddressInput { 2959 s.AddressId = &v 2960 return s 2961} 2962 2963type DescribeAddressOutput struct { 2964 _ struct{} `type:"structure"` 2965 2966 // The address that you want the Snowball or Snowballs associated with a specific 2967 // job to be shipped to. 2968 Address *Address `type:"structure"` 2969} 2970 2971// String returns the string representation 2972func (s DescribeAddressOutput) String() string { 2973 return awsutil.Prettify(s) 2974} 2975 2976// GoString returns the string representation 2977func (s DescribeAddressOutput) GoString() string { 2978 return s.String() 2979} 2980 2981// SetAddress sets the Address field's value. 2982func (s *DescribeAddressOutput) SetAddress(v *Address) *DescribeAddressOutput { 2983 s.Address = v 2984 return s 2985} 2986 2987type DescribeAddressesInput struct { 2988 _ struct{} `type:"structure"` 2989 2990 // The number of ADDRESS objects to return. 2991 MaxResults *int64 `type:"integer"` 2992 2993 // HTTP requests are stateless. To identify what object comes "next" in the 2994 // list of ADDRESS objects, you have the option of specifying a value for NextToken 2995 // as the starting point for your list of returned addresses. 2996 NextToken *string `min:"1" type:"string"` 2997} 2998 2999// String returns the string representation 3000func (s DescribeAddressesInput) String() string { 3001 return awsutil.Prettify(s) 3002} 3003 3004// GoString returns the string representation 3005func (s DescribeAddressesInput) GoString() string { 3006 return s.String() 3007} 3008 3009// Validate inspects the fields of the type to determine if they are valid. 3010func (s *DescribeAddressesInput) Validate() error { 3011 invalidParams := request.ErrInvalidParams{Context: "DescribeAddressesInput"} 3012 if s.NextToken != nil && len(*s.NextToken) < 1 { 3013 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3014 } 3015 3016 if invalidParams.Len() > 0 { 3017 return invalidParams 3018 } 3019 return nil 3020} 3021 3022// SetMaxResults sets the MaxResults field's value. 3023func (s *DescribeAddressesInput) SetMaxResults(v int64) *DescribeAddressesInput { 3024 s.MaxResults = &v 3025 return s 3026} 3027 3028// SetNextToken sets the NextToken field's value. 3029func (s *DescribeAddressesInput) SetNextToken(v string) *DescribeAddressesInput { 3030 s.NextToken = &v 3031 return s 3032} 3033 3034type DescribeAddressesOutput struct { 3035 _ struct{} `type:"structure"` 3036 3037 // The Snowball shipping addresses that were created for this account. 3038 Addresses []*Address `type:"list"` 3039 3040 // HTTP requests are stateless. If you use the automatically generated NextToken 3041 // value in your next DescribeAddresses call, your list of returned addresses 3042 // will start from this point in the array. 3043 NextToken *string `min:"1" type:"string"` 3044} 3045 3046// String returns the string representation 3047func (s DescribeAddressesOutput) String() string { 3048 return awsutil.Prettify(s) 3049} 3050 3051// GoString returns the string representation 3052func (s DescribeAddressesOutput) GoString() string { 3053 return s.String() 3054} 3055 3056// SetAddresses sets the Addresses field's value. 3057func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput { 3058 s.Addresses = v 3059 return s 3060} 3061 3062// SetNextToken sets the NextToken field's value. 3063func (s *DescribeAddressesOutput) SetNextToken(v string) *DescribeAddressesOutput { 3064 s.NextToken = &v 3065 return s 3066} 3067 3068type DescribeClusterInput struct { 3069 _ struct{} `type:"structure"` 3070 3071 // The automatically generated ID for a cluster. 3072 // 3073 // ClusterId is a required field 3074 ClusterId *string `min:"39" type:"string" required:"true"` 3075} 3076 3077// String returns the string representation 3078func (s DescribeClusterInput) String() string { 3079 return awsutil.Prettify(s) 3080} 3081 3082// GoString returns the string representation 3083func (s DescribeClusterInput) GoString() string { 3084 return s.String() 3085} 3086 3087// Validate inspects the fields of the type to determine if they are valid. 3088func (s *DescribeClusterInput) Validate() error { 3089 invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} 3090 if s.ClusterId == nil { 3091 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 3092 } 3093 if s.ClusterId != nil && len(*s.ClusterId) < 39 { 3094 invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39)) 3095 } 3096 3097 if invalidParams.Len() > 0 { 3098 return invalidParams 3099 } 3100 return nil 3101} 3102 3103// SetClusterId sets the ClusterId field's value. 3104func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput { 3105 s.ClusterId = &v 3106 return s 3107} 3108 3109type DescribeClusterOutput struct { 3110 _ struct{} `type:"structure"` 3111 3112 // Information about a specific cluster, including shipping information, cluster 3113 // status, and other important metadata. 3114 ClusterMetadata *ClusterMetadata `type:"structure"` 3115} 3116 3117// String returns the string representation 3118func (s DescribeClusterOutput) String() string { 3119 return awsutil.Prettify(s) 3120} 3121 3122// GoString returns the string representation 3123func (s DescribeClusterOutput) GoString() string { 3124 return s.String() 3125} 3126 3127// SetClusterMetadata sets the ClusterMetadata field's value. 3128func (s *DescribeClusterOutput) SetClusterMetadata(v *ClusterMetadata) *DescribeClusterOutput { 3129 s.ClusterMetadata = v 3130 return s 3131} 3132 3133type DescribeJobInput struct { 3134 _ struct{} `type:"structure"` 3135 3136 // The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. 3137 // 3138 // JobId is a required field 3139 JobId *string `min:"39" type:"string" required:"true"` 3140} 3141 3142// String returns the string representation 3143func (s DescribeJobInput) String() string { 3144 return awsutil.Prettify(s) 3145} 3146 3147// GoString returns the string representation 3148func (s DescribeJobInput) GoString() string { 3149 return s.String() 3150} 3151 3152// Validate inspects the fields of the type to determine if they are valid. 3153func (s *DescribeJobInput) Validate() error { 3154 invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"} 3155 if s.JobId == nil { 3156 invalidParams.Add(request.NewErrParamRequired("JobId")) 3157 } 3158 if s.JobId != nil && len(*s.JobId) < 39 { 3159 invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) 3160 } 3161 3162 if invalidParams.Len() > 0 { 3163 return invalidParams 3164 } 3165 return nil 3166} 3167 3168// SetJobId sets the JobId field's value. 3169func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput { 3170 s.JobId = &v 3171 return s 3172} 3173 3174type DescribeJobOutput struct { 3175 _ struct{} `type:"structure"` 3176 3177 // Information about a specific job, including shipping information, job status, 3178 // and other important metadata. 3179 JobMetadata *JobMetadata `type:"structure"` 3180 3181 // Information about a specific job part (in the case of an export job), including 3182 // shipping information, job status, and other important metadata. 3183 SubJobMetadata []*JobMetadata `type:"list"` 3184} 3185 3186// String returns the string representation 3187func (s DescribeJobOutput) String() string { 3188 return awsutil.Prettify(s) 3189} 3190 3191// GoString returns the string representation 3192func (s DescribeJobOutput) GoString() string { 3193 return s.String() 3194} 3195 3196// SetJobMetadata sets the JobMetadata field's value. 3197func (s *DescribeJobOutput) SetJobMetadata(v *JobMetadata) *DescribeJobOutput { 3198 s.JobMetadata = v 3199 return s 3200} 3201 3202// SetSubJobMetadata sets the SubJobMetadata field's value. 3203func (s *DescribeJobOutput) SetSubJobMetadata(v []*JobMetadata) *DescribeJobOutput { 3204 s.SubJobMetadata = v 3205 return s 3206} 3207 3208// A JSON-formatted object that contains the IDs for an Amazon Machine Image 3209// (AMI), including the Amazon EC2 AMI ID and the Snowball Edge AMI ID. Each 3210// AMI has these two IDs to simplify identifying the AMI in both the AWS Cloud 3211// and on the device. 3212type Ec2AmiResource struct { 3213 _ struct{} `type:"structure"` 3214 3215 // The ID of the AMI in Amazon EC2. 3216 // 3217 // AmiId is a required field 3218 AmiId *string `min:"12" type:"string" required:"true"` 3219 3220 // The ID of the AMI on the Snowball Edge device. 3221 SnowballAmiId *string `min:"1" type:"string"` 3222} 3223 3224// String returns the string representation 3225func (s Ec2AmiResource) String() string { 3226 return awsutil.Prettify(s) 3227} 3228 3229// GoString returns the string representation 3230func (s Ec2AmiResource) GoString() string { 3231 return s.String() 3232} 3233 3234// Validate inspects the fields of the type to determine if they are valid. 3235func (s *Ec2AmiResource) Validate() error { 3236 invalidParams := request.ErrInvalidParams{Context: "Ec2AmiResource"} 3237 if s.AmiId == nil { 3238 invalidParams.Add(request.NewErrParamRequired("AmiId")) 3239 } 3240 if s.AmiId != nil && len(*s.AmiId) < 12 { 3241 invalidParams.Add(request.NewErrParamMinLen("AmiId", 12)) 3242 } 3243 if s.SnowballAmiId != nil && len(*s.SnowballAmiId) < 1 { 3244 invalidParams.Add(request.NewErrParamMinLen("SnowballAmiId", 1)) 3245 } 3246 3247 if invalidParams.Len() > 0 { 3248 return invalidParams 3249 } 3250 return nil 3251} 3252 3253// SetAmiId sets the AmiId field's value. 3254func (s *Ec2AmiResource) SetAmiId(v string) *Ec2AmiResource { 3255 s.AmiId = &v 3256 return s 3257} 3258 3259// SetSnowballAmiId sets the SnowballAmiId field's value. 3260func (s *Ec2AmiResource) SetSnowballAmiId(v string) *Ec2AmiResource { 3261 s.SnowballAmiId = &v 3262 return s 3263} 3264 3265// The container for the EventTriggerDefinition$EventResourceARN. 3266type EventTriggerDefinition struct { 3267 _ struct{} `type:"structure"` 3268 3269 // The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an 3270 // AWS Lambda function's event trigger associated with this job. 3271 EventResourceARN *string `type:"string"` 3272} 3273 3274// String returns the string representation 3275func (s EventTriggerDefinition) String() string { 3276 return awsutil.Prettify(s) 3277} 3278 3279// GoString returns the string representation 3280func (s EventTriggerDefinition) GoString() string { 3281 return s.String() 3282} 3283 3284// SetEventResourceARN sets the EventResourceARN field's value. 3285func (s *EventTriggerDefinition) SetEventResourceARN(v string) *EventTriggerDefinition { 3286 s.EventResourceARN = &v 3287 return s 3288} 3289 3290type GetJobManifestInput struct { 3291 _ struct{} `type:"structure"` 3292 3293 // The ID for a job that you want to get the manifest file for, for example 3294 // JID123e4567-e89b-12d3-a456-426655440000. 3295 // 3296 // JobId is a required field 3297 JobId *string `min:"39" type:"string" required:"true"` 3298} 3299 3300// String returns the string representation 3301func (s GetJobManifestInput) String() string { 3302 return awsutil.Prettify(s) 3303} 3304 3305// GoString returns the string representation 3306func (s GetJobManifestInput) GoString() string { 3307 return s.String() 3308} 3309 3310// Validate inspects the fields of the type to determine if they are valid. 3311func (s *GetJobManifestInput) Validate() error { 3312 invalidParams := request.ErrInvalidParams{Context: "GetJobManifestInput"} 3313 if s.JobId == nil { 3314 invalidParams.Add(request.NewErrParamRequired("JobId")) 3315 } 3316 if s.JobId != nil && len(*s.JobId) < 39 { 3317 invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) 3318 } 3319 3320 if invalidParams.Len() > 0 { 3321 return invalidParams 3322 } 3323 return nil 3324} 3325 3326// SetJobId sets the JobId field's value. 3327func (s *GetJobManifestInput) SetJobId(v string) *GetJobManifestInput { 3328 s.JobId = &v 3329 return s 3330} 3331 3332type GetJobManifestOutput struct { 3333 _ struct{} `type:"structure"` 3334 3335 // The Amazon S3 presigned URL for the manifest file associated with the specified 3336 // JobId value. 3337 ManifestURI *string `min:"1" type:"string"` 3338} 3339 3340// String returns the string representation 3341func (s GetJobManifestOutput) String() string { 3342 return awsutil.Prettify(s) 3343} 3344 3345// GoString returns the string representation 3346func (s GetJobManifestOutput) GoString() string { 3347 return s.String() 3348} 3349 3350// SetManifestURI sets the ManifestURI field's value. 3351func (s *GetJobManifestOutput) SetManifestURI(v string) *GetJobManifestOutput { 3352 s.ManifestURI = &v 3353 return s 3354} 3355 3356type GetJobUnlockCodeInput struct { 3357 _ struct{} `type:"structure"` 3358 3359 // The ID for the job that you want to get the UnlockCode value for, for example 3360 // JID123e4567-e89b-12d3-a456-426655440000. 3361 // 3362 // JobId is a required field 3363 JobId *string `min:"39" type:"string" required:"true"` 3364} 3365 3366// String returns the string representation 3367func (s GetJobUnlockCodeInput) String() string { 3368 return awsutil.Prettify(s) 3369} 3370 3371// GoString returns the string representation 3372func (s GetJobUnlockCodeInput) GoString() string { 3373 return s.String() 3374} 3375 3376// Validate inspects the fields of the type to determine if they are valid. 3377func (s *GetJobUnlockCodeInput) Validate() error { 3378 invalidParams := request.ErrInvalidParams{Context: "GetJobUnlockCodeInput"} 3379 if s.JobId == nil { 3380 invalidParams.Add(request.NewErrParamRequired("JobId")) 3381 } 3382 if s.JobId != nil && len(*s.JobId) < 39 { 3383 invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) 3384 } 3385 3386 if invalidParams.Len() > 0 { 3387 return invalidParams 3388 } 3389 return nil 3390} 3391 3392// SetJobId sets the JobId field's value. 3393func (s *GetJobUnlockCodeInput) SetJobId(v string) *GetJobUnlockCodeInput { 3394 s.JobId = &v 3395 return s 3396} 3397 3398type GetJobUnlockCodeOutput struct { 3399 _ struct{} `type:"structure"` 3400 3401 // The UnlockCode value for the specified job. The UnlockCode value can be accessed 3402 // for up to 90 days after the job has been created. 3403 UnlockCode *string `min:"1" type:"string"` 3404} 3405 3406// String returns the string representation 3407func (s GetJobUnlockCodeOutput) String() string { 3408 return awsutil.Prettify(s) 3409} 3410 3411// GoString returns the string representation 3412func (s GetJobUnlockCodeOutput) GoString() string { 3413 return s.String() 3414} 3415 3416// SetUnlockCode sets the UnlockCode field's value. 3417func (s *GetJobUnlockCodeOutput) SetUnlockCode(v string) *GetJobUnlockCodeOutput { 3418 s.UnlockCode = &v 3419 return s 3420} 3421 3422type GetSnowballUsageInput struct { 3423 _ struct{} `type:"structure"` 3424} 3425 3426// String returns the string representation 3427func (s GetSnowballUsageInput) String() string { 3428 return awsutil.Prettify(s) 3429} 3430 3431// GoString returns the string representation 3432func (s GetSnowballUsageInput) GoString() string { 3433 return s.String() 3434} 3435 3436type GetSnowballUsageOutput struct { 3437 _ struct{} `type:"structure"` 3438 3439 // The service limit for number of Snowballs this account can have at once. 3440 // The default service limit is 1 (one). 3441 SnowballLimit *int64 `type:"integer"` 3442 3443 // The number of Snowballs that this account is currently using. 3444 SnowballsInUse *int64 `type:"integer"` 3445} 3446 3447// String returns the string representation 3448func (s GetSnowballUsageOutput) String() string { 3449 return awsutil.Prettify(s) 3450} 3451 3452// GoString returns the string representation 3453func (s GetSnowballUsageOutput) GoString() string { 3454 return s.String() 3455} 3456 3457// SetSnowballLimit sets the SnowballLimit field's value. 3458func (s *GetSnowballUsageOutput) SetSnowballLimit(v int64) *GetSnowballUsageOutput { 3459 s.SnowballLimit = &v 3460 return s 3461} 3462 3463// SetSnowballsInUse sets the SnowballsInUse field's value. 3464func (s *GetSnowballUsageOutput) SetSnowballsInUse(v int64) *GetSnowballUsageOutput { 3465 s.SnowballsInUse = &v 3466 return s 3467} 3468 3469type GetSoftwareUpdatesInput struct { 3470 _ struct{} `type:"structure"` 3471 3472 // The ID for a job that you want to get the software update file for, for example 3473 // JID123e4567-e89b-12d3-a456-426655440000. 3474 // 3475 // JobId is a required field 3476 JobId *string `min:"39" type:"string" required:"true"` 3477} 3478 3479// String returns the string representation 3480func (s GetSoftwareUpdatesInput) String() string { 3481 return awsutil.Prettify(s) 3482} 3483 3484// GoString returns the string representation 3485func (s GetSoftwareUpdatesInput) GoString() string { 3486 return s.String() 3487} 3488 3489// Validate inspects the fields of the type to determine if they are valid. 3490func (s *GetSoftwareUpdatesInput) Validate() error { 3491 invalidParams := request.ErrInvalidParams{Context: "GetSoftwareUpdatesInput"} 3492 if s.JobId == nil { 3493 invalidParams.Add(request.NewErrParamRequired("JobId")) 3494 } 3495 if s.JobId != nil && len(*s.JobId) < 39 { 3496 invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) 3497 } 3498 3499 if invalidParams.Len() > 0 { 3500 return invalidParams 3501 } 3502 return nil 3503} 3504 3505// SetJobId sets the JobId field's value. 3506func (s *GetSoftwareUpdatesInput) SetJobId(v string) *GetSoftwareUpdatesInput { 3507 s.JobId = &v 3508 return s 3509} 3510 3511type GetSoftwareUpdatesOutput struct { 3512 _ struct{} `type:"structure"` 3513 3514 // The Amazon S3 presigned URL for the update file associated with the specified 3515 // JobId value. The software update will be available for 2 days after this 3516 // request is made. To access an update after the 2 days have passed, you'll 3517 // have to make another call to GetSoftwareUpdates. 3518 UpdatesURI *string `min:"1" type:"string"` 3519} 3520 3521// String returns the string representation 3522func (s GetSoftwareUpdatesOutput) String() string { 3523 return awsutil.Prettify(s) 3524} 3525 3526// GoString returns the string representation 3527func (s GetSoftwareUpdatesOutput) GoString() string { 3528 return s.String() 3529} 3530 3531// SetUpdatesURI sets the UpdatesURI field's value. 3532func (s *GetSoftwareUpdatesOutput) SetUpdatesURI(v string) *GetSoftwareUpdatesOutput { 3533 s.UpdatesURI = &v 3534 return s 3535} 3536 3537// Each JobListEntry object contains a job's state, a job's ID, and a value 3538// that indicates whether the job is a job part, in the case of an export job. 3539type JobListEntry struct { 3540 _ struct{} `type:"structure"` 3541 3542 // The creation date for this job. 3543 CreationDate *time.Time `type:"timestamp"` 3544 3545 // The optional description of this specific job, for example Important Photos 3546 // 2016-08-11. 3547 Description *string `min:"1" type:"string"` 3548 3549 // A value that indicates that this job is a master job. A master job represents 3550 // a successful request to create an export job. Master jobs aren't associated 3551 // with any Snowballs. Instead, each master job will have at least one job part, 3552 // and each job part is associated with a Snowball. It might take some time 3553 // before the job parts associated with a particular master job are listed, 3554 // because they are created after the master job is created. 3555 IsMaster *bool `type:"boolean"` 3556 3557 // The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. 3558 JobId *string `min:"1" type:"string"` 3559 3560 // The current state of this job. 3561 JobState *string `type:"string" enum:"JobState"` 3562 3563 // The type of job. 3564 JobType *string `type:"string" enum:"JobType"` 3565 3566 // The type of device used with this job. 3567 SnowballType *string `type:"string" enum:"Type"` 3568} 3569 3570// String returns the string representation 3571func (s JobListEntry) String() string { 3572 return awsutil.Prettify(s) 3573} 3574 3575// GoString returns the string representation 3576func (s JobListEntry) GoString() string { 3577 return s.String() 3578} 3579 3580// SetCreationDate sets the CreationDate field's value. 3581func (s *JobListEntry) SetCreationDate(v time.Time) *JobListEntry { 3582 s.CreationDate = &v 3583 return s 3584} 3585 3586// SetDescription sets the Description field's value. 3587func (s *JobListEntry) SetDescription(v string) *JobListEntry { 3588 s.Description = &v 3589 return s 3590} 3591 3592// SetIsMaster sets the IsMaster field's value. 3593func (s *JobListEntry) SetIsMaster(v bool) *JobListEntry { 3594 s.IsMaster = &v 3595 return s 3596} 3597 3598// SetJobId sets the JobId field's value. 3599func (s *JobListEntry) SetJobId(v string) *JobListEntry { 3600 s.JobId = &v 3601 return s 3602} 3603 3604// SetJobState sets the JobState field's value. 3605func (s *JobListEntry) SetJobState(v string) *JobListEntry { 3606 s.JobState = &v 3607 return s 3608} 3609 3610// SetJobType sets the JobType field's value. 3611func (s *JobListEntry) SetJobType(v string) *JobListEntry { 3612 s.JobType = &v 3613 return s 3614} 3615 3616// SetSnowballType sets the SnowballType field's value. 3617func (s *JobListEntry) SetSnowballType(v string) *JobListEntry { 3618 s.SnowballType = &v 3619 return s 3620} 3621 3622// Contains job logs. Whenever Snowball is used to import data into or export 3623// data out of Amazon S3, you'll have the option of downloading a PDF job report. 3624// Job logs are returned as a part of the response syntax of the DescribeJob 3625// action in the JobMetadata data type. The job logs can be accessed for up 3626// to 60 minutes after this request has been made. To access any of the job 3627// logs after 60 minutes have passed, you'll have to make another call to the 3628// DescribeJob action. 3629// 3630// For import jobs, the PDF job report becomes available at the end of the import 3631// process. For export jobs, your job report typically becomes available while 3632// the Snowball for your job part is being delivered to you. 3633// 3634// The job report provides you insight into the state of your Amazon S3 data 3635// transfer. The report includes details about your job or job part for your 3636// records. 3637// 3638// For deeper visibility into the status of your transferred objects, you can 3639// look at the two associated logs: a success log and a failure log. The logs 3640// are saved in comma-separated value (CSV) format, and the name of each log 3641// includes the ID of the job or job part that the log describes. 3642type JobLogs struct { 3643 _ struct{} `type:"structure"` 3644 3645 // A link to an Amazon S3 presigned URL where the job completion report is located. 3646 JobCompletionReportURI *string `min:"1" type:"string"` 3647 3648 // A link to an Amazon S3 presigned URL where the job failure log is located. 3649 JobFailureLogURI *string `min:"1" type:"string"` 3650 3651 // A link to an Amazon S3 presigned URL where the job success log is located. 3652 JobSuccessLogURI *string `min:"1" type:"string"` 3653} 3654 3655// String returns the string representation 3656func (s JobLogs) String() string { 3657 return awsutil.Prettify(s) 3658} 3659 3660// GoString returns the string representation 3661func (s JobLogs) GoString() string { 3662 return s.String() 3663} 3664 3665// SetJobCompletionReportURI sets the JobCompletionReportURI field's value. 3666func (s *JobLogs) SetJobCompletionReportURI(v string) *JobLogs { 3667 s.JobCompletionReportURI = &v 3668 return s 3669} 3670 3671// SetJobFailureLogURI sets the JobFailureLogURI field's value. 3672func (s *JobLogs) SetJobFailureLogURI(v string) *JobLogs { 3673 s.JobFailureLogURI = &v 3674 return s 3675} 3676 3677// SetJobSuccessLogURI sets the JobSuccessLogURI field's value. 3678func (s *JobLogs) SetJobSuccessLogURI(v string) *JobLogs { 3679 s.JobSuccessLogURI = &v 3680 return s 3681} 3682 3683// Contains information about a specific job including shipping information, 3684// job status, and other important metadata. This information is returned as 3685// a part of the response syntax of the DescribeJob action. 3686type JobMetadata struct { 3687 _ struct{} `type:"structure"` 3688 3689 // The ID for the address that you want the Snowball shipped to. 3690 AddressId *string `min:"40" type:"string"` 3691 3692 // The 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000. 3693 ClusterId *string `min:"1" type:"string"` 3694 3695 // The creation date for this job. 3696 CreationDate *time.Time `type:"timestamp"` 3697 3698 // A value that defines the real-time status of a Snowball's data transfer while 3699 // the device is at AWS. This data is only available while a job has a JobState 3700 // value of InProgress, for both import and export jobs. 3701 DataTransferProgress *DataTransfer `type:"structure"` 3702 3703 // The description of the job, provided at job creation. 3704 Description *string `min:"1" type:"string"` 3705 3706 // The ID of the address that you want a job shipped to, after it will be shipped 3707 // to its primary address. This field is not supported in most regions. 3708 ForwardingAddressId *string `min:"40" type:"string"` 3709 3710 // The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000. 3711 JobId *string `min:"1" type:"string"` 3712 3713 // Links to Amazon S3 presigned URLs for the job report and logs. For import 3714 // jobs, the PDF job report becomes available at the end of the import process. 3715 // For export jobs, your job report typically becomes available while the Snowball 3716 // for your job part is being delivered to you. 3717 JobLogInfo *JobLogs `type:"structure"` 3718 3719 // The current status of the jobs. 3720 JobState *string `type:"string" enum:"JobState"` 3721 3722 // The type of job. 3723 JobType *string `type:"string" enum:"JobType"` 3724 3725 // The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) 3726 // key associated with this job. This ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 3727 // API action in AWS KMS. 3728 KmsKeyARN *string `type:"string"` 3729 3730 // The Amazon Simple Notification Service (Amazon SNS) notification settings 3731 // associated with a specific job. The Notification object is returned as a 3732 // part of the response syntax of the DescribeJob action in the JobMetadata 3733 // data type. 3734 Notification *Notification `type:"structure"` 3735 3736 // An array of S3Resource objects. Each S3Resource object represents an Amazon 3737 // S3 bucket that your transferred data will be exported from or imported into. 3738 Resources *JobResource `type:"structure"` 3739 3740 // The role ARN associated with this job. This ARN was created using the CreateRole 3741 // (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) 3742 // API action in AWS Identity and Access Management (IAM). 3743 RoleARN *string `type:"string"` 3744 3745 // A job's shipping information, including inbound and outbound tracking numbers 3746 // and shipping speed options. 3747 ShippingDetails *ShippingDetails `type:"structure"` 3748 3749 // The Snowball capacity preference for this job, specified at job creation. 3750 // In US regions, you can choose between 50 TB and 80 TB Snowballs. All other 3751 // regions use 80 TB capacity Snowballs. 3752 SnowballCapacityPreference *string `type:"string" enum:"Capacity"` 3753 3754 // The type of device used with this job. 3755 SnowballType *string `type:"string" enum:"Type"` 3756} 3757 3758// String returns the string representation 3759func (s JobMetadata) String() string { 3760 return awsutil.Prettify(s) 3761} 3762 3763// GoString returns the string representation 3764func (s JobMetadata) GoString() string { 3765 return s.String() 3766} 3767 3768// SetAddressId sets the AddressId field's value. 3769func (s *JobMetadata) SetAddressId(v string) *JobMetadata { 3770 s.AddressId = &v 3771 return s 3772} 3773 3774// SetClusterId sets the ClusterId field's value. 3775func (s *JobMetadata) SetClusterId(v string) *JobMetadata { 3776 s.ClusterId = &v 3777 return s 3778} 3779 3780// SetCreationDate sets the CreationDate field's value. 3781func (s *JobMetadata) SetCreationDate(v time.Time) *JobMetadata { 3782 s.CreationDate = &v 3783 return s 3784} 3785 3786// SetDataTransferProgress sets the DataTransferProgress field's value. 3787func (s *JobMetadata) SetDataTransferProgress(v *DataTransfer) *JobMetadata { 3788 s.DataTransferProgress = v 3789 return s 3790} 3791 3792// SetDescription sets the Description field's value. 3793func (s *JobMetadata) SetDescription(v string) *JobMetadata { 3794 s.Description = &v 3795 return s 3796} 3797 3798// SetForwardingAddressId sets the ForwardingAddressId field's value. 3799func (s *JobMetadata) SetForwardingAddressId(v string) *JobMetadata { 3800 s.ForwardingAddressId = &v 3801 return s 3802} 3803 3804// SetJobId sets the JobId field's value. 3805func (s *JobMetadata) SetJobId(v string) *JobMetadata { 3806 s.JobId = &v 3807 return s 3808} 3809 3810// SetJobLogInfo sets the JobLogInfo field's value. 3811func (s *JobMetadata) SetJobLogInfo(v *JobLogs) *JobMetadata { 3812 s.JobLogInfo = v 3813 return s 3814} 3815 3816// SetJobState sets the JobState field's value. 3817func (s *JobMetadata) SetJobState(v string) *JobMetadata { 3818 s.JobState = &v 3819 return s 3820} 3821 3822// SetJobType sets the JobType field's value. 3823func (s *JobMetadata) SetJobType(v string) *JobMetadata { 3824 s.JobType = &v 3825 return s 3826} 3827 3828// SetKmsKeyARN sets the KmsKeyARN field's value. 3829func (s *JobMetadata) SetKmsKeyARN(v string) *JobMetadata { 3830 s.KmsKeyARN = &v 3831 return s 3832} 3833 3834// SetNotification sets the Notification field's value. 3835func (s *JobMetadata) SetNotification(v *Notification) *JobMetadata { 3836 s.Notification = v 3837 return s 3838} 3839 3840// SetResources sets the Resources field's value. 3841func (s *JobMetadata) SetResources(v *JobResource) *JobMetadata { 3842 s.Resources = v 3843 return s 3844} 3845 3846// SetRoleARN sets the RoleARN field's value. 3847func (s *JobMetadata) SetRoleARN(v string) *JobMetadata { 3848 s.RoleARN = &v 3849 return s 3850} 3851 3852// SetShippingDetails sets the ShippingDetails field's value. 3853func (s *JobMetadata) SetShippingDetails(v *ShippingDetails) *JobMetadata { 3854 s.ShippingDetails = v 3855 return s 3856} 3857 3858// SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value. 3859func (s *JobMetadata) SetSnowballCapacityPreference(v string) *JobMetadata { 3860 s.SnowballCapacityPreference = &v 3861 return s 3862} 3863 3864// SetSnowballType sets the SnowballType field's value. 3865func (s *JobMetadata) SetSnowballType(v string) *JobMetadata { 3866 s.SnowballType = &v 3867 return s 3868} 3869 3870// Contains an array of AWS resource objects. Each object represents an Amazon 3871// S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based 3872// on Amazon EC2 that is associated with a particular job. 3873type JobResource struct { 3874 _ struct{} `type:"structure"` 3875 3876 // The Amazon Machine Images (AMIs) associated with this job. 3877 Ec2AmiResources []*Ec2AmiResource `type:"list"` 3878 3879 // The Python-language Lambda functions for this job. 3880 LambdaResources []*LambdaResource `type:"list"` 3881 3882 // An array of S3Resource objects. 3883 S3Resources []*S3Resource `type:"list"` 3884} 3885 3886// String returns the string representation 3887func (s JobResource) String() string { 3888 return awsutil.Prettify(s) 3889} 3890 3891// GoString returns the string representation 3892func (s JobResource) GoString() string { 3893 return s.String() 3894} 3895 3896// Validate inspects the fields of the type to determine if they are valid. 3897func (s *JobResource) Validate() error { 3898 invalidParams := request.ErrInvalidParams{Context: "JobResource"} 3899 if s.Ec2AmiResources != nil { 3900 for i, v := range s.Ec2AmiResources { 3901 if v == nil { 3902 continue 3903 } 3904 if err := v.Validate(); err != nil { 3905 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2AmiResources", i), err.(request.ErrInvalidParams)) 3906 } 3907 } 3908 } 3909 if s.S3Resources != nil { 3910 for i, v := range s.S3Resources { 3911 if v == nil { 3912 continue 3913 } 3914 if err := v.Validate(); err != nil { 3915 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "S3Resources", i), err.(request.ErrInvalidParams)) 3916 } 3917 } 3918 } 3919 3920 if invalidParams.Len() > 0 { 3921 return invalidParams 3922 } 3923 return nil 3924} 3925 3926// SetEc2AmiResources sets the Ec2AmiResources field's value. 3927func (s *JobResource) SetEc2AmiResources(v []*Ec2AmiResource) *JobResource { 3928 s.Ec2AmiResources = v 3929 return s 3930} 3931 3932// SetLambdaResources sets the LambdaResources field's value. 3933func (s *JobResource) SetLambdaResources(v []*LambdaResource) *JobResource { 3934 s.LambdaResources = v 3935 return s 3936} 3937 3938// SetS3Resources sets the S3Resources field's value. 3939func (s *JobResource) SetS3Resources(v []*S3Resource) *JobResource { 3940 s.S3Resources = v 3941 return s 3942} 3943 3944// Contains a key range. For export jobs, a S3Resource object can have an optional 3945// KeyRange value. The length of the range is defined at job creation, and has 3946// either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges 3947// are UTF-8 binary sorted. 3948type KeyRange struct { 3949 _ struct{} `type:"structure"` 3950 3951 // The key that starts an optional key range for an export job. Ranges are inclusive 3952 // and UTF-8 binary sorted. 3953 BeginMarker *string `min:"1" type:"string"` 3954 3955 // The key that ends an optional key range for an export job. Ranges are inclusive 3956 // and UTF-8 binary sorted. 3957 EndMarker *string `min:"1" type:"string"` 3958} 3959 3960// String returns the string representation 3961func (s KeyRange) String() string { 3962 return awsutil.Prettify(s) 3963} 3964 3965// GoString returns the string representation 3966func (s KeyRange) GoString() string { 3967 return s.String() 3968} 3969 3970// Validate inspects the fields of the type to determine if they are valid. 3971func (s *KeyRange) Validate() error { 3972 invalidParams := request.ErrInvalidParams{Context: "KeyRange"} 3973 if s.BeginMarker != nil && len(*s.BeginMarker) < 1 { 3974 invalidParams.Add(request.NewErrParamMinLen("BeginMarker", 1)) 3975 } 3976 if s.EndMarker != nil && len(*s.EndMarker) < 1 { 3977 invalidParams.Add(request.NewErrParamMinLen("EndMarker", 1)) 3978 } 3979 3980 if invalidParams.Len() > 0 { 3981 return invalidParams 3982 } 3983 return nil 3984} 3985 3986// SetBeginMarker sets the BeginMarker field's value. 3987func (s *KeyRange) SetBeginMarker(v string) *KeyRange { 3988 s.BeginMarker = &v 3989 return s 3990} 3991 3992// SetEndMarker sets the EndMarker field's value. 3993func (s *KeyRange) SetEndMarker(v string) *KeyRange { 3994 s.EndMarker = &v 3995 return s 3996} 3997 3998// Identifies 3999type LambdaResource struct { 4000 _ struct{} `type:"structure"` 4001 4002 // The array of ARNs for S3Resource objects to trigger the LambdaResource objects 4003 // associated with this job. 4004 EventTriggers []*EventTriggerDefinition `type:"list"` 4005 4006 // An Amazon Resource Name (ARN) that represents an AWS Lambda function to be 4007 // triggered by PUT object actions on the associated local Amazon S3 resource. 4008 LambdaArn *string `type:"string"` 4009} 4010 4011// String returns the string representation 4012func (s LambdaResource) String() string { 4013 return awsutil.Prettify(s) 4014} 4015 4016// GoString returns the string representation 4017func (s LambdaResource) GoString() string { 4018 return s.String() 4019} 4020 4021// SetEventTriggers sets the EventTriggers field's value. 4022func (s *LambdaResource) SetEventTriggers(v []*EventTriggerDefinition) *LambdaResource { 4023 s.EventTriggers = v 4024 return s 4025} 4026 4027// SetLambdaArn sets the LambdaArn field's value. 4028func (s *LambdaResource) SetLambdaArn(v string) *LambdaResource { 4029 s.LambdaArn = &v 4030 return s 4031} 4032 4033type ListClusterJobsInput struct { 4034 _ struct{} `type:"structure"` 4035 4036 // The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000. 4037 // 4038 // ClusterId is a required field 4039 ClusterId *string `min:"39" type:"string" required:"true"` 4040 4041 // The number of JobListEntry objects to return. 4042 MaxResults *int64 `type:"integer"` 4043 4044 // HTTP requests are stateless. To identify what object comes "next" in the 4045 // list of JobListEntry objects, you have the option of specifying NextToken 4046 // as the starting point for your returned list. 4047 NextToken *string `min:"1" type:"string"` 4048} 4049 4050// String returns the string representation 4051func (s ListClusterJobsInput) String() string { 4052 return awsutil.Prettify(s) 4053} 4054 4055// GoString returns the string representation 4056func (s ListClusterJobsInput) GoString() string { 4057 return s.String() 4058} 4059 4060// Validate inspects the fields of the type to determine if they are valid. 4061func (s *ListClusterJobsInput) Validate() error { 4062 invalidParams := request.ErrInvalidParams{Context: "ListClusterJobsInput"} 4063 if s.ClusterId == nil { 4064 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 4065 } 4066 if s.ClusterId != nil && len(*s.ClusterId) < 39 { 4067 invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39)) 4068 } 4069 if s.NextToken != nil && len(*s.NextToken) < 1 { 4070 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4071 } 4072 4073 if invalidParams.Len() > 0 { 4074 return invalidParams 4075 } 4076 return nil 4077} 4078 4079// SetClusterId sets the ClusterId field's value. 4080func (s *ListClusterJobsInput) SetClusterId(v string) *ListClusterJobsInput { 4081 s.ClusterId = &v 4082 return s 4083} 4084 4085// SetMaxResults sets the MaxResults field's value. 4086func (s *ListClusterJobsInput) SetMaxResults(v int64) *ListClusterJobsInput { 4087 s.MaxResults = &v 4088 return s 4089} 4090 4091// SetNextToken sets the NextToken field's value. 4092func (s *ListClusterJobsInput) SetNextToken(v string) *ListClusterJobsInput { 4093 s.NextToken = &v 4094 return s 4095} 4096 4097type ListClusterJobsOutput struct { 4098 _ struct{} `type:"structure"` 4099 4100 // Each JobListEntry object contains a job's state, a job's ID, and a value 4101 // that indicates whether the job is a job part, in the case of export jobs. 4102 JobListEntries []*JobListEntry `type:"list"` 4103 4104 // HTTP requests are stateless. If you use the automatically generated NextToken 4105 // value in your next ListClusterJobsResult call, your list of returned jobs 4106 // will start from this point in the array. 4107 NextToken *string `min:"1" type:"string"` 4108} 4109 4110// String returns the string representation 4111func (s ListClusterJobsOutput) String() string { 4112 return awsutil.Prettify(s) 4113} 4114 4115// GoString returns the string representation 4116func (s ListClusterJobsOutput) GoString() string { 4117 return s.String() 4118} 4119 4120// SetJobListEntries sets the JobListEntries field's value. 4121func (s *ListClusterJobsOutput) SetJobListEntries(v []*JobListEntry) *ListClusterJobsOutput { 4122 s.JobListEntries = v 4123 return s 4124} 4125 4126// SetNextToken sets the NextToken field's value. 4127func (s *ListClusterJobsOutput) SetNextToken(v string) *ListClusterJobsOutput { 4128 s.NextToken = &v 4129 return s 4130} 4131 4132type ListClustersInput struct { 4133 _ struct{} `type:"structure"` 4134 4135 // The number of ClusterListEntry objects to return. 4136 MaxResults *int64 `type:"integer"` 4137 4138 // HTTP requests are stateless. To identify what object comes "next" in the 4139 // list of ClusterListEntry objects, you have the option of specifying NextToken 4140 // as the starting point for your returned list. 4141 NextToken *string `min:"1" type:"string"` 4142} 4143 4144// String returns the string representation 4145func (s ListClustersInput) String() string { 4146 return awsutil.Prettify(s) 4147} 4148 4149// GoString returns the string representation 4150func (s ListClustersInput) GoString() string { 4151 return s.String() 4152} 4153 4154// Validate inspects the fields of the type to determine if they are valid. 4155func (s *ListClustersInput) Validate() error { 4156 invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"} 4157 if s.NextToken != nil && len(*s.NextToken) < 1 { 4158 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4159 } 4160 4161 if invalidParams.Len() > 0 { 4162 return invalidParams 4163 } 4164 return nil 4165} 4166 4167// SetMaxResults sets the MaxResults field's value. 4168func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { 4169 s.MaxResults = &v 4170 return s 4171} 4172 4173// SetNextToken sets the NextToken field's value. 4174func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { 4175 s.NextToken = &v 4176 return s 4177} 4178 4179type ListClustersOutput struct { 4180 _ struct{} `type:"structure"` 4181 4182 // Each ClusterListEntry object contains a cluster's state, a cluster's ID, 4183 // and other important status information. 4184 ClusterListEntries []*ClusterListEntry `type:"list"` 4185 4186 // HTTP requests are stateless. If you use the automatically generated NextToken 4187 // value in your next ClusterListEntry call, your list of returned clusters 4188 // will start from this point in the array. 4189 NextToken *string `min:"1" type:"string"` 4190} 4191 4192// String returns the string representation 4193func (s ListClustersOutput) String() string { 4194 return awsutil.Prettify(s) 4195} 4196 4197// GoString returns the string representation 4198func (s ListClustersOutput) GoString() string { 4199 return s.String() 4200} 4201 4202// SetClusterListEntries sets the ClusterListEntries field's value. 4203func (s *ListClustersOutput) SetClusterListEntries(v []*ClusterListEntry) *ListClustersOutput { 4204 s.ClusterListEntries = v 4205 return s 4206} 4207 4208// SetNextToken sets the NextToken field's value. 4209func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { 4210 s.NextToken = &v 4211 return s 4212} 4213 4214type ListCompatibleImagesInput struct { 4215 _ struct{} `type:"structure"` 4216 4217 // The maximum number of results for the list of compatible images. Currently, 4218 // a Snowball Edge device can store 10 AMIs. 4219 MaxResults *int64 `type:"integer"` 4220 4221 // HTTP requests are stateless. To identify what object comes "next" in the 4222 // list of compatible images, you can specify a value for NextToken as the starting 4223 // point for your list of returned images. 4224 NextToken *string `min:"1" type:"string"` 4225} 4226 4227// String returns the string representation 4228func (s ListCompatibleImagesInput) String() string { 4229 return awsutil.Prettify(s) 4230} 4231 4232// GoString returns the string representation 4233func (s ListCompatibleImagesInput) GoString() string { 4234 return s.String() 4235} 4236 4237// Validate inspects the fields of the type to determine if they are valid. 4238func (s *ListCompatibleImagesInput) Validate() error { 4239 invalidParams := request.ErrInvalidParams{Context: "ListCompatibleImagesInput"} 4240 if s.NextToken != nil && len(*s.NextToken) < 1 { 4241 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4242 } 4243 4244 if invalidParams.Len() > 0 { 4245 return invalidParams 4246 } 4247 return nil 4248} 4249 4250// SetMaxResults sets the MaxResults field's value. 4251func (s *ListCompatibleImagesInput) SetMaxResults(v int64) *ListCompatibleImagesInput { 4252 s.MaxResults = &v 4253 return s 4254} 4255 4256// SetNextToken sets the NextToken field's value. 4257func (s *ListCompatibleImagesInput) SetNextToken(v string) *ListCompatibleImagesInput { 4258 s.NextToken = &v 4259 return s 4260} 4261 4262type ListCompatibleImagesOutput struct { 4263 _ struct{} `type:"structure"` 4264 4265 // A JSON-formatted object that describes a compatible AMI, including the ID 4266 // and name for a Snowball Edge AMI. 4267 CompatibleImages []*CompatibleImage `type:"list"` 4268 4269 // Because HTTP requests are stateless, this is the starting point for your 4270 // next list of returned images. 4271 NextToken *string `min:"1" type:"string"` 4272} 4273 4274// String returns the string representation 4275func (s ListCompatibleImagesOutput) String() string { 4276 return awsutil.Prettify(s) 4277} 4278 4279// GoString returns the string representation 4280func (s ListCompatibleImagesOutput) GoString() string { 4281 return s.String() 4282} 4283 4284// SetCompatibleImages sets the CompatibleImages field's value. 4285func (s *ListCompatibleImagesOutput) SetCompatibleImages(v []*CompatibleImage) *ListCompatibleImagesOutput { 4286 s.CompatibleImages = v 4287 return s 4288} 4289 4290// SetNextToken sets the NextToken field's value. 4291func (s *ListCompatibleImagesOutput) SetNextToken(v string) *ListCompatibleImagesOutput { 4292 s.NextToken = &v 4293 return s 4294} 4295 4296type ListJobsInput struct { 4297 _ struct{} `type:"structure"` 4298 4299 // The number of JobListEntry objects to return. 4300 MaxResults *int64 `type:"integer"` 4301 4302 // HTTP requests are stateless. To identify what object comes "next" in the 4303 // list of JobListEntry objects, you have the option of specifying NextToken 4304 // as the starting point for your returned list. 4305 NextToken *string `min:"1" type:"string"` 4306} 4307 4308// String returns the string representation 4309func (s ListJobsInput) String() string { 4310 return awsutil.Prettify(s) 4311} 4312 4313// GoString returns the string representation 4314func (s ListJobsInput) GoString() string { 4315 return s.String() 4316} 4317 4318// Validate inspects the fields of the type to determine if they are valid. 4319func (s *ListJobsInput) Validate() error { 4320 invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"} 4321 if s.NextToken != nil && len(*s.NextToken) < 1 { 4322 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4323 } 4324 4325 if invalidParams.Len() > 0 { 4326 return invalidParams 4327 } 4328 return nil 4329} 4330 4331// SetMaxResults sets the MaxResults field's value. 4332func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput { 4333 s.MaxResults = &v 4334 return s 4335} 4336 4337// SetNextToken sets the NextToken field's value. 4338func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput { 4339 s.NextToken = &v 4340 return s 4341} 4342 4343type ListJobsOutput struct { 4344 _ struct{} `type:"structure"` 4345 4346 // Each JobListEntry object contains a job's state, a job's ID, and a value 4347 // that indicates whether the job is a job part, in the case of export jobs. 4348 JobListEntries []*JobListEntry `type:"list"` 4349 4350 // HTTP requests are stateless. If you use this automatically generated NextToken 4351 // value in your next ListJobs call, your returned JobListEntry objects will 4352 // start from this point in the array. 4353 NextToken *string `min:"1" type:"string"` 4354} 4355 4356// String returns the string representation 4357func (s ListJobsOutput) String() string { 4358 return awsutil.Prettify(s) 4359} 4360 4361// GoString returns the string representation 4362func (s ListJobsOutput) GoString() string { 4363 return s.String() 4364} 4365 4366// SetJobListEntries sets the JobListEntries field's value. 4367func (s *ListJobsOutput) SetJobListEntries(v []*JobListEntry) *ListJobsOutput { 4368 s.JobListEntries = v 4369 return s 4370} 4371 4372// SetNextToken sets the NextToken field's value. 4373func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput { 4374 s.NextToken = &v 4375 return s 4376} 4377 4378// The Amazon Simple Notification Service (Amazon SNS) notification settings 4379// associated with a specific job. The Notification object is returned as a 4380// part of the response syntax of the DescribeJob action in the JobMetadata 4381// data type. 4382// 4383// When the notification settings are defined during job creation, you can choose 4384// to notify based on a specific set of job states using the JobStatesToNotify 4385// array of strings, or you can specify that you want to have Amazon SNS notifications 4386// sent out for all job states with NotifyAll set to true. 4387type Notification struct { 4388 _ struct{} `type:"structure"` 4389 4390 // The list of job states that will trigger a notification for this job. 4391 JobStatesToNotify []*string `type:"list"` 4392 4393 // Any change in job state will trigger a notification for this job. 4394 NotifyAll *bool `type:"boolean"` 4395 4396 // The new SNS TopicArn that you want to associate with this job. You can create 4397 // Amazon Resource Names (ARNs) for topics by using the CreateTopic (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html) 4398 // Amazon SNS API action. 4399 // 4400 // You can subscribe email addresses to an Amazon SNS topic through the AWS 4401 // Management Console, or by using the Subscribe (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) 4402 // AWS Simple Notification Service (SNS) API action. 4403 SnsTopicARN *string `type:"string"` 4404} 4405 4406// String returns the string representation 4407func (s Notification) String() string { 4408 return awsutil.Prettify(s) 4409} 4410 4411// GoString returns the string representation 4412func (s Notification) GoString() string { 4413 return s.String() 4414} 4415 4416// SetJobStatesToNotify sets the JobStatesToNotify field's value. 4417func (s *Notification) SetJobStatesToNotify(v []*string) *Notification { 4418 s.JobStatesToNotify = v 4419 return s 4420} 4421 4422// SetNotifyAll sets the NotifyAll field's value. 4423func (s *Notification) SetNotifyAll(v bool) *Notification { 4424 s.NotifyAll = &v 4425 return s 4426} 4427 4428// SetSnsTopicARN sets the SnsTopicARN field's value. 4429func (s *Notification) SetSnsTopicARN(v string) *Notification { 4430 s.SnsTopicARN = &v 4431 return s 4432} 4433 4434// Each S3Resource object represents an Amazon S3 bucket that your transferred 4435// data will be exported from or imported into. For export jobs, this object 4436// can have an optional KeyRange value. The length of the range is defined at 4437// job creation, and has either an inclusive BeginMarker, an inclusive EndMarker, 4438// or both. Ranges are UTF-8 binary sorted. 4439type S3Resource struct { 4440 _ struct{} `type:"structure"` 4441 4442 // The Amazon Resource Name (ARN) of an Amazon S3 bucket. 4443 BucketArn *string `type:"string"` 4444 4445 // For export jobs, you can provide an optional KeyRange within a specific Amazon 4446 // S3 bucket. The length of the range is defined at job creation, and has either 4447 // an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8 4448 // binary sorted. 4449 KeyRange *KeyRange `type:"structure"` 4450} 4451 4452// String returns the string representation 4453func (s S3Resource) String() string { 4454 return awsutil.Prettify(s) 4455} 4456 4457// GoString returns the string representation 4458func (s S3Resource) GoString() string { 4459 return s.String() 4460} 4461 4462// Validate inspects the fields of the type to determine if they are valid. 4463func (s *S3Resource) Validate() error { 4464 invalidParams := request.ErrInvalidParams{Context: "S3Resource"} 4465 if s.KeyRange != nil { 4466 if err := s.KeyRange.Validate(); err != nil { 4467 invalidParams.AddNested("KeyRange", err.(request.ErrInvalidParams)) 4468 } 4469 } 4470 4471 if invalidParams.Len() > 0 { 4472 return invalidParams 4473 } 4474 return nil 4475} 4476 4477// SetBucketArn sets the BucketArn field's value. 4478func (s *S3Resource) SetBucketArn(v string) *S3Resource { 4479 s.BucketArn = &v 4480 return s 4481} 4482 4483// SetKeyRange sets the KeyRange field's value. 4484func (s *S3Resource) SetKeyRange(v *KeyRange) *S3Resource { 4485 s.KeyRange = v 4486 return s 4487} 4488 4489// The Status and TrackingNumber information for an inbound or outbound shipment. 4490type Shipment struct { 4491 _ struct{} `type:"structure"` 4492 4493 // Status information for a shipment. 4494 Status *string `min:"1" type:"string"` 4495 4496 // The tracking number for this job. Using this tracking number with your region's 4497 // carrier's website, you can track a Snowball as the carrier transports it. 4498 // 4499 // For India, the carrier is Amazon Logistics. For all other regions, UPS is 4500 // the carrier. 4501 TrackingNumber *string `min:"1" type:"string"` 4502} 4503 4504// String returns the string representation 4505func (s Shipment) String() string { 4506 return awsutil.Prettify(s) 4507} 4508 4509// GoString returns the string representation 4510func (s Shipment) GoString() string { 4511 return s.String() 4512} 4513 4514// SetStatus sets the Status field's value. 4515func (s *Shipment) SetStatus(v string) *Shipment { 4516 s.Status = &v 4517 return s 4518} 4519 4520// SetTrackingNumber sets the TrackingNumber field's value. 4521func (s *Shipment) SetTrackingNumber(v string) *Shipment { 4522 s.TrackingNumber = &v 4523 return s 4524} 4525 4526// A job's shipping information, including inbound and outbound tracking numbers 4527// and shipping speed options. 4528type ShippingDetails struct { 4529 _ struct{} `type:"structure"` 4530 4531 // The Status and TrackingNumber values for a Snowball being returned to AWS 4532 // for a particular job. 4533 InboundShipment *Shipment `type:"structure"` 4534 4535 // The Status and TrackingNumber values for a Snowball being delivered to the 4536 // address that you specified for a particular job. 4537 OutboundShipment *Shipment `type:"structure"` 4538 4539 // The shipping speed for a particular job. This speed doesn't dictate how soon 4540 // you'll get the Snowball from the job's creation date. This speed represents 4541 // how quickly it moves to its destination while in transit. Regional shipping 4542 // speeds are as follows: 4543 // 4544 // * In Australia, you have access to express shipping. Typically, Snowballs 4545 // shipped express are delivered in about a day. 4546 // 4547 // * In the European Union (EU), you have access to express shipping. Typically, 4548 // Snowballs shipped express are delivered in about a day. In addition, most 4549 // countries in the EU have access to standard shipping, which typically 4550 // takes less than a week, one way. 4551 // 4552 // * In India, Snowballs are delivered in one to seven days. 4553 // 4554 // * In the United States of America (US), you have access to one-day shipping 4555 // and two-day shipping. 4556 ShippingOption *string `type:"string" enum:"ShippingOption"` 4557} 4558 4559// String returns the string representation 4560func (s ShippingDetails) String() string { 4561 return awsutil.Prettify(s) 4562} 4563 4564// GoString returns the string representation 4565func (s ShippingDetails) GoString() string { 4566 return s.String() 4567} 4568 4569// SetInboundShipment sets the InboundShipment field's value. 4570func (s *ShippingDetails) SetInboundShipment(v *Shipment) *ShippingDetails { 4571 s.InboundShipment = v 4572 return s 4573} 4574 4575// SetOutboundShipment sets the OutboundShipment field's value. 4576func (s *ShippingDetails) SetOutboundShipment(v *Shipment) *ShippingDetails { 4577 s.OutboundShipment = v 4578 return s 4579} 4580 4581// SetShippingOption sets the ShippingOption field's value. 4582func (s *ShippingDetails) SetShippingOption(v string) *ShippingDetails { 4583 s.ShippingOption = &v 4584 return s 4585} 4586 4587type UpdateClusterInput struct { 4588 _ struct{} `type:"structure"` 4589 4590 // The ID of the updated Address object. 4591 AddressId *string `min:"40" type:"string"` 4592 4593 // The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000. 4594 // 4595 // ClusterId is a required field 4596 ClusterId *string `min:"39" type:"string" required:"true"` 4597 4598 // The updated description of this cluster. 4599 Description *string `min:"1" type:"string"` 4600 4601 // The updated ID for the forwarding address for a cluster. This field is not 4602 // supported in most regions. 4603 ForwardingAddressId *string `min:"40" type:"string"` 4604 4605 // The new or updated Notification object. 4606 Notification *Notification `type:"structure"` 4607 4608 // The updated arrays of JobResource objects that can include updated S3Resource 4609 // objects or LambdaResource objects. 4610 Resources *JobResource `type:"structure"` 4611 4612 // The new role Amazon Resource Name (ARN) that you want to associate with this 4613 // cluster. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) 4614 // API action in AWS Identity and Access Management (IAM). 4615 RoleARN *string `type:"string"` 4616 4617 // The updated shipping option value of this cluster's ShippingDetails object. 4618 ShippingOption *string `type:"string" enum:"ShippingOption"` 4619} 4620 4621// String returns the string representation 4622func (s UpdateClusterInput) String() string { 4623 return awsutil.Prettify(s) 4624} 4625 4626// GoString returns the string representation 4627func (s UpdateClusterInput) GoString() string { 4628 return s.String() 4629} 4630 4631// Validate inspects the fields of the type to determine if they are valid. 4632func (s *UpdateClusterInput) Validate() error { 4633 invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"} 4634 if s.AddressId != nil && len(*s.AddressId) < 40 { 4635 invalidParams.Add(request.NewErrParamMinLen("AddressId", 40)) 4636 } 4637 if s.ClusterId == nil { 4638 invalidParams.Add(request.NewErrParamRequired("ClusterId")) 4639 } 4640 if s.ClusterId != nil && len(*s.ClusterId) < 39 { 4641 invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39)) 4642 } 4643 if s.Description != nil && len(*s.Description) < 1 { 4644 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 4645 } 4646 if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 { 4647 invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40)) 4648 } 4649 if s.Resources != nil { 4650 if err := s.Resources.Validate(); err != nil { 4651 invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) 4652 } 4653 } 4654 4655 if invalidParams.Len() > 0 { 4656 return invalidParams 4657 } 4658 return nil 4659} 4660 4661// SetAddressId sets the AddressId field's value. 4662func (s *UpdateClusterInput) SetAddressId(v string) *UpdateClusterInput { 4663 s.AddressId = &v 4664 return s 4665} 4666 4667// SetClusterId sets the ClusterId field's value. 4668func (s *UpdateClusterInput) SetClusterId(v string) *UpdateClusterInput { 4669 s.ClusterId = &v 4670 return s 4671} 4672 4673// SetDescription sets the Description field's value. 4674func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput { 4675 s.Description = &v 4676 return s 4677} 4678 4679// SetForwardingAddressId sets the ForwardingAddressId field's value. 4680func (s *UpdateClusterInput) SetForwardingAddressId(v string) *UpdateClusterInput { 4681 s.ForwardingAddressId = &v 4682 return s 4683} 4684 4685// SetNotification sets the Notification field's value. 4686func (s *UpdateClusterInput) SetNotification(v *Notification) *UpdateClusterInput { 4687 s.Notification = v 4688 return s 4689} 4690 4691// SetResources sets the Resources field's value. 4692func (s *UpdateClusterInput) SetResources(v *JobResource) *UpdateClusterInput { 4693 s.Resources = v 4694 return s 4695} 4696 4697// SetRoleARN sets the RoleARN field's value. 4698func (s *UpdateClusterInput) SetRoleARN(v string) *UpdateClusterInput { 4699 s.RoleARN = &v 4700 return s 4701} 4702 4703// SetShippingOption sets the ShippingOption field's value. 4704func (s *UpdateClusterInput) SetShippingOption(v string) *UpdateClusterInput { 4705 s.ShippingOption = &v 4706 return s 4707} 4708 4709type UpdateClusterOutput struct { 4710 _ struct{} `type:"structure"` 4711} 4712 4713// String returns the string representation 4714func (s UpdateClusterOutput) String() string { 4715 return awsutil.Prettify(s) 4716} 4717 4718// GoString returns the string representation 4719func (s UpdateClusterOutput) GoString() string { 4720 return s.String() 4721} 4722 4723type UpdateJobInput struct { 4724 _ struct{} `type:"structure"` 4725 4726 // The ID of the updated Address object. 4727 AddressId *string `min:"40" type:"string"` 4728 4729 // The updated description of this job's JobMetadata object. 4730 Description *string `min:"1" type:"string"` 4731 4732 // The updated ID for the forwarding address for a job. This field is not supported 4733 // in most regions. 4734 ForwardingAddressId *string `min:"40" type:"string"` 4735 4736 // The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000. 4737 // 4738 // JobId is a required field 4739 JobId *string `min:"39" type:"string" required:"true"` 4740 4741 // The new or updated Notification object. 4742 Notification *Notification `type:"structure"` 4743 4744 // The updated JobResource object, or the updated JobResource object. 4745 Resources *JobResource `type:"structure"` 4746 4747 // The new role Amazon Resource Name (ARN) that you want to associate with this 4748 // job. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)AWS 4749 // Identity and Access Management (IAM) API action. 4750 RoleARN *string `type:"string"` 4751 4752 // The updated shipping option value of this job's ShippingDetails object. 4753 ShippingOption *string `type:"string" enum:"ShippingOption"` 4754 4755 // The updated SnowballCapacityPreference of this job's JobMetadata object. 4756 // The 50 TB Snowballs are only available in the US regions. 4757 SnowballCapacityPreference *string `type:"string" enum:"Capacity"` 4758} 4759 4760// String returns the string representation 4761func (s UpdateJobInput) String() string { 4762 return awsutil.Prettify(s) 4763} 4764 4765// GoString returns the string representation 4766func (s UpdateJobInput) GoString() string { 4767 return s.String() 4768} 4769 4770// Validate inspects the fields of the type to determine if they are valid. 4771func (s *UpdateJobInput) Validate() error { 4772 invalidParams := request.ErrInvalidParams{Context: "UpdateJobInput"} 4773 if s.AddressId != nil && len(*s.AddressId) < 40 { 4774 invalidParams.Add(request.NewErrParamMinLen("AddressId", 40)) 4775 } 4776 if s.Description != nil && len(*s.Description) < 1 { 4777 invalidParams.Add(request.NewErrParamMinLen("Description", 1)) 4778 } 4779 if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 { 4780 invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40)) 4781 } 4782 if s.JobId == nil { 4783 invalidParams.Add(request.NewErrParamRequired("JobId")) 4784 } 4785 if s.JobId != nil && len(*s.JobId) < 39 { 4786 invalidParams.Add(request.NewErrParamMinLen("JobId", 39)) 4787 } 4788 if s.Resources != nil { 4789 if err := s.Resources.Validate(); err != nil { 4790 invalidParams.AddNested("Resources", err.(request.ErrInvalidParams)) 4791 } 4792 } 4793 4794 if invalidParams.Len() > 0 { 4795 return invalidParams 4796 } 4797 return nil 4798} 4799 4800// SetAddressId sets the AddressId field's value. 4801func (s *UpdateJobInput) SetAddressId(v string) *UpdateJobInput { 4802 s.AddressId = &v 4803 return s 4804} 4805 4806// SetDescription sets the Description field's value. 4807func (s *UpdateJobInput) SetDescription(v string) *UpdateJobInput { 4808 s.Description = &v 4809 return s 4810} 4811 4812// SetForwardingAddressId sets the ForwardingAddressId field's value. 4813func (s *UpdateJobInput) SetForwardingAddressId(v string) *UpdateJobInput { 4814 s.ForwardingAddressId = &v 4815 return s 4816} 4817 4818// SetJobId sets the JobId field's value. 4819func (s *UpdateJobInput) SetJobId(v string) *UpdateJobInput { 4820 s.JobId = &v 4821 return s 4822} 4823 4824// SetNotification sets the Notification field's value. 4825func (s *UpdateJobInput) SetNotification(v *Notification) *UpdateJobInput { 4826 s.Notification = v 4827 return s 4828} 4829 4830// SetResources sets the Resources field's value. 4831func (s *UpdateJobInput) SetResources(v *JobResource) *UpdateJobInput { 4832 s.Resources = v 4833 return s 4834} 4835 4836// SetRoleARN sets the RoleARN field's value. 4837func (s *UpdateJobInput) SetRoleARN(v string) *UpdateJobInput { 4838 s.RoleARN = &v 4839 return s 4840} 4841 4842// SetShippingOption sets the ShippingOption field's value. 4843func (s *UpdateJobInput) SetShippingOption(v string) *UpdateJobInput { 4844 s.ShippingOption = &v 4845 return s 4846} 4847 4848// SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value. 4849func (s *UpdateJobInput) SetSnowballCapacityPreference(v string) *UpdateJobInput { 4850 s.SnowballCapacityPreference = &v 4851 return s 4852} 4853 4854type UpdateJobOutput struct { 4855 _ struct{} `type:"structure"` 4856} 4857 4858// String returns the string representation 4859func (s UpdateJobOutput) String() string { 4860 return awsutil.Prettify(s) 4861} 4862 4863// GoString returns the string representation 4864func (s UpdateJobOutput) GoString() string { 4865 return s.String() 4866} 4867 4868const ( 4869 // CapacityT50 is a Capacity enum value 4870 CapacityT50 = "T50" 4871 4872 // CapacityT80 is a Capacity enum value 4873 CapacityT80 = "T80" 4874 4875 // CapacityT100 is a Capacity enum value 4876 CapacityT100 = "T100" 4877 4878 // CapacityT42 is a Capacity enum value 4879 CapacityT42 = "T42" 4880 4881 // CapacityNoPreference is a Capacity enum value 4882 CapacityNoPreference = "NoPreference" 4883) 4884 4885const ( 4886 // ClusterStateAwaitingQuorum is a ClusterState enum value 4887 ClusterStateAwaitingQuorum = "AwaitingQuorum" 4888 4889 // ClusterStatePending is a ClusterState enum value 4890 ClusterStatePending = "Pending" 4891 4892 // ClusterStateInUse is a ClusterState enum value 4893 ClusterStateInUse = "InUse" 4894 4895 // ClusterStateComplete is a ClusterState enum value 4896 ClusterStateComplete = "Complete" 4897 4898 // ClusterStateCancelled is a ClusterState enum value 4899 ClusterStateCancelled = "Cancelled" 4900) 4901 4902const ( 4903 // JobStateNew is a JobState enum value 4904 JobStateNew = "New" 4905 4906 // JobStatePreparingAppliance is a JobState enum value 4907 JobStatePreparingAppliance = "PreparingAppliance" 4908 4909 // JobStatePreparingShipment is a JobState enum value 4910 JobStatePreparingShipment = "PreparingShipment" 4911 4912 // JobStateInTransitToCustomer is a JobState enum value 4913 JobStateInTransitToCustomer = "InTransitToCustomer" 4914 4915 // JobStateWithCustomer is a JobState enum value 4916 JobStateWithCustomer = "WithCustomer" 4917 4918 // JobStateInTransitToAws is a JobState enum value 4919 JobStateInTransitToAws = "InTransitToAWS" 4920 4921 // JobStateWithAwssortingFacility is a JobState enum value 4922 JobStateWithAwssortingFacility = "WithAWSSortingFacility" 4923 4924 // JobStateWithAws is a JobState enum value 4925 JobStateWithAws = "WithAWS" 4926 4927 // JobStateInProgress is a JobState enum value 4928 JobStateInProgress = "InProgress" 4929 4930 // JobStateComplete is a JobState enum value 4931 JobStateComplete = "Complete" 4932 4933 // JobStateCancelled is a JobState enum value 4934 JobStateCancelled = "Cancelled" 4935 4936 // JobStateListing is a JobState enum value 4937 JobStateListing = "Listing" 4938 4939 // JobStatePending is a JobState enum value 4940 JobStatePending = "Pending" 4941) 4942 4943const ( 4944 // JobTypeImport is a JobType enum value 4945 JobTypeImport = "IMPORT" 4946 4947 // JobTypeExport is a JobType enum value 4948 JobTypeExport = "EXPORT" 4949 4950 // JobTypeLocalUse is a JobType enum value 4951 JobTypeLocalUse = "LOCAL_USE" 4952) 4953 4954const ( 4955 // ShippingOptionSecondDay is a ShippingOption enum value 4956 ShippingOptionSecondDay = "SECOND_DAY" 4957 4958 // ShippingOptionNextDay is a ShippingOption enum value 4959 ShippingOptionNextDay = "NEXT_DAY" 4960 4961 // ShippingOptionExpress is a ShippingOption enum value 4962 ShippingOptionExpress = "EXPRESS" 4963 4964 // ShippingOptionStandard is a ShippingOption enum value 4965 ShippingOptionStandard = "STANDARD" 4966) 4967 4968const ( 4969 // TypeStandard is a Type enum value 4970 TypeStandard = "STANDARD" 4971 4972 // TypeEdge is a Type enum value 4973 TypeEdge = "EDGE" 4974 4975 // TypeEdgeC is a Type enum value 4976 TypeEdgeC = "EDGE_C" 4977 4978 // TypeEdgeCg is a Type enum value 4979 TypeEdgeCg = "EDGE_CG" 4980) 4981