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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package migrationhub
     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 opAssociateCreatedArtifact = "AssociateCreatedArtifact"
    17  
    18  // AssociateCreatedArtifactRequest generates a "aws/request.Request" representing the
    19  // client's request for the AssociateCreatedArtifact 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 AssociateCreatedArtifact for more information on using the AssociateCreatedArtifact
    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 AssociateCreatedArtifactRequest method.
    34  //    req, resp := client.AssociateCreatedArtifactRequest(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/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact
    42  func (c *MigrationHub) AssociateCreatedArtifactRequest(input *AssociateCreatedArtifactInput) (req *request.Request, output *AssociateCreatedArtifactOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAssociateCreatedArtifact,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AssociateCreatedArtifactInput{}
    51  	}
    52  
    53  	output = &AssociateCreatedArtifactOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AssociateCreatedArtifact API operation for AWS Migration Hub.
    60  //
    61  // Associates a created artifact of an AWS cloud resource, the target receiving
    62  // the migration, with the migration task performed by a migration tool. This
    63  // API has the following traits:
    64  //
    65  //    * Migration tools can call the AssociateCreatedArtifact operation to indicate
    66  //    which AWS artifact is associated with a migration task.
    67  //
    68  //    * The created artifact name must be provided in ARN (Amazon Resource Name)
    69  //    format which will contain information about type and region; for example:
    70  //    arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.
    71  //
    72  //    * Examples of the AWS resource behind the created artifact are, AMI's,
    73  //    EC2 instance, or DMS endpoint, etc.
    74  //
    75  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    76  // with awserr.Error's Code and Message methods to get detailed information about
    77  // the error.
    78  //
    79  // See the AWS API reference guide for AWS Migration Hub's
    80  // API operation AssociateCreatedArtifact for usage and error information.
    81  //
    82  // Returned Error Types:
    83  //   * AccessDeniedException
    84  //   You do not have sufficient access to perform this action.
    85  //
    86  //   * ThrottlingException
    87  //   The request was denied due to request throttling.
    88  //
    89  //   * InternalServerError
    90  //   Exception raised when an internal, configuration, or dependency error is
    91  //   encountered.
    92  //
    93  //   * ServiceUnavailableException
    94  //   Exception raised when there is an internal, configuration, or dependency
    95  //   error encountered.
    96  //
    97  //   * DryRunOperation
    98  //   Exception raised to indicate a successfully authorized action when the DryRun
    99  //   flag is set to "true".
   100  //
   101  //   * UnauthorizedOperation
   102  //   Exception raised to indicate a request was not authorized when the DryRun
   103  //   flag is set to "true".
   104  //
   105  //   * InvalidInputException
   106  //   Exception raised when the provided input violates a policy constraint or
   107  //   is entered in the wrong format or data type.
   108  //
   109  //   * ResourceNotFoundException
   110  //   Exception raised when the request references a resource (Application Discovery
   111  //   Service configuration, update stream, migration task, etc.) that does not
   112  //   exist in Application Discovery Service (Application Discovery Service) or
   113  //   in Migration Hub's repository.
   114  //
   115  //   * HomeRegionNotSetException
   116  //   The home region is not set. Set the home region to continue.
   117  //
   118  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateCreatedArtifact
   119  func (c *MigrationHub) AssociateCreatedArtifact(input *AssociateCreatedArtifactInput) (*AssociateCreatedArtifactOutput, error) {
   120  	req, out := c.AssociateCreatedArtifactRequest(input)
   121  	return out, req.Send()
   122  }
   123  
   124  // AssociateCreatedArtifactWithContext is the same as AssociateCreatedArtifact with the addition of
   125  // the ability to pass a context and additional request options.
   126  //
   127  // See AssociateCreatedArtifact for details on how to use this API operation.
   128  //
   129  // The context must be non-nil and will be used for request cancellation. If
   130  // the context is nil a panic will occur. In the future the SDK may create
   131  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   132  // for more information on using Contexts.
   133  func (c *MigrationHub) AssociateCreatedArtifactWithContext(ctx aws.Context, input *AssociateCreatedArtifactInput, opts ...request.Option) (*AssociateCreatedArtifactOutput, error) {
   134  	req, out := c.AssociateCreatedArtifactRequest(input)
   135  	req.SetContext(ctx)
   136  	req.ApplyOptions(opts...)
   137  	return out, req.Send()
   138  }
   139  
   140  const opAssociateDiscoveredResource = "AssociateDiscoveredResource"
   141  
   142  // AssociateDiscoveredResourceRequest generates a "aws/request.Request" representing the
   143  // client's request for the AssociateDiscoveredResource operation. The "output" return
   144  // value will be populated with the request's response once the request completes
   145  // successfully.
   146  //
   147  // Use "Send" method on the returned Request to send the API call to the service.
   148  // the "output" return value is not valid until after Send returns without error.
   149  //
   150  // See AssociateDiscoveredResource for more information on using the AssociateDiscoveredResource
   151  // API call, and error handling.
   152  //
   153  // This method is useful when you want to inject custom logic or configuration
   154  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   155  //
   156  //
   157  //    // Example sending a request using the AssociateDiscoveredResourceRequest method.
   158  //    req, resp := client.AssociateDiscoveredResourceRequest(params)
   159  //
   160  //    err := req.Send()
   161  //    if err == nil { // resp is now filled
   162  //        fmt.Println(resp)
   163  //    }
   164  //
   165  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource
   166  func (c *MigrationHub) AssociateDiscoveredResourceRequest(input *AssociateDiscoveredResourceInput) (req *request.Request, output *AssociateDiscoveredResourceOutput) {
   167  	op := &request.Operation{
   168  		Name:       opAssociateDiscoveredResource,
   169  		HTTPMethod: "POST",
   170  		HTTPPath:   "/",
   171  	}
   172  
   173  	if input == nil {
   174  		input = &AssociateDiscoveredResourceInput{}
   175  	}
   176  
   177  	output = &AssociateDiscoveredResourceOutput{}
   178  	req = c.newRequest(op, input, output)
   179  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   180  	return
   181  }
   182  
   183  // AssociateDiscoveredResource API operation for AWS Migration Hub.
   184  //
   185  // Associates a discovered resource ID from Application Discovery Service with
   186  // a migration task.
   187  //
   188  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   189  // with awserr.Error's Code and Message methods to get detailed information about
   190  // the error.
   191  //
   192  // See the AWS API reference guide for AWS Migration Hub's
   193  // API operation AssociateDiscoveredResource for usage and error information.
   194  //
   195  // Returned Error Types:
   196  //   * AccessDeniedException
   197  //   You do not have sufficient access to perform this action.
   198  //
   199  //   * ThrottlingException
   200  //   The request was denied due to request throttling.
   201  //
   202  //   * InternalServerError
   203  //   Exception raised when an internal, configuration, or dependency error is
   204  //   encountered.
   205  //
   206  //   * ServiceUnavailableException
   207  //   Exception raised when there is an internal, configuration, or dependency
   208  //   error encountered.
   209  //
   210  //   * DryRunOperation
   211  //   Exception raised to indicate a successfully authorized action when the DryRun
   212  //   flag is set to "true".
   213  //
   214  //   * UnauthorizedOperation
   215  //   Exception raised to indicate a request was not authorized when the DryRun
   216  //   flag is set to "true".
   217  //
   218  //   * InvalidInputException
   219  //   Exception raised when the provided input violates a policy constraint or
   220  //   is entered in the wrong format or data type.
   221  //
   222  //   * PolicyErrorException
   223  //   Exception raised when there are problems accessing Application Discovery
   224  //   Service (Application Discovery Service); most likely due to a misconfigured
   225  //   policy or the migrationhub-discovery role is missing or not configured correctly.
   226  //
   227  //   * ResourceNotFoundException
   228  //   Exception raised when the request references a resource (Application Discovery
   229  //   Service configuration, update stream, migration task, etc.) that does not
   230  //   exist in Application Discovery Service (Application Discovery Service) or
   231  //   in Migration Hub's repository.
   232  //
   233  //   * HomeRegionNotSetException
   234  //   The home region is not set. Set the home region to continue.
   235  //
   236  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/AssociateDiscoveredResource
   237  func (c *MigrationHub) AssociateDiscoveredResource(input *AssociateDiscoveredResourceInput) (*AssociateDiscoveredResourceOutput, error) {
   238  	req, out := c.AssociateDiscoveredResourceRequest(input)
   239  	return out, req.Send()
   240  }
   241  
   242  // AssociateDiscoveredResourceWithContext is the same as AssociateDiscoveredResource with the addition of
   243  // the ability to pass a context and additional request options.
   244  //
   245  // See AssociateDiscoveredResource for details on how to use this API operation.
   246  //
   247  // The context must be non-nil and will be used for request cancellation. If
   248  // the context is nil a panic will occur. In the future the SDK may create
   249  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   250  // for more information on using Contexts.
   251  func (c *MigrationHub) AssociateDiscoveredResourceWithContext(ctx aws.Context, input *AssociateDiscoveredResourceInput, opts ...request.Option) (*AssociateDiscoveredResourceOutput, error) {
   252  	req, out := c.AssociateDiscoveredResourceRequest(input)
   253  	req.SetContext(ctx)
   254  	req.ApplyOptions(opts...)
   255  	return out, req.Send()
   256  }
   257  
   258  const opCreateProgressUpdateStream = "CreateProgressUpdateStream"
   259  
   260  // CreateProgressUpdateStreamRequest generates a "aws/request.Request" representing the
   261  // client's request for the CreateProgressUpdateStream operation. The "output" return
   262  // value will be populated with the request's response once the request completes
   263  // successfully.
   264  //
   265  // Use "Send" method on the returned Request to send the API call to the service.
   266  // the "output" return value is not valid until after Send returns without error.
   267  //
   268  // See CreateProgressUpdateStream for more information on using the CreateProgressUpdateStream
   269  // API call, and error handling.
   270  //
   271  // This method is useful when you want to inject custom logic or configuration
   272  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   273  //
   274  //
   275  //    // Example sending a request using the CreateProgressUpdateStreamRequest method.
   276  //    req, resp := client.CreateProgressUpdateStreamRequest(params)
   277  //
   278  //    err := req.Send()
   279  //    if err == nil { // resp is now filled
   280  //        fmt.Println(resp)
   281  //    }
   282  //
   283  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream
   284  func (c *MigrationHub) CreateProgressUpdateStreamRequest(input *CreateProgressUpdateStreamInput) (req *request.Request, output *CreateProgressUpdateStreamOutput) {
   285  	op := &request.Operation{
   286  		Name:       opCreateProgressUpdateStream,
   287  		HTTPMethod: "POST",
   288  		HTTPPath:   "/",
   289  	}
   290  
   291  	if input == nil {
   292  		input = &CreateProgressUpdateStreamInput{}
   293  	}
   294  
   295  	output = &CreateProgressUpdateStreamOutput{}
   296  	req = c.newRequest(op, input, output)
   297  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   298  	return
   299  }
   300  
   301  // CreateProgressUpdateStream API operation for AWS Migration Hub.
   302  //
   303  // Creates a progress update stream which is an AWS resource used for access
   304  // control as well as a namespace for migration task names that is implicitly
   305  // linked to your AWS account. It must uniquely identify the migration tool
   306  // as it is used for all updates made by the tool; however, it does not need
   307  // to be unique for each AWS account because it is scoped to the AWS account.
   308  //
   309  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   310  // with awserr.Error's Code and Message methods to get detailed information about
   311  // the error.
   312  //
   313  // See the AWS API reference guide for AWS Migration Hub's
   314  // API operation CreateProgressUpdateStream for usage and error information.
   315  //
   316  // Returned Error Types:
   317  //   * AccessDeniedException
   318  //   You do not have sufficient access to perform this action.
   319  //
   320  //   * ThrottlingException
   321  //   The request was denied due to request throttling.
   322  //
   323  //   * InternalServerError
   324  //   Exception raised when an internal, configuration, or dependency error is
   325  //   encountered.
   326  //
   327  //   * ServiceUnavailableException
   328  //   Exception raised when there is an internal, configuration, or dependency
   329  //   error encountered.
   330  //
   331  //   * DryRunOperation
   332  //   Exception raised to indicate a successfully authorized action when the DryRun
   333  //   flag is set to "true".
   334  //
   335  //   * UnauthorizedOperation
   336  //   Exception raised to indicate a request was not authorized when the DryRun
   337  //   flag is set to "true".
   338  //
   339  //   * InvalidInputException
   340  //   Exception raised when the provided input violates a policy constraint or
   341  //   is entered in the wrong format or data type.
   342  //
   343  //   * HomeRegionNotSetException
   344  //   The home region is not set. Set the home region to continue.
   345  //
   346  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/CreateProgressUpdateStream
   347  func (c *MigrationHub) CreateProgressUpdateStream(input *CreateProgressUpdateStreamInput) (*CreateProgressUpdateStreamOutput, error) {
   348  	req, out := c.CreateProgressUpdateStreamRequest(input)
   349  	return out, req.Send()
   350  }
   351  
   352  // CreateProgressUpdateStreamWithContext is the same as CreateProgressUpdateStream with the addition of
   353  // the ability to pass a context and additional request options.
   354  //
   355  // See CreateProgressUpdateStream for details on how to use this API operation.
   356  //
   357  // The context must be non-nil and will be used for request cancellation. If
   358  // the context is nil a panic will occur. In the future the SDK may create
   359  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   360  // for more information on using Contexts.
   361  func (c *MigrationHub) CreateProgressUpdateStreamWithContext(ctx aws.Context, input *CreateProgressUpdateStreamInput, opts ...request.Option) (*CreateProgressUpdateStreamOutput, error) {
   362  	req, out := c.CreateProgressUpdateStreamRequest(input)
   363  	req.SetContext(ctx)
   364  	req.ApplyOptions(opts...)
   365  	return out, req.Send()
   366  }
   367  
   368  const opDeleteProgressUpdateStream = "DeleteProgressUpdateStream"
   369  
   370  // DeleteProgressUpdateStreamRequest generates a "aws/request.Request" representing the
   371  // client's request for the DeleteProgressUpdateStream operation. The "output" return
   372  // value will be populated with the request's response once the request completes
   373  // successfully.
   374  //
   375  // Use "Send" method on the returned Request to send the API call to the service.
   376  // the "output" return value is not valid until after Send returns without error.
   377  //
   378  // See DeleteProgressUpdateStream for more information on using the DeleteProgressUpdateStream
   379  // API call, and error handling.
   380  //
   381  // This method is useful when you want to inject custom logic or configuration
   382  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   383  //
   384  //
   385  //    // Example sending a request using the DeleteProgressUpdateStreamRequest method.
   386  //    req, resp := client.DeleteProgressUpdateStreamRequest(params)
   387  //
   388  //    err := req.Send()
   389  //    if err == nil { // resp is now filled
   390  //        fmt.Println(resp)
   391  //    }
   392  //
   393  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream
   394  func (c *MigrationHub) DeleteProgressUpdateStreamRequest(input *DeleteProgressUpdateStreamInput) (req *request.Request, output *DeleteProgressUpdateStreamOutput) {
   395  	op := &request.Operation{
   396  		Name:       opDeleteProgressUpdateStream,
   397  		HTTPMethod: "POST",
   398  		HTTPPath:   "/",
   399  	}
   400  
   401  	if input == nil {
   402  		input = &DeleteProgressUpdateStreamInput{}
   403  	}
   404  
   405  	output = &DeleteProgressUpdateStreamOutput{}
   406  	req = c.newRequest(op, input, output)
   407  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   408  	return
   409  }
   410  
   411  // DeleteProgressUpdateStream API operation for AWS Migration Hub.
   412  //
   413  // Deletes a progress update stream, including all of its tasks, which was previously
   414  // created as an AWS resource used for access control. This API has the following
   415  // traits:
   416  //
   417  //    * The only parameter needed for DeleteProgressUpdateStream is the stream
   418  //    name (same as a CreateProgressUpdateStream call).
   419  //
   420  //    * The call will return, and a background process will asynchronously delete
   421  //    the stream and all of its resources (tasks, associated resources, resource
   422  //    attributes, created artifacts).
   423  //
   424  //    * If the stream takes time to be deleted, it might still show up on a
   425  //    ListProgressUpdateStreams call.
   426  //
   427  //    * CreateProgressUpdateStream, ImportMigrationTask, NotifyMigrationTaskState,
   428  //    and all Associate[*] APIs related to the tasks belonging to the stream
   429  //    will throw "InvalidInputException" if the stream of the same name is in
   430  //    the process of being deleted.
   431  //
   432  //    * Once the stream and all of its resources are deleted, CreateProgressUpdateStream
   433  //    for a stream of the same name will succeed, and that stream will be an
   434  //    entirely new logical resource (without any resources associated with the
   435  //    old stream).
   436  //
   437  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   438  // with awserr.Error's Code and Message methods to get detailed information about
   439  // the error.
   440  //
   441  // See the AWS API reference guide for AWS Migration Hub's
   442  // API operation DeleteProgressUpdateStream for usage and error information.
   443  //
   444  // Returned Error Types:
   445  //   * AccessDeniedException
   446  //   You do not have sufficient access to perform this action.
   447  //
   448  //   * ThrottlingException
   449  //   The request was denied due to request throttling.
   450  //
   451  //   * InternalServerError
   452  //   Exception raised when an internal, configuration, or dependency error is
   453  //   encountered.
   454  //
   455  //   * ServiceUnavailableException
   456  //   Exception raised when there is an internal, configuration, or dependency
   457  //   error encountered.
   458  //
   459  //   * DryRunOperation
   460  //   Exception raised to indicate a successfully authorized action when the DryRun
   461  //   flag is set to "true".
   462  //
   463  //   * UnauthorizedOperation
   464  //   Exception raised to indicate a request was not authorized when the DryRun
   465  //   flag is set to "true".
   466  //
   467  //   * InvalidInputException
   468  //   Exception raised when the provided input violates a policy constraint or
   469  //   is entered in the wrong format or data type.
   470  //
   471  //   * ResourceNotFoundException
   472  //   Exception raised when the request references a resource (Application Discovery
   473  //   Service configuration, update stream, migration task, etc.) that does not
   474  //   exist in Application Discovery Service (Application Discovery Service) or
   475  //   in Migration Hub's repository.
   476  //
   477  //   * HomeRegionNotSetException
   478  //   The home region is not set. Set the home region to continue.
   479  //
   480  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DeleteProgressUpdateStream
   481  func (c *MigrationHub) DeleteProgressUpdateStream(input *DeleteProgressUpdateStreamInput) (*DeleteProgressUpdateStreamOutput, error) {
   482  	req, out := c.DeleteProgressUpdateStreamRequest(input)
   483  	return out, req.Send()
   484  }
   485  
   486  // DeleteProgressUpdateStreamWithContext is the same as DeleteProgressUpdateStream with the addition of
   487  // the ability to pass a context and additional request options.
   488  //
   489  // See DeleteProgressUpdateStream for details on how to use this API operation.
   490  //
   491  // The context must be non-nil and will be used for request cancellation. If
   492  // the context is nil a panic will occur. In the future the SDK may create
   493  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   494  // for more information on using Contexts.
   495  func (c *MigrationHub) DeleteProgressUpdateStreamWithContext(ctx aws.Context, input *DeleteProgressUpdateStreamInput, opts ...request.Option) (*DeleteProgressUpdateStreamOutput, error) {
   496  	req, out := c.DeleteProgressUpdateStreamRequest(input)
   497  	req.SetContext(ctx)
   498  	req.ApplyOptions(opts...)
   499  	return out, req.Send()
   500  }
   501  
   502  const opDescribeApplicationState = "DescribeApplicationState"
   503  
   504  // DescribeApplicationStateRequest generates a "aws/request.Request" representing the
   505  // client's request for the DescribeApplicationState operation. The "output" return
   506  // value will be populated with the request's response once the request completes
   507  // successfully.
   508  //
   509  // Use "Send" method on the returned Request to send the API call to the service.
   510  // the "output" return value is not valid until after Send returns without error.
   511  //
   512  // See DescribeApplicationState for more information on using the DescribeApplicationState
   513  // API call, and error handling.
   514  //
   515  // This method is useful when you want to inject custom logic or configuration
   516  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   517  //
   518  //
   519  //    // Example sending a request using the DescribeApplicationStateRequest method.
   520  //    req, resp := client.DescribeApplicationStateRequest(params)
   521  //
   522  //    err := req.Send()
   523  //    if err == nil { // resp is now filled
   524  //        fmt.Println(resp)
   525  //    }
   526  //
   527  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeApplicationState
   528  func (c *MigrationHub) DescribeApplicationStateRequest(input *DescribeApplicationStateInput) (req *request.Request, output *DescribeApplicationStateOutput) {
   529  	op := &request.Operation{
   530  		Name:       opDescribeApplicationState,
   531  		HTTPMethod: "POST",
   532  		HTTPPath:   "/",
   533  	}
   534  
   535  	if input == nil {
   536  		input = &DescribeApplicationStateInput{}
   537  	}
   538  
   539  	output = &DescribeApplicationStateOutput{}
   540  	req = c.newRequest(op, input, output)
   541  	return
   542  }
   543  
   544  // DescribeApplicationState API operation for AWS Migration Hub.
   545  //
   546  // Gets the migration status of an application.
   547  //
   548  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   549  // with awserr.Error's Code and Message methods to get detailed information about
   550  // the error.
   551  //
   552  // See the AWS API reference guide for AWS Migration Hub's
   553  // API operation DescribeApplicationState for usage and error information.
   554  //
   555  // Returned Error Types:
   556  //   * AccessDeniedException
   557  //   You do not have sufficient access to perform this action.
   558  //
   559  //   * ThrottlingException
   560  //   The request was denied due to request throttling.
   561  //
   562  //   * InternalServerError
   563  //   Exception raised when an internal, configuration, or dependency error is
   564  //   encountered.
   565  //
   566  //   * ServiceUnavailableException
   567  //   Exception raised when there is an internal, configuration, or dependency
   568  //   error encountered.
   569  //
   570  //   * InvalidInputException
   571  //   Exception raised when the provided input violates a policy constraint or
   572  //   is entered in the wrong format or data type.
   573  //
   574  //   * PolicyErrorException
   575  //   Exception raised when there are problems accessing Application Discovery
   576  //   Service (Application Discovery Service); most likely due to a misconfigured
   577  //   policy or the migrationhub-discovery role is missing or not configured correctly.
   578  //
   579  //   * ResourceNotFoundException
   580  //   Exception raised when the request references a resource (Application Discovery
   581  //   Service configuration, update stream, migration task, etc.) that does not
   582  //   exist in Application Discovery Service (Application Discovery Service) or
   583  //   in Migration Hub's repository.
   584  //
   585  //   * HomeRegionNotSetException
   586  //   The home region is not set. Set the home region to continue.
   587  //
   588  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeApplicationState
   589  func (c *MigrationHub) DescribeApplicationState(input *DescribeApplicationStateInput) (*DescribeApplicationStateOutput, error) {
   590  	req, out := c.DescribeApplicationStateRequest(input)
   591  	return out, req.Send()
   592  }
   593  
   594  // DescribeApplicationStateWithContext is the same as DescribeApplicationState with the addition of
   595  // the ability to pass a context and additional request options.
   596  //
   597  // See DescribeApplicationState for details on how to use this API operation.
   598  //
   599  // The context must be non-nil and will be used for request cancellation. If
   600  // the context is nil a panic will occur. In the future the SDK may create
   601  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   602  // for more information on using Contexts.
   603  func (c *MigrationHub) DescribeApplicationStateWithContext(ctx aws.Context, input *DescribeApplicationStateInput, opts ...request.Option) (*DescribeApplicationStateOutput, error) {
   604  	req, out := c.DescribeApplicationStateRequest(input)
   605  	req.SetContext(ctx)
   606  	req.ApplyOptions(opts...)
   607  	return out, req.Send()
   608  }
   609  
   610  const opDescribeMigrationTask = "DescribeMigrationTask"
   611  
   612  // DescribeMigrationTaskRequest generates a "aws/request.Request" representing the
   613  // client's request for the DescribeMigrationTask operation. The "output" return
   614  // value will be populated with the request's response once the request completes
   615  // successfully.
   616  //
   617  // Use "Send" method on the returned Request to send the API call to the service.
   618  // the "output" return value is not valid until after Send returns without error.
   619  //
   620  // See DescribeMigrationTask for more information on using the DescribeMigrationTask
   621  // API call, and error handling.
   622  //
   623  // This method is useful when you want to inject custom logic or configuration
   624  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   625  //
   626  //
   627  //    // Example sending a request using the DescribeMigrationTaskRequest method.
   628  //    req, resp := client.DescribeMigrationTaskRequest(params)
   629  //
   630  //    err := req.Send()
   631  //    if err == nil { // resp is now filled
   632  //        fmt.Println(resp)
   633  //    }
   634  //
   635  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeMigrationTask
   636  func (c *MigrationHub) DescribeMigrationTaskRequest(input *DescribeMigrationTaskInput) (req *request.Request, output *DescribeMigrationTaskOutput) {
   637  	op := &request.Operation{
   638  		Name:       opDescribeMigrationTask,
   639  		HTTPMethod: "POST",
   640  		HTTPPath:   "/",
   641  	}
   642  
   643  	if input == nil {
   644  		input = &DescribeMigrationTaskInput{}
   645  	}
   646  
   647  	output = &DescribeMigrationTaskOutput{}
   648  	req = c.newRequest(op, input, output)
   649  	return
   650  }
   651  
   652  // DescribeMigrationTask API operation for AWS Migration Hub.
   653  //
   654  // Retrieves a list of all attributes associated with a specific migration task.
   655  //
   656  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   657  // with awserr.Error's Code and Message methods to get detailed information about
   658  // the error.
   659  //
   660  // See the AWS API reference guide for AWS Migration Hub's
   661  // API operation DescribeMigrationTask for usage and error information.
   662  //
   663  // Returned Error Types:
   664  //   * AccessDeniedException
   665  //   You do not have sufficient access to perform this action.
   666  //
   667  //   * ThrottlingException
   668  //   The request was denied due to request throttling.
   669  //
   670  //   * InternalServerError
   671  //   Exception raised when an internal, configuration, or dependency error is
   672  //   encountered.
   673  //
   674  //   * ServiceUnavailableException
   675  //   Exception raised when there is an internal, configuration, or dependency
   676  //   error encountered.
   677  //
   678  //   * InvalidInputException
   679  //   Exception raised when the provided input violates a policy constraint or
   680  //   is entered in the wrong format or data type.
   681  //
   682  //   * ResourceNotFoundException
   683  //   Exception raised when the request references a resource (Application Discovery
   684  //   Service configuration, update stream, migration task, etc.) that does not
   685  //   exist in Application Discovery Service (Application Discovery Service) or
   686  //   in Migration Hub's repository.
   687  //
   688  //   * HomeRegionNotSetException
   689  //   The home region is not set. Set the home region to continue.
   690  //
   691  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DescribeMigrationTask
   692  func (c *MigrationHub) DescribeMigrationTask(input *DescribeMigrationTaskInput) (*DescribeMigrationTaskOutput, error) {
   693  	req, out := c.DescribeMigrationTaskRequest(input)
   694  	return out, req.Send()
   695  }
   696  
   697  // DescribeMigrationTaskWithContext is the same as DescribeMigrationTask with the addition of
   698  // the ability to pass a context and additional request options.
   699  //
   700  // See DescribeMigrationTask for details on how to use this API operation.
   701  //
   702  // The context must be non-nil and will be used for request cancellation. If
   703  // the context is nil a panic will occur. In the future the SDK may create
   704  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   705  // for more information on using Contexts.
   706  func (c *MigrationHub) DescribeMigrationTaskWithContext(ctx aws.Context, input *DescribeMigrationTaskInput, opts ...request.Option) (*DescribeMigrationTaskOutput, error) {
   707  	req, out := c.DescribeMigrationTaskRequest(input)
   708  	req.SetContext(ctx)
   709  	req.ApplyOptions(opts...)
   710  	return out, req.Send()
   711  }
   712  
   713  const opDisassociateCreatedArtifact = "DisassociateCreatedArtifact"
   714  
   715  // DisassociateCreatedArtifactRequest generates a "aws/request.Request" representing the
   716  // client's request for the DisassociateCreatedArtifact operation. The "output" return
   717  // value will be populated with the request's response once the request completes
   718  // successfully.
   719  //
   720  // Use "Send" method on the returned Request to send the API call to the service.
   721  // the "output" return value is not valid until after Send returns without error.
   722  //
   723  // See DisassociateCreatedArtifact for more information on using the DisassociateCreatedArtifact
   724  // API call, and error handling.
   725  //
   726  // This method is useful when you want to inject custom logic or configuration
   727  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   728  //
   729  //
   730  //    // Example sending a request using the DisassociateCreatedArtifactRequest method.
   731  //    req, resp := client.DisassociateCreatedArtifactRequest(params)
   732  //
   733  //    err := req.Send()
   734  //    if err == nil { // resp is now filled
   735  //        fmt.Println(resp)
   736  //    }
   737  //
   738  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact
   739  func (c *MigrationHub) DisassociateCreatedArtifactRequest(input *DisassociateCreatedArtifactInput) (req *request.Request, output *DisassociateCreatedArtifactOutput) {
   740  	op := &request.Operation{
   741  		Name:       opDisassociateCreatedArtifact,
   742  		HTTPMethod: "POST",
   743  		HTTPPath:   "/",
   744  	}
   745  
   746  	if input == nil {
   747  		input = &DisassociateCreatedArtifactInput{}
   748  	}
   749  
   750  	output = &DisassociateCreatedArtifactOutput{}
   751  	req = c.newRequest(op, input, output)
   752  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   753  	return
   754  }
   755  
   756  // DisassociateCreatedArtifact API operation for AWS Migration Hub.
   757  //
   758  // Disassociates a created artifact of an AWS resource with a migration task
   759  // performed by a migration tool that was previously associated. This API has
   760  // the following traits:
   761  //
   762  //    * A migration user can call the DisassociateCreatedArtifacts operation
   763  //    to disassociate a created AWS Artifact from a migration task.
   764  //
   765  //    * The created artifact name must be provided in ARN (Amazon Resource Name)
   766  //    format which will contain information about type and region; for example:
   767  //    arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b.
   768  //
   769  //    * Examples of the AWS resource behind the created artifact are, AMI's,
   770  //    EC2 instance, or RDS instance, etc.
   771  //
   772  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   773  // with awserr.Error's Code and Message methods to get detailed information about
   774  // the error.
   775  //
   776  // See the AWS API reference guide for AWS Migration Hub's
   777  // API operation DisassociateCreatedArtifact for usage and error information.
   778  //
   779  // Returned Error Types:
   780  //   * AccessDeniedException
   781  //   You do not have sufficient access to perform this action.
   782  //
   783  //   * ThrottlingException
   784  //   The request was denied due to request throttling.
   785  //
   786  //   * InternalServerError
   787  //   Exception raised when an internal, configuration, or dependency error is
   788  //   encountered.
   789  //
   790  //   * ServiceUnavailableException
   791  //   Exception raised when there is an internal, configuration, or dependency
   792  //   error encountered.
   793  //
   794  //   * DryRunOperation
   795  //   Exception raised to indicate a successfully authorized action when the DryRun
   796  //   flag is set to "true".
   797  //
   798  //   * UnauthorizedOperation
   799  //   Exception raised to indicate a request was not authorized when the DryRun
   800  //   flag is set to "true".
   801  //
   802  //   * InvalidInputException
   803  //   Exception raised when the provided input violates a policy constraint or
   804  //   is entered in the wrong format or data type.
   805  //
   806  //   * ResourceNotFoundException
   807  //   Exception raised when the request references a resource (Application Discovery
   808  //   Service configuration, update stream, migration task, etc.) that does not
   809  //   exist in Application Discovery Service (Application Discovery Service) or
   810  //   in Migration Hub's repository.
   811  //
   812  //   * HomeRegionNotSetException
   813  //   The home region is not set. Set the home region to continue.
   814  //
   815  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateCreatedArtifact
   816  func (c *MigrationHub) DisassociateCreatedArtifact(input *DisassociateCreatedArtifactInput) (*DisassociateCreatedArtifactOutput, error) {
   817  	req, out := c.DisassociateCreatedArtifactRequest(input)
   818  	return out, req.Send()
   819  }
   820  
   821  // DisassociateCreatedArtifactWithContext is the same as DisassociateCreatedArtifact with the addition of
   822  // the ability to pass a context and additional request options.
   823  //
   824  // See DisassociateCreatedArtifact for details on how to use this API operation.
   825  //
   826  // The context must be non-nil and will be used for request cancellation. If
   827  // the context is nil a panic will occur. In the future the SDK may create
   828  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   829  // for more information on using Contexts.
   830  func (c *MigrationHub) DisassociateCreatedArtifactWithContext(ctx aws.Context, input *DisassociateCreatedArtifactInput, opts ...request.Option) (*DisassociateCreatedArtifactOutput, error) {
   831  	req, out := c.DisassociateCreatedArtifactRequest(input)
   832  	req.SetContext(ctx)
   833  	req.ApplyOptions(opts...)
   834  	return out, req.Send()
   835  }
   836  
   837  const opDisassociateDiscoveredResource = "DisassociateDiscoveredResource"
   838  
   839  // DisassociateDiscoveredResourceRequest generates a "aws/request.Request" representing the
   840  // client's request for the DisassociateDiscoveredResource operation. The "output" return
   841  // value will be populated with the request's response once the request completes
   842  // successfully.
   843  //
   844  // Use "Send" method on the returned Request to send the API call to the service.
   845  // the "output" return value is not valid until after Send returns without error.
   846  //
   847  // See DisassociateDiscoveredResource for more information on using the DisassociateDiscoveredResource
   848  // API call, and error handling.
   849  //
   850  // This method is useful when you want to inject custom logic or configuration
   851  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   852  //
   853  //
   854  //    // Example sending a request using the DisassociateDiscoveredResourceRequest method.
   855  //    req, resp := client.DisassociateDiscoveredResourceRequest(params)
   856  //
   857  //    err := req.Send()
   858  //    if err == nil { // resp is now filled
   859  //        fmt.Println(resp)
   860  //    }
   861  //
   862  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource
   863  func (c *MigrationHub) DisassociateDiscoveredResourceRequest(input *DisassociateDiscoveredResourceInput) (req *request.Request, output *DisassociateDiscoveredResourceOutput) {
   864  	op := &request.Operation{
   865  		Name:       opDisassociateDiscoveredResource,
   866  		HTTPMethod: "POST",
   867  		HTTPPath:   "/",
   868  	}
   869  
   870  	if input == nil {
   871  		input = &DisassociateDiscoveredResourceInput{}
   872  	}
   873  
   874  	output = &DisassociateDiscoveredResourceOutput{}
   875  	req = c.newRequest(op, input, output)
   876  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   877  	return
   878  }
   879  
   880  // DisassociateDiscoveredResource API operation for AWS Migration Hub.
   881  //
   882  // Disassociate an Application Discovery Service discovered resource from a
   883  // migration task.
   884  //
   885  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   886  // with awserr.Error's Code and Message methods to get detailed information about
   887  // the error.
   888  //
   889  // See the AWS API reference guide for AWS Migration Hub's
   890  // API operation DisassociateDiscoveredResource for usage and error information.
   891  //
   892  // Returned Error Types:
   893  //   * AccessDeniedException
   894  //   You do not have sufficient access to perform this action.
   895  //
   896  //   * ThrottlingException
   897  //   The request was denied due to request throttling.
   898  //
   899  //   * InternalServerError
   900  //   Exception raised when an internal, configuration, or dependency error is
   901  //   encountered.
   902  //
   903  //   * ServiceUnavailableException
   904  //   Exception raised when there is an internal, configuration, or dependency
   905  //   error encountered.
   906  //
   907  //   * DryRunOperation
   908  //   Exception raised to indicate a successfully authorized action when the DryRun
   909  //   flag is set to "true".
   910  //
   911  //   * UnauthorizedOperation
   912  //   Exception raised to indicate a request was not authorized when the DryRun
   913  //   flag is set to "true".
   914  //
   915  //   * InvalidInputException
   916  //   Exception raised when the provided input violates a policy constraint or
   917  //   is entered in the wrong format or data type.
   918  //
   919  //   * ResourceNotFoundException
   920  //   Exception raised when the request references a resource (Application Discovery
   921  //   Service configuration, update stream, migration task, etc.) that does not
   922  //   exist in Application Discovery Service (Application Discovery Service) or
   923  //   in Migration Hub's repository.
   924  //
   925  //   * HomeRegionNotSetException
   926  //   The home region is not set. Set the home region to continue.
   927  //
   928  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/DisassociateDiscoveredResource
   929  func (c *MigrationHub) DisassociateDiscoveredResource(input *DisassociateDiscoveredResourceInput) (*DisassociateDiscoveredResourceOutput, error) {
   930  	req, out := c.DisassociateDiscoveredResourceRequest(input)
   931  	return out, req.Send()
   932  }
   933  
   934  // DisassociateDiscoveredResourceWithContext is the same as DisassociateDiscoveredResource with the addition of
   935  // the ability to pass a context and additional request options.
   936  //
   937  // See DisassociateDiscoveredResource for details on how to use this API operation.
   938  //
   939  // The context must be non-nil and will be used for request cancellation. If
   940  // the context is nil a panic will occur. In the future the SDK may create
   941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   942  // for more information on using Contexts.
   943  func (c *MigrationHub) DisassociateDiscoveredResourceWithContext(ctx aws.Context, input *DisassociateDiscoveredResourceInput, opts ...request.Option) (*DisassociateDiscoveredResourceOutput, error) {
   944  	req, out := c.DisassociateDiscoveredResourceRequest(input)
   945  	req.SetContext(ctx)
   946  	req.ApplyOptions(opts...)
   947  	return out, req.Send()
   948  }
   949  
   950  const opImportMigrationTask = "ImportMigrationTask"
   951  
   952  // ImportMigrationTaskRequest generates a "aws/request.Request" representing the
   953  // client's request for the ImportMigrationTask operation. The "output" return
   954  // value will be populated with the request's response once the request completes
   955  // successfully.
   956  //
   957  // Use "Send" method on the returned Request to send the API call to the service.
   958  // the "output" return value is not valid until after Send returns without error.
   959  //
   960  // See ImportMigrationTask for more information on using the ImportMigrationTask
   961  // API call, and error handling.
   962  //
   963  // This method is useful when you want to inject custom logic or configuration
   964  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   965  //
   966  //
   967  //    // Example sending a request using the ImportMigrationTaskRequest method.
   968  //    req, resp := client.ImportMigrationTaskRequest(params)
   969  //
   970  //    err := req.Send()
   971  //    if err == nil { // resp is now filled
   972  //        fmt.Println(resp)
   973  //    }
   974  //
   975  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ImportMigrationTask
   976  func (c *MigrationHub) ImportMigrationTaskRequest(input *ImportMigrationTaskInput) (req *request.Request, output *ImportMigrationTaskOutput) {
   977  	op := &request.Operation{
   978  		Name:       opImportMigrationTask,
   979  		HTTPMethod: "POST",
   980  		HTTPPath:   "/",
   981  	}
   982  
   983  	if input == nil {
   984  		input = &ImportMigrationTaskInput{}
   985  	}
   986  
   987  	output = &ImportMigrationTaskOutput{}
   988  	req = c.newRequest(op, input, output)
   989  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   990  	return
   991  }
   992  
   993  // ImportMigrationTask API operation for AWS Migration Hub.
   994  //
   995  // Registers a new migration task which represents a server, database, etc.,
   996  // being migrated to AWS by a migration tool.
   997  //
   998  // This API is a prerequisite to calling the NotifyMigrationTaskState API as
   999  // the migration tool must first register the migration task with Migration
  1000  // Hub.
  1001  //
  1002  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1003  // with awserr.Error's Code and Message methods to get detailed information about
  1004  // the error.
  1005  //
  1006  // See the AWS API reference guide for AWS Migration Hub's
  1007  // API operation ImportMigrationTask for usage and error information.
  1008  //
  1009  // Returned Error Types:
  1010  //   * AccessDeniedException
  1011  //   You do not have sufficient access to perform this action.
  1012  //
  1013  //   * ThrottlingException
  1014  //   The request was denied due to request throttling.
  1015  //
  1016  //   * InternalServerError
  1017  //   Exception raised when an internal, configuration, or dependency error is
  1018  //   encountered.
  1019  //
  1020  //   * ServiceUnavailableException
  1021  //   Exception raised when there is an internal, configuration, or dependency
  1022  //   error encountered.
  1023  //
  1024  //   * DryRunOperation
  1025  //   Exception raised to indicate a successfully authorized action when the DryRun
  1026  //   flag is set to "true".
  1027  //
  1028  //   * UnauthorizedOperation
  1029  //   Exception raised to indicate a request was not authorized when the DryRun
  1030  //   flag is set to "true".
  1031  //
  1032  //   * InvalidInputException
  1033  //   Exception raised when the provided input violates a policy constraint or
  1034  //   is entered in the wrong format or data type.
  1035  //
  1036  //   * ResourceNotFoundException
  1037  //   Exception raised when the request references a resource (Application Discovery
  1038  //   Service configuration, update stream, migration task, etc.) that does not
  1039  //   exist in Application Discovery Service (Application Discovery Service) or
  1040  //   in Migration Hub's repository.
  1041  //
  1042  //   * HomeRegionNotSetException
  1043  //   The home region is not set. Set the home region to continue.
  1044  //
  1045  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ImportMigrationTask
  1046  func (c *MigrationHub) ImportMigrationTask(input *ImportMigrationTaskInput) (*ImportMigrationTaskOutput, error) {
  1047  	req, out := c.ImportMigrationTaskRequest(input)
  1048  	return out, req.Send()
  1049  }
  1050  
  1051  // ImportMigrationTaskWithContext is the same as ImportMigrationTask with the addition of
  1052  // the ability to pass a context and additional request options.
  1053  //
  1054  // See ImportMigrationTask for details on how to use this API operation.
  1055  //
  1056  // The context must be non-nil and will be used for request cancellation. If
  1057  // the context is nil a panic will occur. In the future the SDK may create
  1058  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1059  // for more information on using Contexts.
  1060  func (c *MigrationHub) ImportMigrationTaskWithContext(ctx aws.Context, input *ImportMigrationTaskInput, opts ...request.Option) (*ImportMigrationTaskOutput, error) {
  1061  	req, out := c.ImportMigrationTaskRequest(input)
  1062  	req.SetContext(ctx)
  1063  	req.ApplyOptions(opts...)
  1064  	return out, req.Send()
  1065  }
  1066  
  1067  const opListApplicationStates = "ListApplicationStates"
  1068  
  1069  // ListApplicationStatesRequest generates a "aws/request.Request" representing the
  1070  // client's request for the ListApplicationStates operation. The "output" return
  1071  // value will be populated with the request's response once the request completes
  1072  // successfully.
  1073  //
  1074  // Use "Send" method on the returned Request to send the API call to the service.
  1075  // the "output" return value is not valid until after Send returns without error.
  1076  //
  1077  // See ListApplicationStates for more information on using the ListApplicationStates
  1078  // API call, and error handling.
  1079  //
  1080  // This method is useful when you want to inject custom logic or configuration
  1081  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1082  //
  1083  //
  1084  //    // Example sending a request using the ListApplicationStatesRequest method.
  1085  //    req, resp := client.ListApplicationStatesRequest(params)
  1086  //
  1087  //    err := req.Send()
  1088  //    if err == nil { // resp is now filled
  1089  //        fmt.Println(resp)
  1090  //    }
  1091  //
  1092  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListApplicationStates
  1093  func (c *MigrationHub) ListApplicationStatesRequest(input *ListApplicationStatesInput) (req *request.Request, output *ListApplicationStatesOutput) {
  1094  	op := &request.Operation{
  1095  		Name:       opListApplicationStates,
  1096  		HTTPMethod: "POST",
  1097  		HTTPPath:   "/",
  1098  		Paginator: &request.Paginator{
  1099  			InputTokens:     []string{"NextToken"},
  1100  			OutputTokens:    []string{"NextToken"},
  1101  			LimitToken:      "MaxResults",
  1102  			TruncationToken: "",
  1103  		},
  1104  	}
  1105  
  1106  	if input == nil {
  1107  		input = &ListApplicationStatesInput{}
  1108  	}
  1109  
  1110  	output = &ListApplicationStatesOutput{}
  1111  	req = c.newRequest(op, input, output)
  1112  	return
  1113  }
  1114  
  1115  // ListApplicationStates API operation for AWS Migration Hub.
  1116  //
  1117  // Lists all the migration statuses for your applications. If you use the optional
  1118  // ApplicationIds parameter, only the migration statuses for those applications
  1119  // will be returned.
  1120  //
  1121  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1122  // with awserr.Error's Code and Message methods to get detailed information about
  1123  // the error.
  1124  //
  1125  // See the AWS API reference guide for AWS Migration Hub's
  1126  // API operation ListApplicationStates for usage and error information.
  1127  //
  1128  // Returned Error Types:
  1129  //   * AccessDeniedException
  1130  //   You do not have sufficient access to perform this action.
  1131  //
  1132  //   * ThrottlingException
  1133  //   The request was denied due to request throttling.
  1134  //
  1135  //   * InternalServerError
  1136  //   Exception raised when an internal, configuration, or dependency error is
  1137  //   encountered.
  1138  //
  1139  //   * ServiceUnavailableException
  1140  //   Exception raised when there is an internal, configuration, or dependency
  1141  //   error encountered.
  1142  //
  1143  //   * InvalidInputException
  1144  //   Exception raised when the provided input violates a policy constraint or
  1145  //   is entered in the wrong format or data type.
  1146  //
  1147  //   * HomeRegionNotSetException
  1148  //   The home region is not set. Set the home region to continue.
  1149  //
  1150  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListApplicationStates
  1151  func (c *MigrationHub) ListApplicationStates(input *ListApplicationStatesInput) (*ListApplicationStatesOutput, error) {
  1152  	req, out := c.ListApplicationStatesRequest(input)
  1153  	return out, req.Send()
  1154  }
  1155  
  1156  // ListApplicationStatesWithContext is the same as ListApplicationStates with the addition of
  1157  // the ability to pass a context and additional request options.
  1158  //
  1159  // See ListApplicationStates for details on how to use this API operation.
  1160  //
  1161  // The context must be non-nil and will be used for request cancellation. If
  1162  // the context is nil a panic will occur. In the future the SDK may create
  1163  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1164  // for more information on using Contexts.
  1165  func (c *MigrationHub) ListApplicationStatesWithContext(ctx aws.Context, input *ListApplicationStatesInput, opts ...request.Option) (*ListApplicationStatesOutput, error) {
  1166  	req, out := c.ListApplicationStatesRequest(input)
  1167  	req.SetContext(ctx)
  1168  	req.ApplyOptions(opts...)
  1169  	return out, req.Send()
  1170  }
  1171  
  1172  // ListApplicationStatesPages iterates over the pages of a ListApplicationStates operation,
  1173  // calling the "fn" function with the response data for each page. To stop
  1174  // iterating, return false from the fn function.
  1175  //
  1176  // See ListApplicationStates method for more information on how to use this operation.
  1177  //
  1178  // Note: This operation can generate multiple requests to a service.
  1179  //
  1180  //    // Example iterating over at most 3 pages of a ListApplicationStates operation.
  1181  //    pageNum := 0
  1182  //    err := client.ListApplicationStatesPages(params,
  1183  //        func(page *migrationhub.ListApplicationStatesOutput, lastPage bool) bool {
  1184  //            pageNum++
  1185  //            fmt.Println(page)
  1186  //            return pageNum <= 3
  1187  //        })
  1188  //
  1189  func (c *MigrationHub) ListApplicationStatesPages(input *ListApplicationStatesInput, fn func(*ListApplicationStatesOutput, bool) bool) error {
  1190  	return c.ListApplicationStatesPagesWithContext(aws.BackgroundContext(), input, fn)
  1191  }
  1192  
  1193  // ListApplicationStatesPagesWithContext same as ListApplicationStatesPages except
  1194  // it takes a Context and allows setting request options on the pages.
  1195  //
  1196  // The context must be non-nil and will be used for request cancellation. If
  1197  // the context is nil a panic will occur. In the future the SDK may create
  1198  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1199  // for more information on using Contexts.
  1200  func (c *MigrationHub) ListApplicationStatesPagesWithContext(ctx aws.Context, input *ListApplicationStatesInput, fn func(*ListApplicationStatesOutput, bool) bool, opts ...request.Option) error {
  1201  	p := request.Pagination{
  1202  		NewRequest: func() (*request.Request, error) {
  1203  			var inCpy *ListApplicationStatesInput
  1204  			if input != nil {
  1205  				tmp := *input
  1206  				inCpy = &tmp
  1207  			}
  1208  			req, _ := c.ListApplicationStatesRequest(inCpy)
  1209  			req.SetContext(ctx)
  1210  			req.ApplyOptions(opts...)
  1211  			return req, nil
  1212  		},
  1213  	}
  1214  
  1215  	for p.Next() {
  1216  		if !fn(p.Page().(*ListApplicationStatesOutput), !p.HasNextPage()) {
  1217  			break
  1218  		}
  1219  	}
  1220  
  1221  	return p.Err()
  1222  }
  1223  
  1224  const opListCreatedArtifacts = "ListCreatedArtifacts"
  1225  
  1226  // ListCreatedArtifactsRequest generates a "aws/request.Request" representing the
  1227  // client's request for the ListCreatedArtifacts operation. The "output" return
  1228  // value will be populated with the request's response once the request completes
  1229  // successfully.
  1230  //
  1231  // Use "Send" method on the returned Request to send the API call to the service.
  1232  // the "output" return value is not valid until after Send returns without error.
  1233  //
  1234  // See ListCreatedArtifacts for more information on using the ListCreatedArtifacts
  1235  // API call, and error handling.
  1236  //
  1237  // This method is useful when you want to inject custom logic or configuration
  1238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1239  //
  1240  //
  1241  //    // Example sending a request using the ListCreatedArtifactsRequest method.
  1242  //    req, resp := client.ListCreatedArtifactsRequest(params)
  1243  //
  1244  //    err := req.Send()
  1245  //    if err == nil { // resp is now filled
  1246  //        fmt.Println(resp)
  1247  //    }
  1248  //
  1249  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListCreatedArtifacts
  1250  func (c *MigrationHub) ListCreatedArtifactsRequest(input *ListCreatedArtifactsInput) (req *request.Request, output *ListCreatedArtifactsOutput) {
  1251  	op := &request.Operation{
  1252  		Name:       opListCreatedArtifacts,
  1253  		HTTPMethod: "POST",
  1254  		HTTPPath:   "/",
  1255  		Paginator: &request.Paginator{
  1256  			InputTokens:     []string{"NextToken"},
  1257  			OutputTokens:    []string{"NextToken"},
  1258  			LimitToken:      "MaxResults",
  1259  			TruncationToken: "",
  1260  		},
  1261  	}
  1262  
  1263  	if input == nil {
  1264  		input = &ListCreatedArtifactsInput{}
  1265  	}
  1266  
  1267  	output = &ListCreatedArtifactsOutput{}
  1268  	req = c.newRequest(op, input, output)
  1269  	return
  1270  }
  1271  
  1272  // ListCreatedArtifacts API operation for AWS Migration Hub.
  1273  //
  1274  // Lists the created artifacts attached to a given migration task in an update
  1275  // stream. This API has the following traits:
  1276  //
  1277  //    * Gets the list of the created artifacts while migration is taking place.
  1278  //
  1279  //    * Shows the artifacts created by the migration tool that was associated
  1280  //    by the AssociateCreatedArtifact API.
  1281  //
  1282  //    * Lists created artifacts in a paginated interface.
  1283  //
  1284  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1285  // with awserr.Error's Code and Message methods to get detailed information about
  1286  // the error.
  1287  //
  1288  // See the AWS API reference guide for AWS Migration Hub's
  1289  // API operation ListCreatedArtifacts for usage and error information.
  1290  //
  1291  // Returned Error Types:
  1292  //   * AccessDeniedException
  1293  //   You do not have sufficient access to perform this action.
  1294  //
  1295  //   * ThrottlingException
  1296  //   The request was denied due to request throttling.
  1297  //
  1298  //   * InternalServerError
  1299  //   Exception raised when an internal, configuration, or dependency error is
  1300  //   encountered.
  1301  //
  1302  //   * ServiceUnavailableException
  1303  //   Exception raised when there is an internal, configuration, or dependency
  1304  //   error encountered.
  1305  //
  1306  //   * InvalidInputException
  1307  //   Exception raised when the provided input violates a policy constraint or
  1308  //   is entered in the wrong format or data type.
  1309  //
  1310  //   * ResourceNotFoundException
  1311  //   Exception raised when the request references a resource (Application Discovery
  1312  //   Service configuration, update stream, migration task, etc.) that does not
  1313  //   exist in Application Discovery Service (Application Discovery Service) or
  1314  //   in Migration Hub's repository.
  1315  //
  1316  //   * HomeRegionNotSetException
  1317  //   The home region is not set. Set the home region to continue.
  1318  //
  1319  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListCreatedArtifacts
  1320  func (c *MigrationHub) ListCreatedArtifacts(input *ListCreatedArtifactsInput) (*ListCreatedArtifactsOutput, error) {
  1321  	req, out := c.ListCreatedArtifactsRequest(input)
  1322  	return out, req.Send()
  1323  }
  1324  
  1325  // ListCreatedArtifactsWithContext is the same as ListCreatedArtifacts with the addition of
  1326  // the ability to pass a context and additional request options.
  1327  //
  1328  // See ListCreatedArtifacts for details on how to use this API operation.
  1329  //
  1330  // The context must be non-nil and will be used for request cancellation. If
  1331  // the context is nil a panic will occur. In the future the SDK may create
  1332  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1333  // for more information on using Contexts.
  1334  func (c *MigrationHub) ListCreatedArtifactsWithContext(ctx aws.Context, input *ListCreatedArtifactsInput, opts ...request.Option) (*ListCreatedArtifactsOutput, error) {
  1335  	req, out := c.ListCreatedArtifactsRequest(input)
  1336  	req.SetContext(ctx)
  1337  	req.ApplyOptions(opts...)
  1338  	return out, req.Send()
  1339  }
  1340  
  1341  // ListCreatedArtifactsPages iterates over the pages of a ListCreatedArtifacts operation,
  1342  // calling the "fn" function with the response data for each page. To stop
  1343  // iterating, return false from the fn function.
  1344  //
  1345  // See ListCreatedArtifacts method for more information on how to use this operation.
  1346  //
  1347  // Note: This operation can generate multiple requests to a service.
  1348  //
  1349  //    // Example iterating over at most 3 pages of a ListCreatedArtifacts operation.
  1350  //    pageNum := 0
  1351  //    err := client.ListCreatedArtifactsPages(params,
  1352  //        func(page *migrationhub.ListCreatedArtifactsOutput, lastPage bool) bool {
  1353  //            pageNum++
  1354  //            fmt.Println(page)
  1355  //            return pageNum <= 3
  1356  //        })
  1357  //
  1358  func (c *MigrationHub) ListCreatedArtifactsPages(input *ListCreatedArtifactsInput, fn func(*ListCreatedArtifactsOutput, bool) bool) error {
  1359  	return c.ListCreatedArtifactsPagesWithContext(aws.BackgroundContext(), input, fn)
  1360  }
  1361  
  1362  // ListCreatedArtifactsPagesWithContext same as ListCreatedArtifactsPages except
  1363  // it takes a Context and allows setting request options on the pages.
  1364  //
  1365  // The context must be non-nil and will be used for request cancellation. If
  1366  // the context is nil a panic will occur. In the future the SDK may create
  1367  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1368  // for more information on using Contexts.
  1369  func (c *MigrationHub) ListCreatedArtifactsPagesWithContext(ctx aws.Context, input *ListCreatedArtifactsInput, fn func(*ListCreatedArtifactsOutput, bool) bool, opts ...request.Option) error {
  1370  	p := request.Pagination{
  1371  		NewRequest: func() (*request.Request, error) {
  1372  			var inCpy *ListCreatedArtifactsInput
  1373  			if input != nil {
  1374  				tmp := *input
  1375  				inCpy = &tmp
  1376  			}
  1377  			req, _ := c.ListCreatedArtifactsRequest(inCpy)
  1378  			req.SetContext(ctx)
  1379  			req.ApplyOptions(opts...)
  1380  			return req, nil
  1381  		},
  1382  	}
  1383  
  1384  	for p.Next() {
  1385  		if !fn(p.Page().(*ListCreatedArtifactsOutput), !p.HasNextPage()) {
  1386  			break
  1387  		}
  1388  	}
  1389  
  1390  	return p.Err()
  1391  }
  1392  
  1393  const opListDiscoveredResources = "ListDiscoveredResources"
  1394  
  1395  // ListDiscoveredResourcesRequest generates a "aws/request.Request" representing the
  1396  // client's request for the ListDiscoveredResources operation. The "output" return
  1397  // value will be populated with the request's response once the request completes
  1398  // successfully.
  1399  //
  1400  // Use "Send" method on the returned Request to send the API call to the service.
  1401  // the "output" return value is not valid until after Send returns without error.
  1402  //
  1403  // See ListDiscoveredResources for more information on using the ListDiscoveredResources
  1404  // API call, and error handling.
  1405  //
  1406  // This method is useful when you want to inject custom logic or configuration
  1407  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1408  //
  1409  //
  1410  //    // Example sending a request using the ListDiscoveredResourcesRequest method.
  1411  //    req, resp := client.ListDiscoveredResourcesRequest(params)
  1412  //
  1413  //    err := req.Send()
  1414  //    if err == nil { // resp is now filled
  1415  //        fmt.Println(resp)
  1416  //    }
  1417  //
  1418  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListDiscoveredResources
  1419  func (c *MigrationHub) ListDiscoveredResourcesRequest(input *ListDiscoveredResourcesInput) (req *request.Request, output *ListDiscoveredResourcesOutput) {
  1420  	op := &request.Operation{
  1421  		Name:       opListDiscoveredResources,
  1422  		HTTPMethod: "POST",
  1423  		HTTPPath:   "/",
  1424  		Paginator: &request.Paginator{
  1425  			InputTokens:     []string{"NextToken"},
  1426  			OutputTokens:    []string{"NextToken"},
  1427  			LimitToken:      "MaxResults",
  1428  			TruncationToken: "",
  1429  		},
  1430  	}
  1431  
  1432  	if input == nil {
  1433  		input = &ListDiscoveredResourcesInput{}
  1434  	}
  1435  
  1436  	output = &ListDiscoveredResourcesOutput{}
  1437  	req = c.newRequest(op, input, output)
  1438  	return
  1439  }
  1440  
  1441  // ListDiscoveredResources API operation for AWS Migration Hub.
  1442  //
  1443  // Lists discovered resources associated with the given MigrationTask.
  1444  //
  1445  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1446  // with awserr.Error's Code and Message methods to get detailed information about
  1447  // the error.
  1448  //
  1449  // See the AWS API reference guide for AWS Migration Hub's
  1450  // API operation ListDiscoveredResources for usage and error information.
  1451  //
  1452  // Returned Error Types:
  1453  //   * AccessDeniedException
  1454  //   You do not have sufficient access to perform this action.
  1455  //
  1456  //   * ThrottlingException
  1457  //   The request was denied due to request throttling.
  1458  //
  1459  //   * InternalServerError
  1460  //   Exception raised when an internal, configuration, or dependency error is
  1461  //   encountered.
  1462  //
  1463  //   * ServiceUnavailableException
  1464  //   Exception raised when there is an internal, configuration, or dependency
  1465  //   error encountered.
  1466  //
  1467  //   * InvalidInputException
  1468  //   Exception raised when the provided input violates a policy constraint or
  1469  //   is entered in the wrong format or data type.
  1470  //
  1471  //   * ResourceNotFoundException
  1472  //   Exception raised when the request references a resource (Application Discovery
  1473  //   Service configuration, update stream, migration task, etc.) that does not
  1474  //   exist in Application Discovery Service (Application Discovery Service) or
  1475  //   in Migration Hub's repository.
  1476  //
  1477  //   * HomeRegionNotSetException
  1478  //   The home region is not set. Set the home region to continue.
  1479  //
  1480  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListDiscoveredResources
  1481  func (c *MigrationHub) ListDiscoveredResources(input *ListDiscoveredResourcesInput) (*ListDiscoveredResourcesOutput, error) {
  1482  	req, out := c.ListDiscoveredResourcesRequest(input)
  1483  	return out, req.Send()
  1484  }
  1485  
  1486  // ListDiscoveredResourcesWithContext is the same as ListDiscoveredResources with the addition of
  1487  // the ability to pass a context and additional request options.
  1488  //
  1489  // See ListDiscoveredResources for details on how to use this API operation.
  1490  //
  1491  // The context must be non-nil and will be used for request cancellation. If
  1492  // the context is nil a panic will occur. In the future the SDK may create
  1493  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1494  // for more information on using Contexts.
  1495  func (c *MigrationHub) ListDiscoveredResourcesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, opts ...request.Option) (*ListDiscoveredResourcesOutput, error) {
  1496  	req, out := c.ListDiscoveredResourcesRequest(input)
  1497  	req.SetContext(ctx)
  1498  	req.ApplyOptions(opts...)
  1499  	return out, req.Send()
  1500  }
  1501  
  1502  // ListDiscoveredResourcesPages iterates over the pages of a ListDiscoveredResources operation,
  1503  // calling the "fn" function with the response data for each page. To stop
  1504  // iterating, return false from the fn function.
  1505  //
  1506  // See ListDiscoveredResources method for more information on how to use this operation.
  1507  //
  1508  // Note: This operation can generate multiple requests to a service.
  1509  //
  1510  //    // Example iterating over at most 3 pages of a ListDiscoveredResources operation.
  1511  //    pageNum := 0
  1512  //    err := client.ListDiscoveredResourcesPages(params,
  1513  //        func(page *migrationhub.ListDiscoveredResourcesOutput, lastPage bool) bool {
  1514  //            pageNum++
  1515  //            fmt.Println(page)
  1516  //            return pageNum <= 3
  1517  //        })
  1518  //
  1519  func (c *MigrationHub) ListDiscoveredResourcesPages(input *ListDiscoveredResourcesInput, fn func(*ListDiscoveredResourcesOutput, bool) bool) error {
  1520  	return c.ListDiscoveredResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
  1521  }
  1522  
  1523  // ListDiscoveredResourcesPagesWithContext same as ListDiscoveredResourcesPages except
  1524  // it takes a Context and allows setting request options on the pages.
  1525  //
  1526  // The context must be non-nil and will be used for request cancellation. If
  1527  // the context is nil a panic will occur. In the future the SDK may create
  1528  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1529  // for more information on using Contexts.
  1530  func (c *MigrationHub) ListDiscoveredResourcesPagesWithContext(ctx aws.Context, input *ListDiscoveredResourcesInput, fn func(*ListDiscoveredResourcesOutput, bool) bool, opts ...request.Option) error {
  1531  	p := request.Pagination{
  1532  		NewRequest: func() (*request.Request, error) {
  1533  			var inCpy *ListDiscoveredResourcesInput
  1534  			if input != nil {
  1535  				tmp := *input
  1536  				inCpy = &tmp
  1537  			}
  1538  			req, _ := c.ListDiscoveredResourcesRequest(inCpy)
  1539  			req.SetContext(ctx)
  1540  			req.ApplyOptions(opts...)
  1541  			return req, nil
  1542  		},
  1543  	}
  1544  
  1545  	for p.Next() {
  1546  		if !fn(p.Page().(*ListDiscoveredResourcesOutput), !p.HasNextPage()) {
  1547  			break
  1548  		}
  1549  	}
  1550  
  1551  	return p.Err()
  1552  }
  1553  
  1554  const opListMigrationTasks = "ListMigrationTasks"
  1555  
  1556  // ListMigrationTasksRequest generates a "aws/request.Request" representing the
  1557  // client's request for the ListMigrationTasks operation. The "output" return
  1558  // value will be populated with the request's response once the request completes
  1559  // successfully.
  1560  //
  1561  // Use "Send" method on the returned Request to send the API call to the service.
  1562  // the "output" return value is not valid until after Send returns without error.
  1563  //
  1564  // See ListMigrationTasks for more information on using the ListMigrationTasks
  1565  // API call, and error handling.
  1566  //
  1567  // This method is useful when you want to inject custom logic or configuration
  1568  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1569  //
  1570  //
  1571  //    // Example sending a request using the ListMigrationTasksRequest method.
  1572  //    req, resp := client.ListMigrationTasksRequest(params)
  1573  //
  1574  //    err := req.Send()
  1575  //    if err == nil { // resp is now filled
  1576  //        fmt.Println(resp)
  1577  //    }
  1578  //
  1579  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListMigrationTasks
  1580  func (c *MigrationHub) ListMigrationTasksRequest(input *ListMigrationTasksInput) (req *request.Request, output *ListMigrationTasksOutput) {
  1581  	op := &request.Operation{
  1582  		Name:       opListMigrationTasks,
  1583  		HTTPMethod: "POST",
  1584  		HTTPPath:   "/",
  1585  		Paginator: &request.Paginator{
  1586  			InputTokens:     []string{"NextToken"},
  1587  			OutputTokens:    []string{"NextToken"},
  1588  			LimitToken:      "MaxResults",
  1589  			TruncationToken: "",
  1590  		},
  1591  	}
  1592  
  1593  	if input == nil {
  1594  		input = &ListMigrationTasksInput{}
  1595  	}
  1596  
  1597  	output = &ListMigrationTasksOutput{}
  1598  	req = c.newRequest(op, input, output)
  1599  	return
  1600  }
  1601  
  1602  // ListMigrationTasks API operation for AWS Migration Hub.
  1603  //
  1604  // Lists all, or filtered by resource name, migration tasks associated with
  1605  // the user account making this call. This API has the following traits:
  1606  //
  1607  //    * Can show a summary list of the most recent migration tasks.
  1608  //
  1609  //    * Can show a summary list of migration tasks associated with a given discovered
  1610  //    resource.
  1611  //
  1612  //    * Lists migration tasks in a paginated interface.
  1613  //
  1614  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1615  // with awserr.Error's Code and Message methods to get detailed information about
  1616  // the error.
  1617  //
  1618  // See the AWS API reference guide for AWS Migration Hub's
  1619  // API operation ListMigrationTasks for usage and error information.
  1620  //
  1621  // Returned Error Types:
  1622  //   * AccessDeniedException
  1623  //   You do not have sufficient access to perform this action.
  1624  //
  1625  //   * ThrottlingException
  1626  //   The request was denied due to request throttling.
  1627  //
  1628  //   * InternalServerError
  1629  //   Exception raised when an internal, configuration, or dependency error is
  1630  //   encountered.
  1631  //
  1632  //   * ServiceUnavailableException
  1633  //   Exception raised when there is an internal, configuration, or dependency
  1634  //   error encountered.
  1635  //
  1636  //   * InvalidInputException
  1637  //   Exception raised when the provided input violates a policy constraint or
  1638  //   is entered in the wrong format or data type.
  1639  //
  1640  //   * PolicyErrorException
  1641  //   Exception raised when there are problems accessing Application Discovery
  1642  //   Service (Application Discovery Service); most likely due to a misconfigured
  1643  //   policy or the migrationhub-discovery role is missing or not configured correctly.
  1644  //
  1645  //   * ResourceNotFoundException
  1646  //   Exception raised when the request references a resource (Application Discovery
  1647  //   Service configuration, update stream, migration task, etc.) that does not
  1648  //   exist in Application Discovery Service (Application Discovery Service) or
  1649  //   in Migration Hub's repository.
  1650  //
  1651  //   * HomeRegionNotSetException
  1652  //   The home region is not set. Set the home region to continue.
  1653  //
  1654  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListMigrationTasks
  1655  func (c *MigrationHub) ListMigrationTasks(input *ListMigrationTasksInput) (*ListMigrationTasksOutput, error) {
  1656  	req, out := c.ListMigrationTasksRequest(input)
  1657  	return out, req.Send()
  1658  }
  1659  
  1660  // ListMigrationTasksWithContext is the same as ListMigrationTasks with the addition of
  1661  // the ability to pass a context and additional request options.
  1662  //
  1663  // See ListMigrationTasks for details on how to use this API operation.
  1664  //
  1665  // The context must be non-nil and will be used for request cancellation. If
  1666  // the context is nil a panic will occur. In the future the SDK may create
  1667  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1668  // for more information on using Contexts.
  1669  func (c *MigrationHub) ListMigrationTasksWithContext(ctx aws.Context, input *ListMigrationTasksInput, opts ...request.Option) (*ListMigrationTasksOutput, error) {
  1670  	req, out := c.ListMigrationTasksRequest(input)
  1671  	req.SetContext(ctx)
  1672  	req.ApplyOptions(opts...)
  1673  	return out, req.Send()
  1674  }
  1675  
  1676  // ListMigrationTasksPages iterates over the pages of a ListMigrationTasks operation,
  1677  // calling the "fn" function with the response data for each page. To stop
  1678  // iterating, return false from the fn function.
  1679  //
  1680  // See ListMigrationTasks method for more information on how to use this operation.
  1681  //
  1682  // Note: This operation can generate multiple requests to a service.
  1683  //
  1684  //    // Example iterating over at most 3 pages of a ListMigrationTasks operation.
  1685  //    pageNum := 0
  1686  //    err := client.ListMigrationTasksPages(params,
  1687  //        func(page *migrationhub.ListMigrationTasksOutput, lastPage bool) bool {
  1688  //            pageNum++
  1689  //            fmt.Println(page)
  1690  //            return pageNum <= 3
  1691  //        })
  1692  //
  1693  func (c *MigrationHub) ListMigrationTasksPages(input *ListMigrationTasksInput, fn func(*ListMigrationTasksOutput, bool) bool) error {
  1694  	return c.ListMigrationTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  1695  }
  1696  
  1697  // ListMigrationTasksPagesWithContext same as ListMigrationTasksPages except
  1698  // it takes a Context and allows setting request options on the pages.
  1699  //
  1700  // The context must be non-nil and will be used for request cancellation. If
  1701  // the context is nil a panic will occur. In the future the SDK may create
  1702  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1703  // for more information on using Contexts.
  1704  func (c *MigrationHub) ListMigrationTasksPagesWithContext(ctx aws.Context, input *ListMigrationTasksInput, fn func(*ListMigrationTasksOutput, bool) bool, opts ...request.Option) error {
  1705  	p := request.Pagination{
  1706  		NewRequest: func() (*request.Request, error) {
  1707  			var inCpy *ListMigrationTasksInput
  1708  			if input != nil {
  1709  				tmp := *input
  1710  				inCpy = &tmp
  1711  			}
  1712  			req, _ := c.ListMigrationTasksRequest(inCpy)
  1713  			req.SetContext(ctx)
  1714  			req.ApplyOptions(opts...)
  1715  			return req, nil
  1716  		},
  1717  	}
  1718  
  1719  	for p.Next() {
  1720  		if !fn(p.Page().(*ListMigrationTasksOutput), !p.HasNextPage()) {
  1721  			break
  1722  		}
  1723  	}
  1724  
  1725  	return p.Err()
  1726  }
  1727  
  1728  const opListProgressUpdateStreams = "ListProgressUpdateStreams"
  1729  
  1730  // ListProgressUpdateStreamsRequest generates a "aws/request.Request" representing the
  1731  // client's request for the ListProgressUpdateStreams operation. The "output" return
  1732  // value will be populated with the request's response once the request completes
  1733  // successfully.
  1734  //
  1735  // Use "Send" method on the returned Request to send the API call to the service.
  1736  // the "output" return value is not valid until after Send returns without error.
  1737  //
  1738  // See ListProgressUpdateStreams for more information on using the ListProgressUpdateStreams
  1739  // API call, and error handling.
  1740  //
  1741  // This method is useful when you want to inject custom logic or configuration
  1742  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1743  //
  1744  //
  1745  //    // Example sending a request using the ListProgressUpdateStreamsRequest method.
  1746  //    req, resp := client.ListProgressUpdateStreamsRequest(params)
  1747  //
  1748  //    err := req.Send()
  1749  //    if err == nil { // resp is now filled
  1750  //        fmt.Println(resp)
  1751  //    }
  1752  //
  1753  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams
  1754  func (c *MigrationHub) ListProgressUpdateStreamsRequest(input *ListProgressUpdateStreamsInput) (req *request.Request, output *ListProgressUpdateStreamsOutput) {
  1755  	op := &request.Operation{
  1756  		Name:       opListProgressUpdateStreams,
  1757  		HTTPMethod: "POST",
  1758  		HTTPPath:   "/",
  1759  		Paginator: &request.Paginator{
  1760  			InputTokens:     []string{"NextToken"},
  1761  			OutputTokens:    []string{"NextToken"},
  1762  			LimitToken:      "MaxResults",
  1763  			TruncationToken: "",
  1764  		},
  1765  	}
  1766  
  1767  	if input == nil {
  1768  		input = &ListProgressUpdateStreamsInput{}
  1769  	}
  1770  
  1771  	output = &ListProgressUpdateStreamsOutput{}
  1772  	req = c.newRequest(op, input, output)
  1773  	return
  1774  }
  1775  
  1776  // ListProgressUpdateStreams API operation for AWS Migration Hub.
  1777  //
  1778  // Lists progress update streams associated with the user account making this
  1779  // call.
  1780  //
  1781  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1782  // with awserr.Error's Code and Message methods to get detailed information about
  1783  // the error.
  1784  //
  1785  // See the AWS API reference guide for AWS Migration Hub's
  1786  // API operation ListProgressUpdateStreams for usage and error information.
  1787  //
  1788  // Returned Error Types:
  1789  //   * AccessDeniedException
  1790  //   You do not have sufficient access to perform this action.
  1791  //
  1792  //   * ThrottlingException
  1793  //   The request was denied due to request throttling.
  1794  //
  1795  //   * InternalServerError
  1796  //   Exception raised when an internal, configuration, or dependency error is
  1797  //   encountered.
  1798  //
  1799  //   * ServiceUnavailableException
  1800  //   Exception raised when there is an internal, configuration, or dependency
  1801  //   error encountered.
  1802  //
  1803  //   * InvalidInputException
  1804  //   Exception raised when the provided input violates a policy constraint or
  1805  //   is entered in the wrong format or data type.
  1806  //
  1807  //   * HomeRegionNotSetException
  1808  //   The home region is not set. Set the home region to continue.
  1809  //
  1810  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/ListProgressUpdateStreams
  1811  func (c *MigrationHub) ListProgressUpdateStreams(input *ListProgressUpdateStreamsInput) (*ListProgressUpdateStreamsOutput, error) {
  1812  	req, out := c.ListProgressUpdateStreamsRequest(input)
  1813  	return out, req.Send()
  1814  }
  1815  
  1816  // ListProgressUpdateStreamsWithContext is the same as ListProgressUpdateStreams with the addition of
  1817  // the ability to pass a context and additional request options.
  1818  //
  1819  // See ListProgressUpdateStreams for details on how to use this API operation.
  1820  //
  1821  // The context must be non-nil and will be used for request cancellation. If
  1822  // the context is nil a panic will occur. In the future the SDK may create
  1823  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1824  // for more information on using Contexts.
  1825  func (c *MigrationHub) ListProgressUpdateStreamsWithContext(ctx aws.Context, input *ListProgressUpdateStreamsInput, opts ...request.Option) (*ListProgressUpdateStreamsOutput, error) {
  1826  	req, out := c.ListProgressUpdateStreamsRequest(input)
  1827  	req.SetContext(ctx)
  1828  	req.ApplyOptions(opts...)
  1829  	return out, req.Send()
  1830  }
  1831  
  1832  // ListProgressUpdateStreamsPages iterates over the pages of a ListProgressUpdateStreams operation,
  1833  // calling the "fn" function with the response data for each page. To stop
  1834  // iterating, return false from the fn function.
  1835  //
  1836  // See ListProgressUpdateStreams method for more information on how to use this operation.
  1837  //
  1838  // Note: This operation can generate multiple requests to a service.
  1839  //
  1840  //    // Example iterating over at most 3 pages of a ListProgressUpdateStreams operation.
  1841  //    pageNum := 0
  1842  //    err := client.ListProgressUpdateStreamsPages(params,
  1843  //        func(page *migrationhub.ListProgressUpdateStreamsOutput, lastPage bool) bool {
  1844  //            pageNum++
  1845  //            fmt.Println(page)
  1846  //            return pageNum <= 3
  1847  //        })
  1848  //
  1849  func (c *MigrationHub) ListProgressUpdateStreamsPages(input *ListProgressUpdateStreamsInput, fn func(*ListProgressUpdateStreamsOutput, bool) bool) error {
  1850  	return c.ListProgressUpdateStreamsPagesWithContext(aws.BackgroundContext(), input, fn)
  1851  }
  1852  
  1853  // ListProgressUpdateStreamsPagesWithContext same as ListProgressUpdateStreamsPages except
  1854  // it takes a Context and allows setting request options on the pages.
  1855  //
  1856  // The context must be non-nil and will be used for request cancellation. If
  1857  // the context is nil a panic will occur. In the future the SDK may create
  1858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1859  // for more information on using Contexts.
  1860  func (c *MigrationHub) ListProgressUpdateStreamsPagesWithContext(ctx aws.Context, input *ListProgressUpdateStreamsInput, fn func(*ListProgressUpdateStreamsOutput, bool) bool, opts ...request.Option) error {
  1861  	p := request.Pagination{
  1862  		NewRequest: func() (*request.Request, error) {
  1863  			var inCpy *ListProgressUpdateStreamsInput
  1864  			if input != nil {
  1865  				tmp := *input
  1866  				inCpy = &tmp
  1867  			}
  1868  			req, _ := c.ListProgressUpdateStreamsRequest(inCpy)
  1869  			req.SetContext(ctx)
  1870  			req.ApplyOptions(opts...)
  1871  			return req, nil
  1872  		},
  1873  	}
  1874  
  1875  	for p.Next() {
  1876  		if !fn(p.Page().(*ListProgressUpdateStreamsOutput), !p.HasNextPage()) {
  1877  			break
  1878  		}
  1879  	}
  1880  
  1881  	return p.Err()
  1882  }
  1883  
  1884  const opNotifyApplicationState = "NotifyApplicationState"
  1885  
  1886  // NotifyApplicationStateRequest generates a "aws/request.Request" representing the
  1887  // client's request for the NotifyApplicationState operation. The "output" return
  1888  // value will be populated with the request's response once the request completes
  1889  // successfully.
  1890  //
  1891  // Use "Send" method on the returned Request to send the API call to the service.
  1892  // the "output" return value is not valid until after Send returns without error.
  1893  //
  1894  // See NotifyApplicationState for more information on using the NotifyApplicationState
  1895  // API call, and error handling.
  1896  //
  1897  // This method is useful when you want to inject custom logic or configuration
  1898  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1899  //
  1900  //
  1901  //    // Example sending a request using the NotifyApplicationStateRequest method.
  1902  //    req, resp := client.NotifyApplicationStateRequest(params)
  1903  //
  1904  //    err := req.Send()
  1905  //    if err == nil { // resp is now filled
  1906  //        fmt.Println(resp)
  1907  //    }
  1908  //
  1909  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyApplicationState
  1910  func (c *MigrationHub) NotifyApplicationStateRequest(input *NotifyApplicationStateInput) (req *request.Request, output *NotifyApplicationStateOutput) {
  1911  	op := &request.Operation{
  1912  		Name:       opNotifyApplicationState,
  1913  		HTTPMethod: "POST",
  1914  		HTTPPath:   "/",
  1915  	}
  1916  
  1917  	if input == nil {
  1918  		input = &NotifyApplicationStateInput{}
  1919  	}
  1920  
  1921  	output = &NotifyApplicationStateOutput{}
  1922  	req = c.newRequest(op, input, output)
  1923  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1924  	return
  1925  }
  1926  
  1927  // NotifyApplicationState API operation for AWS Migration Hub.
  1928  //
  1929  // Sets the migration state of an application. For a given application identified
  1930  // by the value passed to ApplicationId, its status is set or updated by passing
  1931  // one of three values to Status: NOT_STARTED | IN_PROGRESS | COMPLETED.
  1932  //
  1933  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1934  // with awserr.Error's Code and Message methods to get detailed information about
  1935  // the error.
  1936  //
  1937  // See the AWS API reference guide for AWS Migration Hub's
  1938  // API operation NotifyApplicationState for usage and error information.
  1939  //
  1940  // Returned Error Types:
  1941  //   * AccessDeniedException
  1942  //   You do not have sufficient access to perform this action.
  1943  //
  1944  //   * ThrottlingException
  1945  //   The request was denied due to request throttling.
  1946  //
  1947  //   * InternalServerError
  1948  //   Exception raised when an internal, configuration, or dependency error is
  1949  //   encountered.
  1950  //
  1951  //   * ServiceUnavailableException
  1952  //   Exception raised when there is an internal, configuration, or dependency
  1953  //   error encountered.
  1954  //
  1955  //   * DryRunOperation
  1956  //   Exception raised to indicate a successfully authorized action when the DryRun
  1957  //   flag is set to "true".
  1958  //
  1959  //   * UnauthorizedOperation
  1960  //   Exception raised to indicate a request was not authorized when the DryRun
  1961  //   flag is set to "true".
  1962  //
  1963  //   * InvalidInputException
  1964  //   Exception raised when the provided input violates a policy constraint or
  1965  //   is entered in the wrong format or data type.
  1966  //
  1967  //   * PolicyErrorException
  1968  //   Exception raised when there are problems accessing Application Discovery
  1969  //   Service (Application Discovery Service); most likely due to a misconfigured
  1970  //   policy or the migrationhub-discovery role is missing or not configured correctly.
  1971  //
  1972  //   * ResourceNotFoundException
  1973  //   Exception raised when the request references a resource (Application Discovery
  1974  //   Service configuration, update stream, migration task, etc.) that does not
  1975  //   exist in Application Discovery Service (Application Discovery Service) or
  1976  //   in Migration Hub's repository.
  1977  //
  1978  //   * HomeRegionNotSetException
  1979  //   The home region is not set. Set the home region to continue.
  1980  //
  1981  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyApplicationState
  1982  func (c *MigrationHub) NotifyApplicationState(input *NotifyApplicationStateInput) (*NotifyApplicationStateOutput, error) {
  1983  	req, out := c.NotifyApplicationStateRequest(input)
  1984  	return out, req.Send()
  1985  }
  1986  
  1987  // NotifyApplicationStateWithContext is the same as NotifyApplicationState with the addition of
  1988  // the ability to pass a context and additional request options.
  1989  //
  1990  // See NotifyApplicationState for details on how to use this API operation.
  1991  //
  1992  // The context must be non-nil and will be used for request cancellation. If
  1993  // the context is nil a panic will occur. In the future the SDK may create
  1994  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1995  // for more information on using Contexts.
  1996  func (c *MigrationHub) NotifyApplicationStateWithContext(ctx aws.Context, input *NotifyApplicationStateInput, opts ...request.Option) (*NotifyApplicationStateOutput, error) {
  1997  	req, out := c.NotifyApplicationStateRequest(input)
  1998  	req.SetContext(ctx)
  1999  	req.ApplyOptions(opts...)
  2000  	return out, req.Send()
  2001  }
  2002  
  2003  const opNotifyMigrationTaskState = "NotifyMigrationTaskState"
  2004  
  2005  // NotifyMigrationTaskStateRequest generates a "aws/request.Request" representing the
  2006  // client's request for the NotifyMigrationTaskState operation. The "output" return
  2007  // value will be populated with the request's response once the request completes
  2008  // successfully.
  2009  //
  2010  // Use "Send" method on the returned Request to send the API call to the service.
  2011  // the "output" return value is not valid until after Send returns without error.
  2012  //
  2013  // See NotifyMigrationTaskState for more information on using the NotifyMigrationTaskState
  2014  // API call, and error handling.
  2015  //
  2016  // This method is useful when you want to inject custom logic or configuration
  2017  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2018  //
  2019  //
  2020  //    // Example sending a request using the NotifyMigrationTaskStateRequest method.
  2021  //    req, resp := client.NotifyMigrationTaskStateRequest(params)
  2022  //
  2023  //    err := req.Send()
  2024  //    if err == nil { // resp is now filled
  2025  //        fmt.Println(resp)
  2026  //    }
  2027  //
  2028  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState
  2029  func (c *MigrationHub) NotifyMigrationTaskStateRequest(input *NotifyMigrationTaskStateInput) (req *request.Request, output *NotifyMigrationTaskStateOutput) {
  2030  	op := &request.Operation{
  2031  		Name:       opNotifyMigrationTaskState,
  2032  		HTTPMethod: "POST",
  2033  		HTTPPath:   "/",
  2034  	}
  2035  
  2036  	if input == nil {
  2037  		input = &NotifyMigrationTaskStateInput{}
  2038  	}
  2039  
  2040  	output = &NotifyMigrationTaskStateOutput{}
  2041  	req = c.newRequest(op, input, output)
  2042  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2043  	return
  2044  }
  2045  
  2046  // NotifyMigrationTaskState API operation for AWS Migration Hub.
  2047  //
  2048  // Notifies Migration Hub of the current status, progress, or other detail regarding
  2049  // a migration task. This API has the following traits:
  2050  //
  2051  //    * Migration tools will call the NotifyMigrationTaskState API to share
  2052  //    the latest progress and status.
  2053  //
  2054  //    * MigrationTaskName is used for addressing updates to the correct target.
  2055  //
  2056  //    * ProgressUpdateStream is used for access control and to provide a namespace
  2057  //    for each migration tool.
  2058  //
  2059  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2060  // with awserr.Error's Code and Message methods to get detailed information about
  2061  // the error.
  2062  //
  2063  // See the AWS API reference guide for AWS Migration Hub's
  2064  // API operation NotifyMigrationTaskState for usage and error information.
  2065  //
  2066  // Returned Error Types:
  2067  //   * AccessDeniedException
  2068  //   You do not have sufficient access to perform this action.
  2069  //
  2070  //   * ThrottlingException
  2071  //   The request was denied due to request throttling.
  2072  //
  2073  //   * InternalServerError
  2074  //   Exception raised when an internal, configuration, or dependency error is
  2075  //   encountered.
  2076  //
  2077  //   * ServiceUnavailableException
  2078  //   Exception raised when there is an internal, configuration, or dependency
  2079  //   error encountered.
  2080  //
  2081  //   * DryRunOperation
  2082  //   Exception raised to indicate a successfully authorized action when the DryRun
  2083  //   flag is set to "true".
  2084  //
  2085  //   * UnauthorizedOperation
  2086  //   Exception raised to indicate a request was not authorized when the DryRun
  2087  //   flag is set to "true".
  2088  //
  2089  //   * InvalidInputException
  2090  //   Exception raised when the provided input violates a policy constraint or
  2091  //   is entered in the wrong format or data type.
  2092  //
  2093  //   * ResourceNotFoundException
  2094  //   Exception raised when the request references a resource (Application Discovery
  2095  //   Service configuration, update stream, migration task, etc.) that does not
  2096  //   exist in Application Discovery Service (Application Discovery Service) or
  2097  //   in Migration Hub's repository.
  2098  //
  2099  //   * HomeRegionNotSetException
  2100  //   The home region is not set. Set the home region to continue.
  2101  //
  2102  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/NotifyMigrationTaskState
  2103  func (c *MigrationHub) NotifyMigrationTaskState(input *NotifyMigrationTaskStateInput) (*NotifyMigrationTaskStateOutput, error) {
  2104  	req, out := c.NotifyMigrationTaskStateRequest(input)
  2105  	return out, req.Send()
  2106  }
  2107  
  2108  // NotifyMigrationTaskStateWithContext is the same as NotifyMigrationTaskState with the addition of
  2109  // the ability to pass a context and additional request options.
  2110  //
  2111  // See NotifyMigrationTaskState for details on how to use this API operation.
  2112  //
  2113  // The context must be non-nil and will be used for request cancellation. If
  2114  // the context is nil a panic will occur. In the future the SDK may create
  2115  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2116  // for more information on using Contexts.
  2117  func (c *MigrationHub) NotifyMigrationTaskStateWithContext(ctx aws.Context, input *NotifyMigrationTaskStateInput, opts ...request.Option) (*NotifyMigrationTaskStateOutput, error) {
  2118  	req, out := c.NotifyMigrationTaskStateRequest(input)
  2119  	req.SetContext(ctx)
  2120  	req.ApplyOptions(opts...)
  2121  	return out, req.Send()
  2122  }
  2123  
  2124  const opPutResourceAttributes = "PutResourceAttributes"
  2125  
  2126  // PutResourceAttributesRequest generates a "aws/request.Request" representing the
  2127  // client's request for the PutResourceAttributes operation. The "output" return
  2128  // value will be populated with the request's response once the request completes
  2129  // successfully.
  2130  //
  2131  // Use "Send" method on the returned Request to send the API call to the service.
  2132  // the "output" return value is not valid until after Send returns without error.
  2133  //
  2134  // See PutResourceAttributes for more information on using the PutResourceAttributes
  2135  // API call, and error handling.
  2136  //
  2137  // This method is useful when you want to inject custom logic or configuration
  2138  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2139  //
  2140  //
  2141  //    // Example sending a request using the PutResourceAttributesRequest method.
  2142  //    req, resp := client.PutResourceAttributesRequest(params)
  2143  //
  2144  //    err := req.Send()
  2145  //    if err == nil { // resp is now filled
  2146  //        fmt.Println(resp)
  2147  //    }
  2148  //
  2149  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/PutResourceAttributes
  2150  func (c *MigrationHub) PutResourceAttributesRequest(input *PutResourceAttributesInput) (req *request.Request, output *PutResourceAttributesOutput) {
  2151  	op := &request.Operation{
  2152  		Name:       opPutResourceAttributes,
  2153  		HTTPMethod: "POST",
  2154  		HTTPPath:   "/",
  2155  	}
  2156  
  2157  	if input == nil {
  2158  		input = &PutResourceAttributesInput{}
  2159  	}
  2160  
  2161  	output = &PutResourceAttributesOutput{}
  2162  	req = c.newRequest(op, input, output)
  2163  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2164  	return
  2165  }
  2166  
  2167  // PutResourceAttributes API operation for AWS Migration Hub.
  2168  //
  2169  // Provides identifying details of the resource being migrated so that it can
  2170  // be associated in the Application Discovery Service repository. This association
  2171  // occurs asynchronously after PutResourceAttributes returns.
  2172  //
  2173  //    * Keep in mind that subsequent calls to PutResourceAttributes will override
  2174  //    previously stored attributes. For example, if it is first called with
  2175  //    a MAC address, but later, it is desired to add an IP address, it will
  2176  //    then be required to call it with both the IP and MAC addresses to prevent
  2177  //    overriding the MAC address.
  2178  //
  2179  //    * Note the instructions regarding the special use case of the ResourceAttributeList
  2180  //    (https://docs.aws.amazon.com/migrationhub/latest/ug/API_PutResourceAttributes.html#migrationhub-PutResourceAttributes-request-ResourceAttributeList)
  2181  //    parameter when specifying any "VM" related value.
  2182  //
  2183  // Because this is an asynchronous call, it will always return 200, whether
  2184  // an association occurs or not. To confirm if an association was found based
  2185  // on the provided details, call ListDiscoveredResources.
  2186  //
  2187  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2188  // with awserr.Error's Code and Message methods to get detailed information about
  2189  // the error.
  2190  //
  2191  // See the AWS API reference guide for AWS Migration Hub's
  2192  // API operation PutResourceAttributes for usage and error information.
  2193  //
  2194  // Returned Error Types:
  2195  //   * AccessDeniedException
  2196  //   You do not have sufficient access to perform this action.
  2197  //
  2198  //   * ThrottlingException
  2199  //   The request was denied due to request throttling.
  2200  //
  2201  //   * InternalServerError
  2202  //   Exception raised when an internal, configuration, or dependency error is
  2203  //   encountered.
  2204  //
  2205  //   * ServiceUnavailableException
  2206  //   Exception raised when there is an internal, configuration, or dependency
  2207  //   error encountered.
  2208  //
  2209  //   * DryRunOperation
  2210  //   Exception raised to indicate a successfully authorized action when the DryRun
  2211  //   flag is set to "true".
  2212  //
  2213  //   * UnauthorizedOperation
  2214  //   Exception raised to indicate a request was not authorized when the DryRun
  2215  //   flag is set to "true".
  2216  //
  2217  //   * InvalidInputException
  2218  //   Exception raised when the provided input violates a policy constraint or
  2219  //   is entered in the wrong format or data type.
  2220  //
  2221  //   * ResourceNotFoundException
  2222  //   Exception raised when the request references a resource (Application Discovery
  2223  //   Service configuration, update stream, migration task, etc.) that does not
  2224  //   exist in Application Discovery Service (Application Discovery Service) or
  2225  //   in Migration Hub's repository.
  2226  //
  2227  //   * HomeRegionNotSetException
  2228  //   The home region is not set. Set the home region to continue.
  2229  //
  2230  // See also, https://docs.aws.amazon.com/goto/WebAPI/AWSMigrationHub-2017-05-31/PutResourceAttributes
  2231  func (c *MigrationHub) PutResourceAttributes(input *PutResourceAttributesInput) (*PutResourceAttributesOutput, error) {
  2232  	req, out := c.PutResourceAttributesRequest(input)
  2233  	return out, req.Send()
  2234  }
  2235  
  2236  // PutResourceAttributesWithContext is the same as PutResourceAttributes with the addition of
  2237  // the ability to pass a context and additional request options.
  2238  //
  2239  // See PutResourceAttributes for details on how to use this API operation.
  2240  //
  2241  // The context must be non-nil and will be used for request cancellation. If
  2242  // the context is nil a panic will occur. In the future the SDK may create
  2243  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2244  // for more information on using Contexts.
  2245  func (c *MigrationHub) PutResourceAttributesWithContext(ctx aws.Context, input *PutResourceAttributesInput, opts ...request.Option) (*PutResourceAttributesOutput, error) {
  2246  	req, out := c.PutResourceAttributesRequest(input)
  2247  	req.SetContext(ctx)
  2248  	req.ApplyOptions(opts...)
  2249  	return out, req.Send()
  2250  }
  2251  
  2252  // You do not have sufficient access to perform this action.
  2253  type AccessDeniedException struct {
  2254  	_            struct{}                  `type:"structure"`
  2255  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2256  
  2257  	Message_ *string `locationName:"Message" type:"string"`
  2258  }
  2259  
  2260  // String returns the string representation.
  2261  //
  2262  // API parameter values that are decorated as "sensitive" in the API will not
  2263  // be included in the string output. The member name will be present, but the
  2264  // value will be replaced with "sensitive".
  2265  func (s AccessDeniedException) String() string {
  2266  	return awsutil.Prettify(s)
  2267  }
  2268  
  2269  // GoString returns the string representation.
  2270  //
  2271  // API parameter values that are decorated as "sensitive" in the API will not
  2272  // be included in the string output. The member name will be present, but the
  2273  // value will be replaced with "sensitive".
  2274  func (s AccessDeniedException) GoString() string {
  2275  	return s.String()
  2276  }
  2277  
  2278  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
  2279  	return &AccessDeniedException{
  2280  		RespMetadata: v,
  2281  	}
  2282  }
  2283  
  2284  // Code returns the exception type name.
  2285  func (s *AccessDeniedException) Code() string {
  2286  	return "AccessDeniedException"
  2287  }
  2288  
  2289  // Message returns the exception's message.
  2290  func (s *AccessDeniedException) Message() string {
  2291  	if s.Message_ != nil {
  2292  		return *s.Message_
  2293  	}
  2294  	return ""
  2295  }
  2296  
  2297  // OrigErr always returns nil, satisfies awserr.Error interface.
  2298  func (s *AccessDeniedException) OrigErr() error {
  2299  	return nil
  2300  }
  2301  
  2302  func (s *AccessDeniedException) Error() string {
  2303  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2304  }
  2305  
  2306  // Status code returns the HTTP status code for the request's response error.
  2307  func (s *AccessDeniedException) StatusCode() int {
  2308  	return s.RespMetadata.StatusCode
  2309  }
  2310  
  2311  // RequestID returns the service's response RequestID for request.
  2312  func (s *AccessDeniedException) RequestID() string {
  2313  	return s.RespMetadata.RequestID
  2314  }
  2315  
  2316  // The state of an application discovered through Migration Hub import, the
  2317  // AWS Agentless Discovery Connector, or the AWS Application Discovery Agent.
  2318  type ApplicationState struct {
  2319  	_ struct{} `type:"structure"`
  2320  
  2321  	// The configurationId from the Application Discovery Service that uniquely
  2322  	// identifies an application.
  2323  	ApplicationId *string `min:"1" type:"string"`
  2324  
  2325  	// The current status of an application.
  2326  	ApplicationStatus *string `type:"string" enum:"ApplicationStatus"`
  2327  
  2328  	// The timestamp when the application status was last updated.
  2329  	LastUpdatedTime *time.Time `type:"timestamp"`
  2330  }
  2331  
  2332  // String returns the string representation.
  2333  //
  2334  // API parameter values that are decorated as "sensitive" in the API will not
  2335  // be included in the string output. The member name will be present, but the
  2336  // value will be replaced with "sensitive".
  2337  func (s ApplicationState) String() string {
  2338  	return awsutil.Prettify(s)
  2339  }
  2340  
  2341  // GoString returns the string representation.
  2342  //
  2343  // API parameter values that are decorated as "sensitive" in the API will not
  2344  // be included in the string output. The member name will be present, but the
  2345  // value will be replaced with "sensitive".
  2346  func (s ApplicationState) GoString() string {
  2347  	return s.String()
  2348  }
  2349  
  2350  // SetApplicationId sets the ApplicationId field's value.
  2351  func (s *ApplicationState) SetApplicationId(v string) *ApplicationState {
  2352  	s.ApplicationId = &v
  2353  	return s
  2354  }
  2355  
  2356  // SetApplicationStatus sets the ApplicationStatus field's value.
  2357  func (s *ApplicationState) SetApplicationStatus(v string) *ApplicationState {
  2358  	s.ApplicationStatus = &v
  2359  	return s
  2360  }
  2361  
  2362  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
  2363  func (s *ApplicationState) SetLastUpdatedTime(v time.Time) *ApplicationState {
  2364  	s.LastUpdatedTime = &v
  2365  	return s
  2366  }
  2367  
  2368  type AssociateCreatedArtifactInput struct {
  2369  	_ struct{} `type:"structure"`
  2370  
  2371  	// An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance,
  2372  	// RDS instance, etc.)
  2373  	//
  2374  	// CreatedArtifact is a required field
  2375  	CreatedArtifact *CreatedArtifact `type:"structure" required:"true"`
  2376  
  2377  	// Optional boolean flag to indicate whether any effect should take place. Used
  2378  	// to test if the caller has permission to make the call.
  2379  	DryRun *bool `type:"boolean"`
  2380  
  2381  	// Unique identifier that references the migration task. Do not store personal
  2382  	// data in this field.
  2383  	//
  2384  	// MigrationTaskName is a required field
  2385  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  2386  
  2387  	// The name of the ProgressUpdateStream.
  2388  	//
  2389  	// ProgressUpdateStream is a required field
  2390  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  2391  }
  2392  
  2393  // String returns the string representation.
  2394  //
  2395  // API parameter values that are decorated as "sensitive" in the API will not
  2396  // be included in the string output. The member name will be present, but the
  2397  // value will be replaced with "sensitive".
  2398  func (s AssociateCreatedArtifactInput) String() string {
  2399  	return awsutil.Prettify(s)
  2400  }
  2401  
  2402  // GoString returns the string representation.
  2403  //
  2404  // API parameter values that are decorated as "sensitive" in the API will not
  2405  // be included in the string output. The member name will be present, but the
  2406  // value will be replaced with "sensitive".
  2407  func (s AssociateCreatedArtifactInput) GoString() string {
  2408  	return s.String()
  2409  }
  2410  
  2411  // Validate inspects the fields of the type to determine if they are valid.
  2412  func (s *AssociateCreatedArtifactInput) Validate() error {
  2413  	invalidParams := request.ErrInvalidParams{Context: "AssociateCreatedArtifactInput"}
  2414  	if s.CreatedArtifact == nil {
  2415  		invalidParams.Add(request.NewErrParamRequired("CreatedArtifact"))
  2416  	}
  2417  	if s.MigrationTaskName == nil {
  2418  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  2419  	}
  2420  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  2421  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  2422  	}
  2423  	if s.ProgressUpdateStream == nil {
  2424  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  2425  	}
  2426  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  2427  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  2428  	}
  2429  	if s.CreatedArtifact != nil {
  2430  		if err := s.CreatedArtifact.Validate(); err != nil {
  2431  			invalidParams.AddNested("CreatedArtifact", err.(request.ErrInvalidParams))
  2432  		}
  2433  	}
  2434  
  2435  	if invalidParams.Len() > 0 {
  2436  		return invalidParams
  2437  	}
  2438  	return nil
  2439  }
  2440  
  2441  // SetCreatedArtifact sets the CreatedArtifact field's value.
  2442  func (s *AssociateCreatedArtifactInput) SetCreatedArtifact(v *CreatedArtifact) *AssociateCreatedArtifactInput {
  2443  	s.CreatedArtifact = v
  2444  	return s
  2445  }
  2446  
  2447  // SetDryRun sets the DryRun field's value.
  2448  func (s *AssociateCreatedArtifactInput) SetDryRun(v bool) *AssociateCreatedArtifactInput {
  2449  	s.DryRun = &v
  2450  	return s
  2451  }
  2452  
  2453  // SetMigrationTaskName sets the MigrationTaskName field's value.
  2454  func (s *AssociateCreatedArtifactInput) SetMigrationTaskName(v string) *AssociateCreatedArtifactInput {
  2455  	s.MigrationTaskName = &v
  2456  	return s
  2457  }
  2458  
  2459  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  2460  func (s *AssociateCreatedArtifactInput) SetProgressUpdateStream(v string) *AssociateCreatedArtifactInput {
  2461  	s.ProgressUpdateStream = &v
  2462  	return s
  2463  }
  2464  
  2465  type AssociateCreatedArtifactOutput struct {
  2466  	_ struct{} `type:"structure"`
  2467  }
  2468  
  2469  // String returns the string representation.
  2470  //
  2471  // API parameter values that are decorated as "sensitive" in the API will not
  2472  // be included in the string output. The member name will be present, but the
  2473  // value will be replaced with "sensitive".
  2474  func (s AssociateCreatedArtifactOutput) String() string {
  2475  	return awsutil.Prettify(s)
  2476  }
  2477  
  2478  // GoString returns the string representation.
  2479  //
  2480  // API parameter values that are decorated as "sensitive" in the API will not
  2481  // be included in the string output. The member name will be present, but the
  2482  // value will be replaced with "sensitive".
  2483  func (s AssociateCreatedArtifactOutput) GoString() string {
  2484  	return s.String()
  2485  }
  2486  
  2487  type AssociateDiscoveredResourceInput struct {
  2488  	_ struct{} `type:"structure"`
  2489  
  2490  	// Object representing a Resource.
  2491  	//
  2492  	// DiscoveredResource is a required field
  2493  	DiscoveredResource *DiscoveredResource `type:"structure" required:"true"`
  2494  
  2495  	// Optional boolean flag to indicate whether any effect should take place. Used
  2496  	// to test if the caller has permission to make the call.
  2497  	DryRun *bool `type:"boolean"`
  2498  
  2499  	// The identifier given to the MigrationTask. Do not store personal data in
  2500  	// this field.
  2501  	//
  2502  	// MigrationTaskName is a required field
  2503  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  2504  
  2505  	// The name of the ProgressUpdateStream.
  2506  	//
  2507  	// ProgressUpdateStream is a required field
  2508  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  2509  }
  2510  
  2511  // String returns the string representation.
  2512  //
  2513  // API parameter values that are decorated as "sensitive" in the API will not
  2514  // be included in the string output. The member name will be present, but the
  2515  // value will be replaced with "sensitive".
  2516  func (s AssociateDiscoveredResourceInput) String() string {
  2517  	return awsutil.Prettify(s)
  2518  }
  2519  
  2520  // GoString returns the string representation.
  2521  //
  2522  // API parameter values that are decorated as "sensitive" in the API will not
  2523  // be included in the string output. The member name will be present, but the
  2524  // value will be replaced with "sensitive".
  2525  func (s AssociateDiscoveredResourceInput) GoString() string {
  2526  	return s.String()
  2527  }
  2528  
  2529  // Validate inspects the fields of the type to determine if they are valid.
  2530  func (s *AssociateDiscoveredResourceInput) Validate() error {
  2531  	invalidParams := request.ErrInvalidParams{Context: "AssociateDiscoveredResourceInput"}
  2532  	if s.DiscoveredResource == nil {
  2533  		invalidParams.Add(request.NewErrParamRequired("DiscoveredResource"))
  2534  	}
  2535  	if s.MigrationTaskName == nil {
  2536  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  2537  	}
  2538  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  2539  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  2540  	}
  2541  	if s.ProgressUpdateStream == nil {
  2542  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  2543  	}
  2544  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  2545  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  2546  	}
  2547  	if s.DiscoveredResource != nil {
  2548  		if err := s.DiscoveredResource.Validate(); err != nil {
  2549  			invalidParams.AddNested("DiscoveredResource", err.(request.ErrInvalidParams))
  2550  		}
  2551  	}
  2552  
  2553  	if invalidParams.Len() > 0 {
  2554  		return invalidParams
  2555  	}
  2556  	return nil
  2557  }
  2558  
  2559  // SetDiscoveredResource sets the DiscoveredResource field's value.
  2560  func (s *AssociateDiscoveredResourceInput) SetDiscoveredResource(v *DiscoveredResource) *AssociateDiscoveredResourceInput {
  2561  	s.DiscoveredResource = v
  2562  	return s
  2563  }
  2564  
  2565  // SetDryRun sets the DryRun field's value.
  2566  func (s *AssociateDiscoveredResourceInput) SetDryRun(v bool) *AssociateDiscoveredResourceInput {
  2567  	s.DryRun = &v
  2568  	return s
  2569  }
  2570  
  2571  // SetMigrationTaskName sets the MigrationTaskName field's value.
  2572  func (s *AssociateDiscoveredResourceInput) SetMigrationTaskName(v string) *AssociateDiscoveredResourceInput {
  2573  	s.MigrationTaskName = &v
  2574  	return s
  2575  }
  2576  
  2577  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  2578  func (s *AssociateDiscoveredResourceInput) SetProgressUpdateStream(v string) *AssociateDiscoveredResourceInput {
  2579  	s.ProgressUpdateStream = &v
  2580  	return s
  2581  }
  2582  
  2583  type AssociateDiscoveredResourceOutput struct {
  2584  	_ struct{} `type:"structure"`
  2585  }
  2586  
  2587  // String returns the string representation.
  2588  //
  2589  // API parameter values that are decorated as "sensitive" in the API will not
  2590  // be included in the string output. The member name will be present, but the
  2591  // value will be replaced with "sensitive".
  2592  func (s AssociateDiscoveredResourceOutput) String() string {
  2593  	return awsutil.Prettify(s)
  2594  }
  2595  
  2596  // GoString returns the string representation.
  2597  //
  2598  // API parameter values that are decorated as "sensitive" in the API will not
  2599  // be included in the string output. The member name will be present, but the
  2600  // value will be replaced with "sensitive".
  2601  func (s AssociateDiscoveredResourceOutput) GoString() string {
  2602  	return s.String()
  2603  }
  2604  
  2605  type CreateProgressUpdateStreamInput struct {
  2606  	_ struct{} `type:"structure"`
  2607  
  2608  	// Optional boolean flag to indicate whether any effect should take place. Used
  2609  	// to test if the caller has permission to make the call.
  2610  	DryRun *bool `type:"boolean"`
  2611  
  2612  	// The name of the ProgressUpdateStream. Do not store personal data in this
  2613  	// field.
  2614  	//
  2615  	// ProgressUpdateStreamName is a required field
  2616  	ProgressUpdateStreamName *string `min:"1" type:"string" required:"true"`
  2617  }
  2618  
  2619  // String returns the string representation.
  2620  //
  2621  // API parameter values that are decorated as "sensitive" in the API will not
  2622  // be included in the string output. The member name will be present, but the
  2623  // value will be replaced with "sensitive".
  2624  func (s CreateProgressUpdateStreamInput) String() string {
  2625  	return awsutil.Prettify(s)
  2626  }
  2627  
  2628  // GoString returns the string representation.
  2629  //
  2630  // API parameter values that are decorated as "sensitive" in the API will not
  2631  // be included in the string output. The member name will be present, but the
  2632  // value will be replaced with "sensitive".
  2633  func (s CreateProgressUpdateStreamInput) GoString() string {
  2634  	return s.String()
  2635  }
  2636  
  2637  // Validate inspects the fields of the type to determine if they are valid.
  2638  func (s *CreateProgressUpdateStreamInput) Validate() error {
  2639  	invalidParams := request.ErrInvalidParams{Context: "CreateProgressUpdateStreamInput"}
  2640  	if s.ProgressUpdateStreamName == nil {
  2641  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStreamName"))
  2642  	}
  2643  	if s.ProgressUpdateStreamName != nil && len(*s.ProgressUpdateStreamName) < 1 {
  2644  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStreamName", 1))
  2645  	}
  2646  
  2647  	if invalidParams.Len() > 0 {
  2648  		return invalidParams
  2649  	}
  2650  	return nil
  2651  }
  2652  
  2653  // SetDryRun sets the DryRun field's value.
  2654  func (s *CreateProgressUpdateStreamInput) SetDryRun(v bool) *CreateProgressUpdateStreamInput {
  2655  	s.DryRun = &v
  2656  	return s
  2657  }
  2658  
  2659  // SetProgressUpdateStreamName sets the ProgressUpdateStreamName field's value.
  2660  func (s *CreateProgressUpdateStreamInput) SetProgressUpdateStreamName(v string) *CreateProgressUpdateStreamInput {
  2661  	s.ProgressUpdateStreamName = &v
  2662  	return s
  2663  }
  2664  
  2665  type CreateProgressUpdateStreamOutput struct {
  2666  	_ struct{} `type:"structure"`
  2667  }
  2668  
  2669  // String returns the string representation.
  2670  //
  2671  // API parameter values that are decorated as "sensitive" in the API will not
  2672  // be included in the string output. The member name will be present, but the
  2673  // value will be replaced with "sensitive".
  2674  func (s CreateProgressUpdateStreamOutput) String() string {
  2675  	return awsutil.Prettify(s)
  2676  }
  2677  
  2678  // GoString returns the string representation.
  2679  //
  2680  // API parameter values that are decorated as "sensitive" in the API will not
  2681  // be included in the string output. The member name will be present, but the
  2682  // value will be replaced with "sensitive".
  2683  func (s CreateProgressUpdateStreamOutput) GoString() string {
  2684  	return s.String()
  2685  }
  2686  
  2687  // An ARN of the AWS cloud resource target receiving the migration (e.g., AMI,
  2688  // EC2 instance, RDS instance, etc.).
  2689  type CreatedArtifact struct {
  2690  	_ struct{} `type:"structure"`
  2691  
  2692  	// A description that can be free-form text to record additional detail about
  2693  	// the artifact for clarity or for later reference.
  2694  	Description *string `type:"string"`
  2695  
  2696  	// An ARN that uniquely identifies the result of a migration task.
  2697  	//
  2698  	// Name is a required field
  2699  	Name *string `min:"1" type:"string" required:"true"`
  2700  }
  2701  
  2702  // String returns the string representation.
  2703  //
  2704  // API parameter values that are decorated as "sensitive" in the API will not
  2705  // be included in the string output. The member name will be present, but the
  2706  // value will be replaced with "sensitive".
  2707  func (s CreatedArtifact) String() string {
  2708  	return awsutil.Prettify(s)
  2709  }
  2710  
  2711  // GoString returns the string representation.
  2712  //
  2713  // API parameter values that are decorated as "sensitive" in the API will not
  2714  // be included in the string output. The member name will be present, but the
  2715  // value will be replaced with "sensitive".
  2716  func (s CreatedArtifact) GoString() string {
  2717  	return s.String()
  2718  }
  2719  
  2720  // Validate inspects the fields of the type to determine if they are valid.
  2721  func (s *CreatedArtifact) Validate() error {
  2722  	invalidParams := request.ErrInvalidParams{Context: "CreatedArtifact"}
  2723  	if s.Name == nil {
  2724  		invalidParams.Add(request.NewErrParamRequired("Name"))
  2725  	}
  2726  	if s.Name != nil && len(*s.Name) < 1 {
  2727  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  2728  	}
  2729  
  2730  	if invalidParams.Len() > 0 {
  2731  		return invalidParams
  2732  	}
  2733  	return nil
  2734  }
  2735  
  2736  // SetDescription sets the Description field's value.
  2737  func (s *CreatedArtifact) SetDescription(v string) *CreatedArtifact {
  2738  	s.Description = &v
  2739  	return s
  2740  }
  2741  
  2742  // SetName sets the Name field's value.
  2743  func (s *CreatedArtifact) SetName(v string) *CreatedArtifact {
  2744  	s.Name = &v
  2745  	return s
  2746  }
  2747  
  2748  type DeleteProgressUpdateStreamInput struct {
  2749  	_ struct{} `type:"structure"`
  2750  
  2751  	// Optional boolean flag to indicate whether any effect should take place. Used
  2752  	// to test if the caller has permission to make the call.
  2753  	DryRun *bool `type:"boolean"`
  2754  
  2755  	// The name of the ProgressUpdateStream. Do not store personal data in this
  2756  	// field.
  2757  	//
  2758  	// ProgressUpdateStreamName is a required field
  2759  	ProgressUpdateStreamName *string `min:"1" type:"string" required:"true"`
  2760  }
  2761  
  2762  // String 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 DeleteProgressUpdateStreamInput) String() string {
  2768  	return awsutil.Prettify(s)
  2769  }
  2770  
  2771  // GoString returns the string representation.
  2772  //
  2773  // API parameter values that are decorated as "sensitive" in the API will not
  2774  // be included in the string output. The member name will be present, but the
  2775  // value will be replaced with "sensitive".
  2776  func (s DeleteProgressUpdateStreamInput) GoString() string {
  2777  	return s.String()
  2778  }
  2779  
  2780  // Validate inspects the fields of the type to determine if they are valid.
  2781  func (s *DeleteProgressUpdateStreamInput) Validate() error {
  2782  	invalidParams := request.ErrInvalidParams{Context: "DeleteProgressUpdateStreamInput"}
  2783  	if s.ProgressUpdateStreamName == nil {
  2784  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStreamName"))
  2785  	}
  2786  	if s.ProgressUpdateStreamName != nil && len(*s.ProgressUpdateStreamName) < 1 {
  2787  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStreamName", 1))
  2788  	}
  2789  
  2790  	if invalidParams.Len() > 0 {
  2791  		return invalidParams
  2792  	}
  2793  	return nil
  2794  }
  2795  
  2796  // SetDryRun sets the DryRun field's value.
  2797  func (s *DeleteProgressUpdateStreamInput) SetDryRun(v bool) *DeleteProgressUpdateStreamInput {
  2798  	s.DryRun = &v
  2799  	return s
  2800  }
  2801  
  2802  // SetProgressUpdateStreamName sets the ProgressUpdateStreamName field's value.
  2803  func (s *DeleteProgressUpdateStreamInput) SetProgressUpdateStreamName(v string) *DeleteProgressUpdateStreamInput {
  2804  	s.ProgressUpdateStreamName = &v
  2805  	return s
  2806  }
  2807  
  2808  type DeleteProgressUpdateStreamOutput struct {
  2809  	_ struct{} `type:"structure"`
  2810  }
  2811  
  2812  // String returns the string representation.
  2813  //
  2814  // API parameter values that are decorated as "sensitive" in the API will not
  2815  // be included in the string output. The member name will be present, but the
  2816  // value will be replaced with "sensitive".
  2817  func (s DeleteProgressUpdateStreamOutput) String() string {
  2818  	return awsutil.Prettify(s)
  2819  }
  2820  
  2821  // GoString returns the string representation.
  2822  //
  2823  // API parameter values that are decorated as "sensitive" in the API will not
  2824  // be included in the string output. The member name will be present, but the
  2825  // value will be replaced with "sensitive".
  2826  func (s DeleteProgressUpdateStreamOutput) GoString() string {
  2827  	return s.String()
  2828  }
  2829  
  2830  type DescribeApplicationStateInput struct {
  2831  	_ struct{} `type:"structure"`
  2832  
  2833  	// The configurationId in Application Discovery Service that uniquely identifies
  2834  	// the grouped application.
  2835  	//
  2836  	// ApplicationId is a required field
  2837  	ApplicationId *string `min:"1" type:"string" required:"true"`
  2838  }
  2839  
  2840  // String returns the string representation.
  2841  //
  2842  // API parameter values that are decorated as "sensitive" in the API will not
  2843  // be included in the string output. The member name will be present, but the
  2844  // value will be replaced with "sensitive".
  2845  func (s DescribeApplicationStateInput) String() string {
  2846  	return awsutil.Prettify(s)
  2847  }
  2848  
  2849  // GoString returns the string representation.
  2850  //
  2851  // API parameter values that are decorated as "sensitive" in the API will not
  2852  // be included in the string output. The member name will be present, but the
  2853  // value will be replaced with "sensitive".
  2854  func (s DescribeApplicationStateInput) GoString() string {
  2855  	return s.String()
  2856  }
  2857  
  2858  // Validate inspects the fields of the type to determine if they are valid.
  2859  func (s *DescribeApplicationStateInput) Validate() error {
  2860  	invalidParams := request.ErrInvalidParams{Context: "DescribeApplicationStateInput"}
  2861  	if s.ApplicationId == nil {
  2862  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  2863  	}
  2864  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  2865  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  2866  	}
  2867  
  2868  	if invalidParams.Len() > 0 {
  2869  		return invalidParams
  2870  	}
  2871  	return nil
  2872  }
  2873  
  2874  // SetApplicationId sets the ApplicationId field's value.
  2875  func (s *DescribeApplicationStateInput) SetApplicationId(v string) *DescribeApplicationStateInput {
  2876  	s.ApplicationId = &v
  2877  	return s
  2878  }
  2879  
  2880  type DescribeApplicationStateOutput struct {
  2881  	_ struct{} `type:"structure"`
  2882  
  2883  	// Status of the application - Not Started, In-Progress, Complete.
  2884  	ApplicationStatus *string `type:"string" enum:"ApplicationStatus"`
  2885  
  2886  	// The timestamp when the application status was last updated.
  2887  	LastUpdatedTime *time.Time `type:"timestamp"`
  2888  }
  2889  
  2890  // String returns the string representation.
  2891  //
  2892  // API parameter values that are decorated as "sensitive" in the API will not
  2893  // be included in the string output. The member name will be present, but the
  2894  // value will be replaced with "sensitive".
  2895  func (s DescribeApplicationStateOutput) String() string {
  2896  	return awsutil.Prettify(s)
  2897  }
  2898  
  2899  // GoString returns the string representation.
  2900  //
  2901  // API parameter values that are decorated as "sensitive" in the API will not
  2902  // be included in the string output. The member name will be present, but the
  2903  // value will be replaced with "sensitive".
  2904  func (s DescribeApplicationStateOutput) GoString() string {
  2905  	return s.String()
  2906  }
  2907  
  2908  // SetApplicationStatus sets the ApplicationStatus field's value.
  2909  func (s *DescribeApplicationStateOutput) SetApplicationStatus(v string) *DescribeApplicationStateOutput {
  2910  	s.ApplicationStatus = &v
  2911  	return s
  2912  }
  2913  
  2914  // SetLastUpdatedTime sets the LastUpdatedTime field's value.
  2915  func (s *DescribeApplicationStateOutput) SetLastUpdatedTime(v time.Time) *DescribeApplicationStateOutput {
  2916  	s.LastUpdatedTime = &v
  2917  	return s
  2918  }
  2919  
  2920  type DescribeMigrationTaskInput struct {
  2921  	_ struct{} `type:"structure"`
  2922  
  2923  	// The identifier given to the MigrationTask. Do not store personal data in
  2924  	// this field.
  2925  	//
  2926  	// MigrationTaskName is a required field
  2927  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  2928  
  2929  	// The name of the ProgressUpdateStream.
  2930  	//
  2931  	// ProgressUpdateStream is a required field
  2932  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  2933  }
  2934  
  2935  // String returns the string representation.
  2936  //
  2937  // API parameter values that are decorated as "sensitive" in the API will not
  2938  // be included in the string output. The member name will be present, but the
  2939  // value will be replaced with "sensitive".
  2940  func (s DescribeMigrationTaskInput) String() string {
  2941  	return awsutil.Prettify(s)
  2942  }
  2943  
  2944  // GoString returns the string representation.
  2945  //
  2946  // API parameter values that are decorated as "sensitive" in the API will not
  2947  // be included in the string output. The member name will be present, but the
  2948  // value will be replaced with "sensitive".
  2949  func (s DescribeMigrationTaskInput) GoString() string {
  2950  	return s.String()
  2951  }
  2952  
  2953  // Validate inspects the fields of the type to determine if they are valid.
  2954  func (s *DescribeMigrationTaskInput) Validate() error {
  2955  	invalidParams := request.ErrInvalidParams{Context: "DescribeMigrationTaskInput"}
  2956  	if s.MigrationTaskName == nil {
  2957  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  2958  	}
  2959  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  2960  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  2961  	}
  2962  	if s.ProgressUpdateStream == nil {
  2963  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  2964  	}
  2965  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  2966  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  2967  	}
  2968  
  2969  	if invalidParams.Len() > 0 {
  2970  		return invalidParams
  2971  	}
  2972  	return nil
  2973  }
  2974  
  2975  // SetMigrationTaskName sets the MigrationTaskName field's value.
  2976  func (s *DescribeMigrationTaskInput) SetMigrationTaskName(v string) *DescribeMigrationTaskInput {
  2977  	s.MigrationTaskName = &v
  2978  	return s
  2979  }
  2980  
  2981  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  2982  func (s *DescribeMigrationTaskInput) SetProgressUpdateStream(v string) *DescribeMigrationTaskInput {
  2983  	s.ProgressUpdateStream = &v
  2984  	return s
  2985  }
  2986  
  2987  type DescribeMigrationTaskOutput struct {
  2988  	_ struct{} `type:"structure"`
  2989  
  2990  	// Object encapsulating information about the migration task.
  2991  	MigrationTask *MigrationTask `type:"structure"`
  2992  }
  2993  
  2994  // String returns the string representation.
  2995  //
  2996  // API parameter values that are decorated as "sensitive" in the API will not
  2997  // be included in the string output. The member name will be present, but the
  2998  // value will be replaced with "sensitive".
  2999  func (s DescribeMigrationTaskOutput) String() string {
  3000  	return awsutil.Prettify(s)
  3001  }
  3002  
  3003  // GoString returns the string representation.
  3004  //
  3005  // API parameter values that are decorated as "sensitive" in the API will not
  3006  // be included in the string output. The member name will be present, but the
  3007  // value will be replaced with "sensitive".
  3008  func (s DescribeMigrationTaskOutput) GoString() string {
  3009  	return s.String()
  3010  }
  3011  
  3012  // SetMigrationTask sets the MigrationTask field's value.
  3013  func (s *DescribeMigrationTaskOutput) SetMigrationTask(v *MigrationTask) *DescribeMigrationTaskOutput {
  3014  	s.MigrationTask = v
  3015  	return s
  3016  }
  3017  
  3018  type DisassociateCreatedArtifactInput struct {
  3019  	_ struct{} `type:"structure"`
  3020  
  3021  	// An ARN of the AWS resource related to the migration (e.g., AMI, EC2 instance,
  3022  	// RDS instance, etc.)
  3023  	//
  3024  	// CreatedArtifactName is a required field
  3025  	CreatedArtifactName *string `min:"1" type:"string" required:"true"`
  3026  
  3027  	// Optional boolean flag to indicate whether any effect should take place. Used
  3028  	// to test if the caller has permission to make the call.
  3029  	DryRun *bool `type:"boolean"`
  3030  
  3031  	// Unique identifier that references the migration task to be disassociated
  3032  	// with the artifact. Do not store personal data in this field.
  3033  	//
  3034  	// MigrationTaskName is a required field
  3035  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  3036  
  3037  	// The name of the ProgressUpdateStream.
  3038  	//
  3039  	// ProgressUpdateStream is a required field
  3040  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  3041  }
  3042  
  3043  // String returns the string representation.
  3044  //
  3045  // API parameter values that are decorated as "sensitive" in the API will not
  3046  // be included in the string output. The member name will be present, but the
  3047  // value will be replaced with "sensitive".
  3048  func (s DisassociateCreatedArtifactInput) String() string {
  3049  	return awsutil.Prettify(s)
  3050  }
  3051  
  3052  // GoString returns the string representation.
  3053  //
  3054  // API parameter values that are decorated as "sensitive" in the API will not
  3055  // be included in the string output. The member name will be present, but the
  3056  // value will be replaced with "sensitive".
  3057  func (s DisassociateCreatedArtifactInput) GoString() string {
  3058  	return s.String()
  3059  }
  3060  
  3061  // Validate inspects the fields of the type to determine if they are valid.
  3062  func (s *DisassociateCreatedArtifactInput) Validate() error {
  3063  	invalidParams := request.ErrInvalidParams{Context: "DisassociateCreatedArtifactInput"}
  3064  	if s.CreatedArtifactName == nil {
  3065  		invalidParams.Add(request.NewErrParamRequired("CreatedArtifactName"))
  3066  	}
  3067  	if s.CreatedArtifactName != nil && len(*s.CreatedArtifactName) < 1 {
  3068  		invalidParams.Add(request.NewErrParamMinLen("CreatedArtifactName", 1))
  3069  	}
  3070  	if s.MigrationTaskName == nil {
  3071  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  3072  	}
  3073  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  3074  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  3075  	}
  3076  	if s.ProgressUpdateStream == nil {
  3077  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  3078  	}
  3079  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  3080  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  3081  	}
  3082  
  3083  	if invalidParams.Len() > 0 {
  3084  		return invalidParams
  3085  	}
  3086  	return nil
  3087  }
  3088  
  3089  // SetCreatedArtifactName sets the CreatedArtifactName field's value.
  3090  func (s *DisassociateCreatedArtifactInput) SetCreatedArtifactName(v string) *DisassociateCreatedArtifactInput {
  3091  	s.CreatedArtifactName = &v
  3092  	return s
  3093  }
  3094  
  3095  // SetDryRun sets the DryRun field's value.
  3096  func (s *DisassociateCreatedArtifactInput) SetDryRun(v bool) *DisassociateCreatedArtifactInput {
  3097  	s.DryRun = &v
  3098  	return s
  3099  }
  3100  
  3101  // SetMigrationTaskName sets the MigrationTaskName field's value.
  3102  func (s *DisassociateCreatedArtifactInput) SetMigrationTaskName(v string) *DisassociateCreatedArtifactInput {
  3103  	s.MigrationTaskName = &v
  3104  	return s
  3105  }
  3106  
  3107  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  3108  func (s *DisassociateCreatedArtifactInput) SetProgressUpdateStream(v string) *DisassociateCreatedArtifactInput {
  3109  	s.ProgressUpdateStream = &v
  3110  	return s
  3111  }
  3112  
  3113  type DisassociateCreatedArtifactOutput struct {
  3114  	_ struct{} `type:"structure"`
  3115  }
  3116  
  3117  // String returns the string representation.
  3118  //
  3119  // API parameter values that are decorated as "sensitive" in the API will not
  3120  // be included in the string output. The member name will be present, but the
  3121  // value will be replaced with "sensitive".
  3122  func (s DisassociateCreatedArtifactOutput) String() string {
  3123  	return awsutil.Prettify(s)
  3124  }
  3125  
  3126  // GoString returns the string representation.
  3127  //
  3128  // API parameter values that are decorated as "sensitive" in the API will not
  3129  // be included in the string output. The member name will be present, but the
  3130  // value will be replaced with "sensitive".
  3131  func (s DisassociateCreatedArtifactOutput) GoString() string {
  3132  	return s.String()
  3133  }
  3134  
  3135  type DisassociateDiscoveredResourceInput struct {
  3136  	_ struct{} `type:"structure"`
  3137  
  3138  	// ConfigurationId of the Application Discovery Service resource to be disassociated.
  3139  	//
  3140  	// ConfigurationId is a required field
  3141  	ConfigurationId *string `min:"1" type:"string" required:"true"`
  3142  
  3143  	// Optional boolean flag to indicate whether any effect should take place. Used
  3144  	// to test if the caller has permission to make the call.
  3145  	DryRun *bool `type:"boolean"`
  3146  
  3147  	// The identifier given to the MigrationTask. Do not store personal data in
  3148  	// this field.
  3149  	//
  3150  	// MigrationTaskName is a required field
  3151  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  3152  
  3153  	// The name of the ProgressUpdateStream.
  3154  	//
  3155  	// ProgressUpdateStream is a required field
  3156  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  3157  }
  3158  
  3159  // String returns the string representation.
  3160  //
  3161  // API parameter values that are decorated as "sensitive" in the API will not
  3162  // be included in the string output. The member name will be present, but the
  3163  // value will be replaced with "sensitive".
  3164  func (s DisassociateDiscoveredResourceInput) String() string {
  3165  	return awsutil.Prettify(s)
  3166  }
  3167  
  3168  // GoString returns the string representation.
  3169  //
  3170  // API parameter values that are decorated as "sensitive" in the API will not
  3171  // be included in the string output. The member name will be present, but the
  3172  // value will be replaced with "sensitive".
  3173  func (s DisassociateDiscoveredResourceInput) GoString() string {
  3174  	return s.String()
  3175  }
  3176  
  3177  // Validate inspects the fields of the type to determine if they are valid.
  3178  func (s *DisassociateDiscoveredResourceInput) Validate() error {
  3179  	invalidParams := request.ErrInvalidParams{Context: "DisassociateDiscoveredResourceInput"}
  3180  	if s.ConfigurationId == nil {
  3181  		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
  3182  	}
  3183  	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
  3184  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
  3185  	}
  3186  	if s.MigrationTaskName == nil {
  3187  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  3188  	}
  3189  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  3190  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  3191  	}
  3192  	if s.ProgressUpdateStream == nil {
  3193  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  3194  	}
  3195  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  3196  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  3197  	}
  3198  
  3199  	if invalidParams.Len() > 0 {
  3200  		return invalidParams
  3201  	}
  3202  	return nil
  3203  }
  3204  
  3205  // SetConfigurationId sets the ConfigurationId field's value.
  3206  func (s *DisassociateDiscoveredResourceInput) SetConfigurationId(v string) *DisassociateDiscoveredResourceInput {
  3207  	s.ConfigurationId = &v
  3208  	return s
  3209  }
  3210  
  3211  // SetDryRun sets the DryRun field's value.
  3212  func (s *DisassociateDiscoveredResourceInput) SetDryRun(v bool) *DisassociateDiscoveredResourceInput {
  3213  	s.DryRun = &v
  3214  	return s
  3215  }
  3216  
  3217  // SetMigrationTaskName sets the MigrationTaskName field's value.
  3218  func (s *DisassociateDiscoveredResourceInput) SetMigrationTaskName(v string) *DisassociateDiscoveredResourceInput {
  3219  	s.MigrationTaskName = &v
  3220  	return s
  3221  }
  3222  
  3223  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  3224  func (s *DisassociateDiscoveredResourceInput) SetProgressUpdateStream(v string) *DisassociateDiscoveredResourceInput {
  3225  	s.ProgressUpdateStream = &v
  3226  	return s
  3227  }
  3228  
  3229  type DisassociateDiscoveredResourceOutput struct {
  3230  	_ struct{} `type:"structure"`
  3231  }
  3232  
  3233  // String returns the string representation.
  3234  //
  3235  // API parameter values that are decorated as "sensitive" in the API will not
  3236  // be included in the string output. The member name will be present, but the
  3237  // value will be replaced with "sensitive".
  3238  func (s DisassociateDiscoveredResourceOutput) String() string {
  3239  	return awsutil.Prettify(s)
  3240  }
  3241  
  3242  // GoString returns the string representation.
  3243  //
  3244  // API parameter values that are decorated as "sensitive" in the API will not
  3245  // be included in the string output. The member name will be present, but the
  3246  // value will be replaced with "sensitive".
  3247  func (s DisassociateDiscoveredResourceOutput) GoString() string {
  3248  	return s.String()
  3249  }
  3250  
  3251  // Object representing the on-premises resource being migrated.
  3252  type DiscoveredResource struct {
  3253  	_ struct{} `type:"structure"`
  3254  
  3255  	// The configurationId in Application Discovery Service that uniquely identifies
  3256  	// the on-premise resource.
  3257  	//
  3258  	// ConfigurationId is a required field
  3259  	ConfigurationId *string `min:"1" type:"string" required:"true"`
  3260  
  3261  	// A description that can be free-form text to record additional detail about
  3262  	// the discovered resource for clarity or later reference.
  3263  	Description *string `type:"string"`
  3264  }
  3265  
  3266  // String returns the string representation.
  3267  //
  3268  // API parameter values that are decorated as "sensitive" in the API will not
  3269  // be included in the string output. The member name will be present, but the
  3270  // value will be replaced with "sensitive".
  3271  func (s DiscoveredResource) String() string {
  3272  	return awsutil.Prettify(s)
  3273  }
  3274  
  3275  // GoString returns the string representation.
  3276  //
  3277  // API parameter values that are decorated as "sensitive" in the API will not
  3278  // be included in the string output. The member name will be present, but the
  3279  // value will be replaced with "sensitive".
  3280  func (s DiscoveredResource) GoString() string {
  3281  	return s.String()
  3282  }
  3283  
  3284  // Validate inspects the fields of the type to determine if they are valid.
  3285  func (s *DiscoveredResource) Validate() error {
  3286  	invalidParams := request.ErrInvalidParams{Context: "DiscoveredResource"}
  3287  	if s.ConfigurationId == nil {
  3288  		invalidParams.Add(request.NewErrParamRequired("ConfigurationId"))
  3289  	}
  3290  	if s.ConfigurationId != nil && len(*s.ConfigurationId) < 1 {
  3291  		invalidParams.Add(request.NewErrParamMinLen("ConfigurationId", 1))
  3292  	}
  3293  
  3294  	if invalidParams.Len() > 0 {
  3295  		return invalidParams
  3296  	}
  3297  	return nil
  3298  }
  3299  
  3300  // SetConfigurationId sets the ConfigurationId field's value.
  3301  func (s *DiscoveredResource) SetConfigurationId(v string) *DiscoveredResource {
  3302  	s.ConfigurationId = &v
  3303  	return s
  3304  }
  3305  
  3306  // SetDescription sets the Description field's value.
  3307  func (s *DiscoveredResource) SetDescription(v string) *DiscoveredResource {
  3308  	s.Description = &v
  3309  	return s
  3310  }
  3311  
  3312  // Exception raised to indicate a successfully authorized action when the DryRun
  3313  // flag is set to "true".
  3314  type DryRunOperation struct {
  3315  	_            struct{}                  `type:"structure"`
  3316  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3317  
  3318  	Message_ *string `locationName:"Message" type:"string"`
  3319  }
  3320  
  3321  // String returns the string representation.
  3322  //
  3323  // API parameter values that are decorated as "sensitive" in the API will not
  3324  // be included in the string output. The member name will be present, but the
  3325  // value will be replaced with "sensitive".
  3326  func (s DryRunOperation) String() string {
  3327  	return awsutil.Prettify(s)
  3328  }
  3329  
  3330  // GoString returns the string representation.
  3331  //
  3332  // API parameter values that are decorated as "sensitive" in the API will not
  3333  // be included in the string output. The member name will be present, but the
  3334  // value will be replaced with "sensitive".
  3335  func (s DryRunOperation) GoString() string {
  3336  	return s.String()
  3337  }
  3338  
  3339  func newErrorDryRunOperation(v protocol.ResponseMetadata) error {
  3340  	return &DryRunOperation{
  3341  		RespMetadata: v,
  3342  	}
  3343  }
  3344  
  3345  // Code returns the exception type name.
  3346  func (s *DryRunOperation) Code() string {
  3347  	return "DryRunOperation"
  3348  }
  3349  
  3350  // Message returns the exception's message.
  3351  func (s *DryRunOperation) Message() string {
  3352  	if s.Message_ != nil {
  3353  		return *s.Message_
  3354  	}
  3355  	return ""
  3356  }
  3357  
  3358  // OrigErr always returns nil, satisfies awserr.Error interface.
  3359  func (s *DryRunOperation) OrigErr() error {
  3360  	return nil
  3361  }
  3362  
  3363  func (s *DryRunOperation) Error() string {
  3364  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3365  }
  3366  
  3367  // Status code returns the HTTP status code for the request's response error.
  3368  func (s *DryRunOperation) StatusCode() int {
  3369  	return s.RespMetadata.StatusCode
  3370  }
  3371  
  3372  // RequestID returns the service's response RequestID for request.
  3373  func (s *DryRunOperation) RequestID() string {
  3374  	return s.RespMetadata.RequestID
  3375  }
  3376  
  3377  // The home region is not set. Set the home region to continue.
  3378  type HomeRegionNotSetException struct {
  3379  	_            struct{}                  `type:"structure"`
  3380  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3381  
  3382  	Message_ *string `locationName:"Message" type:"string"`
  3383  }
  3384  
  3385  // String returns the string representation.
  3386  //
  3387  // API parameter values that are decorated as "sensitive" in the API will not
  3388  // be included in the string output. The member name will be present, but the
  3389  // value will be replaced with "sensitive".
  3390  func (s HomeRegionNotSetException) String() string {
  3391  	return awsutil.Prettify(s)
  3392  }
  3393  
  3394  // GoString returns the string representation.
  3395  //
  3396  // API parameter values that are decorated as "sensitive" in the API will not
  3397  // be included in the string output. The member name will be present, but the
  3398  // value will be replaced with "sensitive".
  3399  func (s HomeRegionNotSetException) GoString() string {
  3400  	return s.String()
  3401  }
  3402  
  3403  func newErrorHomeRegionNotSetException(v protocol.ResponseMetadata) error {
  3404  	return &HomeRegionNotSetException{
  3405  		RespMetadata: v,
  3406  	}
  3407  }
  3408  
  3409  // Code returns the exception type name.
  3410  func (s *HomeRegionNotSetException) Code() string {
  3411  	return "HomeRegionNotSetException"
  3412  }
  3413  
  3414  // Message returns the exception's message.
  3415  func (s *HomeRegionNotSetException) Message() string {
  3416  	if s.Message_ != nil {
  3417  		return *s.Message_
  3418  	}
  3419  	return ""
  3420  }
  3421  
  3422  // OrigErr always returns nil, satisfies awserr.Error interface.
  3423  func (s *HomeRegionNotSetException) OrigErr() error {
  3424  	return nil
  3425  }
  3426  
  3427  func (s *HomeRegionNotSetException) Error() string {
  3428  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3429  }
  3430  
  3431  // Status code returns the HTTP status code for the request's response error.
  3432  func (s *HomeRegionNotSetException) StatusCode() int {
  3433  	return s.RespMetadata.StatusCode
  3434  }
  3435  
  3436  // RequestID returns the service's response RequestID for request.
  3437  func (s *HomeRegionNotSetException) RequestID() string {
  3438  	return s.RespMetadata.RequestID
  3439  }
  3440  
  3441  type ImportMigrationTaskInput struct {
  3442  	_ struct{} `type:"structure"`
  3443  
  3444  	// Optional boolean flag to indicate whether any effect should take place. Used
  3445  	// to test if the caller has permission to make the call.
  3446  	DryRun *bool `type:"boolean"`
  3447  
  3448  	// Unique identifier that references the migration task. Do not store personal
  3449  	// data in this field.
  3450  	//
  3451  	// MigrationTaskName is a required field
  3452  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  3453  
  3454  	// The name of the ProgressUpdateStream. >
  3455  	//
  3456  	// ProgressUpdateStream is a required field
  3457  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  3458  }
  3459  
  3460  // String returns the string representation.
  3461  //
  3462  // API parameter values that are decorated as "sensitive" in the API will not
  3463  // be included in the string output. The member name will be present, but the
  3464  // value will be replaced with "sensitive".
  3465  func (s ImportMigrationTaskInput) String() string {
  3466  	return awsutil.Prettify(s)
  3467  }
  3468  
  3469  // GoString returns the string representation.
  3470  //
  3471  // API parameter values that are decorated as "sensitive" in the API will not
  3472  // be included in the string output. The member name will be present, but the
  3473  // value will be replaced with "sensitive".
  3474  func (s ImportMigrationTaskInput) GoString() string {
  3475  	return s.String()
  3476  }
  3477  
  3478  // Validate inspects the fields of the type to determine if they are valid.
  3479  func (s *ImportMigrationTaskInput) Validate() error {
  3480  	invalidParams := request.ErrInvalidParams{Context: "ImportMigrationTaskInput"}
  3481  	if s.MigrationTaskName == nil {
  3482  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  3483  	}
  3484  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  3485  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  3486  	}
  3487  	if s.ProgressUpdateStream == nil {
  3488  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  3489  	}
  3490  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  3491  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  3492  	}
  3493  
  3494  	if invalidParams.Len() > 0 {
  3495  		return invalidParams
  3496  	}
  3497  	return nil
  3498  }
  3499  
  3500  // SetDryRun sets the DryRun field's value.
  3501  func (s *ImportMigrationTaskInput) SetDryRun(v bool) *ImportMigrationTaskInput {
  3502  	s.DryRun = &v
  3503  	return s
  3504  }
  3505  
  3506  // SetMigrationTaskName sets the MigrationTaskName field's value.
  3507  func (s *ImportMigrationTaskInput) SetMigrationTaskName(v string) *ImportMigrationTaskInput {
  3508  	s.MigrationTaskName = &v
  3509  	return s
  3510  }
  3511  
  3512  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  3513  func (s *ImportMigrationTaskInput) SetProgressUpdateStream(v string) *ImportMigrationTaskInput {
  3514  	s.ProgressUpdateStream = &v
  3515  	return s
  3516  }
  3517  
  3518  type ImportMigrationTaskOutput struct {
  3519  	_ struct{} `type:"structure"`
  3520  }
  3521  
  3522  // String returns the string representation.
  3523  //
  3524  // API parameter values that are decorated as "sensitive" in the API will not
  3525  // be included in the string output. The member name will be present, but the
  3526  // value will be replaced with "sensitive".
  3527  func (s ImportMigrationTaskOutput) String() string {
  3528  	return awsutil.Prettify(s)
  3529  }
  3530  
  3531  // GoString returns the string representation.
  3532  //
  3533  // API parameter values that are decorated as "sensitive" in the API will not
  3534  // be included in the string output. The member name will be present, but the
  3535  // value will be replaced with "sensitive".
  3536  func (s ImportMigrationTaskOutput) GoString() string {
  3537  	return s.String()
  3538  }
  3539  
  3540  // Exception raised when an internal, configuration, or dependency error is
  3541  // encountered.
  3542  type InternalServerError struct {
  3543  	_            struct{}                  `type:"structure"`
  3544  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3545  
  3546  	Message_ *string `locationName:"Message" type:"string"`
  3547  }
  3548  
  3549  // String returns the string representation.
  3550  //
  3551  // API parameter values that are decorated as "sensitive" in the API will not
  3552  // be included in the string output. The member name will be present, but the
  3553  // value will be replaced with "sensitive".
  3554  func (s InternalServerError) String() string {
  3555  	return awsutil.Prettify(s)
  3556  }
  3557  
  3558  // GoString returns the string representation.
  3559  //
  3560  // API parameter values that are decorated as "sensitive" in the API will not
  3561  // be included in the string output. The member name will be present, but the
  3562  // value will be replaced with "sensitive".
  3563  func (s InternalServerError) GoString() string {
  3564  	return s.String()
  3565  }
  3566  
  3567  func newErrorInternalServerError(v protocol.ResponseMetadata) error {
  3568  	return &InternalServerError{
  3569  		RespMetadata: v,
  3570  	}
  3571  }
  3572  
  3573  // Code returns the exception type name.
  3574  func (s *InternalServerError) Code() string {
  3575  	return "InternalServerError"
  3576  }
  3577  
  3578  // Message returns the exception's message.
  3579  func (s *InternalServerError) Message() string {
  3580  	if s.Message_ != nil {
  3581  		return *s.Message_
  3582  	}
  3583  	return ""
  3584  }
  3585  
  3586  // OrigErr always returns nil, satisfies awserr.Error interface.
  3587  func (s *InternalServerError) OrigErr() error {
  3588  	return nil
  3589  }
  3590  
  3591  func (s *InternalServerError) Error() string {
  3592  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3593  }
  3594  
  3595  // Status code returns the HTTP status code for the request's response error.
  3596  func (s *InternalServerError) StatusCode() int {
  3597  	return s.RespMetadata.StatusCode
  3598  }
  3599  
  3600  // RequestID returns the service's response RequestID for request.
  3601  func (s *InternalServerError) RequestID() string {
  3602  	return s.RespMetadata.RequestID
  3603  }
  3604  
  3605  // Exception raised when the provided input violates a policy constraint or
  3606  // is entered in the wrong format or data type.
  3607  type InvalidInputException struct {
  3608  	_            struct{}                  `type:"structure"`
  3609  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3610  
  3611  	Message_ *string `locationName:"Message" type:"string"`
  3612  }
  3613  
  3614  // String returns the string representation.
  3615  //
  3616  // API parameter values that are decorated as "sensitive" in the API will not
  3617  // be included in the string output. The member name will be present, but the
  3618  // value will be replaced with "sensitive".
  3619  func (s InvalidInputException) String() string {
  3620  	return awsutil.Prettify(s)
  3621  }
  3622  
  3623  // GoString returns the string representation.
  3624  //
  3625  // API parameter values that are decorated as "sensitive" in the API will not
  3626  // be included in the string output. The member name will be present, but the
  3627  // value will be replaced with "sensitive".
  3628  func (s InvalidInputException) GoString() string {
  3629  	return s.String()
  3630  }
  3631  
  3632  func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
  3633  	return &InvalidInputException{
  3634  		RespMetadata: v,
  3635  	}
  3636  }
  3637  
  3638  // Code returns the exception type name.
  3639  func (s *InvalidInputException) Code() string {
  3640  	return "InvalidInputException"
  3641  }
  3642  
  3643  // Message returns the exception's message.
  3644  func (s *InvalidInputException) Message() string {
  3645  	if s.Message_ != nil {
  3646  		return *s.Message_
  3647  	}
  3648  	return ""
  3649  }
  3650  
  3651  // OrigErr always returns nil, satisfies awserr.Error interface.
  3652  func (s *InvalidInputException) OrigErr() error {
  3653  	return nil
  3654  }
  3655  
  3656  func (s *InvalidInputException) Error() string {
  3657  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3658  }
  3659  
  3660  // Status code returns the HTTP status code for the request's response error.
  3661  func (s *InvalidInputException) StatusCode() int {
  3662  	return s.RespMetadata.StatusCode
  3663  }
  3664  
  3665  // RequestID returns the service's response RequestID for request.
  3666  func (s *InvalidInputException) RequestID() string {
  3667  	return s.RespMetadata.RequestID
  3668  }
  3669  
  3670  type ListApplicationStatesInput struct {
  3671  	_ struct{} `type:"structure"`
  3672  
  3673  	// The configurationIds from the Application Discovery Service that uniquely
  3674  	// identifies your applications.
  3675  	ApplicationIds []*string `min:"1" type:"list"`
  3676  
  3677  	// Maximum number of results to be returned per page.
  3678  	MaxResults *int64 `min:"1" type:"integer"`
  3679  
  3680  	// If a NextToken was returned by a previous call, there are more results available.
  3681  	// To retrieve the next page of results, make the call again using the returned
  3682  	// token in NextToken.
  3683  	NextToken *string `type:"string"`
  3684  }
  3685  
  3686  // String returns the string representation.
  3687  //
  3688  // API parameter values that are decorated as "sensitive" in the API will not
  3689  // be included in the string output. The member name will be present, but the
  3690  // value will be replaced with "sensitive".
  3691  func (s ListApplicationStatesInput) String() string {
  3692  	return awsutil.Prettify(s)
  3693  }
  3694  
  3695  // GoString returns the string representation.
  3696  //
  3697  // API parameter values that are decorated as "sensitive" in the API will not
  3698  // be included in the string output. The member name will be present, but the
  3699  // value will be replaced with "sensitive".
  3700  func (s ListApplicationStatesInput) GoString() string {
  3701  	return s.String()
  3702  }
  3703  
  3704  // Validate inspects the fields of the type to determine if they are valid.
  3705  func (s *ListApplicationStatesInput) Validate() error {
  3706  	invalidParams := request.ErrInvalidParams{Context: "ListApplicationStatesInput"}
  3707  	if s.ApplicationIds != nil && len(s.ApplicationIds) < 1 {
  3708  		invalidParams.Add(request.NewErrParamMinLen("ApplicationIds", 1))
  3709  	}
  3710  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3711  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3712  	}
  3713  
  3714  	if invalidParams.Len() > 0 {
  3715  		return invalidParams
  3716  	}
  3717  	return nil
  3718  }
  3719  
  3720  // SetApplicationIds sets the ApplicationIds field's value.
  3721  func (s *ListApplicationStatesInput) SetApplicationIds(v []*string) *ListApplicationStatesInput {
  3722  	s.ApplicationIds = v
  3723  	return s
  3724  }
  3725  
  3726  // SetMaxResults sets the MaxResults field's value.
  3727  func (s *ListApplicationStatesInput) SetMaxResults(v int64) *ListApplicationStatesInput {
  3728  	s.MaxResults = &v
  3729  	return s
  3730  }
  3731  
  3732  // SetNextToken sets the NextToken field's value.
  3733  func (s *ListApplicationStatesInput) SetNextToken(v string) *ListApplicationStatesInput {
  3734  	s.NextToken = &v
  3735  	return s
  3736  }
  3737  
  3738  type ListApplicationStatesOutput struct {
  3739  	_ struct{} `type:"structure"`
  3740  
  3741  	// A list of Applications that exist in Application Discovery Service.
  3742  	ApplicationStateList []*ApplicationState `type:"list"`
  3743  
  3744  	// If a NextToken was returned by a previous call, there are more results available.
  3745  	// To retrieve the next page of results, make the call again using the returned
  3746  	// token in NextToken.
  3747  	NextToken *string `type:"string"`
  3748  }
  3749  
  3750  // String returns the string representation.
  3751  //
  3752  // API parameter values that are decorated as "sensitive" in the API will not
  3753  // be included in the string output. The member name will be present, but the
  3754  // value will be replaced with "sensitive".
  3755  func (s ListApplicationStatesOutput) String() string {
  3756  	return awsutil.Prettify(s)
  3757  }
  3758  
  3759  // GoString returns the string representation.
  3760  //
  3761  // API parameter values that are decorated as "sensitive" in the API will not
  3762  // be included in the string output. The member name will be present, but the
  3763  // value will be replaced with "sensitive".
  3764  func (s ListApplicationStatesOutput) GoString() string {
  3765  	return s.String()
  3766  }
  3767  
  3768  // SetApplicationStateList sets the ApplicationStateList field's value.
  3769  func (s *ListApplicationStatesOutput) SetApplicationStateList(v []*ApplicationState) *ListApplicationStatesOutput {
  3770  	s.ApplicationStateList = v
  3771  	return s
  3772  }
  3773  
  3774  // SetNextToken sets the NextToken field's value.
  3775  func (s *ListApplicationStatesOutput) SetNextToken(v string) *ListApplicationStatesOutput {
  3776  	s.NextToken = &v
  3777  	return s
  3778  }
  3779  
  3780  type ListCreatedArtifactsInput struct {
  3781  	_ struct{} `type:"structure"`
  3782  
  3783  	// Maximum number of results to be returned per page.
  3784  	MaxResults *int64 `min:"1" type:"integer"`
  3785  
  3786  	// Unique identifier that references the migration task. Do not store personal
  3787  	// data in this field.
  3788  	//
  3789  	// MigrationTaskName is a required field
  3790  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  3791  
  3792  	// If a NextToken was returned by a previous call, there are more results available.
  3793  	// To retrieve the next page of results, make the call again using the returned
  3794  	// token in NextToken.
  3795  	NextToken *string `type:"string"`
  3796  
  3797  	// The name of the ProgressUpdateStream.
  3798  	//
  3799  	// ProgressUpdateStream is a required field
  3800  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  3801  }
  3802  
  3803  // String returns the string representation.
  3804  //
  3805  // API parameter values that are decorated as "sensitive" in the API will not
  3806  // be included in the string output. The member name will be present, but the
  3807  // value will be replaced with "sensitive".
  3808  func (s ListCreatedArtifactsInput) String() string {
  3809  	return awsutil.Prettify(s)
  3810  }
  3811  
  3812  // GoString returns the string representation.
  3813  //
  3814  // API parameter values that are decorated as "sensitive" in the API will not
  3815  // be included in the string output. The member name will be present, but the
  3816  // value will be replaced with "sensitive".
  3817  func (s ListCreatedArtifactsInput) GoString() string {
  3818  	return s.String()
  3819  }
  3820  
  3821  // Validate inspects the fields of the type to determine if they are valid.
  3822  func (s *ListCreatedArtifactsInput) Validate() error {
  3823  	invalidParams := request.ErrInvalidParams{Context: "ListCreatedArtifactsInput"}
  3824  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3825  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3826  	}
  3827  	if s.MigrationTaskName == nil {
  3828  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  3829  	}
  3830  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  3831  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  3832  	}
  3833  	if s.ProgressUpdateStream == nil {
  3834  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  3835  	}
  3836  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  3837  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  3838  	}
  3839  
  3840  	if invalidParams.Len() > 0 {
  3841  		return invalidParams
  3842  	}
  3843  	return nil
  3844  }
  3845  
  3846  // SetMaxResults sets the MaxResults field's value.
  3847  func (s *ListCreatedArtifactsInput) SetMaxResults(v int64) *ListCreatedArtifactsInput {
  3848  	s.MaxResults = &v
  3849  	return s
  3850  }
  3851  
  3852  // SetMigrationTaskName sets the MigrationTaskName field's value.
  3853  func (s *ListCreatedArtifactsInput) SetMigrationTaskName(v string) *ListCreatedArtifactsInput {
  3854  	s.MigrationTaskName = &v
  3855  	return s
  3856  }
  3857  
  3858  // SetNextToken sets the NextToken field's value.
  3859  func (s *ListCreatedArtifactsInput) SetNextToken(v string) *ListCreatedArtifactsInput {
  3860  	s.NextToken = &v
  3861  	return s
  3862  }
  3863  
  3864  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  3865  func (s *ListCreatedArtifactsInput) SetProgressUpdateStream(v string) *ListCreatedArtifactsInput {
  3866  	s.ProgressUpdateStream = &v
  3867  	return s
  3868  }
  3869  
  3870  type ListCreatedArtifactsOutput struct {
  3871  	_ struct{} `type:"structure"`
  3872  
  3873  	// List of created artifacts up to the maximum number of results specified in
  3874  	// the request.
  3875  	CreatedArtifactList []*CreatedArtifact `type:"list"`
  3876  
  3877  	// If there are more created artifacts than the max result, return the next
  3878  	// token to be passed to the next call as a bookmark of where to start from.
  3879  	NextToken *string `type:"string"`
  3880  }
  3881  
  3882  // String returns the string representation.
  3883  //
  3884  // API parameter values that are decorated as "sensitive" in the API will not
  3885  // be included in the string output. The member name will be present, but the
  3886  // value will be replaced with "sensitive".
  3887  func (s ListCreatedArtifactsOutput) String() string {
  3888  	return awsutil.Prettify(s)
  3889  }
  3890  
  3891  // GoString returns the string representation.
  3892  //
  3893  // API parameter values that are decorated as "sensitive" in the API will not
  3894  // be included in the string output. The member name will be present, but the
  3895  // value will be replaced with "sensitive".
  3896  func (s ListCreatedArtifactsOutput) GoString() string {
  3897  	return s.String()
  3898  }
  3899  
  3900  // SetCreatedArtifactList sets the CreatedArtifactList field's value.
  3901  func (s *ListCreatedArtifactsOutput) SetCreatedArtifactList(v []*CreatedArtifact) *ListCreatedArtifactsOutput {
  3902  	s.CreatedArtifactList = v
  3903  	return s
  3904  }
  3905  
  3906  // SetNextToken sets the NextToken field's value.
  3907  func (s *ListCreatedArtifactsOutput) SetNextToken(v string) *ListCreatedArtifactsOutput {
  3908  	s.NextToken = &v
  3909  	return s
  3910  }
  3911  
  3912  type ListDiscoveredResourcesInput struct {
  3913  	_ struct{} `type:"structure"`
  3914  
  3915  	// The maximum number of results returned per page.
  3916  	MaxResults *int64 `min:"1" type:"integer"`
  3917  
  3918  	// The name of the MigrationTask. Do not store personal data in this field.
  3919  	//
  3920  	// MigrationTaskName is a required field
  3921  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  3922  
  3923  	// If a NextToken was returned by a previous call, there are more results available.
  3924  	// To retrieve the next page of results, make the call again using the returned
  3925  	// token in NextToken.
  3926  	NextToken *string `type:"string"`
  3927  
  3928  	// The name of the ProgressUpdateStream.
  3929  	//
  3930  	// ProgressUpdateStream is a required field
  3931  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  3932  }
  3933  
  3934  // String returns the string representation.
  3935  //
  3936  // API parameter values that are decorated as "sensitive" in the API will not
  3937  // be included in the string output. The member name will be present, but the
  3938  // value will be replaced with "sensitive".
  3939  func (s ListDiscoveredResourcesInput) String() string {
  3940  	return awsutil.Prettify(s)
  3941  }
  3942  
  3943  // GoString returns the string representation.
  3944  //
  3945  // API parameter values that are decorated as "sensitive" in the API will not
  3946  // be included in the string output. The member name will be present, but the
  3947  // value will be replaced with "sensitive".
  3948  func (s ListDiscoveredResourcesInput) GoString() string {
  3949  	return s.String()
  3950  }
  3951  
  3952  // Validate inspects the fields of the type to determine if they are valid.
  3953  func (s *ListDiscoveredResourcesInput) Validate() error {
  3954  	invalidParams := request.ErrInvalidParams{Context: "ListDiscoveredResourcesInput"}
  3955  	if s.MaxResults != nil && *s.MaxResults < 1 {
  3956  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  3957  	}
  3958  	if s.MigrationTaskName == nil {
  3959  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  3960  	}
  3961  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  3962  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  3963  	}
  3964  	if s.ProgressUpdateStream == nil {
  3965  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  3966  	}
  3967  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  3968  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  3969  	}
  3970  
  3971  	if invalidParams.Len() > 0 {
  3972  		return invalidParams
  3973  	}
  3974  	return nil
  3975  }
  3976  
  3977  // SetMaxResults sets the MaxResults field's value.
  3978  func (s *ListDiscoveredResourcesInput) SetMaxResults(v int64) *ListDiscoveredResourcesInput {
  3979  	s.MaxResults = &v
  3980  	return s
  3981  }
  3982  
  3983  // SetMigrationTaskName sets the MigrationTaskName field's value.
  3984  func (s *ListDiscoveredResourcesInput) SetMigrationTaskName(v string) *ListDiscoveredResourcesInput {
  3985  	s.MigrationTaskName = &v
  3986  	return s
  3987  }
  3988  
  3989  // SetNextToken sets the NextToken field's value.
  3990  func (s *ListDiscoveredResourcesInput) SetNextToken(v string) *ListDiscoveredResourcesInput {
  3991  	s.NextToken = &v
  3992  	return s
  3993  }
  3994  
  3995  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  3996  func (s *ListDiscoveredResourcesInput) SetProgressUpdateStream(v string) *ListDiscoveredResourcesInput {
  3997  	s.ProgressUpdateStream = &v
  3998  	return s
  3999  }
  4000  
  4001  type ListDiscoveredResourcesOutput struct {
  4002  	_ struct{} `type:"structure"`
  4003  
  4004  	// Returned list of discovered resources associated with the given MigrationTask.
  4005  	DiscoveredResourceList []*DiscoveredResource `type:"list"`
  4006  
  4007  	// If there are more discovered resources than the max result, return the next
  4008  	// token to be passed to the next call as a bookmark of where to start from.
  4009  	NextToken *string `type:"string"`
  4010  }
  4011  
  4012  // String returns the string representation.
  4013  //
  4014  // API parameter values that are decorated as "sensitive" in the API will not
  4015  // be included in the string output. The member name will be present, but the
  4016  // value will be replaced with "sensitive".
  4017  func (s ListDiscoveredResourcesOutput) String() string {
  4018  	return awsutil.Prettify(s)
  4019  }
  4020  
  4021  // GoString returns the string representation.
  4022  //
  4023  // API parameter values that are decorated as "sensitive" in the API will not
  4024  // be included in the string output. The member name will be present, but the
  4025  // value will be replaced with "sensitive".
  4026  func (s ListDiscoveredResourcesOutput) GoString() string {
  4027  	return s.String()
  4028  }
  4029  
  4030  // SetDiscoveredResourceList sets the DiscoveredResourceList field's value.
  4031  func (s *ListDiscoveredResourcesOutput) SetDiscoveredResourceList(v []*DiscoveredResource) *ListDiscoveredResourcesOutput {
  4032  	s.DiscoveredResourceList = v
  4033  	return s
  4034  }
  4035  
  4036  // SetNextToken sets the NextToken field's value.
  4037  func (s *ListDiscoveredResourcesOutput) SetNextToken(v string) *ListDiscoveredResourcesOutput {
  4038  	s.NextToken = &v
  4039  	return s
  4040  }
  4041  
  4042  type ListMigrationTasksInput struct {
  4043  	_ struct{} `type:"structure"`
  4044  
  4045  	// Value to specify how many results are returned per page.
  4046  	MaxResults *int64 `min:"1" type:"integer"`
  4047  
  4048  	// If a NextToken was returned by a previous call, there are more results available.
  4049  	// To retrieve the next page of results, make the call again using the returned
  4050  	// token in NextToken.
  4051  	NextToken *string `type:"string"`
  4052  
  4053  	// Filter migration tasks by discovered resource name.
  4054  	ResourceName *string `min:"1" type:"string"`
  4055  }
  4056  
  4057  // String returns the string representation.
  4058  //
  4059  // API parameter values that are decorated as "sensitive" in the API will not
  4060  // be included in the string output. The member name will be present, but the
  4061  // value will be replaced with "sensitive".
  4062  func (s ListMigrationTasksInput) String() string {
  4063  	return awsutil.Prettify(s)
  4064  }
  4065  
  4066  // GoString returns the string representation.
  4067  //
  4068  // API parameter values that are decorated as "sensitive" in the API will not
  4069  // be included in the string output. The member name will be present, but the
  4070  // value will be replaced with "sensitive".
  4071  func (s ListMigrationTasksInput) GoString() string {
  4072  	return s.String()
  4073  }
  4074  
  4075  // Validate inspects the fields of the type to determine if they are valid.
  4076  func (s *ListMigrationTasksInput) Validate() error {
  4077  	invalidParams := request.ErrInvalidParams{Context: "ListMigrationTasksInput"}
  4078  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4079  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4080  	}
  4081  	if s.ResourceName != nil && len(*s.ResourceName) < 1 {
  4082  		invalidParams.Add(request.NewErrParamMinLen("ResourceName", 1))
  4083  	}
  4084  
  4085  	if invalidParams.Len() > 0 {
  4086  		return invalidParams
  4087  	}
  4088  	return nil
  4089  }
  4090  
  4091  // SetMaxResults sets the MaxResults field's value.
  4092  func (s *ListMigrationTasksInput) SetMaxResults(v int64) *ListMigrationTasksInput {
  4093  	s.MaxResults = &v
  4094  	return s
  4095  }
  4096  
  4097  // SetNextToken sets the NextToken field's value.
  4098  func (s *ListMigrationTasksInput) SetNextToken(v string) *ListMigrationTasksInput {
  4099  	s.NextToken = &v
  4100  	return s
  4101  }
  4102  
  4103  // SetResourceName sets the ResourceName field's value.
  4104  func (s *ListMigrationTasksInput) SetResourceName(v string) *ListMigrationTasksInput {
  4105  	s.ResourceName = &v
  4106  	return s
  4107  }
  4108  
  4109  type ListMigrationTasksOutput struct {
  4110  	_ struct{} `type:"structure"`
  4111  
  4112  	// Lists the migration task's summary which includes: MigrationTaskName, ProgressPercent,
  4113  	// ProgressUpdateStream, Status, and the UpdateDateTime for each task.
  4114  	MigrationTaskSummaryList []*MigrationTaskSummary `type:"list"`
  4115  
  4116  	// If there are more migration tasks than the max result, return the next token
  4117  	// to be passed to the next call as a bookmark of where to start from.
  4118  	NextToken *string `type:"string"`
  4119  }
  4120  
  4121  // String returns the string representation.
  4122  //
  4123  // API parameter values that are decorated as "sensitive" in the API will not
  4124  // be included in the string output. The member name will be present, but the
  4125  // value will be replaced with "sensitive".
  4126  func (s ListMigrationTasksOutput) String() string {
  4127  	return awsutil.Prettify(s)
  4128  }
  4129  
  4130  // GoString returns the string representation.
  4131  //
  4132  // API parameter values that are decorated as "sensitive" in the API will not
  4133  // be included in the string output. The member name will be present, but the
  4134  // value will be replaced with "sensitive".
  4135  func (s ListMigrationTasksOutput) GoString() string {
  4136  	return s.String()
  4137  }
  4138  
  4139  // SetMigrationTaskSummaryList sets the MigrationTaskSummaryList field's value.
  4140  func (s *ListMigrationTasksOutput) SetMigrationTaskSummaryList(v []*MigrationTaskSummary) *ListMigrationTasksOutput {
  4141  	s.MigrationTaskSummaryList = v
  4142  	return s
  4143  }
  4144  
  4145  // SetNextToken sets the NextToken field's value.
  4146  func (s *ListMigrationTasksOutput) SetNextToken(v string) *ListMigrationTasksOutput {
  4147  	s.NextToken = &v
  4148  	return s
  4149  }
  4150  
  4151  type ListProgressUpdateStreamsInput struct {
  4152  	_ struct{} `type:"structure"`
  4153  
  4154  	// Filter to limit the maximum number of results to list per page.
  4155  	MaxResults *int64 `min:"1" type:"integer"`
  4156  
  4157  	// If a NextToken was returned by a previous call, there are more results available.
  4158  	// To retrieve the next page of results, make the call again using the returned
  4159  	// token in NextToken.
  4160  	NextToken *string `type:"string"`
  4161  }
  4162  
  4163  // String returns the string representation.
  4164  //
  4165  // API parameter values that are decorated as "sensitive" in the API will not
  4166  // be included in the string output. The member name will be present, but the
  4167  // value will be replaced with "sensitive".
  4168  func (s ListProgressUpdateStreamsInput) String() string {
  4169  	return awsutil.Prettify(s)
  4170  }
  4171  
  4172  // GoString returns the string representation.
  4173  //
  4174  // API parameter values that are decorated as "sensitive" in the API will not
  4175  // be included in the string output. The member name will be present, but the
  4176  // value will be replaced with "sensitive".
  4177  func (s ListProgressUpdateStreamsInput) GoString() string {
  4178  	return s.String()
  4179  }
  4180  
  4181  // Validate inspects the fields of the type to determine if they are valid.
  4182  func (s *ListProgressUpdateStreamsInput) Validate() error {
  4183  	invalidParams := request.ErrInvalidParams{Context: "ListProgressUpdateStreamsInput"}
  4184  	if s.MaxResults != nil && *s.MaxResults < 1 {
  4185  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  4186  	}
  4187  
  4188  	if invalidParams.Len() > 0 {
  4189  		return invalidParams
  4190  	}
  4191  	return nil
  4192  }
  4193  
  4194  // SetMaxResults sets the MaxResults field's value.
  4195  func (s *ListProgressUpdateStreamsInput) SetMaxResults(v int64) *ListProgressUpdateStreamsInput {
  4196  	s.MaxResults = &v
  4197  	return s
  4198  }
  4199  
  4200  // SetNextToken sets the NextToken field's value.
  4201  func (s *ListProgressUpdateStreamsInput) SetNextToken(v string) *ListProgressUpdateStreamsInput {
  4202  	s.NextToken = &v
  4203  	return s
  4204  }
  4205  
  4206  type ListProgressUpdateStreamsOutput struct {
  4207  	_ struct{} `type:"structure"`
  4208  
  4209  	// If there are more streams created than the max result, return the next token
  4210  	// to be passed to the next call as a bookmark of where to start from.
  4211  	NextToken *string `type:"string"`
  4212  
  4213  	// List of progress update streams up to the max number of results passed in
  4214  	// the input.
  4215  	ProgressUpdateStreamSummaryList []*ProgressUpdateStreamSummary `type:"list"`
  4216  }
  4217  
  4218  // String returns the string representation.
  4219  //
  4220  // API parameter values that are decorated as "sensitive" in the API will not
  4221  // be included in the string output. The member name will be present, but the
  4222  // value will be replaced with "sensitive".
  4223  func (s ListProgressUpdateStreamsOutput) String() string {
  4224  	return awsutil.Prettify(s)
  4225  }
  4226  
  4227  // GoString returns the string representation.
  4228  //
  4229  // API parameter values that are decorated as "sensitive" in the API will not
  4230  // be included in the string output. The member name will be present, but the
  4231  // value will be replaced with "sensitive".
  4232  func (s ListProgressUpdateStreamsOutput) GoString() string {
  4233  	return s.String()
  4234  }
  4235  
  4236  // SetNextToken sets the NextToken field's value.
  4237  func (s *ListProgressUpdateStreamsOutput) SetNextToken(v string) *ListProgressUpdateStreamsOutput {
  4238  	s.NextToken = &v
  4239  	return s
  4240  }
  4241  
  4242  // SetProgressUpdateStreamSummaryList sets the ProgressUpdateStreamSummaryList field's value.
  4243  func (s *ListProgressUpdateStreamsOutput) SetProgressUpdateStreamSummaryList(v []*ProgressUpdateStreamSummary) *ListProgressUpdateStreamsOutput {
  4244  	s.ProgressUpdateStreamSummaryList = v
  4245  	return s
  4246  }
  4247  
  4248  // Represents a migration task in a migration tool.
  4249  type MigrationTask struct {
  4250  	_ struct{} `type:"structure"`
  4251  
  4252  	// Unique identifier that references the migration task. Do not store personal
  4253  	// data in this field.
  4254  	MigrationTaskName *string `min:"1" type:"string"`
  4255  
  4256  	// A name that identifies the vendor of the migration tool being used.
  4257  	ProgressUpdateStream *string `min:"1" type:"string"`
  4258  
  4259  	// Information about the resource that is being migrated. This data will be
  4260  	// used to map the task to a resource in the Application Discovery Service repository.
  4261  	ResourceAttributeList []*ResourceAttribute `type:"list"`
  4262  
  4263  	// Task object encapsulating task information.
  4264  	Task *Task `type:"structure"`
  4265  
  4266  	// The timestamp when the task was gathered.
  4267  	UpdateDateTime *time.Time `type:"timestamp"`
  4268  }
  4269  
  4270  // String returns the string representation.
  4271  //
  4272  // API parameter values that are decorated as "sensitive" in the API will not
  4273  // be included in the string output. The member name will be present, but the
  4274  // value will be replaced with "sensitive".
  4275  func (s MigrationTask) String() string {
  4276  	return awsutil.Prettify(s)
  4277  }
  4278  
  4279  // GoString returns the string representation.
  4280  //
  4281  // API parameter values that are decorated as "sensitive" in the API will not
  4282  // be included in the string output. The member name will be present, but the
  4283  // value will be replaced with "sensitive".
  4284  func (s MigrationTask) GoString() string {
  4285  	return s.String()
  4286  }
  4287  
  4288  // SetMigrationTaskName sets the MigrationTaskName field's value.
  4289  func (s *MigrationTask) SetMigrationTaskName(v string) *MigrationTask {
  4290  	s.MigrationTaskName = &v
  4291  	return s
  4292  }
  4293  
  4294  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  4295  func (s *MigrationTask) SetProgressUpdateStream(v string) *MigrationTask {
  4296  	s.ProgressUpdateStream = &v
  4297  	return s
  4298  }
  4299  
  4300  // SetResourceAttributeList sets the ResourceAttributeList field's value.
  4301  func (s *MigrationTask) SetResourceAttributeList(v []*ResourceAttribute) *MigrationTask {
  4302  	s.ResourceAttributeList = v
  4303  	return s
  4304  }
  4305  
  4306  // SetTask sets the Task field's value.
  4307  func (s *MigrationTask) SetTask(v *Task) *MigrationTask {
  4308  	s.Task = v
  4309  	return s
  4310  }
  4311  
  4312  // SetUpdateDateTime sets the UpdateDateTime field's value.
  4313  func (s *MigrationTask) SetUpdateDateTime(v time.Time) *MigrationTask {
  4314  	s.UpdateDateTime = &v
  4315  	return s
  4316  }
  4317  
  4318  // MigrationTaskSummary includes MigrationTaskName, ProgressPercent, ProgressUpdateStream,
  4319  // Status, and UpdateDateTime for each task.
  4320  type MigrationTaskSummary struct {
  4321  	_ struct{} `type:"structure"`
  4322  
  4323  	// Unique identifier that references the migration task. Do not store personal
  4324  	// data in this field.
  4325  	MigrationTaskName *string `min:"1" type:"string"`
  4326  
  4327  	// Indication of the percentage completion of the task.
  4328  	ProgressPercent *int64 `type:"integer"`
  4329  
  4330  	// An AWS resource used for access control. It should uniquely identify the
  4331  	// migration tool as it is used for all updates made by the tool.
  4332  	ProgressUpdateStream *string `min:"1" type:"string"`
  4333  
  4334  	// Status of the task.
  4335  	Status *string `type:"string" enum:"Status"`
  4336  
  4337  	// Detail information of what is being done within the overall status state.
  4338  	StatusDetail *string `type:"string"`
  4339  
  4340  	// The timestamp when the task was gathered.
  4341  	UpdateDateTime *time.Time `type:"timestamp"`
  4342  }
  4343  
  4344  // String returns the string representation.
  4345  //
  4346  // API parameter values that are decorated as "sensitive" in the API will not
  4347  // be included in the string output. The member name will be present, but the
  4348  // value will be replaced with "sensitive".
  4349  func (s MigrationTaskSummary) String() string {
  4350  	return awsutil.Prettify(s)
  4351  }
  4352  
  4353  // GoString returns the string representation.
  4354  //
  4355  // API parameter values that are decorated as "sensitive" in the API will not
  4356  // be included in the string output. The member name will be present, but the
  4357  // value will be replaced with "sensitive".
  4358  func (s MigrationTaskSummary) GoString() string {
  4359  	return s.String()
  4360  }
  4361  
  4362  // SetMigrationTaskName sets the MigrationTaskName field's value.
  4363  func (s *MigrationTaskSummary) SetMigrationTaskName(v string) *MigrationTaskSummary {
  4364  	s.MigrationTaskName = &v
  4365  	return s
  4366  }
  4367  
  4368  // SetProgressPercent sets the ProgressPercent field's value.
  4369  func (s *MigrationTaskSummary) SetProgressPercent(v int64) *MigrationTaskSummary {
  4370  	s.ProgressPercent = &v
  4371  	return s
  4372  }
  4373  
  4374  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  4375  func (s *MigrationTaskSummary) SetProgressUpdateStream(v string) *MigrationTaskSummary {
  4376  	s.ProgressUpdateStream = &v
  4377  	return s
  4378  }
  4379  
  4380  // SetStatus sets the Status field's value.
  4381  func (s *MigrationTaskSummary) SetStatus(v string) *MigrationTaskSummary {
  4382  	s.Status = &v
  4383  	return s
  4384  }
  4385  
  4386  // SetStatusDetail sets the StatusDetail field's value.
  4387  func (s *MigrationTaskSummary) SetStatusDetail(v string) *MigrationTaskSummary {
  4388  	s.StatusDetail = &v
  4389  	return s
  4390  }
  4391  
  4392  // SetUpdateDateTime sets the UpdateDateTime field's value.
  4393  func (s *MigrationTaskSummary) SetUpdateDateTime(v time.Time) *MigrationTaskSummary {
  4394  	s.UpdateDateTime = &v
  4395  	return s
  4396  }
  4397  
  4398  type NotifyApplicationStateInput struct {
  4399  	_ struct{} `type:"structure"`
  4400  
  4401  	// The configurationId in Application Discovery Service that uniquely identifies
  4402  	// the grouped application.
  4403  	//
  4404  	// ApplicationId is a required field
  4405  	ApplicationId *string `min:"1" type:"string" required:"true"`
  4406  
  4407  	// Optional boolean flag to indicate whether any effect should take place. Used
  4408  	// to test if the caller has permission to make the call.
  4409  	DryRun *bool `type:"boolean"`
  4410  
  4411  	// Status of the application - Not Started, In-Progress, Complete.
  4412  	//
  4413  	// Status is a required field
  4414  	Status *string `type:"string" required:"true" enum:"ApplicationStatus"`
  4415  
  4416  	// The timestamp when the application state changed.
  4417  	UpdateDateTime *time.Time `type:"timestamp"`
  4418  }
  4419  
  4420  // String returns the string representation.
  4421  //
  4422  // API parameter values that are decorated as "sensitive" in the API will not
  4423  // be included in the string output. The member name will be present, but the
  4424  // value will be replaced with "sensitive".
  4425  func (s NotifyApplicationStateInput) String() string {
  4426  	return awsutil.Prettify(s)
  4427  }
  4428  
  4429  // GoString returns the string representation.
  4430  //
  4431  // API parameter values that are decorated as "sensitive" in the API will not
  4432  // be included in the string output. The member name will be present, but the
  4433  // value will be replaced with "sensitive".
  4434  func (s NotifyApplicationStateInput) GoString() string {
  4435  	return s.String()
  4436  }
  4437  
  4438  // Validate inspects the fields of the type to determine if they are valid.
  4439  func (s *NotifyApplicationStateInput) Validate() error {
  4440  	invalidParams := request.ErrInvalidParams{Context: "NotifyApplicationStateInput"}
  4441  	if s.ApplicationId == nil {
  4442  		invalidParams.Add(request.NewErrParamRequired("ApplicationId"))
  4443  	}
  4444  	if s.ApplicationId != nil && len(*s.ApplicationId) < 1 {
  4445  		invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1))
  4446  	}
  4447  	if s.Status == nil {
  4448  		invalidParams.Add(request.NewErrParamRequired("Status"))
  4449  	}
  4450  
  4451  	if invalidParams.Len() > 0 {
  4452  		return invalidParams
  4453  	}
  4454  	return nil
  4455  }
  4456  
  4457  // SetApplicationId sets the ApplicationId field's value.
  4458  func (s *NotifyApplicationStateInput) SetApplicationId(v string) *NotifyApplicationStateInput {
  4459  	s.ApplicationId = &v
  4460  	return s
  4461  }
  4462  
  4463  // SetDryRun sets the DryRun field's value.
  4464  func (s *NotifyApplicationStateInput) SetDryRun(v bool) *NotifyApplicationStateInput {
  4465  	s.DryRun = &v
  4466  	return s
  4467  }
  4468  
  4469  // SetStatus sets the Status field's value.
  4470  func (s *NotifyApplicationStateInput) SetStatus(v string) *NotifyApplicationStateInput {
  4471  	s.Status = &v
  4472  	return s
  4473  }
  4474  
  4475  // SetUpdateDateTime sets the UpdateDateTime field's value.
  4476  func (s *NotifyApplicationStateInput) SetUpdateDateTime(v time.Time) *NotifyApplicationStateInput {
  4477  	s.UpdateDateTime = &v
  4478  	return s
  4479  }
  4480  
  4481  type NotifyApplicationStateOutput struct {
  4482  	_ struct{} `type:"structure"`
  4483  }
  4484  
  4485  // String returns the string representation.
  4486  //
  4487  // API parameter values that are decorated as "sensitive" in the API will not
  4488  // be included in the string output. The member name will be present, but the
  4489  // value will be replaced with "sensitive".
  4490  func (s NotifyApplicationStateOutput) String() string {
  4491  	return awsutil.Prettify(s)
  4492  }
  4493  
  4494  // GoString returns the string representation.
  4495  //
  4496  // API parameter values that are decorated as "sensitive" in the API will not
  4497  // be included in the string output. The member name will be present, but the
  4498  // value will be replaced with "sensitive".
  4499  func (s NotifyApplicationStateOutput) GoString() string {
  4500  	return s.String()
  4501  }
  4502  
  4503  type NotifyMigrationTaskStateInput struct {
  4504  	_ struct{} `type:"structure"`
  4505  
  4506  	// Optional boolean flag to indicate whether any effect should take place. Used
  4507  	// to test if the caller has permission to make the call.
  4508  	DryRun *bool `type:"boolean"`
  4509  
  4510  	// Unique identifier that references the migration task. Do not store personal
  4511  	// data in this field.
  4512  	//
  4513  	// MigrationTaskName is a required field
  4514  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  4515  
  4516  	// Number of seconds after the UpdateDateTime within which the Migration Hub
  4517  	// can expect an update. If Migration Hub does not receive an update within
  4518  	// the specified interval, then the migration task will be considered stale.
  4519  	//
  4520  	// NextUpdateSeconds is a required field
  4521  	NextUpdateSeconds *int64 `type:"integer" required:"true"`
  4522  
  4523  	// The name of the ProgressUpdateStream.
  4524  	//
  4525  	// ProgressUpdateStream is a required field
  4526  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  4527  
  4528  	// Information about the task's progress and status.
  4529  	//
  4530  	// Task is a required field
  4531  	Task *Task `type:"structure" required:"true"`
  4532  
  4533  	// The timestamp when the task was gathered.
  4534  	//
  4535  	// UpdateDateTime is a required field
  4536  	UpdateDateTime *time.Time `type:"timestamp" required:"true"`
  4537  }
  4538  
  4539  // String returns the string representation.
  4540  //
  4541  // API parameter values that are decorated as "sensitive" in the API will not
  4542  // be included in the string output. The member name will be present, but the
  4543  // value will be replaced with "sensitive".
  4544  func (s NotifyMigrationTaskStateInput) String() string {
  4545  	return awsutil.Prettify(s)
  4546  }
  4547  
  4548  // GoString returns the string representation.
  4549  //
  4550  // API parameter values that are decorated as "sensitive" in the API will not
  4551  // be included in the string output. The member name will be present, but the
  4552  // value will be replaced with "sensitive".
  4553  func (s NotifyMigrationTaskStateInput) GoString() string {
  4554  	return s.String()
  4555  }
  4556  
  4557  // Validate inspects the fields of the type to determine if they are valid.
  4558  func (s *NotifyMigrationTaskStateInput) Validate() error {
  4559  	invalidParams := request.ErrInvalidParams{Context: "NotifyMigrationTaskStateInput"}
  4560  	if s.MigrationTaskName == nil {
  4561  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  4562  	}
  4563  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  4564  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  4565  	}
  4566  	if s.NextUpdateSeconds == nil {
  4567  		invalidParams.Add(request.NewErrParamRequired("NextUpdateSeconds"))
  4568  	}
  4569  	if s.ProgressUpdateStream == nil {
  4570  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  4571  	}
  4572  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  4573  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  4574  	}
  4575  	if s.Task == nil {
  4576  		invalidParams.Add(request.NewErrParamRequired("Task"))
  4577  	}
  4578  	if s.UpdateDateTime == nil {
  4579  		invalidParams.Add(request.NewErrParamRequired("UpdateDateTime"))
  4580  	}
  4581  	if s.Task != nil {
  4582  		if err := s.Task.Validate(); err != nil {
  4583  			invalidParams.AddNested("Task", err.(request.ErrInvalidParams))
  4584  		}
  4585  	}
  4586  
  4587  	if invalidParams.Len() > 0 {
  4588  		return invalidParams
  4589  	}
  4590  	return nil
  4591  }
  4592  
  4593  // SetDryRun sets the DryRun field's value.
  4594  func (s *NotifyMigrationTaskStateInput) SetDryRun(v bool) *NotifyMigrationTaskStateInput {
  4595  	s.DryRun = &v
  4596  	return s
  4597  }
  4598  
  4599  // SetMigrationTaskName sets the MigrationTaskName field's value.
  4600  func (s *NotifyMigrationTaskStateInput) SetMigrationTaskName(v string) *NotifyMigrationTaskStateInput {
  4601  	s.MigrationTaskName = &v
  4602  	return s
  4603  }
  4604  
  4605  // SetNextUpdateSeconds sets the NextUpdateSeconds field's value.
  4606  func (s *NotifyMigrationTaskStateInput) SetNextUpdateSeconds(v int64) *NotifyMigrationTaskStateInput {
  4607  	s.NextUpdateSeconds = &v
  4608  	return s
  4609  }
  4610  
  4611  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  4612  func (s *NotifyMigrationTaskStateInput) SetProgressUpdateStream(v string) *NotifyMigrationTaskStateInput {
  4613  	s.ProgressUpdateStream = &v
  4614  	return s
  4615  }
  4616  
  4617  // SetTask sets the Task field's value.
  4618  func (s *NotifyMigrationTaskStateInput) SetTask(v *Task) *NotifyMigrationTaskStateInput {
  4619  	s.Task = v
  4620  	return s
  4621  }
  4622  
  4623  // SetUpdateDateTime sets the UpdateDateTime field's value.
  4624  func (s *NotifyMigrationTaskStateInput) SetUpdateDateTime(v time.Time) *NotifyMigrationTaskStateInput {
  4625  	s.UpdateDateTime = &v
  4626  	return s
  4627  }
  4628  
  4629  type NotifyMigrationTaskStateOutput struct {
  4630  	_ struct{} `type:"structure"`
  4631  }
  4632  
  4633  // String 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 NotifyMigrationTaskStateOutput) String() string {
  4639  	return awsutil.Prettify(s)
  4640  }
  4641  
  4642  // GoString returns the string representation.
  4643  //
  4644  // API parameter values that are decorated as "sensitive" in the API will not
  4645  // be included in the string output. The member name will be present, but the
  4646  // value will be replaced with "sensitive".
  4647  func (s NotifyMigrationTaskStateOutput) GoString() string {
  4648  	return s.String()
  4649  }
  4650  
  4651  // Exception raised when there are problems accessing Application Discovery
  4652  // Service (Application Discovery Service); most likely due to a misconfigured
  4653  // policy or the migrationhub-discovery role is missing or not configured correctly.
  4654  type PolicyErrorException struct {
  4655  	_            struct{}                  `type:"structure"`
  4656  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4657  
  4658  	Message_ *string `locationName:"Message" type:"string"`
  4659  }
  4660  
  4661  // String returns the string representation.
  4662  //
  4663  // API parameter values that are decorated as "sensitive" in the API will not
  4664  // be included in the string output. The member name will be present, but the
  4665  // value will be replaced with "sensitive".
  4666  func (s PolicyErrorException) String() string {
  4667  	return awsutil.Prettify(s)
  4668  }
  4669  
  4670  // GoString returns the string representation.
  4671  //
  4672  // API parameter values that are decorated as "sensitive" in the API will not
  4673  // be included in the string output. The member name will be present, but the
  4674  // value will be replaced with "sensitive".
  4675  func (s PolicyErrorException) GoString() string {
  4676  	return s.String()
  4677  }
  4678  
  4679  func newErrorPolicyErrorException(v protocol.ResponseMetadata) error {
  4680  	return &PolicyErrorException{
  4681  		RespMetadata: v,
  4682  	}
  4683  }
  4684  
  4685  // Code returns the exception type name.
  4686  func (s *PolicyErrorException) Code() string {
  4687  	return "PolicyErrorException"
  4688  }
  4689  
  4690  // Message returns the exception's message.
  4691  func (s *PolicyErrorException) Message() string {
  4692  	if s.Message_ != nil {
  4693  		return *s.Message_
  4694  	}
  4695  	return ""
  4696  }
  4697  
  4698  // OrigErr always returns nil, satisfies awserr.Error interface.
  4699  func (s *PolicyErrorException) OrigErr() error {
  4700  	return nil
  4701  }
  4702  
  4703  func (s *PolicyErrorException) Error() string {
  4704  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4705  }
  4706  
  4707  // Status code returns the HTTP status code for the request's response error.
  4708  func (s *PolicyErrorException) StatusCode() int {
  4709  	return s.RespMetadata.StatusCode
  4710  }
  4711  
  4712  // RequestID returns the service's response RequestID for request.
  4713  func (s *PolicyErrorException) RequestID() string {
  4714  	return s.RespMetadata.RequestID
  4715  }
  4716  
  4717  // Summary of the AWS resource used for access control that is implicitly linked
  4718  // to your AWS account.
  4719  type ProgressUpdateStreamSummary struct {
  4720  	_ struct{} `type:"structure"`
  4721  
  4722  	// The name of the ProgressUpdateStream. Do not store personal data in this
  4723  	// field.
  4724  	ProgressUpdateStreamName *string `min:"1" type:"string"`
  4725  }
  4726  
  4727  // String returns the string representation.
  4728  //
  4729  // API parameter values that are decorated as "sensitive" in the API will not
  4730  // be included in the string output. The member name will be present, but the
  4731  // value will be replaced with "sensitive".
  4732  func (s ProgressUpdateStreamSummary) String() string {
  4733  	return awsutil.Prettify(s)
  4734  }
  4735  
  4736  // GoString returns the string representation.
  4737  //
  4738  // API parameter values that are decorated as "sensitive" in the API will not
  4739  // be included in the string output. The member name will be present, but the
  4740  // value will be replaced with "sensitive".
  4741  func (s ProgressUpdateStreamSummary) GoString() string {
  4742  	return s.String()
  4743  }
  4744  
  4745  // SetProgressUpdateStreamName sets the ProgressUpdateStreamName field's value.
  4746  func (s *ProgressUpdateStreamSummary) SetProgressUpdateStreamName(v string) *ProgressUpdateStreamSummary {
  4747  	s.ProgressUpdateStreamName = &v
  4748  	return s
  4749  }
  4750  
  4751  type PutResourceAttributesInput struct {
  4752  	_ struct{} `type:"structure"`
  4753  
  4754  	// Optional boolean flag to indicate whether any effect should take place. Used
  4755  	// to test if the caller has permission to make the call.
  4756  	DryRun *bool `type:"boolean"`
  4757  
  4758  	// Unique identifier that references the migration task. Do not store personal
  4759  	// data in this field.
  4760  	//
  4761  	// MigrationTaskName is a required field
  4762  	MigrationTaskName *string `min:"1" type:"string" required:"true"`
  4763  
  4764  	// The name of the ProgressUpdateStream.
  4765  	//
  4766  	// ProgressUpdateStream is a required field
  4767  	ProgressUpdateStream *string `min:"1" type:"string" required:"true"`
  4768  
  4769  	// Information about the resource that is being migrated. This data will be
  4770  	// used to map the task to a resource in the Application Discovery Service repository.
  4771  	//
  4772  	// Takes the object array of ResourceAttribute where the Type field is reserved
  4773  	// for the following values: IPV4_ADDRESS | IPV6_ADDRESS | MAC_ADDRESS | FQDN
  4774  	// | VM_MANAGER_ID | VM_MANAGED_OBJECT_REFERENCE | VM_NAME | VM_PATH | BIOS_ID
  4775  	// | MOTHERBOARD_SERIAL_NUMBER where the identifying value can be a string up
  4776  	// to 256 characters.
  4777  	//
  4778  	//    * If any "VM" related value is set for a ResourceAttribute object, it
  4779  	//    is required that VM_MANAGER_ID, as a minimum, is always set. If VM_MANAGER_ID
  4780  	//    is not set, then all "VM" fields will be discarded and "VM" fields will
  4781  	//    not be used for matching the migration task to a server in Application
  4782  	//    Discovery Service repository. See the Example (https://docs.aws.amazon.com/migrationhub/latest/ug/API_PutResourceAttributes.html#API_PutResourceAttributes_Examples)
  4783  	//    section below for a use case of specifying "VM" related values.
  4784  	//
  4785  	//    * If a server you are trying to match has multiple IP or MAC addresses,
  4786  	//    you should provide as many as you know in separate type/value pairs passed
  4787  	//    to the ResourceAttributeList parameter to maximize the chances of matching.
  4788  	//
  4789  	// ResourceAttributeList is a required field
  4790  	ResourceAttributeList []*ResourceAttribute `min:"1" type:"list" required:"true"`
  4791  }
  4792  
  4793  // String returns the string representation.
  4794  //
  4795  // API parameter values that are decorated as "sensitive" in the API will not
  4796  // be included in the string output. The member name will be present, but the
  4797  // value will be replaced with "sensitive".
  4798  func (s PutResourceAttributesInput) String() string {
  4799  	return awsutil.Prettify(s)
  4800  }
  4801  
  4802  // GoString returns the string representation.
  4803  //
  4804  // API parameter values that are decorated as "sensitive" in the API will not
  4805  // be included in the string output. The member name will be present, but the
  4806  // value will be replaced with "sensitive".
  4807  func (s PutResourceAttributesInput) GoString() string {
  4808  	return s.String()
  4809  }
  4810  
  4811  // Validate inspects the fields of the type to determine if they are valid.
  4812  func (s *PutResourceAttributesInput) Validate() error {
  4813  	invalidParams := request.ErrInvalidParams{Context: "PutResourceAttributesInput"}
  4814  	if s.MigrationTaskName == nil {
  4815  		invalidParams.Add(request.NewErrParamRequired("MigrationTaskName"))
  4816  	}
  4817  	if s.MigrationTaskName != nil && len(*s.MigrationTaskName) < 1 {
  4818  		invalidParams.Add(request.NewErrParamMinLen("MigrationTaskName", 1))
  4819  	}
  4820  	if s.ProgressUpdateStream == nil {
  4821  		invalidParams.Add(request.NewErrParamRequired("ProgressUpdateStream"))
  4822  	}
  4823  	if s.ProgressUpdateStream != nil && len(*s.ProgressUpdateStream) < 1 {
  4824  		invalidParams.Add(request.NewErrParamMinLen("ProgressUpdateStream", 1))
  4825  	}
  4826  	if s.ResourceAttributeList == nil {
  4827  		invalidParams.Add(request.NewErrParamRequired("ResourceAttributeList"))
  4828  	}
  4829  	if s.ResourceAttributeList != nil && len(s.ResourceAttributeList) < 1 {
  4830  		invalidParams.Add(request.NewErrParamMinLen("ResourceAttributeList", 1))
  4831  	}
  4832  	if s.ResourceAttributeList != nil {
  4833  		for i, v := range s.ResourceAttributeList {
  4834  			if v == nil {
  4835  				continue
  4836  			}
  4837  			if err := v.Validate(); err != nil {
  4838  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceAttributeList", i), err.(request.ErrInvalidParams))
  4839  			}
  4840  		}
  4841  	}
  4842  
  4843  	if invalidParams.Len() > 0 {
  4844  		return invalidParams
  4845  	}
  4846  	return nil
  4847  }
  4848  
  4849  // SetDryRun sets the DryRun field's value.
  4850  func (s *PutResourceAttributesInput) SetDryRun(v bool) *PutResourceAttributesInput {
  4851  	s.DryRun = &v
  4852  	return s
  4853  }
  4854  
  4855  // SetMigrationTaskName sets the MigrationTaskName field's value.
  4856  func (s *PutResourceAttributesInput) SetMigrationTaskName(v string) *PutResourceAttributesInput {
  4857  	s.MigrationTaskName = &v
  4858  	return s
  4859  }
  4860  
  4861  // SetProgressUpdateStream sets the ProgressUpdateStream field's value.
  4862  func (s *PutResourceAttributesInput) SetProgressUpdateStream(v string) *PutResourceAttributesInput {
  4863  	s.ProgressUpdateStream = &v
  4864  	return s
  4865  }
  4866  
  4867  // SetResourceAttributeList sets the ResourceAttributeList field's value.
  4868  func (s *PutResourceAttributesInput) SetResourceAttributeList(v []*ResourceAttribute) *PutResourceAttributesInput {
  4869  	s.ResourceAttributeList = v
  4870  	return s
  4871  }
  4872  
  4873  type PutResourceAttributesOutput struct {
  4874  	_ struct{} `type:"structure"`
  4875  }
  4876  
  4877  // String returns the string representation.
  4878  //
  4879  // API parameter values that are decorated as "sensitive" in the API will not
  4880  // be included in the string output. The member name will be present, but the
  4881  // value will be replaced with "sensitive".
  4882  func (s PutResourceAttributesOutput) String() string {
  4883  	return awsutil.Prettify(s)
  4884  }
  4885  
  4886  // GoString returns the string representation.
  4887  //
  4888  // API parameter values that are decorated as "sensitive" in the API will not
  4889  // be included in the string output. The member name will be present, but the
  4890  // value will be replaced with "sensitive".
  4891  func (s PutResourceAttributesOutput) GoString() string {
  4892  	return s.String()
  4893  }
  4894  
  4895  // Attribute associated with a resource.
  4896  //
  4897  // Note the corresponding format required per type listed below:
  4898  //
  4899  // IPV4
  4900  //
  4901  // x.x.x.x
  4902  //
  4903  // where x is an integer in the range [0,255]
  4904  //
  4905  // IPV6
  4906  //
  4907  // y : y : y : y : y : y : y : y
  4908  //
  4909  // where y is a hexadecimal between 0 and FFFF. [0, FFFF]
  4910  //
  4911  // MAC_ADDRESS
  4912  //
  4913  // ^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$
  4914  //
  4915  // FQDN
  4916  //
  4917  // ^[^<>{}\\\\/?,=\\p{Cntrl}]{1,256}$
  4918  type ResourceAttribute struct {
  4919  	_ struct{} `type:"structure"`
  4920  
  4921  	// Type of resource.
  4922  	//
  4923  	// Type is a required field
  4924  	Type *string `type:"string" required:"true" enum:"ResourceAttributeType"`
  4925  
  4926  	// Value of the resource type.
  4927  	//
  4928  	// Value is a required field
  4929  	Value *string `min:"1" type:"string" required:"true"`
  4930  }
  4931  
  4932  // String returns the string representation.
  4933  //
  4934  // API parameter values that are decorated as "sensitive" in the API will not
  4935  // be included in the string output. The member name will be present, but the
  4936  // value will be replaced with "sensitive".
  4937  func (s ResourceAttribute) String() string {
  4938  	return awsutil.Prettify(s)
  4939  }
  4940  
  4941  // GoString returns the string representation.
  4942  //
  4943  // API parameter values that are decorated as "sensitive" in the API will not
  4944  // be included in the string output. The member name will be present, but the
  4945  // value will be replaced with "sensitive".
  4946  func (s ResourceAttribute) GoString() string {
  4947  	return s.String()
  4948  }
  4949  
  4950  // Validate inspects the fields of the type to determine if they are valid.
  4951  func (s *ResourceAttribute) Validate() error {
  4952  	invalidParams := request.ErrInvalidParams{Context: "ResourceAttribute"}
  4953  	if s.Type == nil {
  4954  		invalidParams.Add(request.NewErrParamRequired("Type"))
  4955  	}
  4956  	if s.Value == nil {
  4957  		invalidParams.Add(request.NewErrParamRequired("Value"))
  4958  	}
  4959  	if s.Value != nil && len(*s.Value) < 1 {
  4960  		invalidParams.Add(request.NewErrParamMinLen("Value", 1))
  4961  	}
  4962  
  4963  	if invalidParams.Len() > 0 {
  4964  		return invalidParams
  4965  	}
  4966  	return nil
  4967  }
  4968  
  4969  // SetType sets the Type field's value.
  4970  func (s *ResourceAttribute) SetType(v string) *ResourceAttribute {
  4971  	s.Type = &v
  4972  	return s
  4973  }
  4974  
  4975  // SetValue sets the Value field's value.
  4976  func (s *ResourceAttribute) SetValue(v string) *ResourceAttribute {
  4977  	s.Value = &v
  4978  	return s
  4979  }
  4980  
  4981  // Exception raised when the request references a resource (Application Discovery
  4982  // Service configuration, update stream, migration task, etc.) that does not
  4983  // exist in Application Discovery Service (Application Discovery Service) or
  4984  // in Migration Hub's repository.
  4985  type ResourceNotFoundException struct {
  4986  	_            struct{}                  `type:"structure"`
  4987  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4988  
  4989  	Message_ *string `locationName:"Message" type:"string"`
  4990  }
  4991  
  4992  // String returns the string representation.
  4993  //
  4994  // API parameter values that are decorated as "sensitive" in the API will not
  4995  // be included in the string output. The member name will be present, but the
  4996  // value will be replaced with "sensitive".
  4997  func (s ResourceNotFoundException) String() string {
  4998  	return awsutil.Prettify(s)
  4999  }
  5000  
  5001  // GoString returns the string representation.
  5002  //
  5003  // API parameter values that are decorated as "sensitive" in the API will not
  5004  // be included in the string output. The member name will be present, but the
  5005  // value will be replaced with "sensitive".
  5006  func (s ResourceNotFoundException) GoString() string {
  5007  	return s.String()
  5008  }
  5009  
  5010  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  5011  	return &ResourceNotFoundException{
  5012  		RespMetadata: v,
  5013  	}
  5014  }
  5015  
  5016  // Code returns the exception type name.
  5017  func (s *ResourceNotFoundException) Code() string {
  5018  	return "ResourceNotFoundException"
  5019  }
  5020  
  5021  // Message returns the exception's message.
  5022  func (s *ResourceNotFoundException) Message() string {
  5023  	if s.Message_ != nil {
  5024  		return *s.Message_
  5025  	}
  5026  	return ""
  5027  }
  5028  
  5029  // OrigErr always returns nil, satisfies awserr.Error interface.
  5030  func (s *ResourceNotFoundException) OrigErr() error {
  5031  	return nil
  5032  }
  5033  
  5034  func (s *ResourceNotFoundException) Error() string {
  5035  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5036  }
  5037  
  5038  // Status code returns the HTTP status code for the request's response error.
  5039  func (s *ResourceNotFoundException) StatusCode() int {
  5040  	return s.RespMetadata.StatusCode
  5041  }
  5042  
  5043  // RequestID returns the service's response RequestID for request.
  5044  func (s *ResourceNotFoundException) RequestID() string {
  5045  	return s.RespMetadata.RequestID
  5046  }
  5047  
  5048  // Exception raised when there is an internal, configuration, or dependency
  5049  // error encountered.
  5050  type ServiceUnavailableException struct {
  5051  	_            struct{}                  `type:"structure"`
  5052  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5053  
  5054  	Message_ *string `locationName:"Message" type:"string"`
  5055  }
  5056  
  5057  // String returns the string representation.
  5058  //
  5059  // API parameter values that are decorated as "sensitive" in the API will not
  5060  // be included in the string output. The member name will be present, but the
  5061  // value will be replaced with "sensitive".
  5062  func (s ServiceUnavailableException) String() string {
  5063  	return awsutil.Prettify(s)
  5064  }
  5065  
  5066  // GoString returns the string representation.
  5067  //
  5068  // API parameter values that are decorated as "sensitive" in the API will not
  5069  // be included in the string output. The member name will be present, but the
  5070  // value will be replaced with "sensitive".
  5071  func (s ServiceUnavailableException) GoString() string {
  5072  	return s.String()
  5073  }
  5074  
  5075  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
  5076  	return &ServiceUnavailableException{
  5077  		RespMetadata: v,
  5078  	}
  5079  }
  5080  
  5081  // Code returns the exception type name.
  5082  func (s *ServiceUnavailableException) Code() string {
  5083  	return "ServiceUnavailableException"
  5084  }
  5085  
  5086  // Message returns the exception's message.
  5087  func (s *ServiceUnavailableException) Message() string {
  5088  	if s.Message_ != nil {
  5089  		return *s.Message_
  5090  	}
  5091  	return ""
  5092  }
  5093  
  5094  // OrigErr always returns nil, satisfies awserr.Error interface.
  5095  func (s *ServiceUnavailableException) OrigErr() error {
  5096  	return nil
  5097  }
  5098  
  5099  func (s *ServiceUnavailableException) Error() string {
  5100  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5101  }
  5102  
  5103  // Status code returns the HTTP status code for the request's response error.
  5104  func (s *ServiceUnavailableException) StatusCode() int {
  5105  	return s.RespMetadata.StatusCode
  5106  }
  5107  
  5108  // RequestID returns the service's response RequestID for request.
  5109  func (s *ServiceUnavailableException) RequestID() string {
  5110  	return s.RespMetadata.RequestID
  5111  }
  5112  
  5113  // Task object encapsulating task information.
  5114  type Task struct {
  5115  	_ struct{} `type:"structure"`
  5116  
  5117  	// Indication of the percentage completion of the task.
  5118  	ProgressPercent *int64 `type:"integer"`
  5119  
  5120  	// Status of the task - Not Started, In-Progress, Complete.
  5121  	//
  5122  	// Status is a required field
  5123  	Status *string `type:"string" required:"true" enum:"Status"`
  5124  
  5125  	// Details of task status as notified by a migration tool. A tool might use
  5126  	// this field to provide clarifying information about the status that is unique
  5127  	// to that tool or that explains an error state.
  5128  	StatusDetail *string `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 Task) 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 Task) GoString() string {
  5146  	return s.String()
  5147  }
  5148  
  5149  // Validate inspects the fields of the type to determine if they are valid.
  5150  func (s *Task) Validate() error {
  5151  	invalidParams := request.ErrInvalidParams{Context: "Task"}
  5152  	if s.Status == nil {
  5153  		invalidParams.Add(request.NewErrParamRequired("Status"))
  5154  	}
  5155  
  5156  	if invalidParams.Len() > 0 {
  5157  		return invalidParams
  5158  	}
  5159  	return nil
  5160  }
  5161  
  5162  // SetProgressPercent sets the ProgressPercent field's value.
  5163  func (s *Task) SetProgressPercent(v int64) *Task {
  5164  	s.ProgressPercent = &v
  5165  	return s
  5166  }
  5167  
  5168  // SetStatus sets the Status field's value.
  5169  func (s *Task) SetStatus(v string) *Task {
  5170  	s.Status = &v
  5171  	return s
  5172  }
  5173  
  5174  // SetStatusDetail sets the StatusDetail field's value.
  5175  func (s *Task) SetStatusDetail(v string) *Task {
  5176  	s.StatusDetail = &v
  5177  	return s
  5178  }
  5179  
  5180  // The request was denied due to request throttling.
  5181  type ThrottlingException struct {
  5182  	_            struct{}                  `type:"structure"`
  5183  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5184  
  5185  	// A message that provides information about the exception.
  5186  	Message_ *string `locationName:"Message" type:"string"`
  5187  
  5188  	// The number of seconds the caller should wait before retrying.
  5189  	RetryAfterSeconds *int64 `type:"integer"`
  5190  }
  5191  
  5192  // String returns the string representation.
  5193  //
  5194  // API parameter values that are decorated as "sensitive" in the API will not
  5195  // be included in the string output. The member name will be present, but the
  5196  // value will be replaced with "sensitive".
  5197  func (s ThrottlingException) String() string {
  5198  	return awsutil.Prettify(s)
  5199  }
  5200  
  5201  // GoString returns the string representation.
  5202  //
  5203  // API parameter values that are decorated as "sensitive" in the API will not
  5204  // be included in the string output. The member name will be present, but the
  5205  // value will be replaced with "sensitive".
  5206  func (s ThrottlingException) GoString() string {
  5207  	return s.String()
  5208  }
  5209  
  5210  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
  5211  	return &ThrottlingException{
  5212  		RespMetadata: v,
  5213  	}
  5214  }
  5215  
  5216  // Code returns the exception type name.
  5217  func (s *ThrottlingException) Code() string {
  5218  	return "ThrottlingException"
  5219  }
  5220  
  5221  // Message returns the exception's message.
  5222  func (s *ThrottlingException) Message() string {
  5223  	if s.Message_ != nil {
  5224  		return *s.Message_
  5225  	}
  5226  	return ""
  5227  }
  5228  
  5229  // OrigErr always returns nil, satisfies awserr.Error interface.
  5230  func (s *ThrottlingException) OrigErr() error {
  5231  	return nil
  5232  }
  5233  
  5234  func (s *ThrottlingException) Error() string {
  5235  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  5236  }
  5237  
  5238  // Status code returns the HTTP status code for the request's response error.
  5239  func (s *ThrottlingException) StatusCode() int {
  5240  	return s.RespMetadata.StatusCode
  5241  }
  5242  
  5243  // RequestID returns the service's response RequestID for request.
  5244  func (s *ThrottlingException) RequestID() string {
  5245  	return s.RespMetadata.RequestID
  5246  }
  5247  
  5248  // Exception raised to indicate a request was not authorized when the DryRun
  5249  // flag is set to "true".
  5250  type UnauthorizedOperation struct {
  5251  	_            struct{}                  `type:"structure"`
  5252  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5253  
  5254  	Message_ *string `locationName:"Message" type:"string"`
  5255  }
  5256  
  5257  // String returns the string representation.
  5258  //
  5259  // API parameter values that are decorated as "sensitive" in the API will not
  5260  // be included in the string output. The member name will be present, but the
  5261  // value will be replaced with "sensitive".
  5262  func (s UnauthorizedOperation) String() string {
  5263  	return awsutil.Prettify(s)
  5264  }
  5265  
  5266  // GoString returns the string representation.
  5267  //
  5268  // API parameter values that are decorated as "sensitive" in the API will not
  5269  // be included in the string output. The member name will be present, but the
  5270  // value will be replaced with "sensitive".
  5271  func (s UnauthorizedOperation) GoString() string {
  5272  	return s.String()
  5273  }
  5274  
  5275  func newErrorUnauthorizedOperation(v protocol.ResponseMetadata) error {
  5276  	return &UnauthorizedOperation{
  5277  		RespMetadata: v,
  5278  	}
  5279  }
  5280  
  5281  // Code returns the exception type name.
  5282  func (s *UnauthorizedOperation) Code() string {
  5283  	return "UnauthorizedOperation"
  5284  }
  5285  
  5286  // Message returns the exception's message.
  5287  func (s *UnauthorizedOperation) Message() string {
  5288  	if s.Message_ != nil {
  5289  		return *s.Message_
  5290  	}
  5291  	return ""
  5292  }
  5293  
  5294  // OrigErr always returns nil, satisfies awserr.Error interface.
  5295  func (s *UnauthorizedOperation) OrigErr() error {
  5296  	return nil
  5297  }
  5298  
  5299  func (s *UnauthorizedOperation) Error() string {
  5300  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5301  }
  5302  
  5303  // Status code returns the HTTP status code for the request's response error.
  5304  func (s *UnauthorizedOperation) StatusCode() int {
  5305  	return s.RespMetadata.StatusCode
  5306  }
  5307  
  5308  // RequestID returns the service's response RequestID for request.
  5309  func (s *UnauthorizedOperation) RequestID() string {
  5310  	return s.RespMetadata.RequestID
  5311  }
  5312  
  5313  const (
  5314  	// ApplicationStatusNotStarted is a ApplicationStatus enum value
  5315  	ApplicationStatusNotStarted = "NOT_STARTED"
  5316  
  5317  	// ApplicationStatusInProgress is a ApplicationStatus enum value
  5318  	ApplicationStatusInProgress = "IN_PROGRESS"
  5319  
  5320  	// ApplicationStatusCompleted is a ApplicationStatus enum value
  5321  	ApplicationStatusCompleted = "COMPLETED"
  5322  )
  5323  
  5324  // ApplicationStatus_Values returns all elements of the ApplicationStatus enum
  5325  func ApplicationStatus_Values() []string {
  5326  	return []string{
  5327  		ApplicationStatusNotStarted,
  5328  		ApplicationStatusInProgress,
  5329  		ApplicationStatusCompleted,
  5330  	}
  5331  }
  5332  
  5333  const (
  5334  	// ResourceAttributeTypeIpv4Address is a ResourceAttributeType enum value
  5335  	ResourceAttributeTypeIpv4Address = "IPV4_ADDRESS"
  5336  
  5337  	// ResourceAttributeTypeIpv6Address is a ResourceAttributeType enum value
  5338  	ResourceAttributeTypeIpv6Address = "IPV6_ADDRESS"
  5339  
  5340  	// ResourceAttributeTypeMacAddress is a ResourceAttributeType enum value
  5341  	ResourceAttributeTypeMacAddress = "MAC_ADDRESS"
  5342  
  5343  	// ResourceAttributeTypeFqdn is a ResourceAttributeType enum value
  5344  	ResourceAttributeTypeFqdn = "FQDN"
  5345  
  5346  	// ResourceAttributeTypeVmManagerId is a ResourceAttributeType enum value
  5347  	ResourceAttributeTypeVmManagerId = "VM_MANAGER_ID"
  5348  
  5349  	// ResourceAttributeTypeVmManagedObjectReference is a ResourceAttributeType enum value
  5350  	ResourceAttributeTypeVmManagedObjectReference = "VM_MANAGED_OBJECT_REFERENCE"
  5351  
  5352  	// ResourceAttributeTypeVmName is a ResourceAttributeType enum value
  5353  	ResourceAttributeTypeVmName = "VM_NAME"
  5354  
  5355  	// ResourceAttributeTypeVmPath is a ResourceAttributeType enum value
  5356  	ResourceAttributeTypeVmPath = "VM_PATH"
  5357  
  5358  	// ResourceAttributeTypeBiosId is a ResourceAttributeType enum value
  5359  	ResourceAttributeTypeBiosId = "BIOS_ID"
  5360  
  5361  	// ResourceAttributeTypeMotherboardSerialNumber is a ResourceAttributeType enum value
  5362  	ResourceAttributeTypeMotherboardSerialNumber = "MOTHERBOARD_SERIAL_NUMBER"
  5363  )
  5364  
  5365  // ResourceAttributeType_Values returns all elements of the ResourceAttributeType enum
  5366  func ResourceAttributeType_Values() []string {
  5367  	return []string{
  5368  		ResourceAttributeTypeIpv4Address,
  5369  		ResourceAttributeTypeIpv6Address,
  5370  		ResourceAttributeTypeMacAddress,
  5371  		ResourceAttributeTypeFqdn,
  5372  		ResourceAttributeTypeVmManagerId,
  5373  		ResourceAttributeTypeVmManagedObjectReference,
  5374  		ResourceAttributeTypeVmName,
  5375  		ResourceAttributeTypeVmPath,
  5376  		ResourceAttributeTypeBiosId,
  5377  		ResourceAttributeTypeMotherboardSerialNumber,
  5378  	}
  5379  }
  5380  
  5381  const (
  5382  	// StatusNotStarted is a Status enum value
  5383  	StatusNotStarted = "NOT_STARTED"
  5384  
  5385  	// StatusInProgress is a Status enum value
  5386  	StatusInProgress = "IN_PROGRESS"
  5387  
  5388  	// StatusFailed is a Status enum value
  5389  	StatusFailed = "FAILED"
  5390  
  5391  	// StatusCompleted is a Status enum value
  5392  	StatusCompleted = "COMPLETED"
  5393  )
  5394  
  5395  // Status_Values returns all elements of the Status enum
  5396  func Status_Values() []string {
  5397  	return []string{
  5398  		StatusNotStarted,
  5399  		StatusInProgress,
  5400  		StatusFailed,
  5401  		StatusCompleted,
  5402  	}
  5403  }