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