github.com/aavshr/aws-sdk-go@v1.41.3/service/snowball/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package snowball
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    14  )
    15  
    16  const 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
    42  func (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 Types:
    73  //   * KMSRequestFailedException
    74  //   The provided AWS Key Management Service key lacks the permissions to perform
    75  //   the specified CreateJob or UpdateJob action.
    76  //
    77  //   * 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  //   * 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
    86  func (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.
   100  func (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  
   107  const 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
   133  func (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 Types:
   164  //   * InvalidResourceException
   165  //   The specified resource can't be found. Check the information you provided
   166  //   in your last request, and try again.
   167  //
   168  //   * 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  //   * 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
   177  func (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.
   191  func (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  
   198  const 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
   224  func (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 Snow device 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 Types:
   255  //   * InvalidAddressException
   256  //   The address provided was invalid. Check the address with your region's carrier,
   257  //   and try again.
   258  //
   259  //   * 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
   265  func (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.
   279  func (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  
   286  const 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
   312  func (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 Types:
   342  //   * InvalidResourceException
   343  //   The specified resource can't be found. Check the information you provided
   344  //   in your last request, and try again.
   345  //
   346  //   * KMSRequestFailedException
   347  //   The provided AWS Key Management Service key lacks the permissions to perform
   348  //   the specified CreateJob or UpdateJob action.
   349  //
   350  //   * InvalidInputCombinationException
   351  //   Job or cluster creation failed. One or more inputs were invalid. Confirm
   352  //   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
   353  //   and try again.
   354  //
   355  //   * 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
   360  func (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.
   374  func (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  
   381  const 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
   407  func (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 a Snow device. If you're creating a job for
   428  // a node in a cluster, you only need to provide the clusterId value; the other
   429  // job attributes are inherited from the cluster.
   430  //
   431  // Only the Snowball; Edge device type is supported when ordering clustered
   432  // jobs.
   433  //
   434  // The device capacity is optional.
   435  //
   436  // Availability of device types differ by AWS Region. For more information about
   437  // Region availability, see AWS Regional Services (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4).
   438  //
   439  // AWS Snow Family device types and their capacities.
   440  //
   441  //    * Snow Family device type: SNC1_SSD Capacity: T14 Description: Snowcone
   442  //
   443  //    * Snow Family device type: SNC1_HDD Capacity: T8 Description: Snowcone
   444  //
   445  //    * Device type: EDGE_S Capacity: T98 Description: Snowball Edge Storage
   446  //    Optimized for data transfer only
   447  //
   448  //    * Device type: EDGE_CG Capacity: T42 Description: Snowball Edge Compute
   449  //    Optimized with GPU
   450  //
   451  //    * Device type: EDGE_C Capacity: T42 Description: Snowball Edge Compute
   452  //    Optimized without GPU
   453  //
   454  //    * Device type: EDGE Capacity: T100 Description: Snowball Edge Storage
   455  //    Optimized with EC2 Compute
   456  //
   457  //    * Device type: STANDARD Capacity: T50 Description: Original Snowball device
   458  //    This device is only available in the Ningxia, Beijing, and Singapore AWS
   459  //    Regions.
   460  //
   461  //    * Device type: STANDARD Capacity: T80 Description: Original Snowball device
   462  //    This device is only available in the Ningxia, Beijing, and Singapore AWS
   463  //    Regions.
   464  //
   465  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   466  // with awserr.Error's Code and Message methods to get detailed information about
   467  // the error.
   468  //
   469  // See the AWS API reference guide for Amazon Import/Export Snowball's
   470  // API operation CreateJob for usage and error information.
   471  //
   472  // Returned Error Types:
   473  //   * InvalidResourceException
   474  //   The specified resource can't be found. Check the information you provided
   475  //   in your last request, and try again.
   476  //
   477  //   * KMSRequestFailedException
   478  //   The provided AWS Key Management Service key lacks the permissions to perform
   479  //   the specified CreateJob or UpdateJob action.
   480  //
   481  //   * InvalidInputCombinationException
   482  //   Job or cluster creation failed. One or more inputs were invalid. Confirm
   483  //   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
   484  //   and try again.
   485  //
   486  //   * ClusterLimitExceededException
   487  //   Job creation failed. Currently, clusters support five nodes. If you have
   488  //   fewer than five nodes for your cluster and you have more nodes to create
   489  //   for this cluster, try again and create jobs until your cluster has exactly
   490  //   five nodes.
   491  //
   492  //   * Ec2RequestFailedException
   493  //   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
   494  //   action.
   495  //
   496  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateJob
   497  func (c *Snowball) CreateJob(input *CreateJobInput) (*CreateJobOutput, error) {
   498  	req, out := c.CreateJobRequest(input)
   499  	return out, req.Send()
   500  }
   501  
   502  // CreateJobWithContext is the same as CreateJob with the addition of
   503  // the ability to pass a context and additional request options.
   504  //
   505  // See CreateJob for details on how to use this API operation.
   506  //
   507  // The context must be non-nil and will be used for request cancellation. If
   508  // the context is nil a panic will occur. In the future the SDK may create
   509  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   510  // for more information on using Contexts.
   511  func (c *Snowball) CreateJobWithContext(ctx aws.Context, input *CreateJobInput, opts ...request.Option) (*CreateJobOutput, error) {
   512  	req, out := c.CreateJobRequest(input)
   513  	req.SetContext(ctx)
   514  	req.ApplyOptions(opts...)
   515  	return out, req.Send()
   516  }
   517  
   518  const opCreateLongTermPricing = "CreateLongTermPricing"
   519  
   520  // CreateLongTermPricingRequest generates a "aws/request.Request" representing the
   521  // client's request for the CreateLongTermPricing operation. The "output" return
   522  // value will be populated with the request's response once the request completes
   523  // successfully.
   524  //
   525  // Use "Send" method on the returned Request to send the API call to the service.
   526  // the "output" return value is not valid until after Send returns without error.
   527  //
   528  // See CreateLongTermPricing for more information on using the CreateLongTermPricing
   529  // API call, and error handling.
   530  //
   531  // This method is useful when you want to inject custom logic or configuration
   532  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   533  //
   534  //
   535  //    // Example sending a request using the CreateLongTermPricingRequest method.
   536  //    req, resp := client.CreateLongTermPricingRequest(params)
   537  //
   538  //    err := req.Send()
   539  //    if err == nil { // resp is now filled
   540  //        fmt.Println(resp)
   541  //    }
   542  //
   543  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateLongTermPricing
   544  func (c *Snowball) CreateLongTermPricingRequest(input *CreateLongTermPricingInput) (req *request.Request, output *CreateLongTermPricingOutput) {
   545  	op := &request.Operation{
   546  		Name:       opCreateLongTermPricing,
   547  		HTTPMethod: "POST",
   548  		HTTPPath:   "/",
   549  	}
   550  
   551  	if input == nil {
   552  		input = &CreateLongTermPricingInput{}
   553  	}
   554  
   555  	output = &CreateLongTermPricingOutput{}
   556  	req = c.newRequest(op, input, output)
   557  	return
   558  }
   559  
   560  // CreateLongTermPricing API operation for Amazon Import/Export Snowball.
   561  //
   562  // Creates a job with the long-term usage option for a device. The long-term
   563  // usage is a 1-year or 3-year long-term pricing type for the device. You are
   564  // billed upfront, and AWS provides discounts for long-term pricing.
   565  //
   566  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   567  // with awserr.Error's Code and Message methods to get detailed information about
   568  // the error.
   569  //
   570  // See the AWS API reference guide for Amazon Import/Export Snowball's
   571  // API operation CreateLongTermPricing for usage and error information.
   572  //
   573  // Returned Error Types:
   574  //   * InvalidResourceException
   575  //   The specified resource can't be found. Check the information you provided
   576  //   in your last request, and try again.
   577  //
   578  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateLongTermPricing
   579  func (c *Snowball) CreateLongTermPricing(input *CreateLongTermPricingInput) (*CreateLongTermPricingOutput, error) {
   580  	req, out := c.CreateLongTermPricingRequest(input)
   581  	return out, req.Send()
   582  }
   583  
   584  // CreateLongTermPricingWithContext is the same as CreateLongTermPricing with the addition of
   585  // the ability to pass a context and additional request options.
   586  //
   587  // See CreateLongTermPricing for details on how to use this API operation.
   588  //
   589  // The context must be non-nil and will be used for request cancellation. If
   590  // the context is nil a panic will occur. In the future the SDK may create
   591  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   592  // for more information on using Contexts.
   593  func (c *Snowball) CreateLongTermPricingWithContext(ctx aws.Context, input *CreateLongTermPricingInput, opts ...request.Option) (*CreateLongTermPricingOutput, error) {
   594  	req, out := c.CreateLongTermPricingRequest(input)
   595  	req.SetContext(ctx)
   596  	req.ApplyOptions(opts...)
   597  	return out, req.Send()
   598  }
   599  
   600  const opCreateReturnShippingLabel = "CreateReturnShippingLabel"
   601  
   602  // CreateReturnShippingLabelRequest generates a "aws/request.Request" representing the
   603  // client's request for the CreateReturnShippingLabel operation. The "output" return
   604  // value will be populated with the request's response once the request completes
   605  // successfully.
   606  //
   607  // Use "Send" method on the returned Request to send the API call to the service.
   608  // the "output" return value is not valid until after Send returns without error.
   609  //
   610  // See CreateReturnShippingLabel for more information on using the CreateReturnShippingLabel
   611  // API call, and error handling.
   612  //
   613  // This method is useful when you want to inject custom logic or configuration
   614  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   615  //
   616  //
   617  //    // Example sending a request using the CreateReturnShippingLabelRequest method.
   618  //    req, resp := client.CreateReturnShippingLabelRequest(params)
   619  //
   620  //    err := req.Send()
   621  //    if err == nil { // resp is now filled
   622  //        fmt.Println(resp)
   623  //    }
   624  //
   625  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateReturnShippingLabel
   626  func (c *Snowball) CreateReturnShippingLabelRequest(input *CreateReturnShippingLabelInput) (req *request.Request, output *CreateReturnShippingLabelOutput) {
   627  	op := &request.Operation{
   628  		Name:       opCreateReturnShippingLabel,
   629  		HTTPMethod: "POST",
   630  		HTTPPath:   "/",
   631  	}
   632  
   633  	if input == nil {
   634  		input = &CreateReturnShippingLabelInput{}
   635  	}
   636  
   637  	output = &CreateReturnShippingLabelOutput{}
   638  	req = c.newRequest(op, input, output)
   639  	return
   640  }
   641  
   642  // CreateReturnShippingLabel API operation for Amazon Import/Export Snowball.
   643  //
   644  // Creates a shipping label that will be used to return the Snow device to AWS.
   645  //
   646  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   647  // with awserr.Error's Code and Message methods to get detailed information about
   648  // the error.
   649  //
   650  // See the AWS API reference guide for Amazon Import/Export Snowball's
   651  // API operation CreateReturnShippingLabel for usage and error information.
   652  //
   653  // Returned Error Types:
   654  //   * InvalidResourceException
   655  //   The specified resource can't be found. Check the information you provided
   656  //   in your last request, and try again.
   657  //
   658  //   * InvalidJobStateException
   659  //   The action can't be performed because the job's current state doesn't allow
   660  //   that action to be performed.
   661  //
   662  //   * InvalidInputCombinationException
   663  //   Job or cluster creation failed. One or more inputs were invalid. Confirm
   664  //   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
   665  //   and try again.
   666  //
   667  //   * ConflictException
   668  //   You get this exception when you call CreateReturnShippingLabel more than
   669  //   once when other requests are not completed.
   670  //
   671  //   * ReturnShippingLabelAlreadyExistsException
   672  //   You get this exception if you call CreateReturnShippingLabel and a valid
   673  //   return shipping label already exists. In this case, use DescribeReturnShippingLabel
   674  //   to get the url.
   675  //
   676  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateReturnShippingLabel
   677  func (c *Snowball) CreateReturnShippingLabel(input *CreateReturnShippingLabelInput) (*CreateReturnShippingLabelOutput, error) {
   678  	req, out := c.CreateReturnShippingLabelRequest(input)
   679  	return out, req.Send()
   680  }
   681  
   682  // CreateReturnShippingLabelWithContext is the same as CreateReturnShippingLabel with the addition of
   683  // the ability to pass a context and additional request options.
   684  //
   685  // See CreateReturnShippingLabel for details on how to use this API operation.
   686  //
   687  // The context must be non-nil and will be used for request cancellation. If
   688  // the context is nil a panic will occur. In the future the SDK may create
   689  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   690  // for more information on using Contexts.
   691  func (c *Snowball) CreateReturnShippingLabelWithContext(ctx aws.Context, input *CreateReturnShippingLabelInput, opts ...request.Option) (*CreateReturnShippingLabelOutput, error) {
   692  	req, out := c.CreateReturnShippingLabelRequest(input)
   693  	req.SetContext(ctx)
   694  	req.ApplyOptions(opts...)
   695  	return out, req.Send()
   696  }
   697  
   698  const opDescribeAddress = "DescribeAddress"
   699  
   700  // DescribeAddressRequest generates a "aws/request.Request" representing the
   701  // client's request for the DescribeAddress operation. The "output" return
   702  // value will be populated with the request's response once the request completes
   703  // successfully.
   704  //
   705  // Use "Send" method on the returned Request to send the API call to the service.
   706  // the "output" return value is not valid until after Send returns without error.
   707  //
   708  // See DescribeAddress for more information on using the DescribeAddress
   709  // API call, and error handling.
   710  //
   711  // This method is useful when you want to inject custom logic or configuration
   712  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   713  //
   714  //
   715  //    // Example sending a request using the DescribeAddressRequest method.
   716  //    req, resp := client.DescribeAddressRequest(params)
   717  //
   718  //    err := req.Send()
   719  //    if err == nil { // resp is now filled
   720  //        fmt.Println(resp)
   721  //    }
   722  //
   723  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddress
   724  func (c *Snowball) DescribeAddressRequest(input *DescribeAddressInput) (req *request.Request, output *DescribeAddressOutput) {
   725  	op := &request.Operation{
   726  		Name:       opDescribeAddress,
   727  		HTTPMethod: "POST",
   728  		HTTPPath:   "/",
   729  	}
   730  
   731  	if input == nil {
   732  		input = &DescribeAddressInput{}
   733  	}
   734  
   735  	output = &DescribeAddressOutput{}
   736  	req = c.newRequest(op, input, output)
   737  	return
   738  }
   739  
   740  // DescribeAddress API operation for Amazon Import/Export Snowball.
   741  //
   742  // Takes an AddressId and returns specific details about that address in the
   743  // form of an Address object.
   744  //
   745  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   746  // with awserr.Error's Code and Message methods to get detailed information about
   747  // the error.
   748  //
   749  // See the AWS API reference guide for Amazon Import/Export Snowball's
   750  // API operation DescribeAddress for usage and error information.
   751  //
   752  // Returned Error Types:
   753  //   * InvalidResourceException
   754  //   The specified resource can't be found. Check the information you provided
   755  //   in your last request, and try again.
   756  //
   757  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddress
   758  func (c *Snowball) DescribeAddress(input *DescribeAddressInput) (*DescribeAddressOutput, error) {
   759  	req, out := c.DescribeAddressRequest(input)
   760  	return out, req.Send()
   761  }
   762  
   763  // DescribeAddressWithContext is the same as DescribeAddress with the addition of
   764  // the ability to pass a context and additional request options.
   765  //
   766  // See DescribeAddress for details on how to use this API operation.
   767  //
   768  // The context must be non-nil and will be used for request cancellation. If
   769  // the context is nil a panic will occur. In the future the SDK may create
   770  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   771  // for more information on using Contexts.
   772  func (c *Snowball) DescribeAddressWithContext(ctx aws.Context, input *DescribeAddressInput, opts ...request.Option) (*DescribeAddressOutput, error) {
   773  	req, out := c.DescribeAddressRequest(input)
   774  	req.SetContext(ctx)
   775  	req.ApplyOptions(opts...)
   776  	return out, req.Send()
   777  }
   778  
   779  const opDescribeAddresses = "DescribeAddresses"
   780  
   781  // DescribeAddressesRequest generates a "aws/request.Request" representing the
   782  // client's request for the DescribeAddresses operation. The "output" return
   783  // value will be populated with the request's response once the request completes
   784  // successfully.
   785  //
   786  // Use "Send" method on the returned Request to send the API call to the service.
   787  // the "output" return value is not valid until after Send returns without error.
   788  //
   789  // See DescribeAddresses for more information on using the DescribeAddresses
   790  // API call, and error handling.
   791  //
   792  // This method is useful when you want to inject custom logic or configuration
   793  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   794  //
   795  //
   796  //    // Example sending a request using the DescribeAddressesRequest method.
   797  //    req, resp := client.DescribeAddressesRequest(params)
   798  //
   799  //    err := req.Send()
   800  //    if err == nil { // resp is now filled
   801  //        fmt.Println(resp)
   802  //    }
   803  //
   804  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddresses
   805  func (c *Snowball) DescribeAddressesRequest(input *DescribeAddressesInput) (req *request.Request, output *DescribeAddressesOutput) {
   806  	op := &request.Operation{
   807  		Name:       opDescribeAddresses,
   808  		HTTPMethod: "POST",
   809  		HTTPPath:   "/",
   810  		Paginator: &request.Paginator{
   811  			InputTokens:     []string{"NextToken"},
   812  			OutputTokens:    []string{"NextToken"},
   813  			LimitToken:      "MaxResults",
   814  			TruncationToken: "",
   815  		},
   816  	}
   817  
   818  	if input == nil {
   819  		input = &DescribeAddressesInput{}
   820  	}
   821  
   822  	output = &DescribeAddressesOutput{}
   823  	req = c.newRequest(op, input, output)
   824  	return
   825  }
   826  
   827  // DescribeAddresses API operation for Amazon Import/Export Snowball.
   828  //
   829  // Returns a specified number of ADDRESS objects. Calling this API in one of
   830  // the US regions will return addresses from the list of all addresses associated
   831  // with this account in all US regions.
   832  //
   833  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   834  // with awserr.Error's Code and Message methods to get detailed information about
   835  // the error.
   836  //
   837  // See the AWS API reference guide for Amazon Import/Export Snowball's
   838  // API operation DescribeAddresses for usage and error information.
   839  //
   840  // Returned Error Types:
   841  //   * InvalidResourceException
   842  //   The specified resource can't be found. Check the information you provided
   843  //   in your last request, and try again.
   844  //
   845  //   * InvalidNextTokenException
   846  //   The NextToken string was altered unexpectedly, and the operation has stopped.
   847  //   Run the operation without changing the NextToken string, and try again.
   848  //
   849  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeAddresses
   850  func (c *Snowball) DescribeAddresses(input *DescribeAddressesInput) (*DescribeAddressesOutput, error) {
   851  	req, out := c.DescribeAddressesRequest(input)
   852  	return out, req.Send()
   853  }
   854  
   855  // DescribeAddressesWithContext is the same as DescribeAddresses with the addition of
   856  // the ability to pass a context and additional request options.
   857  //
   858  // See DescribeAddresses for details on how to use this API operation.
   859  //
   860  // The context must be non-nil and will be used for request cancellation. If
   861  // the context is nil a panic will occur. In the future the SDK may create
   862  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   863  // for more information on using Contexts.
   864  func (c *Snowball) DescribeAddressesWithContext(ctx aws.Context, input *DescribeAddressesInput, opts ...request.Option) (*DescribeAddressesOutput, error) {
   865  	req, out := c.DescribeAddressesRequest(input)
   866  	req.SetContext(ctx)
   867  	req.ApplyOptions(opts...)
   868  	return out, req.Send()
   869  }
   870  
   871  // DescribeAddressesPages iterates over the pages of a DescribeAddresses operation,
   872  // calling the "fn" function with the response data for each page. To stop
   873  // iterating, return false from the fn function.
   874  //
   875  // See DescribeAddresses method for more information on how to use this operation.
   876  //
   877  // Note: This operation can generate multiple requests to a service.
   878  //
   879  //    // Example iterating over at most 3 pages of a DescribeAddresses operation.
   880  //    pageNum := 0
   881  //    err := client.DescribeAddressesPages(params,
   882  //        func(page *snowball.DescribeAddressesOutput, lastPage bool) bool {
   883  //            pageNum++
   884  //            fmt.Println(page)
   885  //            return pageNum <= 3
   886  //        })
   887  //
   888  func (c *Snowball) DescribeAddressesPages(input *DescribeAddressesInput, fn func(*DescribeAddressesOutput, bool) bool) error {
   889  	return c.DescribeAddressesPagesWithContext(aws.BackgroundContext(), input, fn)
   890  }
   891  
   892  // DescribeAddressesPagesWithContext same as DescribeAddressesPages except
   893  // it takes a Context and allows setting request options on the pages.
   894  //
   895  // The context must be non-nil and will be used for request cancellation. If
   896  // the context is nil a panic will occur. In the future the SDK may create
   897  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   898  // for more information on using Contexts.
   899  func (c *Snowball) DescribeAddressesPagesWithContext(ctx aws.Context, input *DescribeAddressesInput, fn func(*DescribeAddressesOutput, bool) bool, opts ...request.Option) error {
   900  	p := request.Pagination{
   901  		NewRequest: func() (*request.Request, error) {
   902  			var inCpy *DescribeAddressesInput
   903  			if input != nil {
   904  				tmp := *input
   905  				inCpy = &tmp
   906  			}
   907  			req, _ := c.DescribeAddressesRequest(inCpy)
   908  			req.SetContext(ctx)
   909  			req.ApplyOptions(opts...)
   910  			return req, nil
   911  		},
   912  	}
   913  
   914  	for p.Next() {
   915  		if !fn(p.Page().(*DescribeAddressesOutput), !p.HasNextPage()) {
   916  			break
   917  		}
   918  	}
   919  
   920  	return p.Err()
   921  }
   922  
   923  const opDescribeCluster = "DescribeCluster"
   924  
   925  // DescribeClusterRequest generates a "aws/request.Request" representing the
   926  // client's request for the DescribeCluster operation. The "output" return
   927  // value will be populated with the request's response once the request completes
   928  // successfully.
   929  //
   930  // Use "Send" method on the returned Request to send the API call to the service.
   931  // the "output" return value is not valid until after Send returns without error.
   932  //
   933  // See DescribeCluster for more information on using the DescribeCluster
   934  // API call, and error handling.
   935  //
   936  // This method is useful when you want to inject custom logic or configuration
   937  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   938  //
   939  //
   940  //    // Example sending a request using the DescribeClusterRequest method.
   941  //    req, resp := client.DescribeClusterRequest(params)
   942  //
   943  //    err := req.Send()
   944  //    if err == nil { // resp is now filled
   945  //        fmt.Println(resp)
   946  //    }
   947  //
   948  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeCluster
   949  func (c *Snowball) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
   950  	op := &request.Operation{
   951  		Name:       opDescribeCluster,
   952  		HTTPMethod: "POST",
   953  		HTTPPath:   "/",
   954  	}
   955  
   956  	if input == nil {
   957  		input = &DescribeClusterInput{}
   958  	}
   959  
   960  	output = &DescribeClusterOutput{}
   961  	req = c.newRequest(op, input, output)
   962  	return
   963  }
   964  
   965  // DescribeCluster API operation for Amazon Import/Export Snowball.
   966  //
   967  // Returns information about a specific cluster including shipping information,
   968  // cluster status, and other important metadata.
   969  //
   970  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   971  // with awserr.Error's Code and Message methods to get detailed information about
   972  // the error.
   973  //
   974  // See the AWS API reference guide for Amazon Import/Export Snowball's
   975  // API operation DescribeCluster for usage and error information.
   976  //
   977  // Returned Error Types:
   978  //   * InvalidResourceException
   979  //   The specified resource can't be found. Check the information you provided
   980  //   in your last request, and try again.
   981  //
   982  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeCluster
   983  func (c *Snowball) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
   984  	req, out := c.DescribeClusterRequest(input)
   985  	return out, req.Send()
   986  }
   987  
   988  // DescribeClusterWithContext is the same as DescribeCluster with the addition of
   989  // the ability to pass a context and additional request options.
   990  //
   991  // See DescribeCluster for details on how to use this API operation.
   992  //
   993  // The context must be non-nil and will be used for request cancellation. If
   994  // the context is nil a panic will occur. In the future the SDK may create
   995  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   996  // for more information on using Contexts.
   997  func (c *Snowball) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) {
   998  	req, out := c.DescribeClusterRequest(input)
   999  	req.SetContext(ctx)
  1000  	req.ApplyOptions(opts...)
  1001  	return out, req.Send()
  1002  }
  1003  
  1004  const opDescribeJob = "DescribeJob"
  1005  
  1006  // DescribeJobRequest generates a "aws/request.Request" representing the
  1007  // client's request for the DescribeJob operation. The "output" return
  1008  // value will be populated with the request's response once the request completes
  1009  // successfully.
  1010  //
  1011  // Use "Send" method on the returned Request to send the API call to the service.
  1012  // the "output" return value is not valid until after Send returns without error.
  1013  //
  1014  // See DescribeJob for more information on using the DescribeJob
  1015  // API call, and error handling.
  1016  //
  1017  // This method is useful when you want to inject custom logic or configuration
  1018  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1019  //
  1020  //
  1021  //    // Example sending a request using the DescribeJobRequest method.
  1022  //    req, resp := client.DescribeJobRequest(params)
  1023  //
  1024  //    err := req.Send()
  1025  //    if err == nil { // resp is now filled
  1026  //        fmt.Println(resp)
  1027  //    }
  1028  //
  1029  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob
  1030  func (c *Snowball) DescribeJobRequest(input *DescribeJobInput) (req *request.Request, output *DescribeJobOutput) {
  1031  	op := &request.Operation{
  1032  		Name:       opDescribeJob,
  1033  		HTTPMethod: "POST",
  1034  		HTTPPath:   "/",
  1035  	}
  1036  
  1037  	if input == nil {
  1038  		input = &DescribeJobInput{}
  1039  	}
  1040  
  1041  	output = &DescribeJobOutput{}
  1042  	req = c.newRequest(op, input, output)
  1043  	return
  1044  }
  1045  
  1046  // DescribeJob API operation for Amazon Import/Export Snowball.
  1047  //
  1048  // Returns information about a specific job including shipping information,
  1049  // job status, and other important metadata.
  1050  //
  1051  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1052  // with awserr.Error's Code and Message methods to get detailed information about
  1053  // the error.
  1054  //
  1055  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1056  // API operation DescribeJob for usage and error information.
  1057  //
  1058  // Returned Error Types:
  1059  //   * InvalidResourceException
  1060  //   The specified resource can't be found. Check the information you provided
  1061  //   in your last request, and try again.
  1062  //
  1063  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeJob
  1064  func (c *Snowball) DescribeJob(input *DescribeJobInput) (*DescribeJobOutput, error) {
  1065  	req, out := c.DescribeJobRequest(input)
  1066  	return out, req.Send()
  1067  }
  1068  
  1069  // DescribeJobWithContext is the same as DescribeJob with the addition of
  1070  // the ability to pass a context and additional request options.
  1071  //
  1072  // See DescribeJob for details on how to use this API operation.
  1073  //
  1074  // The context must be non-nil and will be used for request cancellation. If
  1075  // the context is nil a panic will occur. In the future the SDK may create
  1076  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1077  // for more information on using Contexts.
  1078  func (c *Snowball) DescribeJobWithContext(ctx aws.Context, input *DescribeJobInput, opts ...request.Option) (*DescribeJobOutput, error) {
  1079  	req, out := c.DescribeJobRequest(input)
  1080  	req.SetContext(ctx)
  1081  	req.ApplyOptions(opts...)
  1082  	return out, req.Send()
  1083  }
  1084  
  1085  const opDescribeReturnShippingLabel = "DescribeReturnShippingLabel"
  1086  
  1087  // DescribeReturnShippingLabelRequest generates a "aws/request.Request" representing the
  1088  // client's request for the DescribeReturnShippingLabel operation. The "output" return
  1089  // value will be populated with the request's response once the request completes
  1090  // successfully.
  1091  //
  1092  // Use "Send" method on the returned Request to send the API call to the service.
  1093  // the "output" return value is not valid until after Send returns without error.
  1094  //
  1095  // See DescribeReturnShippingLabel for more information on using the DescribeReturnShippingLabel
  1096  // API call, and error handling.
  1097  //
  1098  // This method is useful when you want to inject custom logic or configuration
  1099  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1100  //
  1101  //
  1102  //    // Example sending a request using the DescribeReturnShippingLabelRequest method.
  1103  //    req, resp := client.DescribeReturnShippingLabelRequest(params)
  1104  //
  1105  //    err := req.Send()
  1106  //    if err == nil { // resp is now filled
  1107  //        fmt.Println(resp)
  1108  //    }
  1109  //
  1110  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeReturnShippingLabel
  1111  func (c *Snowball) DescribeReturnShippingLabelRequest(input *DescribeReturnShippingLabelInput) (req *request.Request, output *DescribeReturnShippingLabelOutput) {
  1112  	op := &request.Operation{
  1113  		Name:       opDescribeReturnShippingLabel,
  1114  		HTTPMethod: "POST",
  1115  		HTTPPath:   "/",
  1116  	}
  1117  
  1118  	if input == nil {
  1119  		input = &DescribeReturnShippingLabelInput{}
  1120  	}
  1121  
  1122  	output = &DescribeReturnShippingLabelOutput{}
  1123  	req = c.newRequest(op, input, output)
  1124  	return
  1125  }
  1126  
  1127  // DescribeReturnShippingLabel API operation for Amazon Import/Export Snowball.
  1128  //
  1129  // Information on the shipping label of a Snow device that is being returned
  1130  // to AWS.
  1131  //
  1132  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1133  // with awserr.Error's Code and Message methods to get detailed information about
  1134  // the error.
  1135  //
  1136  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1137  // API operation DescribeReturnShippingLabel for usage and error information.
  1138  //
  1139  // Returned Error Types:
  1140  //   * InvalidResourceException
  1141  //   The specified resource can't be found. Check the information you provided
  1142  //   in your last request, and try again.
  1143  //
  1144  //   * InvalidJobStateException
  1145  //   The action can't be performed because the job's current state doesn't allow
  1146  //   that action to be performed.
  1147  //
  1148  //   * ConflictException
  1149  //   You get this exception when you call CreateReturnShippingLabel more than
  1150  //   once when other requests are not completed.
  1151  //
  1152  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/DescribeReturnShippingLabel
  1153  func (c *Snowball) DescribeReturnShippingLabel(input *DescribeReturnShippingLabelInput) (*DescribeReturnShippingLabelOutput, error) {
  1154  	req, out := c.DescribeReturnShippingLabelRequest(input)
  1155  	return out, req.Send()
  1156  }
  1157  
  1158  // DescribeReturnShippingLabelWithContext is the same as DescribeReturnShippingLabel with the addition of
  1159  // the ability to pass a context and additional request options.
  1160  //
  1161  // See DescribeReturnShippingLabel for details on how to use this API operation.
  1162  //
  1163  // The context must be non-nil and will be used for request cancellation. If
  1164  // the context is nil a panic will occur. In the future the SDK may create
  1165  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1166  // for more information on using Contexts.
  1167  func (c *Snowball) DescribeReturnShippingLabelWithContext(ctx aws.Context, input *DescribeReturnShippingLabelInput, opts ...request.Option) (*DescribeReturnShippingLabelOutput, error) {
  1168  	req, out := c.DescribeReturnShippingLabelRequest(input)
  1169  	req.SetContext(ctx)
  1170  	req.ApplyOptions(opts...)
  1171  	return out, req.Send()
  1172  }
  1173  
  1174  const opGetJobManifest = "GetJobManifest"
  1175  
  1176  // GetJobManifestRequest generates a "aws/request.Request" representing the
  1177  // client's request for the GetJobManifest operation. The "output" return
  1178  // value will be populated with the request's response once the request completes
  1179  // successfully.
  1180  //
  1181  // Use "Send" method on the returned Request to send the API call to the service.
  1182  // the "output" return value is not valid until after Send returns without error.
  1183  //
  1184  // See GetJobManifest for more information on using the GetJobManifest
  1185  // API call, and error handling.
  1186  //
  1187  // This method is useful when you want to inject custom logic or configuration
  1188  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1189  //
  1190  //
  1191  //    // Example sending a request using the GetJobManifestRequest method.
  1192  //    req, resp := client.GetJobManifestRequest(params)
  1193  //
  1194  //    err := req.Send()
  1195  //    if err == nil { // resp is now filled
  1196  //        fmt.Println(resp)
  1197  //    }
  1198  //
  1199  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobManifest
  1200  func (c *Snowball) GetJobManifestRequest(input *GetJobManifestInput) (req *request.Request, output *GetJobManifestOutput) {
  1201  	op := &request.Operation{
  1202  		Name:       opGetJobManifest,
  1203  		HTTPMethod: "POST",
  1204  		HTTPPath:   "/",
  1205  	}
  1206  
  1207  	if input == nil {
  1208  		input = &GetJobManifestInput{}
  1209  	}
  1210  
  1211  	output = &GetJobManifestOutput{}
  1212  	req = c.newRequest(op, input, output)
  1213  	return
  1214  }
  1215  
  1216  // GetJobManifest API operation for Amazon Import/Export Snowball.
  1217  //
  1218  // Returns a link to an Amazon S3 presigned URL for the manifest file associated
  1219  // with the specified JobId value. You can access the manifest file for up to
  1220  // 60 minutes after this request has been made. To access the manifest file
  1221  // after 60 minutes have passed, you'll have to make another call to the GetJobManifest
  1222  // action.
  1223  //
  1224  // The manifest is an encrypted file that you can download after your job enters
  1225  // the WithCustomer status. The manifest is decrypted by using the UnlockCode
  1226  // code value, when you pass both values to the Snow device through the Snowball
  1227  // client when the client is started for the first time.
  1228  //
  1229  // As a best practice, we recommend that you don't save a copy of an UnlockCode
  1230  // value in the same location as the manifest file for that job. Saving these
  1231  // separately helps prevent unauthorized parties from gaining access to the
  1232  // Snow device associated with that job.
  1233  //
  1234  // The credentials of a given job, including its manifest file and unlock code,
  1235  // expire 360 days after the job is created.
  1236  //
  1237  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1238  // with awserr.Error's Code and Message methods to get detailed information about
  1239  // the error.
  1240  //
  1241  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1242  // API operation GetJobManifest for usage and error information.
  1243  //
  1244  // Returned Error Types:
  1245  //   * InvalidResourceException
  1246  //   The specified resource can't be found. Check the information you provided
  1247  //   in your last request, and try again.
  1248  //
  1249  //   * InvalidJobStateException
  1250  //   The action can't be performed because the job's current state doesn't allow
  1251  //   that action to be performed.
  1252  //
  1253  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobManifest
  1254  func (c *Snowball) GetJobManifest(input *GetJobManifestInput) (*GetJobManifestOutput, error) {
  1255  	req, out := c.GetJobManifestRequest(input)
  1256  	return out, req.Send()
  1257  }
  1258  
  1259  // GetJobManifestWithContext is the same as GetJobManifest with the addition of
  1260  // the ability to pass a context and additional request options.
  1261  //
  1262  // See GetJobManifest for details on how to use this API operation.
  1263  //
  1264  // The context must be non-nil and will be used for request cancellation. If
  1265  // the context is nil a panic will occur. In the future the SDK may create
  1266  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1267  // for more information on using Contexts.
  1268  func (c *Snowball) GetJobManifestWithContext(ctx aws.Context, input *GetJobManifestInput, opts ...request.Option) (*GetJobManifestOutput, error) {
  1269  	req, out := c.GetJobManifestRequest(input)
  1270  	req.SetContext(ctx)
  1271  	req.ApplyOptions(opts...)
  1272  	return out, req.Send()
  1273  }
  1274  
  1275  const opGetJobUnlockCode = "GetJobUnlockCode"
  1276  
  1277  // GetJobUnlockCodeRequest generates a "aws/request.Request" representing the
  1278  // client's request for the GetJobUnlockCode operation. The "output" return
  1279  // value will be populated with the request's response once the request completes
  1280  // successfully.
  1281  //
  1282  // Use "Send" method on the returned Request to send the API call to the service.
  1283  // the "output" return value is not valid until after Send returns without error.
  1284  //
  1285  // See GetJobUnlockCode for more information on using the GetJobUnlockCode
  1286  // API call, and error handling.
  1287  //
  1288  // This method is useful when you want to inject custom logic or configuration
  1289  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1290  //
  1291  //
  1292  //    // Example sending a request using the GetJobUnlockCodeRequest method.
  1293  //    req, resp := client.GetJobUnlockCodeRequest(params)
  1294  //
  1295  //    err := req.Send()
  1296  //    if err == nil { // resp is now filled
  1297  //        fmt.Println(resp)
  1298  //    }
  1299  //
  1300  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobUnlockCode
  1301  func (c *Snowball) GetJobUnlockCodeRequest(input *GetJobUnlockCodeInput) (req *request.Request, output *GetJobUnlockCodeOutput) {
  1302  	op := &request.Operation{
  1303  		Name:       opGetJobUnlockCode,
  1304  		HTTPMethod: "POST",
  1305  		HTTPPath:   "/",
  1306  	}
  1307  
  1308  	if input == nil {
  1309  		input = &GetJobUnlockCodeInput{}
  1310  	}
  1311  
  1312  	output = &GetJobUnlockCodeOutput{}
  1313  	req = c.newRequest(op, input, output)
  1314  	return
  1315  }
  1316  
  1317  // GetJobUnlockCode API operation for Amazon Import/Export Snowball.
  1318  //
  1319  // Returns the UnlockCode code value for the specified job. A particular UnlockCode
  1320  // value can be accessed for up to 360 days after the associated job has been
  1321  // created.
  1322  //
  1323  // The UnlockCode value is a 29-character code with 25 alphanumeric characters
  1324  // and 4 hyphens. This code is used to decrypt the manifest file when it is
  1325  // passed along with the manifest to the Snow device through the Snowball client
  1326  // when the client is started for the first time.
  1327  //
  1328  // As a best practice, we recommend that you don't save a copy of the UnlockCode
  1329  // in the same location as the manifest file for that job. Saving these separately
  1330  // helps prevent unauthorized parties from gaining access to the Snow device
  1331  // associated with that job.
  1332  //
  1333  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1334  // with awserr.Error's Code and Message methods to get detailed information about
  1335  // the error.
  1336  //
  1337  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1338  // API operation GetJobUnlockCode for usage and error information.
  1339  //
  1340  // Returned Error Types:
  1341  //   * InvalidResourceException
  1342  //   The specified resource can't be found. Check the information you provided
  1343  //   in your last request, and try again.
  1344  //
  1345  //   * InvalidJobStateException
  1346  //   The action can't be performed because the job's current state doesn't allow
  1347  //   that action to be performed.
  1348  //
  1349  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetJobUnlockCode
  1350  func (c *Snowball) GetJobUnlockCode(input *GetJobUnlockCodeInput) (*GetJobUnlockCodeOutput, error) {
  1351  	req, out := c.GetJobUnlockCodeRequest(input)
  1352  	return out, req.Send()
  1353  }
  1354  
  1355  // GetJobUnlockCodeWithContext is the same as GetJobUnlockCode with the addition of
  1356  // the ability to pass a context and additional request options.
  1357  //
  1358  // See GetJobUnlockCode for details on how to use this API operation.
  1359  //
  1360  // The context must be non-nil and will be used for request cancellation. If
  1361  // the context is nil a panic will occur. In the future the SDK may create
  1362  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1363  // for more information on using Contexts.
  1364  func (c *Snowball) GetJobUnlockCodeWithContext(ctx aws.Context, input *GetJobUnlockCodeInput, opts ...request.Option) (*GetJobUnlockCodeOutput, error) {
  1365  	req, out := c.GetJobUnlockCodeRequest(input)
  1366  	req.SetContext(ctx)
  1367  	req.ApplyOptions(opts...)
  1368  	return out, req.Send()
  1369  }
  1370  
  1371  const opGetSnowballUsage = "GetSnowballUsage"
  1372  
  1373  // GetSnowballUsageRequest generates a "aws/request.Request" representing the
  1374  // client's request for the GetSnowballUsage operation. The "output" return
  1375  // value will be populated with the request's response once the request completes
  1376  // successfully.
  1377  //
  1378  // Use "Send" method on the returned Request to send the API call to the service.
  1379  // the "output" return value is not valid until after Send returns without error.
  1380  //
  1381  // See GetSnowballUsage for more information on using the GetSnowballUsage
  1382  // API call, and error handling.
  1383  //
  1384  // This method is useful when you want to inject custom logic or configuration
  1385  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1386  //
  1387  //
  1388  //    // Example sending a request using the GetSnowballUsageRequest method.
  1389  //    req, resp := client.GetSnowballUsageRequest(params)
  1390  //
  1391  //    err := req.Send()
  1392  //    if err == nil { // resp is now filled
  1393  //        fmt.Println(resp)
  1394  //    }
  1395  //
  1396  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSnowballUsage
  1397  func (c *Snowball) GetSnowballUsageRequest(input *GetSnowballUsageInput) (req *request.Request, output *GetSnowballUsageOutput) {
  1398  	op := &request.Operation{
  1399  		Name:       opGetSnowballUsage,
  1400  		HTTPMethod: "POST",
  1401  		HTTPPath:   "/",
  1402  	}
  1403  
  1404  	if input == nil {
  1405  		input = &GetSnowballUsageInput{}
  1406  	}
  1407  
  1408  	output = &GetSnowballUsageOutput{}
  1409  	req = c.newRequest(op, input, output)
  1410  	return
  1411  }
  1412  
  1413  // GetSnowballUsage API operation for Amazon Import/Export Snowball.
  1414  //
  1415  // Returns information about the Snow Family service limit for your account,
  1416  // and also the number of Snow devices your account has in use.
  1417  //
  1418  // The default service limit for the number of Snow devices that you can have
  1419  // at one time is 1. If you want to increase your service limit, contact AWS
  1420  // Support.
  1421  //
  1422  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1423  // with awserr.Error's Code and Message methods to get detailed information about
  1424  // the error.
  1425  //
  1426  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1427  // API operation GetSnowballUsage for usage and error information.
  1428  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSnowballUsage
  1429  func (c *Snowball) GetSnowballUsage(input *GetSnowballUsageInput) (*GetSnowballUsageOutput, error) {
  1430  	req, out := c.GetSnowballUsageRequest(input)
  1431  	return out, req.Send()
  1432  }
  1433  
  1434  // GetSnowballUsageWithContext is the same as GetSnowballUsage with the addition of
  1435  // the ability to pass a context and additional request options.
  1436  //
  1437  // See GetSnowballUsage for details on how to use this API operation.
  1438  //
  1439  // The context must be non-nil and will be used for request cancellation. If
  1440  // the context is nil a panic will occur. In the future the SDK may create
  1441  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1442  // for more information on using Contexts.
  1443  func (c *Snowball) GetSnowballUsageWithContext(ctx aws.Context, input *GetSnowballUsageInput, opts ...request.Option) (*GetSnowballUsageOutput, error) {
  1444  	req, out := c.GetSnowballUsageRequest(input)
  1445  	req.SetContext(ctx)
  1446  	req.ApplyOptions(opts...)
  1447  	return out, req.Send()
  1448  }
  1449  
  1450  const opGetSoftwareUpdates = "GetSoftwareUpdates"
  1451  
  1452  // GetSoftwareUpdatesRequest generates a "aws/request.Request" representing the
  1453  // client's request for the GetSoftwareUpdates operation. The "output" return
  1454  // value will be populated with the request's response once the request completes
  1455  // successfully.
  1456  //
  1457  // Use "Send" method on the returned Request to send the API call to the service.
  1458  // the "output" return value is not valid until after Send returns without error.
  1459  //
  1460  // See GetSoftwareUpdates for more information on using the GetSoftwareUpdates
  1461  // API call, and error handling.
  1462  //
  1463  // This method is useful when you want to inject custom logic or configuration
  1464  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1465  //
  1466  //
  1467  //    // Example sending a request using the GetSoftwareUpdatesRequest method.
  1468  //    req, resp := client.GetSoftwareUpdatesRequest(params)
  1469  //
  1470  //    err := req.Send()
  1471  //    if err == nil { // resp is now filled
  1472  //        fmt.Println(resp)
  1473  //    }
  1474  //
  1475  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSoftwareUpdates
  1476  func (c *Snowball) GetSoftwareUpdatesRequest(input *GetSoftwareUpdatesInput) (req *request.Request, output *GetSoftwareUpdatesOutput) {
  1477  	op := &request.Operation{
  1478  		Name:       opGetSoftwareUpdates,
  1479  		HTTPMethod: "POST",
  1480  		HTTPPath:   "/",
  1481  	}
  1482  
  1483  	if input == nil {
  1484  		input = &GetSoftwareUpdatesInput{}
  1485  	}
  1486  
  1487  	output = &GetSoftwareUpdatesOutput{}
  1488  	req = c.newRequest(op, input, output)
  1489  	return
  1490  }
  1491  
  1492  // GetSoftwareUpdates API operation for Amazon Import/Export Snowball.
  1493  //
  1494  // Returns an Amazon S3 presigned URL for an update file associated with a specified
  1495  // JobId.
  1496  //
  1497  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1498  // with awserr.Error's Code and Message methods to get detailed information about
  1499  // the error.
  1500  //
  1501  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1502  // API operation GetSoftwareUpdates for usage and error information.
  1503  //
  1504  // Returned Error Types:
  1505  //   * InvalidResourceException
  1506  //   The specified resource can't be found. Check the information you provided
  1507  //   in your last request, and try again.
  1508  //
  1509  //   * InvalidJobStateException
  1510  //   The action can't be performed because the job's current state doesn't allow
  1511  //   that action to be performed.
  1512  //
  1513  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/GetSoftwareUpdates
  1514  func (c *Snowball) GetSoftwareUpdates(input *GetSoftwareUpdatesInput) (*GetSoftwareUpdatesOutput, error) {
  1515  	req, out := c.GetSoftwareUpdatesRequest(input)
  1516  	return out, req.Send()
  1517  }
  1518  
  1519  // GetSoftwareUpdatesWithContext is the same as GetSoftwareUpdates with the addition of
  1520  // the ability to pass a context and additional request options.
  1521  //
  1522  // See GetSoftwareUpdates for details on how to use this API operation.
  1523  //
  1524  // The context must be non-nil and will be used for request cancellation. If
  1525  // the context is nil a panic will occur. In the future the SDK may create
  1526  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1527  // for more information on using Contexts.
  1528  func (c *Snowball) GetSoftwareUpdatesWithContext(ctx aws.Context, input *GetSoftwareUpdatesInput, opts ...request.Option) (*GetSoftwareUpdatesOutput, error) {
  1529  	req, out := c.GetSoftwareUpdatesRequest(input)
  1530  	req.SetContext(ctx)
  1531  	req.ApplyOptions(opts...)
  1532  	return out, req.Send()
  1533  }
  1534  
  1535  const opListClusterJobs = "ListClusterJobs"
  1536  
  1537  // ListClusterJobsRequest generates a "aws/request.Request" representing the
  1538  // client's request for the ListClusterJobs operation. The "output" return
  1539  // value will be populated with the request's response once the request completes
  1540  // successfully.
  1541  //
  1542  // Use "Send" method on the returned Request to send the API call to the service.
  1543  // the "output" return value is not valid until after Send returns without error.
  1544  //
  1545  // See ListClusterJobs for more information on using the ListClusterJobs
  1546  // API call, and error handling.
  1547  //
  1548  // This method is useful when you want to inject custom logic or configuration
  1549  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1550  //
  1551  //
  1552  //    // Example sending a request using the ListClusterJobsRequest method.
  1553  //    req, resp := client.ListClusterJobsRequest(params)
  1554  //
  1555  //    err := req.Send()
  1556  //    if err == nil { // resp is now filled
  1557  //        fmt.Println(resp)
  1558  //    }
  1559  //
  1560  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusterJobs
  1561  func (c *Snowball) ListClusterJobsRequest(input *ListClusterJobsInput) (req *request.Request, output *ListClusterJobsOutput) {
  1562  	op := &request.Operation{
  1563  		Name:       opListClusterJobs,
  1564  		HTTPMethod: "POST",
  1565  		HTTPPath:   "/",
  1566  	}
  1567  
  1568  	if input == nil {
  1569  		input = &ListClusterJobsInput{}
  1570  	}
  1571  
  1572  	output = &ListClusterJobsOutput{}
  1573  	req = c.newRequest(op, input, output)
  1574  	return
  1575  }
  1576  
  1577  // ListClusterJobs API operation for Amazon Import/Export Snowball.
  1578  //
  1579  // Returns an array of JobListEntry objects of the specified length. Each JobListEntry
  1580  // object is for a job in the specified cluster and contains a job's state,
  1581  // a job's ID, and other information.
  1582  //
  1583  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1584  // with awserr.Error's Code and Message methods to get detailed information about
  1585  // the error.
  1586  //
  1587  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1588  // API operation ListClusterJobs for usage and error information.
  1589  //
  1590  // Returned Error Types:
  1591  //   * InvalidResourceException
  1592  //   The specified resource can't be found. Check the information you provided
  1593  //   in your last request, and try again.
  1594  //
  1595  //   * InvalidNextTokenException
  1596  //   The NextToken string was altered unexpectedly, and the operation has stopped.
  1597  //   Run the operation without changing the NextToken string, and try again.
  1598  //
  1599  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusterJobs
  1600  func (c *Snowball) ListClusterJobs(input *ListClusterJobsInput) (*ListClusterJobsOutput, error) {
  1601  	req, out := c.ListClusterJobsRequest(input)
  1602  	return out, req.Send()
  1603  }
  1604  
  1605  // ListClusterJobsWithContext is the same as ListClusterJobs with the addition of
  1606  // the ability to pass a context and additional request options.
  1607  //
  1608  // See ListClusterJobs for details on how to use this API operation.
  1609  //
  1610  // The context must be non-nil and will be used for request cancellation. If
  1611  // the context is nil a panic will occur. In the future the SDK may create
  1612  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1613  // for more information on using Contexts.
  1614  func (c *Snowball) ListClusterJobsWithContext(ctx aws.Context, input *ListClusterJobsInput, opts ...request.Option) (*ListClusterJobsOutput, error) {
  1615  	req, out := c.ListClusterJobsRequest(input)
  1616  	req.SetContext(ctx)
  1617  	req.ApplyOptions(opts...)
  1618  	return out, req.Send()
  1619  }
  1620  
  1621  const opListClusters = "ListClusters"
  1622  
  1623  // ListClustersRequest generates a "aws/request.Request" representing the
  1624  // client's request for the ListClusters operation. The "output" return
  1625  // value will be populated with the request's response once the request completes
  1626  // successfully.
  1627  //
  1628  // Use "Send" method on the returned Request to send the API call to the service.
  1629  // the "output" return value is not valid until after Send returns without error.
  1630  //
  1631  // See ListClusters for more information on using the ListClusters
  1632  // API call, and error handling.
  1633  //
  1634  // This method is useful when you want to inject custom logic or configuration
  1635  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1636  //
  1637  //
  1638  //    // Example sending a request using the ListClustersRequest method.
  1639  //    req, resp := client.ListClustersRequest(params)
  1640  //
  1641  //    err := req.Send()
  1642  //    if err == nil { // resp is now filled
  1643  //        fmt.Println(resp)
  1644  //    }
  1645  //
  1646  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusters
  1647  func (c *Snowball) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
  1648  	op := &request.Operation{
  1649  		Name:       opListClusters,
  1650  		HTTPMethod: "POST",
  1651  		HTTPPath:   "/",
  1652  	}
  1653  
  1654  	if input == nil {
  1655  		input = &ListClustersInput{}
  1656  	}
  1657  
  1658  	output = &ListClustersOutput{}
  1659  	req = c.newRequest(op, input, output)
  1660  	return
  1661  }
  1662  
  1663  // ListClusters API operation for Amazon Import/Export Snowball.
  1664  //
  1665  // Returns an array of ClusterListEntry objects of the specified length. Each
  1666  // ClusterListEntry object contains a cluster's state, a cluster's ID, and other
  1667  // important status information.
  1668  //
  1669  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1670  // with awserr.Error's Code and Message methods to get detailed information about
  1671  // the error.
  1672  //
  1673  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1674  // API operation ListClusters for usage and error information.
  1675  //
  1676  // Returned Error Types:
  1677  //   * InvalidNextTokenException
  1678  //   The NextToken string was altered unexpectedly, and the operation has stopped.
  1679  //   Run the operation without changing the NextToken string, and try again.
  1680  //
  1681  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListClusters
  1682  func (c *Snowball) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
  1683  	req, out := c.ListClustersRequest(input)
  1684  	return out, req.Send()
  1685  }
  1686  
  1687  // ListClustersWithContext is the same as ListClusters with the addition of
  1688  // the ability to pass a context and additional request options.
  1689  //
  1690  // See ListClusters for details on how to use this API operation.
  1691  //
  1692  // The context must be non-nil and will be used for request cancellation. If
  1693  // the context is nil a panic will occur. In the future the SDK may create
  1694  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1695  // for more information on using Contexts.
  1696  func (c *Snowball) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
  1697  	req, out := c.ListClustersRequest(input)
  1698  	req.SetContext(ctx)
  1699  	req.ApplyOptions(opts...)
  1700  	return out, req.Send()
  1701  }
  1702  
  1703  const opListCompatibleImages = "ListCompatibleImages"
  1704  
  1705  // ListCompatibleImagesRequest generates a "aws/request.Request" representing the
  1706  // client's request for the ListCompatibleImages operation. The "output" return
  1707  // value will be populated with the request's response once the request completes
  1708  // successfully.
  1709  //
  1710  // Use "Send" method on the returned Request to send the API call to the service.
  1711  // the "output" return value is not valid until after Send returns without error.
  1712  //
  1713  // See ListCompatibleImages for more information on using the ListCompatibleImages
  1714  // API call, and error handling.
  1715  //
  1716  // This method is useful when you want to inject custom logic or configuration
  1717  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1718  //
  1719  //
  1720  //    // Example sending a request using the ListCompatibleImagesRequest method.
  1721  //    req, resp := client.ListCompatibleImagesRequest(params)
  1722  //
  1723  //    err := req.Send()
  1724  //    if err == nil { // resp is now filled
  1725  //        fmt.Println(resp)
  1726  //    }
  1727  //
  1728  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListCompatibleImages
  1729  func (c *Snowball) ListCompatibleImagesRequest(input *ListCompatibleImagesInput) (req *request.Request, output *ListCompatibleImagesOutput) {
  1730  	op := &request.Operation{
  1731  		Name:       opListCompatibleImages,
  1732  		HTTPMethod: "POST",
  1733  		HTTPPath:   "/",
  1734  	}
  1735  
  1736  	if input == nil {
  1737  		input = &ListCompatibleImagesInput{}
  1738  	}
  1739  
  1740  	output = &ListCompatibleImagesOutput{}
  1741  	req = c.newRequest(op, input, output)
  1742  	return
  1743  }
  1744  
  1745  // ListCompatibleImages API operation for Amazon Import/Export Snowball.
  1746  //
  1747  // This action returns a list of the different Amazon EC2 Amazon Machine Images
  1748  // (AMIs) that are owned by your AWS account that would be supported for use
  1749  // on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64)
  1750  // - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS -
  1751  // Xenial (HVM) images, available on the AWS Marketplace.
  1752  //
  1753  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1754  // with awserr.Error's Code and Message methods to get detailed information about
  1755  // the error.
  1756  //
  1757  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1758  // API operation ListCompatibleImages for usage and error information.
  1759  //
  1760  // Returned Error Types:
  1761  //   * InvalidNextTokenException
  1762  //   The NextToken string was altered unexpectedly, and the operation has stopped.
  1763  //   Run the operation without changing the NextToken string, and try again.
  1764  //
  1765  //   * Ec2RequestFailedException
  1766  //   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
  1767  //   action.
  1768  //
  1769  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListCompatibleImages
  1770  func (c *Snowball) ListCompatibleImages(input *ListCompatibleImagesInput) (*ListCompatibleImagesOutput, error) {
  1771  	req, out := c.ListCompatibleImagesRequest(input)
  1772  	return out, req.Send()
  1773  }
  1774  
  1775  // ListCompatibleImagesWithContext is the same as ListCompatibleImages with the addition of
  1776  // the ability to pass a context and additional request options.
  1777  //
  1778  // See ListCompatibleImages for details on how to use this API operation.
  1779  //
  1780  // The context must be non-nil and will be used for request cancellation. If
  1781  // the context is nil a panic will occur. In the future the SDK may create
  1782  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1783  // for more information on using Contexts.
  1784  func (c *Snowball) ListCompatibleImagesWithContext(ctx aws.Context, input *ListCompatibleImagesInput, opts ...request.Option) (*ListCompatibleImagesOutput, error) {
  1785  	req, out := c.ListCompatibleImagesRequest(input)
  1786  	req.SetContext(ctx)
  1787  	req.ApplyOptions(opts...)
  1788  	return out, req.Send()
  1789  }
  1790  
  1791  const opListJobs = "ListJobs"
  1792  
  1793  // ListJobsRequest generates a "aws/request.Request" representing the
  1794  // client's request for the ListJobs operation. The "output" return
  1795  // value will be populated with the request's response once the request completes
  1796  // successfully.
  1797  //
  1798  // Use "Send" method on the returned Request to send the API call to the service.
  1799  // the "output" return value is not valid until after Send returns without error.
  1800  //
  1801  // See ListJobs for more information on using the ListJobs
  1802  // API call, and error handling.
  1803  //
  1804  // This method is useful when you want to inject custom logic or configuration
  1805  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1806  //
  1807  //
  1808  //    // Example sending a request using the ListJobsRequest method.
  1809  //    req, resp := client.ListJobsRequest(params)
  1810  //
  1811  //    err := req.Send()
  1812  //    if err == nil { // resp is now filled
  1813  //        fmt.Println(resp)
  1814  //    }
  1815  //
  1816  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListJobs
  1817  func (c *Snowball) ListJobsRequest(input *ListJobsInput) (req *request.Request, output *ListJobsOutput) {
  1818  	op := &request.Operation{
  1819  		Name:       opListJobs,
  1820  		HTTPMethod: "POST",
  1821  		HTTPPath:   "/",
  1822  		Paginator: &request.Paginator{
  1823  			InputTokens:     []string{"NextToken"},
  1824  			OutputTokens:    []string{"NextToken"},
  1825  			LimitToken:      "MaxResults",
  1826  			TruncationToken: "",
  1827  		},
  1828  	}
  1829  
  1830  	if input == nil {
  1831  		input = &ListJobsInput{}
  1832  	}
  1833  
  1834  	output = &ListJobsOutput{}
  1835  	req = c.newRequest(op, input, output)
  1836  	return
  1837  }
  1838  
  1839  // ListJobs API operation for Amazon Import/Export Snowball.
  1840  //
  1841  // Returns an array of JobListEntry objects of the specified length. Each JobListEntry
  1842  // object contains a job's state, a job's ID, and a value that indicates whether
  1843  // the job is a job part, in the case of export jobs. Calling this API action
  1844  // in one of the US regions will return jobs from the list of all jobs associated
  1845  // with this account in all US regions.
  1846  //
  1847  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1848  // with awserr.Error's Code and Message methods to get detailed information about
  1849  // the error.
  1850  //
  1851  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1852  // API operation ListJobs for usage and error information.
  1853  //
  1854  // Returned Error Types:
  1855  //   * InvalidNextTokenException
  1856  //   The NextToken string was altered unexpectedly, and the operation has stopped.
  1857  //   Run the operation without changing the NextToken string, and try again.
  1858  //
  1859  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListJobs
  1860  func (c *Snowball) ListJobs(input *ListJobsInput) (*ListJobsOutput, error) {
  1861  	req, out := c.ListJobsRequest(input)
  1862  	return out, req.Send()
  1863  }
  1864  
  1865  // ListJobsWithContext is the same as ListJobs with the addition of
  1866  // the ability to pass a context and additional request options.
  1867  //
  1868  // See ListJobs for details on how to use this API operation.
  1869  //
  1870  // The context must be non-nil and will be used for request cancellation. If
  1871  // the context is nil a panic will occur. In the future the SDK may create
  1872  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1873  // for more information on using Contexts.
  1874  func (c *Snowball) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts ...request.Option) (*ListJobsOutput, error) {
  1875  	req, out := c.ListJobsRequest(input)
  1876  	req.SetContext(ctx)
  1877  	req.ApplyOptions(opts...)
  1878  	return out, req.Send()
  1879  }
  1880  
  1881  // ListJobsPages iterates over the pages of a ListJobs operation,
  1882  // calling the "fn" function with the response data for each page. To stop
  1883  // iterating, return false from the fn function.
  1884  //
  1885  // See ListJobs method for more information on how to use this operation.
  1886  //
  1887  // Note: This operation can generate multiple requests to a service.
  1888  //
  1889  //    // Example iterating over at most 3 pages of a ListJobs operation.
  1890  //    pageNum := 0
  1891  //    err := client.ListJobsPages(params,
  1892  //        func(page *snowball.ListJobsOutput, lastPage bool) bool {
  1893  //            pageNum++
  1894  //            fmt.Println(page)
  1895  //            return pageNum <= 3
  1896  //        })
  1897  //
  1898  func (c *Snowball) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error {
  1899  	return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  1900  }
  1901  
  1902  // ListJobsPagesWithContext same as ListJobsPages except
  1903  // it takes a Context and allows setting request options on the pages.
  1904  //
  1905  // The context must be non-nil and will be used for request cancellation. If
  1906  // the context is nil a panic will occur. In the future the SDK may create
  1907  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1908  // for more information on using Contexts.
  1909  func (c *Snowball) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error {
  1910  	p := request.Pagination{
  1911  		NewRequest: func() (*request.Request, error) {
  1912  			var inCpy *ListJobsInput
  1913  			if input != nil {
  1914  				tmp := *input
  1915  				inCpy = &tmp
  1916  			}
  1917  			req, _ := c.ListJobsRequest(inCpy)
  1918  			req.SetContext(ctx)
  1919  			req.ApplyOptions(opts...)
  1920  			return req, nil
  1921  		},
  1922  	}
  1923  
  1924  	for p.Next() {
  1925  		if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) {
  1926  			break
  1927  		}
  1928  	}
  1929  
  1930  	return p.Err()
  1931  }
  1932  
  1933  const opListLongTermPricing = "ListLongTermPricing"
  1934  
  1935  // ListLongTermPricingRequest generates a "aws/request.Request" representing the
  1936  // client's request for the ListLongTermPricing operation. The "output" return
  1937  // value will be populated with the request's response once the request completes
  1938  // successfully.
  1939  //
  1940  // Use "Send" method on the returned Request to send the API call to the service.
  1941  // the "output" return value is not valid until after Send returns without error.
  1942  //
  1943  // See ListLongTermPricing for more information on using the ListLongTermPricing
  1944  // API call, and error handling.
  1945  //
  1946  // This method is useful when you want to inject custom logic or configuration
  1947  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1948  //
  1949  //
  1950  //    // Example sending a request using the ListLongTermPricingRequest method.
  1951  //    req, resp := client.ListLongTermPricingRequest(params)
  1952  //
  1953  //    err := req.Send()
  1954  //    if err == nil { // resp is now filled
  1955  //        fmt.Println(resp)
  1956  //    }
  1957  //
  1958  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListLongTermPricing
  1959  func (c *Snowball) ListLongTermPricingRequest(input *ListLongTermPricingInput) (req *request.Request, output *ListLongTermPricingOutput) {
  1960  	op := &request.Operation{
  1961  		Name:       opListLongTermPricing,
  1962  		HTTPMethod: "POST",
  1963  		HTTPPath:   "/",
  1964  	}
  1965  
  1966  	if input == nil {
  1967  		input = &ListLongTermPricingInput{}
  1968  	}
  1969  
  1970  	output = &ListLongTermPricingOutput{}
  1971  	req = c.newRequest(op, input, output)
  1972  	return
  1973  }
  1974  
  1975  // ListLongTermPricing API operation for Amazon Import/Export Snowball.
  1976  //
  1977  // Lists all long-term pricing types.
  1978  //
  1979  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1980  // with awserr.Error's Code and Message methods to get detailed information about
  1981  // the error.
  1982  //
  1983  // See the AWS API reference guide for Amazon Import/Export Snowball's
  1984  // API operation ListLongTermPricing for usage and error information.
  1985  //
  1986  // Returned Error Types:
  1987  //   * InvalidResourceException
  1988  //   The specified resource can't be found. Check the information you provided
  1989  //   in your last request, and try again.
  1990  //
  1991  //   * InvalidNextTokenException
  1992  //   The NextToken string was altered unexpectedly, and the operation has stopped.
  1993  //   Run the operation without changing the NextToken string, and try again.
  1994  //
  1995  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/ListLongTermPricing
  1996  func (c *Snowball) ListLongTermPricing(input *ListLongTermPricingInput) (*ListLongTermPricingOutput, error) {
  1997  	req, out := c.ListLongTermPricingRequest(input)
  1998  	return out, req.Send()
  1999  }
  2000  
  2001  // ListLongTermPricingWithContext is the same as ListLongTermPricing with the addition of
  2002  // the ability to pass a context and additional request options.
  2003  //
  2004  // See ListLongTermPricing for details on how to use this API operation.
  2005  //
  2006  // The context must be non-nil and will be used for request cancellation. If
  2007  // the context is nil a panic will occur. In the future the SDK may create
  2008  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2009  // for more information on using Contexts.
  2010  func (c *Snowball) ListLongTermPricingWithContext(ctx aws.Context, input *ListLongTermPricingInput, opts ...request.Option) (*ListLongTermPricingOutput, error) {
  2011  	req, out := c.ListLongTermPricingRequest(input)
  2012  	req.SetContext(ctx)
  2013  	req.ApplyOptions(opts...)
  2014  	return out, req.Send()
  2015  }
  2016  
  2017  const opUpdateCluster = "UpdateCluster"
  2018  
  2019  // UpdateClusterRequest generates a "aws/request.Request" representing the
  2020  // client's request for the UpdateCluster operation. The "output" return
  2021  // value will be populated with the request's response once the request completes
  2022  // successfully.
  2023  //
  2024  // Use "Send" method on the returned Request to send the API call to the service.
  2025  // the "output" return value is not valid until after Send returns without error.
  2026  //
  2027  // See UpdateCluster for more information on using the UpdateCluster
  2028  // API call, and error handling.
  2029  //
  2030  // This method is useful when you want to inject custom logic or configuration
  2031  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2032  //
  2033  //
  2034  //    // Example sending a request using the UpdateClusterRequest method.
  2035  //    req, resp := client.UpdateClusterRequest(params)
  2036  //
  2037  //    err := req.Send()
  2038  //    if err == nil { // resp is now filled
  2039  //        fmt.Println(resp)
  2040  //    }
  2041  //
  2042  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateCluster
  2043  func (c *Snowball) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) {
  2044  	op := &request.Operation{
  2045  		Name:       opUpdateCluster,
  2046  		HTTPMethod: "POST",
  2047  		HTTPPath:   "/",
  2048  	}
  2049  
  2050  	if input == nil {
  2051  		input = &UpdateClusterInput{}
  2052  	}
  2053  
  2054  	output = &UpdateClusterOutput{}
  2055  	req = c.newRequest(op, input, output)
  2056  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2057  	return
  2058  }
  2059  
  2060  // UpdateCluster API operation for Amazon Import/Export Snowball.
  2061  //
  2062  // While a cluster's ClusterState value is in the AwaitingQuorum state, you
  2063  // can update some of the information associated with a cluster. Once the cluster
  2064  // changes to a different job state, usually 60 minutes after the cluster being
  2065  // created, this action is no longer available.
  2066  //
  2067  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2068  // with awserr.Error's Code and Message methods to get detailed information about
  2069  // the error.
  2070  //
  2071  // See the AWS API reference guide for Amazon Import/Export Snowball's
  2072  // API operation UpdateCluster for usage and error information.
  2073  //
  2074  // Returned Error Types:
  2075  //   * InvalidResourceException
  2076  //   The specified resource can't be found. Check the information you provided
  2077  //   in your last request, and try again.
  2078  //
  2079  //   * InvalidJobStateException
  2080  //   The action can't be performed because the job's current state doesn't allow
  2081  //   that action to be performed.
  2082  //
  2083  //   * KMSRequestFailedException
  2084  //   The provided AWS Key Management Service key lacks the permissions to perform
  2085  //   the specified CreateJob or UpdateJob action.
  2086  //
  2087  //   * InvalidInputCombinationException
  2088  //   Job or cluster creation failed. One or more inputs were invalid. Confirm
  2089  //   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
  2090  //   and try again.
  2091  //
  2092  //   * Ec2RequestFailedException
  2093  //   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
  2094  //   action.
  2095  //
  2096  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateCluster
  2097  func (c *Snowball) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) {
  2098  	req, out := c.UpdateClusterRequest(input)
  2099  	return out, req.Send()
  2100  }
  2101  
  2102  // UpdateClusterWithContext is the same as UpdateCluster with the addition of
  2103  // the ability to pass a context and additional request options.
  2104  //
  2105  // See UpdateCluster for details on how to use this API operation.
  2106  //
  2107  // The context must be non-nil and will be used for request cancellation. If
  2108  // the context is nil a panic will occur. In the future the SDK may create
  2109  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2110  // for more information on using Contexts.
  2111  func (c *Snowball) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) {
  2112  	req, out := c.UpdateClusterRequest(input)
  2113  	req.SetContext(ctx)
  2114  	req.ApplyOptions(opts...)
  2115  	return out, req.Send()
  2116  }
  2117  
  2118  const opUpdateJob = "UpdateJob"
  2119  
  2120  // UpdateJobRequest generates a "aws/request.Request" representing the
  2121  // client's request for the UpdateJob operation. The "output" return
  2122  // value will be populated with the request's response once the request completes
  2123  // successfully.
  2124  //
  2125  // Use "Send" method on the returned Request to send the API call to the service.
  2126  // the "output" return value is not valid until after Send returns without error.
  2127  //
  2128  // See UpdateJob for more information on using the UpdateJob
  2129  // API call, and error handling.
  2130  //
  2131  // This method is useful when you want to inject custom logic or configuration
  2132  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2133  //
  2134  //
  2135  //    // Example sending a request using the UpdateJobRequest method.
  2136  //    req, resp := client.UpdateJobRequest(params)
  2137  //
  2138  //    err := req.Send()
  2139  //    if err == nil { // resp is now filled
  2140  //        fmt.Println(resp)
  2141  //    }
  2142  //
  2143  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJob
  2144  func (c *Snowball) UpdateJobRequest(input *UpdateJobInput) (req *request.Request, output *UpdateJobOutput) {
  2145  	op := &request.Operation{
  2146  		Name:       opUpdateJob,
  2147  		HTTPMethod: "POST",
  2148  		HTTPPath:   "/",
  2149  	}
  2150  
  2151  	if input == nil {
  2152  		input = &UpdateJobInput{}
  2153  	}
  2154  
  2155  	output = &UpdateJobOutput{}
  2156  	req = c.newRequest(op, input, output)
  2157  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2158  	return
  2159  }
  2160  
  2161  // UpdateJob API operation for Amazon Import/Export Snowball.
  2162  //
  2163  // While a job's JobState value is New, you can update some of the information
  2164  // associated with a job. Once the job changes to a different job state, usually
  2165  // within 60 minutes of the job being created, this action is no longer available.
  2166  //
  2167  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2168  // with awserr.Error's Code and Message methods to get detailed information about
  2169  // the error.
  2170  //
  2171  // See the AWS API reference guide for Amazon Import/Export Snowball's
  2172  // API operation UpdateJob for usage and error information.
  2173  //
  2174  // Returned Error Types:
  2175  //   * InvalidResourceException
  2176  //   The specified resource can't be found. Check the information you provided
  2177  //   in your last request, and try again.
  2178  //
  2179  //   * InvalidJobStateException
  2180  //   The action can't be performed because the job's current state doesn't allow
  2181  //   that action to be performed.
  2182  //
  2183  //   * KMSRequestFailedException
  2184  //   The provided AWS Key Management Service key lacks the permissions to perform
  2185  //   the specified CreateJob or UpdateJob action.
  2186  //
  2187  //   * InvalidInputCombinationException
  2188  //   Job or cluster creation failed. One or more inputs were invalid. Confirm
  2189  //   that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
  2190  //   and try again.
  2191  //
  2192  //   * ClusterLimitExceededException
  2193  //   Job creation failed. Currently, clusters support five nodes. If you have
  2194  //   fewer than five nodes for your cluster and you have more nodes to create
  2195  //   for this cluster, try again and create jobs until your cluster has exactly
  2196  //   five nodes.
  2197  //
  2198  //   * Ec2RequestFailedException
  2199  //   Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
  2200  //   action.
  2201  //
  2202  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJob
  2203  func (c *Snowball) UpdateJob(input *UpdateJobInput) (*UpdateJobOutput, error) {
  2204  	req, out := c.UpdateJobRequest(input)
  2205  	return out, req.Send()
  2206  }
  2207  
  2208  // UpdateJobWithContext is the same as UpdateJob with the addition of
  2209  // the ability to pass a context and additional request options.
  2210  //
  2211  // See UpdateJob for details on how to use this API operation.
  2212  //
  2213  // The context must be non-nil and will be used for request cancellation. If
  2214  // the context is nil a panic will occur. In the future the SDK may create
  2215  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2216  // for more information on using Contexts.
  2217  func (c *Snowball) UpdateJobWithContext(ctx aws.Context, input *UpdateJobInput, opts ...request.Option) (*UpdateJobOutput, error) {
  2218  	req, out := c.UpdateJobRequest(input)
  2219  	req.SetContext(ctx)
  2220  	req.ApplyOptions(opts...)
  2221  	return out, req.Send()
  2222  }
  2223  
  2224  const opUpdateJobShipmentState = "UpdateJobShipmentState"
  2225  
  2226  // UpdateJobShipmentStateRequest generates a "aws/request.Request" representing the
  2227  // client's request for the UpdateJobShipmentState operation. The "output" return
  2228  // value will be populated with the request's response once the request completes
  2229  // successfully.
  2230  //
  2231  // Use "Send" method on the returned Request to send the API call to the service.
  2232  // the "output" return value is not valid until after Send returns without error.
  2233  //
  2234  // See UpdateJobShipmentState for more information on using the UpdateJobShipmentState
  2235  // API call, and error handling.
  2236  //
  2237  // This method is useful when you want to inject custom logic or configuration
  2238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2239  //
  2240  //
  2241  //    // Example sending a request using the UpdateJobShipmentStateRequest method.
  2242  //    req, resp := client.UpdateJobShipmentStateRequest(params)
  2243  //
  2244  //    err := req.Send()
  2245  //    if err == nil { // resp is now filled
  2246  //        fmt.Println(resp)
  2247  //    }
  2248  //
  2249  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJobShipmentState
  2250  func (c *Snowball) UpdateJobShipmentStateRequest(input *UpdateJobShipmentStateInput) (req *request.Request, output *UpdateJobShipmentStateOutput) {
  2251  	op := &request.Operation{
  2252  		Name:       opUpdateJobShipmentState,
  2253  		HTTPMethod: "POST",
  2254  		HTTPPath:   "/",
  2255  	}
  2256  
  2257  	if input == nil {
  2258  		input = &UpdateJobShipmentStateInput{}
  2259  	}
  2260  
  2261  	output = &UpdateJobShipmentStateOutput{}
  2262  	req = c.newRequest(op, input, output)
  2263  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2264  	return
  2265  }
  2266  
  2267  // UpdateJobShipmentState API operation for Amazon Import/Export Snowball.
  2268  //
  2269  // Updates the state when a shipment state changes to a different state.
  2270  //
  2271  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2272  // with awserr.Error's Code and Message methods to get detailed information about
  2273  // the error.
  2274  //
  2275  // See the AWS API reference guide for Amazon Import/Export Snowball's
  2276  // API operation UpdateJobShipmentState for usage and error information.
  2277  //
  2278  // Returned Error Types:
  2279  //   * InvalidResourceException
  2280  //   The specified resource can't be found. Check the information you provided
  2281  //   in your last request, and try again.
  2282  //
  2283  //   * InvalidJobStateException
  2284  //   The action can't be performed because the job's current state doesn't allow
  2285  //   that action to be performed.
  2286  //
  2287  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateJobShipmentState
  2288  func (c *Snowball) UpdateJobShipmentState(input *UpdateJobShipmentStateInput) (*UpdateJobShipmentStateOutput, error) {
  2289  	req, out := c.UpdateJobShipmentStateRequest(input)
  2290  	return out, req.Send()
  2291  }
  2292  
  2293  // UpdateJobShipmentStateWithContext is the same as UpdateJobShipmentState with the addition of
  2294  // the ability to pass a context and additional request options.
  2295  //
  2296  // See UpdateJobShipmentState for details on how to use this API operation.
  2297  //
  2298  // The context must be non-nil and will be used for request cancellation. If
  2299  // the context is nil a panic will occur. In the future the SDK may create
  2300  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2301  // for more information on using Contexts.
  2302  func (c *Snowball) UpdateJobShipmentStateWithContext(ctx aws.Context, input *UpdateJobShipmentStateInput, opts ...request.Option) (*UpdateJobShipmentStateOutput, error) {
  2303  	req, out := c.UpdateJobShipmentStateRequest(input)
  2304  	req.SetContext(ctx)
  2305  	req.ApplyOptions(opts...)
  2306  	return out, req.Send()
  2307  }
  2308  
  2309  const opUpdateLongTermPricing = "UpdateLongTermPricing"
  2310  
  2311  // UpdateLongTermPricingRequest generates a "aws/request.Request" representing the
  2312  // client's request for the UpdateLongTermPricing operation. The "output" return
  2313  // value will be populated with the request's response once the request completes
  2314  // successfully.
  2315  //
  2316  // Use "Send" method on the returned Request to send the API call to the service.
  2317  // the "output" return value is not valid until after Send returns without error.
  2318  //
  2319  // See UpdateLongTermPricing for more information on using the UpdateLongTermPricing
  2320  // API call, and error handling.
  2321  //
  2322  // This method is useful when you want to inject custom logic or configuration
  2323  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2324  //
  2325  //
  2326  //    // Example sending a request using the UpdateLongTermPricingRequest method.
  2327  //    req, resp := client.UpdateLongTermPricingRequest(params)
  2328  //
  2329  //    err := req.Send()
  2330  //    if err == nil { // resp is now filled
  2331  //        fmt.Println(resp)
  2332  //    }
  2333  //
  2334  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateLongTermPricing
  2335  func (c *Snowball) UpdateLongTermPricingRequest(input *UpdateLongTermPricingInput) (req *request.Request, output *UpdateLongTermPricingOutput) {
  2336  	op := &request.Operation{
  2337  		Name:       opUpdateLongTermPricing,
  2338  		HTTPMethod: "POST",
  2339  		HTTPPath:   "/",
  2340  	}
  2341  
  2342  	if input == nil {
  2343  		input = &UpdateLongTermPricingInput{}
  2344  	}
  2345  
  2346  	output = &UpdateLongTermPricingOutput{}
  2347  	req = c.newRequest(op, input, output)
  2348  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2349  	return
  2350  }
  2351  
  2352  // UpdateLongTermPricing API operation for Amazon Import/Export Snowball.
  2353  //
  2354  // Updates the long-term pricing type.
  2355  //
  2356  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2357  // with awserr.Error's Code and Message methods to get detailed information about
  2358  // the error.
  2359  //
  2360  // See the AWS API reference guide for Amazon Import/Export Snowball's
  2361  // API operation UpdateLongTermPricing for usage and error information.
  2362  //
  2363  // Returned Error Types:
  2364  //   * InvalidResourceException
  2365  //   The specified resource can't be found. Check the information you provided
  2366  //   in your last request, and try again.
  2367  //
  2368  // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/UpdateLongTermPricing
  2369  func (c *Snowball) UpdateLongTermPricing(input *UpdateLongTermPricingInput) (*UpdateLongTermPricingOutput, error) {
  2370  	req, out := c.UpdateLongTermPricingRequest(input)
  2371  	return out, req.Send()
  2372  }
  2373  
  2374  // UpdateLongTermPricingWithContext is the same as UpdateLongTermPricing with the addition of
  2375  // the ability to pass a context and additional request options.
  2376  //
  2377  // See UpdateLongTermPricing for details on how to use this API operation.
  2378  //
  2379  // The context must be non-nil and will be used for request cancellation. If
  2380  // the context is nil a panic will occur. In the future the SDK may create
  2381  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2382  // for more information on using Contexts.
  2383  func (c *Snowball) UpdateLongTermPricingWithContext(ctx aws.Context, input *UpdateLongTermPricingInput, opts ...request.Option) (*UpdateLongTermPricingOutput, error) {
  2384  	req, out := c.UpdateLongTermPricingRequest(input)
  2385  	req.SetContext(ctx)
  2386  	req.ApplyOptions(opts...)
  2387  	return out, req.Send()
  2388  }
  2389  
  2390  // The address that you want the Snow device(s) associated with a specific job
  2391  // to be shipped to. Addresses are validated at the time of creation. The address
  2392  // you provide must be located within the serviceable area of your region. Although
  2393  // no individual elements of the Address are required, if the address is invalid
  2394  // or unsupported, then an exception is thrown.
  2395  type Address struct {
  2396  	_ struct{} `type:"structure"`
  2397  
  2398  	// The unique ID for an address.
  2399  	AddressId *string `min:"40" type:"string"`
  2400  
  2401  	// The city in an address that a Snow device is to be delivered to.
  2402  	City *string `min:"1" type:"string"`
  2403  
  2404  	// The name of the company to receive a Snow device at an address.
  2405  	Company *string `min:"1" type:"string"`
  2406  
  2407  	// The country in an address that a Snow device is to be delivered to.
  2408  	Country *string `min:"1" type:"string"`
  2409  
  2410  	// If the address you are creating is a primary address, then set this option
  2411  	// to true. This field is not supported in most regions.
  2412  	IsRestricted *bool `type:"boolean"`
  2413  
  2414  	// This field is no longer used and the value is ignored.
  2415  	Landmark *string `min:"1" type:"string"`
  2416  
  2417  	// The name of a person to receive a Snow device at an address.
  2418  	Name *string `min:"1" type:"string"`
  2419  
  2420  	// The phone number associated with an address that a Snow device is to be delivered
  2421  	// to.
  2422  	PhoneNumber *string `min:"1" type:"string"`
  2423  
  2424  	// The postal code in an address that a Snow device is to be delivered to.
  2425  	PostalCode *string `min:"1" type:"string"`
  2426  
  2427  	// This field is no longer used and the value is ignored.
  2428  	PrefectureOrDistrict *string `min:"1" type:"string"`
  2429  
  2430  	// The state or province in an address that a Snow device is to be delivered
  2431  	// to.
  2432  	StateOrProvince *string `min:"1" type:"string"`
  2433  
  2434  	// The first line in a street address that a Snow device is to be delivered
  2435  	// to.
  2436  	Street1 *string `min:"1" type:"string"`
  2437  
  2438  	// The second line in a street address that a Snow device is to be delivered
  2439  	// to.
  2440  	Street2 *string `min:"1" type:"string"`
  2441  
  2442  	// The third line in a street address that a Snow device is to be delivered
  2443  	// to.
  2444  	Street3 *string `min:"1" type:"string"`
  2445  }
  2446  
  2447  // String returns the string representation.
  2448  //
  2449  // API parameter values that are decorated as "sensitive" in the API will not
  2450  // be included in the string output. The member name will be present, but the
  2451  // value will be replaced with "sensitive".
  2452  func (s Address) String() string {
  2453  	return awsutil.Prettify(s)
  2454  }
  2455  
  2456  // GoString returns the string representation.
  2457  //
  2458  // API parameter values that are decorated as "sensitive" in the API will not
  2459  // be included in the string output. The member name will be present, but the
  2460  // value will be replaced with "sensitive".
  2461  func (s Address) GoString() string {
  2462  	return s.String()
  2463  }
  2464  
  2465  // Validate inspects the fields of the type to determine if they are valid.
  2466  func (s *Address) Validate() error {
  2467  	invalidParams := request.ErrInvalidParams{Context: "Address"}
  2468  	if s.AddressId != nil && len(*s.AddressId) < 40 {
  2469  		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
  2470  	}
  2471  	if s.City != nil && len(*s.City) < 1 {
  2472  		invalidParams.Add(request.NewErrParamMinLen("City", 1))
  2473  	}
  2474  	if s.Company != nil && len(*s.Company) < 1 {
  2475  		invalidParams.Add(request.NewErrParamMinLen("Company", 1))
  2476  	}
  2477  	if s.Country != nil && len(*s.Country) < 1 {
  2478  		invalidParams.Add(request.NewErrParamMinLen("Country", 1))
  2479  	}
  2480  	if s.Landmark != nil && len(*s.Landmark) < 1 {
  2481  		invalidParams.Add(request.NewErrParamMinLen("Landmark", 1))
  2482  	}
  2483  	if s.Name != nil && len(*s.Name) < 1 {
  2484  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2485  	}
  2486  	if s.PhoneNumber != nil && len(*s.PhoneNumber) < 1 {
  2487  		invalidParams.Add(request.NewErrParamMinLen("PhoneNumber", 1))
  2488  	}
  2489  	if s.PostalCode != nil && len(*s.PostalCode) < 1 {
  2490  		invalidParams.Add(request.NewErrParamMinLen("PostalCode", 1))
  2491  	}
  2492  	if s.PrefectureOrDistrict != nil && len(*s.PrefectureOrDistrict) < 1 {
  2493  		invalidParams.Add(request.NewErrParamMinLen("PrefectureOrDistrict", 1))
  2494  	}
  2495  	if s.StateOrProvince != nil && len(*s.StateOrProvince) < 1 {
  2496  		invalidParams.Add(request.NewErrParamMinLen("StateOrProvince", 1))
  2497  	}
  2498  	if s.Street1 != nil && len(*s.Street1) < 1 {
  2499  		invalidParams.Add(request.NewErrParamMinLen("Street1", 1))
  2500  	}
  2501  	if s.Street2 != nil && len(*s.Street2) < 1 {
  2502  		invalidParams.Add(request.NewErrParamMinLen("Street2", 1))
  2503  	}
  2504  	if s.Street3 != nil && len(*s.Street3) < 1 {
  2505  		invalidParams.Add(request.NewErrParamMinLen("Street3", 1))
  2506  	}
  2507  
  2508  	if invalidParams.Len() > 0 {
  2509  		return invalidParams
  2510  	}
  2511  	return nil
  2512  }
  2513  
  2514  // SetAddressId sets the AddressId field's value.
  2515  func (s *Address) SetAddressId(v string) *Address {
  2516  	s.AddressId = &v
  2517  	return s
  2518  }
  2519  
  2520  // SetCity sets the City field's value.
  2521  func (s *Address) SetCity(v string) *Address {
  2522  	s.City = &v
  2523  	return s
  2524  }
  2525  
  2526  // SetCompany sets the Company field's value.
  2527  func (s *Address) SetCompany(v string) *Address {
  2528  	s.Company = &v
  2529  	return s
  2530  }
  2531  
  2532  // SetCountry sets the Country field's value.
  2533  func (s *Address) SetCountry(v string) *Address {
  2534  	s.Country = &v
  2535  	return s
  2536  }
  2537  
  2538  // SetIsRestricted sets the IsRestricted field's value.
  2539  func (s *Address) SetIsRestricted(v bool) *Address {
  2540  	s.IsRestricted = &v
  2541  	return s
  2542  }
  2543  
  2544  // SetLandmark sets the Landmark field's value.
  2545  func (s *Address) SetLandmark(v string) *Address {
  2546  	s.Landmark = &v
  2547  	return s
  2548  }
  2549  
  2550  // SetName sets the Name field's value.
  2551  func (s *Address) SetName(v string) *Address {
  2552  	s.Name = &v
  2553  	return s
  2554  }
  2555  
  2556  // SetPhoneNumber sets the PhoneNumber field's value.
  2557  func (s *Address) SetPhoneNumber(v string) *Address {
  2558  	s.PhoneNumber = &v
  2559  	return s
  2560  }
  2561  
  2562  // SetPostalCode sets the PostalCode field's value.
  2563  func (s *Address) SetPostalCode(v string) *Address {
  2564  	s.PostalCode = &v
  2565  	return s
  2566  }
  2567  
  2568  // SetPrefectureOrDistrict sets the PrefectureOrDistrict field's value.
  2569  func (s *Address) SetPrefectureOrDistrict(v string) *Address {
  2570  	s.PrefectureOrDistrict = &v
  2571  	return s
  2572  }
  2573  
  2574  // SetStateOrProvince sets the StateOrProvince field's value.
  2575  func (s *Address) SetStateOrProvince(v string) *Address {
  2576  	s.StateOrProvince = &v
  2577  	return s
  2578  }
  2579  
  2580  // SetStreet1 sets the Street1 field's value.
  2581  func (s *Address) SetStreet1(v string) *Address {
  2582  	s.Street1 = &v
  2583  	return s
  2584  }
  2585  
  2586  // SetStreet2 sets the Street2 field's value.
  2587  func (s *Address) SetStreet2(v string) *Address {
  2588  	s.Street2 = &v
  2589  	return s
  2590  }
  2591  
  2592  // SetStreet3 sets the Street3 field's value.
  2593  func (s *Address) SetStreet3(v string) *Address {
  2594  	s.Street3 = &v
  2595  	return s
  2596  }
  2597  
  2598  type CancelClusterInput struct {
  2599  	_ struct{} `type:"structure"`
  2600  
  2601  	// The 39-character ID for the cluster that you want to cancel, for example
  2602  	// CID123e4567-e89b-12d3-a456-426655440000.
  2603  	//
  2604  	// ClusterId is a required field
  2605  	ClusterId *string `min:"39" type:"string" required:"true"`
  2606  }
  2607  
  2608  // String returns the string representation.
  2609  //
  2610  // API parameter values that are decorated as "sensitive" in the API will not
  2611  // be included in the string output. The member name will be present, but the
  2612  // value will be replaced with "sensitive".
  2613  func (s CancelClusterInput) String() string {
  2614  	return awsutil.Prettify(s)
  2615  }
  2616  
  2617  // GoString returns the string representation.
  2618  //
  2619  // API parameter values that are decorated as "sensitive" in the API will not
  2620  // be included in the string output. The member name will be present, but the
  2621  // value will be replaced with "sensitive".
  2622  func (s CancelClusterInput) GoString() string {
  2623  	return s.String()
  2624  }
  2625  
  2626  // Validate inspects the fields of the type to determine if they are valid.
  2627  func (s *CancelClusterInput) Validate() error {
  2628  	invalidParams := request.ErrInvalidParams{Context: "CancelClusterInput"}
  2629  	if s.ClusterId == nil {
  2630  		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
  2631  	}
  2632  	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
  2633  		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
  2634  	}
  2635  
  2636  	if invalidParams.Len() > 0 {
  2637  		return invalidParams
  2638  	}
  2639  	return nil
  2640  }
  2641  
  2642  // SetClusterId sets the ClusterId field's value.
  2643  func (s *CancelClusterInput) SetClusterId(v string) *CancelClusterInput {
  2644  	s.ClusterId = &v
  2645  	return s
  2646  }
  2647  
  2648  type CancelClusterOutput struct {
  2649  	_ struct{} `type:"structure"`
  2650  }
  2651  
  2652  // String returns the string representation.
  2653  //
  2654  // API parameter values that are decorated as "sensitive" in the API will not
  2655  // be included in the string output. The member name will be present, but the
  2656  // value will be replaced with "sensitive".
  2657  func (s CancelClusterOutput) String() string {
  2658  	return awsutil.Prettify(s)
  2659  }
  2660  
  2661  // GoString returns the string representation.
  2662  //
  2663  // API parameter values that are decorated as "sensitive" in the API will not
  2664  // be included in the string output. The member name will be present, but the
  2665  // value will be replaced with "sensitive".
  2666  func (s CancelClusterOutput) GoString() string {
  2667  	return s.String()
  2668  }
  2669  
  2670  type CancelJobInput struct {
  2671  	_ struct{} `type:"structure"`
  2672  
  2673  	// The 39-character job ID for the job that you want to cancel, for example
  2674  	// JID123e4567-e89b-12d3-a456-426655440000.
  2675  	//
  2676  	// JobId is a required field
  2677  	JobId *string `min:"39" type:"string" required:"true"`
  2678  }
  2679  
  2680  // String returns the string representation.
  2681  //
  2682  // API parameter values that are decorated as "sensitive" in the API will not
  2683  // be included in the string output. The member name will be present, but the
  2684  // value will be replaced with "sensitive".
  2685  func (s CancelJobInput) String() string {
  2686  	return awsutil.Prettify(s)
  2687  }
  2688  
  2689  // GoString returns the string representation.
  2690  //
  2691  // API parameter values that are decorated as "sensitive" in the API will not
  2692  // be included in the string output. The member name will be present, but the
  2693  // value will be replaced with "sensitive".
  2694  func (s CancelJobInput) GoString() string {
  2695  	return s.String()
  2696  }
  2697  
  2698  // Validate inspects the fields of the type to determine if they are valid.
  2699  func (s *CancelJobInput) Validate() error {
  2700  	invalidParams := request.ErrInvalidParams{Context: "CancelJobInput"}
  2701  	if s.JobId == nil {
  2702  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  2703  	}
  2704  	if s.JobId != nil && len(*s.JobId) < 39 {
  2705  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  2706  	}
  2707  
  2708  	if invalidParams.Len() > 0 {
  2709  		return invalidParams
  2710  	}
  2711  	return nil
  2712  }
  2713  
  2714  // SetJobId sets the JobId field's value.
  2715  func (s *CancelJobInput) SetJobId(v string) *CancelJobInput {
  2716  	s.JobId = &v
  2717  	return s
  2718  }
  2719  
  2720  type CancelJobOutput struct {
  2721  	_ struct{} `type:"structure"`
  2722  }
  2723  
  2724  // String returns the string representation.
  2725  //
  2726  // API parameter values that are decorated as "sensitive" in the API will not
  2727  // be included in the string output. The member name will be present, but the
  2728  // value will be replaced with "sensitive".
  2729  func (s CancelJobOutput) String() string {
  2730  	return awsutil.Prettify(s)
  2731  }
  2732  
  2733  // GoString returns the string representation.
  2734  //
  2735  // API parameter values that are decorated as "sensitive" in the API will not
  2736  // be included in the string output. The member name will be present, but the
  2737  // value will be replaced with "sensitive".
  2738  func (s CancelJobOutput) GoString() string {
  2739  	return s.String()
  2740  }
  2741  
  2742  // Job creation failed. Currently, clusters support five nodes. If you have
  2743  // fewer than five nodes for your cluster and you have more nodes to create
  2744  // for this cluster, try again and create jobs until your cluster has exactly
  2745  // five nodes.
  2746  type ClusterLimitExceededException struct {
  2747  	_            struct{}                  `type:"structure"`
  2748  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2749  
  2750  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  2751  }
  2752  
  2753  // String returns the string representation.
  2754  //
  2755  // API parameter values that are decorated as "sensitive" in the API will not
  2756  // be included in the string output. The member name will be present, but the
  2757  // value will be replaced with "sensitive".
  2758  func (s ClusterLimitExceededException) String() string {
  2759  	return awsutil.Prettify(s)
  2760  }
  2761  
  2762  // GoString returns the string representation.
  2763  //
  2764  // API parameter values that are decorated as "sensitive" in the API will not
  2765  // be included in the string output. The member name will be present, but the
  2766  // value will be replaced with "sensitive".
  2767  func (s ClusterLimitExceededException) GoString() string {
  2768  	return s.String()
  2769  }
  2770  
  2771  func newErrorClusterLimitExceededException(v protocol.ResponseMetadata) error {
  2772  	return &ClusterLimitExceededException{
  2773  		RespMetadata: v,
  2774  	}
  2775  }
  2776  
  2777  // Code returns the exception type name.
  2778  func (s *ClusterLimitExceededException) Code() string {
  2779  	return "ClusterLimitExceededException"
  2780  }
  2781  
  2782  // Message returns the exception's message.
  2783  func (s *ClusterLimitExceededException) Message() string {
  2784  	if s.Message_ != nil {
  2785  		return *s.Message_
  2786  	}
  2787  	return ""
  2788  }
  2789  
  2790  // OrigErr always returns nil, satisfies awserr.Error interface.
  2791  func (s *ClusterLimitExceededException) OrigErr() error {
  2792  	return nil
  2793  }
  2794  
  2795  func (s *ClusterLimitExceededException) Error() string {
  2796  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2797  }
  2798  
  2799  // Status code returns the HTTP status code for the request's response error.
  2800  func (s *ClusterLimitExceededException) StatusCode() int {
  2801  	return s.RespMetadata.StatusCode
  2802  }
  2803  
  2804  // RequestID returns the service's response RequestID for request.
  2805  func (s *ClusterLimitExceededException) RequestID() string {
  2806  	return s.RespMetadata.RequestID
  2807  }
  2808  
  2809  // Contains a cluster's state, a cluster's ID, and other important information.
  2810  type ClusterListEntry struct {
  2811  	_ struct{} `type:"structure"`
  2812  
  2813  	// The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.
  2814  	ClusterId *string `min:"1" type:"string"`
  2815  
  2816  	// The current state of this cluster. For information about the state of a specific
  2817  	// node, see JobListEntry$JobState.
  2818  	ClusterState *string `type:"string" enum:"ClusterState"`
  2819  
  2820  	// The creation date for this cluster.
  2821  	CreationDate *time.Time `type:"timestamp"`
  2822  
  2823  	// Defines an optional description of the cluster, for example Environmental
  2824  	// Data Cluster-01.
  2825  	Description *string `min:"1" type:"string"`
  2826  }
  2827  
  2828  // String returns the string representation.
  2829  //
  2830  // API parameter values that are decorated as "sensitive" in the API will not
  2831  // be included in the string output. The member name will be present, but the
  2832  // value will be replaced with "sensitive".
  2833  func (s ClusterListEntry) String() string {
  2834  	return awsutil.Prettify(s)
  2835  }
  2836  
  2837  // GoString returns the string representation.
  2838  //
  2839  // API parameter values that are decorated as "sensitive" in the API will not
  2840  // be included in the string output. The member name will be present, but the
  2841  // value will be replaced with "sensitive".
  2842  func (s ClusterListEntry) GoString() string {
  2843  	return s.String()
  2844  }
  2845  
  2846  // SetClusterId sets the ClusterId field's value.
  2847  func (s *ClusterListEntry) SetClusterId(v string) *ClusterListEntry {
  2848  	s.ClusterId = &v
  2849  	return s
  2850  }
  2851  
  2852  // SetClusterState sets the ClusterState field's value.
  2853  func (s *ClusterListEntry) SetClusterState(v string) *ClusterListEntry {
  2854  	s.ClusterState = &v
  2855  	return s
  2856  }
  2857  
  2858  // SetCreationDate sets the CreationDate field's value.
  2859  func (s *ClusterListEntry) SetCreationDate(v time.Time) *ClusterListEntry {
  2860  	s.CreationDate = &v
  2861  	return s
  2862  }
  2863  
  2864  // SetDescription sets the Description field's value.
  2865  func (s *ClusterListEntry) SetDescription(v string) *ClusterListEntry {
  2866  	s.Description = &v
  2867  	return s
  2868  }
  2869  
  2870  // Contains metadata about a specific cluster.
  2871  type ClusterMetadata struct {
  2872  	_ struct{} `type:"structure"`
  2873  
  2874  	// The automatically generated ID for a specific address.
  2875  	AddressId *string `min:"40" type:"string"`
  2876  
  2877  	// The automatically generated ID for a cluster.
  2878  	ClusterId *string `min:"1" type:"string"`
  2879  
  2880  	// The current status of the cluster.
  2881  	ClusterState *string `type:"string" enum:"ClusterState"`
  2882  
  2883  	// The creation date for this cluster.
  2884  	CreationDate *time.Time `type:"timestamp"`
  2885  
  2886  	// The optional description of the cluster.
  2887  	Description *string `min:"1" type:"string"`
  2888  
  2889  	// The ID of the address that you want a cluster shipped to, after it will be
  2890  	// shipped to its primary address. This field is not supported in most regions.
  2891  	ForwardingAddressId *string `min:"40" type:"string"`
  2892  
  2893  	// The type of job for this cluster. Currently, the only job type supported
  2894  	// for clusters is LOCAL_USE.
  2895  	JobType *string `type:"string" enum:"JobType"`
  2896  
  2897  	// The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This
  2898  	// ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
  2899  	// API action in AWS Key Management Service (AWS KMS).
  2900  	KmsKeyARN *string `type:"string"`
  2901  
  2902  	// The Amazon Simple Notification Service (Amazon SNS) notification settings
  2903  	// for this cluster.
  2904  	Notification *Notification `type:"structure"`
  2905  
  2906  	// Represents metadata and configuration settings for services on an AWS Snow
  2907  	// Family device.
  2908  	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
  2909  
  2910  	// The arrays of JobResource objects that can include updated S3Resource objects
  2911  	// or LambdaResource objects.
  2912  	Resources *JobResource `type:"structure"`
  2913  
  2914  	// The role ARN associated with this cluster. This ARN was created using the
  2915  	// CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
  2916  	// API action in AWS Identity and Access Management (IAM).
  2917  	RoleARN *string `type:"string"`
  2918  
  2919  	// The shipping speed for each node in this cluster. This speed doesn't dictate
  2920  	// how soon you'll get each device, rather it represents how quickly each device
  2921  	// moves to its destination while in transit. Regional shipping speeds are as
  2922  	// follows:
  2923  	//
  2924  	//    * In Australia, you have access to express shipping. Typically, devices
  2925  	//    shipped express are delivered in about a day.
  2926  	//
  2927  	//    * In the European Union (EU), you have access to express shipping. Typically,
  2928  	//    Snow devices shipped express are delivered in about a day. In addition,
  2929  	//    most countries in the EU have access to standard shipping, which typically
  2930  	//    takes less than a week, one way.
  2931  	//
  2932  	//    * In India, Snow devices are delivered in one to seven days.
  2933  	//
  2934  	//    * In the US, you have access to one-day shipping and two-day shipping.
  2935  	ShippingOption *string `type:"string" enum:"ShippingOption"`
  2936  
  2937  	// The type of AWS Snow device to use for this cluster.
  2938  	//
  2939  	// For cluster jobs, AWS Snow Family currently supports only the EDGE device
  2940  	// type.
  2941  	SnowballType *string `type:"string" enum:"Type"`
  2942  
  2943  	// The tax documents required in your AWS Region.
  2944  	TaxDocuments *TaxDocuments `type:"structure"`
  2945  }
  2946  
  2947  // String returns the string representation.
  2948  //
  2949  // API parameter values that are decorated as "sensitive" in the API will not
  2950  // be included in the string output. The member name will be present, but the
  2951  // value will be replaced with "sensitive".
  2952  func (s ClusterMetadata) String() string {
  2953  	return awsutil.Prettify(s)
  2954  }
  2955  
  2956  // GoString returns the string representation.
  2957  //
  2958  // API parameter values that are decorated as "sensitive" in the API will not
  2959  // be included in the string output. The member name will be present, but the
  2960  // value will be replaced with "sensitive".
  2961  func (s ClusterMetadata) GoString() string {
  2962  	return s.String()
  2963  }
  2964  
  2965  // SetAddressId sets the AddressId field's value.
  2966  func (s *ClusterMetadata) SetAddressId(v string) *ClusterMetadata {
  2967  	s.AddressId = &v
  2968  	return s
  2969  }
  2970  
  2971  // SetClusterId sets the ClusterId field's value.
  2972  func (s *ClusterMetadata) SetClusterId(v string) *ClusterMetadata {
  2973  	s.ClusterId = &v
  2974  	return s
  2975  }
  2976  
  2977  // SetClusterState sets the ClusterState field's value.
  2978  func (s *ClusterMetadata) SetClusterState(v string) *ClusterMetadata {
  2979  	s.ClusterState = &v
  2980  	return s
  2981  }
  2982  
  2983  // SetCreationDate sets the CreationDate field's value.
  2984  func (s *ClusterMetadata) SetCreationDate(v time.Time) *ClusterMetadata {
  2985  	s.CreationDate = &v
  2986  	return s
  2987  }
  2988  
  2989  // SetDescription sets the Description field's value.
  2990  func (s *ClusterMetadata) SetDescription(v string) *ClusterMetadata {
  2991  	s.Description = &v
  2992  	return s
  2993  }
  2994  
  2995  // SetForwardingAddressId sets the ForwardingAddressId field's value.
  2996  func (s *ClusterMetadata) SetForwardingAddressId(v string) *ClusterMetadata {
  2997  	s.ForwardingAddressId = &v
  2998  	return s
  2999  }
  3000  
  3001  // SetJobType sets the JobType field's value.
  3002  func (s *ClusterMetadata) SetJobType(v string) *ClusterMetadata {
  3003  	s.JobType = &v
  3004  	return s
  3005  }
  3006  
  3007  // SetKmsKeyARN sets the KmsKeyARN field's value.
  3008  func (s *ClusterMetadata) SetKmsKeyARN(v string) *ClusterMetadata {
  3009  	s.KmsKeyARN = &v
  3010  	return s
  3011  }
  3012  
  3013  // SetNotification sets the Notification field's value.
  3014  func (s *ClusterMetadata) SetNotification(v *Notification) *ClusterMetadata {
  3015  	s.Notification = v
  3016  	return s
  3017  }
  3018  
  3019  // SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
  3020  func (s *ClusterMetadata) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *ClusterMetadata {
  3021  	s.OnDeviceServiceConfiguration = v
  3022  	return s
  3023  }
  3024  
  3025  // SetResources sets the Resources field's value.
  3026  func (s *ClusterMetadata) SetResources(v *JobResource) *ClusterMetadata {
  3027  	s.Resources = v
  3028  	return s
  3029  }
  3030  
  3031  // SetRoleARN sets the RoleARN field's value.
  3032  func (s *ClusterMetadata) SetRoleARN(v string) *ClusterMetadata {
  3033  	s.RoleARN = &v
  3034  	return s
  3035  }
  3036  
  3037  // SetShippingOption sets the ShippingOption field's value.
  3038  func (s *ClusterMetadata) SetShippingOption(v string) *ClusterMetadata {
  3039  	s.ShippingOption = &v
  3040  	return s
  3041  }
  3042  
  3043  // SetSnowballType sets the SnowballType field's value.
  3044  func (s *ClusterMetadata) SetSnowballType(v string) *ClusterMetadata {
  3045  	s.SnowballType = &v
  3046  	return s
  3047  }
  3048  
  3049  // SetTaxDocuments sets the TaxDocuments field's value.
  3050  func (s *ClusterMetadata) SetTaxDocuments(v *TaxDocuments) *ClusterMetadata {
  3051  	s.TaxDocuments = v
  3052  	return s
  3053  }
  3054  
  3055  // A JSON-formatted object that describes a compatible Amazon Machine Image
  3056  // (AMI), including the ID and name for a Snow device AMI. This AMI is compatible
  3057  // with the device's physical hardware requirements, and it should be able to
  3058  // be run in an SBE1 instance on the device.
  3059  type CompatibleImage struct {
  3060  	_ struct{} `type:"structure"`
  3061  
  3062  	// The unique identifier for an individual Snow device AMI.
  3063  	AmiId *string `min:"1" type:"string"`
  3064  
  3065  	// The optional name of a compatible image.
  3066  	Name *string `min:"1" type:"string"`
  3067  }
  3068  
  3069  // String returns the string representation.
  3070  //
  3071  // API parameter values that are decorated as "sensitive" in the API will not
  3072  // be included in the string output. The member name will be present, but the
  3073  // value will be replaced with "sensitive".
  3074  func (s CompatibleImage) String() string {
  3075  	return awsutil.Prettify(s)
  3076  }
  3077  
  3078  // GoString returns the string representation.
  3079  //
  3080  // API parameter values that are decorated as "sensitive" in the API will not
  3081  // be included in the string output. The member name will be present, but the
  3082  // value will be replaced with "sensitive".
  3083  func (s CompatibleImage) GoString() string {
  3084  	return s.String()
  3085  }
  3086  
  3087  // SetAmiId sets the AmiId field's value.
  3088  func (s *CompatibleImage) SetAmiId(v string) *CompatibleImage {
  3089  	s.AmiId = &v
  3090  	return s
  3091  }
  3092  
  3093  // SetName sets the Name field's value.
  3094  func (s *CompatibleImage) SetName(v string) *CompatibleImage {
  3095  	s.Name = &v
  3096  	return s
  3097  }
  3098  
  3099  // You get this exception when you call CreateReturnShippingLabel more than
  3100  // once when other requests are not completed.
  3101  type ConflictException struct {
  3102  	_            struct{}                  `type:"structure"`
  3103  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3104  
  3105  	ConflictResource *string `min:"1" type:"string"`
  3106  
  3107  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  3108  }
  3109  
  3110  // String returns the string representation.
  3111  //
  3112  // API parameter values that are decorated as "sensitive" in the API will not
  3113  // be included in the string output. The member name will be present, but the
  3114  // value will be replaced with "sensitive".
  3115  func (s ConflictException) String() string {
  3116  	return awsutil.Prettify(s)
  3117  }
  3118  
  3119  // GoString returns the string representation.
  3120  //
  3121  // API parameter values that are decorated as "sensitive" in the API will not
  3122  // be included in the string output. The member name will be present, but the
  3123  // value will be replaced with "sensitive".
  3124  func (s ConflictException) GoString() string {
  3125  	return s.String()
  3126  }
  3127  
  3128  func newErrorConflictException(v protocol.ResponseMetadata) error {
  3129  	return &ConflictException{
  3130  		RespMetadata: v,
  3131  	}
  3132  }
  3133  
  3134  // Code returns the exception type name.
  3135  func (s *ConflictException) Code() string {
  3136  	return "ConflictException"
  3137  }
  3138  
  3139  // Message returns the exception's message.
  3140  func (s *ConflictException) Message() string {
  3141  	if s.Message_ != nil {
  3142  		return *s.Message_
  3143  	}
  3144  	return ""
  3145  }
  3146  
  3147  // OrigErr always returns nil, satisfies awserr.Error interface.
  3148  func (s *ConflictException) OrigErr() error {
  3149  	return nil
  3150  }
  3151  
  3152  func (s *ConflictException) Error() string {
  3153  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  3154  }
  3155  
  3156  // Status code returns the HTTP status code for the request's response error.
  3157  func (s *ConflictException) StatusCode() int {
  3158  	return s.RespMetadata.StatusCode
  3159  }
  3160  
  3161  // RequestID returns the service's response RequestID for request.
  3162  func (s *ConflictException) RequestID() string {
  3163  	return s.RespMetadata.RequestID
  3164  }
  3165  
  3166  type CreateAddressInput struct {
  3167  	_ struct{} `type:"structure"`
  3168  
  3169  	// The address that you want the Snow device shipped to.
  3170  	//
  3171  	// Address is a required field
  3172  	Address *Address `type:"structure" required:"true"`
  3173  }
  3174  
  3175  // String returns the string representation.
  3176  //
  3177  // API parameter values that are decorated as "sensitive" in the API will not
  3178  // be included in the string output. The member name will be present, but the
  3179  // value will be replaced with "sensitive".
  3180  func (s CreateAddressInput) String() string {
  3181  	return awsutil.Prettify(s)
  3182  }
  3183  
  3184  // GoString returns the string representation.
  3185  //
  3186  // API parameter values that are decorated as "sensitive" in the API will not
  3187  // be included in the string output. The member name will be present, but the
  3188  // value will be replaced with "sensitive".
  3189  func (s CreateAddressInput) GoString() string {
  3190  	return s.String()
  3191  }
  3192  
  3193  // Validate inspects the fields of the type to determine if they are valid.
  3194  func (s *CreateAddressInput) Validate() error {
  3195  	invalidParams := request.ErrInvalidParams{Context: "CreateAddressInput"}
  3196  	if s.Address == nil {
  3197  		invalidParams.Add(request.NewErrParamRequired("Address"))
  3198  	}
  3199  	if s.Address != nil {
  3200  		if err := s.Address.Validate(); err != nil {
  3201  			invalidParams.AddNested("Address", err.(request.ErrInvalidParams))
  3202  		}
  3203  	}
  3204  
  3205  	if invalidParams.Len() > 0 {
  3206  		return invalidParams
  3207  	}
  3208  	return nil
  3209  }
  3210  
  3211  // SetAddress sets the Address field's value.
  3212  func (s *CreateAddressInput) SetAddress(v *Address) *CreateAddressInput {
  3213  	s.Address = v
  3214  	return s
  3215  }
  3216  
  3217  type CreateAddressOutput struct {
  3218  	_ struct{} `type:"structure"`
  3219  
  3220  	// The automatically generated ID for a specific address. You'll use this ID
  3221  	// when you create a job to specify which address you want the Snow device for
  3222  	// that job shipped to.
  3223  	AddressId *string `min:"1" type:"string"`
  3224  }
  3225  
  3226  // String returns the string representation.
  3227  //
  3228  // API parameter values that are decorated as "sensitive" in the API will not
  3229  // be included in the string output. The member name will be present, but the
  3230  // value will be replaced with "sensitive".
  3231  func (s CreateAddressOutput) String() string {
  3232  	return awsutil.Prettify(s)
  3233  }
  3234  
  3235  // GoString returns the string representation.
  3236  //
  3237  // API parameter values that are decorated as "sensitive" in the API will not
  3238  // be included in the string output. The member name will be present, but the
  3239  // value will be replaced with "sensitive".
  3240  func (s CreateAddressOutput) GoString() string {
  3241  	return s.String()
  3242  }
  3243  
  3244  // SetAddressId sets the AddressId field's value.
  3245  func (s *CreateAddressOutput) SetAddressId(v string) *CreateAddressOutput {
  3246  	s.AddressId = &v
  3247  	return s
  3248  }
  3249  
  3250  type CreateClusterInput struct {
  3251  	_ struct{} `type:"structure"`
  3252  
  3253  	// The ID for the address that you want the cluster shipped to.
  3254  	//
  3255  	// AddressId is a required field
  3256  	AddressId *string `min:"40" type:"string" required:"true"`
  3257  
  3258  	// An optional description of this specific cluster, for example Environmental
  3259  	// Data Cluster-01.
  3260  	Description *string `min:"1" type:"string"`
  3261  
  3262  	// The forwarding address ID for a cluster. This field is not supported in most
  3263  	// regions.
  3264  	ForwardingAddressId *string `min:"40" type:"string"`
  3265  
  3266  	// The type of job for this cluster. Currently, the only job type supported
  3267  	// for clusters is LOCAL_USE.
  3268  	//
  3269  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  3270  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  3271  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  3272  	//
  3273  	// JobType is a required field
  3274  	JobType *string `type:"string" required:"true" enum:"JobType"`
  3275  
  3276  	// The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN
  3277  	// values are created by using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
  3278  	// API action in AWS Key Management Service (AWS KMS).
  3279  	KmsKeyARN *string `type:"string"`
  3280  
  3281  	// The Amazon Simple Notification Service (Amazon SNS) notification settings
  3282  	// for this cluster.
  3283  	Notification *Notification `type:"structure"`
  3284  
  3285  	// Specifies the service or services on the Snow Family device that your transferred
  3286  	// data will be exported from or imported into. AWS Snow Family supports Amazon
  3287  	// S3 and NFS (Network File System).
  3288  	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
  3289  
  3290  	// Allows you to securely operate and manage Snow devices in a cluster remotely
  3291  	// from outside of your internal network. When set to INSTALLED_AUTOSTART, remote
  3292  	// management will automatically be available when the device arrives at your
  3293  	// location. Otherwise, you need to use the Snowball Client to manage the device.
  3294  	RemoteManagement *string `type:"string" enum:"RemoteManagement"`
  3295  
  3296  	// The resources associated with the cluster job. These resources include Amazon
  3297  	// S3 buckets and optional AWS Lambda functions written in the Python language.
  3298  	//
  3299  	// Resources is a required field
  3300  	Resources *JobResource `type:"structure" required:"true"`
  3301  
  3302  	// The RoleARN that you want to associate with this cluster. RoleArn values
  3303  	// are created by using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
  3304  	// API action in AWS Identity and Access Management (IAM).
  3305  	//
  3306  	// RoleARN is a required field
  3307  	RoleARN *string `type:"string" required:"true"`
  3308  
  3309  	// The shipping speed for each node in this cluster. This speed doesn't dictate
  3310  	// how soon you'll get each Snowball Edge device, rather it represents how quickly
  3311  	// each device moves to its destination while in transit. Regional shipping
  3312  	// speeds are as follows:
  3313  	//
  3314  	//    * In Australia, you have access to express shipping. Typically, Snow devices
  3315  	//    shipped express are delivered in about a day.
  3316  	//
  3317  	//    * In the European Union (EU), you have access to express shipping. Typically,
  3318  	//    Snow devices shipped express are delivered in about a day. In addition,
  3319  	//    most countries in the EU have access to standard shipping, which typically
  3320  	//    takes less than a week, one way.
  3321  	//
  3322  	//    * In India, Snow devices are delivered in one to seven days.
  3323  	//
  3324  	//    * In the United States of America (US), you have access to one-day shipping
  3325  	//    and two-day shipping.
  3326  	//
  3327  	//    * In Australia, you have access to express shipping. Typically, devices
  3328  	//    shipped express are delivered in about a day.
  3329  	//
  3330  	//    * In the European Union (EU), you have access to express shipping. Typically,
  3331  	//    Snow devices shipped express are delivered in about a day. In addition,
  3332  	//    most countries in the EU have access to standard shipping, which typically
  3333  	//    takes less than a week, one way.
  3334  	//
  3335  	//    * In India, Snow devices are delivered in one to seven days.
  3336  	//
  3337  	//    * In the US, you have access to one-day shipping and two-day shipping.
  3338  	//
  3339  	// ShippingOption is a required field
  3340  	ShippingOption *string `type:"string" required:"true" enum:"ShippingOption"`
  3341  
  3342  	// The type of AWS Snow Family device to use for this cluster.
  3343  	//
  3344  	// For cluster jobs, AWS Snow Family currently supports only the EDGE device
  3345  	// type.
  3346  	//
  3347  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  3348  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  3349  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  3350  	//
  3351  	// SnowballType is a required field
  3352  	SnowballType *string `type:"string" required:"true" enum:"Type"`
  3353  
  3354  	// The tax documents required in your AWS Region.
  3355  	TaxDocuments *TaxDocuments `type:"structure"`
  3356  }
  3357  
  3358  // String returns the string representation.
  3359  //
  3360  // API parameter values that are decorated as "sensitive" in the API will not
  3361  // be included in the string output. The member name will be present, but the
  3362  // value will be replaced with "sensitive".
  3363  func (s CreateClusterInput) String() string {
  3364  	return awsutil.Prettify(s)
  3365  }
  3366  
  3367  // GoString returns the string representation.
  3368  //
  3369  // API parameter values that are decorated as "sensitive" in the API will not
  3370  // be included in the string output. The member name will be present, but the
  3371  // value will be replaced with "sensitive".
  3372  func (s CreateClusterInput) GoString() string {
  3373  	return s.String()
  3374  }
  3375  
  3376  // Validate inspects the fields of the type to determine if they are valid.
  3377  func (s *CreateClusterInput) Validate() error {
  3378  	invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"}
  3379  	if s.AddressId == nil {
  3380  		invalidParams.Add(request.NewErrParamRequired("AddressId"))
  3381  	}
  3382  	if s.AddressId != nil && len(*s.AddressId) < 40 {
  3383  		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
  3384  	}
  3385  	if s.Description != nil && len(*s.Description) < 1 {
  3386  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  3387  	}
  3388  	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
  3389  		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
  3390  	}
  3391  	if s.JobType == nil {
  3392  		invalidParams.Add(request.NewErrParamRequired("JobType"))
  3393  	}
  3394  	if s.Resources == nil {
  3395  		invalidParams.Add(request.NewErrParamRequired("Resources"))
  3396  	}
  3397  	if s.RoleARN == nil {
  3398  		invalidParams.Add(request.NewErrParamRequired("RoleARN"))
  3399  	}
  3400  	if s.ShippingOption == nil {
  3401  		invalidParams.Add(request.NewErrParamRequired("ShippingOption"))
  3402  	}
  3403  	if s.SnowballType == nil {
  3404  		invalidParams.Add(request.NewErrParamRequired("SnowballType"))
  3405  	}
  3406  	if s.Resources != nil {
  3407  		if err := s.Resources.Validate(); err != nil {
  3408  			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
  3409  		}
  3410  	}
  3411  
  3412  	if invalidParams.Len() > 0 {
  3413  		return invalidParams
  3414  	}
  3415  	return nil
  3416  }
  3417  
  3418  // SetAddressId sets the AddressId field's value.
  3419  func (s *CreateClusterInput) SetAddressId(v string) *CreateClusterInput {
  3420  	s.AddressId = &v
  3421  	return s
  3422  }
  3423  
  3424  // SetDescription sets the Description field's value.
  3425  func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput {
  3426  	s.Description = &v
  3427  	return s
  3428  }
  3429  
  3430  // SetForwardingAddressId sets the ForwardingAddressId field's value.
  3431  func (s *CreateClusterInput) SetForwardingAddressId(v string) *CreateClusterInput {
  3432  	s.ForwardingAddressId = &v
  3433  	return s
  3434  }
  3435  
  3436  // SetJobType sets the JobType field's value.
  3437  func (s *CreateClusterInput) SetJobType(v string) *CreateClusterInput {
  3438  	s.JobType = &v
  3439  	return s
  3440  }
  3441  
  3442  // SetKmsKeyARN sets the KmsKeyARN field's value.
  3443  func (s *CreateClusterInput) SetKmsKeyARN(v string) *CreateClusterInput {
  3444  	s.KmsKeyARN = &v
  3445  	return s
  3446  }
  3447  
  3448  // SetNotification sets the Notification field's value.
  3449  func (s *CreateClusterInput) SetNotification(v *Notification) *CreateClusterInput {
  3450  	s.Notification = v
  3451  	return s
  3452  }
  3453  
  3454  // SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
  3455  func (s *CreateClusterInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *CreateClusterInput {
  3456  	s.OnDeviceServiceConfiguration = v
  3457  	return s
  3458  }
  3459  
  3460  // SetRemoteManagement sets the RemoteManagement field's value.
  3461  func (s *CreateClusterInput) SetRemoteManagement(v string) *CreateClusterInput {
  3462  	s.RemoteManagement = &v
  3463  	return s
  3464  }
  3465  
  3466  // SetResources sets the Resources field's value.
  3467  func (s *CreateClusterInput) SetResources(v *JobResource) *CreateClusterInput {
  3468  	s.Resources = v
  3469  	return s
  3470  }
  3471  
  3472  // SetRoleARN sets the RoleARN field's value.
  3473  func (s *CreateClusterInput) SetRoleARN(v string) *CreateClusterInput {
  3474  	s.RoleARN = &v
  3475  	return s
  3476  }
  3477  
  3478  // SetShippingOption sets the ShippingOption field's value.
  3479  func (s *CreateClusterInput) SetShippingOption(v string) *CreateClusterInput {
  3480  	s.ShippingOption = &v
  3481  	return s
  3482  }
  3483  
  3484  // SetSnowballType sets the SnowballType field's value.
  3485  func (s *CreateClusterInput) SetSnowballType(v string) *CreateClusterInput {
  3486  	s.SnowballType = &v
  3487  	return s
  3488  }
  3489  
  3490  // SetTaxDocuments sets the TaxDocuments field's value.
  3491  func (s *CreateClusterInput) SetTaxDocuments(v *TaxDocuments) *CreateClusterInput {
  3492  	s.TaxDocuments = v
  3493  	return s
  3494  }
  3495  
  3496  type CreateClusterOutput struct {
  3497  	_ struct{} `type:"structure"`
  3498  
  3499  	// The automatically generated ID for a cluster.
  3500  	ClusterId *string `min:"39" type:"string"`
  3501  }
  3502  
  3503  // String returns the string representation.
  3504  //
  3505  // API parameter values that are decorated as "sensitive" in the API will not
  3506  // be included in the string output. The member name will be present, but the
  3507  // value will be replaced with "sensitive".
  3508  func (s CreateClusterOutput) String() string {
  3509  	return awsutil.Prettify(s)
  3510  }
  3511  
  3512  // GoString returns the string representation.
  3513  //
  3514  // API parameter values that are decorated as "sensitive" in the API will not
  3515  // be included in the string output. The member name will be present, but the
  3516  // value will be replaced with "sensitive".
  3517  func (s CreateClusterOutput) GoString() string {
  3518  	return s.String()
  3519  }
  3520  
  3521  // SetClusterId sets the ClusterId field's value.
  3522  func (s *CreateClusterOutput) SetClusterId(v string) *CreateClusterOutput {
  3523  	s.ClusterId = &v
  3524  	return s
  3525  }
  3526  
  3527  type CreateJobInput struct {
  3528  	_ struct{} `type:"structure"`
  3529  
  3530  	// The ID for the address that you want the Snow device shipped to.
  3531  	AddressId *string `min:"40" type:"string"`
  3532  
  3533  	// The ID of a cluster. If you're creating a job for a node in a cluster, you
  3534  	// need to provide only this clusterId value. The other job attributes are inherited
  3535  	// from the cluster.
  3536  	ClusterId *string `min:"39" type:"string"`
  3537  
  3538  	// Defines an optional description of this specific job, for example Important
  3539  	// Photos 2016-08-11.
  3540  	Description *string `min:"1" type:"string"`
  3541  
  3542  	// Defines the device configuration for an AWS Snowcone job.
  3543  	//
  3544  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  3545  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  3546  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  3547  	DeviceConfiguration *DeviceConfiguration `type:"structure"`
  3548  
  3549  	// The forwarding address ID for a job. This field is not supported in most
  3550  	// Regions.
  3551  	ForwardingAddressId *string `min:"40" type:"string"`
  3552  
  3553  	// Defines the type of job that you're creating.
  3554  	JobType *string `type:"string" enum:"JobType"`
  3555  
  3556  	// The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created
  3557  	// using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
  3558  	// AWS Key Management Service (KMS) API action.
  3559  	KmsKeyARN *string `type:"string"`
  3560  
  3561  	// The ID of the long-term pricing type for the device.
  3562  	LongTermPricingId *string `min:"41" type:"string"`
  3563  
  3564  	// Defines the Amazon Simple Notification Service (Amazon SNS) notification
  3565  	// settings for this job.
  3566  	Notification *Notification `type:"structure"`
  3567  
  3568  	// Specifies the service or services on the Snow Family device that your transferred
  3569  	// data will be exported from or imported into. AWS Snow Family supports Amazon
  3570  	// S3 and NFS (Network File System).
  3571  	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
  3572  
  3573  	// Allows you to securely operate and manage Snowcone devices remotely from
  3574  	// outside of your internal network. When set to INSTALLED_AUTOSTART, remote
  3575  	// management will automatically be available when the device arrives at your
  3576  	// location. Otherwise, you need to use the Snowball Client to manage the device.
  3577  	RemoteManagement *string `type:"string" enum:"RemoteManagement"`
  3578  
  3579  	// Defines the Amazon S3 buckets associated with this job.
  3580  	//
  3581  	// With IMPORT jobs, you specify the bucket or buckets that your transferred
  3582  	// data will be imported into.
  3583  	//
  3584  	// With EXPORT jobs, you specify the bucket or buckets that your transferred
  3585  	// data will be exported from. Optionally, you can also specify a KeyRange value.
  3586  	// If you choose to export a range, you define the length of the range by providing
  3587  	// either an inclusive BeginMarker value, an inclusive EndMarker value, or both.
  3588  	// Ranges are UTF-8 binary sorted.
  3589  	Resources *JobResource `type:"structure"`
  3590  
  3591  	// The RoleARN that you want to associate with this job. RoleArns are created
  3592  	// using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
  3593  	// AWS Identity and Access Management (IAM) API action.
  3594  	RoleARN *string `type:"string"`
  3595  
  3596  	// The shipping speed for this job. This speed doesn't dictate how soon you'll
  3597  	// get the Snow device, rather it represents how quickly the Snow device moves
  3598  	// to its destination while in transit. Regional shipping speeds are as follows:
  3599  	//
  3600  	//    * In Australia, you have access to express shipping. Typically, Snow devices
  3601  	//    shipped express are delivered in about a day.
  3602  	//
  3603  	//    * In the European Union (EU), you have access to express shipping. Typically,
  3604  	//    Snow devices shipped express are delivered in about a day. In addition,
  3605  	//    most countries in the EU have access to standard shipping, which typically
  3606  	//    takes less than a week, one way.
  3607  	//
  3608  	//    * In India, Snow devices are delivered in one to seven days.
  3609  	//
  3610  	//    * In the US, you have access to one-day shipping and two-day shipping.
  3611  	ShippingOption *string `type:"string" enum:"ShippingOption"`
  3612  
  3613  	// If your job is being created in one of the US regions, you have the option
  3614  	// of specifying what size Snow device you'd like for this job. In all other
  3615  	// regions, Snowballs come with 80 TB in storage capacity.
  3616  	//
  3617  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  3618  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  3619  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  3620  	SnowballCapacityPreference *string `type:"string" enum:"Capacity"`
  3621  
  3622  	// The type of AWS Snow Family device to use for this job.
  3623  	//
  3624  	// For cluster jobs, AWS Snow Family currently supports only the EDGE device
  3625  	// type.
  3626  	//
  3627  	// The type of AWS Snow device to use for this job. Currently, the only supported
  3628  	// device type for cluster jobs is EDGE.
  3629  	//
  3630  	// For more information, see Snowball Edge Device Options (https://docs.aws.amazon.com/snowball/latest/developer-guide/device-differences.html)
  3631  	// in the Snowball Edge Developer Guide.
  3632  	//
  3633  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  3634  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  3635  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  3636  	SnowballType *string `type:"string" enum:"Type"`
  3637  
  3638  	// The tax documents required in your AWS Region.
  3639  	TaxDocuments *TaxDocuments `type:"structure"`
  3640  }
  3641  
  3642  // String returns the string representation.
  3643  //
  3644  // API parameter values that are decorated as "sensitive" in the API will not
  3645  // be included in the string output. The member name will be present, but the
  3646  // value will be replaced with "sensitive".
  3647  func (s CreateJobInput) String() string {
  3648  	return awsutil.Prettify(s)
  3649  }
  3650  
  3651  // GoString returns the string representation.
  3652  //
  3653  // API parameter values that are decorated as "sensitive" in the API will not
  3654  // be included in the string output. The member name will be present, but the
  3655  // value will be replaced with "sensitive".
  3656  func (s CreateJobInput) GoString() string {
  3657  	return s.String()
  3658  }
  3659  
  3660  // Validate inspects the fields of the type to determine if they are valid.
  3661  func (s *CreateJobInput) Validate() error {
  3662  	invalidParams := request.ErrInvalidParams{Context: "CreateJobInput"}
  3663  	if s.AddressId != nil && len(*s.AddressId) < 40 {
  3664  		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
  3665  	}
  3666  	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
  3667  		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
  3668  	}
  3669  	if s.Description != nil && len(*s.Description) < 1 {
  3670  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  3671  	}
  3672  	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
  3673  		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
  3674  	}
  3675  	if s.LongTermPricingId != nil && len(*s.LongTermPricingId) < 41 {
  3676  		invalidParams.Add(request.NewErrParamMinLen("LongTermPricingId", 41))
  3677  	}
  3678  	if s.Resources != nil {
  3679  		if err := s.Resources.Validate(); err != nil {
  3680  			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
  3681  		}
  3682  	}
  3683  
  3684  	if invalidParams.Len() > 0 {
  3685  		return invalidParams
  3686  	}
  3687  	return nil
  3688  }
  3689  
  3690  // SetAddressId sets the AddressId field's value.
  3691  func (s *CreateJobInput) SetAddressId(v string) *CreateJobInput {
  3692  	s.AddressId = &v
  3693  	return s
  3694  }
  3695  
  3696  // SetClusterId sets the ClusterId field's value.
  3697  func (s *CreateJobInput) SetClusterId(v string) *CreateJobInput {
  3698  	s.ClusterId = &v
  3699  	return s
  3700  }
  3701  
  3702  // SetDescription sets the Description field's value.
  3703  func (s *CreateJobInput) SetDescription(v string) *CreateJobInput {
  3704  	s.Description = &v
  3705  	return s
  3706  }
  3707  
  3708  // SetDeviceConfiguration sets the DeviceConfiguration field's value.
  3709  func (s *CreateJobInput) SetDeviceConfiguration(v *DeviceConfiguration) *CreateJobInput {
  3710  	s.DeviceConfiguration = v
  3711  	return s
  3712  }
  3713  
  3714  // SetForwardingAddressId sets the ForwardingAddressId field's value.
  3715  func (s *CreateJobInput) SetForwardingAddressId(v string) *CreateJobInput {
  3716  	s.ForwardingAddressId = &v
  3717  	return s
  3718  }
  3719  
  3720  // SetJobType sets the JobType field's value.
  3721  func (s *CreateJobInput) SetJobType(v string) *CreateJobInput {
  3722  	s.JobType = &v
  3723  	return s
  3724  }
  3725  
  3726  // SetKmsKeyARN sets the KmsKeyARN field's value.
  3727  func (s *CreateJobInput) SetKmsKeyARN(v string) *CreateJobInput {
  3728  	s.KmsKeyARN = &v
  3729  	return s
  3730  }
  3731  
  3732  // SetLongTermPricingId sets the LongTermPricingId field's value.
  3733  func (s *CreateJobInput) SetLongTermPricingId(v string) *CreateJobInput {
  3734  	s.LongTermPricingId = &v
  3735  	return s
  3736  }
  3737  
  3738  // SetNotification sets the Notification field's value.
  3739  func (s *CreateJobInput) SetNotification(v *Notification) *CreateJobInput {
  3740  	s.Notification = v
  3741  	return s
  3742  }
  3743  
  3744  // SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
  3745  func (s *CreateJobInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *CreateJobInput {
  3746  	s.OnDeviceServiceConfiguration = v
  3747  	return s
  3748  }
  3749  
  3750  // SetRemoteManagement sets the RemoteManagement field's value.
  3751  func (s *CreateJobInput) SetRemoteManagement(v string) *CreateJobInput {
  3752  	s.RemoteManagement = &v
  3753  	return s
  3754  }
  3755  
  3756  // SetResources sets the Resources field's value.
  3757  func (s *CreateJobInput) SetResources(v *JobResource) *CreateJobInput {
  3758  	s.Resources = v
  3759  	return s
  3760  }
  3761  
  3762  // SetRoleARN sets the RoleARN field's value.
  3763  func (s *CreateJobInput) SetRoleARN(v string) *CreateJobInput {
  3764  	s.RoleARN = &v
  3765  	return s
  3766  }
  3767  
  3768  // SetShippingOption sets the ShippingOption field's value.
  3769  func (s *CreateJobInput) SetShippingOption(v string) *CreateJobInput {
  3770  	s.ShippingOption = &v
  3771  	return s
  3772  }
  3773  
  3774  // SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value.
  3775  func (s *CreateJobInput) SetSnowballCapacityPreference(v string) *CreateJobInput {
  3776  	s.SnowballCapacityPreference = &v
  3777  	return s
  3778  }
  3779  
  3780  // SetSnowballType sets the SnowballType field's value.
  3781  func (s *CreateJobInput) SetSnowballType(v string) *CreateJobInput {
  3782  	s.SnowballType = &v
  3783  	return s
  3784  }
  3785  
  3786  // SetTaxDocuments sets the TaxDocuments field's value.
  3787  func (s *CreateJobInput) SetTaxDocuments(v *TaxDocuments) *CreateJobInput {
  3788  	s.TaxDocuments = v
  3789  	return s
  3790  }
  3791  
  3792  type CreateJobOutput struct {
  3793  	_ struct{} `type:"structure"`
  3794  
  3795  	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
  3796  	JobId *string `min:"39" type:"string"`
  3797  }
  3798  
  3799  // String returns the string representation.
  3800  //
  3801  // API parameter values that are decorated as "sensitive" in the API will not
  3802  // be included in the string output. The member name will be present, but the
  3803  // value will be replaced with "sensitive".
  3804  func (s CreateJobOutput) String() string {
  3805  	return awsutil.Prettify(s)
  3806  }
  3807  
  3808  // GoString returns the string representation.
  3809  //
  3810  // API parameter values that are decorated as "sensitive" in the API will not
  3811  // be included in the string output. The member name will be present, but the
  3812  // value will be replaced with "sensitive".
  3813  func (s CreateJobOutput) GoString() string {
  3814  	return s.String()
  3815  }
  3816  
  3817  // SetJobId sets the JobId field's value.
  3818  func (s *CreateJobOutput) SetJobId(v string) *CreateJobOutput {
  3819  	s.JobId = &v
  3820  	return s
  3821  }
  3822  
  3823  type CreateLongTermPricingInput struct {
  3824  	_ struct{} `type:"structure"`
  3825  
  3826  	// Specifies whether the current long-term pricing type for the device should
  3827  	// be renewed.
  3828  	IsLongTermPricingAutoRenew *bool `type:"boolean"`
  3829  
  3830  	// The type of long-term pricing option you want for the device, either 1-year
  3831  	// or 3-year long-term pricing.
  3832  	//
  3833  	// LongTermPricingType is a required field
  3834  	LongTermPricingType *string `type:"string" required:"true" enum:"LongTermPricingType"`
  3835  
  3836  	// The type of AWS Snow Family device to use for the long-term pricing job.
  3837  	SnowballType *string `type:"string" enum:"Type"`
  3838  }
  3839  
  3840  // String returns the string representation.
  3841  //
  3842  // API parameter values that are decorated as "sensitive" in the API will not
  3843  // be included in the string output. The member name will be present, but the
  3844  // value will be replaced with "sensitive".
  3845  func (s CreateLongTermPricingInput) String() string {
  3846  	return awsutil.Prettify(s)
  3847  }
  3848  
  3849  // GoString returns the string representation.
  3850  //
  3851  // API parameter values that are decorated as "sensitive" in the API will not
  3852  // be included in the string output. The member name will be present, but the
  3853  // value will be replaced with "sensitive".
  3854  func (s CreateLongTermPricingInput) GoString() string {
  3855  	return s.String()
  3856  }
  3857  
  3858  // Validate inspects the fields of the type to determine if they are valid.
  3859  func (s *CreateLongTermPricingInput) Validate() error {
  3860  	invalidParams := request.ErrInvalidParams{Context: "CreateLongTermPricingInput"}
  3861  	if s.LongTermPricingType == nil {
  3862  		invalidParams.Add(request.NewErrParamRequired("LongTermPricingType"))
  3863  	}
  3864  
  3865  	if invalidParams.Len() > 0 {
  3866  		return invalidParams
  3867  	}
  3868  	return nil
  3869  }
  3870  
  3871  // SetIsLongTermPricingAutoRenew sets the IsLongTermPricingAutoRenew field's value.
  3872  func (s *CreateLongTermPricingInput) SetIsLongTermPricingAutoRenew(v bool) *CreateLongTermPricingInput {
  3873  	s.IsLongTermPricingAutoRenew = &v
  3874  	return s
  3875  }
  3876  
  3877  // SetLongTermPricingType sets the LongTermPricingType field's value.
  3878  func (s *CreateLongTermPricingInput) SetLongTermPricingType(v string) *CreateLongTermPricingInput {
  3879  	s.LongTermPricingType = &v
  3880  	return s
  3881  }
  3882  
  3883  // SetSnowballType sets the SnowballType field's value.
  3884  func (s *CreateLongTermPricingInput) SetSnowballType(v string) *CreateLongTermPricingInput {
  3885  	s.SnowballType = &v
  3886  	return s
  3887  }
  3888  
  3889  type CreateLongTermPricingOutput struct {
  3890  	_ struct{} `type:"structure"`
  3891  
  3892  	// The ID of the long-term pricing type for the device.
  3893  	LongTermPricingId *string `min:"41" type:"string"`
  3894  }
  3895  
  3896  // String returns the string representation.
  3897  //
  3898  // API parameter values that are decorated as "sensitive" in the API will not
  3899  // be included in the string output. The member name will be present, but the
  3900  // value will be replaced with "sensitive".
  3901  func (s CreateLongTermPricingOutput) String() string {
  3902  	return awsutil.Prettify(s)
  3903  }
  3904  
  3905  // GoString returns the string representation.
  3906  //
  3907  // API parameter values that are decorated as "sensitive" in the API will not
  3908  // be included in the string output. The member name will be present, but the
  3909  // value will be replaced with "sensitive".
  3910  func (s CreateLongTermPricingOutput) GoString() string {
  3911  	return s.String()
  3912  }
  3913  
  3914  // SetLongTermPricingId sets the LongTermPricingId field's value.
  3915  func (s *CreateLongTermPricingOutput) SetLongTermPricingId(v string) *CreateLongTermPricingOutput {
  3916  	s.LongTermPricingId = &v
  3917  	return s
  3918  }
  3919  
  3920  type CreateReturnShippingLabelInput struct {
  3921  	_ struct{} `type:"structure"`
  3922  
  3923  	// The ID for a job that you want to create the return shipping label for; for
  3924  	// example, JID123e4567-e89b-12d3-a456-426655440000.
  3925  	//
  3926  	// JobId is a required field
  3927  	JobId *string `min:"39" type:"string" required:"true"`
  3928  
  3929  	// The shipping speed for a particular job. This speed doesn't dictate how soon
  3930  	// the device is returned to AWS. This speed represents how quickly it moves
  3931  	// to its destination while in transit. Regional shipping speeds are as follows:
  3932  	ShippingOption *string `type:"string" enum:"ShippingOption"`
  3933  }
  3934  
  3935  // String returns the string representation.
  3936  //
  3937  // API parameter values that are decorated as "sensitive" in the API will not
  3938  // be included in the string output. The member name will be present, but the
  3939  // value will be replaced with "sensitive".
  3940  func (s CreateReturnShippingLabelInput) String() string {
  3941  	return awsutil.Prettify(s)
  3942  }
  3943  
  3944  // GoString returns the string representation.
  3945  //
  3946  // API parameter values that are decorated as "sensitive" in the API will not
  3947  // be included in the string output. The member name will be present, but the
  3948  // value will be replaced with "sensitive".
  3949  func (s CreateReturnShippingLabelInput) GoString() string {
  3950  	return s.String()
  3951  }
  3952  
  3953  // Validate inspects the fields of the type to determine if they are valid.
  3954  func (s *CreateReturnShippingLabelInput) Validate() error {
  3955  	invalidParams := request.ErrInvalidParams{Context: "CreateReturnShippingLabelInput"}
  3956  	if s.JobId == nil {
  3957  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  3958  	}
  3959  	if s.JobId != nil && len(*s.JobId) < 39 {
  3960  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  3961  	}
  3962  
  3963  	if invalidParams.Len() > 0 {
  3964  		return invalidParams
  3965  	}
  3966  	return nil
  3967  }
  3968  
  3969  // SetJobId sets the JobId field's value.
  3970  func (s *CreateReturnShippingLabelInput) SetJobId(v string) *CreateReturnShippingLabelInput {
  3971  	s.JobId = &v
  3972  	return s
  3973  }
  3974  
  3975  // SetShippingOption sets the ShippingOption field's value.
  3976  func (s *CreateReturnShippingLabelInput) SetShippingOption(v string) *CreateReturnShippingLabelInput {
  3977  	s.ShippingOption = &v
  3978  	return s
  3979  }
  3980  
  3981  type CreateReturnShippingLabelOutput struct {
  3982  	_ struct{} `type:"structure"`
  3983  
  3984  	// The status information of the task on a Snow device that is being returned
  3985  	// to AWS.
  3986  	Status *string `type:"string" enum:"ShippingLabelStatus"`
  3987  }
  3988  
  3989  // String returns the string representation.
  3990  //
  3991  // API parameter values that are decorated as "sensitive" in the API will not
  3992  // be included in the string output. The member name will be present, but the
  3993  // value will be replaced with "sensitive".
  3994  func (s CreateReturnShippingLabelOutput) String() string {
  3995  	return awsutil.Prettify(s)
  3996  }
  3997  
  3998  // GoString returns the string representation.
  3999  //
  4000  // API parameter values that are decorated as "sensitive" in the API will not
  4001  // be included in the string output. The member name will be present, but the
  4002  // value will be replaced with "sensitive".
  4003  func (s CreateReturnShippingLabelOutput) GoString() string {
  4004  	return s.String()
  4005  }
  4006  
  4007  // SetStatus sets the Status field's value.
  4008  func (s *CreateReturnShippingLabelOutput) SetStatus(v string) *CreateReturnShippingLabelOutput {
  4009  	s.Status = &v
  4010  	return s
  4011  }
  4012  
  4013  // Defines the real-time status of a Snow device's data transfer while the device
  4014  // is at AWS. This data is only available while a job has a JobState value of
  4015  // InProgress, for both import and export jobs.
  4016  type DataTransfer struct {
  4017  	_ struct{} `type:"structure"`
  4018  
  4019  	// The number of bytes transferred between a Snow device and Amazon S3.
  4020  	BytesTransferred *int64 `type:"long"`
  4021  
  4022  	// The number of objects transferred between a Snow device and Amazon S3.
  4023  	ObjectsTransferred *int64 `type:"long"`
  4024  
  4025  	// The total bytes of data for a transfer between a Snow device and Amazon S3.
  4026  	// This value is set to 0 (zero) until all the keys that will be transferred
  4027  	// have been listed.
  4028  	TotalBytes *int64 `type:"long"`
  4029  
  4030  	// The total number of objects for a transfer between a Snow device and Amazon
  4031  	// S3. This value is set to 0 (zero) until all the keys that will be transferred
  4032  	// have been listed.
  4033  	TotalObjects *int64 `type:"long"`
  4034  }
  4035  
  4036  // String returns the string representation.
  4037  //
  4038  // API parameter values that are decorated as "sensitive" in the API will not
  4039  // be included in the string output. The member name will be present, but the
  4040  // value will be replaced with "sensitive".
  4041  func (s DataTransfer) String() string {
  4042  	return awsutil.Prettify(s)
  4043  }
  4044  
  4045  // GoString returns the string representation.
  4046  //
  4047  // API parameter values that are decorated as "sensitive" in the API will not
  4048  // be included in the string output. The member name will be present, but the
  4049  // value will be replaced with "sensitive".
  4050  func (s DataTransfer) GoString() string {
  4051  	return s.String()
  4052  }
  4053  
  4054  // SetBytesTransferred sets the BytesTransferred field's value.
  4055  func (s *DataTransfer) SetBytesTransferred(v int64) *DataTransfer {
  4056  	s.BytesTransferred = &v
  4057  	return s
  4058  }
  4059  
  4060  // SetObjectsTransferred sets the ObjectsTransferred field's value.
  4061  func (s *DataTransfer) SetObjectsTransferred(v int64) *DataTransfer {
  4062  	s.ObjectsTransferred = &v
  4063  	return s
  4064  }
  4065  
  4066  // SetTotalBytes sets the TotalBytes field's value.
  4067  func (s *DataTransfer) SetTotalBytes(v int64) *DataTransfer {
  4068  	s.TotalBytes = &v
  4069  	return s
  4070  }
  4071  
  4072  // SetTotalObjects sets the TotalObjects field's value.
  4073  func (s *DataTransfer) SetTotalObjects(v int64) *DataTransfer {
  4074  	s.TotalObjects = &v
  4075  	return s
  4076  }
  4077  
  4078  type DescribeAddressInput struct {
  4079  	_ struct{} `type:"structure"`
  4080  
  4081  	// The automatically generated ID for a specific address.
  4082  	//
  4083  	// AddressId is a required field
  4084  	AddressId *string `min:"40" type:"string" required:"true"`
  4085  }
  4086  
  4087  // String returns the string representation.
  4088  //
  4089  // API parameter values that are decorated as "sensitive" in the API will not
  4090  // be included in the string output. The member name will be present, but the
  4091  // value will be replaced with "sensitive".
  4092  func (s DescribeAddressInput) String() string {
  4093  	return awsutil.Prettify(s)
  4094  }
  4095  
  4096  // GoString returns the string representation.
  4097  //
  4098  // API parameter values that are decorated as "sensitive" in the API will not
  4099  // be included in the string output. The member name will be present, but the
  4100  // value will be replaced with "sensitive".
  4101  func (s DescribeAddressInput) GoString() string {
  4102  	return s.String()
  4103  }
  4104  
  4105  // Validate inspects the fields of the type to determine if they are valid.
  4106  func (s *DescribeAddressInput) Validate() error {
  4107  	invalidParams := request.ErrInvalidParams{Context: "DescribeAddressInput"}
  4108  	if s.AddressId == nil {
  4109  		invalidParams.Add(request.NewErrParamRequired("AddressId"))
  4110  	}
  4111  	if s.AddressId != nil && len(*s.AddressId) < 40 {
  4112  		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
  4113  	}
  4114  
  4115  	if invalidParams.Len() > 0 {
  4116  		return invalidParams
  4117  	}
  4118  	return nil
  4119  }
  4120  
  4121  // SetAddressId sets the AddressId field's value.
  4122  func (s *DescribeAddressInput) SetAddressId(v string) *DescribeAddressInput {
  4123  	s.AddressId = &v
  4124  	return s
  4125  }
  4126  
  4127  type DescribeAddressOutput struct {
  4128  	_ struct{} `type:"structure"`
  4129  
  4130  	// The address that you want the Snow device(s) associated with a specific job
  4131  	// to be shipped to.
  4132  	Address *Address `type:"structure"`
  4133  }
  4134  
  4135  // String returns the string representation.
  4136  //
  4137  // API parameter values that are decorated as "sensitive" in the API will not
  4138  // be included in the string output. The member name will be present, but the
  4139  // value will be replaced with "sensitive".
  4140  func (s DescribeAddressOutput) String() string {
  4141  	return awsutil.Prettify(s)
  4142  }
  4143  
  4144  // GoString returns the string representation.
  4145  //
  4146  // API parameter values that are decorated as "sensitive" in the API will not
  4147  // be included in the string output. The member name will be present, but the
  4148  // value will be replaced with "sensitive".
  4149  func (s DescribeAddressOutput) GoString() string {
  4150  	return s.String()
  4151  }
  4152  
  4153  // SetAddress sets the Address field's value.
  4154  func (s *DescribeAddressOutput) SetAddress(v *Address) *DescribeAddressOutput {
  4155  	s.Address = v
  4156  	return s
  4157  }
  4158  
  4159  type DescribeAddressesInput struct {
  4160  	_ struct{} `type:"structure"`
  4161  
  4162  	// The number of ADDRESS objects to return.
  4163  	MaxResults *int64 `type:"integer"`
  4164  
  4165  	// HTTP requests are stateless. To identify what object comes "next" in the
  4166  	// list of ADDRESS objects, you have the option of specifying a value for NextToken
  4167  	// as the starting point for your list of returned addresses.
  4168  	NextToken *string `min:"1" type:"string"`
  4169  }
  4170  
  4171  // String returns the string representation.
  4172  //
  4173  // API parameter values that are decorated as "sensitive" in the API will not
  4174  // be included in the string output. The member name will be present, but the
  4175  // value will be replaced with "sensitive".
  4176  func (s DescribeAddressesInput) String() string {
  4177  	return awsutil.Prettify(s)
  4178  }
  4179  
  4180  // GoString returns the string representation.
  4181  //
  4182  // API parameter values that are decorated as "sensitive" in the API will not
  4183  // be included in the string output. The member name will be present, but the
  4184  // value will be replaced with "sensitive".
  4185  func (s DescribeAddressesInput) GoString() string {
  4186  	return s.String()
  4187  }
  4188  
  4189  // Validate inspects the fields of the type to determine if they are valid.
  4190  func (s *DescribeAddressesInput) Validate() error {
  4191  	invalidParams := request.ErrInvalidParams{Context: "DescribeAddressesInput"}
  4192  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  4193  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  4194  	}
  4195  
  4196  	if invalidParams.Len() > 0 {
  4197  		return invalidParams
  4198  	}
  4199  	return nil
  4200  }
  4201  
  4202  // SetMaxResults sets the MaxResults field's value.
  4203  func (s *DescribeAddressesInput) SetMaxResults(v int64) *DescribeAddressesInput {
  4204  	s.MaxResults = &v
  4205  	return s
  4206  }
  4207  
  4208  // SetNextToken sets the NextToken field's value.
  4209  func (s *DescribeAddressesInput) SetNextToken(v string) *DescribeAddressesInput {
  4210  	s.NextToken = &v
  4211  	return s
  4212  }
  4213  
  4214  type DescribeAddressesOutput struct {
  4215  	_ struct{} `type:"structure"`
  4216  
  4217  	// The Snow device shipping addresses that were created for this account.
  4218  	Addresses []*Address `type:"list"`
  4219  
  4220  	// HTTP requests are stateless. If you use the automatically generated NextToken
  4221  	// value in your next DescribeAddresses call, your list of returned addresses
  4222  	// will start from this point in the array.
  4223  	NextToken *string `min:"1" type:"string"`
  4224  }
  4225  
  4226  // String returns the string representation.
  4227  //
  4228  // API parameter values that are decorated as "sensitive" in the API will not
  4229  // be included in the string output. The member name will be present, but the
  4230  // value will be replaced with "sensitive".
  4231  func (s DescribeAddressesOutput) String() string {
  4232  	return awsutil.Prettify(s)
  4233  }
  4234  
  4235  // GoString returns the string representation.
  4236  //
  4237  // API parameter values that are decorated as "sensitive" in the API will not
  4238  // be included in the string output. The member name will be present, but the
  4239  // value will be replaced with "sensitive".
  4240  func (s DescribeAddressesOutput) GoString() string {
  4241  	return s.String()
  4242  }
  4243  
  4244  // SetAddresses sets the Addresses field's value.
  4245  func (s *DescribeAddressesOutput) SetAddresses(v []*Address) *DescribeAddressesOutput {
  4246  	s.Addresses = v
  4247  	return s
  4248  }
  4249  
  4250  // SetNextToken sets the NextToken field's value.
  4251  func (s *DescribeAddressesOutput) SetNextToken(v string) *DescribeAddressesOutput {
  4252  	s.NextToken = &v
  4253  	return s
  4254  }
  4255  
  4256  type DescribeClusterInput struct {
  4257  	_ struct{} `type:"structure"`
  4258  
  4259  	// The automatically generated ID for a cluster.
  4260  	//
  4261  	// ClusterId is a required field
  4262  	ClusterId *string `min:"39" type:"string" required:"true"`
  4263  }
  4264  
  4265  // String returns the string representation.
  4266  //
  4267  // API parameter values that are decorated as "sensitive" in the API will not
  4268  // be included in the string output. The member name will be present, but the
  4269  // value will be replaced with "sensitive".
  4270  func (s DescribeClusterInput) String() string {
  4271  	return awsutil.Prettify(s)
  4272  }
  4273  
  4274  // GoString returns the string representation.
  4275  //
  4276  // API parameter values that are decorated as "sensitive" in the API will not
  4277  // be included in the string output. The member name will be present, but the
  4278  // value will be replaced with "sensitive".
  4279  func (s DescribeClusterInput) GoString() string {
  4280  	return s.String()
  4281  }
  4282  
  4283  // Validate inspects the fields of the type to determine if they are valid.
  4284  func (s *DescribeClusterInput) Validate() error {
  4285  	invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"}
  4286  	if s.ClusterId == nil {
  4287  		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
  4288  	}
  4289  	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
  4290  		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
  4291  	}
  4292  
  4293  	if invalidParams.Len() > 0 {
  4294  		return invalidParams
  4295  	}
  4296  	return nil
  4297  }
  4298  
  4299  // SetClusterId sets the ClusterId field's value.
  4300  func (s *DescribeClusterInput) SetClusterId(v string) *DescribeClusterInput {
  4301  	s.ClusterId = &v
  4302  	return s
  4303  }
  4304  
  4305  type DescribeClusterOutput struct {
  4306  	_ struct{} `type:"structure"`
  4307  
  4308  	// Information about a specific cluster, including shipping information, cluster
  4309  	// status, and other important metadata.
  4310  	ClusterMetadata *ClusterMetadata `type:"structure"`
  4311  }
  4312  
  4313  // String returns the string representation.
  4314  //
  4315  // API parameter values that are decorated as "sensitive" in the API will not
  4316  // be included in the string output. The member name will be present, but the
  4317  // value will be replaced with "sensitive".
  4318  func (s DescribeClusterOutput) String() string {
  4319  	return awsutil.Prettify(s)
  4320  }
  4321  
  4322  // GoString returns the string representation.
  4323  //
  4324  // API parameter values that are decorated as "sensitive" in the API will not
  4325  // be included in the string output. The member name will be present, but the
  4326  // value will be replaced with "sensitive".
  4327  func (s DescribeClusterOutput) GoString() string {
  4328  	return s.String()
  4329  }
  4330  
  4331  // SetClusterMetadata sets the ClusterMetadata field's value.
  4332  func (s *DescribeClusterOutput) SetClusterMetadata(v *ClusterMetadata) *DescribeClusterOutput {
  4333  	s.ClusterMetadata = v
  4334  	return s
  4335  }
  4336  
  4337  type DescribeJobInput struct {
  4338  	_ struct{} `type:"structure"`
  4339  
  4340  	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
  4341  	//
  4342  	// JobId is a required field
  4343  	JobId *string `min:"39" type:"string" required:"true"`
  4344  }
  4345  
  4346  // String returns the string representation.
  4347  //
  4348  // API parameter values that are decorated as "sensitive" in the API will not
  4349  // be included in the string output. The member name will be present, but the
  4350  // value will be replaced with "sensitive".
  4351  func (s DescribeJobInput) String() string {
  4352  	return awsutil.Prettify(s)
  4353  }
  4354  
  4355  // GoString returns the string representation.
  4356  //
  4357  // API parameter values that are decorated as "sensitive" in the API will not
  4358  // be included in the string output. The member name will be present, but the
  4359  // value will be replaced with "sensitive".
  4360  func (s DescribeJobInput) GoString() string {
  4361  	return s.String()
  4362  }
  4363  
  4364  // Validate inspects the fields of the type to determine if they are valid.
  4365  func (s *DescribeJobInput) Validate() error {
  4366  	invalidParams := request.ErrInvalidParams{Context: "DescribeJobInput"}
  4367  	if s.JobId == nil {
  4368  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  4369  	}
  4370  	if s.JobId != nil && len(*s.JobId) < 39 {
  4371  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  4372  	}
  4373  
  4374  	if invalidParams.Len() > 0 {
  4375  		return invalidParams
  4376  	}
  4377  	return nil
  4378  }
  4379  
  4380  // SetJobId sets the JobId field's value.
  4381  func (s *DescribeJobInput) SetJobId(v string) *DescribeJobInput {
  4382  	s.JobId = &v
  4383  	return s
  4384  }
  4385  
  4386  type DescribeJobOutput struct {
  4387  	_ struct{} `type:"structure"`
  4388  
  4389  	// Information about a specific job, including shipping information, job status,
  4390  	// and other important metadata.
  4391  	JobMetadata *JobMetadata `type:"structure"`
  4392  
  4393  	// Information about a specific job part (in the case of an export job), including
  4394  	// shipping information, job status, and other important metadata.
  4395  	SubJobMetadata []*JobMetadata `type:"list"`
  4396  }
  4397  
  4398  // String returns the string representation.
  4399  //
  4400  // API parameter values that are decorated as "sensitive" in the API will not
  4401  // be included in the string output. The member name will be present, but the
  4402  // value will be replaced with "sensitive".
  4403  func (s DescribeJobOutput) String() string {
  4404  	return awsutil.Prettify(s)
  4405  }
  4406  
  4407  // GoString returns the string representation.
  4408  //
  4409  // API parameter values that are decorated as "sensitive" in the API will not
  4410  // be included in the string output. The member name will be present, but the
  4411  // value will be replaced with "sensitive".
  4412  func (s DescribeJobOutput) GoString() string {
  4413  	return s.String()
  4414  }
  4415  
  4416  // SetJobMetadata sets the JobMetadata field's value.
  4417  func (s *DescribeJobOutput) SetJobMetadata(v *JobMetadata) *DescribeJobOutput {
  4418  	s.JobMetadata = v
  4419  	return s
  4420  }
  4421  
  4422  // SetSubJobMetadata sets the SubJobMetadata field's value.
  4423  func (s *DescribeJobOutput) SetSubJobMetadata(v []*JobMetadata) *DescribeJobOutput {
  4424  	s.SubJobMetadata = v
  4425  	return s
  4426  }
  4427  
  4428  type DescribeReturnShippingLabelInput struct {
  4429  	_ struct{} `type:"structure"`
  4430  
  4431  	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
  4432  	//
  4433  	// JobId is a required field
  4434  	JobId *string `min:"39" type:"string" required:"true"`
  4435  }
  4436  
  4437  // String returns the string representation.
  4438  //
  4439  // API parameter values that are decorated as "sensitive" in the API will not
  4440  // be included in the string output. The member name will be present, but the
  4441  // value will be replaced with "sensitive".
  4442  func (s DescribeReturnShippingLabelInput) String() string {
  4443  	return awsutil.Prettify(s)
  4444  }
  4445  
  4446  // GoString returns the string representation.
  4447  //
  4448  // API parameter values that are decorated as "sensitive" in the API will not
  4449  // be included in the string output. The member name will be present, but the
  4450  // value will be replaced with "sensitive".
  4451  func (s DescribeReturnShippingLabelInput) GoString() string {
  4452  	return s.String()
  4453  }
  4454  
  4455  // Validate inspects the fields of the type to determine if they are valid.
  4456  func (s *DescribeReturnShippingLabelInput) Validate() error {
  4457  	invalidParams := request.ErrInvalidParams{Context: "DescribeReturnShippingLabelInput"}
  4458  	if s.JobId == nil {
  4459  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  4460  	}
  4461  	if s.JobId != nil && len(*s.JobId) < 39 {
  4462  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  4463  	}
  4464  
  4465  	if invalidParams.Len() > 0 {
  4466  		return invalidParams
  4467  	}
  4468  	return nil
  4469  }
  4470  
  4471  // SetJobId sets the JobId field's value.
  4472  func (s *DescribeReturnShippingLabelInput) SetJobId(v string) *DescribeReturnShippingLabelInput {
  4473  	s.JobId = &v
  4474  	return s
  4475  }
  4476  
  4477  type DescribeReturnShippingLabelOutput struct {
  4478  	_ struct{} `type:"structure"`
  4479  
  4480  	// The expiration date of the current return shipping label.
  4481  	ExpirationDate *time.Time `type:"timestamp"`
  4482  
  4483  	// The status information of the task on a Snow device that is being returned
  4484  	// to AWS.
  4485  	Status *string `type:"string" enum:"ShippingLabelStatus"`
  4486  }
  4487  
  4488  // String returns the string representation.
  4489  //
  4490  // API parameter values that are decorated as "sensitive" in the API will not
  4491  // be included in the string output. The member name will be present, but the
  4492  // value will be replaced with "sensitive".
  4493  func (s DescribeReturnShippingLabelOutput) String() string {
  4494  	return awsutil.Prettify(s)
  4495  }
  4496  
  4497  // GoString returns the string representation.
  4498  //
  4499  // API parameter values that are decorated as "sensitive" in the API will not
  4500  // be included in the string output. The member name will be present, but the
  4501  // value will be replaced with "sensitive".
  4502  func (s DescribeReturnShippingLabelOutput) GoString() string {
  4503  	return s.String()
  4504  }
  4505  
  4506  // SetExpirationDate sets the ExpirationDate field's value.
  4507  func (s *DescribeReturnShippingLabelOutput) SetExpirationDate(v time.Time) *DescribeReturnShippingLabelOutput {
  4508  	s.ExpirationDate = &v
  4509  	return s
  4510  }
  4511  
  4512  // SetStatus sets the Status field's value.
  4513  func (s *DescribeReturnShippingLabelOutput) SetStatus(v string) *DescribeReturnShippingLabelOutput {
  4514  	s.Status = &v
  4515  	return s
  4516  }
  4517  
  4518  // The container for SnowconeDeviceConfiguration.
  4519  type DeviceConfiguration struct {
  4520  	_ struct{} `type:"structure"`
  4521  
  4522  	// Returns information about the device configuration for an AWS Snowcone job.
  4523  	SnowconeDeviceConfiguration *SnowconeDeviceConfiguration `type:"structure"`
  4524  }
  4525  
  4526  // String returns the string representation.
  4527  //
  4528  // API parameter values that are decorated as "sensitive" in the API will not
  4529  // be included in the string output. The member name will be present, but the
  4530  // value will be replaced with "sensitive".
  4531  func (s DeviceConfiguration) String() string {
  4532  	return awsutil.Prettify(s)
  4533  }
  4534  
  4535  // GoString returns the string representation.
  4536  //
  4537  // API parameter values that are decorated as "sensitive" in the API will not
  4538  // be included in the string output. The member name will be present, but the
  4539  // value will be replaced with "sensitive".
  4540  func (s DeviceConfiguration) GoString() string {
  4541  	return s.String()
  4542  }
  4543  
  4544  // SetSnowconeDeviceConfiguration sets the SnowconeDeviceConfiguration field's value.
  4545  func (s *DeviceConfiguration) SetSnowconeDeviceConfiguration(v *SnowconeDeviceConfiguration) *DeviceConfiguration {
  4546  	s.SnowconeDeviceConfiguration = v
  4547  	return s
  4548  }
  4549  
  4550  // A JSON-formatted object that contains the IDs for an Amazon Machine Image
  4551  // (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI
  4552  // has these two IDs to simplify identifying the AMI in both the AWS Cloud and
  4553  // on the device.
  4554  type Ec2AmiResource struct {
  4555  	_ struct{} `type:"structure"`
  4556  
  4557  	// The ID of the AMI in Amazon EC2.
  4558  	//
  4559  	// AmiId is a required field
  4560  	AmiId *string `min:"12" type:"string" required:"true"`
  4561  
  4562  	// The ID of the AMI on the Snow device.
  4563  	SnowballAmiId *string `min:"1" type:"string"`
  4564  }
  4565  
  4566  // String returns the string representation.
  4567  //
  4568  // API parameter values that are decorated as "sensitive" in the API will not
  4569  // be included in the string output. The member name will be present, but the
  4570  // value will be replaced with "sensitive".
  4571  func (s Ec2AmiResource) String() string {
  4572  	return awsutil.Prettify(s)
  4573  }
  4574  
  4575  // GoString returns the string representation.
  4576  //
  4577  // API parameter values that are decorated as "sensitive" in the API will not
  4578  // be included in the string output. The member name will be present, but the
  4579  // value will be replaced with "sensitive".
  4580  func (s Ec2AmiResource) GoString() string {
  4581  	return s.String()
  4582  }
  4583  
  4584  // Validate inspects the fields of the type to determine if they are valid.
  4585  func (s *Ec2AmiResource) Validate() error {
  4586  	invalidParams := request.ErrInvalidParams{Context: "Ec2AmiResource"}
  4587  	if s.AmiId == nil {
  4588  		invalidParams.Add(request.NewErrParamRequired("AmiId"))
  4589  	}
  4590  	if s.AmiId != nil && len(*s.AmiId) < 12 {
  4591  		invalidParams.Add(request.NewErrParamMinLen("AmiId", 12))
  4592  	}
  4593  	if s.SnowballAmiId != nil && len(*s.SnowballAmiId) < 1 {
  4594  		invalidParams.Add(request.NewErrParamMinLen("SnowballAmiId", 1))
  4595  	}
  4596  
  4597  	if invalidParams.Len() > 0 {
  4598  		return invalidParams
  4599  	}
  4600  	return nil
  4601  }
  4602  
  4603  // SetAmiId sets the AmiId field's value.
  4604  func (s *Ec2AmiResource) SetAmiId(v string) *Ec2AmiResource {
  4605  	s.AmiId = &v
  4606  	return s
  4607  }
  4608  
  4609  // SetSnowballAmiId sets the SnowballAmiId field's value.
  4610  func (s *Ec2AmiResource) SetSnowballAmiId(v string) *Ec2AmiResource {
  4611  	s.SnowballAmiId = &v
  4612  	return s
  4613  }
  4614  
  4615  // Your IAM user lacks the necessary Amazon EC2 permissions to perform the attempted
  4616  // action.
  4617  type Ec2RequestFailedException struct {
  4618  	_            struct{}                  `type:"structure"`
  4619  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4620  
  4621  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  4622  }
  4623  
  4624  // String returns the string representation.
  4625  //
  4626  // API parameter values that are decorated as "sensitive" in the API will not
  4627  // be included in the string output. The member name will be present, but the
  4628  // value will be replaced with "sensitive".
  4629  func (s Ec2RequestFailedException) String() string {
  4630  	return awsutil.Prettify(s)
  4631  }
  4632  
  4633  // GoString returns the string representation.
  4634  //
  4635  // API parameter values that are decorated as "sensitive" in the API will not
  4636  // be included in the string output. The member name will be present, but the
  4637  // value will be replaced with "sensitive".
  4638  func (s Ec2RequestFailedException) GoString() string {
  4639  	return s.String()
  4640  }
  4641  
  4642  func newErrorEc2RequestFailedException(v protocol.ResponseMetadata) error {
  4643  	return &Ec2RequestFailedException{
  4644  		RespMetadata: v,
  4645  	}
  4646  }
  4647  
  4648  // Code returns the exception type name.
  4649  func (s *Ec2RequestFailedException) Code() string {
  4650  	return "Ec2RequestFailedException"
  4651  }
  4652  
  4653  // Message returns the exception's message.
  4654  func (s *Ec2RequestFailedException) Message() string {
  4655  	if s.Message_ != nil {
  4656  		return *s.Message_
  4657  	}
  4658  	return ""
  4659  }
  4660  
  4661  // OrigErr always returns nil, satisfies awserr.Error interface.
  4662  func (s *Ec2RequestFailedException) OrigErr() error {
  4663  	return nil
  4664  }
  4665  
  4666  func (s *Ec2RequestFailedException) Error() string {
  4667  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4668  }
  4669  
  4670  // Status code returns the HTTP status code for the request's response error.
  4671  func (s *Ec2RequestFailedException) StatusCode() int {
  4672  	return s.RespMetadata.StatusCode
  4673  }
  4674  
  4675  // RequestID returns the service's response RequestID for request.
  4676  func (s *Ec2RequestFailedException) RequestID() string {
  4677  	return s.RespMetadata.RequestID
  4678  }
  4679  
  4680  // The container for the EventTriggerDefinition$EventResourceARN.
  4681  type EventTriggerDefinition struct {
  4682  	_ struct{} `type:"structure"`
  4683  
  4684  	// The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an
  4685  	// AWS Lambda function's event trigger associated with this job.
  4686  	EventResourceARN *string `type:"string"`
  4687  }
  4688  
  4689  // String returns the string representation.
  4690  //
  4691  // API parameter values that are decorated as "sensitive" in the API will not
  4692  // be included in the string output. The member name will be present, but the
  4693  // value will be replaced with "sensitive".
  4694  func (s EventTriggerDefinition) String() string {
  4695  	return awsutil.Prettify(s)
  4696  }
  4697  
  4698  // GoString returns the string representation.
  4699  //
  4700  // API parameter values that are decorated as "sensitive" in the API will not
  4701  // be included in the string output. The member name will be present, but the
  4702  // value will be replaced with "sensitive".
  4703  func (s EventTriggerDefinition) GoString() string {
  4704  	return s.String()
  4705  }
  4706  
  4707  // SetEventResourceARN sets the EventResourceARN field's value.
  4708  func (s *EventTriggerDefinition) SetEventResourceARN(v string) *EventTriggerDefinition {
  4709  	s.EventResourceARN = &v
  4710  	return s
  4711  }
  4712  
  4713  type GetJobManifestInput struct {
  4714  	_ struct{} `type:"structure"`
  4715  
  4716  	// The ID for a job that you want to get the manifest file for, for example
  4717  	// JID123e4567-e89b-12d3-a456-426655440000.
  4718  	//
  4719  	// JobId is a required field
  4720  	JobId *string `min:"39" type:"string" required:"true"`
  4721  }
  4722  
  4723  // String returns the string representation.
  4724  //
  4725  // API parameter values that are decorated as "sensitive" in the API will not
  4726  // be included in the string output. The member name will be present, but the
  4727  // value will be replaced with "sensitive".
  4728  func (s GetJobManifestInput) String() string {
  4729  	return awsutil.Prettify(s)
  4730  }
  4731  
  4732  // GoString returns the string representation.
  4733  //
  4734  // API parameter values that are decorated as "sensitive" in the API will not
  4735  // be included in the string output. The member name will be present, but the
  4736  // value will be replaced with "sensitive".
  4737  func (s GetJobManifestInput) GoString() string {
  4738  	return s.String()
  4739  }
  4740  
  4741  // Validate inspects the fields of the type to determine if they are valid.
  4742  func (s *GetJobManifestInput) Validate() error {
  4743  	invalidParams := request.ErrInvalidParams{Context: "GetJobManifestInput"}
  4744  	if s.JobId == nil {
  4745  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  4746  	}
  4747  	if s.JobId != nil && len(*s.JobId) < 39 {
  4748  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  4749  	}
  4750  
  4751  	if invalidParams.Len() > 0 {
  4752  		return invalidParams
  4753  	}
  4754  	return nil
  4755  }
  4756  
  4757  // SetJobId sets the JobId field's value.
  4758  func (s *GetJobManifestInput) SetJobId(v string) *GetJobManifestInput {
  4759  	s.JobId = &v
  4760  	return s
  4761  }
  4762  
  4763  type GetJobManifestOutput struct {
  4764  	_ struct{} `type:"structure"`
  4765  
  4766  	// The Amazon S3 presigned URL for the manifest file associated with the specified
  4767  	// JobId value.
  4768  	ManifestURI *string `min:"1" type:"string"`
  4769  }
  4770  
  4771  // String returns the string representation.
  4772  //
  4773  // API parameter values that are decorated as "sensitive" in the API will not
  4774  // be included in the string output. The member name will be present, but the
  4775  // value will be replaced with "sensitive".
  4776  func (s GetJobManifestOutput) String() string {
  4777  	return awsutil.Prettify(s)
  4778  }
  4779  
  4780  // GoString returns the string representation.
  4781  //
  4782  // API parameter values that are decorated as "sensitive" in the API will not
  4783  // be included in the string output. The member name will be present, but the
  4784  // value will be replaced with "sensitive".
  4785  func (s GetJobManifestOutput) GoString() string {
  4786  	return s.String()
  4787  }
  4788  
  4789  // SetManifestURI sets the ManifestURI field's value.
  4790  func (s *GetJobManifestOutput) SetManifestURI(v string) *GetJobManifestOutput {
  4791  	s.ManifestURI = &v
  4792  	return s
  4793  }
  4794  
  4795  type GetJobUnlockCodeInput struct {
  4796  	_ struct{} `type:"structure"`
  4797  
  4798  	// The ID for the job that you want to get the UnlockCode value for, for example
  4799  	// JID123e4567-e89b-12d3-a456-426655440000.
  4800  	//
  4801  	// JobId is a required field
  4802  	JobId *string `min:"39" type:"string" required:"true"`
  4803  }
  4804  
  4805  // String returns the string representation.
  4806  //
  4807  // API parameter values that are decorated as "sensitive" in the API will not
  4808  // be included in the string output. The member name will be present, but the
  4809  // value will be replaced with "sensitive".
  4810  func (s GetJobUnlockCodeInput) String() string {
  4811  	return awsutil.Prettify(s)
  4812  }
  4813  
  4814  // GoString returns the string representation.
  4815  //
  4816  // API parameter values that are decorated as "sensitive" in the API will not
  4817  // be included in the string output. The member name will be present, but the
  4818  // value will be replaced with "sensitive".
  4819  func (s GetJobUnlockCodeInput) GoString() string {
  4820  	return s.String()
  4821  }
  4822  
  4823  // Validate inspects the fields of the type to determine if they are valid.
  4824  func (s *GetJobUnlockCodeInput) Validate() error {
  4825  	invalidParams := request.ErrInvalidParams{Context: "GetJobUnlockCodeInput"}
  4826  	if s.JobId == nil {
  4827  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  4828  	}
  4829  	if s.JobId != nil && len(*s.JobId) < 39 {
  4830  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  4831  	}
  4832  
  4833  	if invalidParams.Len() > 0 {
  4834  		return invalidParams
  4835  	}
  4836  	return nil
  4837  }
  4838  
  4839  // SetJobId sets the JobId field's value.
  4840  func (s *GetJobUnlockCodeInput) SetJobId(v string) *GetJobUnlockCodeInput {
  4841  	s.JobId = &v
  4842  	return s
  4843  }
  4844  
  4845  type GetJobUnlockCodeOutput struct {
  4846  	_ struct{} `type:"structure"`
  4847  
  4848  	// The UnlockCode value for the specified job. The UnlockCode value can be accessed
  4849  	// for up to 360 days after the job has been created.
  4850  	UnlockCode *string `min:"1" type:"string"`
  4851  }
  4852  
  4853  // String returns the string representation.
  4854  //
  4855  // API parameter values that are decorated as "sensitive" in the API will not
  4856  // be included in the string output. The member name will be present, but the
  4857  // value will be replaced with "sensitive".
  4858  func (s GetJobUnlockCodeOutput) String() string {
  4859  	return awsutil.Prettify(s)
  4860  }
  4861  
  4862  // GoString returns the string representation.
  4863  //
  4864  // API parameter values that are decorated as "sensitive" in the API will not
  4865  // be included in the string output. The member name will be present, but the
  4866  // value will be replaced with "sensitive".
  4867  func (s GetJobUnlockCodeOutput) GoString() string {
  4868  	return s.String()
  4869  }
  4870  
  4871  // SetUnlockCode sets the UnlockCode field's value.
  4872  func (s *GetJobUnlockCodeOutput) SetUnlockCode(v string) *GetJobUnlockCodeOutput {
  4873  	s.UnlockCode = &v
  4874  	return s
  4875  }
  4876  
  4877  type GetSnowballUsageInput struct {
  4878  	_ struct{} `type:"structure"`
  4879  }
  4880  
  4881  // String returns the string representation.
  4882  //
  4883  // API parameter values that are decorated as "sensitive" in the API will not
  4884  // be included in the string output. The member name will be present, but the
  4885  // value will be replaced with "sensitive".
  4886  func (s GetSnowballUsageInput) String() string {
  4887  	return awsutil.Prettify(s)
  4888  }
  4889  
  4890  // GoString returns the string representation.
  4891  //
  4892  // API parameter values that are decorated as "sensitive" in the API will not
  4893  // be included in the string output. The member name will be present, but the
  4894  // value will be replaced with "sensitive".
  4895  func (s GetSnowballUsageInput) GoString() string {
  4896  	return s.String()
  4897  }
  4898  
  4899  type GetSnowballUsageOutput struct {
  4900  	_ struct{} `type:"structure"`
  4901  
  4902  	// The service limit for number of Snow devices this account can have at once.
  4903  	// The default service limit is 1 (one).
  4904  	SnowballLimit *int64 `type:"integer"`
  4905  
  4906  	// The number of Snow devices that this account is currently using.
  4907  	SnowballsInUse *int64 `type:"integer"`
  4908  }
  4909  
  4910  // String returns the string representation.
  4911  //
  4912  // API parameter values that are decorated as "sensitive" in the API will not
  4913  // be included in the string output. The member name will be present, but the
  4914  // value will be replaced with "sensitive".
  4915  func (s GetSnowballUsageOutput) String() string {
  4916  	return awsutil.Prettify(s)
  4917  }
  4918  
  4919  // GoString returns the string representation.
  4920  //
  4921  // API parameter values that are decorated as "sensitive" in the API will not
  4922  // be included in the string output. The member name will be present, but the
  4923  // value will be replaced with "sensitive".
  4924  func (s GetSnowballUsageOutput) GoString() string {
  4925  	return s.String()
  4926  }
  4927  
  4928  // SetSnowballLimit sets the SnowballLimit field's value.
  4929  func (s *GetSnowballUsageOutput) SetSnowballLimit(v int64) *GetSnowballUsageOutput {
  4930  	s.SnowballLimit = &v
  4931  	return s
  4932  }
  4933  
  4934  // SetSnowballsInUse sets the SnowballsInUse field's value.
  4935  func (s *GetSnowballUsageOutput) SetSnowballsInUse(v int64) *GetSnowballUsageOutput {
  4936  	s.SnowballsInUse = &v
  4937  	return s
  4938  }
  4939  
  4940  type GetSoftwareUpdatesInput struct {
  4941  	_ struct{} `type:"structure"`
  4942  
  4943  	// The ID for a job that you want to get the software update file for, for example
  4944  	// JID123e4567-e89b-12d3-a456-426655440000.
  4945  	//
  4946  	// JobId is a required field
  4947  	JobId *string `min:"39" type:"string" required:"true"`
  4948  }
  4949  
  4950  // String returns the string representation.
  4951  //
  4952  // API parameter values that are decorated as "sensitive" in the API will not
  4953  // be included in the string output. The member name will be present, but the
  4954  // value will be replaced with "sensitive".
  4955  func (s GetSoftwareUpdatesInput) String() string {
  4956  	return awsutil.Prettify(s)
  4957  }
  4958  
  4959  // GoString returns the string representation.
  4960  //
  4961  // API parameter values that are decorated as "sensitive" in the API will not
  4962  // be included in the string output. The member name will be present, but the
  4963  // value will be replaced with "sensitive".
  4964  func (s GetSoftwareUpdatesInput) GoString() string {
  4965  	return s.String()
  4966  }
  4967  
  4968  // Validate inspects the fields of the type to determine if they are valid.
  4969  func (s *GetSoftwareUpdatesInput) Validate() error {
  4970  	invalidParams := request.ErrInvalidParams{Context: "GetSoftwareUpdatesInput"}
  4971  	if s.JobId == nil {
  4972  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  4973  	}
  4974  	if s.JobId != nil && len(*s.JobId) < 39 {
  4975  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  4976  	}
  4977  
  4978  	if invalidParams.Len() > 0 {
  4979  		return invalidParams
  4980  	}
  4981  	return nil
  4982  }
  4983  
  4984  // SetJobId sets the JobId field's value.
  4985  func (s *GetSoftwareUpdatesInput) SetJobId(v string) *GetSoftwareUpdatesInput {
  4986  	s.JobId = &v
  4987  	return s
  4988  }
  4989  
  4990  type GetSoftwareUpdatesOutput struct {
  4991  	_ struct{} `type:"structure"`
  4992  
  4993  	// The Amazon S3 presigned URL for the update file associated with the specified
  4994  	// JobId value. The software update will be available for 2 days after this
  4995  	// request is made. To access an update after the 2 days have passed, you'll
  4996  	// have to make another call to GetSoftwareUpdates.
  4997  	UpdatesURI *string `min:"1" type:"string"`
  4998  }
  4999  
  5000  // String returns the string representation.
  5001  //
  5002  // API parameter values that are decorated as "sensitive" in the API will not
  5003  // be included in the string output. The member name will be present, but the
  5004  // value will be replaced with "sensitive".
  5005  func (s GetSoftwareUpdatesOutput) String() string {
  5006  	return awsutil.Prettify(s)
  5007  }
  5008  
  5009  // GoString returns the string representation.
  5010  //
  5011  // API parameter values that are decorated as "sensitive" in the API will not
  5012  // be included in the string output. The member name will be present, but the
  5013  // value will be replaced with "sensitive".
  5014  func (s GetSoftwareUpdatesOutput) GoString() string {
  5015  	return s.String()
  5016  }
  5017  
  5018  // SetUpdatesURI sets the UpdatesURI field's value.
  5019  func (s *GetSoftwareUpdatesOutput) SetUpdatesURI(v string) *GetSoftwareUpdatesOutput {
  5020  	s.UpdatesURI = &v
  5021  	return s
  5022  }
  5023  
  5024  // The tax documents required in AWS Regions in India.
  5025  type INDTaxDocuments struct {
  5026  	_ struct{} `type:"structure"`
  5027  
  5028  	// The Goods and Services Tax (GST) documents required in AWS Regions in India.
  5029  	GSTIN *string `type:"string"`
  5030  }
  5031  
  5032  // String returns the string representation.
  5033  //
  5034  // API parameter values that are decorated as "sensitive" in the API will not
  5035  // be included in the string output. The member name will be present, but the
  5036  // value will be replaced with "sensitive".
  5037  func (s INDTaxDocuments) String() string {
  5038  	return awsutil.Prettify(s)
  5039  }
  5040  
  5041  // GoString returns the string representation.
  5042  //
  5043  // API parameter values that are decorated as "sensitive" in the API will not
  5044  // be included in the string output. The member name will be present, but the
  5045  // value will be replaced with "sensitive".
  5046  func (s INDTaxDocuments) GoString() string {
  5047  	return s.String()
  5048  }
  5049  
  5050  // SetGSTIN sets the GSTIN field's value.
  5051  func (s *INDTaxDocuments) SetGSTIN(v string) *INDTaxDocuments {
  5052  	s.GSTIN = &v
  5053  	return s
  5054  }
  5055  
  5056  // The address provided was invalid. Check the address with your region's carrier,
  5057  // and try again.
  5058  type InvalidAddressException struct {
  5059  	_            struct{}                  `type:"structure"`
  5060  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5061  
  5062  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  5063  }
  5064  
  5065  // String returns the string representation.
  5066  //
  5067  // API parameter values that are decorated as "sensitive" in the API will not
  5068  // be included in the string output. The member name will be present, but the
  5069  // value will be replaced with "sensitive".
  5070  func (s InvalidAddressException) String() string {
  5071  	return awsutil.Prettify(s)
  5072  }
  5073  
  5074  // GoString returns the string representation.
  5075  //
  5076  // API parameter values that are decorated as "sensitive" in the API will not
  5077  // be included in the string output. The member name will be present, but the
  5078  // value will be replaced with "sensitive".
  5079  func (s InvalidAddressException) GoString() string {
  5080  	return s.String()
  5081  }
  5082  
  5083  func newErrorInvalidAddressException(v protocol.ResponseMetadata) error {
  5084  	return &InvalidAddressException{
  5085  		RespMetadata: v,
  5086  	}
  5087  }
  5088  
  5089  // Code returns the exception type name.
  5090  func (s *InvalidAddressException) Code() string {
  5091  	return "InvalidAddressException"
  5092  }
  5093  
  5094  // Message returns the exception's message.
  5095  func (s *InvalidAddressException) Message() string {
  5096  	if s.Message_ != nil {
  5097  		return *s.Message_
  5098  	}
  5099  	return ""
  5100  }
  5101  
  5102  // OrigErr always returns nil, satisfies awserr.Error interface.
  5103  func (s *InvalidAddressException) OrigErr() error {
  5104  	return nil
  5105  }
  5106  
  5107  func (s *InvalidAddressException) Error() string {
  5108  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5109  }
  5110  
  5111  // Status code returns the HTTP status code for the request's response error.
  5112  func (s *InvalidAddressException) StatusCode() int {
  5113  	return s.RespMetadata.StatusCode
  5114  }
  5115  
  5116  // RequestID returns the service's response RequestID for request.
  5117  func (s *InvalidAddressException) RequestID() string {
  5118  	return s.RespMetadata.RequestID
  5119  }
  5120  
  5121  // Job or cluster creation failed. One or more inputs were invalid. Confirm
  5122  // that the CreateClusterRequest$SnowballType value supports your CreateJobRequest$JobType,
  5123  // and try again.
  5124  type InvalidInputCombinationException struct {
  5125  	_            struct{}                  `type:"structure"`
  5126  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5127  
  5128  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  5129  }
  5130  
  5131  // String returns the string representation.
  5132  //
  5133  // API parameter values that are decorated as "sensitive" in the API will not
  5134  // be included in the string output. The member name will be present, but the
  5135  // value will be replaced with "sensitive".
  5136  func (s InvalidInputCombinationException) String() string {
  5137  	return awsutil.Prettify(s)
  5138  }
  5139  
  5140  // GoString returns the string representation.
  5141  //
  5142  // API parameter values that are decorated as "sensitive" in the API will not
  5143  // be included in the string output. The member name will be present, but the
  5144  // value will be replaced with "sensitive".
  5145  func (s InvalidInputCombinationException) GoString() string {
  5146  	return s.String()
  5147  }
  5148  
  5149  func newErrorInvalidInputCombinationException(v protocol.ResponseMetadata) error {
  5150  	return &InvalidInputCombinationException{
  5151  		RespMetadata: v,
  5152  	}
  5153  }
  5154  
  5155  // Code returns the exception type name.
  5156  func (s *InvalidInputCombinationException) Code() string {
  5157  	return "InvalidInputCombinationException"
  5158  }
  5159  
  5160  // Message returns the exception's message.
  5161  func (s *InvalidInputCombinationException) Message() string {
  5162  	if s.Message_ != nil {
  5163  		return *s.Message_
  5164  	}
  5165  	return ""
  5166  }
  5167  
  5168  // OrigErr always returns nil, satisfies awserr.Error interface.
  5169  func (s *InvalidInputCombinationException) OrigErr() error {
  5170  	return nil
  5171  }
  5172  
  5173  func (s *InvalidInputCombinationException) Error() string {
  5174  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5175  }
  5176  
  5177  // Status code returns the HTTP status code for the request's response error.
  5178  func (s *InvalidInputCombinationException) StatusCode() int {
  5179  	return s.RespMetadata.StatusCode
  5180  }
  5181  
  5182  // RequestID returns the service's response RequestID for request.
  5183  func (s *InvalidInputCombinationException) RequestID() string {
  5184  	return s.RespMetadata.RequestID
  5185  }
  5186  
  5187  // The action can't be performed because the job's current state doesn't allow
  5188  // that action to be performed.
  5189  type InvalidJobStateException struct {
  5190  	_            struct{}                  `type:"structure"`
  5191  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5192  
  5193  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  5194  }
  5195  
  5196  // String returns the string representation.
  5197  //
  5198  // API parameter values that are decorated as "sensitive" in the API will not
  5199  // be included in the string output. The member name will be present, but the
  5200  // value will be replaced with "sensitive".
  5201  func (s InvalidJobStateException) String() string {
  5202  	return awsutil.Prettify(s)
  5203  }
  5204  
  5205  // GoString returns the string representation.
  5206  //
  5207  // API parameter values that are decorated as "sensitive" in the API will not
  5208  // be included in the string output. The member name will be present, but the
  5209  // value will be replaced with "sensitive".
  5210  func (s InvalidJobStateException) GoString() string {
  5211  	return s.String()
  5212  }
  5213  
  5214  func newErrorInvalidJobStateException(v protocol.ResponseMetadata) error {
  5215  	return &InvalidJobStateException{
  5216  		RespMetadata: v,
  5217  	}
  5218  }
  5219  
  5220  // Code returns the exception type name.
  5221  func (s *InvalidJobStateException) Code() string {
  5222  	return "InvalidJobStateException"
  5223  }
  5224  
  5225  // Message returns the exception's message.
  5226  func (s *InvalidJobStateException) Message() string {
  5227  	if s.Message_ != nil {
  5228  		return *s.Message_
  5229  	}
  5230  	return ""
  5231  }
  5232  
  5233  // OrigErr always returns nil, satisfies awserr.Error interface.
  5234  func (s *InvalidJobStateException) OrigErr() error {
  5235  	return nil
  5236  }
  5237  
  5238  func (s *InvalidJobStateException) Error() string {
  5239  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5240  }
  5241  
  5242  // Status code returns the HTTP status code for the request's response error.
  5243  func (s *InvalidJobStateException) StatusCode() int {
  5244  	return s.RespMetadata.StatusCode
  5245  }
  5246  
  5247  // RequestID returns the service's response RequestID for request.
  5248  func (s *InvalidJobStateException) RequestID() string {
  5249  	return s.RespMetadata.RequestID
  5250  }
  5251  
  5252  // The NextToken string was altered unexpectedly, and the operation has stopped.
  5253  // Run the operation without changing the NextToken string, and try again.
  5254  type InvalidNextTokenException struct {
  5255  	_            struct{}                  `type:"structure"`
  5256  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5257  
  5258  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  5259  }
  5260  
  5261  // String returns the string representation.
  5262  //
  5263  // API parameter values that are decorated as "sensitive" in the API will not
  5264  // be included in the string output. The member name will be present, but the
  5265  // value will be replaced with "sensitive".
  5266  func (s InvalidNextTokenException) String() string {
  5267  	return awsutil.Prettify(s)
  5268  }
  5269  
  5270  // GoString returns the string representation.
  5271  //
  5272  // API parameter values that are decorated as "sensitive" in the API will not
  5273  // be included in the string output. The member name will be present, but the
  5274  // value will be replaced with "sensitive".
  5275  func (s InvalidNextTokenException) GoString() string {
  5276  	return s.String()
  5277  }
  5278  
  5279  func newErrorInvalidNextTokenException(v protocol.ResponseMetadata) error {
  5280  	return &InvalidNextTokenException{
  5281  		RespMetadata: v,
  5282  	}
  5283  }
  5284  
  5285  // Code returns the exception type name.
  5286  func (s *InvalidNextTokenException) Code() string {
  5287  	return "InvalidNextTokenException"
  5288  }
  5289  
  5290  // Message returns the exception's message.
  5291  func (s *InvalidNextTokenException) Message() string {
  5292  	if s.Message_ != nil {
  5293  		return *s.Message_
  5294  	}
  5295  	return ""
  5296  }
  5297  
  5298  // OrigErr always returns nil, satisfies awserr.Error interface.
  5299  func (s *InvalidNextTokenException) OrigErr() error {
  5300  	return nil
  5301  }
  5302  
  5303  func (s *InvalidNextTokenException) Error() string {
  5304  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5305  }
  5306  
  5307  // Status code returns the HTTP status code for the request's response error.
  5308  func (s *InvalidNextTokenException) StatusCode() int {
  5309  	return s.RespMetadata.StatusCode
  5310  }
  5311  
  5312  // RequestID returns the service's response RequestID for request.
  5313  func (s *InvalidNextTokenException) RequestID() string {
  5314  	return s.RespMetadata.RequestID
  5315  }
  5316  
  5317  // The specified resource can't be found. Check the information you provided
  5318  // in your last request, and try again.
  5319  type InvalidResourceException struct {
  5320  	_            struct{}                  `type:"structure"`
  5321  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5322  
  5323  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  5324  
  5325  	// The provided resource value is invalid.
  5326  	ResourceType *string `min:"1" type:"string"`
  5327  }
  5328  
  5329  // String returns the string representation.
  5330  //
  5331  // API parameter values that are decorated as "sensitive" in the API will not
  5332  // be included in the string output. The member name will be present, but the
  5333  // value will be replaced with "sensitive".
  5334  func (s InvalidResourceException) String() string {
  5335  	return awsutil.Prettify(s)
  5336  }
  5337  
  5338  // GoString returns the string representation.
  5339  //
  5340  // API parameter values that are decorated as "sensitive" in the API will not
  5341  // be included in the string output. The member name will be present, but the
  5342  // value will be replaced with "sensitive".
  5343  func (s InvalidResourceException) GoString() string {
  5344  	return s.String()
  5345  }
  5346  
  5347  func newErrorInvalidResourceException(v protocol.ResponseMetadata) error {
  5348  	return &InvalidResourceException{
  5349  		RespMetadata: v,
  5350  	}
  5351  }
  5352  
  5353  // Code returns the exception type name.
  5354  func (s *InvalidResourceException) Code() string {
  5355  	return "InvalidResourceException"
  5356  }
  5357  
  5358  // Message returns the exception's message.
  5359  func (s *InvalidResourceException) Message() string {
  5360  	if s.Message_ != nil {
  5361  		return *s.Message_
  5362  	}
  5363  	return ""
  5364  }
  5365  
  5366  // OrigErr always returns nil, satisfies awserr.Error interface.
  5367  func (s *InvalidResourceException) OrigErr() error {
  5368  	return nil
  5369  }
  5370  
  5371  func (s *InvalidResourceException) Error() string {
  5372  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5373  }
  5374  
  5375  // Status code returns the HTTP status code for the request's response error.
  5376  func (s *InvalidResourceException) StatusCode() int {
  5377  	return s.RespMetadata.StatusCode
  5378  }
  5379  
  5380  // RequestID returns the service's response RequestID for request.
  5381  func (s *InvalidResourceException) RequestID() string {
  5382  	return s.RespMetadata.RequestID
  5383  }
  5384  
  5385  // Each JobListEntry object contains a job's state, a job's ID, and a value
  5386  // that indicates whether the job is a job part, in the case of an export job.
  5387  type JobListEntry struct {
  5388  	_ struct{} `type:"structure"`
  5389  
  5390  	// The creation date for this job.
  5391  	CreationDate *time.Time `type:"timestamp"`
  5392  
  5393  	// The optional description of this specific job, for example Important Photos
  5394  	// 2016-08-11.
  5395  	Description *string `min:"1" type:"string"`
  5396  
  5397  	// A value that indicates that this job is a main job. A main job represents
  5398  	// a successful request to create an export job. Main jobs aren't associated
  5399  	// with any Snowballs. Instead, each main job will have at least one job part,
  5400  	// and each job part is associated with a Snowball. It might take some time
  5401  	// before the job parts associated with a particular main job are listed, because
  5402  	// they are created after the main job is created.
  5403  	IsMaster *bool `type:"boolean"`
  5404  
  5405  	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
  5406  	JobId *string `min:"1" type:"string"`
  5407  
  5408  	// The current state of this job.
  5409  	JobState *string `type:"string" enum:"JobState"`
  5410  
  5411  	// The type of job.
  5412  	JobType *string `type:"string" enum:"JobType"`
  5413  
  5414  	// The type of device used with this job.
  5415  	SnowballType *string `type:"string" enum:"Type"`
  5416  }
  5417  
  5418  // String returns the string representation.
  5419  //
  5420  // API parameter values that are decorated as "sensitive" in the API will not
  5421  // be included in the string output. The member name will be present, but the
  5422  // value will be replaced with "sensitive".
  5423  func (s JobListEntry) String() string {
  5424  	return awsutil.Prettify(s)
  5425  }
  5426  
  5427  // GoString returns the string representation.
  5428  //
  5429  // API parameter values that are decorated as "sensitive" in the API will not
  5430  // be included in the string output. The member name will be present, but the
  5431  // value will be replaced with "sensitive".
  5432  func (s JobListEntry) GoString() string {
  5433  	return s.String()
  5434  }
  5435  
  5436  // SetCreationDate sets the CreationDate field's value.
  5437  func (s *JobListEntry) SetCreationDate(v time.Time) *JobListEntry {
  5438  	s.CreationDate = &v
  5439  	return s
  5440  }
  5441  
  5442  // SetDescription sets the Description field's value.
  5443  func (s *JobListEntry) SetDescription(v string) *JobListEntry {
  5444  	s.Description = &v
  5445  	return s
  5446  }
  5447  
  5448  // SetIsMaster sets the IsMaster field's value.
  5449  func (s *JobListEntry) SetIsMaster(v bool) *JobListEntry {
  5450  	s.IsMaster = &v
  5451  	return s
  5452  }
  5453  
  5454  // SetJobId sets the JobId field's value.
  5455  func (s *JobListEntry) SetJobId(v string) *JobListEntry {
  5456  	s.JobId = &v
  5457  	return s
  5458  }
  5459  
  5460  // SetJobState sets the JobState field's value.
  5461  func (s *JobListEntry) SetJobState(v string) *JobListEntry {
  5462  	s.JobState = &v
  5463  	return s
  5464  }
  5465  
  5466  // SetJobType sets the JobType field's value.
  5467  func (s *JobListEntry) SetJobType(v string) *JobListEntry {
  5468  	s.JobType = &v
  5469  	return s
  5470  }
  5471  
  5472  // SetSnowballType sets the SnowballType field's value.
  5473  func (s *JobListEntry) SetSnowballType(v string) *JobListEntry {
  5474  	s.SnowballType = &v
  5475  	return s
  5476  }
  5477  
  5478  // Contains job logs. Whenever a Snow device is used to import data into or
  5479  // export data out of Amazon S3, you'll have the option of downloading a PDF
  5480  // job report. Job logs are returned as a part of the response syntax of the
  5481  // DescribeJob action in the JobMetadata data type. The job logs can be accessed
  5482  // for up to 60 minutes after this request has been made. To access any of the
  5483  // job logs after 60 minutes have passed, you'll have to make another call to
  5484  // the DescribeJob action.
  5485  //
  5486  // For import jobs, the PDF job report becomes available at the end of the import
  5487  // process. For export jobs, your job report typically becomes available while
  5488  // the Snow device for your job part is being delivered to you.
  5489  //
  5490  // The job report provides you insight into the state of your Amazon S3 data
  5491  // transfer. The report includes details about your job or job part for your
  5492  // records.
  5493  //
  5494  // For deeper visibility into the status of your transferred objects, you can
  5495  // look at the two associated logs: a success log and a failure log. The logs
  5496  // are saved in comma-separated value (CSV) format, and the name of each log
  5497  // includes the ID of the job or job part that the log describes.
  5498  type JobLogs struct {
  5499  	_ struct{} `type:"structure"`
  5500  
  5501  	// A link to an Amazon S3 presigned URL where the job completion report is located.
  5502  	JobCompletionReportURI *string `min:"1" type:"string"`
  5503  
  5504  	// A link to an Amazon S3 presigned URL where the job failure log is located.
  5505  	JobFailureLogURI *string `min:"1" type:"string"`
  5506  
  5507  	// A link to an Amazon S3 presigned URL where the job success log is located.
  5508  	JobSuccessLogURI *string `min:"1" type:"string"`
  5509  }
  5510  
  5511  // String returns the string representation.
  5512  //
  5513  // API parameter values that are decorated as "sensitive" in the API will not
  5514  // be included in the string output. The member name will be present, but the
  5515  // value will be replaced with "sensitive".
  5516  func (s JobLogs) String() string {
  5517  	return awsutil.Prettify(s)
  5518  }
  5519  
  5520  // GoString returns the string representation.
  5521  //
  5522  // API parameter values that are decorated as "sensitive" in the API will not
  5523  // be included in the string output. The member name will be present, but the
  5524  // value will be replaced with "sensitive".
  5525  func (s JobLogs) GoString() string {
  5526  	return s.String()
  5527  }
  5528  
  5529  // SetJobCompletionReportURI sets the JobCompletionReportURI field's value.
  5530  func (s *JobLogs) SetJobCompletionReportURI(v string) *JobLogs {
  5531  	s.JobCompletionReportURI = &v
  5532  	return s
  5533  }
  5534  
  5535  // SetJobFailureLogURI sets the JobFailureLogURI field's value.
  5536  func (s *JobLogs) SetJobFailureLogURI(v string) *JobLogs {
  5537  	s.JobFailureLogURI = &v
  5538  	return s
  5539  }
  5540  
  5541  // SetJobSuccessLogURI sets the JobSuccessLogURI field's value.
  5542  func (s *JobLogs) SetJobSuccessLogURI(v string) *JobLogs {
  5543  	s.JobSuccessLogURI = &v
  5544  	return s
  5545  }
  5546  
  5547  // Contains information about a specific job including shipping information,
  5548  // job status, and other important metadata. This information is returned as
  5549  // a part of the response syntax of the DescribeJob action.
  5550  type JobMetadata struct {
  5551  	_ struct{} `type:"structure"`
  5552  
  5553  	// The ID for the address that you want the Snow device shipped to.
  5554  	AddressId *string `min:"40" type:"string"`
  5555  
  5556  	// The 39-character ID for the cluster, for example CID123e4567-e89b-12d3-a456-426655440000.
  5557  	ClusterId *string `min:"1" type:"string"`
  5558  
  5559  	// The creation date for this job.
  5560  	CreationDate *time.Time `type:"timestamp"`
  5561  
  5562  	// A value that defines the real-time status of a Snow device's data transfer
  5563  	// while the device is at AWS. This data is only available while a job has a
  5564  	// JobState value of InProgress, for both import and export jobs.
  5565  	DataTransferProgress *DataTransfer `type:"structure"`
  5566  
  5567  	// The description of the job, provided at job creation.
  5568  	Description *string `min:"1" type:"string"`
  5569  
  5570  	// The container for SnowconeDeviceConfiguration.
  5571  	DeviceConfiguration *DeviceConfiguration `type:"structure"`
  5572  
  5573  	// The ID of the address that you want a job shipped to, after it will be shipped
  5574  	// to its primary address. This field is not supported in most regions.
  5575  	ForwardingAddressId *string `min:"40" type:"string"`
  5576  
  5577  	// The automatically generated ID for a job, for example JID123e4567-e89b-12d3-a456-426655440000.
  5578  	JobId *string `min:"1" type:"string"`
  5579  
  5580  	// Links to Amazon S3 presigned URLs for the job report and logs. For import
  5581  	// jobs, the PDF job report becomes available at the end of the import process.
  5582  	// For export jobs, your job report typically becomes available while the Snow
  5583  	// device for your job part is being delivered to you.
  5584  	JobLogInfo *JobLogs `type:"structure"`
  5585  
  5586  	// The current status of the jobs.
  5587  	JobState *string `type:"string" enum:"JobState"`
  5588  
  5589  	// The type of job.
  5590  	JobType *string `type:"string" enum:"JobType"`
  5591  
  5592  	// The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS)
  5593  	// key associated with this job. This ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)
  5594  	// API action in AWS KMS.
  5595  	KmsKeyARN *string `type:"string"`
  5596  
  5597  	// The ID of the long-term pricing type for the device.
  5598  	LongTermPricingId *string `min:"41" type:"string"`
  5599  
  5600  	// The Amazon Simple Notification Service (Amazon SNS) notification settings
  5601  	// associated with a specific job. The Notification object is returned as a
  5602  	// part of the response syntax of the DescribeJob action in the JobMetadata
  5603  	// data type.
  5604  	Notification *Notification `type:"structure"`
  5605  
  5606  	// Represents metadata and configuration settings for services on an AWS Snow
  5607  	// Family device.
  5608  	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
  5609  
  5610  	// Allows you to securely operate and manage Snowcone devices remotely from
  5611  	// outside of your internal network. When set to INSTALLED_AUTOSTART, remote
  5612  	// management will automatically be available when the device arrives at your
  5613  	// location. Otherwise, you need to use the Snowball Client to manage the device.
  5614  	RemoteManagement *string `type:"string" enum:"RemoteManagement"`
  5615  
  5616  	// An array of S3Resource objects. Each S3Resource object represents an Amazon
  5617  	// S3 bucket that your transferred data will be exported from or imported into.
  5618  	Resources *JobResource `type:"structure"`
  5619  
  5620  	// The role ARN associated with this job. This ARN was created using the CreateRole
  5621  	// (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
  5622  	// API action in AWS Identity and Access Management (IAM).
  5623  	RoleARN *string `type:"string"`
  5624  
  5625  	// A job's shipping information, including inbound and outbound tracking numbers
  5626  	// and shipping speed options.
  5627  	ShippingDetails *ShippingDetails `type:"structure"`
  5628  
  5629  	// The Snow device capacity preference for this job, specified at job creation.
  5630  	// In US regions, you can choose between 50 TB and 80 TB Snowballs. All other
  5631  	// regions use 80 TB capacity Snowballs.
  5632  	//
  5633  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  5634  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  5635  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  5636  	SnowballCapacityPreference *string `type:"string" enum:"Capacity"`
  5637  
  5638  	// The type of device used with this job.
  5639  	SnowballType *string `type:"string" enum:"Type"`
  5640  
  5641  	// The metadata associated with the tax documents required in your AWS Region.
  5642  	TaxDocuments *TaxDocuments `type:"structure"`
  5643  }
  5644  
  5645  // String returns the string representation.
  5646  //
  5647  // API parameter values that are decorated as "sensitive" in the API will not
  5648  // be included in the string output. The member name will be present, but the
  5649  // value will be replaced with "sensitive".
  5650  func (s JobMetadata) String() string {
  5651  	return awsutil.Prettify(s)
  5652  }
  5653  
  5654  // GoString returns the string representation.
  5655  //
  5656  // API parameter values that are decorated as "sensitive" in the API will not
  5657  // be included in the string output. The member name will be present, but the
  5658  // value will be replaced with "sensitive".
  5659  func (s JobMetadata) GoString() string {
  5660  	return s.String()
  5661  }
  5662  
  5663  // SetAddressId sets the AddressId field's value.
  5664  func (s *JobMetadata) SetAddressId(v string) *JobMetadata {
  5665  	s.AddressId = &v
  5666  	return s
  5667  }
  5668  
  5669  // SetClusterId sets the ClusterId field's value.
  5670  func (s *JobMetadata) SetClusterId(v string) *JobMetadata {
  5671  	s.ClusterId = &v
  5672  	return s
  5673  }
  5674  
  5675  // SetCreationDate sets the CreationDate field's value.
  5676  func (s *JobMetadata) SetCreationDate(v time.Time) *JobMetadata {
  5677  	s.CreationDate = &v
  5678  	return s
  5679  }
  5680  
  5681  // SetDataTransferProgress sets the DataTransferProgress field's value.
  5682  func (s *JobMetadata) SetDataTransferProgress(v *DataTransfer) *JobMetadata {
  5683  	s.DataTransferProgress = v
  5684  	return s
  5685  }
  5686  
  5687  // SetDescription sets the Description field's value.
  5688  func (s *JobMetadata) SetDescription(v string) *JobMetadata {
  5689  	s.Description = &v
  5690  	return s
  5691  }
  5692  
  5693  // SetDeviceConfiguration sets the DeviceConfiguration field's value.
  5694  func (s *JobMetadata) SetDeviceConfiguration(v *DeviceConfiguration) *JobMetadata {
  5695  	s.DeviceConfiguration = v
  5696  	return s
  5697  }
  5698  
  5699  // SetForwardingAddressId sets the ForwardingAddressId field's value.
  5700  func (s *JobMetadata) SetForwardingAddressId(v string) *JobMetadata {
  5701  	s.ForwardingAddressId = &v
  5702  	return s
  5703  }
  5704  
  5705  // SetJobId sets the JobId field's value.
  5706  func (s *JobMetadata) SetJobId(v string) *JobMetadata {
  5707  	s.JobId = &v
  5708  	return s
  5709  }
  5710  
  5711  // SetJobLogInfo sets the JobLogInfo field's value.
  5712  func (s *JobMetadata) SetJobLogInfo(v *JobLogs) *JobMetadata {
  5713  	s.JobLogInfo = v
  5714  	return s
  5715  }
  5716  
  5717  // SetJobState sets the JobState field's value.
  5718  func (s *JobMetadata) SetJobState(v string) *JobMetadata {
  5719  	s.JobState = &v
  5720  	return s
  5721  }
  5722  
  5723  // SetJobType sets the JobType field's value.
  5724  func (s *JobMetadata) SetJobType(v string) *JobMetadata {
  5725  	s.JobType = &v
  5726  	return s
  5727  }
  5728  
  5729  // SetKmsKeyARN sets the KmsKeyARN field's value.
  5730  func (s *JobMetadata) SetKmsKeyARN(v string) *JobMetadata {
  5731  	s.KmsKeyARN = &v
  5732  	return s
  5733  }
  5734  
  5735  // SetLongTermPricingId sets the LongTermPricingId field's value.
  5736  func (s *JobMetadata) SetLongTermPricingId(v string) *JobMetadata {
  5737  	s.LongTermPricingId = &v
  5738  	return s
  5739  }
  5740  
  5741  // SetNotification sets the Notification field's value.
  5742  func (s *JobMetadata) SetNotification(v *Notification) *JobMetadata {
  5743  	s.Notification = v
  5744  	return s
  5745  }
  5746  
  5747  // SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
  5748  func (s *JobMetadata) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *JobMetadata {
  5749  	s.OnDeviceServiceConfiguration = v
  5750  	return s
  5751  }
  5752  
  5753  // SetRemoteManagement sets the RemoteManagement field's value.
  5754  func (s *JobMetadata) SetRemoteManagement(v string) *JobMetadata {
  5755  	s.RemoteManagement = &v
  5756  	return s
  5757  }
  5758  
  5759  // SetResources sets the Resources field's value.
  5760  func (s *JobMetadata) SetResources(v *JobResource) *JobMetadata {
  5761  	s.Resources = v
  5762  	return s
  5763  }
  5764  
  5765  // SetRoleARN sets the RoleARN field's value.
  5766  func (s *JobMetadata) SetRoleARN(v string) *JobMetadata {
  5767  	s.RoleARN = &v
  5768  	return s
  5769  }
  5770  
  5771  // SetShippingDetails sets the ShippingDetails field's value.
  5772  func (s *JobMetadata) SetShippingDetails(v *ShippingDetails) *JobMetadata {
  5773  	s.ShippingDetails = v
  5774  	return s
  5775  }
  5776  
  5777  // SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value.
  5778  func (s *JobMetadata) SetSnowballCapacityPreference(v string) *JobMetadata {
  5779  	s.SnowballCapacityPreference = &v
  5780  	return s
  5781  }
  5782  
  5783  // SetSnowballType sets the SnowballType field's value.
  5784  func (s *JobMetadata) SetSnowballType(v string) *JobMetadata {
  5785  	s.SnowballType = &v
  5786  	return s
  5787  }
  5788  
  5789  // SetTaxDocuments sets the TaxDocuments field's value.
  5790  func (s *JobMetadata) SetTaxDocuments(v *TaxDocuments) *JobMetadata {
  5791  	s.TaxDocuments = v
  5792  	return s
  5793  }
  5794  
  5795  // Contains an array of AWS resource objects. Each object represents an Amazon
  5796  // S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based
  5797  // on Amazon EC2 that is associated with a particular job.
  5798  type JobResource struct {
  5799  	_ struct{} `type:"structure"`
  5800  
  5801  	// The Amazon Machine Images (AMIs) associated with this job.
  5802  	Ec2AmiResources []*Ec2AmiResource `type:"list"`
  5803  
  5804  	// The Python-language Lambda functions for this job.
  5805  	LambdaResources []*LambdaResource `type:"list"`
  5806  
  5807  	// An array of S3Resource objects.
  5808  	S3Resources []*S3Resource `type:"list"`
  5809  }
  5810  
  5811  // String returns the string representation.
  5812  //
  5813  // API parameter values that are decorated as "sensitive" in the API will not
  5814  // be included in the string output. The member name will be present, but the
  5815  // value will be replaced with "sensitive".
  5816  func (s JobResource) String() string {
  5817  	return awsutil.Prettify(s)
  5818  }
  5819  
  5820  // GoString returns the string representation.
  5821  //
  5822  // API parameter values that are decorated as "sensitive" in the API will not
  5823  // be included in the string output. The member name will be present, but the
  5824  // value will be replaced with "sensitive".
  5825  func (s JobResource) GoString() string {
  5826  	return s.String()
  5827  }
  5828  
  5829  // Validate inspects the fields of the type to determine if they are valid.
  5830  func (s *JobResource) Validate() error {
  5831  	invalidParams := request.ErrInvalidParams{Context: "JobResource"}
  5832  	if s.Ec2AmiResources != nil {
  5833  		for i, v := range s.Ec2AmiResources {
  5834  			if v == nil {
  5835  				continue
  5836  			}
  5837  			if err := v.Validate(); err != nil {
  5838  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Ec2AmiResources", i), err.(request.ErrInvalidParams))
  5839  			}
  5840  		}
  5841  	}
  5842  	if s.S3Resources != nil {
  5843  		for i, v := range s.S3Resources {
  5844  			if v == nil {
  5845  				continue
  5846  			}
  5847  			if err := v.Validate(); err != nil {
  5848  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "S3Resources", i), err.(request.ErrInvalidParams))
  5849  			}
  5850  		}
  5851  	}
  5852  
  5853  	if invalidParams.Len() > 0 {
  5854  		return invalidParams
  5855  	}
  5856  	return nil
  5857  }
  5858  
  5859  // SetEc2AmiResources sets the Ec2AmiResources field's value.
  5860  func (s *JobResource) SetEc2AmiResources(v []*Ec2AmiResource) *JobResource {
  5861  	s.Ec2AmiResources = v
  5862  	return s
  5863  }
  5864  
  5865  // SetLambdaResources sets the LambdaResources field's value.
  5866  func (s *JobResource) SetLambdaResources(v []*LambdaResource) *JobResource {
  5867  	s.LambdaResources = v
  5868  	return s
  5869  }
  5870  
  5871  // SetS3Resources sets the S3Resources field's value.
  5872  func (s *JobResource) SetS3Resources(v []*S3Resource) *JobResource {
  5873  	s.S3Resources = v
  5874  	return s
  5875  }
  5876  
  5877  // The provided AWS Key Management Service key lacks the permissions to perform
  5878  // the specified CreateJob or UpdateJob action.
  5879  type KMSRequestFailedException struct {
  5880  	_            struct{}                  `type:"structure"`
  5881  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5882  
  5883  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  5884  }
  5885  
  5886  // String returns the string representation.
  5887  //
  5888  // API parameter values that are decorated as "sensitive" in the API will not
  5889  // be included in the string output. The member name will be present, but the
  5890  // value will be replaced with "sensitive".
  5891  func (s KMSRequestFailedException) String() string {
  5892  	return awsutil.Prettify(s)
  5893  }
  5894  
  5895  // GoString returns the string representation.
  5896  //
  5897  // API parameter values that are decorated as "sensitive" in the API will not
  5898  // be included in the string output. The member name will be present, but the
  5899  // value will be replaced with "sensitive".
  5900  func (s KMSRequestFailedException) GoString() string {
  5901  	return s.String()
  5902  }
  5903  
  5904  func newErrorKMSRequestFailedException(v protocol.ResponseMetadata) error {
  5905  	return &KMSRequestFailedException{
  5906  		RespMetadata: v,
  5907  	}
  5908  }
  5909  
  5910  // Code returns the exception type name.
  5911  func (s *KMSRequestFailedException) Code() string {
  5912  	return "KMSRequestFailedException"
  5913  }
  5914  
  5915  // Message returns the exception's message.
  5916  func (s *KMSRequestFailedException) Message() string {
  5917  	if s.Message_ != nil {
  5918  		return *s.Message_
  5919  	}
  5920  	return ""
  5921  }
  5922  
  5923  // OrigErr always returns nil, satisfies awserr.Error interface.
  5924  func (s *KMSRequestFailedException) OrigErr() error {
  5925  	return nil
  5926  }
  5927  
  5928  func (s *KMSRequestFailedException) Error() string {
  5929  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5930  }
  5931  
  5932  // Status code returns the HTTP status code for the request's response error.
  5933  func (s *KMSRequestFailedException) StatusCode() int {
  5934  	return s.RespMetadata.StatusCode
  5935  }
  5936  
  5937  // RequestID returns the service's response RequestID for request.
  5938  func (s *KMSRequestFailedException) RequestID() string {
  5939  	return s.RespMetadata.RequestID
  5940  }
  5941  
  5942  // Contains a key range. For export jobs, a S3Resource object can have an optional
  5943  // KeyRange value. The length of the range is defined at job creation, and has
  5944  // either an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges
  5945  // are UTF-8 binary sorted.
  5946  type KeyRange struct {
  5947  	_ struct{} `type:"structure"`
  5948  
  5949  	// The key that starts an optional key range for an export job. Ranges are inclusive
  5950  	// and UTF-8 binary sorted.
  5951  	BeginMarker *string `min:"1" type:"string"`
  5952  
  5953  	// The key that ends an optional key range for an export job. Ranges are inclusive
  5954  	// and UTF-8 binary sorted.
  5955  	EndMarker *string `min:"1" type:"string"`
  5956  }
  5957  
  5958  // String returns the string representation.
  5959  //
  5960  // API parameter values that are decorated as "sensitive" in the API will not
  5961  // be included in the string output. The member name will be present, but the
  5962  // value will be replaced with "sensitive".
  5963  func (s KeyRange) String() string {
  5964  	return awsutil.Prettify(s)
  5965  }
  5966  
  5967  // GoString returns the string representation.
  5968  //
  5969  // API parameter values that are decorated as "sensitive" in the API will not
  5970  // be included in the string output. The member name will be present, but the
  5971  // value will be replaced with "sensitive".
  5972  func (s KeyRange) GoString() string {
  5973  	return s.String()
  5974  }
  5975  
  5976  // Validate inspects the fields of the type to determine if they are valid.
  5977  func (s *KeyRange) Validate() error {
  5978  	invalidParams := request.ErrInvalidParams{Context: "KeyRange"}
  5979  	if s.BeginMarker != nil && len(*s.BeginMarker) < 1 {
  5980  		invalidParams.Add(request.NewErrParamMinLen("BeginMarker", 1))
  5981  	}
  5982  	if s.EndMarker != nil && len(*s.EndMarker) < 1 {
  5983  		invalidParams.Add(request.NewErrParamMinLen("EndMarker", 1))
  5984  	}
  5985  
  5986  	if invalidParams.Len() > 0 {
  5987  		return invalidParams
  5988  	}
  5989  	return nil
  5990  }
  5991  
  5992  // SetBeginMarker sets the BeginMarker field's value.
  5993  func (s *KeyRange) SetBeginMarker(v string) *KeyRange {
  5994  	s.BeginMarker = &v
  5995  	return s
  5996  }
  5997  
  5998  // SetEndMarker sets the EndMarker field's value.
  5999  func (s *KeyRange) SetEndMarker(v string) *KeyRange {
  6000  	s.EndMarker = &v
  6001  	return s
  6002  }
  6003  
  6004  // Identifies
  6005  type LambdaResource struct {
  6006  	_ struct{} `type:"structure"`
  6007  
  6008  	// The array of ARNs for S3Resource objects to trigger the LambdaResource objects
  6009  	// associated with this job.
  6010  	EventTriggers []*EventTriggerDefinition `type:"list"`
  6011  
  6012  	// An Amazon Resource Name (ARN) that represents an AWS Lambda function to be
  6013  	// triggered by PUT object actions on the associated local Amazon S3 resource.
  6014  	LambdaArn *string `type:"string"`
  6015  }
  6016  
  6017  // String returns the string representation.
  6018  //
  6019  // API parameter values that are decorated as "sensitive" in the API will not
  6020  // be included in the string output. The member name will be present, but the
  6021  // value will be replaced with "sensitive".
  6022  func (s LambdaResource) String() string {
  6023  	return awsutil.Prettify(s)
  6024  }
  6025  
  6026  // GoString returns the string representation.
  6027  //
  6028  // API parameter values that are decorated as "sensitive" in the API will not
  6029  // be included in the string output. The member name will be present, but the
  6030  // value will be replaced with "sensitive".
  6031  func (s LambdaResource) GoString() string {
  6032  	return s.String()
  6033  }
  6034  
  6035  // SetEventTriggers sets the EventTriggers field's value.
  6036  func (s *LambdaResource) SetEventTriggers(v []*EventTriggerDefinition) *LambdaResource {
  6037  	s.EventTriggers = v
  6038  	return s
  6039  }
  6040  
  6041  // SetLambdaArn sets the LambdaArn field's value.
  6042  func (s *LambdaResource) SetLambdaArn(v string) *LambdaResource {
  6043  	s.LambdaArn = &v
  6044  	return s
  6045  }
  6046  
  6047  type ListClusterJobsInput struct {
  6048  	_ struct{} `type:"structure"`
  6049  
  6050  	// The 39-character ID for the cluster that you want to list, for example CID123e4567-e89b-12d3-a456-426655440000.
  6051  	//
  6052  	// ClusterId is a required field
  6053  	ClusterId *string `min:"39" type:"string" required:"true"`
  6054  
  6055  	// The number of JobListEntry objects to return.
  6056  	MaxResults *int64 `type:"integer"`
  6057  
  6058  	// HTTP requests are stateless. To identify what object comes "next" in the
  6059  	// list of JobListEntry objects, you have the option of specifying NextToken
  6060  	// as the starting point for your returned list.
  6061  	NextToken *string `min:"1" type:"string"`
  6062  }
  6063  
  6064  // String returns the string representation.
  6065  //
  6066  // API parameter values that are decorated as "sensitive" in the API will not
  6067  // be included in the string output. The member name will be present, but the
  6068  // value will be replaced with "sensitive".
  6069  func (s ListClusterJobsInput) String() string {
  6070  	return awsutil.Prettify(s)
  6071  }
  6072  
  6073  // GoString returns the string representation.
  6074  //
  6075  // API parameter values that are decorated as "sensitive" in the API will not
  6076  // be included in the string output. The member name will be present, but the
  6077  // value will be replaced with "sensitive".
  6078  func (s ListClusterJobsInput) GoString() string {
  6079  	return s.String()
  6080  }
  6081  
  6082  // Validate inspects the fields of the type to determine if they are valid.
  6083  func (s *ListClusterJobsInput) Validate() error {
  6084  	invalidParams := request.ErrInvalidParams{Context: "ListClusterJobsInput"}
  6085  	if s.ClusterId == nil {
  6086  		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
  6087  	}
  6088  	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
  6089  		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
  6090  	}
  6091  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6092  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6093  	}
  6094  
  6095  	if invalidParams.Len() > 0 {
  6096  		return invalidParams
  6097  	}
  6098  	return nil
  6099  }
  6100  
  6101  // SetClusterId sets the ClusterId field's value.
  6102  func (s *ListClusterJobsInput) SetClusterId(v string) *ListClusterJobsInput {
  6103  	s.ClusterId = &v
  6104  	return s
  6105  }
  6106  
  6107  // SetMaxResults sets the MaxResults field's value.
  6108  func (s *ListClusterJobsInput) SetMaxResults(v int64) *ListClusterJobsInput {
  6109  	s.MaxResults = &v
  6110  	return s
  6111  }
  6112  
  6113  // SetNextToken sets the NextToken field's value.
  6114  func (s *ListClusterJobsInput) SetNextToken(v string) *ListClusterJobsInput {
  6115  	s.NextToken = &v
  6116  	return s
  6117  }
  6118  
  6119  type ListClusterJobsOutput struct {
  6120  	_ struct{} `type:"structure"`
  6121  
  6122  	// Each JobListEntry object contains a job's state, a job's ID, and a value
  6123  	// that indicates whether the job is a job part, in the case of export jobs.
  6124  	JobListEntries []*JobListEntry `type:"list"`
  6125  
  6126  	// HTTP requests are stateless. If you use the automatically generated NextToken
  6127  	// value in your next ListClusterJobsResult call, your list of returned jobs
  6128  	// will start from this point in the array.
  6129  	NextToken *string `min:"1" type:"string"`
  6130  }
  6131  
  6132  // String returns the string representation.
  6133  //
  6134  // API parameter values that are decorated as "sensitive" in the API will not
  6135  // be included in the string output. The member name will be present, but the
  6136  // value will be replaced with "sensitive".
  6137  func (s ListClusterJobsOutput) String() string {
  6138  	return awsutil.Prettify(s)
  6139  }
  6140  
  6141  // GoString returns the string representation.
  6142  //
  6143  // API parameter values that are decorated as "sensitive" in the API will not
  6144  // be included in the string output. The member name will be present, but the
  6145  // value will be replaced with "sensitive".
  6146  func (s ListClusterJobsOutput) GoString() string {
  6147  	return s.String()
  6148  }
  6149  
  6150  // SetJobListEntries sets the JobListEntries field's value.
  6151  func (s *ListClusterJobsOutput) SetJobListEntries(v []*JobListEntry) *ListClusterJobsOutput {
  6152  	s.JobListEntries = v
  6153  	return s
  6154  }
  6155  
  6156  // SetNextToken sets the NextToken field's value.
  6157  func (s *ListClusterJobsOutput) SetNextToken(v string) *ListClusterJobsOutput {
  6158  	s.NextToken = &v
  6159  	return s
  6160  }
  6161  
  6162  type ListClustersInput struct {
  6163  	_ struct{} `type:"structure"`
  6164  
  6165  	// The number of ClusterListEntry objects to return.
  6166  	MaxResults *int64 `type:"integer"`
  6167  
  6168  	// HTTP requests are stateless. To identify what object comes "next" in the
  6169  	// list of ClusterListEntry objects, you have the option of specifying NextToken
  6170  	// as the starting point for your returned list.
  6171  	NextToken *string `min:"1" type:"string"`
  6172  }
  6173  
  6174  // String returns the string representation.
  6175  //
  6176  // API parameter values that are decorated as "sensitive" in the API will not
  6177  // be included in the string output. The member name will be present, but the
  6178  // value will be replaced with "sensitive".
  6179  func (s ListClustersInput) String() string {
  6180  	return awsutil.Prettify(s)
  6181  }
  6182  
  6183  // GoString returns the string representation.
  6184  //
  6185  // API parameter values that are decorated as "sensitive" in the API will not
  6186  // be included in the string output. The member name will be present, but the
  6187  // value will be replaced with "sensitive".
  6188  func (s ListClustersInput) GoString() string {
  6189  	return s.String()
  6190  }
  6191  
  6192  // Validate inspects the fields of the type to determine if they are valid.
  6193  func (s *ListClustersInput) Validate() error {
  6194  	invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"}
  6195  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6196  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6197  	}
  6198  
  6199  	if invalidParams.Len() > 0 {
  6200  		return invalidParams
  6201  	}
  6202  	return nil
  6203  }
  6204  
  6205  // SetMaxResults sets the MaxResults field's value.
  6206  func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput {
  6207  	s.MaxResults = &v
  6208  	return s
  6209  }
  6210  
  6211  // SetNextToken sets the NextToken field's value.
  6212  func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput {
  6213  	s.NextToken = &v
  6214  	return s
  6215  }
  6216  
  6217  type ListClustersOutput struct {
  6218  	_ struct{} `type:"structure"`
  6219  
  6220  	// Each ClusterListEntry object contains a cluster's state, a cluster's ID,
  6221  	// and other important status information.
  6222  	ClusterListEntries []*ClusterListEntry `type:"list"`
  6223  
  6224  	// HTTP requests are stateless. If you use the automatically generated NextToken
  6225  	// value in your next ClusterListEntry call, your list of returned clusters
  6226  	// will start from this point in the array.
  6227  	NextToken *string `min:"1" type:"string"`
  6228  }
  6229  
  6230  // String returns the string representation.
  6231  //
  6232  // API parameter values that are decorated as "sensitive" in the API will not
  6233  // be included in the string output. The member name will be present, but the
  6234  // value will be replaced with "sensitive".
  6235  func (s ListClustersOutput) String() string {
  6236  	return awsutil.Prettify(s)
  6237  }
  6238  
  6239  // GoString returns the string representation.
  6240  //
  6241  // API parameter values that are decorated as "sensitive" in the API will not
  6242  // be included in the string output. The member name will be present, but the
  6243  // value will be replaced with "sensitive".
  6244  func (s ListClustersOutput) GoString() string {
  6245  	return s.String()
  6246  }
  6247  
  6248  // SetClusterListEntries sets the ClusterListEntries field's value.
  6249  func (s *ListClustersOutput) SetClusterListEntries(v []*ClusterListEntry) *ListClustersOutput {
  6250  	s.ClusterListEntries = v
  6251  	return s
  6252  }
  6253  
  6254  // SetNextToken sets the NextToken field's value.
  6255  func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput {
  6256  	s.NextToken = &v
  6257  	return s
  6258  }
  6259  
  6260  type ListCompatibleImagesInput struct {
  6261  	_ struct{} `type:"structure"`
  6262  
  6263  	// The maximum number of results for the list of compatible images. Currently,
  6264  	// a Snowball Edge device can store 10 AMIs.
  6265  	MaxResults *int64 `type:"integer"`
  6266  
  6267  	// HTTP requests are stateless. To identify what object comes "next" in the
  6268  	// list of compatible images, you can specify a value for NextToken as the starting
  6269  	// point for your list of returned images.
  6270  	NextToken *string `min:"1" type:"string"`
  6271  }
  6272  
  6273  // String returns the string representation.
  6274  //
  6275  // API parameter values that are decorated as "sensitive" in the API will not
  6276  // be included in the string output. The member name will be present, but the
  6277  // value will be replaced with "sensitive".
  6278  func (s ListCompatibleImagesInput) String() string {
  6279  	return awsutil.Prettify(s)
  6280  }
  6281  
  6282  // GoString returns the string representation.
  6283  //
  6284  // API parameter values that are decorated as "sensitive" in the API will not
  6285  // be included in the string output. The member name will be present, but the
  6286  // value will be replaced with "sensitive".
  6287  func (s ListCompatibleImagesInput) GoString() string {
  6288  	return s.String()
  6289  }
  6290  
  6291  // Validate inspects the fields of the type to determine if they are valid.
  6292  func (s *ListCompatibleImagesInput) Validate() error {
  6293  	invalidParams := request.ErrInvalidParams{Context: "ListCompatibleImagesInput"}
  6294  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6295  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6296  	}
  6297  
  6298  	if invalidParams.Len() > 0 {
  6299  		return invalidParams
  6300  	}
  6301  	return nil
  6302  }
  6303  
  6304  // SetMaxResults sets the MaxResults field's value.
  6305  func (s *ListCompatibleImagesInput) SetMaxResults(v int64) *ListCompatibleImagesInput {
  6306  	s.MaxResults = &v
  6307  	return s
  6308  }
  6309  
  6310  // SetNextToken sets the NextToken field's value.
  6311  func (s *ListCompatibleImagesInput) SetNextToken(v string) *ListCompatibleImagesInput {
  6312  	s.NextToken = &v
  6313  	return s
  6314  }
  6315  
  6316  type ListCompatibleImagesOutput struct {
  6317  	_ struct{} `type:"structure"`
  6318  
  6319  	// A JSON-formatted object that describes a compatible AMI, including the ID
  6320  	// and name for a Snow device AMI.
  6321  	CompatibleImages []*CompatibleImage `type:"list"`
  6322  
  6323  	// Because HTTP requests are stateless, this is the starting point for your
  6324  	// next list of returned images.
  6325  	NextToken *string `min:"1" type:"string"`
  6326  }
  6327  
  6328  // String returns the string representation.
  6329  //
  6330  // API parameter values that are decorated as "sensitive" in the API will not
  6331  // be included in the string output. The member name will be present, but the
  6332  // value will be replaced with "sensitive".
  6333  func (s ListCompatibleImagesOutput) String() string {
  6334  	return awsutil.Prettify(s)
  6335  }
  6336  
  6337  // GoString returns the string representation.
  6338  //
  6339  // API parameter values that are decorated as "sensitive" in the API will not
  6340  // be included in the string output. The member name will be present, but the
  6341  // value will be replaced with "sensitive".
  6342  func (s ListCompatibleImagesOutput) GoString() string {
  6343  	return s.String()
  6344  }
  6345  
  6346  // SetCompatibleImages sets the CompatibleImages field's value.
  6347  func (s *ListCompatibleImagesOutput) SetCompatibleImages(v []*CompatibleImage) *ListCompatibleImagesOutput {
  6348  	s.CompatibleImages = v
  6349  	return s
  6350  }
  6351  
  6352  // SetNextToken sets the NextToken field's value.
  6353  func (s *ListCompatibleImagesOutput) SetNextToken(v string) *ListCompatibleImagesOutput {
  6354  	s.NextToken = &v
  6355  	return s
  6356  }
  6357  
  6358  type ListJobsInput struct {
  6359  	_ struct{} `type:"structure"`
  6360  
  6361  	// The number of JobListEntry objects to return.
  6362  	MaxResults *int64 `type:"integer"`
  6363  
  6364  	// HTTP requests are stateless. To identify what object comes "next" in the
  6365  	// list of JobListEntry objects, you have the option of specifying NextToken
  6366  	// as the starting point for your returned list.
  6367  	NextToken *string `min:"1" type:"string"`
  6368  }
  6369  
  6370  // String returns the string representation.
  6371  //
  6372  // API parameter values that are decorated as "sensitive" in the API will not
  6373  // be included in the string output. The member name will be present, but the
  6374  // value will be replaced with "sensitive".
  6375  func (s ListJobsInput) String() string {
  6376  	return awsutil.Prettify(s)
  6377  }
  6378  
  6379  // GoString returns the string representation.
  6380  //
  6381  // API parameter values that are decorated as "sensitive" in the API will not
  6382  // be included in the string output. The member name will be present, but the
  6383  // value will be replaced with "sensitive".
  6384  func (s ListJobsInput) GoString() string {
  6385  	return s.String()
  6386  }
  6387  
  6388  // Validate inspects the fields of the type to determine if they are valid.
  6389  func (s *ListJobsInput) Validate() error {
  6390  	invalidParams := request.ErrInvalidParams{Context: "ListJobsInput"}
  6391  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6392  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6393  	}
  6394  
  6395  	if invalidParams.Len() > 0 {
  6396  		return invalidParams
  6397  	}
  6398  	return nil
  6399  }
  6400  
  6401  // SetMaxResults sets the MaxResults field's value.
  6402  func (s *ListJobsInput) SetMaxResults(v int64) *ListJobsInput {
  6403  	s.MaxResults = &v
  6404  	return s
  6405  }
  6406  
  6407  // SetNextToken sets the NextToken field's value.
  6408  func (s *ListJobsInput) SetNextToken(v string) *ListJobsInput {
  6409  	s.NextToken = &v
  6410  	return s
  6411  }
  6412  
  6413  type ListJobsOutput struct {
  6414  	_ struct{} `type:"structure"`
  6415  
  6416  	// Each JobListEntry object contains a job's state, a job's ID, and a value
  6417  	// that indicates whether the job is a job part, in the case of export jobs.
  6418  	JobListEntries []*JobListEntry `type:"list"`
  6419  
  6420  	// HTTP requests are stateless. If you use this automatically generated NextToken
  6421  	// value in your next ListJobs call, your returned JobListEntry objects will
  6422  	// start from this point in the array.
  6423  	NextToken *string `min:"1" type:"string"`
  6424  }
  6425  
  6426  // String returns the string representation.
  6427  //
  6428  // API parameter values that are decorated as "sensitive" in the API will not
  6429  // be included in the string output. The member name will be present, but the
  6430  // value will be replaced with "sensitive".
  6431  func (s ListJobsOutput) String() string {
  6432  	return awsutil.Prettify(s)
  6433  }
  6434  
  6435  // GoString returns the string representation.
  6436  //
  6437  // API parameter values that are decorated as "sensitive" in the API will not
  6438  // be included in the string output. The member name will be present, but the
  6439  // value will be replaced with "sensitive".
  6440  func (s ListJobsOutput) GoString() string {
  6441  	return s.String()
  6442  }
  6443  
  6444  // SetJobListEntries sets the JobListEntries field's value.
  6445  func (s *ListJobsOutput) SetJobListEntries(v []*JobListEntry) *ListJobsOutput {
  6446  	s.JobListEntries = v
  6447  	return s
  6448  }
  6449  
  6450  // SetNextToken sets the NextToken field's value.
  6451  func (s *ListJobsOutput) SetNextToken(v string) *ListJobsOutput {
  6452  	s.NextToken = &v
  6453  	return s
  6454  }
  6455  
  6456  type ListLongTermPricingInput struct {
  6457  	_ struct{} `type:"structure"`
  6458  
  6459  	// The maximum number of ListLongTermPricing objects to return.
  6460  	MaxResults *int64 `type:"integer"`
  6461  
  6462  	// Because HTTP requests are stateless, this is the starting point for your
  6463  	// next list of ListLongTermPricing to return.
  6464  	NextToken *string `min:"1" type:"string"`
  6465  }
  6466  
  6467  // String returns the string representation.
  6468  //
  6469  // API parameter values that are decorated as "sensitive" in the API will not
  6470  // be included in the string output. The member name will be present, but the
  6471  // value will be replaced with "sensitive".
  6472  func (s ListLongTermPricingInput) String() string {
  6473  	return awsutil.Prettify(s)
  6474  }
  6475  
  6476  // GoString returns the string representation.
  6477  //
  6478  // API parameter values that are decorated as "sensitive" in the API will not
  6479  // be included in the string output. The member name will be present, but the
  6480  // value will be replaced with "sensitive".
  6481  func (s ListLongTermPricingInput) GoString() string {
  6482  	return s.String()
  6483  }
  6484  
  6485  // Validate inspects the fields of the type to determine if they are valid.
  6486  func (s *ListLongTermPricingInput) Validate() error {
  6487  	invalidParams := request.ErrInvalidParams{Context: "ListLongTermPricingInput"}
  6488  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  6489  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  6490  	}
  6491  
  6492  	if invalidParams.Len() > 0 {
  6493  		return invalidParams
  6494  	}
  6495  	return nil
  6496  }
  6497  
  6498  // SetMaxResults sets the MaxResults field's value.
  6499  func (s *ListLongTermPricingInput) SetMaxResults(v int64) *ListLongTermPricingInput {
  6500  	s.MaxResults = &v
  6501  	return s
  6502  }
  6503  
  6504  // SetNextToken sets the NextToken field's value.
  6505  func (s *ListLongTermPricingInput) SetNextToken(v string) *ListLongTermPricingInput {
  6506  	s.NextToken = &v
  6507  	return s
  6508  }
  6509  
  6510  type ListLongTermPricingOutput struct {
  6511  	_ struct{} `type:"structure"`
  6512  
  6513  	// Each LongTermPricingEntry object contains a status, ID, and other information
  6514  	// about the LongTermPricing type.
  6515  	LongTermPricingEntries []*LongTermPricingListEntry `type:"list"`
  6516  
  6517  	// Because HTTP requests are stateless, this is the starting point for your
  6518  	// next list of returned ListLongTermPricing list.
  6519  	NextToken *string `min:"1" type:"string"`
  6520  }
  6521  
  6522  // String returns the string representation.
  6523  //
  6524  // API parameter values that are decorated as "sensitive" in the API will not
  6525  // be included in the string output. The member name will be present, but the
  6526  // value will be replaced with "sensitive".
  6527  func (s ListLongTermPricingOutput) String() string {
  6528  	return awsutil.Prettify(s)
  6529  }
  6530  
  6531  // GoString returns the string representation.
  6532  //
  6533  // API parameter values that are decorated as "sensitive" in the API will not
  6534  // be included in the string output. The member name will be present, but the
  6535  // value will be replaced with "sensitive".
  6536  func (s ListLongTermPricingOutput) GoString() string {
  6537  	return s.String()
  6538  }
  6539  
  6540  // SetLongTermPricingEntries sets the LongTermPricingEntries field's value.
  6541  func (s *ListLongTermPricingOutput) SetLongTermPricingEntries(v []*LongTermPricingListEntry) *ListLongTermPricingOutput {
  6542  	s.LongTermPricingEntries = v
  6543  	return s
  6544  }
  6545  
  6546  // SetNextToken sets the NextToken field's value.
  6547  func (s *ListLongTermPricingOutput) SetNextToken(v string) *ListLongTermPricingOutput {
  6548  	s.NextToken = &v
  6549  	return s
  6550  }
  6551  
  6552  // Each LongTermPricingListEntry object contains information about a long-term
  6553  // pricing type.
  6554  type LongTermPricingListEntry struct {
  6555  	_ struct{} `type:"structure"`
  6556  
  6557  	// The current active jobs on the device the long-term pricing type.
  6558  	CurrentActiveJob *string `min:"39" type:"string"`
  6559  
  6560  	// If set to true, specifies that the current long-term pricing type for the
  6561  	// device should be automatically renewed before the long-term pricing contract
  6562  	// expires.
  6563  	IsLongTermPricingAutoRenew *bool `type:"boolean"`
  6564  
  6565  	// The IDs of the jobs that are associated with a long-term pricing type.
  6566  	JobIds []*string `type:"list"`
  6567  
  6568  	// The end date the long-term pricing contract.
  6569  	LongTermPricingEndDate *time.Time `type:"timestamp"`
  6570  
  6571  	// The ID of the long-term pricing type for the device.
  6572  	LongTermPricingId *string `min:"41" type:"string"`
  6573  
  6574  	// The start date of the long-term pricing contract.
  6575  	LongTermPricingStartDate *time.Time `type:"timestamp"`
  6576  
  6577  	// The status of the long-term pricing type.
  6578  	LongTermPricingStatus *string `min:"1" type:"string"`
  6579  
  6580  	// The type of long-term pricing that was selected for the device.
  6581  	LongTermPricingType *string `type:"string" enum:"LongTermPricingType"`
  6582  
  6583  	// A new device that replaces a device that is ordered with long-term pricing.
  6584  	ReplacementJob *string `min:"39" type:"string"`
  6585  
  6586  	// The type of AWS Snow Family device associated with this long-term pricing
  6587  	// job.
  6588  	SnowballType *string `type:"string" enum:"Type"`
  6589  }
  6590  
  6591  // String returns the string representation.
  6592  //
  6593  // API parameter values that are decorated as "sensitive" in the API will not
  6594  // be included in the string output. The member name will be present, but the
  6595  // value will be replaced with "sensitive".
  6596  func (s LongTermPricingListEntry) String() string {
  6597  	return awsutil.Prettify(s)
  6598  }
  6599  
  6600  // GoString returns the string representation.
  6601  //
  6602  // API parameter values that are decorated as "sensitive" in the API will not
  6603  // be included in the string output. The member name will be present, but the
  6604  // value will be replaced with "sensitive".
  6605  func (s LongTermPricingListEntry) GoString() string {
  6606  	return s.String()
  6607  }
  6608  
  6609  // SetCurrentActiveJob sets the CurrentActiveJob field's value.
  6610  func (s *LongTermPricingListEntry) SetCurrentActiveJob(v string) *LongTermPricingListEntry {
  6611  	s.CurrentActiveJob = &v
  6612  	return s
  6613  }
  6614  
  6615  // SetIsLongTermPricingAutoRenew sets the IsLongTermPricingAutoRenew field's value.
  6616  func (s *LongTermPricingListEntry) SetIsLongTermPricingAutoRenew(v bool) *LongTermPricingListEntry {
  6617  	s.IsLongTermPricingAutoRenew = &v
  6618  	return s
  6619  }
  6620  
  6621  // SetJobIds sets the JobIds field's value.
  6622  func (s *LongTermPricingListEntry) SetJobIds(v []*string) *LongTermPricingListEntry {
  6623  	s.JobIds = v
  6624  	return s
  6625  }
  6626  
  6627  // SetLongTermPricingEndDate sets the LongTermPricingEndDate field's value.
  6628  func (s *LongTermPricingListEntry) SetLongTermPricingEndDate(v time.Time) *LongTermPricingListEntry {
  6629  	s.LongTermPricingEndDate = &v
  6630  	return s
  6631  }
  6632  
  6633  // SetLongTermPricingId sets the LongTermPricingId field's value.
  6634  func (s *LongTermPricingListEntry) SetLongTermPricingId(v string) *LongTermPricingListEntry {
  6635  	s.LongTermPricingId = &v
  6636  	return s
  6637  }
  6638  
  6639  // SetLongTermPricingStartDate sets the LongTermPricingStartDate field's value.
  6640  func (s *LongTermPricingListEntry) SetLongTermPricingStartDate(v time.Time) *LongTermPricingListEntry {
  6641  	s.LongTermPricingStartDate = &v
  6642  	return s
  6643  }
  6644  
  6645  // SetLongTermPricingStatus sets the LongTermPricingStatus field's value.
  6646  func (s *LongTermPricingListEntry) SetLongTermPricingStatus(v string) *LongTermPricingListEntry {
  6647  	s.LongTermPricingStatus = &v
  6648  	return s
  6649  }
  6650  
  6651  // SetLongTermPricingType sets the LongTermPricingType field's value.
  6652  func (s *LongTermPricingListEntry) SetLongTermPricingType(v string) *LongTermPricingListEntry {
  6653  	s.LongTermPricingType = &v
  6654  	return s
  6655  }
  6656  
  6657  // SetReplacementJob sets the ReplacementJob field's value.
  6658  func (s *LongTermPricingListEntry) SetReplacementJob(v string) *LongTermPricingListEntry {
  6659  	s.ReplacementJob = &v
  6660  	return s
  6661  }
  6662  
  6663  // SetSnowballType sets the SnowballType field's value.
  6664  func (s *LongTermPricingListEntry) SetSnowballType(v string) *LongTermPricingListEntry {
  6665  	s.SnowballType = &v
  6666  	return s
  6667  }
  6668  
  6669  // An object that represents metadata and configuration settings for NFS service
  6670  // on an AWS Snow Family device.
  6671  type NFSOnDeviceServiceConfiguration struct {
  6672  	_ struct{} `type:"structure"`
  6673  
  6674  	// The maximum NFS storage for one Snowball Family device.
  6675  	StorageLimit *int64 `type:"integer"`
  6676  
  6677  	// The scale unit of the NFS storage on the device.
  6678  	//
  6679  	// Valid values: TB.
  6680  	StorageUnit *string `type:"string" enum:"StorageUnit"`
  6681  }
  6682  
  6683  // String returns the string representation.
  6684  //
  6685  // API parameter values that are decorated as "sensitive" in the API will not
  6686  // be included in the string output. The member name will be present, but the
  6687  // value will be replaced with "sensitive".
  6688  func (s NFSOnDeviceServiceConfiguration) String() string {
  6689  	return awsutil.Prettify(s)
  6690  }
  6691  
  6692  // GoString returns the string representation.
  6693  //
  6694  // API parameter values that are decorated as "sensitive" in the API will not
  6695  // be included in the string output. The member name will be present, but the
  6696  // value will be replaced with "sensitive".
  6697  func (s NFSOnDeviceServiceConfiguration) GoString() string {
  6698  	return s.String()
  6699  }
  6700  
  6701  // SetStorageLimit sets the StorageLimit field's value.
  6702  func (s *NFSOnDeviceServiceConfiguration) SetStorageLimit(v int64) *NFSOnDeviceServiceConfiguration {
  6703  	s.StorageLimit = &v
  6704  	return s
  6705  }
  6706  
  6707  // SetStorageUnit sets the StorageUnit field's value.
  6708  func (s *NFSOnDeviceServiceConfiguration) SetStorageUnit(v string) *NFSOnDeviceServiceConfiguration {
  6709  	s.StorageUnit = &v
  6710  	return s
  6711  }
  6712  
  6713  // The Amazon Simple Notification Service (Amazon SNS) notification settings
  6714  // associated with a specific job. The Notification object is returned as a
  6715  // part of the response syntax of the DescribeJob action in the JobMetadata
  6716  // data type.
  6717  //
  6718  // When the notification settings are defined during job creation, you can choose
  6719  // to notify based on a specific set of job states using the JobStatesToNotify
  6720  // array of strings, or you can specify that you want to have Amazon SNS notifications
  6721  // sent out for all job states with NotifyAll set to true.
  6722  type Notification struct {
  6723  	_ struct{} `type:"structure"`
  6724  
  6725  	// The list of job states that will trigger a notification for this job.
  6726  	JobStatesToNotify []*string `type:"list"`
  6727  
  6728  	// Any change in job state will trigger a notification for this job.
  6729  	NotifyAll *bool `type:"boolean"`
  6730  
  6731  	// The new SNS TopicArn that you want to associate with this job. You can create
  6732  	// Amazon Resource Names (ARNs) for topics by using the CreateTopic (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html)
  6733  	// Amazon SNS API action.
  6734  	//
  6735  	// You can subscribe email addresses to an Amazon SNS topic through the AWS
  6736  	// Management Console, or by using the Subscribe (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html)
  6737  	// Amazon Simple Notification Service (Amazon SNS) API action.
  6738  	SnsTopicARN *string `type:"string"`
  6739  }
  6740  
  6741  // String returns the string representation.
  6742  //
  6743  // API parameter values that are decorated as "sensitive" in the API will not
  6744  // be included in the string output. The member name will be present, but the
  6745  // value will be replaced with "sensitive".
  6746  func (s Notification) String() string {
  6747  	return awsutil.Prettify(s)
  6748  }
  6749  
  6750  // GoString returns the string representation.
  6751  //
  6752  // API parameter values that are decorated as "sensitive" in the API will not
  6753  // be included in the string output. The member name will be present, but the
  6754  // value will be replaced with "sensitive".
  6755  func (s Notification) GoString() string {
  6756  	return s.String()
  6757  }
  6758  
  6759  // SetJobStatesToNotify sets the JobStatesToNotify field's value.
  6760  func (s *Notification) SetJobStatesToNotify(v []*string) *Notification {
  6761  	s.JobStatesToNotify = v
  6762  	return s
  6763  }
  6764  
  6765  // SetNotifyAll sets the NotifyAll field's value.
  6766  func (s *Notification) SetNotifyAll(v bool) *Notification {
  6767  	s.NotifyAll = &v
  6768  	return s
  6769  }
  6770  
  6771  // SetSnsTopicARN sets the SnsTopicARN field's value.
  6772  func (s *Notification) SetSnsTopicARN(v string) *Notification {
  6773  	s.SnsTopicARN = &v
  6774  	return s
  6775  }
  6776  
  6777  // An object that represents metadata and configuration settings for services
  6778  // on an AWS Snow Family device.
  6779  type OnDeviceServiceConfiguration struct {
  6780  	_ struct{} `type:"structure"`
  6781  
  6782  	// Represents the NFS service on a Snow Family device.
  6783  	NFSOnDeviceService *NFSOnDeviceServiceConfiguration `type:"structure"`
  6784  }
  6785  
  6786  // String returns the string representation.
  6787  //
  6788  // API parameter values that are decorated as "sensitive" in the API will not
  6789  // be included in the string output. The member name will be present, but the
  6790  // value will be replaced with "sensitive".
  6791  func (s OnDeviceServiceConfiguration) String() string {
  6792  	return awsutil.Prettify(s)
  6793  }
  6794  
  6795  // GoString returns the string representation.
  6796  //
  6797  // API parameter values that are decorated as "sensitive" in the API will not
  6798  // be included in the string output. The member name will be present, but the
  6799  // value will be replaced with "sensitive".
  6800  func (s OnDeviceServiceConfiguration) GoString() string {
  6801  	return s.String()
  6802  }
  6803  
  6804  // SetNFSOnDeviceService sets the NFSOnDeviceService field's value.
  6805  func (s *OnDeviceServiceConfiguration) SetNFSOnDeviceService(v *NFSOnDeviceServiceConfiguration) *OnDeviceServiceConfiguration {
  6806  	s.NFSOnDeviceService = v
  6807  	return s
  6808  }
  6809  
  6810  // You get this exception if you call CreateReturnShippingLabel and a valid
  6811  // return shipping label already exists. In this case, use DescribeReturnShippingLabel
  6812  // to get the url.
  6813  type ReturnShippingLabelAlreadyExistsException struct {
  6814  	_            struct{}                  `type:"structure"`
  6815  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6816  
  6817  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  6818  }
  6819  
  6820  // String returns the string representation.
  6821  //
  6822  // API parameter values that are decorated as "sensitive" in the API will not
  6823  // be included in the string output. The member name will be present, but the
  6824  // value will be replaced with "sensitive".
  6825  func (s ReturnShippingLabelAlreadyExistsException) String() string {
  6826  	return awsutil.Prettify(s)
  6827  }
  6828  
  6829  // GoString returns the string representation.
  6830  //
  6831  // API parameter values that are decorated as "sensitive" in the API will not
  6832  // be included in the string output. The member name will be present, but the
  6833  // value will be replaced with "sensitive".
  6834  func (s ReturnShippingLabelAlreadyExistsException) GoString() string {
  6835  	return s.String()
  6836  }
  6837  
  6838  func newErrorReturnShippingLabelAlreadyExistsException(v protocol.ResponseMetadata) error {
  6839  	return &ReturnShippingLabelAlreadyExistsException{
  6840  		RespMetadata: v,
  6841  	}
  6842  }
  6843  
  6844  // Code returns the exception type name.
  6845  func (s *ReturnShippingLabelAlreadyExistsException) Code() string {
  6846  	return "ReturnShippingLabelAlreadyExistsException"
  6847  }
  6848  
  6849  // Message returns the exception's message.
  6850  func (s *ReturnShippingLabelAlreadyExistsException) Message() string {
  6851  	if s.Message_ != nil {
  6852  		return *s.Message_
  6853  	}
  6854  	return ""
  6855  }
  6856  
  6857  // OrigErr always returns nil, satisfies awserr.Error interface.
  6858  func (s *ReturnShippingLabelAlreadyExistsException) OrigErr() error {
  6859  	return nil
  6860  }
  6861  
  6862  func (s *ReturnShippingLabelAlreadyExistsException) Error() string {
  6863  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6864  }
  6865  
  6866  // Status code returns the HTTP status code for the request's response error.
  6867  func (s *ReturnShippingLabelAlreadyExistsException) StatusCode() int {
  6868  	return s.RespMetadata.StatusCode
  6869  }
  6870  
  6871  // RequestID returns the service's response RequestID for request.
  6872  func (s *ReturnShippingLabelAlreadyExistsException) RequestID() string {
  6873  	return s.RespMetadata.RequestID
  6874  }
  6875  
  6876  // Each S3Resource object represents an Amazon S3 bucket that your transferred
  6877  // data will be exported from or imported into. For export jobs, this object
  6878  // can have an optional KeyRange value. The length of the range is defined at
  6879  // job creation, and has either an inclusive BeginMarker, an inclusive EndMarker,
  6880  // or both. Ranges are UTF-8 binary sorted.
  6881  type S3Resource struct {
  6882  	_ struct{} `type:"structure"`
  6883  
  6884  	// The Amazon Resource Name (ARN) of an Amazon S3 bucket.
  6885  	BucketArn *string `type:"string"`
  6886  
  6887  	// For export jobs, you can provide an optional KeyRange within a specific Amazon
  6888  	// S3 bucket. The length of the range is defined at job creation, and has either
  6889  	// an inclusive BeginMarker, an inclusive EndMarker, or both. Ranges are UTF-8
  6890  	// binary sorted.
  6891  	KeyRange *KeyRange `type:"structure"`
  6892  
  6893  	// Specifies the service or services on the Snow Family device that your transferred
  6894  	// data will be exported from or imported into. AWS Snow Family supports Amazon
  6895  	// S3 and NFS (Network File System).
  6896  	TargetOnDeviceServices []*TargetOnDeviceService `type:"list"`
  6897  }
  6898  
  6899  // String returns the string representation.
  6900  //
  6901  // API parameter values that are decorated as "sensitive" in the API will not
  6902  // be included in the string output. The member name will be present, but the
  6903  // value will be replaced with "sensitive".
  6904  func (s S3Resource) String() string {
  6905  	return awsutil.Prettify(s)
  6906  }
  6907  
  6908  // GoString returns the string representation.
  6909  //
  6910  // API parameter values that are decorated as "sensitive" in the API will not
  6911  // be included in the string output. The member name will be present, but the
  6912  // value will be replaced with "sensitive".
  6913  func (s S3Resource) GoString() string {
  6914  	return s.String()
  6915  }
  6916  
  6917  // Validate inspects the fields of the type to determine if they are valid.
  6918  func (s *S3Resource) Validate() error {
  6919  	invalidParams := request.ErrInvalidParams{Context: "S3Resource"}
  6920  	if s.KeyRange != nil {
  6921  		if err := s.KeyRange.Validate(); err != nil {
  6922  			invalidParams.AddNested("KeyRange", err.(request.ErrInvalidParams))
  6923  		}
  6924  	}
  6925  
  6926  	if invalidParams.Len() > 0 {
  6927  		return invalidParams
  6928  	}
  6929  	return nil
  6930  }
  6931  
  6932  // SetBucketArn sets the BucketArn field's value.
  6933  func (s *S3Resource) SetBucketArn(v string) *S3Resource {
  6934  	s.BucketArn = &v
  6935  	return s
  6936  }
  6937  
  6938  // SetKeyRange sets the KeyRange field's value.
  6939  func (s *S3Resource) SetKeyRange(v *KeyRange) *S3Resource {
  6940  	s.KeyRange = v
  6941  	return s
  6942  }
  6943  
  6944  // SetTargetOnDeviceServices sets the TargetOnDeviceServices field's value.
  6945  func (s *S3Resource) SetTargetOnDeviceServices(v []*TargetOnDeviceService) *S3Resource {
  6946  	s.TargetOnDeviceServices = v
  6947  	return s
  6948  }
  6949  
  6950  // The Status and TrackingNumber information for an inbound or outbound shipment.
  6951  type Shipment struct {
  6952  	_ struct{} `type:"structure"`
  6953  
  6954  	// Status information for a shipment.
  6955  	Status *string `min:"1" type:"string"`
  6956  
  6957  	// The tracking number for this job. Using this tracking number with your region's
  6958  	// carrier's website, you can track a Snow device as the carrier transports
  6959  	// it.
  6960  	//
  6961  	// For India, the carrier is Amazon Logistics. For all other regions, UPS is
  6962  	// the carrier.
  6963  	TrackingNumber *string `min:"1" type:"string"`
  6964  }
  6965  
  6966  // String returns the string representation.
  6967  //
  6968  // API parameter values that are decorated as "sensitive" in the API will not
  6969  // be included in the string output. The member name will be present, but the
  6970  // value will be replaced with "sensitive".
  6971  func (s Shipment) String() string {
  6972  	return awsutil.Prettify(s)
  6973  }
  6974  
  6975  // GoString returns the string representation.
  6976  //
  6977  // API parameter values that are decorated as "sensitive" in the API will not
  6978  // be included in the string output. The member name will be present, but the
  6979  // value will be replaced with "sensitive".
  6980  func (s Shipment) GoString() string {
  6981  	return s.String()
  6982  }
  6983  
  6984  // SetStatus sets the Status field's value.
  6985  func (s *Shipment) SetStatus(v string) *Shipment {
  6986  	s.Status = &v
  6987  	return s
  6988  }
  6989  
  6990  // SetTrackingNumber sets the TrackingNumber field's value.
  6991  func (s *Shipment) SetTrackingNumber(v string) *Shipment {
  6992  	s.TrackingNumber = &v
  6993  	return s
  6994  }
  6995  
  6996  // A job's shipping information, including inbound and outbound tracking numbers
  6997  // and shipping speed options.
  6998  type ShippingDetails struct {
  6999  	_ struct{} `type:"structure"`
  7000  
  7001  	// The Status and TrackingNumber values for a Snow device being returned to
  7002  	// AWS for a particular job.
  7003  	InboundShipment *Shipment `type:"structure"`
  7004  
  7005  	// The Status and TrackingNumber values for a Snow device being delivered to
  7006  	// the address that you specified for a particular job.
  7007  	OutboundShipment *Shipment `type:"structure"`
  7008  
  7009  	// The shipping speed for a particular job. This speed doesn't dictate how soon
  7010  	// you'll get the Snow device from the job's creation date. This speed represents
  7011  	// how quickly it moves to its destination while in transit. Regional shipping
  7012  	// speeds are as follows:
  7013  	//
  7014  	//    * In Australia, you have access to express shipping. Typically, Snow devices
  7015  	//    shipped express are delivered in about a day.
  7016  	//
  7017  	//    * In the European Union (EU), you have access to express shipping. Typically,
  7018  	//    Snow devices shipped express are delivered in about a day. In addition,
  7019  	//    most countries in the EU have access to standard shipping, which typically
  7020  	//    takes less than a week, one way.
  7021  	//
  7022  	//    * In India, Snow devices are delivered in one to seven days.
  7023  	//
  7024  	//    * In the United States of America (US), you have access to one-day shipping
  7025  	//    and two-day shipping.
  7026  	ShippingOption *string `type:"string" enum:"ShippingOption"`
  7027  }
  7028  
  7029  // String returns the string representation.
  7030  //
  7031  // API parameter values that are decorated as "sensitive" in the API will not
  7032  // be included in the string output. The member name will be present, but the
  7033  // value will be replaced with "sensitive".
  7034  func (s ShippingDetails) String() string {
  7035  	return awsutil.Prettify(s)
  7036  }
  7037  
  7038  // GoString returns the string representation.
  7039  //
  7040  // API parameter values that are decorated as "sensitive" in the API will not
  7041  // be included in the string output. The member name will be present, but the
  7042  // value will be replaced with "sensitive".
  7043  func (s ShippingDetails) GoString() string {
  7044  	return s.String()
  7045  }
  7046  
  7047  // SetInboundShipment sets the InboundShipment field's value.
  7048  func (s *ShippingDetails) SetInboundShipment(v *Shipment) *ShippingDetails {
  7049  	s.InboundShipment = v
  7050  	return s
  7051  }
  7052  
  7053  // SetOutboundShipment sets the OutboundShipment field's value.
  7054  func (s *ShippingDetails) SetOutboundShipment(v *Shipment) *ShippingDetails {
  7055  	s.OutboundShipment = v
  7056  	return s
  7057  }
  7058  
  7059  // SetShippingOption sets the ShippingOption field's value.
  7060  func (s *ShippingDetails) SetShippingOption(v string) *ShippingDetails {
  7061  	s.ShippingOption = &v
  7062  	return s
  7063  }
  7064  
  7065  // Specifies the device configuration for an AWS Snowcone job.
  7066  type SnowconeDeviceConfiguration struct {
  7067  	_ struct{} `type:"structure"`
  7068  
  7069  	// Configures the wireless connection for the AWS Snowcone device.
  7070  	WirelessConnection *WirelessConnection `type:"structure"`
  7071  }
  7072  
  7073  // String returns the string representation.
  7074  //
  7075  // API parameter values that are decorated as "sensitive" in the API will not
  7076  // be included in the string output. The member name will be present, but the
  7077  // value will be replaced with "sensitive".
  7078  func (s SnowconeDeviceConfiguration) String() string {
  7079  	return awsutil.Prettify(s)
  7080  }
  7081  
  7082  // GoString returns the string representation.
  7083  //
  7084  // API parameter values that are decorated as "sensitive" in the API will not
  7085  // be included in the string output. The member name will be present, but the
  7086  // value will be replaced with "sensitive".
  7087  func (s SnowconeDeviceConfiguration) GoString() string {
  7088  	return s.String()
  7089  }
  7090  
  7091  // SetWirelessConnection sets the WirelessConnection field's value.
  7092  func (s *SnowconeDeviceConfiguration) SetWirelessConnection(v *WirelessConnection) *SnowconeDeviceConfiguration {
  7093  	s.WirelessConnection = v
  7094  	return s
  7095  }
  7096  
  7097  // An object that represents the service or services on the Snow Family device
  7098  // that your transferred data will be exported from or imported into. AWS Snow
  7099  // Family supports Amazon S3 and NFS (Network File System).
  7100  type TargetOnDeviceService struct {
  7101  	_ struct{} `type:"structure"`
  7102  
  7103  	// Specifies the name of the service on the Snow Family device that your transferred
  7104  	// data will be exported from or imported into.
  7105  	ServiceName *string `type:"string" enum:"DeviceServiceName"`
  7106  
  7107  	// Specifies whether the data is being imported or exported. You can import
  7108  	// or export the data, or use it locally on the device.
  7109  	TransferOption *string `type:"string" enum:"TransferOption"`
  7110  }
  7111  
  7112  // String returns the string representation.
  7113  //
  7114  // API parameter values that are decorated as "sensitive" in the API will not
  7115  // be included in the string output. The member name will be present, but the
  7116  // value will be replaced with "sensitive".
  7117  func (s TargetOnDeviceService) String() string {
  7118  	return awsutil.Prettify(s)
  7119  }
  7120  
  7121  // GoString returns the string representation.
  7122  //
  7123  // API parameter values that are decorated as "sensitive" in the API will not
  7124  // be included in the string output. The member name will be present, but the
  7125  // value will be replaced with "sensitive".
  7126  func (s TargetOnDeviceService) GoString() string {
  7127  	return s.String()
  7128  }
  7129  
  7130  // SetServiceName sets the ServiceName field's value.
  7131  func (s *TargetOnDeviceService) SetServiceName(v string) *TargetOnDeviceService {
  7132  	s.ServiceName = &v
  7133  	return s
  7134  }
  7135  
  7136  // SetTransferOption sets the TransferOption field's value.
  7137  func (s *TargetOnDeviceService) SetTransferOption(v string) *TargetOnDeviceService {
  7138  	s.TransferOption = &v
  7139  	return s
  7140  }
  7141  
  7142  // The tax documents required in your AWS Region.
  7143  type TaxDocuments struct {
  7144  	_ struct{} `type:"structure"`
  7145  
  7146  	// The tax documents required in AWS Regions in India.
  7147  	IND *INDTaxDocuments `type:"structure"`
  7148  }
  7149  
  7150  // String returns the string representation.
  7151  //
  7152  // API parameter values that are decorated as "sensitive" in the API will not
  7153  // be included in the string output. The member name will be present, but the
  7154  // value will be replaced with "sensitive".
  7155  func (s TaxDocuments) String() string {
  7156  	return awsutil.Prettify(s)
  7157  }
  7158  
  7159  // GoString returns the string representation.
  7160  //
  7161  // API parameter values that are decorated as "sensitive" in the API will not
  7162  // be included in the string output. The member name will be present, but the
  7163  // value will be replaced with "sensitive".
  7164  func (s TaxDocuments) GoString() string {
  7165  	return s.String()
  7166  }
  7167  
  7168  // SetIND sets the IND field's value.
  7169  func (s *TaxDocuments) SetIND(v *INDTaxDocuments) *TaxDocuments {
  7170  	s.IND = v
  7171  	return s
  7172  }
  7173  
  7174  // The address is either outside the serviceable area for your region, or an
  7175  // error occurred. Check the address with your region's carrier and try again.
  7176  // If the issue persists, contact AWS Support.
  7177  type UnsupportedAddressException struct {
  7178  	_            struct{}                  `type:"structure"`
  7179  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7180  
  7181  	Message_ *string `locationName:"Message" min:"1" type:"string"`
  7182  }
  7183  
  7184  // String returns the string representation.
  7185  //
  7186  // API parameter values that are decorated as "sensitive" in the API will not
  7187  // be included in the string output. The member name will be present, but the
  7188  // value will be replaced with "sensitive".
  7189  func (s UnsupportedAddressException) String() string {
  7190  	return awsutil.Prettify(s)
  7191  }
  7192  
  7193  // GoString returns the string representation.
  7194  //
  7195  // API parameter values that are decorated as "sensitive" in the API will not
  7196  // be included in the string output. The member name will be present, but the
  7197  // value will be replaced with "sensitive".
  7198  func (s UnsupportedAddressException) GoString() string {
  7199  	return s.String()
  7200  }
  7201  
  7202  func newErrorUnsupportedAddressException(v protocol.ResponseMetadata) error {
  7203  	return &UnsupportedAddressException{
  7204  		RespMetadata: v,
  7205  	}
  7206  }
  7207  
  7208  // Code returns the exception type name.
  7209  func (s *UnsupportedAddressException) Code() string {
  7210  	return "UnsupportedAddressException"
  7211  }
  7212  
  7213  // Message returns the exception's message.
  7214  func (s *UnsupportedAddressException) Message() string {
  7215  	if s.Message_ != nil {
  7216  		return *s.Message_
  7217  	}
  7218  	return ""
  7219  }
  7220  
  7221  // OrigErr always returns nil, satisfies awserr.Error interface.
  7222  func (s *UnsupportedAddressException) OrigErr() error {
  7223  	return nil
  7224  }
  7225  
  7226  func (s *UnsupportedAddressException) Error() string {
  7227  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7228  }
  7229  
  7230  // Status code returns the HTTP status code for the request's response error.
  7231  func (s *UnsupportedAddressException) StatusCode() int {
  7232  	return s.RespMetadata.StatusCode
  7233  }
  7234  
  7235  // RequestID returns the service's response RequestID for request.
  7236  func (s *UnsupportedAddressException) RequestID() string {
  7237  	return s.RespMetadata.RequestID
  7238  }
  7239  
  7240  type UpdateClusterInput struct {
  7241  	_ struct{} `type:"structure"`
  7242  
  7243  	// The ID of the updated Address object.
  7244  	AddressId *string `min:"40" type:"string"`
  7245  
  7246  	// The cluster ID of the cluster that you want to update, for example CID123e4567-e89b-12d3-a456-426655440000.
  7247  	//
  7248  	// ClusterId is a required field
  7249  	ClusterId *string `min:"39" type:"string" required:"true"`
  7250  
  7251  	// The updated description of this cluster.
  7252  	Description *string `min:"1" type:"string"`
  7253  
  7254  	// The updated ID for the forwarding address for a cluster. This field is not
  7255  	// supported in most regions.
  7256  	ForwardingAddressId *string `min:"40" type:"string"`
  7257  
  7258  	// The new or updated Notification object.
  7259  	Notification *Notification `type:"structure"`
  7260  
  7261  	// Specifies the service or services on the Snow Family device that your transferred
  7262  	// data will be exported from or imported into. AWS Snow Family supports Amazon
  7263  	// S3 and NFS (Network File System).
  7264  	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
  7265  
  7266  	// The updated arrays of JobResource objects that can include updated S3Resource
  7267  	// objects or LambdaResource objects.
  7268  	Resources *JobResource `type:"structure"`
  7269  
  7270  	// The new role Amazon Resource Name (ARN) that you want to associate with this
  7271  	// cluster. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)
  7272  	// API action in AWS Identity and Access Management (IAM).
  7273  	RoleARN *string `type:"string"`
  7274  
  7275  	// The updated shipping option value of this cluster's ShippingDetails object.
  7276  	ShippingOption *string `type:"string" enum:"ShippingOption"`
  7277  }
  7278  
  7279  // String returns the string representation.
  7280  //
  7281  // API parameter values that are decorated as "sensitive" in the API will not
  7282  // be included in the string output. The member name will be present, but the
  7283  // value will be replaced with "sensitive".
  7284  func (s UpdateClusterInput) String() string {
  7285  	return awsutil.Prettify(s)
  7286  }
  7287  
  7288  // GoString returns the string representation.
  7289  //
  7290  // API parameter values that are decorated as "sensitive" in the API will not
  7291  // be included in the string output. The member name will be present, but the
  7292  // value will be replaced with "sensitive".
  7293  func (s UpdateClusterInput) GoString() string {
  7294  	return s.String()
  7295  }
  7296  
  7297  // Validate inspects the fields of the type to determine if they are valid.
  7298  func (s *UpdateClusterInput) Validate() error {
  7299  	invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"}
  7300  	if s.AddressId != nil && len(*s.AddressId) < 40 {
  7301  		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
  7302  	}
  7303  	if s.ClusterId == nil {
  7304  		invalidParams.Add(request.NewErrParamRequired("ClusterId"))
  7305  	}
  7306  	if s.ClusterId != nil && len(*s.ClusterId) < 39 {
  7307  		invalidParams.Add(request.NewErrParamMinLen("ClusterId", 39))
  7308  	}
  7309  	if s.Description != nil && len(*s.Description) < 1 {
  7310  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7311  	}
  7312  	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
  7313  		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
  7314  	}
  7315  	if s.Resources != nil {
  7316  		if err := s.Resources.Validate(); err != nil {
  7317  			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
  7318  		}
  7319  	}
  7320  
  7321  	if invalidParams.Len() > 0 {
  7322  		return invalidParams
  7323  	}
  7324  	return nil
  7325  }
  7326  
  7327  // SetAddressId sets the AddressId field's value.
  7328  func (s *UpdateClusterInput) SetAddressId(v string) *UpdateClusterInput {
  7329  	s.AddressId = &v
  7330  	return s
  7331  }
  7332  
  7333  // SetClusterId sets the ClusterId field's value.
  7334  func (s *UpdateClusterInput) SetClusterId(v string) *UpdateClusterInput {
  7335  	s.ClusterId = &v
  7336  	return s
  7337  }
  7338  
  7339  // SetDescription sets the Description field's value.
  7340  func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput {
  7341  	s.Description = &v
  7342  	return s
  7343  }
  7344  
  7345  // SetForwardingAddressId sets the ForwardingAddressId field's value.
  7346  func (s *UpdateClusterInput) SetForwardingAddressId(v string) *UpdateClusterInput {
  7347  	s.ForwardingAddressId = &v
  7348  	return s
  7349  }
  7350  
  7351  // SetNotification sets the Notification field's value.
  7352  func (s *UpdateClusterInput) SetNotification(v *Notification) *UpdateClusterInput {
  7353  	s.Notification = v
  7354  	return s
  7355  }
  7356  
  7357  // SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
  7358  func (s *UpdateClusterInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *UpdateClusterInput {
  7359  	s.OnDeviceServiceConfiguration = v
  7360  	return s
  7361  }
  7362  
  7363  // SetResources sets the Resources field's value.
  7364  func (s *UpdateClusterInput) SetResources(v *JobResource) *UpdateClusterInput {
  7365  	s.Resources = v
  7366  	return s
  7367  }
  7368  
  7369  // SetRoleARN sets the RoleARN field's value.
  7370  func (s *UpdateClusterInput) SetRoleARN(v string) *UpdateClusterInput {
  7371  	s.RoleARN = &v
  7372  	return s
  7373  }
  7374  
  7375  // SetShippingOption sets the ShippingOption field's value.
  7376  func (s *UpdateClusterInput) SetShippingOption(v string) *UpdateClusterInput {
  7377  	s.ShippingOption = &v
  7378  	return s
  7379  }
  7380  
  7381  type UpdateClusterOutput struct {
  7382  	_ struct{} `type:"structure"`
  7383  }
  7384  
  7385  // String returns the string representation.
  7386  //
  7387  // API parameter values that are decorated as "sensitive" in the API will not
  7388  // be included in the string output. The member name will be present, but the
  7389  // value will be replaced with "sensitive".
  7390  func (s UpdateClusterOutput) String() string {
  7391  	return awsutil.Prettify(s)
  7392  }
  7393  
  7394  // GoString returns the string representation.
  7395  //
  7396  // API parameter values that are decorated as "sensitive" in the API will not
  7397  // be included in the string output. The member name will be present, but the
  7398  // value will be replaced with "sensitive".
  7399  func (s UpdateClusterOutput) GoString() string {
  7400  	return s.String()
  7401  }
  7402  
  7403  type UpdateJobInput struct {
  7404  	_ struct{} `type:"structure"`
  7405  
  7406  	// The ID of the updated Address object.
  7407  	AddressId *string `min:"40" type:"string"`
  7408  
  7409  	// The updated description of this job's JobMetadata object.
  7410  	Description *string `min:"1" type:"string"`
  7411  
  7412  	// The updated ID for the forwarding address for a job. This field is not supported
  7413  	// in most regions.
  7414  	ForwardingAddressId *string `min:"40" type:"string"`
  7415  
  7416  	// The job ID of the job that you want to update, for example JID123e4567-e89b-12d3-a456-426655440000.
  7417  	//
  7418  	// JobId is a required field
  7419  	JobId *string `min:"39" type:"string" required:"true"`
  7420  
  7421  	// The new or updated Notification object.
  7422  	Notification *Notification `type:"structure"`
  7423  
  7424  	// Specifies the service or services on the Snow Family device that your transferred
  7425  	// data will be exported from or imported into. AWS Snow Family supports Amazon
  7426  	// S3 and NFS (Network File System).
  7427  	OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"`
  7428  
  7429  	// The updated JobResource object, or the updated JobResource object.
  7430  	Resources *JobResource `type:"structure"`
  7431  
  7432  	// The new role Amazon Resource Name (ARN) that you want to associate with this
  7433  	// job. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)AWS
  7434  	// Identity and Access Management (IAM) API action.
  7435  	RoleARN *string `type:"string"`
  7436  
  7437  	// The updated shipping option value of this job's ShippingDetails object.
  7438  	ShippingOption *string `type:"string" enum:"ShippingOption"`
  7439  
  7440  	// The updated SnowballCapacityPreference of this job's JobMetadata object.
  7441  	// The 50 TB Snowballs are only available in the US regions.
  7442  	//
  7443  	// For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html"
  7444  	// (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html"
  7445  	// (Snow Family Devices and Capacity) in the Snowcone User Guide.
  7446  	SnowballCapacityPreference *string `type:"string" enum:"Capacity"`
  7447  }
  7448  
  7449  // String returns the string representation.
  7450  //
  7451  // API parameter values that are decorated as "sensitive" in the API will not
  7452  // be included in the string output. The member name will be present, but the
  7453  // value will be replaced with "sensitive".
  7454  func (s UpdateJobInput) String() string {
  7455  	return awsutil.Prettify(s)
  7456  }
  7457  
  7458  // GoString returns the string representation.
  7459  //
  7460  // API parameter values that are decorated as "sensitive" in the API will not
  7461  // be included in the string output. The member name will be present, but the
  7462  // value will be replaced with "sensitive".
  7463  func (s UpdateJobInput) GoString() string {
  7464  	return s.String()
  7465  }
  7466  
  7467  // Validate inspects the fields of the type to determine if they are valid.
  7468  func (s *UpdateJobInput) Validate() error {
  7469  	invalidParams := request.ErrInvalidParams{Context: "UpdateJobInput"}
  7470  	if s.AddressId != nil && len(*s.AddressId) < 40 {
  7471  		invalidParams.Add(request.NewErrParamMinLen("AddressId", 40))
  7472  	}
  7473  	if s.Description != nil && len(*s.Description) < 1 {
  7474  		invalidParams.Add(request.NewErrParamMinLen("Description", 1))
  7475  	}
  7476  	if s.ForwardingAddressId != nil && len(*s.ForwardingAddressId) < 40 {
  7477  		invalidParams.Add(request.NewErrParamMinLen("ForwardingAddressId", 40))
  7478  	}
  7479  	if s.JobId == nil {
  7480  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  7481  	}
  7482  	if s.JobId != nil && len(*s.JobId) < 39 {
  7483  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  7484  	}
  7485  	if s.Resources != nil {
  7486  		if err := s.Resources.Validate(); err != nil {
  7487  			invalidParams.AddNested("Resources", err.(request.ErrInvalidParams))
  7488  		}
  7489  	}
  7490  
  7491  	if invalidParams.Len() > 0 {
  7492  		return invalidParams
  7493  	}
  7494  	return nil
  7495  }
  7496  
  7497  // SetAddressId sets the AddressId field's value.
  7498  func (s *UpdateJobInput) SetAddressId(v string) *UpdateJobInput {
  7499  	s.AddressId = &v
  7500  	return s
  7501  }
  7502  
  7503  // SetDescription sets the Description field's value.
  7504  func (s *UpdateJobInput) SetDescription(v string) *UpdateJobInput {
  7505  	s.Description = &v
  7506  	return s
  7507  }
  7508  
  7509  // SetForwardingAddressId sets the ForwardingAddressId field's value.
  7510  func (s *UpdateJobInput) SetForwardingAddressId(v string) *UpdateJobInput {
  7511  	s.ForwardingAddressId = &v
  7512  	return s
  7513  }
  7514  
  7515  // SetJobId sets the JobId field's value.
  7516  func (s *UpdateJobInput) SetJobId(v string) *UpdateJobInput {
  7517  	s.JobId = &v
  7518  	return s
  7519  }
  7520  
  7521  // SetNotification sets the Notification field's value.
  7522  func (s *UpdateJobInput) SetNotification(v *Notification) *UpdateJobInput {
  7523  	s.Notification = v
  7524  	return s
  7525  }
  7526  
  7527  // SetOnDeviceServiceConfiguration sets the OnDeviceServiceConfiguration field's value.
  7528  func (s *UpdateJobInput) SetOnDeviceServiceConfiguration(v *OnDeviceServiceConfiguration) *UpdateJobInput {
  7529  	s.OnDeviceServiceConfiguration = v
  7530  	return s
  7531  }
  7532  
  7533  // SetResources sets the Resources field's value.
  7534  func (s *UpdateJobInput) SetResources(v *JobResource) *UpdateJobInput {
  7535  	s.Resources = v
  7536  	return s
  7537  }
  7538  
  7539  // SetRoleARN sets the RoleARN field's value.
  7540  func (s *UpdateJobInput) SetRoleARN(v string) *UpdateJobInput {
  7541  	s.RoleARN = &v
  7542  	return s
  7543  }
  7544  
  7545  // SetShippingOption sets the ShippingOption field's value.
  7546  func (s *UpdateJobInput) SetShippingOption(v string) *UpdateJobInput {
  7547  	s.ShippingOption = &v
  7548  	return s
  7549  }
  7550  
  7551  // SetSnowballCapacityPreference sets the SnowballCapacityPreference field's value.
  7552  func (s *UpdateJobInput) SetSnowballCapacityPreference(v string) *UpdateJobInput {
  7553  	s.SnowballCapacityPreference = &v
  7554  	return s
  7555  }
  7556  
  7557  type UpdateJobOutput struct {
  7558  	_ struct{} `type:"structure"`
  7559  }
  7560  
  7561  // String returns the string representation.
  7562  //
  7563  // API parameter values that are decorated as "sensitive" in the API will not
  7564  // be included in the string output. The member name will be present, but the
  7565  // value will be replaced with "sensitive".
  7566  func (s UpdateJobOutput) String() string {
  7567  	return awsutil.Prettify(s)
  7568  }
  7569  
  7570  // GoString returns the string representation.
  7571  //
  7572  // API parameter values that are decorated as "sensitive" in the API will not
  7573  // be included in the string output. The member name will be present, but the
  7574  // value will be replaced with "sensitive".
  7575  func (s UpdateJobOutput) GoString() string {
  7576  	return s.String()
  7577  }
  7578  
  7579  type UpdateJobShipmentStateInput struct {
  7580  	_ struct{} `type:"structure"`
  7581  
  7582  	// The job ID of the job whose shipment date you want to update, for example
  7583  	// JID123e4567-e89b-12d3-a456-426655440000.
  7584  	//
  7585  	// JobId is a required field
  7586  	JobId *string `min:"39" type:"string" required:"true"`
  7587  
  7588  	// The state of a device when it is being shipped.
  7589  	//
  7590  	// Set to RECEIVED when the device arrives at your location.
  7591  	//
  7592  	// Set to RETURNED when you have returned the device to AWS.
  7593  	//
  7594  	// ShipmentState is a required field
  7595  	ShipmentState *string `type:"string" required:"true" enum:"ShipmentState"`
  7596  }
  7597  
  7598  // String returns the string representation.
  7599  //
  7600  // API parameter values that are decorated as "sensitive" in the API will not
  7601  // be included in the string output. The member name will be present, but the
  7602  // value will be replaced with "sensitive".
  7603  func (s UpdateJobShipmentStateInput) String() string {
  7604  	return awsutil.Prettify(s)
  7605  }
  7606  
  7607  // GoString returns the string representation.
  7608  //
  7609  // API parameter values that are decorated as "sensitive" in the API will not
  7610  // be included in the string output. The member name will be present, but the
  7611  // value will be replaced with "sensitive".
  7612  func (s UpdateJobShipmentStateInput) GoString() string {
  7613  	return s.String()
  7614  }
  7615  
  7616  // Validate inspects the fields of the type to determine if they are valid.
  7617  func (s *UpdateJobShipmentStateInput) Validate() error {
  7618  	invalidParams := request.ErrInvalidParams{Context: "UpdateJobShipmentStateInput"}
  7619  	if s.JobId == nil {
  7620  		invalidParams.Add(request.NewErrParamRequired("JobId"))
  7621  	}
  7622  	if s.JobId != nil && len(*s.JobId) < 39 {
  7623  		invalidParams.Add(request.NewErrParamMinLen("JobId", 39))
  7624  	}
  7625  	if s.ShipmentState == nil {
  7626  		invalidParams.Add(request.NewErrParamRequired("ShipmentState"))
  7627  	}
  7628  
  7629  	if invalidParams.Len() > 0 {
  7630  		return invalidParams
  7631  	}
  7632  	return nil
  7633  }
  7634  
  7635  // SetJobId sets the JobId field's value.
  7636  func (s *UpdateJobShipmentStateInput) SetJobId(v string) *UpdateJobShipmentStateInput {
  7637  	s.JobId = &v
  7638  	return s
  7639  }
  7640  
  7641  // SetShipmentState sets the ShipmentState field's value.
  7642  func (s *UpdateJobShipmentStateInput) SetShipmentState(v string) *UpdateJobShipmentStateInput {
  7643  	s.ShipmentState = &v
  7644  	return s
  7645  }
  7646  
  7647  type UpdateJobShipmentStateOutput struct {
  7648  	_ struct{} `type:"structure"`
  7649  }
  7650  
  7651  // String returns the string representation.
  7652  //
  7653  // API parameter values that are decorated as "sensitive" in the API will not
  7654  // be included in the string output. The member name will be present, but the
  7655  // value will be replaced with "sensitive".
  7656  func (s UpdateJobShipmentStateOutput) String() string {
  7657  	return awsutil.Prettify(s)
  7658  }
  7659  
  7660  // GoString returns the string representation.
  7661  //
  7662  // API parameter values that are decorated as "sensitive" in the API will not
  7663  // be included in the string output. The member name will be present, but the
  7664  // value will be replaced with "sensitive".
  7665  func (s UpdateJobShipmentStateOutput) GoString() string {
  7666  	return s.String()
  7667  }
  7668  
  7669  type UpdateLongTermPricingInput struct {
  7670  	_ struct{} `type:"structure"`
  7671  
  7672  	// If set to true, specifies that the current long-term pricing type for the
  7673  	// device should be automatically renewed before the long-term pricing contract
  7674  	// expires.
  7675  	IsLongTermPricingAutoRenew *bool `type:"boolean"`
  7676  
  7677  	// The ID of the long-term pricing type for the device.
  7678  	//
  7679  	// LongTermPricingId is a required field
  7680  	LongTermPricingId *string `min:"41" type:"string" required:"true"`
  7681  
  7682  	// Specifies that a device that is ordered with long-term pricing should be
  7683  	// replaced with a new device.
  7684  	ReplacementJob *string `min:"39" type:"string"`
  7685  }
  7686  
  7687  // String returns the string representation.
  7688  //
  7689  // API parameter values that are decorated as "sensitive" in the API will not
  7690  // be included in the string output. The member name will be present, but the
  7691  // value will be replaced with "sensitive".
  7692  func (s UpdateLongTermPricingInput) String() string {
  7693  	return awsutil.Prettify(s)
  7694  }
  7695  
  7696  // GoString returns the string representation.
  7697  //
  7698  // API parameter values that are decorated as "sensitive" in the API will not
  7699  // be included in the string output. The member name will be present, but the
  7700  // value will be replaced with "sensitive".
  7701  func (s UpdateLongTermPricingInput) GoString() string {
  7702  	return s.String()
  7703  }
  7704  
  7705  // Validate inspects the fields of the type to determine if they are valid.
  7706  func (s *UpdateLongTermPricingInput) Validate() error {
  7707  	invalidParams := request.ErrInvalidParams{Context: "UpdateLongTermPricingInput"}
  7708  	if s.LongTermPricingId == nil {
  7709  		invalidParams.Add(request.NewErrParamRequired("LongTermPricingId"))
  7710  	}
  7711  	if s.LongTermPricingId != nil && len(*s.LongTermPricingId) < 41 {
  7712  		invalidParams.Add(request.NewErrParamMinLen("LongTermPricingId", 41))
  7713  	}
  7714  	if s.ReplacementJob != nil && len(*s.ReplacementJob) < 39 {
  7715  		invalidParams.Add(request.NewErrParamMinLen("ReplacementJob", 39))
  7716  	}
  7717  
  7718  	if invalidParams.Len() > 0 {
  7719  		return invalidParams
  7720  	}
  7721  	return nil
  7722  }
  7723  
  7724  // SetIsLongTermPricingAutoRenew sets the IsLongTermPricingAutoRenew field's value.
  7725  func (s *UpdateLongTermPricingInput) SetIsLongTermPricingAutoRenew(v bool) *UpdateLongTermPricingInput {
  7726  	s.IsLongTermPricingAutoRenew = &v
  7727  	return s
  7728  }
  7729  
  7730  // SetLongTermPricingId sets the LongTermPricingId field's value.
  7731  func (s *UpdateLongTermPricingInput) SetLongTermPricingId(v string) *UpdateLongTermPricingInput {
  7732  	s.LongTermPricingId = &v
  7733  	return s
  7734  }
  7735  
  7736  // SetReplacementJob sets the ReplacementJob field's value.
  7737  func (s *UpdateLongTermPricingInput) SetReplacementJob(v string) *UpdateLongTermPricingInput {
  7738  	s.ReplacementJob = &v
  7739  	return s
  7740  }
  7741  
  7742  type UpdateLongTermPricingOutput struct {
  7743  	_ struct{} `type:"structure"`
  7744  }
  7745  
  7746  // String returns the string representation.
  7747  //
  7748  // API parameter values that are decorated as "sensitive" in the API will not
  7749  // be included in the string output. The member name will be present, but the
  7750  // value will be replaced with "sensitive".
  7751  func (s UpdateLongTermPricingOutput) String() string {
  7752  	return awsutil.Prettify(s)
  7753  }
  7754  
  7755  // GoString returns the string representation.
  7756  //
  7757  // API parameter values that are decorated as "sensitive" in the API will not
  7758  // be included in the string output. The member name will be present, but the
  7759  // value will be replaced with "sensitive".
  7760  func (s UpdateLongTermPricingOutput) GoString() string {
  7761  	return s.String()
  7762  }
  7763  
  7764  // Configures the wireless connection on an AWS Snowcone device.
  7765  type WirelessConnection struct {
  7766  	_ struct{} `type:"structure"`
  7767  
  7768  	// Enables the Wi-Fi adapter on an AWS Snowcone device.
  7769  	IsWifiEnabled *bool `type:"boolean"`
  7770  }
  7771  
  7772  // String returns the string representation.
  7773  //
  7774  // API parameter values that are decorated as "sensitive" in the API will not
  7775  // be included in the string output. The member name will be present, but the
  7776  // value will be replaced with "sensitive".
  7777  func (s WirelessConnection) String() string {
  7778  	return awsutil.Prettify(s)
  7779  }
  7780  
  7781  // GoString returns the string representation.
  7782  //
  7783  // API parameter values that are decorated as "sensitive" in the API will not
  7784  // be included in the string output. The member name will be present, but the
  7785  // value will be replaced with "sensitive".
  7786  func (s WirelessConnection) GoString() string {
  7787  	return s.String()
  7788  }
  7789  
  7790  // SetIsWifiEnabled sets the IsWifiEnabled field's value.
  7791  func (s *WirelessConnection) SetIsWifiEnabled(v bool) *WirelessConnection {
  7792  	s.IsWifiEnabled = &v
  7793  	return s
  7794  }
  7795  
  7796  const (
  7797  	// CapacityT50 is a Capacity enum value
  7798  	CapacityT50 = "T50"
  7799  
  7800  	// CapacityT80 is a Capacity enum value
  7801  	CapacityT80 = "T80"
  7802  
  7803  	// CapacityT100 is a Capacity enum value
  7804  	CapacityT100 = "T100"
  7805  
  7806  	// CapacityT42 is a Capacity enum value
  7807  	CapacityT42 = "T42"
  7808  
  7809  	// CapacityT98 is a Capacity enum value
  7810  	CapacityT98 = "T98"
  7811  
  7812  	// CapacityT8 is a Capacity enum value
  7813  	CapacityT8 = "T8"
  7814  
  7815  	// CapacityT14 is a Capacity enum value
  7816  	CapacityT14 = "T14"
  7817  
  7818  	// CapacityNoPreference is a Capacity enum value
  7819  	CapacityNoPreference = "NoPreference"
  7820  )
  7821  
  7822  // Capacity_Values returns all elements of the Capacity enum
  7823  func Capacity_Values() []string {
  7824  	return []string{
  7825  		CapacityT50,
  7826  		CapacityT80,
  7827  		CapacityT100,
  7828  		CapacityT42,
  7829  		CapacityT98,
  7830  		CapacityT8,
  7831  		CapacityT14,
  7832  		CapacityNoPreference,
  7833  	}
  7834  }
  7835  
  7836  const (
  7837  	// ClusterStateAwaitingQuorum is a ClusterState enum value
  7838  	ClusterStateAwaitingQuorum = "AwaitingQuorum"
  7839  
  7840  	// ClusterStatePending is a ClusterState enum value
  7841  	ClusterStatePending = "Pending"
  7842  
  7843  	// ClusterStateInUse is a ClusterState enum value
  7844  	ClusterStateInUse = "InUse"
  7845  
  7846  	// ClusterStateComplete is a ClusterState enum value
  7847  	ClusterStateComplete = "Complete"
  7848  
  7849  	// ClusterStateCancelled is a ClusterState enum value
  7850  	ClusterStateCancelled = "Cancelled"
  7851  )
  7852  
  7853  // ClusterState_Values returns all elements of the ClusterState enum
  7854  func ClusterState_Values() []string {
  7855  	return []string{
  7856  		ClusterStateAwaitingQuorum,
  7857  		ClusterStatePending,
  7858  		ClusterStateInUse,
  7859  		ClusterStateComplete,
  7860  		ClusterStateCancelled,
  7861  	}
  7862  }
  7863  
  7864  const (
  7865  	// DeviceServiceNameNfsOnDeviceService is a DeviceServiceName enum value
  7866  	DeviceServiceNameNfsOnDeviceService = "NFS_ON_DEVICE_SERVICE"
  7867  
  7868  	// DeviceServiceNameS3OnDeviceService is a DeviceServiceName enum value
  7869  	DeviceServiceNameS3OnDeviceService = "S3_ON_DEVICE_SERVICE"
  7870  )
  7871  
  7872  // DeviceServiceName_Values returns all elements of the DeviceServiceName enum
  7873  func DeviceServiceName_Values() []string {
  7874  	return []string{
  7875  		DeviceServiceNameNfsOnDeviceService,
  7876  		DeviceServiceNameS3OnDeviceService,
  7877  	}
  7878  }
  7879  
  7880  const (
  7881  	// JobStateNew is a JobState enum value
  7882  	JobStateNew = "New"
  7883  
  7884  	// JobStatePreparingAppliance is a JobState enum value
  7885  	JobStatePreparingAppliance = "PreparingAppliance"
  7886  
  7887  	// JobStatePreparingShipment is a JobState enum value
  7888  	JobStatePreparingShipment = "PreparingShipment"
  7889  
  7890  	// JobStateInTransitToCustomer is a JobState enum value
  7891  	JobStateInTransitToCustomer = "InTransitToCustomer"
  7892  
  7893  	// JobStateWithCustomer is a JobState enum value
  7894  	JobStateWithCustomer = "WithCustomer"
  7895  
  7896  	// JobStateInTransitToAws is a JobState enum value
  7897  	JobStateInTransitToAws = "InTransitToAWS"
  7898  
  7899  	// JobStateWithAwssortingFacility is a JobState enum value
  7900  	JobStateWithAwssortingFacility = "WithAWSSortingFacility"
  7901  
  7902  	// JobStateWithAws is a JobState enum value
  7903  	JobStateWithAws = "WithAWS"
  7904  
  7905  	// JobStateInProgress is a JobState enum value
  7906  	JobStateInProgress = "InProgress"
  7907  
  7908  	// JobStateComplete is a JobState enum value
  7909  	JobStateComplete = "Complete"
  7910  
  7911  	// JobStateCancelled is a JobState enum value
  7912  	JobStateCancelled = "Cancelled"
  7913  
  7914  	// JobStateListing is a JobState enum value
  7915  	JobStateListing = "Listing"
  7916  
  7917  	// JobStatePending is a JobState enum value
  7918  	JobStatePending = "Pending"
  7919  )
  7920  
  7921  // JobState_Values returns all elements of the JobState enum
  7922  func JobState_Values() []string {
  7923  	return []string{
  7924  		JobStateNew,
  7925  		JobStatePreparingAppliance,
  7926  		JobStatePreparingShipment,
  7927  		JobStateInTransitToCustomer,
  7928  		JobStateWithCustomer,
  7929  		JobStateInTransitToAws,
  7930  		JobStateWithAwssortingFacility,
  7931  		JobStateWithAws,
  7932  		JobStateInProgress,
  7933  		JobStateComplete,
  7934  		JobStateCancelled,
  7935  		JobStateListing,
  7936  		JobStatePending,
  7937  	}
  7938  }
  7939  
  7940  const (
  7941  	// JobTypeImport is a JobType enum value
  7942  	JobTypeImport = "IMPORT"
  7943  
  7944  	// JobTypeExport is a JobType enum value
  7945  	JobTypeExport = "EXPORT"
  7946  
  7947  	// JobTypeLocalUse is a JobType enum value
  7948  	JobTypeLocalUse = "LOCAL_USE"
  7949  )
  7950  
  7951  // JobType_Values returns all elements of the JobType enum
  7952  func JobType_Values() []string {
  7953  	return []string{
  7954  		JobTypeImport,
  7955  		JobTypeExport,
  7956  		JobTypeLocalUse,
  7957  	}
  7958  }
  7959  
  7960  const (
  7961  	// LongTermPricingTypeOneYear is a LongTermPricingType enum value
  7962  	LongTermPricingTypeOneYear = "OneYear"
  7963  
  7964  	// LongTermPricingTypeThreeYear is a LongTermPricingType enum value
  7965  	LongTermPricingTypeThreeYear = "ThreeYear"
  7966  )
  7967  
  7968  // LongTermPricingType_Values returns all elements of the LongTermPricingType enum
  7969  func LongTermPricingType_Values() []string {
  7970  	return []string{
  7971  		LongTermPricingTypeOneYear,
  7972  		LongTermPricingTypeThreeYear,
  7973  	}
  7974  }
  7975  
  7976  const (
  7977  	// RemoteManagementInstalledOnly is a RemoteManagement enum value
  7978  	RemoteManagementInstalledOnly = "INSTALLED_ONLY"
  7979  
  7980  	// RemoteManagementInstalledAutostart is a RemoteManagement enum value
  7981  	RemoteManagementInstalledAutostart = "INSTALLED_AUTOSTART"
  7982  )
  7983  
  7984  // RemoteManagement_Values returns all elements of the RemoteManagement enum
  7985  func RemoteManagement_Values() []string {
  7986  	return []string{
  7987  		RemoteManagementInstalledOnly,
  7988  		RemoteManagementInstalledAutostart,
  7989  	}
  7990  }
  7991  
  7992  const (
  7993  	// ShipmentStateReceived is a ShipmentState enum value
  7994  	ShipmentStateReceived = "RECEIVED"
  7995  
  7996  	// ShipmentStateReturned is a ShipmentState enum value
  7997  	ShipmentStateReturned = "RETURNED"
  7998  )
  7999  
  8000  // ShipmentState_Values returns all elements of the ShipmentState enum
  8001  func ShipmentState_Values() []string {
  8002  	return []string{
  8003  		ShipmentStateReceived,
  8004  		ShipmentStateReturned,
  8005  	}
  8006  }
  8007  
  8008  const (
  8009  	// ShippingLabelStatusInProgress is a ShippingLabelStatus enum value
  8010  	ShippingLabelStatusInProgress = "InProgress"
  8011  
  8012  	// ShippingLabelStatusTimedOut is a ShippingLabelStatus enum value
  8013  	ShippingLabelStatusTimedOut = "TimedOut"
  8014  
  8015  	// ShippingLabelStatusSucceeded is a ShippingLabelStatus enum value
  8016  	ShippingLabelStatusSucceeded = "Succeeded"
  8017  
  8018  	// ShippingLabelStatusFailed is a ShippingLabelStatus enum value
  8019  	ShippingLabelStatusFailed = "Failed"
  8020  )
  8021  
  8022  // ShippingLabelStatus_Values returns all elements of the ShippingLabelStatus enum
  8023  func ShippingLabelStatus_Values() []string {
  8024  	return []string{
  8025  		ShippingLabelStatusInProgress,
  8026  		ShippingLabelStatusTimedOut,
  8027  		ShippingLabelStatusSucceeded,
  8028  		ShippingLabelStatusFailed,
  8029  	}
  8030  }
  8031  
  8032  const (
  8033  	// ShippingOptionSecondDay is a ShippingOption enum value
  8034  	ShippingOptionSecondDay = "SECOND_DAY"
  8035  
  8036  	// ShippingOptionNextDay is a ShippingOption enum value
  8037  	ShippingOptionNextDay = "NEXT_DAY"
  8038  
  8039  	// ShippingOptionExpress is a ShippingOption enum value
  8040  	ShippingOptionExpress = "EXPRESS"
  8041  
  8042  	// ShippingOptionStandard is a ShippingOption enum value
  8043  	ShippingOptionStandard = "STANDARD"
  8044  )
  8045  
  8046  // ShippingOption_Values returns all elements of the ShippingOption enum
  8047  func ShippingOption_Values() []string {
  8048  	return []string{
  8049  		ShippingOptionSecondDay,
  8050  		ShippingOptionNextDay,
  8051  		ShippingOptionExpress,
  8052  		ShippingOptionStandard,
  8053  	}
  8054  }
  8055  
  8056  const (
  8057  	// StorageUnitTb is a StorageUnit enum value
  8058  	StorageUnitTb = "TB"
  8059  )
  8060  
  8061  // StorageUnit_Values returns all elements of the StorageUnit enum
  8062  func StorageUnit_Values() []string {
  8063  	return []string{
  8064  		StorageUnitTb,
  8065  	}
  8066  }
  8067  
  8068  const (
  8069  	// TransferOptionImport is a TransferOption enum value
  8070  	TransferOptionImport = "IMPORT"
  8071  
  8072  	// TransferOptionExport is a TransferOption enum value
  8073  	TransferOptionExport = "EXPORT"
  8074  
  8075  	// TransferOptionLocalUse is a TransferOption enum value
  8076  	TransferOptionLocalUse = "LOCAL_USE"
  8077  )
  8078  
  8079  // TransferOption_Values returns all elements of the TransferOption enum
  8080  func TransferOption_Values() []string {
  8081  	return []string{
  8082  		TransferOptionImport,
  8083  		TransferOptionExport,
  8084  		TransferOptionLocalUse,
  8085  	}
  8086  }
  8087  
  8088  const (
  8089  	// TypeStandard is a Type enum value
  8090  	TypeStandard = "STANDARD"
  8091  
  8092  	// TypeEdge is a Type enum value
  8093  	TypeEdge = "EDGE"
  8094  
  8095  	// TypeEdgeC is a Type enum value
  8096  	TypeEdgeC = "EDGE_C"
  8097  
  8098  	// TypeEdgeCg is a Type enum value
  8099  	TypeEdgeCg = "EDGE_CG"
  8100  
  8101  	// TypeEdgeS is a Type enum value
  8102  	TypeEdgeS = "EDGE_S"
  8103  
  8104  	// TypeSnc1Hdd is a Type enum value
  8105  	TypeSnc1Hdd = "SNC1_HDD"
  8106  
  8107  	// TypeSnc1Ssd is a Type enum value
  8108  	TypeSnc1Ssd = "SNC1_SSD"
  8109  )
  8110  
  8111  // Type_Values returns all elements of the Type enum
  8112  func Type_Values() []string {
  8113  	return []string{
  8114  		TypeStandard,
  8115  		TypeEdge,
  8116  		TypeEdgeC,
  8117  		TypeEdgeCg,
  8118  		TypeEdgeS,
  8119  		TypeSnc1Hdd,
  8120  		TypeSnc1Ssd,
  8121  	}
  8122  }