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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package sms
     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 opCreateApp = "CreateApp"
    17  
    18  // CreateAppRequest generates a "aws/request.Request" representing the
    19  // client's request for the CreateApp 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 CreateApp for more information on using the CreateApp
    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 CreateAppRequest method.
    34  //    req, resp := client.CreateAppRequest(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/sms-2016-10-24/CreateApp
    42  func (c *SMS) CreateAppRequest(input *CreateAppInput) (req *request.Request, output *CreateAppOutput) {
    43  	op := &request.Operation{
    44  		Name:       opCreateApp,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &CreateAppInput{}
    51  	}
    52  
    53  	output = &CreateAppOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // CreateApp API operation for AWS Server Migration Service.
    59  //
    60  // Creates an application. An application consists of one or more server groups.
    61  // Each server group contain one or more servers.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for AWS Server Migration Service's
    68  // API operation CreateApp for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * UnauthorizedOperationException
    72  //   You lack permissions needed to perform this operation. Check your IAM policies,
    73  //   and ensure that you are using the correct access keys.
    74  //
    75  //   * InvalidParameterException
    76  //   A specified parameter is not valid.
    77  //
    78  //   * MissingRequiredParameterException
    79  //   A required parameter is missing.
    80  //
    81  //   * InternalError
    82  //   An internal error occurred.
    83  //
    84  //   * OperationNotPermittedException
    85  //   This operation is not allowed.
    86  //
    87  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateApp
    88  func (c *SMS) CreateApp(input *CreateAppInput) (*CreateAppOutput, error) {
    89  	req, out := c.CreateAppRequest(input)
    90  	return out, req.Send()
    91  }
    92  
    93  // CreateAppWithContext is the same as CreateApp with the addition of
    94  // the ability to pass a context and additional request options.
    95  //
    96  // See CreateApp for details on how to use this API operation.
    97  //
    98  // The context must be non-nil and will be used for request cancellation. If
    99  // the context is nil a panic will occur. In the future the SDK may create
   100  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   101  // for more information on using Contexts.
   102  func (c *SMS) CreateAppWithContext(ctx aws.Context, input *CreateAppInput, opts ...request.Option) (*CreateAppOutput, error) {
   103  	req, out := c.CreateAppRequest(input)
   104  	req.SetContext(ctx)
   105  	req.ApplyOptions(opts...)
   106  	return out, req.Send()
   107  }
   108  
   109  const opCreateReplicationJob = "CreateReplicationJob"
   110  
   111  // CreateReplicationJobRequest generates a "aws/request.Request" representing the
   112  // client's request for the CreateReplicationJob operation. The "output" return
   113  // value will be populated with the request's response once the request completes
   114  // successfully.
   115  //
   116  // Use "Send" method on the returned Request to send the API call to the service.
   117  // the "output" return value is not valid until after Send returns without error.
   118  //
   119  // See CreateReplicationJob for more information on using the CreateReplicationJob
   120  // API call, and error handling.
   121  //
   122  // This method is useful when you want to inject custom logic or configuration
   123  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   124  //
   125  //
   126  //    // Example sending a request using the CreateReplicationJobRequest method.
   127  //    req, resp := client.CreateReplicationJobRequest(params)
   128  //
   129  //    err := req.Send()
   130  //    if err == nil { // resp is now filled
   131  //        fmt.Println(resp)
   132  //    }
   133  //
   134  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateReplicationJob
   135  func (c *SMS) CreateReplicationJobRequest(input *CreateReplicationJobInput) (req *request.Request, output *CreateReplicationJobOutput) {
   136  	op := &request.Operation{
   137  		Name:       opCreateReplicationJob,
   138  		HTTPMethod: "POST",
   139  		HTTPPath:   "/",
   140  	}
   141  
   142  	if input == nil {
   143  		input = &CreateReplicationJobInput{}
   144  	}
   145  
   146  	output = &CreateReplicationJobOutput{}
   147  	req = c.newRequest(op, input, output)
   148  	return
   149  }
   150  
   151  // CreateReplicationJob API operation for AWS Server Migration Service.
   152  //
   153  // Creates a replication job. The replication job schedules periodic replication
   154  // runs to replicate your server to AWS. Each replication run creates an Amazon
   155  // Machine Image (AMI).
   156  //
   157  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   158  // with awserr.Error's Code and Message methods to get detailed information about
   159  // the error.
   160  //
   161  // See the AWS API reference guide for AWS Server Migration Service's
   162  // API operation CreateReplicationJob for usage and error information.
   163  //
   164  // Returned Error Types:
   165  //   * InvalidParameterException
   166  //   A specified parameter is not valid.
   167  //
   168  //   * MissingRequiredParameterException
   169  //   A required parameter is missing.
   170  //
   171  //   * UnauthorizedOperationException
   172  //   You lack permissions needed to perform this operation. Check your IAM policies,
   173  //   and ensure that you are using the correct access keys.
   174  //
   175  //   * OperationNotPermittedException
   176  //   This operation is not allowed.
   177  //
   178  //   * ServerCannotBeReplicatedException
   179  //   The specified server cannot be replicated.
   180  //
   181  //   * ReplicationJobAlreadyExistsException
   182  //   The specified replication job already exists.
   183  //
   184  //   * NoConnectorsAvailableException
   185  //   There are no connectors available.
   186  //
   187  //   * InternalError
   188  //   An internal error occurred.
   189  //
   190  //   * TemporarilyUnavailableException
   191  //   The service is temporarily unavailable.
   192  //
   193  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateReplicationJob
   194  func (c *SMS) CreateReplicationJob(input *CreateReplicationJobInput) (*CreateReplicationJobOutput, error) {
   195  	req, out := c.CreateReplicationJobRequest(input)
   196  	return out, req.Send()
   197  }
   198  
   199  // CreateReplicationJobWithContext is the same as CreateReplicationJob with the addition of
   200  // the ability to pass a context and additional request options.
   201  //
   202  // See CreateReplicationJob for details on how to use this API operation.
   203  //
   204  // The context must be non-nil and will be used for request cancellation. If
   205  // the context is nil a panic will occur. In the future the SDK may create
   206  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   207  // for more information on using Contexts.
   208  func (c *SMS) CreateReplicationJobWithContext(ctx aws.Context, input *CreateReplicationJobInput, opts ...request.Option) (*CreateReplicationJobOutput, error) {
   209  	req, out := c.CreateReplicationJobRequest(input)
   210  	req.SetContext(ctx)
   211  	req.ApplyOptions(opts...)
   212  	return out, req.Send()
   213  }
   214  
   215  const opDeleteApp = "DeleteApp"
   216  
   217  // DeleteAppRequest generates a "aws/request.Request" representing the
   218  // client's request for the DeleteApp operation. The "output" return
   219  // value will be populated with the request's response once the request completes
   220  // successfully.
   221  //
   222  // Use "Send" method on the returned Request to send the API call to the service.
   223  // the "output" return value is not valid until after Send returns without error.
   224  //
   225  // See DeleteApp for more information on using the DeleteApp
   226  // API call, and error handling.
   227  //
   228  // This method is useful when you want to inject custom logic or configuration
   229  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   230  //
   231  //
   232  //    // Example sending a request using the DeleteAppRequest method.
   233  //    req, resp := client.DeleteAppRequest(params)
   234  //
   235  //    err := req.Send()
   236  //    if err == nil { // resp is now filled
   237  //        fmt.Println(resp)
   238  //    }
   239  //
   240  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteApp
   241  func (c *SMS) DeleteAppRequest(input *DeleteAppInput) (req *request.Request, output *DeleteAppOutput) {
   242  	op := &request.Operation{
   243  		Name:       opDeleteApp,
   244  		HTTPMethod: "POST",
   245  		HTTPPath:   "/",
   246  	}
   247  
   248  	if input == nil {
   249  		input = &DeleteAppInput{}
   250  	}
   251  
   252  	output = &DeleteAppOutput{}
   253  	req = c.newRequest(op, input, output)
   254  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   255  	return
   256  }
   257  
   258  // DeleteApp API operation for AWS Server Migration Service.
   259  //
   260  // Deletes the specified application. Optionally deletes the launched stack
   261  // associated with the application and all AWS SMS replication jobs for servers
   262  // in the application.
   263  //
   264  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   265  // with awserr.Error's Code and Message methods to get detailed information about
   266  // the error.
   267  //
   268  // See the AWS API reference guide for AWS Server Migration Service's
   269  // API operation DeleteApp for usage and error information.
   270  //
   271  // Returned Error Types:
   272  //   * UnauthorizedOperationException
   273  //   You lack permissions needed to perform this operation. Check your IAM policies,
   274  //   and ensure that you are using the correct access keys.
   275  //
   276  //   * InvalidParameterException
   277  //   A specified parameter is not valid.
   278  //
   279  //   * MissingRequiredParameterException
   280  //   A required parameter is missing.
   281  //
   282  //   * InternalError
   283  //   An internal error occurred.
   284  //
   285  //   * OperationNotPermittedException
   286  //   This operation is not allowed.
   287  //
   288  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteApp
   289  func (c *SMS) DeleteApp(input *DeleteAppInput) (*DeleteAppOutput, error) {
   290  	req, out := c.DeleteAppRequest(input)
   291  	return out, req.Send()
   292  }
   293  
   294  // DeleteAppWithContext is the same as DeleteApp with the addition of
   295  // the ability to pass a context and additional request options.
   296  //
   297  // See DeleteApp for details on how to use this API operation.
   298  //
   299  // The context must be non-nil and will be used for request cancellation. If
   300  // the context is nil a panic will occur. In the future the SDK may create
   301  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   302  // for more information on using Contexts.
   303  func (c *SMS) DeleteAppWithContext(ctx aws.Context, input *DeleteAppInput, opts ...request.Option) (*DeleteAppOutput, error) {
   304  	req, out := c.DeleteAppRequest(input)
   305  	req.SetContext(ctx)
   306  	req.ApplyOptions(opts...)
   307  	return out, req.Send()
   308  }
   309  
   310  const opDeleteAppLaunchConfiguration = "DeleteAppLaunchConfiguration"
   311  
   312  // DeleteAppLaunchConfigurationRequest generates a "aws/request.Request" representing the
   313  // client's request for the DeleteAppLaunchConfiguration operation. The "output" return
   314  // value will be populated with the request's response once the request completes
   315  // successfully.
   316  //
   317  // Use "Send" method on the returned Request to send the API call to the service.
   318  // the "output" return value is not valid until after Send returns without error.
   319  //
   320  // See DeleteAppLaunchConfiguration for more information on using the DeleteAppLaunchConfiguration
   321  // API call, and error handling.
   322  //
   323  // This method is useful when you want to inject custom logic or configuration
   324  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   325  //
   326  //
   327  //    // Example sending a request using the DeleteAppLaunchConfigurationRequest method.
   328  //    req, resp := client.DeleteAppLaunchConfigurationRequest(params)
   329  //
   330  //    err := req.Send()
   331  //    if err == nil { // resp is now filled
   332  //        fmt.Println(resp)
   333  //    }
   334  //
   335  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppLaunchConfiguration
   336  func (c *SMS) DeleteAppLaunchConfigurationRequest(input *DeleteAppLaunchConfigurationInput) (req *request.Request, output *DeleteAppLaunchConfigurationOutput) {
   337  	op := &request.Operation{
   338  		Name:       opDeleteAppLaunchConfiguration,
   339  		HTTPMethod: "POST",
   340  		HTTPPath:   "/",
   341  	}
   342  
   343  	if input == nil {
   344  		input = &DeleteAppLaunchConfigurationInput{}
   345  	}
   346  
   347  	output = &DeleteAppLaunchConfigurationOutput{}
   348  	req = c.newRequest(op, input, output)
   349  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   350  	return
   351  }
   352  
   353  // DeleteAppLaunchConfiguration API operation for AWS Server Migration Service.
   354  //
   355  // Deletes the launch configuration for the specified application.
   356  //
   357  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   358  // with awserr.Error's Code and Message methods to get detailed information about
   359  // the error.
   360  //
   361  // See the AWS API reference guide for AWS Server Migration Service's
   362  // API operation DeleteAppLaunchConfiguration for usage and error information.
   363  //
   364  // Returned Error Types:
   365  //   * UnauthorizedOperationException
   366  //   You lack permissions needed to perform this operation. Check your IAM policies,
   367  //   and ensure that you are using the correct access keys.
   368  //
   369  //   * InvalidParameterException
   370  //   A specified parameter is not valid.
   371  //
   372  //   * MissingRequiredParameterException
   373  //   A required parameter is missing.
   374  //
   375  //   * InternalError
   376  //   An internal error occurred.
   377  //
   378  //   * OperationNotPermittedException
   379  //   This operation is not allowed.
   380  //
   381  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppLaunchConfiguration
   382  func (c *SMS) DeleteAppLaunchConfiguration(input *DeleteAppLaunchConfigurationInput) (*DeleteAppLaunchConfigurationOutput, error) {
   383  	req, out := c.DeleteAppLaunchConfigurationRequest(input)
   384  	return out, req.Send()
   385  }
   386  
   387  // DeleteAppLaunchConfigurationWithContext is the same as DeleteAppLaunchConfiguration with the addition of
   388  // the ability to pass a context and additional request options.
   389  //
   390  // See DeleteAppLaunchConfiguration for details on how to use this API operation.
   391  //
   392  // The context must be non-nil and will be used for request cancellation. If
   393  // the context is nil a panic will occur. In the future the SDK may create
   394  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   395  // for more information on using Contexts.
   396  func (c *SMS) DeleteAppLaunchConfigurationWithContext(ctx aws.Context, input *DeleteAppLaunchConfigurationInput, opts ...request.Option) (*DeleteAppLaunchConfigurationOutput, error) {
   397  	req, out := c.DeleteAppLaunchConfigurationRequest(input)
   398  	req.SetContext(ctx)
   399  	req.ApplyOptions(opts...)
   400  	return out, req.Send()
   401  }
   402  
   403  const opDeleteAppReplicationConfiguration = "DeleteAppReplicationConfiguration"
   404  
   405  // DeleteAppReplicationConfigurationRequest generates a "aws/request.Request" representing the
   406  // client's request for the DeleteAppReplicationConfiguration operation. The "output" return
   407  // value will be populated with the request's response once the request completes
   408  // successfully.
   409  //
   410  // Use "Send" method on the returned Request to send the API call to the service.
   411  // the "output" return value is not valid until after Send returns without error.
   412  //
   413  // See DeleteAppReplicationConfiguration for more information on using the DeleteAppReplicationConfiguration
   414  // API call, and error handling.
   415  //
   416  // This method is useful when you want to inject custom logic or configuration
   417  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   418  //
   419  //
   420  //    // Example sending a request using the DeleteAppReplicationConfigurationRequest method.
   421  //    req, resp := client.DeleteAppReplicationConfigurationRequest(params)
   422  //
   423  //    err := req.Send()
   424  //    if err == nil { // resp is now filled
   425  //        fmt.Println(resp)
   426  //    }
   427  //
   428  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppReplicationConfiguration
   429  func (c *SMS) DeleteAppReplicationConfigurationRequest(input *DeleteAppReplicationConfigurationInput) (req *request.Request, output *DeleteAppReplicationConfigurationOutput) {
   430  	op := &request.Operation{
   431  		Name:       opDeleteAppReplicationConfiguration,
   432  		HTTPMethod: "POST",
   433  		HTTPPath:   "/",
   434  	}
   435  
   436  	if input == nil {
   437  		input = &DeleteAppReplicationConfigurationInput{}
   438  	}
   439  
   440  	output = &DeleteAppReplicationConfigurationOutput{}
   441  	req = c.newRequest(op, input, output)
   442  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   443  	return
   444  }
   445  
   446  // DeleteAppReplicationConfiguration API operation for AWS Server Migration Service.
   447  //
   448  // Deletes the replication configuration for the specified application.
   449  //
   450  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   451  // with awserr.Error's Code and Message methods to get detailed information about
   452  // the error.
   453  //
   454  // See the AWS API reference guide for AWS Server Migration Service's
   455  // API operation DeleteAppReplicationConfiguration for usage and error information.
   456  //
   457  // Returned Error Types:
   458  //   * UnauthorizedOperationException
   459  //   You lack permissions needed to perform this operation. Check your IAM policies,
   460  //   and ensure that you are using the correct access keys.
   461  //
   462  //   * InvalidParameterException
   463  //   A specified parameter is not valid.
   464  //
   465  //   * MissingRequiredParameterException
   466  //   A required parameter is missing.
   467  //
   468  //   * InternalError
   469  //   An internal error occurred.
   470  //
   471  //   * OperationNotPermittedException
   472  //   This operation is not allowed.
   473  //
   474  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppReplicationConfiguration
   475  func (c *SMS) DeleteAppReplicationConfiguration(input *DeleteAppReplicationConfigurationInput) (*DeleteAppReplicationConfigurationOutput, error) {
   476  	req, out := c.DeleteAppReplicationConfigurationRequest(input)
   477  	return out, req.Send()
   478  }
   479  
   480  // DeleteAppReplicationConfigurationWithContext is the same as DeleteAppReplicationConfiguration with the addition of
   481  // the ability to pass a context and additional request options.
   482  //
   483  // See DeleteAppReplicationConfiguration for details on how to use this API operation.
   484  //
   485  // The context must be non-nil and will be used for request cancellation. If
   486  // the context is nil a panic will occur. In the future the SDK may create
   487  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   488  // for more information on using Contexts.
   489  func (c *SMS) DeleteAppReplicationConfigurationWithContext(ctx aws.Context, input *DeleteAppReplicationConfigurationInput, opts ...request.Option) (*DeleteAppReplicationConfigurationOutput, error) {
   490  	req, out := c.DeleteAppReplicationConfigurationRequest(input)
   491  	req.SetContext(ctx)
   492  	req.ApplyOptions(opts...)
   493  	return out, req.Send()
   494  }
   495  
   496  const opDeleteAppValidationConfiguration = "DeleteAppValidationConfiguration"
   497  
   498  // DeleteAppValidationConfigurationRequest generates a "aws/request.Request" representing the
   499  // client's request for the DeleteAppValidationConfiguration operation. The "output" return
   500  // value will be populated with the request's response once the request completes
   501  // successfully.
   502  //
   503  // Use "Send" method on the returned Request to send the API call to the service.
   504  // the "output" return value is not valid until after Send returns without error.
   505  //
   506  // See DeleteAppValidationConfiguration for more information on using the DeleteAppValidationConfiguration
   507  // API call, and error handling.
   508  //
   509  // This method is useful when you want to inject custom logic or configuration
   510  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   511  //
   512  //
   513  //    // Example sending a request using the DeleteAppValidationConfigurationRequest method.
   514  //    req, resp := client.DeleteAppValidationConfigurationRequest(params)
   515  //
   516  //    err := req.Send()
   517  //    if err == nil { // resp is now filled
   518  //        fmt.Println(resp)
   519  //    }
   520  //
   521  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppValidationConfiguration
   522  func (c *SMS) DeleteAppValidationConfigurationRequest(input *DeleteAppValidationConfigurationInput) (req *request.Request, output *DeleteAppValidationConfigurationOutput) {
   523  	op := &request.Operation{
   524  		Name:       opDeleteAppValidationConfiguration,
   525  		HTTPMethod: "POST",
   526  		HTTPPath:   "/",
   527  	}
   528  
   529  	if input == nil {
   530  		input = &DeleteAppValidationConfigurationInput{}
   531  	}
   532  
   533  	output = &DeleteAppValidationConfigurationOutput{}
   534  	req = c.newRequest(op, input, output)
   535  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   536  	return
   537  }
   538  
   539  // DeleteAppValidationConfiguration API operation for AWS Server Migration Service.
   540  //
   541  // Deletes the validation configuration for the specified application.
   542  //
   543  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   544  // with awserr.Error's Code and Message methods to get detailed information about
   545  // the error.
   546  //
   547  // See the AWS API reference guide for AWS Server Migration Service's
   548  // API operation DeleteAppValidationConfiguration for usage and error information.
   549  //
   550  // Returned Error Types:
   551  //   * UnauthorizedOperationException
   552  //   You lack permissions needed to perform this operation. Check your IAM policies,
   553  //   and ensure that you are using the correct access keys.
   554  //
   555  //   * InvalidParameterException
   556  //   A specified parameter is not valid.
   557  //
   558  //   * MissingRequiredParameterException
   559  //   A required parameter is missing.
   560  //
   561  //   * InternalError
   562  //   An internal error occurred.
   563  //
   564  //   * OperationNotPermittedException
   565  //   This operation is not allowed.
   566  //
   567  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteAppValidationConfiguration
   568  func (c *SMS) DeleteAppValidationConfiguration(input *DeleteAppValidationConfigurationInput) (*DeleteAppValidationConfigurationOutput, error) {
   569  	req, out := c.DeleteAppValidationConfigurationRequest(input)
   570  	return out, req.Send()
   571  }
   572  
   573  // DeleteAppValidationConfigurationWithContext is the same as DeleteAppValidationConfiguration with the addition of
   574  // the ability to pass a context and additional request options.
   575  //
   576  // See DeleteAppValidationConfiguration for details on how to use this API operation.
   577  //
   578  // The context must be non-nil and will be used for request cancellation. If
   579  // the context is nil a panic will occur. In the future the SDK may create
   580  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   581  // for more information on using Contexts.
   582  func (c *SMS) DeleteAppValidationConfigurationWithContext(ctx aws.Context, input *DeleteAppValidationConfigurationInput, opts ...request.Option) (*DeleteAppValidationConfigurationOutput, error) {
   583  	req, out := c.DeleteAppValidationConfigurationRequest(input)
   584  	req.SetContext(ctx)
   585  	req.ApplyOptions(opts...)
   586  	return out, req.Send()
   587  }
   588  
   589  const opDeleteReplicationJob = "DeleteReplicationJob"
   590  
   591  // DeleteReplicationJobRequest generates a "aws/request.Request" representing the
   592  // client's request for the DeleteReplicationJob operation. The "output" return
   593  // value will be populated with the request's response once the request completes
   594  // successfully.
   595  //
   596  // Use "Send" method on the returned Request to send the API call to the service.
   597  // the "output" return value is not valid until after Send returns without error.
   598  //
   599  // See DeleteReplicationJob for more information on using the DeleteReplicationJob
   600  // API call, and error handling.
   601  //
   602  // This method is useful when you want to inject custom logic or configuration
   603  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   604  //
   605  //
   606  //    // Example sending a request using the DeleteReplicationJobRequest method.
   607  //    req, resp := client.DeleteReplicationJobRequest(params)
   608  //
   609  //    err := req.Send()
   610  //    if err == nil { // resp is now filled
   611  //        fmt.Println(resp)
   612  //    }
   613  //
   614  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteReplicationJob
   615  func (c *SMS) DeleteReplicationJobRequest(input *DeleteReplicationJobInput) (req *request.Request, output *DeleteReplicationJobOutput) {
   616  	op := &request.Operation{
   617  		Name:       opDeleteReplicationJob,
   618  		HTTPMethod: "POST",
   619  		HTTPPath:   "/",
   620  	}
   621  
   622  	if input == nil {
   623  		input = &DeleteReplicationJobInput{}
   624  	}
   625  
   626  	output = &DeleteReplicationJobOutput{}
   627  	req = c.newRequest(op, input, output)
   628  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   629  	return
   630  }
   631  
   632  // DeleteReplicationJob API operation for AWS Server Migration Service.
   633  //
   634  // Deletes the specified replication job.
   635  //
   636  // After you delete a replication job, there are no further replication runs.
   637  // AWS deletes the contents of the Amazon S3 bucket used to store AWS SMS artifacts.
   638  // The AMIs created by the replication runs are not deleted.
   639  //
   640  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   641  // with awserr.Error's Code and Message methods to get detailed information about
   642  // the error.
   643  //
   644  // See the AWS API reference guide for AWS Server Migration Service's
   645  // API operation DeleteReplicationJob for usage and error information.
   646  //
   647  // Returned Error Types:
   648  //   * InvalidParameterException
   649  //   A specified parameter is not valid.
   650  //
   651  //   * MissingRequiredParameterException
   652  //   A required parameter is missing.
   653  //
   654  //   * UnauthorizedOperationException
   655  //   You lack permissions needed to perform this operation. Check your IAM policies,
   656  //   and ensure that you are using the correct access keys.
   657  //
   658  //   * OperationNotPermittedException
   659  //   This operation is not allowed.
   660  //
   661  //   * ReplicationJobNotFoundException
   662  //   The specified replication job does not exist.
   663  //
   664  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteReplicationJob
   665  func (c *SMS) DeleteReplicationJob(input *DeleteReplicationJobInput) (*DeleteReplicationJobOutput, error) {
   666  	req, out := c.DeleteReplicationJobRequest(input)
   667  	return out, req.Send()
   668  }
   669  
   670  // DeleteReplicationJobWithContext is the same as DeleteReplicationJob with the addition of
   671  // the ability to pass a context and additional request options.
   672  //
   673  // See DeleteReplicationJob for details on how to use this API operation.
   674  //
   675  // The context must be non-nil and will be used for request cancellation. If
   676  // the context is nil a panic will occur. In the future the SDK may create
   677  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   678  // for more information on using Contexts.
   679  func (c *SMS) DeleteReplicationJobWithContext(ctx aws.Context, input *DeleteReplicationJobInput, opts ...request.Option) (*DeleteReplicationJobOutput, error) {
   680  	req, out := c.DeleteReplicationJobRequest(input)
   681  	req.SetContext(ctx)
   682  	req.ApplyOptions(opts...)
   683  	return out, req.Send()
   684  }
   685  
   686  const opDeleteServerCatalog = "DeleteServerCatalog"
   687  
   688  // DeleteServerCatalogRequest generates a "aws/request.Request" representing the
   689  // client's request for the DeleteServerCatalog operation. The "output" return
   690  // value will be populated with the request's response once the request completes
   691  // successfully.
   692  //
   693  // Use "Send" method on the returned Request to send the API call to the service.
   694  // the "output" return value is not valid until after Send returns without error.
   695  //
   696  // See DeleteServerCatalog for more information on using the DeleteServerCatalog
   697  // API call, and error handling.
   698  //
   699  // This method is useful when you want to inject custom logic or configuration
   700  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   701  //
   702  //
   703  //    // Example sending a request using the DeleteServerCatalogRequest method.
   704  //    req, resp := client.DeleteServerCatalogRequest(params)
   705  //
   706  //    err := req.Send()
   707  //    if err == nil { // resp is now filled
   708  //        fmt.Println(resp)
   709  //    }
   710  //
   711  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteServerCatalog
   712  func (c *SMS) DeleteServerCatalogRequest(input *DeleteServerCatalogInput) (req *request.Request, output *DeleteServerCatalogOutput) {
   713  	op := &request.Operation{
   714  		Name:       opDeleteServerCatalog,
   715  		HTTPMethod: "POST",
   716  		HTTPPath:   "/",
   717  	}
   718  
   719  	if input == nil {
   720  		input = &DeleteServerCatalogInput{}
   721  	}
   722  
   723  	output = &DeleteServerCatalogOutput{}
   724  	req = c.newRequest(op, input, output)
   725  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   726  	return
   727  }
   728  
   729  // DeleteServerCatalog API operation for AWS Server Migration Service.
   730  //
   731  // Deletes all servers from your server catalog.
   732  //
   733  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   734  // with awserr.Error's Code and Message methods to get detailed information about
   735  // the error.
   736  //
   737  // See the AWS API reference guide for AWS Server Migration Service's
   738  // API operation DeleteServerCatalog for usage and error information.
   739  //
   740  // Returned Error Types:
   741  //   * UnauthorizedOperationException
   742  //   You lack permissions needed to perform this operation. Check your IAM policies,
   743  //   and ensure that you are using the correct access keys.
   744  //
   745  //   * OperationNotPermittedException
   746  //   This operation is not allowed.
   747  //
   748  //   * InvalidParameterException
   749  //   A specified parameter is not valid.
   750  //
   751  //   * MissingRequiredParameterException
   752  //   A required parameter is missing.
   753  //
   754  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteServerCatalog
   755  func (c *SMS) DeleteServerCatalog(input *DeleteServerCatalogInput) (*DeleteServerCatalogOutput, error) {
   756  	req, out := c.DeleteServerCatalogRequest(input)
   757  	return out, req.Send()
   758  }
   759  
   760  // DeleteServerCatalogWithContext is the same as DeleteServerCatalog with the addition of
   761  // the ability to pass a context and additional request options.
   762  //
   763  // See DeleteServerCatalog for details on how to use this API operation.
   764  //
   765  // The context must be non-nil and will be used for request cancellation. If
   766  // the context is nil a panic will occur. In the future the SDK may create
   767  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   768  // for more information on using Contexts.
   769  func (c *SMS) DeleteServerCatalogWithContext(ctx aws.Context, input *DeleteServerCatalogInput, opts ...request.Option) (*DeleteServerCatalogOutput, error) {
   770  	req, out := c.DeleteServerCatalogRequest(input)
   771  	req.SetContext(ctx)
   772  	req.ApplyOptions(opts...)
   773  	return out, req.Send()
   774  }
   775  
   776  const opDisassociateConnector = "DisassociateConnector"
   777  
   778  // DisassociateConnectorRequest generates a "aws/request.Request" representing the
   779  // client's request for the DisassociateConnector operation. The "output" return
   780  // value will be populated with the request's response once the request completes
   781  // successfully.
   782  //
   783  // Use "Send" method on the returned Request to send the API call to the service.
   784  // the "output" return value is not valid until after Send returns without error.
   785  //
   786  // See DisassociateConnector for more information on using the DisassociateConnector
   787  // API call, and error handling.
   788  //
   789  // This method is useful when you want to inject custom logic or configuration
   790  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   791  //
   792  //
   793  //    // Example sending a request using the DisassociateConnectorRequest method.
   794  //    req, resp := client.DisassociateConnectorRequest(params)
   795  //
   796  //    err := req.Send()
   797  //    if err == nil { // resp is now filled
   798  //        fmt.Println(resp)
   799  //    }
   800  //
   801  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DisassociateConnector
   802  func (c *SMS) DisassociateConnectorRequest(input *DisassociateConnectorInput) (req *request.Request, output *DisassociateConnectorOutput) {
   803  	op := &request.Operation{
   804  		Name:       opDisassociateConnector,
   805  		HTTPMethod: "POST",
   806  		HTTPPath:   "/",
   807  	}
   808  
   809  	if input == nil {
   810  		input = &DisassociateConnectorInput{}
   811  	}
   812  
   813  	output = &DisassociateConnectorOutput{}
   814  	req = c.newRequest(op, input, output)
   815  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   816  	return
   817  }
   818  
   819  // DisassociateConnector API operation for AWS Server Migration Service.
   820  //
   821  // Disassociates the specified connector from AWS SMS.
   822  //
   823  // After you disassociate a connector, it is no longer available to support
   824  // replication jobs.
   825  //
   826  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   827  // with awserr.Error's Code and Message methods to get detailed information about
   828  // the error.
   829  //
   830  // See the AWS API reference guide for AWS Server Migration Service's
   831  // API operation DisassociateConnector for usage and error information.
   832  //
   833  // Returned Error Types:
   834  //   * MissingRequiredParameterException
   835  //   A required parameter is missing.
   836  //
   837  //   * UnauthorizedOperationException
   838  //   You lack permissions needed to perform this operation. Check your IAM policies,
   839  //   and ensure that you are using the correct access keys.
   840  //
   841  //   * OperationNotPermittedException
   842  //   This operation is not allowed.
   843  //
   844  //   * InvalidParameterException
   845  //   A specified parameter is not valid.
   846  //
   847  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DisassociateConnector
   848  func (c *SMS) DisassociateConnector(input *DisassociateConnectorInput) (*DisassociateConnectorOutput, error) {
   849  	req, out := c.DisassociateConnectorRequest(input)
   850  	return out, req.Send()
   851  }
   852  
   853  // DisassociateConnectorWithContext is the same as DisassociateConnector with the addition of
   854  // the ability to pass a context and additional request options.
   855  //
   856  // See DisassociateConnector for details on how to use this API operation.
   857  //
   858  // The context must be non-nil and will be used for request cancellation. If
   859  // the context is nil a panic will occur. In the future the SDK may create
   860  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   861  // for more information on using Contexts.
   862  func (c *SMS) DisassociateConnectorWithContext(ctx aws.Context, input *DisassociateConnectorInput, opts ...request.Option) (*DisassociateConnectorOutput, error) {
   863  	req, out := c.DisassociateConnectorRequest(input)
   864  	req.SetContext(ctx)
   865  	req.ApplyOptions(opts...)
   866  	return out, req.Send()
   867  }
   868  
   869  const opGenerateChangeSet = "GenerateChangeSet"
   870  
   871  // GenerateChangeSetRequest generates a "aws/request.Request" representing the
   872  // client's request for the GenerateChangeSet operation. The "output" return
   873  // value will be populated with the request's response once the request completes
   874  // successfully.
   875  //
   876  // Use "Send" method on the returned Request to send the API call to the service.
   877  // the "output" return value is not valid until after Send returns without error.
   878  //
   879  // See GenerateChangeSet for more information on using the GenerateChangeSet
   880  // API call, and error handling.
   881  //
   882  // This method is useful when you want to inject custom logic or configuration
   883  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   884  //
   885  //
   886  //    // Example sending a request using the GenerateChangeSetRequest method.
   887  //    req, resp := client.GenerateChangeSetRequest(params)
   888  //
   889  //    err := req.Send()
   890  //    if err == nil { // resp is now filled
   891  //        fmt.Println(resp)
   892  //    }
   893  //
   894  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateChangeSet
   895  func (c *SMS) GenerateChangeSetRequest(input *GenerateChangeSetInput) (req *request.Request, output *GenerateChangeSetOutput) {
   896  	op := &request.Operation{
   897  		Name:       opGenerateChangeSet,
   898  		HTTPMethod: "POST",
   899  		HTTPPath:   "/",
   900  	}
   901  
   902  	if input == nil {
   903  		input = &GenerateChangeSetInput{}
   904  	}
   905  
   906  	output = &GenerateChangeSetOutput{}
   907  	req = c.newRequest(op, input, output)
   908  	return
   909  }
   910  
   911  // GenerateChangeSet API operation for AWS Server Migration Service.
   912  //
   913  // Generates a target change set for a currently launched stack and writes it
   914  // to an Amazon S3 object in the customer’s Amazon S3 bucket.
   915  //
   916  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   917  // with awserr.Error's Code and Message methods to get detailed information about
   918  // the error.
   919  //
   920  // See the AWS API reference guide for AWS Server Migration Service's
   921  // API operation GenerateChangeSet for usage and error information.
   922  //
   923  // Returned Error Types:
   924  //   * UnauthorizedOperationException
   925  //   You lack permissions needed to perform this operation. Check your IAM policies,
   926  //   and ensure that you are using the correct access keys.
   927  //
   928  //   * InvalidParameterException
   929  //   A specified parameter is not valid.
   930  //
   931  //   * MissingRequiredParameterException
   932  //   A required parameter is missing.
   933  //
   934  //   * InternalError
   935  //   An internal error occurred.
   936  //
   937  //   * OperationNotPermittedException
   938  //   This operation is not allowed.
   939  //
   940  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateChangeSet
   941  func (c *SMS) GenerateChangeSet(input *GenerateChangeSetInput) (*GenerateChangeSetOutput, error) {
   942  	req, out := c.GenerateChangeSetRequest(input)
   943  	return out, req.Send()
   944  }
   945  
   946  // GenerateChangeSetWithContext is the same as GenerateChangeSet with the addition of
   947  // the ability to pass a context and additional request options.
   948  //
   949  // See GenerateChangeSet for details on how to use this API operation.
   950  //
   951  // The context must be non-nil and will be used for request cancellation. If
   952  // the context is nil a panic will occur. In the future the SDK may create
   953  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   954  // for more information on using Contexts.
   955  func (c *SMS) GenerateChangeSetWithContext(ctx aws.Context, input *GenerateChangeSetInput, opts ...request.Option) (*GenerateChangeSetOutput, error) {
   956  	req, out := c.GenerateChangeSetRequest(input)
   957  	req.SetContext(ctx)
   958  	req.ApplyOptions(opts...)
   959  	return out, req.Send()
   960  }
   961  
   962  const opGenerateTemplate = "GenerateTemplate"
   963  
   964  // GenerateTemplateRequest generates a "aws/request.Request" representing the
   965  // client's request for the GenerateTemplate operation. The "output" return
   966  // value will be populated with the request's response once the request completes
   967  // successfully.
   968  //
   969  // Use "Send" method on the returned Request to send the API call to the service.
   970  // the "output" return value is not valid until after Send returns without error.
   971  //
   972  // See GenerateTemplate for more information on using the GenerateTemplate
   973  // API call, and error handling.
   974  //
   975  // This method is useful when you want to inject custom logic or configuration
   976  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   977  //
   978  //
   979  //    // Example sending a request using the GenerateTemplateRequest method.
   980  //    req, resp := client.GenerateTemplateRequest(params)
   981  //
   982  //    err := req.Send()
   983  //    if err == nil { // resp is now filled
   984  //        fmt.Println(resp)
   985  //    }
   986  //
   987  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateTemplate
   988  func (c *SMS) GenerateTemplateRequest(input *GenerateTemplateInput) (req *request.Request, output *GenerateTemplateOutput) {
   989  	op := &request.Operation{
   990  		Name:       opGenerateTemplate,
   991  		HTTPMethod: "POST",
   992  		HTTPPath:   "/",
   993  	}
   994  
   995  	if input == nil {
   996  		input = &GenerateTemplateInput{}
   997  	}
   998  
   999  	output = &GenerateTemplateOutput{}
  1000  	req = c.newRequest(op, input, output)
  1001  	return
  1002  }
  1003  
  1004  // GenerateTemplate API operation for AWS Server Migration Service.
  1005  //
  1006  // Generates an AWS CloudFormation template based on the current launch configuration
  1007  // and writes it to an Amazon S3 object in the customer’s Amazon S3 bucket.
  1008  //
  1009  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1010  // with awserr.Error's Code and Message methods to get detailed information about
  1011  // the error.
  1012  //
  1013  // See the AWS API reference guide for AWS Server Migration Service's
  1014  // API operation GenerateTemplate for usage and error information.
  1015  //
  1016  // Returned Error Types:
  1017  //   * UnauthorizedOperationException
  1018  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1019  //   and ensure that you are using the correct access keys.
  1020  //
  1021  //   * InvalidParameterException
  1022  //   A specified parameter is not valid.
  1023  //
  1024  //   * MissingRequiredParameterException
  1025  //   A required parameter is missing.
  1026  //
  1027  //   * InternalError
  1028  //   An internal error occurred.
  1029  //
  1030  //   * OperationNotPermittedException
  1031  //   This operation is not allowed.
  1032  //
  1033  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GenerateTemplate
  1034  func (c *SMS) GenerateTemplate(input *GenerateTemplateInput) (*GenerateTemplateOutput, error) {
  1035  	req, out := c.GenerateTemplateRequest(input)
  1036  	return out, req.Send()
  1037  }
  1038  
  1039  // GenerateTemplateWithContext is the same as GenerateTemplate with the addition of
  1040  // the ability to pass a context and additional request options.
  1041  //
  1042  // See GenerateTemplate for details on how to use this API operation.
  1043  //
  1044  // The context must be non-nil and will be used for request cancellation. If
  1045  // the context is nil a panic will occur. In the future the SDK may create
  1046  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1047  // for more information on using Contexts.
  1048  func (c *SMS) GenerateTemplateWithContext(ctx aws.Context, input *GenerateTemplateInput, opts ...request.Option) (*GenerateTemplateOutput, error) {
  1049  	req, out := c.GenerateTemplateRequest(input)
  1050  	req.SetContext(ctx)
  1051  	req.ApplyOptions(opts...)
  1052  	return out, req.Send()
  1053  }
  1054  
  1055  const opGetApp = "GetApp"
  1056  
  1057  // GetAppRequest generates a "aws/request.Request" representing the
  1058  // client's request for the GetApp operation. The "output" return
  1059  // value will be populated with the request's response once the request completes
  1060  // successfully.
  1061  //
  1062  // Use "Send" method on the returned Request to send the API call to the service.
  1063  // the "output" return value is not valid until after Send returns without error.
  1064  //
  1065  // See GetApp for more information on using the GetApp
  1066  // API call, and error handling.
  1067  //
  1068  // This method is useful when you want to inject custom logic or configuration
  1069  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1070  //
  1071  //
  1072  //    // Example sending a request using the GetAppRequest method.
  1073  //    req, resp := client.GetAppRequest(params)
  1074  //
  1075  //    err := req.Send()
  1076  //    if err == nil { // resp is now filled
  1077  //        fmt.Println(resp)
  1078  //    }
  1079  //
  1080  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetApp
  1081  func (c *SMS) GetAppRequest(input *GetAppInput) (req *request.Request, output *GetAppOutput) {
  1082  	op := &request.Operation{
  1083  		Name:       opGetApp,
  1084  		HTTPMethod: "POST",
  1085  		HTTPPath:   "/",
  1086  	}
  1087  
  1088  	if input == nil {
  1089  		input = &GetAppInput{}
  1090  	}
  1091  
  1092  	output = &GetAppOutput{}
  1093  	req = c.newRequest(op, input, output)
  1094  	return
  1095  }
  1096  
  1097  // GetApp API operation for AWS Server Migration Service.
  1098  //
  1099  // Retrieve information about the specified application.
  1100  //
  1101  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1102  // with awserr.Error's Code and Message methods to get detailed information about
  1103  // the error.
  1104  //
  1105  // See the AWS API reference guide for AWS Server Migration Service's
  1106  // API operation GetApp for usage and error information.
  1107  //
  1108  // Returned Error Types:
  1109  //   * UnauthorizedOperationException
  1110  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1111  //   and ensure that you are using the correct access keys.
  1112  //
  1113  //   * InvalidParameterException
  1114  //   A specified parameter is not valid.
  1115  //
  1116  //   * MissingRequiredParameterException
  1117  //   A required parameter is missing.
  1118  //
  1119  //   * InternalError
  1120  //   An internal error occurred.
  1121  //
  1122  //   * OperationNotPermittedException
  1123  //   This operation is not allowed.
  1124  //
  1125  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetApp
  1126  func (c *SMS) GetApp(input *GetAppInput) (*GetAppOutput, error) {
  1127  	req, out := c.GetAppRequest(input)
  1128  	return out, req.Send()
  1129  }
  1130  
  1131  // GetAppWithContext is the same as GetApp with the addition of
  1132  // the ability to pass a context and additional request options.
  1133  //
  1134  // See GetApp for details on how to use this API operation.
  1135  //
  1136  // The context must be non-nil and will be used for request cancellation. If
  1137  // the context is nil a panic will occur. In the future the SDK may create
  1138  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1139  // for more information on using Contexts.
  1140  func (c *SMS) GetAppWithContext(ctx aws.Context, input *GetAppInput, opts ...request.Option) (*GetAppOutput, error) {
  1141  	req, out := c.GetAppRequest(input)
  1142  	req.SetContext(ctx)
  1143  	req.ApplyOptions(opts...)
  1144  	return out, req.Send()
  1145  }
  1146  
  1147  const opGetAppLaunchConfiguration = "GetAppLaunchConfiguration"
  1148  
  1149  // GetAppLaunchConfigurationRequest generates a "aws/request.Request" representing the
  1150  // client's request for the GetAppLaunchConfiguration operation. The "output" return
  1151  // value will be populated with the request's response once the request completes
  1152  // successfully.
  1153  //
  1154  // Use "Send" method on the returned Request to send the API call to the service.
  1155  // the "output" return value is not valid until after Send returns without error.
  1156  //
  1157  // See GetAppLaunchConfiguration for more information on using the GetAppLaunchConfiguration
  1158  // API call, and error handling.
  1159  //
  1160  // This method is useful when you want to inject custom logic or configuration
  1161  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1162  //
  1163  //
  1164  //    // Example sending a request using the GetAppLaunchConfigurationRequest method.
  1165  //    req, resp := client.GetAppLaunchConfigurationRequest(params)
  1166  //
  1167  //    err := req.Send()
  1168  //    if err == nil { // resp is now filled
  1169  //        fmt.Println(resp)
  1170  //    }
  1171  //
  1172  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppLaunchConfiguration
  1173  func (c *SMS) GetAppLaunchConfigurationRequest(input *GetAppLaunchConfigurationInput) (req *request.Request, output *GetAppLaunchConfigurationOutput) {
  1174  	op := &request.Operation{
  1175  		Name:       opGetAppLaunchConfiguration,
  1176  		HTTPMethod: "POST",
  1177  		HTTPPath:   "/",
  1178  	}
  1179  
  1180  	if input == nil {
  1181  		input = &GetAppLaunchConfigurationInput{}
  1182  	}
  1183  
  1184  	output = &GetAppLaunchConfigurationOutput{}
  1185  	req = c.newRequest(op, input, output)
  1186  	return
  1187  }
  1188  
  1189  // GetAppLaunchConfiguration API operation for AWS Server Migration Service.
  1190  //
  1191  // Retrieves the application launch configuration associated with the specified
  1192  // application.
  1193  //
  1194  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1195  // with awserr.Error's Code and Message methods to get detailed information about
  1196  // the error.
  1197  //
  1198  // See the AWS API reference guide for AWS Server Migration Service's
  1199  // API operation GetAppLaunchConfiguration for usage and error information.
  1200  //
  1201  // Returned Error Types:
  1202  //   * UnauthorizedOperationException
  1203  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1204  //   and ensure that you are using the correct access keys.
  1205  //
  1206  //   * InvalidParameterException
  1207  //   A specified parameter is not valid.
  1208  //
  1209  //   * MissingRequiredParameterException
  1210  //   A required parameter is missing.
  1211  //
  1212  //   * InternalError
  1213  //   An internal error occurred.
  1214  //
  1215  //   * OperationNotPermittedException
  1216  //   This operation is not allowed.
  1217  //
  1218  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppLaunchConfiguration
  1219  func (c *SMS) GetAppLaunchConfiguration(input *GetAppLaunchConfigurationInput) (*GetAppLaunchConfigurationOutput, error) {
  1220  	req, out := c.GetAppLaunchConfigurationRequest(input)
  1221  	return out, req.Send()
  1222  }
  1223  
  1224  // GetAppLaunchConfigurationWithContext is the same as GetAppLaunchConfiguration with the addition of
  1225  // the ability to pass a context and additional request options.
  1226  //
  1227  // See GetAppLaunchConfiguration for details on how to use this API operation.
  1228  //
  1229  // The context must be non-nil and will be used for request cancellation. If
  1230  // the context is nil a panic will occur. In the future the SDK may create
  1231  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1232  // for more information on using Contexts.
  1233  func (c *SMS) GetAppLaunchConfigurationWithContext(ctx aws.Context, input *GetAppLaunchConfigurationInput, opts ...request.Option) (*GetAppLaunchConfigurationOutput, error) {
  1234  	req, out := c.GetAppLaunchConfigurationRequest(input)
  1235  	req.SetContext(ctx)
  1236  	req.ApplyOptions(opts...)
  1237  	return out, req.Send()
  1238  }
  1239  
  1240  const opGetAppReplicationConfiguration = "GetAppReplicationConfiguration"
  1241  
  1242  // GetAppReplicationConfigurationRequest generates a "aws/request.Request" representing the
  1243  // client's request for the GetAppReplicationConfiguration operation. The "output" return
  1244  // value will be populated with the request's response once the request completes
  1245  // successfully.
  1246  //
  1247  // Use "Send" method on the returned Request to send the API call to the service.
  1248  // the "output" return value is not valid until after Send returns without error.
  1249  //
  1250  // See GetAppReplicationConfiguration for more information on using the GetAppReplicationConfiguration
  1251  // API call, and error handling.
  1252  //
  1253  // This method is useful when you want to inject custom logic or configuration
  1254  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1255  //
  1256  //
  1257  //    // Example sending a request using the GetAppReplicationConfigurationRequest method.
  1258  //    req, resp := client.GetAppReplicationConfigurationRequest(params)
  1259  //
  1260  //    err := req.Send()
  1261  //    if err == nil { // resp is now filled
  1262  //        fmt.Println(resp)
  1263  //    }
  1264  //
  1265  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppReplicationConfiguration
  1266  func (c *SMS) GetAppReplicationConfigurationRequest(input *GetAppReplicationConfigurationInput) (req *request.Request, output *GetAppReplicationConfigurationOutput) {
  1267  	op := &request.Operation{
  1268  		Name:       opGetAppReplicationConfiguration,
  1269  		HTTPMethod: "POST",
  1270  		HTTPPath:   "/",
  1271  	}
  1272  
  1273  	if input == nil {
  1274  		input = &GetAppReplicationConfigurationInput{}
  1275  	}
  1276  
  1277  	output = &GetAppReplicationConfigurationOutput{}
  1278  	req = c.newRequest(op, input, output)
  1279  	return
  1280  }
  1281  
  1282  // GetAppReplicationConfiguration API operation for AWS Server Migration Service.
  1283  //
  1284  // Retrieves the application replication configuration associated with the specified
  1285  // application.
  1286  //
  1287  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1288  // with awserr.Error's Code and Message methods to get detailed information about
  1289  // the error.
  1290  //
  1291  // See the AWS API reference guide for AWS Server Migration Service's
  1292  // API operation GetAppReplicationConfiguration for usage and error information.
  1293  //
  1294  // Returned Error Types:
  1295  //   * UnauthorizedOperationException
  1296  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1297  //   and ensure that you are using the correct access keys.
  1298  //
  1299  //   * InvalidParameterException
  1300  //   A specified parameter is not valid.
  1301  //
  1302  //   * MissingRequiredParameterException
  1303  //   A required parameter is missing.
  1304  //
  1305  //   * InternalError
  1306  //   An internal error occurred.
  1307  //
  1308  //   * OperationNotPermittedException
  1309  //   This operation is not allowed.
  1310  //
  1311  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppReplicationConfiguration
  1312  func (c *SMS) GetAppReplicationConfiguration(input *GetAppReplicationConfigurationInput) (*GetAppReplicationConfigurationOutput, error) {
  1313  	req, out := c.GetAppReplicationConfigurationRequest(input)
  1314  	return out, req.Send()
  1315  }
  1316  
  1317  // GetAppReplicationConfigurationWithContext is the same as GetAppReplicationConfiguration with the addition of
  1318  // the ability to pass a context and additional request options.
  1319  //
  1320  // See GetAppReplicationConfiguration for details on how to use this API operation.
  1321  //
  1322  // The context must be non-nil and will be used for request cancellation. If
  1323  // the context is nil a panic will occur. In the future the SDK may create
  1324  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1325  // for more information on using Contexts.
  1326  func (c *SMS) GetAppReplicationConfigurationWithContext(ctx aws.Context, input *GetAppReplicationConfigurationInput, opts ...request.Option) (*GetAppReplicationConfigurationOutput, error) {
  1327  	req, out := c.GetAppReplicationConfigurationRequest(input)
  1328  	req.SetContext(ctx)
  1329  	req.ApplyOptions(opts...)
  1330  	return out, req.Send()
  1331  }
  1332  
  1333  const opGetAppValidationConfiguration = "GetAppValidationConfiguration"
  1334  
  1335  // GetAppValidationConfigurationRequest generates a "aws/request.Request" representing the
  1336  // client's request for the GetAppValidationConfiguration operation. The "output" return
  1337  // value will be populated with the request's response once the request completes
  1338  // successfully.
  1339  //
  1340  // Use "Send" method on the returned Request to send the API call to the service.
  1341  // the "output" return value is not valid until after Send returns without error.
  1342  //
  1343  // See GetAppValidationConfiguration for more information on using the GetAppValidationConfiguration
  1344  // API call, and error handling.
  1345  //
  1346  // This method is useful when you want to inject custom logic or configuration
  1347  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1348  //
  1349  //
  1350  //    // Example sending a request using the GetAppValidationConfigurationRequest method.
  1351  //    req, resp := client.GetAppValidationConfigurationRequest(params)
  1352  //
  1353  //    err := req.Send()
  1354  //    if err == nil { // resp is now filled
  1355  //        fmt.Println(resp)
  1356  //    }
  1357  //
  1358  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppValidationConfiguration
  1359  func (c *SMS) GetAppValidationConfigurationRequest(input *GetAppValidationConfigurationInput) (req *request.Request, output *GetAppValidationConfigurationOutput) {
  1360  	op := &request.Operation{
  1361  		Name:       opGetAppValidationConfiguration,
  1362  		HTTPMethod: "POST",
  1363  		HTTPPath:   "/",
  1364  	}
  1365  
  1366  	if input == nil {
  1367  		input = &GetAppValidationConfigurationInput{}
  1368  	}
  1369  
  1370  	output = &GetAppValidationConfigurationOutput{}
  1371  	req = c.newRequest(op, input, output)
  1372  	return
  1373  }
  1374  
  1375  // GetAppValidationConfiguration API operation for AWS Server Migration Service.
  1376  //
  1377  // Retrieves information about a configuration for validating an application.
  1378  //
  1379  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1380  // with awserr.Error's Code and Message methods to get detailed information about
  1381  // the error.
  1382  //
  1383  // See the AWS API reference guide for AWS Server Migration Service's
  1384  // API operation GetAppValidationConfiguration for usage and error information.
  1385  //
  1386  // Returned Error Types:
  1387  //   * UnauthorizedOperationException
  1388  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1389  //   and ensure that you are using the correct access keys.
  1390  //
  1391  //   * InvalidParameterException
  1392  //   A specified parameter is not valid.
  1393  //
  1394  //   * MissingRequiredParameterException
  1395  //   A required parameter is missing.
  1396  //
  1397  //   * InternalError
  1398  //   An internal error occurred.
  1399  //
  1400  //   * OperationNotPermittedException
  1401  //   This operation is not allowed.
  1402  //
  1403  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppValidationConfiguration
  1404  func (c *SMS) GetAppValidationConfiguration(input *GetAppValidationConfigurationInput) (*GetAppValidationConfigurationOutput, error) {
  1405  	req, out := c.GetAppValidationConfigurationRequest(input)
  1406  	return out, req.Send()
  1407  }
  1408  
  1409  // GetAppValidationConfigurationWithContext is the same as GetAppValidationConfiguration with the addition of
  1410  // the ability to pass a context and additional request options.
  1411  //
  1412  // See GetAppValidationConfiguration for details on how to use this API operation.
  1413  //
  1414  // The context must be non-nil and will be used for request cancellation. If
  1415  // the context is nil a panic will occur. In the future the SDK may create
  1416  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1417  // for more information on using Contexts.
  1418  func (c *SMS) GetAppValidationConfigurationWithContext(ctx aws.Context, input *GetAppValidationConfigurationInput, opts ...request.Option) (*GetAppValidationConfigurationOutput, error) {
  1419  	req, out := c.GetAppValidationConfigurationRequest(input)
  1420  	req.SetContext(ctx)
  1421  	req.ApplyOptions(opts...)
  1422  	return out, req.Send()
  1423  }
  1424  
  1425  const opGetAppValidationOutput = "GetAppValidationOutput"
  1426  
  1427  // GetAppValidationOutputRequest generates a "aws/request.Request" representing the
  1428  // client's request for the GetAppValidationOutput operation. The "output" return
  1429  // value will be populated with the request's response once the request completes
  1430  // successfully.
  1431  //
  1432  // Use "Send" method on the returned Request to send the API call to the service.
  1433  // the "output" return value is not valid until after Send returns without error.
  1434  //
  1435  // See GetAppValidationOutput for more information on using the GetAppValidationOutput
  1436  // API call, and error handling.
  1437  //
  1438  // This method is useful when you want to inject custom logic or configuration
  1439  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1440  //
  1441  //
  1442  //    // Example sending a request using the GetAppValidationOutputRequest method.
  1443  //    req, resp := client.GetAppValidationOutputRequest(params)
  1444  //
  1445  //    err := req.Send()
  1446  //    if err == nil { // resp is now filled
  1447  //        fmt.Println(resp)
  1448  //    }
  1449  //
  1450  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppValidationOutput
  1451  func (c *SMS) GetAppValidationOutputRequest(input *GetAppValidationOutputInput) (req *request.Request, output *GetAppValidationOutputOutput) {
  1452  	op := &request.Operation{
  1453  		Name:       opGetAppValidationOutput,
  1454  		HTTPMethod: "POST",
  1455  		HTTPPath:   "/",
  1456  	}
  1457  
  1458  	if input == nil {
  1459  		input = &GetAppValidationOutputInput{}
  1460  	}
  1461  
  1462  	output = &GetAppValidationOutputOutput{}
  1463  	req = c.newRequest(op, input, output)
  1464  	return
  1465  }
  1466  
  1467  // GetAppValidationOutput API operation for AWS Server Migration Service.
  1468  //
  1469  // Retrieves output from validating an application.
  1470  //
  1471  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1472  // with awserr.Error's Code and Message methods to get detailed information about
  1473  // the error.
  1474  //
  1475  // See the AWS API reference guide for AWS Server Migration Service's
  1476  // API operation GetAppValidationOutput for usage and error information.
  1477  //
  1478  // Returned Error Types:
  1479  //   * UnauthorizedOperationException
  1480  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1481  //   and ensure that you are using the correct access keys.
  1482  //
  1483  //   * InvalidParameterException
  1484  //   A specified parameter is not valid.
  1485  //
  1486  //   * MissingRequiredParameterException
  1487  //   A required parameter is missing.
  1488  //
  1489  //   * InternalError
  1490  //   An internal error occurred.
  1491  //
  1492  //   * OperationNotPermittedException
  1493  //   This operation is not allowed.
  1494  //
  1495  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetAppValidationOutput
  1496  func (c *SMS) GetAppValidationOutput(input *GetAppValidationOutputInput) (*GetAppValidationOutputOutput, error) {
  1497  	req, out := c.GetAppValidationOutputRequest(input)
  1498  	return out, req.Send()
  1499  }
  1500  
  1501  // GetAppValidationOutputWithContext is the same as GetAppValidationOutput with the addition of
  1502  // the ability to pass a context and additional request options.
  1503  //
  1504  // See GetAppValidationOutput for details on how to use this API operation.
  1505  //
  1506  // The context must be non-nil and will be used for request cancellation. If
  1507  // the context is nil a panic will occur. In the future the SDK may create
  1508  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1509  // for more information on using Contexts.
  1510  func (c *SMS) GetAppValidationOutputWithContext(ctx aws.Context, input *GetAppValidationOutputInput, opts ...request.Option) (*GetAppValidationOutputOutput, error) {
  1511  	req, out := c.GetAppValidationOutputRequest(input)
  1512  	req.SetContext(ctx)
  1513  	req.ApplyOptions(opts...)
  1514  	return out, req.Send()
  1515  }
  1516  
  1517  const opGetConnectors = "GetConnectors"
  1518  
  1519  // GetConnectorsRequest generates a "aws/request.Request" representing the
  1520  // client's request for the GetConnectors operation. The "output" return
  1521  // value will be populated with the request's response once the request completes
  1522  // successfully.
  1523  //
  1524  // Use "Send" method on the returned Request to send the API call to the service.
  1525  // the "output" return value is not valid until after Send returns without error.
  1526  //
  1527  // See GetConnectors for more information on using the GetConnectors
  1528  // API call, and error handling.
  1529  //
  1530  // This method is useful when you want to inject custom logic or configuration
  1531  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1532  //
  1533  //
  1534  //    // Example sending a request using the GetConnectorsRequest method.
  1535  //    req, resp := client.GetConnectorsRequest(params)
  1536  //
  1537  //    err := req.Send()
  1538  //    if err == nil { // resp is now filled
  1539  //        fmt.Println(resp)
  1540  //    }
  1541  //
  1542  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetConnectors
  1543  func (c *SMS) GetConnectorsRequest(input *GetConnectorsInput) (req *request.Request, output *GetConnectorsOutput) {
  1544  	op := &request.Operation{
  1545  		Name:       opGetConnectors,
  1546  		HTTPMethod: "POST",
  1547  		HTTPPath:   "/",
  1548  		Paginator: &request.Paginator{
  1549  			InputTokens:     []string{"nextToken"},
  1550  			OutputTokens:    []string{"nextToken"},
  1551  			LimitToken:      "maxResults",
  1552  			TruncationToken: "",
  1553  		},
  1554  	}
  1555  
  1556  	if input == nil {
  1557  		input = &GetConnectorsInput{}
  1558  	}
  1559  
  1560  	output = &GetConnectorsOutput{}
  1561  	req = c.newRequest(op, input, output)
  1562  	return
  1563  }
  1564  
  1565  // GetConnectors API operation for AWS Server Migration Service.
  1566  //
  1567  // Describes the connectors registered with the AWS SMS.
  1568  //
  1569  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1570  // with awserr.Error's Code and Message methods to get detailed information about
  1571  // the error.
  1572  //
  1573  // See the AWS API reference guide for AWS Server Migration Service's
  1574  // API operation GetConnectors for usage and error information.
  1575  //
  1576  // Returned Error Types:
  1577  //   * UnauthorizedOperationException
  1578  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1579  //   and ensure that you are using the correct access keys.
  1580  //
  1581  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetConnectors
  1582  func (c *SMS) GetConnectors(input *GetConnectorsInput) (*GetConnectorsOutput, error) {
  1583  	req, out := c.GetConnectorsRequest(input)
  1584  	return out, req.Send()
  1585  }
  1586  
  1587  // GetConnectorsWithContext is the same as GetConnectors with the addition of
  1588  // the ability to pass a context and additional request options.
  1589  //
  1590  // See GetConnectors for details on how to use this API operation.
  1591  //
  1592  // The context must be non-nil and will be used for request cancellation. If
  1593  // the context is nil a panic will occur. In the future the SDK may create
  1594  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1595  // for more information on using Contexts.
  1596  func (c *SMS) GetConnectorsWithContext(ctx aws.Context, input *GetConnectorsInput, opts ...request.Option) (*GetConnectorsOutput, error) {
  1597  	req, out := c.GetConnectorsRequest(input)
  1598  	req.SetContext(ctx)
  1599  	req.ApplyOptions(opts...)
  1600  	return out, req.Send()
  1601  }
  1602  
  1603  // GetConnectorsPages iterates over the pages of a GetConnectors operation,
  1604  // calling the "fn" function with the response data for each page. To stop
  1605  // iterating, return false from the fn function.
  1606  //
  1607  // See GetConnectors method for more information on how to use this operation.
  1608  //
  1609  // Note: This operation can generate multiple requests to a service.
  1610  //
  1611  //    // Example iterating over at most 3 pages of a GetConnectors operation.
  1612  //    pageNum := 0
  1613  //    err := client.GetConnectorsPages(params,
  1614  //        func(page *sms.GetConnectorsOutput, lastPage bool) bool {
  1615  //            pageNum++
  1616  //            fmt.Println(page)
  1617  //            return pageNum <= 3
  1618  //        })
  1619  //
  1620  func (c *SMS) GetConnectorsPages(input *GetConnectorsInput, fn func(*GetConnectorsOutput, bool) bool) error {
  1621  	return c.GetConnectorsPagesWithContext(aws.BackgroundContext(), input, fn)
  1622  }
  1623  
  1624  // GetConnectorsPagesWithContext same as GetConnectorsPages except
  1625  // it takes a Context and allows setting request options on the pages.
  1626  //
  1627  // The context must be non-nil and will be used for request cancellation. If
  1628  // the context is nil a panic will occur. In the future the SDK may create
  1629  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1630  // for more information on using Contexts.
  1631  func (c *SMS) GetConnectorsPagesWithContext(ctx aws.Context, input *GetConnectorsInput, fn func(*GetConnectorsOutput, bool) bool, opts ...request.Option) error {
  1632  	p := request.Pagination{
  1633  		NewRequest: func() (*request.Request, error) {
  1634  			var inCpy *GetConnectorsInput
  1635  			if input != nil {
  1636  				tmp := *input
  1637  				inCpy = &tmp
  1638  			}
  1639  			req, _ := c.GetConnectorsRequest(inCpy)
  1640  			req.SetContext(ctx)
  1641  			req.ApplyOptions(opts...)
  1642  			return req, nil
  1643  		},
  1644  	}
  1645  
  1646  	for p.Next() {
  1647  		if !fn(p.Page().(*GetConnectorsOutput), !p.HasNextPage()) {
  1648  			break
  1649  		}
  1650  	}
  1651  
  1652  	return p.Err()
  1653  }
  1654  
  1655  const opGetReplicationJobs = "GetReplicationJobs"
  1656  
  1657  // GetReplicationJobsRequest generates a "aws/request.Request" representing the
  1658  // client's request for the GetReplicationJobs operation. The "output" return
  1659  // value will be populated with the request's response once the request completes
  1660  // successfully.
  1661  //
  1662  // Use "Send" method on the returned Request to send the API call to the service.
  1663  // the "output" return value is not valid until after Send returns without error.
  1664  //
  1665  // See GetReplicationJobs for more information on using the GetReplicationJobs
  1666  // API call, and error handling.
  1667  //
  1668  // This method is useful when you want to inject custom logic or configuration
  1669  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1670  //
  1671  //
  1672  //    // Example sending a request using the GetReplicationJobsRequest method.
  1673  //    req, resp := client.GetReplicationJobsRequest(params)
  1674  //
  1675  //    err := req.Send()
  1676  //    if err == nil { // resp is now filled
  1677  //        fmt.Println(resp)
  1678  //    }
  1679  //
  1680  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationJobs
  1681  func (c *SMS) GetReplicationJobsRequest(input *GetReplicationJobsInput) (req *request.Request, output *GetReplicationJobsOutput) {
  1682  	op := &request.Operation{
  1683  		Name:       opGetReplicationJobs,
  1684  		HTTPMethod: "POST",
  1685  		HTTPPath:   "/",
  1686  		Paginator: &request.Paginator{
  1687  			InputTokens:     []string{"nextToken"},
  1688  			OutputTokens:    []string{"nextToken"},
  1689  			LimitToken:      "maxResults",
  1690  			TruncationToken: "",
  1691  		},
  1692  	}
  1693  
  1694  	if input == nil {
  1695  		input = &GetReplicationJobsInput{}
  1696  	}
  1697  
  1698  	output = &GetReplicationJobsOutput{}
  1699  	req = c.newRequest(op, input, output)
  1700  	return
  1701  }
  1702  
  1703  // GetReplicationJobs API operation for AWS Server Migration Service.
  1704  //
  1705  // Describes the specified replication job or all of your replication jobs.
  1706  //
  1707  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1708  // with awserr.Error's Code and Message methods to get detailed information about
  1709  // the error.
  1710  //
  1711  // See the AWS API reference guide for AWS Server Migration Service's
  1712  // API operation GetReplicationJobs for usage and error information.
  1713  //
  1714  // Returned Error Types:
  1715  //   * InvalidParameterException
  1716  //   A specified parameter is not valid.
  1717  //
  1718  //   * MissingRequiredParameterException
  1719  //   A required parameter is missing.
  1720  //
  1721  //   * UnauthorizedOperationException
  1722  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1723  //   and ensure that you are using the correct access keys.
  1724  //
  1725  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationJobs
  1726  func (c *SMS) GetReplicationJobs(input *GetReplicationJobsInput) (*GetReplicationJobsOutput, error) {
  1727  	req, out := c.GetReplicationJobsRequest(input)
  1728  	return out, req.Send()
  1729  }
  1730  
  1731  // GetReplicationJobsWithContext is the same as GetReplicationJobs with the addition of
  1732  // the ability to pass a context and additional request options.
  1733  //
  1734  // See GetReplicationJobs for details on how to use this API operation.
  1735  //
  1736  // The context must be non-nil and will be used for request cancellation. If
  1737  // the context is nil a panic will occur. In the future the SDK may create
  1738  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1739  // for more information on using Contexts.
  1740  func (c *SMS) GetReplicationJobsWithContext(ctx aws.Context, input *GetReplicationJobsInput, opts ...request.Option) (*GetReplicationJobsOutput, error) {
  1741  	req, out := c.GetReplicationJobsRequest(input)
  1742  	req.SetContext(ctx)
  1743  	req.ApplyOptions(opts...)
  1744  	return out, req.Send()
  1745  }
  1746  
  1747  // GetReplicationJobsPages iterates over the pages of a GetReplicationJobs operation,
  1748  // calling the "fn" function with the response data for each page. To stop
  1749  // iterating, return false from the fn function.
  1750  //
  1751  // See GetReplicationJobs method for more information on how to use this operation.
  1752  //
  1753  // Note: This operation can generate multiple requests to a service.
  1754  //
  1755  //    // Example iterating over at most 3 pages of a GetReplicationJobs operation.
  1756  //    pageNum := 0
  1757  //    err := client.GetReplicationJobsPages(params,
  1758  //        func(page *sms.GetReplicationJobsOutput, lastPage bool) bool {
  1759  //            pageNum++
  1760  //            fmt.Println(page)
  1761  //            return pageNum <= 3
  1762  //        })
  1763  //
  1764  func (c *SMS) GetReplicationJobsPages(input *GetReplicationJobsInput, fn func(*GetReplicationJobsOutput, bool) bool) error {
  1765  	return c.GetReplicationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  1766  }
  1767  
  1768  // GetReplicationJobsPagesWithContext same as GetReplicationJobsPages except
  1769  // it takes a Context and allows setting request options on the pages.
  1770  //
  1771  // The context must be non-nil and will be used for request cancellation. If
  1772  // the context is nil a panic will occur. In the future the SDK may create
  1773  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1774  // for more information on using Contexts.
  1775  func (c *SMS) GetReplicationJobsPagesWithContext(ctx aws.Context, input *GetReplicationJobsInput, fn func(*GetReplicationJobsOutput, bool) bool, opts ...request.Option) error {
  1776  	p := request.Pagination{
  1777  		NewRequest: func() (*request.Request, error) {
  1778  			var inCpy *GetReplicationJobsInput
  1779  			if input != nil {
  1780  				tmp := *input
  1781  				inCpy = &tmp
  1782  			}
  1783  			req, _ := c.GetReplicationJobsRequest(inCpy)
  1784  			req.SetContext(ctx)
  1785  			req.ApplyOptions(opts...)
  1786  			return req, nil
  1787  		},
  1788  	}
  1789  
  1790  	for p.Next() {
  1791  		if !fn(p.Page().(*GetReplicationJobsOutput), !p.HasNextPage()) {
  1792  			break
  1793  		}
  1794  	}
  1795  
  1796  	return p.Err()
  1797  }
  1798  
  1799  const opGetReplicationRuns = "GetReplicationRuns"
  1800  
  1801  // GetReplicationRunsRequest generates a "aws/request.Request" representing the
  1802  // client's request for the GetReplicationRuns operation. The "output" return
  1803  // value will be populated with the request's response once the request completes
  1804  // successfully.
  1805  //
  1806  // Use "Send" method on the returned Request to send the API call to the service.
  1807  // the "output" return value is not valid until after Send returns without error.
  1808  //
  1809  // See GetReplicationRuns for more information on using the GetReplicationRuns
  1810  // API call, and error handling.
  1811  //
  1812  // This method is useful when you want to inject custom logic or configuration
  1813  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1814  //
  1815  //
  1816  //    // Example sending a request using the GetReplicationRunsRequest method.
  1817  //    req, resp := client.GetReplicationRunsRequest(params)
  1818  //
  1819  //    err := req.Send()
  1820  //    if err == nil { // resp is now filled
  1821  //        fmt.Println(resp)
  1822  //    }
  1823  //
  1824  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationRuns
  1825  func (c *SMS) GetReplicationRunsRequest(input *GetReplicationRunsInput) (req *request.Request, output *GetReplicationRunsOutput) {
  1826  	op := &request.Operation{
  1827  		Name:       opGetReplicationRuns,
  1828  		HTTPMethod: "POST",
  1829  		HTTPPath:   "/",
  1830  		Paginator: &request.Paginator{
  1831  			InputTokens:     []string{"nextToken"},
  1832  			OutputTokens:    []string{"nextToken"},
  1833  			LimitToken:      "maxResults",
  1834  			TruncationToken: "",
  1835  		},
  1836  	}
  1837  
  1838  	if input == nil {
  1839  		input = &GetReplicationRunsInput{}
  1840  	}
  1841  
  1842  	output = &GetReplicationRunsOutput{}
  1843  	req = c.newRequest(op, input, output)
  1844  	return
  1845  }
  1846  
  1847  // GetReplicationRuns API operation for AWS Server Migration Service.
  1848  //
  1849  // Describes the replication runs for the specified replication job.
  1850  //
  1851  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1852  // with awserr.Error's Code and Message methods to get detailed information about
  1853  // the error.
  1854  //
  1855  // See the AWS API reference guide for AWS Server Migration Service's
  1856  // API operation GetReplicationRuns for usage and error information.
  1857  //
  1858  // Returned Error Types:
  1859  //   * InvalidParameterException
  1860  //   A specified parameter is not valid.
  1861  //
  1862  //   * MissingRequiredParameterException
  1863  //   A required parameter is missing.
  1864  //
  1865  //   * UnauthorizedOperationException
  1866  //   You lack permissions needed to perform this operation. Check your IAM policies,
  1867  //   and ensure that you are using the correct access keys.
  1868  //
  1869  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationRuns
  1870  func (c *SMS) GetReplicationRuns(input *GetReplicationRunsInput) (*GetReplicationRunsOutput, error) {
  1871  	req, out := c.GetReplicationRunsRequest(input)
  1872  	return out, req.Send()
  1873  }
  1874  
  1875  // GetReplicationRunsWithContext is the same as GetReplicationRuns with the addition of
  1876  // the ability to pass a context and additional request options.
  1877  //
  1878  // See GetReplicationRuns for details on how to use this API operation.
  1879  //
  1880  // The context must be non-nil and will be used for request cancellation. If
  1881  // the context is nil a panic will occur. In the future the SDK may create
  1882  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1883  // for more information on using Contexts.
  1884  func (c *SMS) GetReplicationRunsWithContext(ctx aws.Context, input *GetReplicationRunsInput, opts ...request.Option) (*GetReplicationRunsOutput, error) {
  1885  	req, out := c.GetReplicationRunsRequest(input)
  1886  	req.SetContext(ctx)
  1887  	req.ApplyOptions(opts...)
  1888  	return out, req.Send()
  1889  }
  1890  
  1891  // GetReplicationRunsPages iterates over the pages of a GetReplicationRuns operation,
  1892  // calling the "fn" function with the response data for each page. To stop
  1893  // iterating, return false from the fn function.
  1894  //
  1895  // See GetReplicationRuns method for more information on how to use this operation.
  1896  //
  1897  // Note: This operation can generate multiple requests to a service.
  1898  //
  1899  //    // Example iterating over at most 3 pages of a GetReplicationRuns operation.
  1900  //    pageNum := 0
  1901  //    err := client.GetReplicationRunsPages(params,
  1902  //        func(page *sms.GetReplicationRunsOutput, lastPage bool) bool {
  1903  //            pageNum++
  1904  //            fmt.Println(page)
  1905  //            return pageNum <= 3
  1906  //        })
  1907  //
  1908  func (c *SMS) GetReplicationRunsPages(input *GetReplicationRunsInput, fn func(*GetReplicationRunsOutput, bool) bool) error {
  1909  	return c.GetReplicationRunsPagesWithContext(aws.BackgroundContext(), input, fn)
  1910  }
  1911  
  1912  // GetReplicationRunsPagesWithContext same as GetReplicationRunsPages except
  1913  // it takes a Context and allows setting request options on the pages.
  1914  //
  1915  // The context must be non-nil and will be used for request cancellation. If
  1916  // the context is nil a panic will occur. In the future the SDK may create
  1917  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1918  // for more information on using Contexts.
  1919  func (c *SMS) GetReplicationRunsPagesWithContext(ctx aws.Context, input *GetReplicationRunsInput, fn func(*GetReplicationRunsOutput, bool) bool, opts ...request.Option) error {
  1920  	p := request.Pagination{
  1921  		NewRequest: func() (*request.Request, error) {
  1922  			var inCpy *GetReplicationRunsInput
  1923  			if input != nil {
  1924  				tmp := *input
  1925  				inCpy = &tmp
  1926  			}
  1927  			req, _ := c.GetReplicationRunsRequest(inCpy)
  1928  			req.SetContext(ctx)
  1929  			req.ApplyOptions(opts...)
  1930  			return req, nil
  1931  		},
  1932  	}
  1933  
  1934  	for p.Next() {
  1935  		if !fn(p.Page().(*GetReplicationRunsOutput), !p.HasNextPage()) {
  1936  			break
  1937  		}
  1938  	}
  1939  
  1940  	return p.Err()
  1941  }
  1942  
  1943  const opGetServers = "GetServers"
  1944  
  1945  // GetServersRequest generates a "aws/request.Request" representing the
  1946  // client's request for the GetServers operation. The "output" return
  1947  // value will be populated with the request's response once the request completes
  1948  // successfully.
  1949  //
  1950  // Use "Send" method on the returned Request to send the API call to the service.
  1951  // the "output" return value is not valid until after Send returns without error.
  1952  //
  1953  // See GetServers for more information on using the GetServers
  1954  // API call, and error handling.
  1955  //
  1956  // This method is useful when you want to inject custom logic or configuration
  1957  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1958  //
  1959  //
  1960  //    // Example sending a request using the GetServersRequest method.
  1961  //    req, resp := client.GetServersRequest(params)
  1962  //
  1963  //    err := req.Send()
  1964  //    if err == nil { // resp is now filled
  1965  //        fmt.Println(resp)
  1966  //    }
  1967  //
  1968  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetServers
  1969  func (c *SMS) GetServersRequest(input *GetServersInput) (req *request.Request, output *GetServersOutput) {
  1970  	op := &request.Operation{
  1971  		Name:       opGetServers,
  1972  		HTTPMethod: "POST",
  1973  		HTTPPath:   "/",
  1974  		Paginator: &request.Paginator{
  1975  			InputTokens:     []string{"nextToken"},
  1976  			OutputTokens:    []string{"nextToken"},
  1977  			LimitToken:      "maxResults",
  1978  			TruncationToken: "",
  1979  		},
  1980  	}
  1981  
  1982  	if input == nil {
  1983  		input = &GetServersInput{}
  1984  	}
  1985  
  1986  	output = &GetServersOutput{}
  1987  	req = c.newRequest(op, input, output)
  1988  	return
  1989  }
  1990  
  1991  // GetServers API operation for AWS Server Migration Service.
  1992  //
  1993  // Describes the servers in your server catalog.
  1994  //
  1995  // Before you can describe your servers, you must import them using ImportServerCatalog.
  1996  //
  1997  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1998  // with awserr.Error's Code and Message methods to get detailed information about
  1999  // the error.
  2000  //
  2001  // See the AWS API reference guide for AWS Server Migration Service's
  2002  // API operation GetServers for usage and error information.
  2003  //
  2004  // Returned Error Types:
  2005  //   * UnauthorizedOperationException
  2006  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2007  //   and ensure that you are using the correct access keys.
  2008  //
  2009  //   * InvalidParameterException
  2010  //   A specified parameter is not valid.
  2011  //
  2012  //   * MissingRequiredParameterException
  2013  //   A required parameter is missing.
  2014  //
  2015  //   * InternalError
  2016  //   An internal error occurred.
  2017  //
  2018  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetServers
  2019  func (c *SMS) GetServers(input *GetServersInput) (*GetServersOutput, error) {
  2020  	req, out := c.GetServersRequest(input)
  2021  	return out, req.Send()
  2022  }
  2023  
  2024  // GetServersWithContext is the same as GetServers with the addition of
  2025  // the ability to pass a context and additional request options.
  2026  //
  2027  // See GetServers for details on how to use this API operation.
  2028  //
  2029  // The context must be non-nil and will be used for request cancellation. If
  2030  // the context is nil a panic will occur. In the future the SDK may create
  2031  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2032  // for more information on using Contexts.
  2033  func (c *SMS) GetServersWithContext(ctx aws.Context, input *GetServersInput, opts ...request.Option) (*GetServersOutput, error) {
  2034  	req, out := c.GetServersRequest(input)
  2035  	req.SetContext(ctx)
  2036  	req.ApplyOptions(opts...)
  2037  	return out, req.Send()
  2038  }
  2039  
  2040  // GetServersPages iterates over the pages of a GetServers operation,
  2041  // calling the "fn" function with the response data for each page. To stop
  2042  // iterating, return false from the fn function.
  2043  //
  2044  // See GetServers method for more information on how to use this operation.
  2045  //
  2046  // Note: This operation can generate multiple requests to a service.
  2047  //
  2048  //    // Example iterating over at most 3 pages of a GetServers operation.
  2049  //    pageNum := 0
  2050  //    err := client.GetServersPages(params,
  2051  //        func(page *sms.GetServersOutput, lastPage bool) bool {
  2052  //            pageNum++
  2053  //            fmt.Println(page)
  2054  //            return pageNum <= 3
  2055  //        })
  2056  //
  2057  func (c *SMS) GetServersPages(input *GetServersInput, fn func(*GetServersOutput, bool) bool) error {
  2058  	return c.GetServersPagesWithContext(aws.BackgroundContext(), input, fn)
  2059  }
  2060  
  2061  // GetServersPagesWithContext same as GetServersPages except
  2062  // it takes a Context and allows setting request options on the pages.
  2063  //
  2064  // The context must be non-nil and will be used for request cancellation. If
  2065  // the context is nil a panic will occur. In the future the SDK may create
  2066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2067  // for more information on using Contexts.
  2068  func (c *SMS) GetServersPagesWithContext(ctx aws.Context, input *GetServersInput, fn func(*GetServersOutput, bool) bool, opts ...request.Option) error {
  2069  	p := request.Pagination{
  2070  		NewRequest: func() (*request.Request, error) {
  2071  			var inCpy *GetServersInput
  2072  			if input != nil {
  2073  				tmp := *input
  2074  				inCpy = &tmp
  2075  			}
  2076  			req, _ := c.GetServersRequest(inCpy)
  2077  			req.SetContext(ctx)
  2078  			req.ApplyOptions(opts...)
  2079  			return req, nil
  2080  		},
  2081  	}
  2082  
  2083  	for p.Next() {
  2084  		if !fn(p.Page().(*GetServersOutput), !p.HasNextPage()) {
  2085  			break
  2086  		}
  2087  	}
  2088  
  2089  	return p.Err()
  2090  }
  2091  
  2092  const opImportAppCatalog = "ImportAppCatalog"
  2093  
  2094  // ImportAppCatalogRequest generates a "aws/request.Request" representing the
  2095  // client's request for the ImportAppCatalog operation. The "output" return
  2096  // value will be populated with the request's response once the request completes
  2097  // successfully.
  2098  //
  2099  // Use "Send" method on the returned Request to send the API call to the service.
  2100  // the "output" return value is not valid until after Send returns without error.
  2101  //
  2102  // See ImportAppCatalog for more information on using the ImportAppCatalog
  2103  // API call, and error handling.
  2104  //
  2105  // This method is useful when you want to inject custom logic or configuration
  2106  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2107  //
  2108  //
  2109  //    // Example sending a request using the ImportAppCatalogRequest method.
  2110  //    req, resp := client.ImportAppCatalogRequest(params)
  2111  //
  2112  //    err := req.Send()
  2113  //    if err == nil { // resp is now filled
  2114  //        fmt.Println(resp)
  2115  //    }
  2116  //
  2117  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportAppCatalog
  2118  func (c *SMS) ImportAppCatalogRequest(input *ImportAppCatalogInput) (req *request.Request, output *ImportAppCatalogOutput) {
  2119  	op := &request.Operation{
  2120  		Name:       opImportAppCatalog,
  2121  		HTTPMethod: "POST",
  2122  		HTTPPath:   "/",
  2123  	}
  2124  
  2125  	if input == nil {
  2126  		input = &ImportAppCatalogInput{}
  2127  	}
  2128  
  2129  	output = &ImportAppCatalogOutput{}
  2130  	req = c.newRequest(op, input, output)
  2131  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2132  	return
  2133  }
  2134  
  2135  // ImportAppCatalog API operation for AWS Server Migration Service.
  2136  //
  2137  // Allows application import from AWS Migration Hub.
  2138  //
  2139  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2140  // with awserr.Error's Code and Message methods to get detailed information about
  2141  // the error.
  2142  //
  2143  // See the AWS API reference guide for AWS Server Migration Service's
  2144  // API operation ImportAppCatalog for usage and error information.
  2145  //
  2146  // Returned Error Types:
  2147  //   * UnauthorizedOperationException
  2148  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2149  //   and ensure that you are using the correct access keys.
  2150  //
  2151  //   * InvalidParameterException
  2152  //   A specified parameter is not valid.
  2153  //
  2154  //   * MissingRequiredParameterException
  2155  //   A required parameter is missing.
  2156  //
  2157  //   * InternalError
  2158  //   An internal error occurred.
  2159  //
  2160  //   * OperationNotPermittedException
  2161  //   This operation is not allowed.
  2162  //
  2163  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportAppCatalog
  2164  func (c *SMS) ImportAppCatalog(input *ImportAppCatalogInput) (*ImportAppCatalogOutput, error) {
  2165  	req, out := c.ImportAppCatalogRequest(input)
  2166  	return out, req.Send()
  2167  }
  2168  
  2169  // ImportAppCatalogWithContext is the same as ImportAppCatalog with the addition of
  2170  // the ability to pass a context and additional request options.
  2171  //
  2172  // See ImportAppCatalog for details on how to use this API operation.
  2173  //
  2174  // The context must be non-nil and will be used for request cancellation. If
  2175  // the context is nil a panic will occur. In the future the SDK may create
  2176  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2177  // for more information on using Contexts.
  2178  func (c *SMS) ImportAppCatalogWithContext(ctx aws.Context, input *ImportAppCatalogInput, opts ...request.Option) (*ImportAppCatalogOutput, error) {
  2179  	req, out := c.ImportAppCatalogRequest(input)
  2180  	req.SetContext(ctx)
  2181  	req.ApplyOptions(opts...)
  2182  	return out, req.Send()
  2183  }
  2184  
  2185  const opImportServerCatalog = "ImportServerCatalog"
  2186  
  2187  // ImportServerCatalogRequest generates a "aws/request.Request" representing the
  2188  // client's request for the ImportServerCatalog operation. The "output" return
  2189  // value will be populated with the request's response once the request completes
  2190  // successfully.
  2191  //
  2192  // Use "Send" method on the returned Request to send the API call to the service.
  2193  // the "output" return value is not valid until after Send returns without error.
  2194  //
  2195  // See ImportServerCatalog for more information on using the ImportServerCatalog
  2196  // API call, and error handling.
  2197  //
  2198  // This method is useful when you want to inject custom logic or configuration
  2199  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2200  //
  2201  //
  2202  //    // Example sending a request using the ImportServerCatalogRequest method.
  2203  //    req, resp := client.ImportServerCatalogRequest(params)
  2204  //
  2205  //    err := req.Send()
  2206  //    if err == nil { // resp is now filled
  2207  //        fmt.Println(resp)
  2208  //    }
  2209  //
  2210  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportServerCatalog
  2211  func (c *SMS) ImportServerCatalogRequest(input *ImportServerCatalogInput) (req *request.Request, output *ImportServerCatalogOutput) {
  2212  	op := &request.Operation{
  2213  		Name:       opImportServerCatalog,
  2214  		HTTPMethod: "POST",
  2215  		HTTPPath:   "/",
  2216  	}
  2217  
  2218  	if input == nil {
  2219  		input = &ImportServerCatalogInput{}
  2220  	}
  2221  
  2222  	output = &ImportServerCatalogOutput{}
  2223  	req = c.newRequest(op, input, output)
  2224  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2225  	return
  2226  }
  2227  
  2228  // ImportServerCatalog API operation for AWS Server Migration Service.
  2229  //
  2230  // Gathers a complete list of on-premises servers. Connectors must be installed
  2231  // and monitoring all servers to import.
  2232  //
  2233  // This call returns immediately, but might take additional time to retrieve
  2234  // all the servers.
  2235  //
  2236  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2237  // with awserr.Error's Code and Message methods to get detailed information about
  2238  // the error.
  2239  //
  2240  // See the AWS API reference guide for AWS Server Migration Service's
  2241  // API operation ImportServerCatalog for usage and error information.
  2242  //
  2243  // Returned Error Types:
  2244  //   * UnauthorizedOperationException
  2245  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2246  //   and ensure that you are using the correct access keys.
  2247  //
  2248  //   * OperationNotPermittedException
  2249  //   This operation is not allowed.
  2250  //
  2251  //   * InvalidParameterException
  2252  //   A specified parameter is not valid.
  2253  //
  2254  //   * MissingRequiredParameterException
  2255  //   A required parameter is missing.
  2256  //
  2257  //   * NoConnectorsAvailableException
  2258  //   There are no connectors available.
  2259  //
  2260  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportServerCatalog
  2261  func (c *SMS) ImportServerCatalog(input *ImportServerCatalogInput) (*ImportServerCatalogOutput, error) {
  2262  	req, out := c.ImportServerCatalogRequest(input)
  2263  	return out, req.Send()
  2264  }
  2265  
  2266  // ImportServerCatalogWithContext is the same as ImportServerCatalog with the addition of
  2267  // the ability to pass a context and additional request options.
  2268  //
  2269  // See ImportServerCatalog for details on how to use this API operation.
  2270  //
  2271  // The context must be non-nil and will be used for request cancellation. If
  2272  // the context is nil a panic will occur. In the future the SDK may create
  2273  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2274  // for more information on using Contexts.
  2275  func (c *SMS) ImportServerCatalogWithContext(ctx aws.Context, input *ImportServerCatalogInput, opts ...request.Option) (*ImportServerCatalogOutput, error) {
  2276  	req, out := c.ImportServerCatalogRequest(input)
  2277  	req.SetContext(ctx)
  2278  	req.ApplyOptions(opts...)
  2279  	return out, req.Send()
  2280  }
  2281  
  2282  const opLaunchApp = "LaunchApp"
  2283  
  2284  // LaunchAppRequest generates a "aws/request.Request" representing the
  2285  // client's request for the LaunchApp operation. The "output" return
  2286  // value will be populated with the request's response once the request completes
  2287  // successfully.
  2288  //
  2289  // Use "Send" method on the returned Request to send the API call to the service.
  2290  // the "output" return value is not valid until after Send returns without error.
  2291  //
  2292  // See LaunchApp for more information on using the LaunchApp
  2293  // API call, and error handling.
  2294  //
  2295  // This method is useful when you want to inject custom logic or configuration
  2296  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2297  //
  2298  //
  2299  //    // Example sending a request using the LaunchAppRequest method.
  2300  //    req, resp := client.LaunchAppRequest(params)
  2301  //
  2302  //    err := req.Send()
  2303  //    if err == nil { // resp is now filled
  2304  //        fmt.Println(resp)
  2305  //    }
  2306  //
  2307  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/LaunchApp
  2308  func (c *SMS) LaunchAppRequest(input *LaunchAppInput) (req *request.Request, output *LaunchAppOutput) {
  2309  	op := &request.Operation{
  2310  		Name:       opLaunchApp,
  2311  		HTTPMethod: "POST",
  2312  		HTTPPath:   "/",
  2313  	}
  2314  
  2315  	if input == nil {
  2316  		input = &LaunchAppInput{}
  2317  	}
  2318  
  2319  	output = &LaunchAppOutput{}
  2320  	req = c.newRequest(op, input, output)
  2321  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2322  	return
  2323  }
  2324  
  2325  // LaunchApp API operation for AWS Server Migration Service.
  2326  //
  2327  // Launches the specified application as a stack in AWS CloudFormation.
  2328  //
  2329  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2330  // with awserr.Error's Code and Message methods to get detailed information about
  2331  // the error.
  2332  //
  2333  // See the AWS API reference guide for AWS Server Migration Service's
  2334  // API operation LaunchApp for usage and error information.
  2335  //
  2336  // Returned Error Types:
  2337  //   * UnauthorizedOperationException
  2338  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2339  //   and ensure that you are using the correct access keys.
  2340  //
  2341  //   * InvalidParameterException
  2342  //   A specified parameter is not valid.
  2343  //
  2344  //   * MissingRequiredParameterException
  2345  //   A required parameter is missing.
  2346  //
  2347  //   * InternalError
  2348  //   An internal error occurred.
  2349  //
  2350  //   * OperationNotPermittedException
  2351  //   This operation is not allowed.
  2352  //
  2353  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/LaunchApp
  2354  func (c *SMS) LaunchApp(input *LaunchAppInput) (*LaunchAppOutput, error) {
  2355  	req, out := c.LaunchAppRequest(input)
  2356  	return out, req.Send()
  2357  }
  2358  
  2359  // LaunchAppWithContext is the same as LaunchApp with the addition of
  2360  // the ability to pass a context and additional request options.
  2361  //
  2362  // See LaunchApp for details on how to use this API operation.
  2363  //
  2364  // The context must be non-nil and will be used for request cancellation. If
  2365  // the context is nil a panic will occur. In the future the SDK may create
  2366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2367  // for more information on using Contexts.
  2368  func (c *SMS) LaunchAppWithContext(ctx aws.Context, input *LaunchAppInput, opts ...request.Option) (*LaunchAppOutput, error) {
  2369  	req, out := c.LaunchAppRequest(input)
  2370  	req.SetContext(ctx)
  2371  	req.ApplyOptions(opts...)
  2372  	return out, req.Send()
  2373  }
  2374  
  2375  const opListApps = "ListApps"
  2376  
  2377  // ListAppsRequest generates a "aws/request.Request" representing the
  2378  // client's request for the ListApps operation. The "output" return
  2379  // value will be populated with the request's response once the request completes
  2380  // successfully.
  2381  //
  2382  // Use "Send" method on the returned Request to send the API call to the service.
  2383  // the "output" return value is not valid until after Send returns without error.
  2384  //
  2385  // See ListApps for more information on using the ListApps
  2386  // API call, and error handling.
  2387  //
  2388  // This method is useful when you want to inject custom logic or configuration
  2389  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2390  //
  2391  //
  2392  //    // Example sending a request using the ListAppsRequest method.
  2393  //    req, resp := client.ListAppsRequest(params)
  2394  //
  2395  //    err := req.Send()
  2396  //    if err == nil { // resp is now filled
  2397  //        fmt.Println(resp)
  2398  //    }
  2399  //
  2400  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ListApps
  2401  func (c *SMS) ListAppsRequest(input *ListAppsInput) (req *request.Request, output *ListAppsOutput) {
  2402  	op := &request.Operation{
  2403  		Name:       opListApps,
  2404  		HTTPMethod: "POST",
  2405  		HTTPPath:   "/",
  2406  	}
  2407  
  2408  	if input == nil {
  2409  		input = &ListAppsInput{}
  2410  	}
  2411  
  2412  	output = &ListAppsOutput{}
  2413  	req = c.newRequest(op, input, output)
  2414  	return
  2415  }
  2416  
  2417  // ListApps API operation for AWS Server Migration Service.
  2418  //
  2419  // Retrieves summaries for all applications.
  2420  //
  2421  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2422  // with awserr.Error's Code and Message methods to get detailed information about
  2423  // the error.
  2424  //
  2425  // See the AWS API reference guide for AWS Server Migration Service's
  2426  // API operation ListApps for usage and error information.
  2427  //
  2428  // Returned Error Types:
  2429  //   * UnauthorizedOperationException
  2430  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2431  //   and ensure that you are using the correct access keys.
  2432  //
  2433  //   * InvalidParameterException
  2434  //   A specified parameter is not valid.
  2435  //
  2436  //   * MissingRequiredParameterException
  2437  //   A required parameter is missing.
  2438  //
  2439  //   * InternalError
  2440  //   An internal error occurred.
  2441  //
  2442  //   * OperationNotPermittedException
  2443  //   This operation is not allowed.
  2444  //
  2445  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ListApps
  2446  func (c *SMS) ListApps(input *ListAppsInput) (*ListAppsOutput, error) {
  2447  	req, out := c.ListAppsRequest(input)
  2448  	return out, req.Send()
  2449  }
  2450  
  2451  // ListAppsWithContext is the same as ListApps with the addition of
  2452  // the ability to pass a context and additional request options.
  2453  //
  2454  // See ListApps for details on how to use this API operation.
  2455  //
  2456  // The context must be non-nil and will be used for request cancellation. If
  2457  // the context is nil a panic will occur. In the future the SDK may create
  2458  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2459  // for more information on using Contexts.
  2460  func (c *SMS) ListAppsWithContext(ctx aws.Context, input *ListAppsInput, opts ...request.Option) (*ListAppsOutput, error) {
  2461  	req, out := c.ListAppsRequest(input)
  2462  	req.SetContext(ctx)
  2463  	req.ApplyOptions(opts...)
  2464  	return out, req.Send()
  2465  }
  2466  
  2467  const opNotifyAppValidationOutput = "NotifyAppValidationOutput"
  2468  
  2469  // NotifyAppValidationOutputRequest generates a "aws/request.Request" representing the
  2470  // client's request for the NotifyAppValidationOutput operation. The "output" return
  2471  // value will be populated with the request's response once the request completes
  2472  // successfully.
  2473  //
  2474  // Use "Send" method on the returned Request to send the API call to the service.
  2475  // the "output" return value is not valid until after Send returns without error.
  2476  //
  2477  // See NotifyAppValidationOutput for more information on using the NotifyAppValidationOutput
  2478  // API call, and error handling.
  2479  //
  2480  // This method is useful when you want to inject custom logic or configuration
  2481  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2482  //
  2483  //
  2484  //    // Example sending a request using the NotifyAppValidationOutputRequest method.
  2485  //    req, resp := client.NotifyAppValidationOutputRequest(params)
  2486  //
  2487  //    err := req.Send()
  2488  //    if err == nil { // resp is now filled
  2489  //        fmt.Println(resp)
  2490  //    }
  2491  //
  2492  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/NotifyAppValidationOutput
  2493  func (c *SMS) NotifyAppValidationOutputRequest(input *NotifyAppValidationOutputInput) (req *request.Request, output *NotifyAppValidationOutputOutput) {
  2494  	op := &request.Operation{
  2495  		Name:       opNotifyAppValidationOutput,
  2496  		HTTPMethod: "POST",
  2497  		HTTPPath:   "/",
  2498  	}
  2499  
  2500  	if input == nil {
  2501  		input = &NotifyAppValidationOutputInput{}
  2502  	}
  2503  
  2504  	output = &NotifyAppValidationOutputOutput{}
  2505  	req = c.newRequest(op, input, output)
  2506  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2507  	return
  2508  }
  2509  
  2510  // NotifyAppValidationOutput API operation for AWS Server Migration Service.
  2511  //
  2512  // Provides information to AWS SMS about whether application validation is successful.
  2513  //
  2514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2515  // with awserr.Error's Code and Message methods to get detailed information about
  2516  // the error.
  2517  //
  2518  // See the AWS API reference guide for AWS Server Migration Service's
  2519  // API operation NotifyAppValidationOutput for usage and error information.
  2520  //
  2521  // Returned Error Types:
  2522  //   * UnauthorizedOperationException
  2523  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2524  //   and ensure that you are using the correct access keys.
  2525  //
  2526  //   * InvalidParameterException
  2527  //   A specified parameter is not valid.
  2528  //
  2529  //   * MissingRequiredParameterException
  2530  //   A required parameter is missing.
  2531  //
  2532  //   * InternalError
  2533  //   An internal error occurred.
  2534  //
  2535  //   * OperationNotPermittedException
  2536  //   This operation is not allowed.
  2537  //
  2538  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/NotifyAppValidationOutput
  2539  func (c *SMS) NotifyAppValidationOutput(input *NotifyAppValidationOutputInput) (*NotifyAppValidationOutputOutput, error) {
  2540  	req, out := c.NotifyAppValidationOutputRequest(input)
  2541  	return out, req.Send()
  2542  }
  2543  
  2544  // NotifyAppValidationOutputWithContext is the same as NotifyAppValidationOutput with the addition of
  2545  // the ability to pass a context and additional request options.
  2546  //
  2547  // See NotifyAppValidationOutput for details on how to use this API operation.
  2548  //
  2549  // The context must be non-nil and will be used for request cancellation. If
  2550  // the context is nil a panic will occur. In the future the SDK may create
  2551  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2552  // for more information on using Contexts.
  2553  func (c *SMS) NotifyAppValidationOutputWithContext(ctx aws.Context, input *NotifyAppValidationOutputInput, opts ...request.Option) (*NotifyAppValidationOutputOutput, error) {
  2554  	req, out := c.NotifyAppValidationOutputRequest(input)
  2555  	req.SetContext(ctx)
  2556  	req.ApplyOptions(opts...)
  2557  	return out, req.Send()
  2558  }
  2559  
  2560  const opPutAppLaunchConfiguration = "PutAppLaunchConfiguration"
  2561  
  2562  // PutAppLaunchConfigurationRequest generates a "aws/request.Request" representing the
  2563  // client's request for the PutAppLaunchConfiguration operation. The "output" return
  2564  // value will be populated with the request's response once the request completes
  2565  // successfully.
  2566  //
  2567  // Use "Send" method on the returned Request to send the API call to the service.
  2568  // the "output" return value is not valid until after Send returns without error.
  2569  //
  2570  // See PutAppLaunchConfiguration for more information on using the PutAppLaunchConfiguration
  2571  // API call, and error handling.
  2572  //
  2573  // This method is useful when you want to inject custom logic or configuration
  2574  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2575  //
  2576  //
  2577  //    // Example sending a request using the PutAppLaunchConfigurationRequest method.
  2578  //    req, resp := client.PutAppLaunchConfigurationRequest(params)
  2579  //
  2580  //    err := req.Send()
  2581  //    if err == nil { // resp is now filled
  2582  //        fmt.Println(resp)
  2583  //    }
  2584  //
  2585  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppLaunchConfiguration
  2586  func (c *SMS) PutAppLaunchConfigurationRequest(input *PutAppLaunchConfigurationInput) (req *request.Request, output *PutAppLaunchConfigurationOutput) {
  2587  	op := &request.Operation{
  2588  		Name:       opPutAppLaunchConfiguration,
  2589  		HTTPMethod: "POST",
  2590  		HTTPPath:   "/",
  2591  	}
  2592  
  2593  	if input == nil {
  2594  		input = &PutAppLaunchConfigurationInput{}
  2595  	}
  2596  
  2597  	output = &PutAppLaunchConfigurationOutput{}
  2598  	req = c.newRequest(op, input, output)
  2599  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2600  	return
  2601  }
  2602  
  2603  // PutAppLaunchConfiguration API operation for AWS Server Migration Service.
  2604  //
  2605  // Creates or updates the launch configuration for the specified application.
  2606  //
  2607  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2608  // with awserr.Error's Code and Message methods to get detailed information about
  2609  // the error.
  2610  //
  2611  // See the AWS API reference guide for AWS Server Migration Service's
  2612  // API operation PutAppLaunchConfiguration for usage and error information.
  2613  //
  2614  // Returned Error Types:
  2615  //   * UnauthorizedOperationException
  2616  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2617  //   and ensure that you are using the correct access keys.
  2618  //
  2619  //   * InvalidParameterException
  2620  //   A specified parameter is not valid.
  2621  //
  2622  //   * MissingRequiredParameterException
  2623  //   A required parameter is missing.
  2624  //
  2625  //   * InternalError
  2626  //   An internal error occurred.
  2627  //
  2628  //   * OperationNotPermittedException
  2629  //   This operation is not allowed.
  2630  //
  2631  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppLaunchConfiguration
  2632  func (c *SMS) PutAppLaunchConfiguration(input *PutAppLaunchConfigurationInput) (*PutAppLaunchConfigurationOutput, error) {
  2633  	req, out := c.PutAppLaunchConfigurationRequest(input)
  2634  	return out, req.Send()
  2635  }
  2636  
  2637  // PutAppLaunchConfigurationWithContext is the same as PutAppLaunchConfiguration with the addition of
  2638  // the ability to pass a context and additional request options.
  2639  //
  2640  // See PutAppLaunchConfiguration for details on how to use this API operation.
  2641  //
  2642  // The context must be non-nil and will be used for request cancellation. If
  2643  // the context is nil a panic will occur. In the future the SDK may create
  2644  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2645  // for more information on using Contexts.
  2646  func (c *SMS) PutAppLaunchConfigurationWithContext(ctx aws.Context, input *PutAppLaunchConfigurationInput, opts ...request.Option) (*PutAppLaunchConfigurationOutput, error) {
  2647  	req, out := c.PutAppLaunchConfigurationRequest(input)
  2648  	req.SetContext(ctx)
  2649  	req.ApplyOptions(opts...)
  2650  	return out, req.Send()
  2651  }
  2652  
  2653  const opPutAppReplicationConfiguration = "PutAppReplicationConfiguration"
  2654  
  2655  // PutAppReplicationConfigurationRequest generates a "aws/request.Request" representing the
  2656  // client's request for the PutAppReplicationConfiguration operation. The "output" return
  2657  // value will be populated with the request's response once the request completes
  2658  // successfully.
  2659  //
  2660  // Use "Send" method on the returned Request to send the API call to the service.
  2661  // the "output" return value is not valid until after Send returns without error.
  2662  //
  2663  // See PutAppReplicationConfiguration for more information on using the PutAppReplicationConfiguration
  2664  // API call, and error handling.
  2665  //
  2666  // This method is useful when you want to inject custom logic or configuration
  2667  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2668  //
  2669  //
  2670  //    // Example sending a request using the PutAppReplicationConfigurationRequest method.
  2671  //    req, resp := client.PutAppReplicationConfigurationRequest(params)
  2672  //
  2673  //    err := req.Send()
  2674  //    if err == nil { // resp is now filled
  2675  //        fmt.Println(resp)
  2676  //    }
  2677  //
  2678  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppReplicationConfiguration
  2679  func (c *SMS) PutAppReplicationConfigurationRequest(input *PutAppReplicationConfigurationInput) (req *request.Request, output *PutAppReplicationConfigurationOutput) {
  2680  	op := &request.Operation{
  2681  		Name:       opPutAppReplicationConfiguration,
  2682  		HTTPMethod: "POST",
  2683  		HTTPPath:   "/",
  2684  	}
  2685  
  2686  	if input == nil {
  2687  		input = &PutAppReplicationConfigurationInput{}
  2688  	}
  2689  
  2690  	output = &PutAppReplicationConfigurationOutput{}
  2691  	req = c.newRequest(op, input, output)
  2692  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2693  	return
  2694  }
  2695  
  2696  // PutAppReplicationConfiguration API operation for AWS Server Migration Service.
  2697  //
  2698  // Creates or updates the replication configuration for the specified application.
  2699  //
  2700  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2701  // with awserr.Error's Code and Message methods to get detailed information about
  2702  // the error.
  2703  //
  2704  // See the AWS API reference guide for AWS Server Migration Service's
  2705  // API operation PutAppReplicationConfiguration for usage and error information.
  2706  //
  2707  // Returned Error Types:
  2708  //   * UnauthorizedOperationException
  2709  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2710  //   and ensure that you are using the correct access keys.
  2711  //
  2712  //   * InvalidParameterException
  2713  //   A specified parameter is not valid.
  2714  //
  2715  //   * MissingRequiredParameterException
  2716  //   A required parameter is missing.
  2717  //
  2718  //   * InternalError
  2719  //   An internal error occurred.
  2720  //
  2721  //   * OperationNotPermittedException
  2722  //   This operation is not allowed.
  2723  //
  2724  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppReplicationConfiguration
  2725  func (c *SMS) PutAppReplicationConfiguration(input *PutAppReplicationConfigurationInput) (*PutAppReplicationConfigurationOutput, error) {
  2726  	req, out := c.PutAppReplicationConfigurationRequest(input)
  2727  	return out, req.Send()
  2728  }
  2729  
  2730  // PutAppReplicationConfigurationWithContext is the same as PutAppReplicationConfiguration with the addition of
  2731  // the ability to pass a context and additional request options.
  2732  //
  2733  // See PutAppReplicationConfiguration for details on how to use this API operation.
  2734  //
  2735  // The context must be non-nil and will be used for request cancellation. If
  2736  // the context is nil a panic will occur. In the future the SDK may create
  2737  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2738  // for more information on using Contexts.
  2739  func (c *SMS) PutAppReplicationConfigurationWithContext(ctx aws.Context, input *PutAppReplicationConfigurationInput, opts ...request.Option) (*PutAppReplicationConfigurationOutput, error) {
  2740  	req, out := c.PutAppReplicationConfigurationRequest(input)
  2741  	req.SetContext(ctx)
  2742  	req.ApplyOptions(opts...)
  2743  	return out, req.Send()
  2744  }
  2745  
  2746  const opPutAppValidationConfiguration = "PutAppValidationConfiguration"
  2747  
  2748  // PutAppValidationConfigurationRequest generates a "aws/request.Request" representing the
  2749  // client's request for the PutAppValidationConfiguration operation. The "output" return
  2750  // value will be populated with the request's response once the request completes
  2751  // successfully.
  2752  //
  2753  // Use "Send" method on the returned Request to send the API call to the service.
  2754  // the "output" return value is not valid until after Send returns without error.
  2755  //
  2756  // See PutAppValidationConfiguration for more information on using the PutAppValidationConfiguration
  2757  // API call, and error handling.
  2758  //
  2759  // This method is useful when you want to inject custom logic or configuration
  2760  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2761  //
  2762  //
  2763  //    // Example sending a request using the PutAppValidationConfigurationRequest method.
  2764  //    req, resp := client.PutAppValidationConfigurationRequest(params)
  2765  //
  2766  //    err := req.Send()
  2767  //    if err == nil { // resp is now filled
  2768  //        fmt.Println(resp)
  2769  //    }
  2770  //
  2771  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppValidationConfiguration
  2772  func (c *SMS) PutAppValidationConfigurationRequest(input *PutAppValidationConfigurationInput) (req *request.Request, output *PutAppValidationConfigurationOutput) {
  2773  	op := &request.Operation{
  2774  		Name:       opPutAppValidationConfiguration,
  2775  		HTTPMethod: "POST",
  2776  		HTTPPath:   "/",
  2777  	}
  2778  
  2779  	if input == nil {
  2780  		input = &PutAppValidationConfigurationInput{}
  2781  	}
  2782  
  2783  	output = &PutAppValidationConfigurationOutput{}
  2784  	req = c.newRequest(op, input, output)
  2785  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2786  	return
  2787  }
  2788  
  2789  // PutAppValidationConfiguration API operation for AWS Server Migration Service.
  2790  //
  2791  // Creates or updates a validation configuration for the specified application.
  2792  //
  2793  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2794  // with awserr.Error's Code and Message methods to get detailed information about
  2795  // the error.
  2796  //
  2797  // See the AWS API reference guide for AWS Server Migration Service's
  2798  // API operation PutAppValidationConfiguration for usage and error information.
  2799  //
  2800  // Returned Error Types:
  2801  //   * UnauthorizedOperationException
  2802  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2803  //   and ensure that you are using the correct access keys.
  2804  //
  2805  //   * InvalidParameterException
  2806  //   A specified parameter is not valid.
  2807  //
  2808  //   * MissingRequiredParameterException
  2809  //   A required parameter is missing.
  2810  //
  2811  //   * InternalError
  2812  //   An internal error occurred.
  2813  //
  2814  //   * OperationNotPermittedException
  2815  //   This operation is not allowed.
  2816  //
  2817  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/PutAppValidationConfiguration
  2818  func (c *SMS) PutAppValidationConfiguration(input *PutAppValidationConfigurationInput) (*PutAppValidationConfigurationOutput, error) {
  2819  	req, out := c.PutAppValidationConfigurationRequest(input)
  2820  	return out, req.Send()
  2821  }
  2822  
  2823  // PutAppValidationConfigurationWithContext is the same as PutAppValidationConfiguration with the addition of
  2824  // the ability to pass a context and additional request options.
  2825  //
  2826  // See PutAppValidationConfiguration for details on how to use this API operation.
  2827  //
  2828  // The context must be non-nil and will be used for request cancellation. If
  2829  // the context is nil a panic will occur. In the future the SDK may create
  2830  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2831  // for more information on using Contexts.
  2832  func (c *SMS) PutAppValidationConfigurationWithContext(ctx aws.Context, input *PutAppValidationConfigurationInput, opts ...request.Option) (*PutAppValidationConfigurationOutput, error) {
  2833  	req, out := c.PutAppValidationConfigurationRequest(input)
  2834  	req.SetContext(ctx)
  2835  	req.ApplyOptions(opts...)
  2836  	return out, req.Send()
  2837  }
  2838  
  2839  const opStartAppReplication = "StartAppReplication"
  2840  
  2841  // StartAppReplicationRequest generates a "aws/request.Request" representing the
  2842  // client's request for the StartAppReplication operation. The "output" return
  2843  // value will be populated with the request's response once the request completes
  2844  // successfully.
  2845  //
  2846  // Use "Send" method on the returned Request to send the API call to the service.
  2847  // the "output" return value is not valid until after Send returns without error.
  2848  //
  2849  // See StartAppReplication for more information on using the StartAppReplication
  2850  // API call, and error handling.
  2851  //
  2852  // This method is useful when you want to inject custom logic or configuration
  2853  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2854  //
  2855  //
  2856  //    // Example sending a request using the StartAppReplicationRequest method.
  2857  //    req, resp := client.StartAppReplicationRequest(params)
  2858  //
  2859  //    err := req.Send()
  2860  //    if err == nil { // resp is now filled
  2861  //        fmt.Println(resp)
  2862  //    }
  2863  //
  2864  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartAppReplication
  2865  func (c *SMS) StartAppReplicationRequest(input *StartAppReplicationInput) (req *request.Request, output *StartAppReplicationOutput) {
  2866  	op := &request.Operation{
  2867  		Name:       opStartAppReplication,
  2868  		HTTPMethod: "POST",
  2869  		HTTPPath:   "/",
  2870  	}
  2871  
  2872  	if input == nil {
  2873  		input = &StartAppReplicationInput{}
  2874  	}
  2875  
  2876  	output = &StartAppReplicationOutput{}
  2877  	req = c.newRequest(op, input, output)
  2878  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2879  	return
  2880  }
  2881  
  2882  // StartAppReplication API operation for AWS Server Migration Service.
  2883  //
  2884  // Starts replicating the specified application by creating replication jobs
  2885  // for each server in the application.
  2886  //
  2887  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2888  // with awserr.Error's Code and Message methods to get detailed information about
  2889  // the error.
  2890  //
  2891  // See the AWS API reference guide for AWS Server Migration Service's
  2892  // API operation StartAppReplication for usage and error information.
  2893  //
  2894  // Returned Error Types:
  2895  //   * UnauthorizedOperationException
  2896  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2897  //   and ensure that you are using the correct access keys.
  2898  //
  2899  //   * InvalidParameterException
  2900  //   A specified parameter is not valid.
  2901  //
  2902  //   * MissingRequiredParameterException
  2903  //   A required parameter is missing.
  2904  //
  2905  //   * InternalError
  2906  //   An internal error occurred.
  2907  //
  2908  //   * OperationNotPermittedException
  2909  //   This operation is not allowed.
  2910  //
  2911  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartAppReplication
  2912  func (c *SMS) StartAppReplication(input *StartAppReplicationInput) (*StartAppReplicationOutput, error) {
  2913  	req, out := c.StartAppReplicationRequest(input)
  2914  	return out, req.Send()
  2915  }
  2916  
  2917  // StartAppReplicationWithContext is the same as StartAppReplication with the addition of
  2918  // the ability to pass a context and additional request options.
  2919  //
  2920  // See StartAppReplication for details on how to use this API operation.
  2921  //
  2922  // The context must be non-nil and will be used for request cancellation. If
  2923  // the context is nil a panic will occur. In the future the SDK may create
  2924  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2925  // for more information on using Contexts.
  2926  func (c *SMS) StartAppReplicationWithContext(ctx aws.Context, input *StartAppReplicationInput, opts ...request.Option) (*StartAppReplicationOutput, error) {
  2927  	req, out := c.StartAppReplicationRequest(input)
  2928  	req.SetContext(ctx)
  2929  	req.ApplyOptions(opts...)
  2930  	return out, req.Send()
  2931  }
  2932  
  2933  const opStartOnDemandAppReplication = "StartOnDemandAppReplication"
  2934  
  2935  // StartOnDemandAppReplicationRequest generates a "aws/request.Request" representing the
  2936  // client's request for the StartOnDemandAppReplication operation. The "output" return
  2937  // value will be populated with the request's response once the request completes
  2938  // successfully.
  2939  //
  2940  // Use "Send" method on the returned Request to send the API call to the service.
  2941  // the "output" return value is not valid until after Send returns without error.
  2942  //
  2943  // See StartOnDemandAppReplication for more information on using the StartOnDemandAppReplication
  2944  // API call, and error handling.
  2945  //
  2946  // This method is useful when you want to inject custom logic or configuration
  2947  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2948  //
  2949  //
  2950  //    // Example sending a request using the StartOnDemandAppReplicationRequest method.
  2951  //    req, resp := client.StartOnDemandAppReplicationRequest(params)
  2952  //
  2953  //    err := req.Send()
  2954  //    if err == nil { // resp is now filled
  2955  //        fmt.Println(resp)
  2956  //    }
  2957  //
  2958  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandAppReplication
  2959  func (c *SMS) StartOnDemandAppReplicationRequest(input *StartOnDemandAppReplicationInput) (req *request.Request, output *StartOnDemandAppReplicationOutput) {
  2960  	op := &request.Operation{
  2961  		Name:       opStartOnDemandAppReplication,
  2962  		HTTPMethod: "POST",
  2963  		HTTPPath:   "/",
  2964  	}
  2965  
  2966  	if input == nil {
  2967  		input = &StartOnDemandAppReplicationInput{}
  2968  	}
  2969  
  2970  	output = &StartOnDemandAppReplicationOutput{}
  2971  	req = c.newRequest(op, input, output)
  2972  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2973  	return
  2974  }
  2975  
  2976  // StartOnDemandAppReplication API operation for AWS Server Migration Service.
  2977  //
  2978  // Starts an on-demand replication run for the specified application.
  2979  //
  2980  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2981  // with awserr.Error's Code and Message methods to get detailed information about
  2982  // the error.
  2983  //
  2984  // See the AWS API reference guide for AWS Server Migration Service's
  2985  // API operation StartOnDemandAppReplication for usage and error information.
  2986  //
  2987  // Returned Error Types:
  2988  //   * UnauthorizedOperationException
  2989  //   You lack permissions needed to perform this operation. Check your IAM policies,
  2990  //   and ensure that you are using the correct access keys.
  2991  //
  2992  //   * InvalidParameterException
  2993  //   A specified parameter is not valid.
  2994  //
  2995  //   * MissingRequiredParameterException
  2996  //   A required parameter is missing.
  2997  //
  2998  //   * InternalError
  2999  //   An internal error occurred.
  3000  //
  3001  //   * OperationNotPermittedException
  3002  //   This operation is not allowed.
  3003  //
  3004  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandAppReplication
  3005  func (c *SMS) StartOnDemandAppReplication(input *StartOnDemandAppReplicationInput) (*StartOnDemandAppReplicationOutput, error) {
  3006  	req, out := c.StartOnDemandAppReplicationRequest(input)
  3007  	return out, req.Send()
  3008  }
  3009  
  3010  // StartOnDemandAppReplicationWithContext is the same as StartOnDemandAppReplication with the addition of
  3011  // the ability to pass a context and additional request options.
  3012  //
  3013  // See StartOnDemandAppReplication for details on how to use this API operation.
  3014  //
  3015  // The context must be non-nil and will be used for request cancellation. If
  3016  // the context is nil a panic will occur. In the future the SDK may create
  3017  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3018  // for more information on using Contexts.
  3019  func (c *SMS) StartOnDemandAppReplicationWithContext(ctx aws.Context, input *StartOnDemandAppReplicationInput, opts ...request.Option) (*StartOnDemandAppReplicationOutput, error) {
  3020  	req, out := c.StartOnDemandAppReplicationRequest(input)
  3021  	req.SetContext(ctx)
  3022  	req.ApplyOptions(opts...)
  3023  	return out, req.Send()
  3024  }
  3025  
  3026  const opStartOnDemandReplicationRun = "StartOnDemandReplicationRun"
  3027  
  3028  // StartOnDemandReplicationRunRequest generates a "aws/request.Request" representing the
  3029  // client's request for the StartOnDemandReplicationRun operation. The "output" return
  3030  // value will be populated with the request's response once the request completes
  3031  // successfully.
  3032  //
  3033  // Use "Send" method on the returned Request to send the API call to the service.
  3034  // the "output" return value is not valid until after Send returns without error.
  3035  //
  3036  // See StartOnDemandReplicationRun for more information on using the StartOnDemandReplicationRun
  3037  // API call, and error handling.
  3038  //
  3039  // This method is useful when you want to inject custom logic or configuration
  3040  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3041  //
  3042  //
  3043  //    // Example sending a request using the StartOnDemandReplicationRunRequest method.
  3044  //    req, resp := client.StartOnDemandReplicationRunRequest(params)
  3045  //
  3046  //    err := req.Send()
  3047  //    if err == nil { // resp is now filled
  3048  //        fmt.Println(resp)
  3049  //    }
  3050  //
  3051  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandReplicationRun
  3052  func (c *SMS) StartOnDemandReplicationRunRequest(input *StartOnDemandReplicationRunInput) (req *request.Request, output *StartOnDemandReplicationRunOutput) {
  3053  	op := &request.Operation{
  3054  		Name:       opStartOnDemandReplicationRun,
  3055  		HTTPMethod: "POST",
  3056  		HTTPPath:   "/",
  3057  	}
  3058  
  3059  	if input == nil {
  3060  		input = &StartOnDemandReplicationRunInput{}
  3061  	}
  3062  
  3063  	output = &StartOnDemandReplicationRunOutput{}
  3064  	req = c.newRequest(op, input, output)
  3065  	return
  3066  }
  3067  
  3068  // StartOnDemandReplicationRun API operation for AWS Server Migration Service.
  3069  //
  3070  // Starts an on-demand replication run for the specified replication job. This
  3071  // replication run starts immediately. This replication run is in addition to
  3072  // the ones already scheduled.
  3073  //
  3074  // There is a limit on the number of on-demand replications runs that you can
  3075  // request in a 24-hour period.
  3076  //
  3077  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3078  // with awserr.Error's Code and Message methods to get detailed information about
  3079  // the error.
  3080  //
  3081  // See the AWS API reference guide for AWS Server Migration Service's
  3082  // API operation StartOnDemandReplicationRun for usage and error information.
  3083  //
  3084  // Returned Error Types:
  3085  //   * InvalidParameterException
  3086  //   A specified parameter is not valid.
  3087  //
  3088  //   * MissingRequiredParameterException
  3089  //   A required parameter is missing.
  3090  //
  3091  //   * UnauthorizedOperationException
  3092  //   You lack permissions needed to perform this operation. Check your IAM policies,
  3093  //   and ensure that you are using the correct access keys.
  3094  //
  3095  //   * OperationNotPermittedException
  3096  //   This operation is not allowed.
  3097  //
  3098  //   * ReplicationRunLimitExceededException
  3099  //   You have exceeded the number of on-demand replication runs you can request
  3100  //   in a 24-hour period.
  3101  //
  3102  //   * DryRunOperationException
  3103  //   The user has the required permissions, so the request would have succeeded,
  3104  //   but a dry run was performed.
  3105  //
  3106  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandReplicationRun
  3107  func (c *SMS) StartOnDemandReplicationRun(input *StartOnDemandReplicationRunInput) (*StartOnDemandReplicationRunOutput, error) {
  3108  	req, out := c.StartOnDemandReplicationRunRequest(input)
  3109  	return out, req.Send()
  3110  }
  3111  
  3112  // StartOnDemandReplicationRunWithContext is the same as StartOnDemandReplicationRun with the addition of
  3113  // the ability to pass a context and additional request options.
  3114  //
  3115  // See StartOnDemandReplicationRun for details on how to use this API operation.
  3116  //
  3117  // The context must be non-nil and will be used for request cancellation. If
  3118  // the context is nil a panic will occur. In the future the SDK may create
  3119  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3120  // for more information on using Contexts.
  3121  func (c *SMS) StartOnDemandReplicationRunWithContext(ctx aws.Context, input *StartOnDemandReplicationRunInput, opts ...request.Option) (*StartOnDemandReplicationRunOutput, error) {
  3122  	req, out := c.StartOnDemandReplicationRunRequest(input)
  3123  	req.SetContext(ctx)
  3124  	req.ApplyOptions(opts...)
  3125  	return out, req.Send()
  3126  }
  3127  
  3128  const opStopAppReplication = "StopAppReplication"
  3129  
  3130  // StopAppReplicationRequest generates a "aws/request.Request" representing the
  3131  // client's request for the StopAppReplication operation. The "output" return
  3132  // value will be populated with the request's response once the request completes
  3133  // successfully.
  3134  //
  3135  // Use "Send" method on the returned Request to send the API call to the service.
  3136  // the "output" return value is not valid until after Send returns without error.
  3137  //
  3138  // See StopAppReplication for more information on using the StopAppReplication
  3139  // API call, and error handling.
  3140  //
  3141  // This method is useful when you want to inject custom logic or configuration
  3142  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3143  //
  3144  //
  3145  //    // Example sending a request using the StopAppReplicationRequest method.
  3146  //    req, resp := client.StopAppReplicationRequest(params)
  3147  //
  3148  //    err := req.Send()
  3149  //    if err == nil { // resp is now filled
  3150  //        fmt.Println(resp)
  3151  //    }
  3152  //
  3153  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StopAppReplication
  3154  func (c *SMS) StopAppReplicationRequest(input *StopAppReplicationInput) (req *request.Request, output *StopAppReplicationOutput) {
  3155  	op := &request.Operation{
  3156  		Name:       opStopAppReplication,
  3157  		HTTPMethod: "POST",
  3158  		HTTPPath:   "/",
  3159  	}
  3160  
  3161  	if input == nil {
  3162  		input = &StopAppReplicationInput{}
  3163  	}
  3164  
  3165  	output = &StopAppReplicationOutput{}
  3166  	req = c.newRequest(op, input, output)
  3167  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3168  	return
  3169  }
  3170  
  3171  // StopAppReplication API operation for AWS Server Migration Service.
  3172  //
  3173  // Stops replicating the specified application by deleting the replication job
  3174  // for each server in the application.
  3175  //
  3176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3177  // with awserr.Error's Code and Message methods to get detailed information about
  3178  // the error.
  3179  //
  3180  // See the AWS API reference guide for AWS Server Migration Service's
  3181  // API operation StopAppReplication for usage and error information.
  3182  //
  3183  // Returned Error Types:
  3184  //   * UnauthorizedOperationException
  3185  //   You lack permissions needed to perform this operation. Check your IAM policies,
  3186  //   and ensure that you are using the correct access keys.
  3187  //
  3188  //   * InvalidParameterException
  3189  //   A specified parameter is not valid.
  3190  //
  3191  //   * MissingRequiredParameterException
  3192  //   A required parameter is missing.
  3193  //
  3194  //   * InternalError
  3195  //   An internal error occurred.
  3196  //
  3197  //   * OperationNotPermittedException
  3198  //   This operation is not allowed.
  3199  //
  3200  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StopAppReplication
  3201  func (c *SMS) StopAppReplication(input *StopAppReplicationInput) (*StopAppReplicationOutput, error) {
  3202  	req, out := c.StopAppReplicationRequest(input)
  3203  	return out, req.Send()
  3204  }
  3205  
  3206  // StopAppReplicationWithContext is the same as StopAppReplication with the addition of
  3207  // the ability to pass a context and additional request options.
  3208  //
  3209  // See StopAppReplication for details on how to use this API operation.
  3210  //
  3211  // The context must be non-nil and will be used for request cancellation. If
  3212  // the context is nil a panic will occur. In the future the SDK may create
  3213  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3214  // for more information on using Contexts.
  3215  func (c *SMS) StopAppReplicationWithContext(ctx aws.Context, input *StopAppReplicationInput, opts ...request.Option) (*StopAppReplicationOutput, error) {
  3216  	req, out := c.StopAppReplicationRequest(input)
  3217  	req.SetContext(ctx)
  3218  	req.ApplyOptions(opts...)
  3219  	return out, req.Send()
  3220  }
  3221  
  3222  const opTerminateApp = "TerminateApp"
  3223  
  3224  // TerminateAppRequest generates a "aws/request.Request" representing the
  3225  // client's request for the TerminateApp operation. The "output" return
  3226  // value will be populated with the request's response once the request completes
  3227  // successfully.
  3228  //
  3229  // Use "Send" method on the returned Request to send the API call to the service.
  3230  // the "output" return value is not valid until after Send returns without error.
  3231  //
  3232  // See TerminateApp for more information on using the TerminateApp
  3233  // API call, and error handling.
  3234  //
  3235  // This method is useful when you want to inject custom logic or configuration
  3236  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3237  //
  3238  //
  3239  //    // Example sending a request using the TerminateAppRequest method.
  3240  //    req, resp := client.TerminateAppRequest(params)
  3241  //
  3242  //    err := req.Send()
  3243  //    if err == nil { // resp is now filled
  3244  //        fmt.Println(resp)
  3245  //    }
  3246  //
  3247  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/TerminateApp
  3248  func (c *SMS) TerminateAppRequest(input *TerminateAppInput) (req *request.Request, output *TerminateAppOutput) {
  3249  	op := &request.Operation{
  3250  		Name:       opTerminateApp,
  3251  		HTTPMethod: "POST",
  3252  		HTTPPath:   "/",
  3253  	}
  3254  
  3255  	if input == nil {
  3256  		input = &TerminateAppInput{}
  3257  	}
  3258  
  3259  	output = &TerminateAppOutput{}
  3260  	req = c.newRequest(op, input, output)
  3261  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3262  	return
  3263  }
  3264  
  3265  // TerminateApp API operation for AWS Server Migration Service.
  3266  //
  3267  // Terminates the stack for the specified application.
  3268  //
  3269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3270  // with awserr.Error's Code and Message methods to get detailed information about
  3271  // the error.
  3272  //
  3273  // See the AWS API reference guide for AWS Server Migration Service's
  3274  // API operation TerminateApp for usage and error information.
  3275  //
  3276  // Returned Error Types:
  3277  //   * UnauthorizedOperationException
  3278  //   You lack permissions needed to perform this operation. Check your IAM policies,
  3279  //   and ensure that you are using the correct access keys.
  3280  //
  3281  //   * InvalidParameterException
  3282  //   A specified parameter is not valid.
  3283  //
  3284  //   * MissingRequiredParameterException
  3285  //   A required parameter is missing.
  3286  //
  3287  //   * InternalError
  3288  //   An internal error occurred.
  3289  //
  3290  //   * OperationNotPermittedException
  3291  //   This operation is not allowed.
  3292  //
  3293  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/TerminateApp
  3294  func (c *SMS) TerminateApp(input *TerminateAppInput) (*TerminateAppOutput, error) {
  3295  	req, out := c.TerminateAppRequest(input)
  3296  	return out, req.Send()
  3297  }
  3298  
  3299  // TerminateAppWithContext is the same as TerminateApp with the addition of
  3300  // the ability to pass a context and additional request options.
  3301  //
  3302  // See TerminateApp for details on how to use this API operation.
  3303  //
  3304  // The context must be non-nil and will be used for request cancellation. If
  3305  // the context is nil a panic will occur. In the future the SDK may create
  3306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3307  // for more information on using Contexts.
  3308  func (c *SMS) TerminateAppWithContext(ctx aws.Context, input *TerminateAppInput, opts ...request.Option) (*TerminateAppOutput, error) {
  3309  	req, out := c.TerminateAppRequest(input)
  3310  	req.SetContext(ctx)
  3311  	req.ApplyOptions(opts...)
  3312  	return out, req.Send()
  3313  }
  3314  
  3315  const opUpdateApp = "UpdateApp"
  3316  
  3317  // UpdateAppRequest generates a "aws/request.Request" representing the
  3318  // client's request for the UpdateApp operation. The "output" return
  3319  // value will be populated with the request's response once the request completes
  3320  // successfully.
  3321  //
  3322  // Use "Send" method on the returned Request to send the API call to the service.
  3323  // the "output" return value is not valid until after Send returns without error.
  3324  //
  3325  // See UpdateApp for more information on using the UpdateApp
  3326  // API call, and error handling.
  3327  //
  3328  // This method is useful when you want to inject custom logic or configuration
  3329  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3330  //
  3331  //
  3332  //    // Example sending a request using the UpdateAppRequest method.
  3333  //    req, resp := client.UpdateAppRequest(params)
  3334  //
  3335  //    err := req.Send()
  3336  //    if err == nil { // resp is now filled
  3337  //        fmt.Println(resp)
  3338  //    }
  3339  //
  3340  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateApp
  3341  func (c *SMS) UpdateAppRequest(input *UpdateAppInput) (req *request.Request, output *UpdateAppOutput) {
  3342  	op := &request.Operation{
  3343  		Name:       opUpdateApp,
  3344  		HTTPMethod: "POST",
  3345  		HTTPPath:   "/",
  3346  	}
  3347  
  3348  	if input == nil {
  3349  		input = &UpdateAppInput{}
  3350  	}
  3351  
  3352  	output = &UpdateAppOutput{}
  3353  	req = c.newRequest(op, input, output)
  3354  	return
  3355  }
  3356  
  3357  // UpdateApp API operation for AWS Server Migration Service.
  3358  //
  3359  // Updates the specified application.
  3360  //
  3361  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3362  // with awserr.Error's Code and Message methods to get detailed information about
  3363  // the error.
  3364  //
  3365  // See the AWS API reference guide for AWS Server Migration Service's
  3366  // API operation UpdateApp for usage and error information.
  3367  //
  3368  // Returned Error Types:
  3369  //   * UnauthorizedOperationException
  3370  //   You lack permissions needed to perform this operation. Check your IAM policies,
  3371  //   and ensure that you are using the correct access keys.
  3372  //
  3373  //   * InvalidParameterException
  3374  //   A specified parameter is not valid.
  3375  //
  3376  //   * MissingRequiredParameterException
  3377  //   A required parameter is missing.
  3378  //
  3379  //   * InternalError
  3380  //   An internal error occurred.
  3381  //
  3382  //   * OperationNotPermittedException
  3383  //   This operation is not allowed.
  3384  //
  3385  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateApp
  3386  func (c *SMS) UpdateApp(input *UpdateAppInput) (*UpdateAppOutput, error) {
  3387  	req, out := c.UpdateAppRequest(input)
  3388  	return out, req.Send()
  3389  }
  3390  
  3391  // UpdateAppWithContext is the same as UpdateApp with the addition of
  3392  // the ability to pass a context and additional request options.
  3393  //
  3394  // See UpdateApp for details on how to use this API operation.
  3395  //
  3396  // The context must be non-nil and will be used for request cancellation. If
  3397  // the context is nil a panic will occur. In the future the SDK may create
  3398  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3399  // for more information on using Contexts.
  3400  func (c *SMS) UpdateAppWithContext(ctx aws.Context, input *UpdateAppInput, opts ...request.Option) (*UpdateAppOutput, error) {
  3401  	req, out := c.UpdateAppRequest(input)
  3402  	req.SetContext(ctx)
  3403  	req.ApplyOptions(opts...)
  3404  	return out, req.Send()
  3405  }
  3406  
  3407  const opUpdateReplicationJob = "UpdateReplicationJob"
  3408  
  3409  // UpdateReplicationJobRequest generates a "aws/request.Request" representing the
  3410  // client's request for the UpdateReplicationJob operation. The "output" return
  3411  // value will be populated with the request's response once the request completes
  3412  // successfully.
  3413  //
  3414  // Use "Send" method on the returned Request to send the API call to the service.
  3415  // the "output" return value is not valid until after Send returns without error.
  3416  //
  3417  // See UpdateReplicationJob for more information on using the UpdateReplicationJob
  3418  // API call, and error handling.
  3419  //
  3420  // This method is useful when you want to inject custom logic or configuration
  3421  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3422  //
  3423  //
  3424  //    // Example sending a request using the UpdateReplicationJobRequest method.
  3425  //    req, resp := client.UpdateReplicationJobRequest(params)
  3426  //
  3427  //    err := req.Send()
  3428  //    if err == nil { // resp is now filled
  3429  //        fmt.Println(resp)
  3430  //    }
  3431  //
  3432  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateReplicationJob
  3433  func (c *SMS) UpdateReplicationJobRequest(input *UpdateReplicationJobInput) (req *request.Request, output *UpdateReplicationJobOutput) {
  3434  	op := &request.Operation{
  3435  		Name:       opUpdateReplicationJob,
  3436  		HTTPMethod: "POST",
  3437  		HTTPPath:   "/",
  3438  	}
  3439  
  3440  	if input == nil {
  3441  		input = &UpdateReplicationJobInput{}
  3442  	}
  3443  
  3444  	output = &UpdateReplicationJobOutput{}
  3445  	req = c.newRequest(op, input, output)
  3446  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3447  	return
  3448  }
  3449  
  3450  // UpdateReplicationJob API operation for AWS Server Migration Service.
  3451  //
  3452  // Updates the specified settings for the specified replication job.
  3453  //
  3454  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3455  // with awserr.Error's Code and Message methods to get detailed information about
  3456  // the error.
  3457  //
  3458  // See the AWS API reference guide for AWS Server Migration Service's
  3459  // API operation UpdateReplicationJob for usage and error information.
  3460  //
  3461  // Returned Error Types:
  3462  //   * InvalidParameterException
  3463  //   A specified parameter is not valid.
  3464  //
  3465  //   * MissingRequiredParameterException
  3466  //   A required parameter is missing.
  3467  //
  3468  //   * OperationNotPermittedException
  3469  //   This operation is not allowed.
  3470  //
  3471  //   * UnauthorizedOperationException
  3472  //   You lack permissions needed to perform this operation. Check your IAM policies,
  3473  //   and ensure that you are using the correct access keys.
  3474  //
  3475  //   * ServerCannotBeReplicatedException
  3476  //   The specified server cannot be replicated.
  3477  //
  3478  //   * ReplicationJobNotFoundException
  3479  //   The specified replication job does not exist.
  3480  //
  3481  //   * InternalError
  3482  //   An internal error occurred.
  3483  //
  3484  //   * TemporarilyUnavailableException
  3485  //   The service is temporarily unavailable.
  3486  //
  3487  // See also, https://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateReplicationJob
  3488  func (c *SMS) UpdateReplicationJob(input *UpdateReplicationJobInput) (*UpdateReplicationJobOutput, error) {
  3489  	req, out := c.UpdateReplicationJobRequest(input)
  3490  	return out, req.Send()
  3491  }
  3492  
  3493  // UpdateReplicationJobWithContext is the same as UpdateReplicationJob with the addition of
  3494  // the ability to pass a context and additional request options.
  3495  //
  3496  // See UpdateReplicationJob for details on how to use this API operation.
  3497  //
  3498  // The context must be non-nil and will be used for request cancellation. If
  3499  // the context is nil a panic will occur. In the future the SDK may create
  3500  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3501  // for more information on using Contexts.
  3502  func (c *SMS) UpdateReplicationJobWithContext(ctx aws.Context, input *UpdateReplicationJobInput, opts ...request.Option) (*UpdateReplicationJobOutput, error) {
  3503  	req, out := c.UpdateReplicationJobRequest(input)
  3504  	req.SetContext(ctx)
  3505  	req.ApplyOptions(opts...)
  3506  	return out, req.Send()
  3507  }
  3508  
  3509  // Information about the application.
  3510  type AppSummary struct {
  3511  	_ struct{} `type:"structure"`
  3512  
  3513  	// The unique ID of the application.
  3514  	AppId *string `locationName:"appId" type:"string"`
  3515  
  3516  	// The creation time of the application.
  3517  	CreationTime *time.Time `locationName:"creationTime" type:"timestamp"`
  3518  
  3519  	// The description of the application.
  3520  	Description *string `locationName:"description" type:"string"`
  3521  
  3522  	// The ID of the application.
  3523  	ImportedAppId *string `locationName:"importedAppId" type:"string"`
  3524  
  3525  	// The last modified time of the application.
  3526  	LastModified *time.Time `locationName:"lastModified" type:"timestamp"`
  3527  
  3528  	// The timestamp of the application's most recent successful replication.
  3529  	LatestReplicationTime *time.Time `locationName:"latestReplicationTime" type:"timestamp"`
  3530  
  3531  	// Status of the launch configuration.
  3532  	LaunchConfigurationStatus *string `locationName:"launchConfigurationStatus" type:"string" enum:"AppLaunchConfigurationStatus"`
  3533  
  3534  	// Details about the latest launch of the application.
  3535  	LaunchDetails *LaunchDetails `locationName:"launchDetails" type:"structure"`
  3536  
  3537  	// The launch status of the application.
  3538  	LaunchStatus *string `locationName:"launchStatus" type:"string" enum:"AppLaunchStatus"`
  3539  
  3540  	// A message related to the launch status of the application.
  3541  	LaunchStatusMessage *string `locationName:"launchStatusMessage" type:"string"`
  3542  
  3543  	// The name of the application.
  3544  	Name *string `locationName:"name" type:"string"`
  3545  
  3546  	// Status of the replication configuration.
  3547  	ReplicationConfigurationStatus *string `locationName:"replicationConfigurationStatus" type:"string" enum:"AppReplicationConfigurationStatus"`
  3548  
  3549  	// The replication status of the application.
  3550  	ReplicationStatus *string `locationName:"replicationStatus" type:"string" enum:"AppReplicationStatus"`
  3551  
  3552  	// A message related to the replication status of the application.
  3553  	ReplicationStatusMessage *string `locationName:"replicationStatusMessage" type:"string"`
  3554  
  3555  	// The name of the service role in the customer's account used by AWS SMS.
  3556  	RoleName *string `locationName:"roleName" type:"string"`
  3557  
  3558  	// Status of the application.
  3559  	Status *string `locationName:"status" type:"string" enum:"AppStatus"`
  3560  
  3561  	// A message related to the status of the application
  3562  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  3563  
  3564  	// The number of server groups present in the application.
  3565  	TotalServerGroups *int64 `locationName:"totalServerGroups" type:"integer"`
  3566  
  3567  	// The number of servers present in the application.
  3568  	TotalServers *int64 `locationName:"totalServers" type:"integer"`
  3569  }
  3570  
  3571  // String returns the string representation.
  3572  //
  3573  // API parameter values that are decorated as "sensitive" in the API will not
  3574  // be included in the string output. The member name will be present, but the
  3575  // value will be replaced with "sensitive".
  3576  func (s AppSummary) String() string {
  3577  	return awsutil.Prettify(s)
  3578  }
  3579  
  3580  // GoString returns the string representation.
  3581  //
  3582  // API parameter values that are decorated as "sensitive" in the API will not
  3583  // be included in the string output. The member name will be present, but the
  3584  // value will be replaced with "sensitive".
  3585  func (s AppSummary) GoString() string {
  3586  	return s.String()
  3587  }
  3588  
  3589  // SetAppId sets the AppId field's value.
  3590  func (s *AppSummary) SetAppId(v string) *AppSummary {
  3591  	s.AppId = &v
  3592  	return s
  3593  }
  3594  
  3595  // SetCreationTime sets the CreationTime field's value.
  3596  func (s *AppSummary) SetCreationTime(v time.Time) *AppSummary {
  3597  	s.CreationTime = &v
  3598  	return s
  3599  }
  3600  
  3601  // SetDescription sets the Description field's value.
  3602  func (s *AppSummary) SetDescription(v string) *AppSummary {
  3603  	s.Description = &v
  3604  	return s
  3605  }
  3606  
  3607  // SetImportedAppId sets the ImportedAppId field's value.
  3608  func (s *AppSummary) SetImportedAppId(v string) *AppSummary {
  3609  	s.ImportedAppId = &v
  3610  	return s
  3611  }
  3612  
  3613  // SetLastModified sets the LastModified field's value.
  3614  func (s *AppSummary) SetLastModified(v time.Time) *AppSummary {
  3615  	s.LastModified = &v
  3616  	return s
  3617  }
  3618  
  3619  // SetLatestReplicationTime sets the LatestReplicationTime field's value.
  3620  func (s *AppSummary) SetLatestReplicationTime(v time.Time) *AppSummary {
  3621  	s.LatestReplicationTime = &v
  3622  	return s
  3623  }
  3624  
  3625  // SetLaunchConfigurationStatus sets the LaunchConfigurationStatus field's value.
  3626  func (s *AppSummary) SetLaunchConfigurationStatus(v string) *AppSummary {
  3627  	s.LaunchConfigurationStatus = &v
  3628  	return s
  3629  }
  3630  
  3631  // SetLaunchDetails sets the LaunchDetails field's value.
  3632  func (s *AppSummary) SetLaunchDetails(v *LaunchDetails) *AppSummary {
  3633  	s.LaunchDetails = v
  3634  	return s
  3635  }
  3636  
  3637  // SetLaunchStatus sets the LaunchStatus field's value.
  3638  func (s *AppSummary) SetLaunchStatus(v string) *AppSummary {
  3639  	s.LaunchStatus = &v
  3640  	return s
  3641  }
  3642  
  3643  // SetLaunchStatusMessage sets the LaunchStatusMessage field's value.
  3644  func (s *AppSummary) SetLaunchStatusMessage(v string) *AppSummary {
  3645  	s.LaunchStatusMessage = &v
  3646  	return s
  3647  }
  3648  
  3649  // SetName sets the Name field's value.
  3650  func (s *AppSummary) SetName(v string) *AppSummary {
  3651  	s.Name = &v
  3652  	return s
  3653  }
  3654  
  3655  // SetReplicationConfigurationStatus sets the ReplicationConfigurationStatus field's value.
  3656  func (s *AppSummary) SetReplicationConfigurationStatus(v string) *AppSummary {
  3657  	s.ReplicationConfigurationStatus = &v
  3658  	return s
  3659  }
  3660  
  3661  // SetReplicationStatus sets the ReplicationStatus field's value.
  3662  func (s *AppSummary) SetReplicationStatus(v string) *AppSummary {
  3663  	s.ReplicationStatus = &v
  3664  	return s
  3665  }
  3666  
  3667  // SetReplicationStatusMessage sets the ReplicationStatusMessage field's value.
  3668  func (s *AppSummary) SetReplicationStatusMessage(v string) *AppSummary {
  3669  	s.ReplicationStatusMessage = &v
  3670  	return s
  3671  }
  3672  
  3673  // SetRoleName sets the RoleName field's value.
  3674  func (s *AppSummary) SetRoleName(v string) *AppSummary {
  3675  	s.RoleName = &v
  3676  	return s
  3677  }
  3678  
  3679  // SetStatus sets the Status field's value.
  3680  func (s *AppSummary) SetStatus(v string) *AppSummary {
  3681  	s.Status = &v
  3682  	return s
  3683  }
  3684  
  3685  // SetStatusMessage sets the StatusMessage field's value.
  3686  func (s *AppSummary) SetStatusMessage(v string) *AppSummary {
  3687  	s.StatusMessage = &v
  3688  	return s
  3689  }
  3690  
  3691  // SetTotalServerGroups sets the TotalServerGroups field's value.
  3692  func (s *AppSummary) SetTotalServerGroups(v int64) *AppSummary {
  3693  	s.TotalServerGroups = &v
  3694  	return s
  3695  }
  3696  
  3697  // SetTotalServers sets the TotalServers field's value.
  3698  func (s *AppSummary) SetTotalServers(v int64) *AppSummary {
  3699  	s.TotalServers = &v
  3700  	return s
  3701  }
  3702  
  3703  // Configuration for validating an application.
  3704  type AppValidationConfiguration struct {
  3705  	_ struct{} `type:"structure"`
  3706  
  3707  	// The validation strategy.
  3708  	AppValidationStrategy *string `locationName:"appValidationStrategy" type:"string" enum:"AppValidationStrategy"`
  3709  
  3710  	// The name of the configuration.
  3711  	Name *string `locationName:"name" min:"1" type:"string"`
  3712  
  3713  	// The validation parameters.
  3714  	SsmValidationParameters *SSMValidationParameters `locationName:"ssmValidationParameters" type:"structure"`
  3715  
  3716  	// The ID of the validation.
  3717  	ValidationId *string `locationName:"validationId" type:"string"`
  3718  }
  3719  
  3720  // String returns the string representation.
  3721  //
  3722  // API parameter values that are decorated as "sensitive" in the API will not
  3723  // be included in the string output. The member name will be present, but the
  3724  // value will be replaced with "sensitive".
  3725  func (s AppValidationConfiguration) String() string {
  3726  	return awsutil.Prettify(s)
  3727  }
  3728  
  3729  // GoString returns the string representation.
  3730  //
  3731  // API parameter values that are decorated as "sensitive" in the API will not
  3732  // be included in the string output. The member name will be present, but the
  3733  // value will be replaced with "sensitive".
  3734  func (s AppValidationConfiguration) GoString() string {
  3735  	return s.String()
  3736  }
  3737  
  3738  // Validate inspects the fields of the type to determine if they are valid.
  3739  func (s *AppValidationConfiguration) Validate() error {
  3740  	invalidParams := request.ErrInvalidParams{Context: "AppValidationConfiguration"}
  3741  	if s.Name != nil && len(*s.Name) < 1 {
  3742  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  3743  	}
  3744  	if s.SsmValidationParameters != nil {
  3745  		if err := s.SsmValidationParameters.Validate(); err != nil {
  3746  			invalidParams.AddNested("SsmValidationParameters", err.(request.ErrInvalidParams))
  3747  		}
  3748  	}
  3749  
  3750  	if invalidParams.Len() > 0 {
  3751  		return invalidParams
  3752  	}
  3753  	return nil
  3754  }
  3755  
  3756  // SetAppValidationStrategy sets the AppValidationStrategy field's value.
  3757  func (s *AppValidationConfiguration) SetAppValidationStrategy(v string) *AppValidationConfiguration {
  3758  	s.AppValidationStrategy = &v
  3759  	return s
  3760  }
  3761  
  3762  // SetName sets the Name field's value.
  3763  func (s *AppValidationConfiguration) SetName(v string) *AppValidationConfiguration {
  3764  	s.Name = &v
  3765  	return s
  3766  }
  3767  
  3768  // SetSsmValidationParameters sets the SsmValidationParameters field's value.
  3769  func (s *AppValidationConfiguration) SetSsmValidationParameters(v *SSMValidationParameters) *AppValidationConfiguration {
  3770  	s.SsmValidationParameters = v
  3771  	return s
  3772  }
  3773  
  3774  // SetValidationId sets the ValidationId field's value.
  3775  func (s *AppValidationConfiguration) SetValidationId(v string) *AppValidationConfiguration {
  3776  	s.ValidationId = &v
  3777  	return s
  3778  }
  3779  
  3780  // Output from validating an application.
  3781  type AppValidationOutput struct {
  3782  	_ struct{} `type:"structure"`
  3783  
  3784  	// Output from using SSM to validate the application.
  3785  	SsmOutput *SSMOutput `locationName:"ssmOutput" type:"structure"`
  3786  }
  3787  
  3788  // String returns the string representation.
  3789  //
  3790  // API parameter values that are decorated as "sensitive" in the API will not
  3791  // be included in the string output. The member name will be present, but the
  3792  // value will be replaced with "sensitive".
  3793  func (s AppValidationOutput) String() string {
  3794  	return awsutil.Prettify(s)
  3795  }
  3796  
  3797  // GoString returns the string representation.
  3798  //
  3799  // API parameter values that are decorated as "sensitive" in the API will not
  3800  // be included in the string output. The member name will be present, but the
  3801  // value will be replaced with "sensitive".
  3802  func (s AppValidationOutput) GoString() string {
  3803  	return s.String()
  3804  }
  3805  
  3806  // SetSsmOutput sets the SsmOutput field's value.
  3807  func (s *AppValidationOutput) SetSsmOutput(v *SSMOutput) *AppValidationOutput {
  3808  	s.SsmOutput = v
  3809  	return s
  3810  }
  3811  
  3812  // Represents a connector.
  3813  type Connector struct {
  3814  	_ struct{} `type:"structure"`
  3815  
  3816  	// The time the connector was associated.
  3817  	AssociatedOn *time.Time `locationName:"associatedOn" type:"timestamp"`
  3818  
  3819  	// The capabilities of the connector.
  3820  	CapabilityList []*string `locationName:"capabilityList" type:"list"`
  3821  
  3822  	// The ID of the connector.
  3823  	ConnectorId *string `locationName:"connectorId" type:"string"`
  3824  
  3825  	// The IP address of the connector.
  3826  	IpAddress *string `locationName:"ipAddress" type:"string"`
  3827  
  3828  	// The MAC address of the connector.
  3829  	MacAddress *string `locationName:"macAddress" type:"string"`
  3830  
  3831  	// The status of the connector.
  3832  	Status *string `locationName:"status" type:"string" enum:"ConnectorStatus"`
  3833  
  3834  	// The connector version.
  3835  	Version *string `locationName:"version" type:"string"`
  3836  
  3837  	// The ID of the VM manager.
  3838  	VmManagerId *string `locationName:"vmManagerId" type:"string"`
  3839  
  3840  	// The name of the VM manager.
  3841  	VmManagerName *string `locationName:"vmManagerName" type:"string"`
  3842  
  3843  	// The VM management product.
  3844  	VmManagerType *string `locationName:"vmManagerType" type:"string" enum:"VmManagerType"`
  3845  }
  3846  
  3847  // String returns the string representation.
  3848  //
  3849  // API parameter values that are decorated as "sensitive" in the API will not
  3850  // be included in the string output. The member name will be present, but the
  3851  // value will be replaced with "sensitive".
  3852  func (s Connector) String() string {
  3853  	return awsutil.Prettify(s)
  3854  }
  3855  
  3856  // GoString returns the string representation.
  3857  //
  3858  // API parameter values that are decorated as "sensitive" in the API will not
  3859  // be included in the string output. The member name will be present, but the
  3860  // value will be replaced with "sensitive".
  3861  func (s Connector) GoString() string {
  3862  	return s.String()
  3863  }
  3864  
  3865  // SetAssociatedOn sets the AssociatedOn field's value.
  3866  func (s *Connector) SetAssociatedOn(v time.Time) *Connector {
  3867  	s.AssociatedOn = &v
  3868  	return s
  3869  }
  3870  
  3871  // SetCapabilityList sets the CapabilityList field's value.
  3872  func (s *Connector) SetCapabilityList(v []*string) *Connector {
  3873  	s.CapabilityList = v
  3874  	return s
  3875  }
  3876  
  3877  // SetConnectorId sets the ConnectorId field's value.
  3878  func (s *Connector) SetConnectorId(v string) *Connector {
  3879  	s.ConnectorId = &v
  3880  	return s
  3881  }
  3882  
  3883  // SetIpAddress sets the IpAddress field's value.
  3884  func (s *Connector) SetIpAddress(v string) *Connector {
  3885  	s.IpAddress = &v
  3886  	return s
  3887  }
  3888  
  3889  // SetMacAddress sets the MacAddress field's value.
  3890  func (s *Connector) SetMacAddress(v string) *Connector {
  3891  	s.MacAddress = &v
  3892  	return s
  3893  }
  3894  
  3895  // SetStatus sets the Status field's value.
  3896  func (s *Connector) SetStatus(v string) *Connector {
  3897  	s.Status = &v
  3898  	return s
  3899  }
  3900  
  3901  // SetVersion sets the Version field's value.
  3902  func (s *Connector) SetVersion(v string) *Connector {
  3903  	s.Version = &v
  3904  	return s
  3905  }
  3906  
  3907  // SetVmManagerId sets the VmManagerId field's value.
  3908  func (s *Connector) SetVmManagerId(v string) *Connector {
  3909  	s.VmManagerId = &v
  3910  	return s
  3911  }
  3912  
  3913  // SetVmManagerName sets the VmManagerName field's value.
  3914  func (s *Connector) SetVmManagerName(v string) *Connector {
  3915  	s.VmManagerName = &v
  3916  	return s
  3917  }
  3918  
  3919  // SetVmManagerType sets the VmManagerType field's value.
  3920  func (s *Connector) SetVmManagerType(v string) *Connector {
  3921  	s.VmManagerType = &v
  3922  	return s
  3923  }
  3924  
  3925  type CreateAppInput struct {
  3926  	_ struct{} `type:"structure"`
  3927  
  3928  	// A unique, case-sensitive identifier that you provide to ensure the idempotency
  3929  	// of application creation.
  3930  	ClientToken *string `locationName:"clientToken" type:"string"`
  3931  
  3932  	// The description of the new application
  3933  	Description *string `locationName:"description" type:"string"`
  3934  
  3935  	// The name of the new application.
  3936  	Name *string `locationName:"name" type:"string"`
  3937  
  3938  	// The name of the service role in the customer's account to be used by AWS
  3939  	// SMS.
  3940  	RoleName *string `locationName:"roleName" type:"string"`
  3941  
  3942  	// The server groups to include in the application.
  3943  	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
  3944  
  3945  	// The tags to be associated with the application.
  3946  	Tags []*Tag `locationName:"tags" type:"list"`
  3947  }
  3948  
  3949  // String returns the string representation.
  3950  //
  3951  // API parameter values that are decorated as "sensitive" in the API will not
  3952  // be included in the string output. The member name will be present, but the
  3953  // value will be replaced with "sensitive".
  3954  func (s CreateAppInput) String() string {
  3955  	return awsutil.Prettify(s)
  3956  }
  3957  
  3958  // GoString returns the string representation.
  3959  //
  3960  // API parameter values that are decorated as "sensitive" in the API will not
  3961  // be included in the string output. The member name will be present, but the
  3962  // value will be replaced with "sensitive".
  3963  func (s CreateAppInput) GoString() string {
  3964  	return s.String()
  3965  }
  3966  
  3967  // SetClientToken sets the ClientToken field's value.
  3968  func (s *CreateAppInput) SetClientToken(v string) *CreateAppInput {
  3969  	s.ClientToken = &v
  3970  	return s
  3971  }
  3972  
  3973  // SetDescription sets the Description field's value.
  3974  func (s *CreateAppInput) SetDescription(v string) *CreateAppInput {
  3975  	s.Description = &v
  3976  	return s
  3977  }
  3978  
  3979  // SetName sets the Name field's value.
  3980  func (s *CreateAppInput) SetName(v string) *CreateAppInput {
  3981  	s.Name = &v
  3982  	return s
  3983  }
  3984  
  3985  // SetRoleName sets the RoleName field's value.
  3986  func (s *CreateAppInput) SetRoleName(v string) *CreateAppInput {
  3987  	s.RoleName = &v
  3988  	return s
  3989  }
  3990  
  3991  // SetServerGroups sets the ServerGroups field's value.
  3992  func (s *CreateAppInput) SetServerGroups(v []*ServerGroup) *CreateAppInput {
  3993  	s.ServerGroups = v
  3994  	return s
  3995  }
  3996  
  3997  // SetTags sets the Tags field's value.
  3998  func (s *CreateAppInput) SetTags(v []*Tag) *CreateAppInput {
  3999  	s.Tags = v
  4000  	return s
  4001  }
  4002  
  4003  type CreateAppOutput struct {
  4004  	_ struct{} `type:"structure"`
  4005  
  4006  	// A summary description of the application.
  4007  	AppSummary *AppSummary `locationName:"appSummary" type:"structure"`
  4008  
  4009  	// The server groups included in the application.
  4010  	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
  4011  
  4012  	// The tags associated with the application.
  4013  	Tags []*Tag `locationName:"tags" type:"list"`
  4014  }
  4015  
  4016  // String returns the string representation.
  4017  //
  4018  // API parameter values that are decorated as "sensitive" in the API will not
  4019  // be included in the string output. The member name will be present, but the
  4020  // value will be replaced with "sensitive".
  4021  func (s CreateAppOutput) String() string {
  4022  	return awsutil.Prettify(s)
  4023  }
  4024  
  4025  // GoString returns the string representation.
  4026  //
  4027  // API parameter values that are decorated as "sensitive" in the API will not
  4028  // be included in the string output. The member name will be present, but the
  4029  // value will be replaced with "sensitive".
  4030  func (s CreateAppOutput) GoString() string {
  4031  	return s.String()
  4032  }
  4033  
  4034  // SetAppSummary sets the AppSummary field's value.
  4035  func (s *CreateAppOutput) SetAppSummary(v *AppSummary) *CreateAppOutput {
  4036  	s.AppSummary = v
  4037  	return s
  4038  }
  4039  
  4040  // SetServerGroups sets the ServerGroups field's value.
  4041  func (s *CreateAppOutput) SetServerGroups(v []*ServerGroup) *CreateAppOutput {
  4042  	s.ServerGroups = v
  4043  	return s
  4044  }
  4045  
  4046  // SetTags sets the Tags field's value.
  4047  func (s *CreateAppOutput) SetTags(v []*Tag) *CreateAppOutput {
  4048  	s.Tags = v
  4049  	return s
  4050  }
  4051  
  4052  type CreateReplicationJobInput struct {
  4053  	_ struct{} `type:"structure"`
  4054  
  4055  	// The description of the replication job.
  4056  	Description *string `locationName:"description" type:"string"`
  4057  
  4058  	// Indicates whether the replication job produces encrypted AMIs.
  4059  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  4060  
  4061  	// The time between consecutive replication runs, in hours.
  4062  	Frequency *int64 `locationName:"frequency" type:"integer"`
  4063  
  4064  	// The ID of the KMS key for replication jobs that produce encrypted AMIs. This
  4065  	// value can be any of the following:
  4066  	//
  4067  	//    * KMS key ID
  4068  	//
  4069  	//    * KMS key alias
  4070  	//
  4071  	//    * ARN referring to the KMS key ID
  4072  	//
  4073  	//    * ARN referring to the KMS key alias
  4074  	//
  4075  	// If encrypted is true but a KMS key ID is not specified, the customer's default
  4076  	// KMS key for Amazon EBS is used.
  4077  	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  4078  
  4079  	// The license type to be used for the AMI created by a successful replication
  4080  	// run.
  4081  	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
  4082  
  4083  	// The maximum number of SMS-created AMIs to retain. The oldest is deleted after
  4084  	// the maximum number is reached and a new AMI is created.
  4085  	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
  4086  
  4087  	// The name of the IAM role to be used by the AWS SMS.
  4088  	RoleName *string `locationName:"roleName" type:"string"`
  4089  
  4090  	// Indicates whether to run the replication job one time.
  4091  	RunOnce *bool `locationName:"runOnce" type:"boolean"`
  4092  
  4093  	// The seed replication time.
  4094  	//
  4095  	// SeedReplicationTime is a required field
  4096  	SeedReplicationTime *time.Time `locationName:"seedReplicationTime" type:"timestamp" required:"true"`
  4097  
  4098  	// The ID of the server.
  4099  	//
  4100  	// ServerId is a required field
  4101  	ServerId *string `locationName:"serverId" type:"string" required:"true"`
  4102  }
  4103  
  4104  // String returns the string representation.
  4105  //
  4106  // API parameter values that are decorated as "sensitive" in the API will not
  4107  // be included in the string output. The member name will be present, but the
  4108  // value will be replaced with "sensitive".
  4109  func (s CreateReplicationJobInput) String() string {
  4110  	return awsutil.Prettify(s)
  4111  }
  4112  
  4113  // GoString returns the string representation.
  4114  //
  4115  // API parameter values that are decorated as "sensitive" in the API will not
  4116  // be included in the string output. The member name will be present, but the
  4117  // value will be replaced with "sensitive".
  4118  func (s CreateReplicationJobInput) GoString() string {
  4119  	return s.String()
  4120  }
  4121  
  4122  // Validate inspects the fields of the type to determine if they are valid.
  4123  func (s *CreateReplicationJobInput) Validate() error {
  4124  	invalidParams := request.ErrInvalidParams{Context: "CreateReplicationJobInput"}
  4125  	if s.SeedReplicationTime == nil {
  4126  		invalidParams.Add(request.NewErrParamRequired("SeedReplicationTime"))
  4127  	}
  4128  	if s.ServerId == nil {
  4129  		invalidParams.Add(request.NewErrParamRequired("ServerId"))
  4130  	}
  4131  
  4132  	if invalidParams.Len() > 0 {
  4133  		return invalidParams
  4134  	}
  4135  	return nil
  4136  }
  4137  
  4138  // SetDescription sets the Description field's value.
  4139  func (s *CreateReplicationJobInput) SetDescription(v string) *CreateReplicationJobInput {
  4140  	s.Description = &v
  4141  	return s
  4142  }
  4143  
  4144  // SetEncrypted sets the Encrypted field's value.
  4145  func (s *CreateReplicationJobInput) SetEncrypted(v bool) *CreateReplicationJobInput {
  4146  	s.Encrypted = &v
  4147  	return s
  4148  }
  4149  
  4150  // SetFrequency sets the Frequency field's value.
  4151  func (s *CreateReplicationJobInput) SetFrequency(v int64) *CreateReplicationJobInput {
  4152  	s.Frequency = &v
  4153  	return s
  4154  }
  4155  
  4156  // SetKmsKeyId sets the KmsKeyId field's value.
  4157  func (s *CreateReplicationJobInput) SetKmsKeyId(v string) *CreateReplicationJobInput {
  4158  	s.KmsKeyId = &v
  4159  	return s
  4160  }
  4161  
  4162  // SetLicenseType sets the LicenseType field's value.
  4163  func (s *CreateReplicationJobInput) SetLicenseType(v string) *CreateReplicationJobInput {
  4164  	s.LicenseType = &v
  4165  	return s
  4166  }
  4167  
  4168  // SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
  4169  func (s *CreateReplicationJobInput) SetNumberOfRecentAmisToKeep(v int64) *CreateReplicationJobInput {
  4170  	s.NumberOfRecentAmisToKeep = &v
  4171  	return s
  4172  }
  4173  
  4174  // SetRoleName sets the RoleName field's value.
  4175  func (s *CreateReplicationJobInput) SetRoleName(v string) *CreateReplicationJobInput {
  4176  	s.RoleName = &v
  4177  	return s
  4178  }
  4179  
  4180  // SetRunOnce sets the RunOnce field's value.
  4181  func (s *CreateReplicationJobInput) SetRunOnce(v bool) *CreateReplicationJobInput {
  4182  	s.RunOnce = &v
  4183  	return s
  4184  }
  4185  
  4186  // SetSeedReplicationTime sets the SeedReplicationTime field's value.
  4187  func (s *CreateReplicationJobInput) SetSeedReplicationTime(v time.Time) *CreateReplicationJobInput {
  4188  	s.SeedReplicationTime = &v
  4189  	return s
  4190  }
  4191  
  4192  // SetServerId sets the ServerId field's value.
  4193  func (s *CreateReplicationJobInput) SetServerId(v string) *CreateReplicationJobInput {
  4194  	s.ServerId = &v
  4195  	return s
  4196  }
  4197  
  4198  type CreateReplicationJobOutput struct {
  4199  	_ struct{} `type:"structure"`
  4200  
  4201  	// The unique identifier of the replication job.
  4202  	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
  4203  }
  4204  
  4205  // String returns the string representation.
  4206  //
  4207  // API parameter values that are decorated as "sensitive" in the API will not
  4208  // be included in the string output. The member name will be present, but the
  4209  // value will be replaced with "sensitive".
  4210  func (s CreateReplicationJobOutput) String() string {
  4211  	return awsutil.Prettify(s)
  4212  }
  4213  
  4214  // GoString returns the string representation.
  4215  //
  4216  // API parameter values that are decorated as "sensitive" in the API will not
  4217  // be included in the string output. The member name will be present, but the
  4218  // value will be replaced with "sensitive".
  4219  func (s CreateReplicationJobOutput) GoString() string {
  4220  	return s.String()
  4221  }
  4222  
  4223  // SetReplicationJobId sets the ReplicationJobId field's value.
  4224  func (s *CreateReplicationJobOutput) SetReplicationJobId(v string) *CreateReplicationJobOutput {
  4225  	s.ReplicationJobId = &v
  4226  	return s
  4227  }
  4228  
  4229  type DeleteAppInput struct {
  4230  	_ struct{} `type:"structure"`
  4231  
  4232  	// The ID of the application.
  4233  	AppId *string `locationName:"appId" type:"string"`
  4234  
  4235  	// Indicates whether to stop all replication jobs corresponding to the servers
  4236  	// in the application while deleting the application.
  4237  	ForceStopAppReplication *bool `locationName:"forceStopAppReplication" type:"boolean"`
  4238  
  4239  	// Indicates whether to terminate the stack corresponding to the application
  4240  	// while deleting the application.
  4241  	ForceTerminateApp *bool `locationName:"forceTerminateApp" type:"boolean"`
  4242  }
  4243  
  4244  // String returns the string representation.
  4245  //
  4246  // API parameter values that are decorated as "sensitive" in the API will not
  4247  // be included in the string output. The member name will be present, but the
  4248  // value will be replaced with "sensitive".
  4249  func (s DeleteAppInput) String() string {
  4250  	return awsutil.Prettify(s)
  4251  }
  4252  
  4253  // GoString returns the string representation.
  4254  //
  4255  // API parameter values that are decorated as "sensitive" in the API will not
  4256  // be included in the string output. The member name will be present, but the
  4257  // value will be replaced with "sensitive".
  4258  func (s DeleteAppInput) GoString() string {
  4259  	return s.String()
  4260  }
  4261  
  4262  // SetAppId sets the AppId field's value.
  4263  func (s *DeleteAppInput) SetAppId(v string) *DeleteAppInput {
  4264  	s.AppId = &v
  4265  	return s
  4266  }
  4267  
  4268  // SetForceStopAppReplication sets the ForceStopAppReplication field's value.
  4269  func (s *DeleteAppInput) SetForceStopAppReplication(v bool) *DeleteAppInput {
  4270  	s.ForceStopAppReplication = &v
  4271  	return s
  4272  }
  4273  
  4274  // SetForceTerminateApp sets the ForceTerminateApp field's value.
  4275  func (s *DeleteAppInput) SetForceTerminateApp(v bool) *DeleteAppInput {
  4276  	s.ForceTerminateApp = &v
  4277  	return s
  4278  }
  4279  
  4280  type DeleteAppLaunchConfigurationInput struct {
  4281  	_ struct{} `type:"structure"`
  4282  
  4283  	// The ID of the application.
  4284  	AppId *string `locationName:"appId" type:"string"`
  4285  }
  4286  
  4287  // String returns the string representation.
  4288  //
  4289  // API parameter values that are decorated as "sensitive" in the API will not
  4290  // be included in the string output. The member name will be present, but the
  4291  // value will be replaced with "sensitive".
  4292  func (s DeleteAppLaunchConfigurationInput) String() string {
  4293  	return awsutil.Prettify(s)
  4294  }
  4295  
  4296  // GoString returns the string representation.
  4297  //
  4298  // API parameter values that are decorated as "sensitive" in the API will not
  4299  // be included in the string output. The member name will be present, but the
  4300  // value will be replaced with "sensitive".
  4301  func (s DeleteAppLaunchConfigurationInput) GoString() string {
  4302  	return s.String()
  4303  }
  4304  
  4305  // SetAppId sets the AppId field's value.
  4306  func (s *DeleteAppLaunchConfigurationInput) SetAppId(v string) *DeleteAppLaunchConfigurationInput {
  4307  	s.AppId = &v
  4308  	return s
  4309  }
  4310  
  4311  type DeleteAppLaunchConfigurationOutput struct {
  4312  	_ struct{} `type:"structure"`
  4313  }
  4314  
  4315  // String returns the string representation.
  4316  //
  4317  // API parameter values that are decorated as "sensitive" in the API will not
  4318  // be included in the string output. The member name will be present, but the
  4319  // value will be replaced with "sensitive".
  4320  func (s DeleteAppLaunchConfigurationOutput) String() string {
  4321  	return awsutil.Prettify(s)
  4322  }
  4323  
  4324  // GoString returns the string representation.
  4325  //
  4326  // API parameter values that are decorated as "sensitive" in the API will not
  4327  // be included in the string output. The member name will be present, but the
  4328  // value will be replaced with "sensitive".
  4329  func (s DeleteAppLaunchConfigurationOutput) GoString() string {
  4330  	return s.String()
  4331  }
  4332  
  4333  type DeleteAppOutput struct {
  4334  	_ struct{} `type:"structure"`
  4335  }
  4336  
  4337  // String returns the string representation.
  4338  //
  4339  // API parameter values that are decorated as "sensitive" in the API will not
  4340  // be included in the string output. The member name will be present, but the
  4341  // value will be replaced with "sensitive".
  4342  func (s DeleteAppOutput) String() string {
  4343  	return awsutil.Prettify(s)
  4344  }
  4345  
  4346  // GoString returns the string representation.
  4347  //
  4348  // API parameter values that are decorated as "sensitive" in the API will not
  4349  // be included in the string output. The member name will be present, but the
  4350  // value will be replaced with "sensitive".
  4351  func (s DeleteAppOutput) GoString() string {
  4352  	return s.String()
  4353  }
  4354  
  4355  type DeleteAppReplicationConfigurationInput struct {
  4356  	_ struct{} `type:"structure"`
  4357  
  4358  	// The ID of the application.
  4359  	AppId *string `locationName:"appId" type:"string"`
  4360  }
  4361  
  4362  // String returns the string representation.
  4363  //
  4364  // API parameter values that are decorated as "sensitive" in the API will not
  4365  // be included in the string output. The member name will be present, but the
  4366  // value will be replaced with "sensitive".
  4367  func (s DeleteAppReplicationConfigurationInput) String() string {
  4368  	return awsutil.Prettify(s)
  4369  }
  4370  
  4371  // GoString returns the string representation.
  4372  //
  4373  // API parameter values that are decorated as "sensitive" in the API will not
  4374  // be included in the string output. The member name will be present, but the
  4375  // value will be replaced with "sensitive".
  4376  func (s DeleteAppReplicationConfigurationInput) GoString() string {
  4377  	return s.String()
  4378  }
  4379  
  4380  // SetAppId sets the AppId field's value.
  4381  func (s *DeleteAppReplicationConfigurationInput) SetAppId(v string) *DeleteAppReplicationConfigurationInput {
  4382  	s.AppId = &v
  4383  	return s
  4384  }
  4385  
  4386  type DeleteAppReplicationConfigurationOutput struct {
  4387  	_ struct{} `type:"structure"`
  4388  }
  4389  
  4390  // String returns the string representation.
  4391  //
  4392  // API parameter values that are decorated as "sensitive" in the API will not
  4393  // be included in the string output. The member name will be present, but the
  4394  // value will be replaced with "sensitive".
  4395  func (s DeleteAppReplicationConfigurationOutput) String() string {
  4396  	return awsutil.Prettify(s)
  4397  }
  4398  
  4399  // GoString returns the string representation.
  4400  //
  4401  // API parameter values that are decorated as "sensitive" in the API will not
  4402  // be included in the string output. The member name will be present, but the
  4403  // value will be replaced with "sensitive".
  4404  func (s DeleteAppReplicationConfigurationOutput) GoString() string {
  4405  	return s.String()
  4406  }
  4407  
  4408  type DeleteAppValidationConfigurationInput struct {
  4409  	_ struct{} `type:"structure"`
  4410  
  4411  	// The ID of the application.
  4412  	//
  4413  	// AppId is a required field
  4414  	AppId *string `locationName:"appId" type:"string" required:"true"`
  4415  }
  4416  
  4417  // String returns the string representation.
  4418  //
  4419  // API parameter values that are decorated as "sensitive" in the API will not
  4420  // be included in the string output. The member name will be present, but the
  4421  // value will be replaced with "sensitive".
  4422  func (s DeleteAppValidationConfigurationInput) String() string {
  4423  	return awsutil.Prettify(s)
  4424  }
  4425  
  4426  // GoString returns the string representation.
  4427  //
  4428  // API parameter values that are decorated as "sensitive" in the API will not
  4429  // be included in the string output. The member name will be present, but the
  4430  // value will be replaced with "sensitive".
  4431  func (s DeleteAppValidationConfigurationInput) GoString() string {
  4432  	return s.String()
  4433  }
  4434  
  4435  // Validate inspects the fields of the type to determine if they are valid.
  4436  func (s *DeleteAppValidationConfigurationInput) Validate() error {
  4437  	invalidParams := request.ErrInvalidParams{Context: "DeleteAppValidationConfigurationInput"}
  4438  	if s.AppId == nil {
  4439  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  4440  	}
  4441  
  4442  	if invalidParams.Len() > 0 {
  4443  		return invalidParams
  4444  	}
  4445  	return nil
  4446  }
  4447  
  4448  // SetAppId sets the AppId field's value.
  4449  func (s *DeleteAppValidationConfigurationInput) SetAppId(v string) *DeleteAppValidationConfigurationInput {
  4450  	s.AppId = &v
  4451  	return s
  4452  }
  4453  
  4454  type DeleteAppValidationConfigurationOutput struct {
  4455  	_ struct{} `type:"structure"`
  4456  }
  4457  
  4458  // String returns the string representation.
  4459  //
  4460  // API parameter values that are decorated as "sensitive" in the API will not
  4461  // be included in the string output. The member name will be present, but the
  4462  // value will be replaced with "sensitive".
  4463  func (s DeleteAppValidationConfigurationOutput) String() string {
  4464  	return awsutil.Prettify(s)
  4465  }
  4466  
  4467  // GoString returns the string representation.
  4468  //
  4469  // API parameter values that are decorated as "sensitive" in the API will not
  4470  // be included in the string output. The member name will be present, but the
  4471  // value will be replaced with "sensitive".
  4472  func (s DeleteAppValidationConfigurationOutput) GoString() string {
  4473  	return s.String()
  4474  }
  4475  
  4476  type DeleteReplicationJobInput struct {
  4477  	_ struct{} `type:"structure"`
  4478  
  4479  	// The ID of the replication job.
  4480  	//
  4481  	// ReplicationJobId is a required field
  4482  	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
  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 DeleteReplicationJobInput) 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 DeleteReplicationJobInput) GoString() string {
  4500  	return s.String()
  4501  }
  4502  
  4503  // Validate inspects the fields of the type to determine if they are valid.
  4504  func (s *DeleteReplicationJobInput) Validate() error {
  4505  	invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationJobInput"}
  4506  	if s.ReplicationJobId == nil {
  4507  		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
  4508  	}
  4509  
  4510  	if invalidParams.Len() > 0 {
  4511  		return invalidParams
  4512  	}
  4513  	return nil
  4514  }
  4515  
  4516  // SetReplicationJobId sets the ReplicationJobId field's value.
  4517  func (s *DeleteReplicationJobInput) SetReplicationJobId(v string) *DeleteReplicationJobInput {
  4518  	s.ReplicationJobId = &v
  4519  	return s
  4520  }
  4521  
  4522  type DeleteReplicationJobOutput struct {
  4523  	_ struct{} `type:"structure"`
  4524  }
  4525  
  4526  // String returns the string representation.
  4527  //
  4528  // API parameter values that are decorated as "sensitive" in the API will not
  4529  // be included in the string output. The member name will be present, but the
  4530  // value will be replaced with "sensitive".
  4531  func (s DeleteReplicationJobOutput) String() string {
  4532  	return awsutil.Prettify(s)
  4533  }
  4534  
  4535  // GoString returns the string representation.
  4536  //
  4537  // API parameter values that are decorated as "sensitive" in the API will not
  4538  // be included in the string output. The member name will be present, but the
  4539  // value will be replaced with "sensitive".
  4540  func (s DeleteReplicationJobOutput) GoString() string {
  4541  	return s.String()
  4542  }
  4543  
  4544  type DeleteServerCatalogInput struct {
  4545  	_ struct{} `type:"structure"`
  4546  }
  4547  
  4548  // String 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 DeleteServerCatalogInput) String() string {
  4554  	return awsutil.Prettify(s)
  4555  }
  4556  
  4557  // GoString returns the string representation.
  4558  //
  4559  // API parameter values that are decorated as "sensitive" in the API will not
  4560  // be included in the string output. The member name will be present, but the
  4561  // value will be replaced with "sensitive".
  4562  func (s DeleteServerCatalogInput) GoString() string {
  4563  	return s.String()
  4564  }
  4565  
  4566  type DeleteServerCatalogOutput struct {
  4567  	_ struct{} `type:"structure"`
  4568  }
  4569  
  4570  // String returns the string representation.
  4571  //
  4572  // API parameter values that are decorated as "sensitive" in the API will not
  4573  // be included in the string output. The member name will be present, but the
  4574  // value will be replaced with "sensitive".
  4575  func (s DeleteServerCatalogOutput) String() string {
  4576  	return awsutil.Prettify(s)
  4577  }
  4578  
  4579  // GoString returns the string representation.
  4580  //
  4581  // API parameter values that are decorated as "sensitive" in the API will not
  4582  // be included in the string output. The member name will be present, but the
  4583  // value will be replaced with "sensitive".
  4584  func (s DeleteServerCatalogOutput) GoString() string {
  4585  	return s.String()
  4586  }
  4587  
  4588  type DisassociateConnectorInput struct {
  4589  	_ struct{} `type:"structure"`
  4590  
  4591  	// The ID of the connector.
  4592  	//
  4593  	// ConnectorId is a required field
  4594  	ConnectorId *string `locationName:"connectorId" type:"string" required:"true"`
  4595  }
  4596  
  4597  // String returns the string representation.
  4598  //
  4599  // API parameter values that are decorated as "sensitive" in the API will not
  4600  // be included in the string output. The member name will be present, but the
  4601  // value will be replaced with "sensitive".
  4602  func (s DisassociateConnectorInput) String() string {
  4603  	return awsutil.Prettify(s)
  4604  }
  4605  
  4606  // GoString returns the string representation.
  4607  //
  4608  // API parameter values that are decorated as "sensitive" in the API will not
  4609  // be included in the string output. The member name will be present, but the
  4610  // value will be replaced with "sensitive".
  4611  func (s DisassociateConnectorInput) GoString() string {
  4612  	return s.String()
  4613  }
  4614  
  4615  // Validate inspects the fields of the type to determine if they are valid.
  4616  func (s *DisassociateConnectorInput) Validate() error {
  4617  	invalidParams := request.ErrInvalidParams{Context: "DisassociateConnectorInput"}
  4618  	if s.ConnectorId == nil {
  4619  		invalidParams.Add(request.NewErrParamRequired("ConnectorId"))
  4620  	}
  4621  
  4622  	if invalidParams.Len() > 0 {
  4623  		return invalidParams
  4624  	}
  4625  	return nil
  4626  }
  4627  
  4628  // SetConnectorId sets the ConnectorId field's value.
  4629  func (s *DisassociateConnectorInput) SetConnectorId(v string) *DisassociateConnectorInput {
  4630  	s.ConnectorId = &v
  4631  	return s
  4632  }
  4633  
  4634  type DisassociateConnectorOutput struct {
  4635  	_ struct{} `type:"structure"`
  4636  }
  4637  
  4638  // String returns the string representation.
  4639  //
  4640  // API parameter values that are decorated as "sensitive" in the API will not
  4641  // be included in the string output. The member name will be present, but the
  4642  // value will be replaced with "sensitive".
  4643  func (s DisassociateConnectorOutput) String() string {
  4644  	return awsutil.Prettify(s)
  4645  }
  4646  
  4647  // GoString returns the string representation.
  4648  //
  4649  // API parameter values that are decorated as "sensitive" in the API will not
  4650  // be included in the string output. The member name will be present, but the
  4651  // value will be replaced with "sensitive".
  4652  func (s DisassociateConnectorOutput) GoString() string {
  4653  	return s.String()
  4654  }
  4655  
  4656  // The user has the required permissions, so the request would have succeeded,
  4657  // but a dry run was performed.
  4658  type DryRunOperationException struct {
  4659  	_            struct{}                  `type:"structure"`
  4660  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  4661  
  4662  	Message_ *string `locationName:"message" type:"string"`
  4663  }
  4664  
  4665  // String returns the string representation.
  4666  //
  4667  // API parameter values that are decorated as "sensitive" in the API will not
  4668  // be included in the string output. The member name will be present, but the
  4669  // value will be replaced with "sensitive".
  4670  func (s DryRunOperationException) String() string {
  4671  	return awsutil.Prettify(s)
  4672  }
  4673  
  4674  // GoString returns the string representation.
  4675  //
  4676  // API parameter values that are decorated as "sensitive" in the API will not
  4677  // be included in the string output. The member name will be present, but the
  4678  // value will be replaced with "sensitive".
  4679  func (s DryRunOperationException) GoString() string {
  4680  	return s.String()
  4681  }
  4682  
  4683  func newErrorDryRunOperationException(v protocol.ResponseMetadata) error {
  4684  	return &DryRunOperationException{
  4685  		RespMetadata: v,
  4686  	}
  4687  }
  4688  
  4689  // Code returns the exception type name.
  4690  func (s *DryRunOperationException) Code() string {
  4691  	return "DryRunOperationException"
  4692  }
  4693  
  4694  // Message returns the exception's message.
  4695  func (s *DryRunOperationException) Message() string {
  4696  	if s.Message_ != nil {
  4697  		return *s.Message_
  4698  	}
  4699  	return ""
  4700  }
  4701  
  4702  // OrigErr always returns nil, satisfies awserr.Error interface.
  4703  func (s *DryRunOperationException) OrigErr() error {
  4704  	return nil
  4705  }
  4706  
  4707  func (s *DryRunOperationException) Error() string {
  4708  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  4709  }
  4710  
  4711  // Status code returns the HTTP status code for the request's response error.
  4712  func (s *DryRunOperationException) StatusCode() int {
  4713  	return s.RespMetadata.StatusCode
  4714  }
  4715  
  4716  // RequestID returns the service's response RequestID for request.
  4717  func (s *DryRunOperationException) RequestID() string {
  4718  	return s.RespMetadata.RequestID
  4719  }
  4720  
  4721  type GenerateChangeSetInput struct {
  4722  	_ struct{} `type:"structure"`
  4723  
  4724  	// The ID of the application associated with the change set.
  4725  	AppId *string `locationName:"appId" type:"string"`
  4726  
  4727  	// The format for the change set.
  4728  	ChangesetFormat *string `locationName:"changesetFormat" type:"string" enum:"OutputFormat"`
  4729  }
  4730  
  4731  // String returns the string representation.
  4732  //
  4733  // API parameter values that are decorated as "sensitive" in the API will not
  4734  // be included in the string output. The member name will be present, but the
  4735  // value will be replaced with "sensitive".
  4736  func (s GenerateChangeSetInput) String() string {
  4737  	return awsutil.Prettify(s)
  4738  }
  4739  
  4740  // GoString returns the string representation.
  4741  //
  4742  // API parameter values that are decorated as "sensitive" in the API will not
  4743  // be included in the string output. The member name will be present, but the
  4744  // value will be replaced with "sensitive".
  4745  func (s GenerateChangeSetInput) GoString() string {
  4746  	return s.String()
  4747  }
  4748  
  4749  // SetAppId sets the AppId field's value.
  4750  func (s *GenerateChangeSetInput) SetAppId(v string) *GenerateChangeSetInput {
  4751  	s.AppId = &v
  4752  	return s
  4753  }
  4754  
  4755  // SetChangesetFormat sets the ChangesetFormat field's value.
  4756  func (s *GenerateChangeSetInput) SetChangesetFormat(v string) *GenerateChangeSetInput {
  4757  	s.ChangesetFormat = &v
  4758  	return s
  4759  }
  4760  
  4761  type GenerateChangeSetOutput struct {
  4762  	_ struct{} `type:"structure"`
  4763  
  4764  	// The location of the Amazon S3 object.
  4765  	S3Location *S3Location `locationName:"s3Location" type:"structure"`
  4766  }
  4767  
  4768  // String returns the string representation.
  4769  //
  4770  // API parameter values that are decorated as "sensitive" in the API will not
  4771  // be included in the string output. The member name will be present, but the
  4772  // value will be replaced with "sensitive".
  4773  func (s GenerateChangeSetOutput) String() string {
  4774  	return awsutil.Prettify(s)
  4775  }
  4776  
  4777  // GoString returns the string representation.
  4778  //
  4779  // API parameter values that are decorated as "sensitive" in the API will not
  4780  // be included in the string output. The member name will be present, but the
  4781  // value will be replaced with "sensitive".
  4782  func (s GenerateChangeSetOutput) GoString() string {
  4783  	return s.String()
  4784  }
  4785  
  4786  // SetS3Location sets the S3Location field's value.
  4787  func (s *GenerateChangeSetOutput) SetS3Location(v *S3Location) *GenerateChangeSetOutput {
  4788  	s.S3Location = v
  4789  	return s
  4790  }
  4791  
  4792  type GenerateTemplateInput struct {
  4793  	_ struct{} `type:"structure"`
  4794  
  4795  	// The ID of the application associated with the AWS CloudFormation template.
  4796  	AppId *string `locationName:"appId" type:"string"`
  4797  
  4798  	// The format for generating the AWS CloudFormation template.
  4799  	TemplateFormat *string `locationName:"templateFormat" type:"string" enum:"OutputFormat"`
  4800  }
  4801  
  4802  // String 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 GenerateTemplateInput) String() string {
  4808  	return awsutil.Prettify(s)
  4809  }
  4810  
  4811  // GoString returns the string representation.
  4812  //
  4813  // API parameter values that are decorated as "sensitive" in the API will not
  4814  // be included in the string output. The member name will be present, but the
  4815  // value will be replaced with "sensitive".
  4816  func (s GenerateTemplateInput) GoString() string {
  4817  	return s.String()
  4818  }
  4819  
  4820  // SetAppId sets the AppId field's value.
  4821  func (s *GenerateTemplateInput) SetAppId(v string) *GenerateTemplateInput {
  4822  	s.AppId = &v
  4823  	return s
  4824  }
  4825  
  4826  // SetTemplateFormat sets the TemplateFormat field's value.
  4827  func (s *GenerateTemplateInput) SetTemplateFormat(v string) *GenerateTemplateInput {
  4828  	s.TemplateFormat = &v
  4829  	return s
  4830  }
  4831  
  4832  type GenerateTemplateOutput struct {
  4833  	_ struct{} `type:"structure"`
  4834  
  4835  	// The location of the Amazon S3 object.
  4836  	S3Location *S3Location `locationName:"s3Location" type:"structure"`
  4837  }
  4838  
  4839  // String returns the string representation.
  4840  //
  4841  // API parameter values that are decorated as "sensitive" in the API will not
  4842  // be included in the string output. The member name will be present, but the
  4843  // value will be replaced with "sensitive".
  4844  func (s GenerateTemplateOutput) String() string {
  4845  	return awsutil.Prettify(s)
  4846  }
  4847  
  4848  // GoString returns the string representation.
  4849  //
  4850  // API parameter values that are decorated as "sensitive" in the API will not
  4851  // be included in the string output. The member name will be present, but the
  4852  // value will be replaced with "sensitive".
  4853  func (s GenerateTemplateOutput) GoString() string {
  4854  	return s.String()
  4855  }
  4856  
  4857  // SetS3Location sets the S3Location field's value.
  4858  func (s *GenerateTemplateOutput) SetS3Location(v *S3Location) *GenerateTemplateOutput {
  4859  	s.S3Location = v
  4860  	return s
  4861  }
  4862  
  4863  type GetAppInput struct {
  4864  	_ struct{} `type:"structure"`
  4865  
  4866  	// The ID of the application.
  4867  	AppId *string `locationName:"appId" type:"string"`
  4868  }
  4869  
  4870  // String returns the string representation.
  4871  //
  4872  // API parameter values that are decorated as "sensitive" in the API will not
  4873  // be included in the string output. The member name will be present, but the
  4874  // value will be replaced with "sensitive".
  4875  func (s GetAppInput) String() string {
  4876  	return awsutil.Prettify(s)
  4877  }
  4878  
  4879  // GoString returns the string representation.
  4880  //
  4881  // API parameter values that are decorated as "sensitive" in the API will not
  4882  // be included in the string output. The member name will be present, but the
  4883  // value will be replaced with "sensitive".
  4884  func (s GetAppInput) GoString() string {
  4885  	return s.String()
  4886  }
  4887  
  4888  // SetAppId sets the AppId field's value.
  4889  func (s *GetAppInput) SetAppId(v string) *GetAppInput {
  4890  	s.AppId = &v
  4891  	return s
  4892  }
  4893  
  4894  type GetAppLaunchConfigurationInput struct {
  4895  	_ struct{} `type:"structure"`
  4896  
  4897  	// The ID of the application.
  4898  	AppId *string `locationName:"appId" type:"string"`
  4899  }
  4900  
  4901  // String returns the string representation.
  4902  //
  4903  // API parameter values that are decorated as "sensitive" in the API will not
  4904  // be included in the string output. The member name will be present, but the
  4905  // value will be replaced with "sensitive".
  4906  func (s GetAppLaunchConfigurationInput) String() string {
  4907  	return awsutil.Prettify(s)
  4908  }
  4909  
  4910  // GoString returns the string representation.
  4911  //
  4912  // API parameter values that are decorated as "sensitive" in the API will not
  4913  // be included in the string output. The member name will be present, but the
  4914  // value will be replaced with "sensitive".
  4915  func (s GetAppLaunchConfigurationInput) GoString() string {
  4916  	return s.String()
  4917  }
  4918  
  4919  // SetAppId sets the AppId field's value.
  4920  func (s *GetAppLaunchConfigurationInput) SetAppId(v string) *GetAppLaunchConfigurationInput {
  4921  	s.AppId = &v
  4922  	return s
  4923  }
  4924  
  4925  type GetAppLaunchConfigurationOutput struct {
  4926  	_ struct{} `type:"structure"`
  4927  
  4928  	// The ID of the application.
  4929  	AppId *string `locationName:"appId" type:"string"`
  4930  
  4931  	// Indicates whether the application is configured to launch automatically after
  4932  	// replication is complete.
  4933  	AutoLaunch *bool `locationName:"autoLaunch" type:"boolean"`
  4934  
  4935  	// The name of the service role in the customer's account that AWS CloudFormation
  4936  	// uses to launch the application.
  4937  	RoleName *string `locationName:"roleName" type:"string"`
  4938  
  4939  	// The launch configurations for server groups in this application.
  4940  	ServerGroupLaunchConfigurations []*ServerGroupLaunchConfiguration `locationName:"serverGroupLaunchConfigurations" type:"list"`
  4941  }
  4942  
  4943  // String returns the string representation.
  4944  //
  4945  // API parameter values that are decorated as "sensitive" in the API will not
  4946  // be included in the string output. The member name will be present, but the
  4947  // value will be replaced with "sensitive".
  4948  func (s GetAppLaunchConfigurationOutput) String() string {
  4949  	return awsutil.Prettify(s)
  4950  }
  4951  
  4952  // GoString returns the string representation.
  4953  //
  4954  // API parameter values that are decorated as "sensitive" in the API will not
  4955  // be included in the string output. The member name will be present, but the
  4956  // value will be replaced with "sensitive".
  4957  func (s GetAppLaunchConfigurationOutput) GoString() string {
  4958  	return s.String()
  4959  }
  4960  
  4961  // SetAppId sets the AppId field's value.
  4962  func (s *GetAppLaunchConfigurationOutput) SetAppId(v string) *GetAppLaunchConfigurationOutput {
  4963  	s.AppId = &v
  4964  	return s
  4965  }
  4966  
  4967  // SetAutoLaunch sets the AutoLaunch field's value.
  4968  func (s *GetAppLaunchConfigurationOutput) SetAutoLaunch(v bool) *GetAppLaunchConfigurationOutput {
  4969  	s.AutoLaunch = &v
  4970  	return s
  4971  }
  4972  
  4973  // SetRoleName sets the RoleName field's value.
  4974  func (s *GetAppLaunchConfigurationOutput) SetRoleName(v string) *GetAppLaunchConfigurationOutput {
  4975  	s.RoleName = &v
  4976  	return s
  4977  }
  4978  
  4979  // SetServerGroupLaunchConfigurations sets the ServerGroupLaunchConfigurations field's value.
  4980  func (s *GetAppLaunchConfigurationOutput) SetServerGroupLaunchConfigurations(v []*ServerGroupLaunchConfiguration) *GetAppLaunchConfigurationOutput {
  4981  	s.ServerGroupLaunchConfigurations = v
  4982  	return s
  4983  }
  4984  
  4985  type GetAppOutput struct {
  4986  	_ struct{} `type:"structure"`
  4987  
  4988  	// Information about the application.
  4989  	AppSummary *AppSummary `locationName:"appSummary" type:"structure"`
  4990  
  4991  	// The server groups that belong to the application.
  4992  	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
  4993  
  4994  	// The tags associated with the application.
  4995  	Tags []*Tag `locationName:"tags" type:"list"`
  4996  }
  4997  
  4998  // String returns the string representation.
  4999  //
  5000  // API parameter values that are decorated as "sensitive" in the API will not
  5001  // be included in the string output. The member name will be present, but the
  5002  // value will be replaced with "sensitive".
  5003  func (s GetAppOutput) String() string {
  5004  	return awsutil.Prettify(s)
  5005  }
  5006  
  5007  // GoString returns the string representation.
  5008  //
  5009  // API parameter values that are decorated as "sensitive" in the API will not
  5010  // be included in the string output. The member name will be present, but the
  5011  // value will be replaced with "sensitive".
  5012  func (s GetAppOutput) GoString() string {
  5013  	return s.String()
  5014  }
  5015  
  5016  // SetAppSummary sets the AppSummary field's value.
  5017  func (s *GetAppOutput) SetAppSummary(v *AppSummary) *GetAppOutput {
  5018  	s.AppSummary = v
  5019  	return s
  5020  }
  5021  
  5022  // SetServerGroups sets the ServerGroups field's value.
  5023  func (s *GetAppOutput) SetServerGroups(v []*ServerGroup) *GetAppOutput {
  5024  	s.ServerGroups = v
  5025  	return s
  5026  }
  5027  
  5028  // SetTags sets the Tags field's value.
  5029  func (s *GetAppOutput) SetTags(v []*Tag) *GetAppOutput {
  5030  	s.Tags = v
  5031  	return s
  5032  }
  5033  
  5034  type GetAppReplicationConfigurationInput struct {
  5035  	_ struct{} `type:"structure"`
  5036  
  5037  	// The ID of the application.
  5038  	AppId *string `locationName:"appId" type:"string"`
  5039  }
  5040  
  5041  // String returns the string representation.
  5042  //
  5043  // API parameter values that are decorated as "sensitive" in the API will not
  5044  // be included in the string output. The member name will be present, but the
  5045  // value will be replaced with "sensitive".
  5046  func (s GetAppReplicationConfigurationInput) String() string {
  5047  	return awsutil.Prettify(s)
  5048  }
  5049  
  5050  // GoString returns the string representation.
  5051  //
  5052  // API parameter values that are decorated as "sensitive" in the API will not
  5053  // be included in the string output. The member name will be present, but the
  5054  // value will be replaced with "sensitive".
  5055  func (s GetAppReplicationConfigurationInput) GoString() string {
  5056  	return s.String()
  5057  }
  5058  
  5059  // SetAppId sets the AppId field's value.
  5060  func (s *GetAppReplicationConfigurationInput) SetAppId(v string) *GetAppReplicationConfigurationInput {
  5061  	s.AppId = &v
  5062  	return s
  5063  }
  5064  
  5065  type GetAppReplicationConfigurationOutput struct {
  5066  	_ struct{} `type:"structure"`
  5067  
  5068  	// The replication configurations associated with server groups in this application.
  5069  	ServerGroupReplicationConfigurations []*ServerGroupReplicationConfiguration `locationName:"serverGroupReplicationConfigurations" type:"list"`
  5070  }
  5071  
  5072  // String returns the string representation.
  5073  //
  5074  // API parameter values that are decorated as "sensitive" in the API will not
  5075  // be included in the string output. The member name will be present, but the
  5076  // value will be replaced with "sensitive".
  5077  func (s GetAppReplicationConfigurationOutput) String() string {
  5078  	return awsutil.Prettify(s)
  5079  }
  5080  
  5081  // GoString returns the string representation.
  5082  //
  5083  // API parameter values that are decorated as "sensitive" in the API will not
  5084  // be included in the string output. The member name will be present, but the
  5085  // value will be replaced with "sensitive".
  5086  func (s GetAppReplicationConfigurationOutput) GoString() string {
  5087  	return s.String()
  5088  }
  5089  
  5090  // SetServerGroupReplicationConfigurations sets the ServerGroupReplicationConfigurations field's value.
  5091  func (s *GetAppReplicationConfigurationOutput) SetServerGroupReplicationConfigurations(v []*ServerGroupReplicationConfiguration) *GetAppReplicationConfigurationOutput {
  5092  	s.ServerGroupReplicationConfigurations = v
  5093  	return s
  5094  }
  5095  
  5096  type GetAppValidationConfigurationInput struct {
  5097  	_ struct{} `type:"structure"`
  5098  
  5099  	// The ID of the application.
  5100  	//
  5101  	// AppId is a required field
  5102  	AppId *string `locationName:"appId" type:"string" required:"true"`
  5103  }
  5104  
  5105  // String returns the string representation.
  5106  //
  5107  // API parameter values that are decorated as "sensitive" in the API will not
  5108  // be included in the string output. The member name will be present, but the
  5109  // value will be replaced with "sensitive".
  5110  func (s GetAppValidationConfigurationInput) String() string {
  5111  	return awsutil.Prettify(s)
  5112  }
  5113  
  5114  // GoString returns the string representation.
  5115  //
  5116  // API parameter values that are decorated as "sensitive" in the API will not
  5117  // be included in the string output. The member name will be present, but the
  5118  // value will be replaced with "sensitive".
  5119  func (s GetAppValidationConfigurationInput) GoString() string {
  5120  	return s.String()
  5121  }
  5122  
  5123  // Validate inspects the fields of the type to determine if they are valid.
  5124  func (s *GetAppValidationConfigurationInput) Validate() error {
  5125  	invalidParams := request.ErrInvalidParams{Context: "GetAppValidationConfigurationInput"}
  5126  	if s.AppId == nil {
  5127  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  5128  	}
  5129  
  5130  	if invalidParams.Len() > 0 {
  5131  		return invalidParams
  5132  	}
  5133  	return nil
  5134  }
  5135  
  5136  // SetAppId sets the AppId field's value.
  5137  func (s *GetAppValidationConfigurationInput) SetAppId(v string) *GetAppValidationConfigurationInput {
  5138  	s.AppId = &v
  5139  	return s
  5140  }
  5141  
  5142  type GetAppValidationConfigurationOutput struct {
  5143  	_ struct{} `type:"structure"`
  5144  
  5145  	// The configuration for application validation.
  5146  	AppValidationConfigurations []*AppValidationConfiguration `locationName:"appValidationConfigurations" type:"list"`
  5147  
  5148  	// The configuration for instance validation.
  5149  	ServerGroupValidationConfigurations []*ServerGroupValidationConfiguration `locationName:"serverGroupValidationConfigurations" type:"list"`
  5150  }
  5151  
  5152  // String returns the string representation.
  5153  //
  5154  // API parameter values that are decorated as "sensitive" in the API will not
  5155  // be included in the string output. The member name will be present, but the
  5156  // value will be replaced with "sensitive".
  5157  func (s GetAppValidationConfigurationOutput) String() string {
  5158  	return awsutil.Prettify(s)
  5159  }
  5160  
  5161  // GoString returns the string representation.
  5162  //
  5163  // API parameter values that are decorated as "sensitive" in the API will not
  5164  // be included in the string output. The member name will be present, but the
  5165  // value will be replaced with "sensitive".
  5166  func (s GetAppValidationConfigurationOutput) GoString() string {
  5167  	return s.String()
  5168  }
  5169  
  5170  // SetAppValidationConfigurations sets the AppValidationConfigurations field's value.
  5171  func (s *GetAppValidationConfigurationOutput) SetAppValidationConfigurations(v []*AppValidationConfiguration) *GetAppValidationConfigurationOutput {
  5172  	s.AppValidationConfigurations = v
  5173  	return s
  5174  }
  5175  
  5176  // SetServerGroupValidationConfigurations sets the ServerGroupValidationConfigurations field's value.
  5177  func (s *GetAppValidationConfigurationOutput) SetServerGroupValidationConfigurations(v []*ServerGroupValidationConfiguration) *GetAppValidationConfigurationOutput {
  5178  	s.ServerGroupValidationConfigurations = v
  5179  	return s
  5180  }
  5181  
  5182  type GetAppValidationOutputInput struct {
  5183  	_ struct{} `type:"structure"`
  5184  
  5185  	// The ID of the application.
  5186  	//
  5187  	// AppId is a required field
  5188  	AppId *string `locationName:"appId" type:"string" required:"true"`
  5189  }
  5190  
  5191  // String returns the string representation.
  5192  //
  5193  // API parameter values that are decorated as "sensitive" in the API will not
  5194  // be included in the string output. The member name will be present, but the
  5195  // value will be replaced with "sensitive".
  5196  func (s GetAppValidationOutputInput) String() string {
  5197  	return awsutil.Prettify(s)
  5198  }
  5199  
  5200  // GoString returns the string representation.
  5201  //
  5202  // API parameter values that are decorated as "sensitive" in the API will not
  5203  // be included in the string output. The member name will be present, but the
  5204  // value will be replaced with "sensitive".
  5205  func (s GetAppValidationOutputInput) GoString() string {
  5206  	return s.String()
  5207  }
  5208  
  5209  // Validate inspects the fields of the type to determine if they are valid.
  5210  func (s *GetAppValidationOutputInput) Validate() error {
  5211  	invalidParams := request.ErrInvalidParams{Context: "GetAppValidationOutputInput"}
  5212  	if s.AppId == nil {
  5213  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  5214  	}
  5215  
  5216  	if invalidParams.Len() > 0 {
  5217  		return invalidParams
  5218  	}
  5219  	return nil
  5220  }
  5221  
  5222  // SetAppId sets the AppId field's value.
  5223  func (s *GetAppValidationOutputInput) SetAppId(v string) *GetAppValidationOutputInput {
  5224  	s.AppId = &v
  5225  	return s
  5226  }
  5227  
  5228  type GetAppValidationOutputOutput struct {
  5229  	_ struct{} `type:"structure"`
  5230  
  5231  	// The validation output.
  5232  	ValidationOutputList []*ValidationOutput `locationName:"validationOutputList" type:"list"`
  5233  }
  5234  
  5235  // String returns the string representation.
  5236  //
  5237  // API parameter values that are decorated as "sensitive" in the API will not
  5238  // be included in the string output. The member name will be present, but the
  5239  // value will be replaced with "sensitive".
  5240  func (s GetAppValidationOutputOutput) String() string {
  5241  	return awsutil.Prettify(s)
  5242  }
  5243  
  5244  // GoString returns the string representation.
  5245  //
  5246  // API parameter values that are decorated as "sensitive" in the API will not
  5247  // be included in the string output. The member name will be present, but the
  5248  // value will be replaced with "sensitive".
  5249  func (s GetAppValidationOutputOutput) GoString() string {
  5250  	return s.String()
  5251  }
  5252  
  5253  // SetValidationOutputList sets the ValidationOutputList field's value.
  5254  func (s *GetAppValidationOutputOutput) SetValidationOutputList(v []*ValidationOutput) *GetAppValidationOutputOutput {
  5255  	s.ValidationOutputList = v
  5256  	return s
  5257  }
  5258  
  5259  type GetConnectorsInput struct {
  5260  	_ struct{} `type:"structure"`
  5261  
  5262  	// The maximum number of results to return in a single call. The default value
  5263  	// is 50. To retrieve the remaining results, make another call with the returned
  5264  	// NextToken value.
  5265  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5266  
  5267  	// The token for the next set of results.
  5268  	NextToken *string `locationName:"nextToken" type:"string"`
  5269  }
  5270  
  5271  // String returns the string representation.
  5272  //
  5273  // API parameter values that are decorated as "sensitive" in the API will not
  5274  // be included in the string output. The member name will be present, but the
  5275  // value will be replaced with "sensitive".
  5276  func (s GetConnectorsInput) String() string {
  5277  	return awsutil.Prettify(s)
  5278  }
  5279  
  5280  // GoString returns the string representation.
  5281  //
  5282  // API parameter values that are decorated as "sensitive" in the API will not
  5283  // be included in the string output. The member name will be present, but the
  5284  // value will be replaced with "sensitive".
  5285  func (s GetConnectorsInput) GoString() string {
  5286  	return s.String()
  5287  }
  5288  
  5289  // SetMaxResults sets the MaxResults field's value.
  5290  func (s *GetConnectorsInput) SetMaxResults(v int64) *GetConnectorsInput {
  5291  	s.MaxResults = &v
  5292  	return s
  5293  }
  5294  
  5295  // SetNextToken sets the NextToken field's value.
  5296  func (s *GetConnectorsInput) SetNextToken(v string) *GetConnectorsInput {
  5297  	s.NextToken = &v
  5298  	return s
  5299  }
  5300  
  5301  type GetConnectorsOutput struct {
  5302  	_ struct{} `type:"structure"`
  5303  
  5304  	// Information about the registered connectors.
  5305  	ConnectorList []*Connector `locationName:"connectorList" type:"list"`
  5306  
  5307  	// The token required to retrieve the next set of results. This value is null
  5308  	// when there are no more results to return.
  5309  	NextToken *string `locationName:"nextToken" type:"string"`
  5310  }
  5311  
  5312  // String returns the string representation.
  5313  //
  5314  // API parameter values that are decorated as "sensitive" in the API will not
  5315  // be included in the string output. The member name will be present, but the
  5316  // value will be replaced with "sensitive".
  5317  func (s GetConnectorsOutput) String() string {
  5318  	return awsutil.Prettify(s)
  5319  }
  5320  
  5321  // GoString returns the string representation.
  5322  //
  5323  // API parameter values that are decorated as "sensitive" in the API will not
  5324  // be included in the string output. The member name will be present, but the
  5325  // value will be replaced with "sensitive".
  5326  func (s GetConnectorsOutput) GoString() string {
  5327  	return s.String()
  5328  }
  5329  
  5330  // SetConnectorList sets the ConnectorList field's value.
  5331  func (s *GetConnectorsOutput) SetConnectorList(v []*Connector) *GetConnectorsOutput {
  5332  	s.ConnectorList = v
  5333  	return s
  5334  }
  5335  
  5336  // SetNextToken sets the NextToken field's value.
  5337  func (s *GetConnectorsOutput) SetNextToken(v string) *GetConnectorsOutput {
  5338  	s.NextToken = &v
  5339  	return s
  5340  }
  5341  
  5342  type GetReplicationJobsInput struct {
  5343  	_ struct{} `type:"structure"`
  5344  
  5345  	// The maximum number of results to return in a single call. The default value
  5346  	// is 50. To retrieve the remaining results, make another call with the returned
  5347  	// NextToken value.
  5348  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5349  
  5350  	// The token for the next set of results.
  5351  	NextToken *string `locationName:"nextToken" type:"string"`
  5352  
  5353  	// The ID of the replication job.
  5354  	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
  5355  }
  5356  
  5357  // String returns the string representation.
  5358  //
  5359  // API parameter values that are decorated as "sensitive" in the API will not
  5360  // be included in the string output. The member name will be present, but the
  5361  // value will be replaced with "sensitive".
  5362  func (s GetReplicationJobsInput) String() string {
  5363  	return awsutil.Prettify(s)
  5364  }
  5365  
  5366  // GoString returns the string representation.
  5367  //
  5368  // API parameter values that are decorated as "sensitive" in the API will not
  5369  // be included in the string output. The member name will be present, but the
  5370  // value will be replaced with "sensitive".
  5371  func (s GetReplicationJobsInput) GoString() string {
  5372  	return s.String()
  5373  }
  5374  
  5375  // SetMaxResults sets the MaxResults field's value.
  5376  func (s *GetReplicationJobsInput) SetMaxResults(v int64) *GetReplicationJobsInput {
  5377  	s.MaxResults = &v
  5378  	return s
  5379  }
  5380  
  5381  // SetNextToken sets the NextToken field's value.
  5382  func (s *GetReplicationJobsInput) SetNextToken(v string) *GetReplicationJobsInput {
  5383  	s.NextToken = &v
  5384  	return s
  5385  }
  5386  
  5387  // SetReplicationJobId sets the ReplicationJobId field's value.
  5388  func (s *GetReplicationJobsInput) SetReplicationJobId(v string) *GetReplicationJobsInput {
  5389  	s.ReplicationJobId = &v
  5390  	return s
  5391  }
  5392  
  5393  type GetReplicationJobsOutput struct {
  5394  	_ struct{} `type:"structure"`
  5395  
  5396  	// The token required to retrieve the next set of results. This value is null
  5397  	// when there are no more results to return.
  5398  	NextToken *string `locationName:"nextToken" type:"string"`
  5399  
  5400  	// Information about the replication jobs.
  5401  	ReplicationJobList []*ReplicationJob `locationName:"replicationJobList" type:"list"`
  5402  }
  5403  
  5404  // String returns the string representation.
  5405  //
  5406  // API parameter values that are decorated as "sensitive" in the API will not
  5407  // be included in the string output. The member name will be present, but the
  5408  // value will be replaced with "sensitive".
  5409  func (s GetReplicationJobsOutput) String() string {
  5410  	return awsutil.Prettify(s)
  5411  }
  5412  
  5413  // GoString returns the string representation.
  5414  //
  5415  // API parameter values that are decorated as "sensitive" in the API will not
  5416  // be included in the string output. The member name will be present, but the
  5417  // value will be replaced with "sensitive".
  5418  func (s GetReplicationJobsOutput) GoString() string {
  5419  	return s.String()
  5420  }
  5421  
  5422  // SetNextToken sets the NextToken field's value.
  5423  func (s *GetReplicationJobsOutput) SetNextToken(v string) *GetReplicationJobsOutput {
  5424  	s.NextToken = &v
  5425  	return s
  5426  }
  5427  
  5428  // SetReplicationJobList sets the ReplicationJobList field's value.
  5429  func (s *GetReplicationJobsOutput) SetReplicationJobList(v []*ReplicationJob) *GetReplicationJobsOutput {
  5430  	s.ReplicationJobList = v
  5431  	return s
  5432  }
  5433  
  5434  type GetReplicationRunsInput struct {
  5435  	_ struct{} `type:"structure"`
  5436  
  5437  	// The maximum number of results to return in a single call. The default value
  5438  	// is 50. To retrieve the remaining results, make another call with the returned
  5439  	// NextToken value.
  5440  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5441  
  5442  	// The token for the next set of results.
  5443  	NextToken *string `locationName:"nextToken" type:"string"`
  5444  
  5445  	// The ID of the replication job.
  5446  	//
  5447  	// ReplicationJobId is a required field
  5448  	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
  5449  }
  5450  
  5451  // String returns the string representation.
  5452  //
  5453  // API parameter values that are decorated as "sensitive" in the API will not
  5454  // be included in the string output. The member name will be present, but the
  5455  // value will be replaced with "sensitive".
  5456  func (s GetReplicationRunsInput) String() string {
  5457  	return awsutil.Prettify(s)
  5458  }
  5459  
  5460  // GoString returns the string representation.
  5461  //
  5462  // API parameter values that are decorated as "sensitive" in the API will not
  5463  // be included in the string output. The member name will be present, but the
  5464  // value will be replaced with "sensitive".
  5465  func (s GetReplicationRunsInput) GoString() string {
  5466  	return s.String()
  5467  }
  5468  
  5469  // Validate inspects the fields of the type to determine if they are valid.
  5470  func (s *GetReplicationRunsInput) Validate() error {
  5471  	invalidParams := request.ErrInvalidParams{Context: "GetReplicationRunsInput"}
  5472  	if s.ReplicationJobId == nil {
  5473  		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
  5474  	}
  5475  
  5476  	if invalidParams.Len() > 0 {
  5477  		return invalidParams
  5478  	}
  5479  	return nil
  5480  }
  5481  
  5482  // SetMaxResults sets the MaxResults field's value.
  5483  func (s *GetReplicationRunsInput) SetMaxResults(v int64) *GetReplicationRunsInput {
  5484  	s.MaxResults = &v
  5485  	return s
  5486  }
  5487  
  5488  // SetNextToken sets the NextToken field's value.
  5489  func (s *GetReplicationRunsInput) SetNextToken(v string) *GetReplicationRunsInput {
  5490  	s.NextToken = &v
  5491  	return s
  5492  }
  5493  
  5494  // SetReplicationJobId sets the ReplicationJobId field's value.
  5495  func (s *GetReplicationRunsInput) SetReplicationJobId(v string) *GetReplicationRunsInput {
  5496  	s.ReplicationJobId = &v
  5497  	return s
  5498  }
  5499  
  5500  type GetReplicationRunsOutput struct {
  5501  	_ struct{} `type:"structure"`
  5502  
  5503  	// The token required to retrieve the next set of results. This value is null
  5504  	// when there are no more results to return.
  5505  	NextToken *string `locationName:"nextToken" type:"string"`
  5506  
  5507  	// Information about the replication job.
  5508  	ReplicationJob *ReplicationJob `locationName:"replicationJob" type:"structure"`
  5509  
  5510  	// Information about the replication runs.
  5511  	ReplicationRunList []*ReplicationRun `locationName:"replicationRunList" type:"list"`
  5512  }
  5513  
  5514  // String returns the string representation.
  5515  //
  5516  // API parameter values that are decorated as "sensitive" in the API will not
  5517  // be included in the string output. The member name will be present, but the
  5518  // value will be replaced with "sensitive".
  5519  func (s GetReplicationRunsOutput) String() string {
  5520  	return awsutil.Prettify(s)
  5521  }
  5522  
  5523  // GoString returns the string representation.
  5524  //
  5525  // API parameter values that are decorated as "sensitive" in the API will not
  5526  // be included in the string output. The member name will be present, but the
  5527  // value will be replaced with "sensitive".
  5528  func (s GetReplicationRunsOutput) GoString() string {
  5529  	return s.String()
  5530  }
  5531  
  5532  // SetNextToken sets the NextToken field's value.
  5533  func (s *GetReplicationRunsOutput) SetNextToken(v string) *GetReplicationRunsOutput {
  5534  	s.NextToken = &v
  5535  	return s
  5536  }
  5537  
  5538  // SetReplicationJob sets the ReplicationJob field's value.
  5539  func (s *GetReplicationRunsOutput) SetReplicationJob(v *ReplicationJob) *GetReplicationRunsOutput {
  5540  	s.ReplicationJob = v
  5541  	return s
  5542  }
  5543  
  5544  // SetReplicationRunList sets the ReplicationRunList field's value.
  5545  func (s *GetReplicationRunsOutput) SetReplicationRunList(v []*ReplicationRun) *GetReplicationRunsOutput {
  5546  	s.ReplicationRunList = v
  5547  	return s
  5548  }
  5549  
  5550  type GetServersInput struct {
  5551  	_ struct{} `type:"structure"`
  5552  
  5553  	// The maximum number of results to return in a single call. The default value
  5554  	// is 50. To retrieve the remaining results, make another call with the returned
  5555  	// NextToken value.
  5556  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  5557  
  5558  	// The token for the next set of results.
  5559  	NextToken *string `locationName:"nextToken" type:"string"`
  5560  
  5561  	// The server addresses.
  5562  	VmServerAddressList []*VmServerAddress `locationName:"vmServerAddressList" type:"list"`
  5563  }
  5564  
  5565  // String returns the string representation.
  5566  //
  5567  // API parameter values that are decorated as "sensitive" in the API will not
  5568  // be included in the string output. The member name will be present, but the
  5569  // value will be replaced with "sensitive".
  5570  func (s GetServersInput) String() string {
  5571  	return awsutil.Prettify(s)
  5572  }
  5573  
  5574  // GoString returns the string representation.
  5575  //
  5576  // API parameter values that are decorated as "sensitive" in the API will not
  5577  // be included in the string output. The member name will be present, but the
  5578  // value will be replaced with "sensitive".
  5579  func (s GetServersInput) GoString() string {
  5580  	return s.String()
  5581  }
  5582  
  5583  // SetMaxResults sets the MaxResults field's value.
  5584  func (s *GetServersInput) SetMaxResults(v int64) *GetServersInput {
  5585  	s.MaxResults = &v
  5586  	return s
  5587  }
  5588  
  5589  // SetNextToken sets the NextToken field's value.
  5590  func (s *GetServersInput) SetNextToken(v string) *GetServersInput {
  5591  	s.NextToken = &v
  5592  	return s
  5593  }
  5594  
  5595  // SetVmServerAddressList sets the VmServerAddressList field's value.
  5596  func (s *GetServersInput) SetVmServerAddressList(v []*VmServerAddress) *GetServersInput {
  5597  	s.VmServerAddressList = v
  5598  	return s
  5599  }
  5600  
  5601  type GetServersOutput struct {
  5602  	_ struct{} `type:"structure"`
  5603  
  5604  	// The time when the server was last modified.
  5605  	LastModifiedOn *time.Time `locationName:"lastModifiedOn" type:"timestamp"`
  5606  
  5607  	// The token required to retrieve the next set of results. This value is null
  5608  	// when there are no more results to return.
  5609  	NextToken *string `locationName:"nextToken" type:"string"`
  5610  
  5611  	// The status of the server catalog.
  5612  	ServerCatalogStatus *string `locationName:"serverCatalogStatus" type:"string" enum:"ServerCatalogStatus"`
  5613  
  5614  	// Information about the servers.
  5615  	ServerList []*Server `locationName:"serverList" type:"list"`
  5616  }
  5617  
  5618  // String returns the string representation.
  5619  //
  5620  // API parameter values that are decorated as "sensitive" in the API will not
  5621  // be included in the string output. The member name will be present, but the
  5622  // value will be replaced with "sensitive".
  5623  func (s GetServersOutput) String() string {
  5624  	return awsutil.Prettify(s)
  5625  }
  5626  
  5627  // GoString returns the string representation.
  5628  //
  5629  // API parameter values that are decorated as "sensitive" in the API will not
  5630  // be included in the string output. The member name will be present, but the
  5631  // value will be replaced with "sensitive".
  5632  func (s GetServersOutput) GoString() string {
  5633  	return s.String()
  5634  }
  5635  
  5636  // SetLastModifiedOn sets the LastModifiedOn field's value.
  5637  func (s *GetServersOutput) SetLastModifiedOn(v time.Time) *GetServersOutput {
  5638  	s.LastModifiedOn = &v
  5639  	return s
  5640  }
  5641  
  5642  // SetNextToken sets the NextToken field's value.
  5643  func (s *GetServersOutput) SetNextToken(v string) *GetServersOutput {
  5644  	s.NextToken = &v
  5645  	return s
  5646  }
  5647  
  5648  // SetServerCatalogStatus sets the ServerCatalogStatus field's value.
  5649  func (s *GetServersOutput) SetServerCatalogStatus(v string) *GetServersOutput {
  5650  	s.ServerCatalogStatus = &v
  5651  	return s
  5652  }
  5653  
  5654  // SetServerList sets the ServerList field's value.
  5655  func (s *GetServersOutput) SetServerList(v []*Server) *GetServersOutput {
  5656  	s.ServerList = v
  5657  	return s
  5658  }
  5659  
  5660  type ImportAppCatalogInput struct {
  5661  	_ struct{} `type:"structure"`
  5662  
  5663  	// The name of the service role. If you omit this parameter, we create a service-linked
  5664  	// role for AWS Migration Hub in your account. Otherwise, the role that you
  5665  	// provide must have the policy and trust policy (https://docs.aws.amazon.com/migrationhub/latest/ug/new-customer-setup.html#sms-managed)
  5666  	// described in the AWS Migration Hub User Guide.
  5667  	RoleName *string `locationName:"roleName" type:"string"`
  5668  }
  5669  
  5670  // String returns the string representation.
  5671  //
  5672  // API parameter values that are decorated as "sensitive" in the API will not
  5673  // be included in the string output. The member name will be present, but the
  5674  // value will be replaced with "sensitive".
  5675  func (s ImportAppCatalogInput) String() string {
  5676  	return awsutil.Prettify(s)
  5677  }
  5678  
  5679  // GoString returns the string representation.
  5680  //
  5681  // API parameter values that are decorated as "sensitive" in the API will not
  5682  // be included in the string output. The member name will be present, but the
  5683  // value will be replaced with "sensitive".
  5684  func (s ImportAppCatalogInput) GoString() string {
  5685  	return s.String()
  5686  }
  5687  
  5688  // SetRoleName sets the RoleName field's value.
  5689  func (s *ImportAppCatalogInput) SetRoleName(v string) *ImportAppCatalogInput {
  5690  	s.RoleName = &v
  5691  	return s
  5692  }
  5693  
  5694  type ImportAppCatalogOutput struct {
  5695  	_ struct{} `type:"structure"`
  5696  }
  5697  
  5698  // String returns the string representation.
  5699  //
  5700  // API parameter values that are decorated as "sensitive" in the API will not
  5701  // be included in the string output. The member name will be present, but the
  5702  // value will be replaced with "sensitive".
  5703  func (s ImportAppCatalogOutput) String() string {
  5704  	return awsutil.Prettify(s)
  5705  }
  5706  
  5707  // GoString returns the string representation.
  5708  //
  5709  // API parameter values that are decorated as "sensitive" in the API will not
  5710  // be included in the string output. The member name will be present, but the
  5711  // value will be replaced with "sensitive".
  5712  func (s ImportAppCatalogOutput) GoString() string {
  5713  	return s.String()
  5714  }
  5715  
  5716  type ImportServerCatalogInput struct {
  5717  	_ struct{} `type:"structure"`
  5718  }
  5719  
  5720  // String returns the string representation.
  5721  //
  5722  // API parameter values that are decorated as "sensitive" in the API will not
  5723  // be included in the string output. The member name will be present, but the
  5724  // value will be replaced with "sensitive".
  5725  func (s ImportServerCatalogInput) String() string {
  5726  	return awsutil.Prettify(s)
  5727  }
  5728  
  5729  // GoString returns the string representation.
  5730  //
  5731  // API parameter values that are decorated as "sensitive" in the API will not
  5732  // be included in the string output. The member name will be present, but the
  5733  // value will be replaced with "sensitive".
  5734  func (s ImportServerCatalogInput) GoString() string {
  5735  	return s.String()
  5736  }
  5737  
  5738  type ImportServerCatalogOutput struct {
  5739  	_ struct{} `type:"structure"`
  5740  }
  5741  
  5742  // String returns the string representation.
  5743  //
  5744  // API parameter values that are decorated as "sensitive" in the API will not
  5745  // be included in the string output. The member name will be present, but the
  5746  // value will be replaced with "sensitive".
  5747  func (s ImportServerCatalogOutput) String() string {
  5748  	return awsutil.Prettify(s)
  5749  }
  5750  
  5751  // GoString returns the string representation.
  5752  //
  5753  // API parameter values that are decorated as "sensitive" in the API will not
  5754  // be included in the string output. The member name will be present, but the
  5755  // value will be replaced with "sensitive".
  5756  func (s ImportServerCatalogOutput) GoString() string {
  5757  	return s.String()
  5758  }
  5759  
  5760  // An internal error occurred.
  5761  type InternalError struct {
  5762  	_            struct{}                  `type:"structure"`
  5763  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5764  
  5765  	Message_ *string `locationName:"message" type:"string"`
  5766  }
  5767  
  5768  // String returns the string representation.
  5769  //
  5770  // API parameter values that are decorated as "sensitive" in the API will not
  5771  // be included in the string output. The member name will be present, but the
  5772  // value will be replaced with "sensitive".
  5773  func (s InternalError) String() string {
  5774  	return awsutil.Prettify(s)
  5775  }
  5776  
  5777  // GoString returns the string representation.
  5778  //
  5779  // API parameter values that are decorated as "sensitive" in the API will not
  5780  // be included in the string output. The member name will be present, but the
  5781  // value will be replaced with "sensitive".
  5782  func (s InternalError) GoString() string {
  5783  	return s.String()
  5784  }
  5785  
  5786  func newErrorInternalError(v protocol.ResponseMetadata) error {
  5787  	return &InternalError{
  5788  		RespMetadata: v,
  5789  	}
  5790  }
  5791  
  5792  // Code returns the exception type name.
  5793  func (s *InternalError) Code() string {
  5794  	return "InternalError"
  5795  }
  5796  
  5797  // Message returns the exception's message.
  5798  func (s *InternalError) Message() string {
  5799  	if s.Message_ != nil {
  5800  		return *s.Message_
  5801  	}
  5802  	return ""
  5803  }
  5804  
  5805  // OrigErr always returns nil, satisfies awserr.Error interface.
  5806  func (s *InternalError) OrigErr() error {
  5807  	return nil
  5808  }
  5809  
  5810  func (s *InternalError) Error() string {
  5811  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5812  }
  5813  
  5814  // Status code returns the HTTP status code for the request's response error.
  5815  func (s *InternalError) StatusCode() int {
  5816  	return s.RespMetadata.StatusCode
  5817  }
  5818  
  5819  // RequestID returns the service's response RequestID for request.
  5820  func (s *InternalError) RequestID() string {
  5821  	return s.RespMetadata.RequestID
  5822  }
  5823  
  5824  // A specified parameter is not valid.
  5825  type InvalidParameterException struct {
  5826  	_            struct{}                  `type:"structure"`
  5827  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  5828  
  5829  	Message_ *string `locationName:"message" type:"string"`
  5830  }
  5831  
  5832  // String returns the string representation.
  5833  //
  5834  // API parameter values that are decorated as "sensitive" in the API will not
  5835  // be included in the string output. The member name will be present, but the
  5836  // value will be replaced with "sensitive".
  5837  func (s InvalidParameterException) String() string {
  5838  	return awsutil.Prettify(s)
  5839  }
  5840  
  5841  // GoString returns the string representation.
  5842  //
  5843  // API parameter values that are decorated as "sensitive" in the API will not
  5844  // be included in the string output. The member name will be present, but the
  5845  // value will be replaced with "sensitive".
  5846  func (s InvalidParameterException) GoString() string {
  5847  	return s.String()
  5848  }
  5849  
  5850  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
  5851  	return &InvalidParameterException{
  5852  		RespMetadata: v,
  5853  	}
  5854  }
  5855  
  5856  // Code returns the exception type name.
  5857  func (s *InvalidParameterException) Code() string {
  5858  	return "InvalidParameterException"
  5859  }
  5860  
  5861  // Message returns the exception's message.
  5862  func (s *InvalidParameterException) Message() string {
  5863  	if s.Message_ != nil {
  5864  		return *s.Message_
  5865  	}
  5866  	return ""
  5867  }
  5868  
  5869  // OrigErr always returns nil, satisfies awserr.Error interface.
  5870  func (s *InvalidParameterException) OrigErr() error {
  5871  	return nil
  5872  }
  5873  
  5874  func (s *InvalidParameterException) Error() string {
  5875  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  5876  }
  5877  
  5878  // Status code returns the HTTP status code for the request's response error.
  5879  func (s *InvalidParameterException) StatusCode() int {
  5880  	return s.RespMetadata.StatusCode
  5881  }
  5882  
  5883  // RequestID returns the service's response RequestID for request.
  5884  func (s *InvalidParameterException) RequestID() string {
  5885  	return s.RespMetadata.RequestID
  5886  }
  5887  
  5888  type LaunchAppInput struct {
  5889  	_ struct{} `type:"structure"`
  5890  
  5891  	// The ID of the application.
  5892  	AppId *string `locationName:"appId" type:"string"`
  5893  }
  5894  
  5895  // String returns the string representation.
  5896  //
  5897  // API parameter values that are decorated as "sensitive" in the API will not
  5898  // be included in the string output. The member name will be present, but the
  5899  // value will be replaced with "sensitive".
  5900  func (s LaunchAppInput) String() string {
  5901  	return awsutil.Prettify(s)
  5902  }
  5903  
  5904  // GoString returns the string representation.
  5905  //
  5906  // API parameter values that are decorated as "sensitive" in the API will not
  5907  // be included in the string output. The member name will be present, but the
  5908  // value will be replaced with "sensitive".
  5909  func (s LaunchAppInput) GoString() string {
  5910  	return s.String()
  5911  }
  5912  
  5913  // SetAppId sets the AppId field's value.
  5914  func (s *LaunchAppInput) SetAppId(v string) *LaunchAppInput {
  5915  	s.AppId = &v
  5916  	return s
  5917  }
  5918  
  5919  type LaunchAppOutput struct {
  5920  	_ struct{} `type:"structure"`
  5921  }
  5922  
  5923  // String returns the string representation.
  5924  //
  5925  // API parameter values that are decorated as "sensitive" in the API will not
  5926  // be included in the string output. The member name will be present, but the
  5927  // value will be replaced with "sensitive".
  5928  func (s LaunchAppOutput) String() string {
  5929  	return awsutil.Prettify(s)
  5930  }
  5931  
  5932  // GoString returns the string representation.
  5933  //
  5934  // API parameter values that are decorated as "sensitive" in the API will not
  5935  // be included in the string output. The member name will be present, but the
  5936  // value will be replaced with "sensitive".
  5937  func (s LaunchAppOutput) GoString() string {
  5938  	return s.String()
  5939  }
  5940  
  5941  // Details about the latest launch of an application.
  5942  type LaunchDetails struct {
  5943  	_ struct{} `type:"structure"`
  5944  
  5945  	// The latest time that this application was launched successfully.
  5946  	LatestLaunchTime *time.Time `locationName:"latestLaunchTime" type:"timestamp"`
  5947  
  5948  	// The ID of the latest stack launched for this application.
  5949  	StackId *string `locationName:"stackId" type:"string"`
  5950  
  5951  	// The name of the latest stack launched for this application.
  5952  	StackName *string `locationName:"stackName" type:"string"`
  5953  }
  5954  
  5955  // String returns the string representation.
  5956  //
  5957  // API parameter values that are decorated as "sensitive" in the API will not
  5958  // be included in the string output. The member name will be present, but the
  5959  // value will be replaced with "sensitive".
  5960  func (s LaunchDetails) String() string {
  5961  	return awsutil.Prettify(s)
  5962  }
  5963  
  5964  // GoString returns the string representation.
  5965  //
  5966  // API parameter values that are decorated as "sensitive" in the API will not
  5967  // be included in the string output. The member name will be present, but the
  5968  // value will be replaced with "sensitive".
  5969  func (s LaunchDetails) GoString() string {
  5970  	return s.String()
  5971  }
  5972  
  5973  // SetLatestLaunchTime sets the LatestLaunchTime field's value.
  5974  func (s *LaunchDetails) SetLatestLaunchTime(v time.Time) *LaunchDetails {
  5975  	s.LatestLaunchTime = &v
  5976  	return s
  5977  }
  5978  
  5979  // SetStackId sets the StackId field's value.
  5980  func (s *LaunchDetails) SetStackId(v string) *LaunchDetails {
  5981  	s.StackId = &v
  5982  	return s
  5983  }
  5984  
  5985  // SetStackName sets the StackName field's value.
  5986  func (s *LaunchDetails) SetStackName(v string) *LaunchDetails {
  5987  	s.StackName = &v
  5988  	return s
  5989  }
  5990  
  5991  type ListAppsInput struct {
  5992  	_ struct{} `type:"structure"`
  5993  
  5994  	// The unique application IDs.
  5995  	AppIds []*string `locationName:"appIds" type:"list"`
  5996  
  5997  	// The maximum number of results to return in a single call. The default value
  5998  	// is 100. To retrieve the remaining results, make another call with the returned
  5999  	// NextToken value.
  6000  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
  6001  
  6002  	// The token for the next set of results.
  6003  	NextToken *string `locationName:"nextToken" type:"string"`
  6004  }
  6005  
  6006  // String returns the string representation.
  6007  //
  6008  // API parameter values that are decorated as "sensitive" in the API will not
  6009  // be included in the string output. The member name will be present, but the
  6010  // value will be replaced with "sensitive".
  6011  func (s ListAppsInput) String() string {
  6012  	return awsutil.Prettify(s)
  6013  }
  6014  
  6015  // GoString returns the string representation.
  6016  //
  6017  // API parameter values that are decorated as "sensitive" in the API will not
  6018  // be included in the string output. The member name will be present, but the
  6019  // value will be replaced with "sensitive".
  6020  func (s ListAppsInput) GoString() string {
  6021  	return s.String()
  6022  }
  6023  
  6024  // SetAppIds sets the AppIds field's value.
  6025  func (s *ListAppsInput) SetAppIds(v []*string) *ListAppsInput {
  6026  	s.AppIds = v
  6027  	return s
  6028  }
  6029  
  6030  // SetMaxResults sets the MaxResults field's value.
  6031  func (s *ListAppsInput) SetMaxResults(v int64) *ListAppsInput {
  6032  	s.MaxResults = &v
  6033  	return s
  6034  }
  6035  
  6036  // SetNextToken sets the NextToken field's value.
  6037  func (s *ListAppsInput) SetNextToken(v string) *ListAppsInput {
  6038  	s.NextToken = &v
  6039  	return s
  6040  }
  6041  
  6042  type ListAppsOutput struct {
  6043  	_ struct{} `type:"structure"`
  6044  
  6045  	// The application summaries.
  6046  	Apps []*AppSummary `locationName:"apps" type:"list"`
  6047  
  6048  	// The token required to retrieve the next set of results. This value is null
  6049  	// when there are no more results to return.
  6050  	NextToken *string `locationName:"nextToken" type:"string"`
  6051  }
  6052  
  6053  // String returns the string representation.
  6054  //
  6055  // API parameter values that are decorated as "sensitive" in the API will not
  6056  // be included in the string output. The member name will be present, but the
  6057  // value will be replaced with "sensitive".
  6058  func (s ListAppsOutput) String() string {
  6059  	return awsutil.Prettify(s)
  6060  }
  6061  
  6062  // GoString returns the string representation.
  6063  //
  6064  // API parameter values that are decorated as "sensitive" in the API will not
  6065  // be included in the string output. The member name will be present, but the
  6066  // value will be replaced with "sensitive".
  6067  func (s ListAppsOutput) GoString() string {
  6068  	return s.String()
  6069  }
  6070  
  6071  // SetApps sets the Apps field's value.
  6072  func (s *ListAppsOutput) SetApps(v []*AppSummary) *ListAppsOutput {
  6073  	s.Apps = v
  6074  	return s
  6075  }
  6076  
  6077  // SetNextToken sets the NextToken field's value.
  6078  func (s *ListAppsOutput) SetNextToken(v string) *ListAppsOutput {
  6079  	s.NextToken = &v
  6080  	return s
  6081  }
  6082  
  6083  // A required parameter is missing.
  6084  type MissingRequiredParameterException struct {
  6085  	_            struct{}                  `type:"structure"`
  6086  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6087  
  6088  	Message_ *string `locationName:"message" type:"string"`
  6089  }
  6090  
  6091  // String returns the string representation.
  6092  //
  6093  // API parameter values that are decorated as "sensitive" in the API will not
  6094  // be included in the string output. The member name will be present, but the
  6095  // value will be replaced with "sensitive".
  6096  func (s MissingRequiredParameterException) String() string {
  6097  	return awsutil.Prettify(s)
  6098  }
  6099  
  6100  // GoString returns the string representation.
  6101  //
  6102  // API parameter values that are decorated as "sensitive" in the API will not
  6103  // be included in the string output. The member name will be present, but the
  6104  // value will be replaced with "sensitive".
  6105  func (s MissingRequiredParameterException) GoString() string {
  6106  	return s.String()
  6107  }
  6108  
  6109  func newErrorMissingRequiredParameterException(v protocol.ResponseMetadata) error {
  6110  	return &MissingRequiredParameterException{
  6111  		RespMetadata: v,
  6112  	}
  6113  }
  6114  
  6115  // Code returns the exception type name.
  6116  func (s *MissingRequiredParameterException) Code() string {
  6117  	return "MissingRequiredParameterException"
  6118  }
  6119  
  6120  // Message returns the exception's message.
  6121  func (s *MissingRequiredParameterException) Message() string {
  6122  	if s.Message_ != nil {
  6123  		return *s.Message_
  6124  	}
  6125  	return ""
  6126  }
  6127  
  6128  // OrigErr always returns nil, satisfies awserr.Error interface.
  6129  func (s *MissingRequiredParameterException) OrigErr() error {
  6130  	return nil
  6131  }
  6132  
  6133  func (s *MissingRequiredParameterException) Error() string {
  6134  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6135  }
  6136  
  6137  // Status code returns the HTTP status code for the request's response error.
  6138  func (s *MissingRequiredParameterException) StatusCode() int {
  6139  	return s.RespMetadata.StatusCode
  6140  }
  6141  
  6142  // RequestID returns the service's response RequestID for request.
  6143  func (s *MissingRequiredParameterException) RequestID() string {
  6144  	return s.RespMetadata.RequestID
  6145  }
  6146  
  6147  // There are no connectors available.
  6148  type NoConnectorsAvailableException struct {
  6149  	_            struct{}                  `type:"structure"`
  6150  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6151  
  6152  	Message_ *string `locationName:"message" type:"string"`
  6153  }
  6154  
  6155  // String returns the string representation.
  6156  //
  6157  // API parameter values that are decorated as "sensitive" in the API will not
  6158  // be included in the string output. The member name will be present, but the
  6159  // value will be replaced with "sensitive".
  6160  func (s NoConnectorsAvailableException) String() string {
  6161  	return awsutil.Prettify(s)
  6162  }
  6163  
  6164  // GoString returns the string representation.
  6165  //
  6166  // API parameter values that are decorated as "sensitive" in the API will not
  6167  // be included in the string output. The member name will be present, but the
  6168  // value will be replaced with "sensitive".
  6169  func (s NoConnectorsAvailableException) GoString() string {
  6170  	return s.String()
  6171  }
  6172  
  6173  func newErrorNoConnectorsAvailableException(v protocol.ResponseMetadata) error {
  6174  	return &NoConnectorsAvailableException{
  6175  		RespMetadata: v,
  6176  	}
  6177  }
  6178  
  6179  // Code returns the exception type name.
  6180  func (s *NoConnectorsAvailableException) Code() string {
  6181  	return "NoConnectorsAvailableException"
  6182  }
  6183  
  6184  // Message returns the exception's message.
  6185  func (s *NoConnectorsAvailableException) Message() string {
  6186  	if s.Message_ != nil {
  6187  		return *s.Message_
  6188  	}
  6189  	return ""
  6190  }
  6191  
  6192  // OrigErr always returns nil, satisfies awserr.Error interface.
  6193  func (s *NoConnectorsAvailableException) OrigErr() error {
  6194  	return nil
  6195  }
  6196  
  6197  func (s *NoConnectorsAvailableException) Error() string {
  6198  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6199  }
  6200  
  6201  // Status code returns the HTTP status code for the request's response error.
  6202  func (s *NoConnectorsAvailableException) StatusCode() int {
  6203  	return s.RespMetadata.StatusCode
  6204  }
  6205  
  6206  // RequestID returns the service's response RequestID for request.
  6207  func (s *NoConnectorsAvailableException) RequestID() string {
  6208  	return s.RespMetadata.RequestID
  6209  }
  6210  
  6211  // Contains the status of validating an application.
  6212  type NotificationContext struct {
  6213  	_ struct{} `type:"structure"`
  6214  
  6215  	// The status of the validation.
  6216  	Status *string `locationName:"status" type:"string" enum:"ValidationStatus"`
  6217  
  6218  	// The status message.
  6219  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  6220  
  6221  	// The ID of the validation.
  6222  	ValidationId *string `locationName:"validationId" type:"string"`
  6223  }
  6224  
  6225  // String returns the string representation.
  6226  //
  6227  // API parameter values that are decorated as "sensitive" in the API will not
  6228  // be included in the string output. The member name will be present, but the
  6229  // value will be replaced with "sensitive".
  6230  func (s NotificationContext) String() string {
  6231  	return awsutil.Prettify(s)
  6232  }
  6233  
  6234  // GoString returns the string representation.
  6235  //
  6236  // API parameter values that are decorated as "sensitive" in the API will not
  6237  // be included in the string output. The member name will be present, but the
  6238  // value will be replaced with "sensitive".
  6239  func (s NotificationContext) GoString() string {
  6240  	return s.String()
  6241  }
  6242  
  6243  // SetStatus sets the Status field's value.
  6244  func (s *NotificationContext) SetStatus(v string) *NotificationContext {
  6245  	s.Status = &v
  6246  	return s
  6247  }
  6248  
  6249  // SetStatusMessage sets the StatusMessage field's value.
  6250  func (s *NotificationContext) SetStatusMessage(v string) *NotificationContext {
  6251  	s.StatusMessage = &v
  6252  	return s
  6253  }
  6254  
  6255  // SetValidationId sets the ValidationId field's value.
  6256  func (s *NotificationContext) SetValidationId(v string) *NotificationContext {
  6257  	s.ValidationId = &v
  6258  	return s
  6259  }
  6260  
  6261  type NotifyAppValidationOutputInput struct {
  6262  	_ struct{} `type:"structure"`
  6263  
  6264  	// The ID of the application.
  6265  	//
  6266  	// AppId is a required field
  6267  	AppId *string `locationName:"appId" type:"string" required:"true"`
  6268  
  6269  	// The notification information.
  6270  	NotificationContext *NotificationContext `locationName:"notificationContext" type:"structure"`
  6271  }
  6272  
  6273  // String returns the string representation.
  6274  //
  6275  // API parameter values that are decorated as "sensitive" in the API will not
  6276  // be included in the string output. The member name will be present, but the
  6277  // value will be replaced with "sensitive".
  6278  func (s NotifyAppValidationOutputInput) String() string {
  6279  	return awsutil.Prettify(s)
  6280  }
  6281  
  6282  // GoString returns the string representation.
  6283  //
  6284  // API parameter values that are decorated as "sensitive" in the API will not
  6285  // be included in the string output. The member name will be present, but the
  6286  // value will be replaced with "sensitive".
  6287  func (s NotifyAppValidationOutputInput) GoString() string {
  6288  	return s.String()
  6289  }
  6290  
  6291  // Validate inspects the fields of the type to determine if they are valid.
  6292  func (s *NotifyAppValidationOutputInput) Validate() error {
  6293  	invalidParams := request.ErrInvalidParams{Context: "NotifyAppValidationOutputInput"}
  6294  	if s.AppId == nil {
  6295  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  6296  	}
  6297  
  6298  	if invalidParams.Len() > 0 {
  6299  		return invalidParams
  6300  	}
  6301  	return nil
  6302  }
  6303  
  6304  // SetAppId sets the AppId field's value.
  6305  func (s *NotifyAppValidationOutputInput) SetAppId(v string) *NotifyAppValidationOutputInput {
  6306  	s.AppId = &v
  6307  	return s
  6308  }
  6309  
  6310  // SetNotificationContext sets the NotificationContext field's value.
  6311  func (s *NotifyAppValidationOutputInput) SetNotificationContext(v *NotificationContext) *NotifyAppValidationOutputInput {
  6312  	s.NotificationContext = v
  6313  	return s
  6314  }
  6315  
  6316  type NotifyAppValidationOutputOutput struct {
  6317  	_ struct{} `type:"structure"`
  6318  }
  6319  
  6320  // String returns the string representation.
  6321  //
  6322  // API parameter values that are decorated as "sensitive" in the API will not
  6323  // be included in the string output. The member name will be present, but the
  6324  // value will be replaced with "sensitive".
  6325  func (s NotifyAppValidationOutputOutput) String() string {
  6326  	return awsutil.Prettify(s)
  6327  }
  6328  
  6329  // GoString returns the string representation.
  6330  //
  6331  // API parameter values that are decorated as "sensitive" in the API will not
  6332  // be included in the string output. The member name will be present, but the
  6333  // value will be replaced with "sensitive".
  6334  func (s NotifyAppValidationOutputOutput) GoString() string {
  6335  	return s.String()
  6336  }
  6337  
  6338  // This operation is not allowed.
  6339  type OperationNotPermittedException struct {
  6340  	_            struct{}                  `type:"structure"`
  6341  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6342  
  6343  	Message_ *string `locationName:"message" type:"string"`
  6344  }
  6345  
  6346  // String returns the string representation.
  6347  //
  6348  // API parameter values that are decorated as "sensitive" in the API will not
  6349  // be included in the string output. The member name will be present, but the
  6350  // value will be replaced with "sensitive".
  6351  func (s OperationNotPermittedException) String() string {
  6352  	return awsutil.Prettify(s)
  6353  }
  6354  
  6355  // GoString returns the string representation.
  6356  //
  6357  // API parameter values that are decorated as "sensitive" in the API will not
  6358  // be included in the string output. The member name will be present, but the
  6359  // value will be replaced with "sensitive".
  6360  func (s OperationNotPermittedException) GoString() string {
  6361  	return s.String()
  6362  }
  6363  
  6364  func newErrorOperationNotPermittedException(v protocol.ResponseMetadata) error {
  6365  	return &OperationNotPermittedException{
  6366  		RespMetadata: v,
  6367  	}
  6368  }
  6369  
  6370  // Code returns the exception type name.
  6371  func (s *OperationNotPermittedException) Code() string {
  6372  	return "OperationNotPermittedException"
  6373  }
  6374  
  6375  // Message returns the exception's message.
  6376  func (s *OperationNotPermittedException) Message() string {
  6377  	if s.Message_ != nil {
  6378  		return *s.Message_
  6379  	}
  6380  	return ""
  6381  }
  6382  
  6383  // OrigErr always returns nil, satisfies awserr.Error interface.
  6384  func (s *OperationNotPermittedException) OrigErr() error {
  6385  	return nil
  6386  }
  6387  
  6388  func (s *OperationNotPermittedException) Error() string {
  6389  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6390  }
  6391  
  6392  // Status code returns the HTTP status code for the request's response error.
  6393  func (s *OperationNotPermittedException) StatusCode() int {
  6394  	return s.RespMetadata.StatusCode
  6395  }
  6396  
  6397  // RequestID returns the service's response RequestID for request.
  6398  func (s *OperationNotPermittedException) RequestID() string {
  6399  	return s.RespMetadata.RequestID
  6400  }
  6401  
  6402  type PutAppLaunchConfigurationInput struct {
  6403  	_ struct{} `type:"structure"`
  6404  
  6405  	// The ID of the application.
  6406  	AppId *string `locationName:"appId" type:"string"`
  6407  
  6408  	// Indicates whether the application is configured to launch automatically after
  6409  	// replication is complete.
  6410  	AutoLaunch *bool `locationName:"autoLaunch" type:"boolean"`
  6411  
  6412  	// The name of service role in the customer's account that AWS CloudFormation
  6413  	// uses to launch the application.
  6414  	RoleName *string `locationName:"roleName" type:"string"`
  6415  
  6416  	// Information about the launch configurations for server groups in the application.
  6417  	ServerGroupLaunchConfigurations []*ServerGroupLaunchConfiguration `locationName:"serverGroupLaunchConfigurations" type:"list"`
  6418  }
  6419  
  6420  // String returns the string representation.
  6421  //
  6422  // API parameter values that are decorated as "sensitive" in the API will not
  6423  // be included in the string output. The member name will be present, but the
  6424  // value will be replaced with "sensitive".
  6425  func (s PutAppLaunchConfigurationInput) String() string {
  6426  	return awsutil.Prettify(s)
  6427  }
  6428  
  6429  // GoString returns the string representation.
  6430  //
  6431  // API parameter values that are decorated as "sensitive" in the API will not
  6432  // be included in the string output. The member name will be present, but the
  6433  // value will be replaced with "sensitive".
  6434  func (s PutAppLaunchConfigurationInput) GoString() string {
  6435  	return s.String()
  6436  }
  6437  
  6438  // Validate inspects the fields of the type to determine if they are valid.
  6439  func (s *PutAppLaunchConfigurationInput) Validate() error {
  6440  	invalidParams := request.ErrInvalidParams{Context: "PutAppLaunchConfigurationInput"}
  6441  	if s.ServerGroupLaunchConfigurations != nil {
  6442  		for i, v := range s.ServerGroupLaunchConfigurations {
  6443  			if v == nil {
  6444  				continue
  6445  			}
  6446  			if err := v.Validate(); err != nil {
  6447  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerGroupLaunchConfigurations", i), err.(request.ErrInvalidParams))
  6448  			}
  6449  		}
  6450  	}
  6451  
  6452  	if invalidParams.Len() > 0 {
  6453  		return invalidParams
  6454  	}
  6455  	return nil
  6456  }
  6457  
  6458  // SetAppId sets the AppId field's value.
  6459  func (s *PutAppLaunchConfigurationInput) SetAppId(v string) *PutAppLaunchConfigurationInput {
  6460  	s.AppId = &v
  6461  	return s
  6462  }
  6463  
  6464  // SetAutoLaunch sets the AutoLaunch field's value.
  6465  func (s *PutAppLaunchConfigurationInput) SetAutoLaunch(v bool) *PutAppLaunchConfigurationInput {
  6466  	s.AutoLaunch = &v
  6467  	return s
  6468  }
  6469  
  6470  // SetRoleName sets the RoleName field's value.
  6471  func (s *PutAppLaunchConfigurationInput) SetRoleName(v string) *PutAppLaunchConfigurationInput {
  6472  	s.RoleName = &v
  6473  	return s
  6474  }
  6475  
  6476  // SetServerGroupLaunchConfigurations sets the ServerGroupLaunchConfigurations field's value.
  6477  func (s *PutAppLaunchConfigurationInput) SetServerGroupLaunchConfigurations(v []*ServerGroupLaunchConfiguration) *PutAppLaunchConfigurationInput {
  6478  	s.ServerGroupLaunchConfigurations = v
  6479  	return s
  6480  }
  6481  
  6482  type PutAppLaunchConfigurationOutput struct {
  6483  	_ struct{} `type:"structure"`
  6484  }
  6485  
  6486  // String returns the string representation.
  6487  //
  6488  // API parameter values that are decorated as "sensitive" in the API will not
  6489  // be included in the string output. The member name will be present, but the
  6490  // value will be replaced with "sensitive".
  6491  func (s PutAppLaunchConfigurationOutput) String() string {
  6492  	return awsutil.Prettify(s)
  6493  }
  6494  
  6495  // GoString returns the string representation.
  6496  //
  6497  // API parameter values that are decorated as "sensitive" in the API will not
  6498  // be included in the string output. The member name will be present, but the
  6499  // value will be replaced with "sensitive".
  6500  func (s PutAppLaunchConfigurationOutput) GoString() string {
  6501  	return s.String()
  6502  }
  6503  
  6504  type PutAppReplicationConfigurationInput struct {
  6505  	_ struct{} `type:"structure"`
  6506  
  6507  	// The ID of the application.
  6508  	AppId *string `locationName:"appId" type:"string"`
  6509  
  6510  	// Information about the replication configurations for server groups in the
  6511  	// application.
  6512  	ServerGroupReplicationConfigurations []*ServerGroupReplicationConfiguration `locationName:"serverGroupReplicationConfigurations" type:"list"`
  6513  }
  6514  
  6515  // String returns the string representation.
  6516  //
  6517  // API parameter values that are decorated as "sensitive" in the API will not
  6518  // be included in the string output. The member name will be present, but the
  6519  // value will be replaced with "sensitive".
  6520  func (s PutAppReplicationConfigurationInput) String() string {
  6521  	return awsutil.Prettify(s)
  6522  }
  6523  
  6524  // GoString returns the string representation.
  6525  //
  6526  // API parameter values that are decorated as "sensitive" in the API will not
  6527  // be included in the string output. The member name will be present, but the
  6528  // value will be replaced with "sensitive".
  6529  func (s PutAppReplicationConfigurationInput) GoString() string {
  6530  	return s.String()
  6531  }
  6532  
  6533  // SetAppId sets the AppId field's value.
  6534  func (s *PutAppReplicationConfigurationInput) SetAppId(v string) *PutAppReplicationConfigurationInput {
  6535  	s.AppId = &v
  6536  	return s
  6537  }
  6538  
  6539  // SetServerGroupReplicationConfigurations sets the ServerGroupReplicationConfigurations field's value.
  6540  func (s *PutAppReplicationConfigurationInput) SetServerGroupReplicationConfigurations(v []*ServerGroupReplicationConfiguration) *PutAppReplicationConfigurationInput {
  6541  	s.ServerGroupReplicationConfigurations = v
  6542  	return s
  6543  }
  6544  
  6545  type PutAppReplicationConfigurationOutput struct {
  6546  	_ struct{} `type:"structure"`
  6547  }
  6548  
  6549  // String returns the string representation.
  6550  //
  6551  // API parameter values that are decorated as "sensitive" in the API will not
  6552  // be included in the string output. The member name will be present, but the
  6553  // value will be replaced with "sensitive".
  6554  func (s PutAppReplicationConfigurationOutput) String() string {
  6555  	return awsutil.Prettify(s)
  6556  }
  6557  
  6558  // GoString returns the string representation.
  6559  //
  6560  // API parameter values that are decorated as "sensitive" in the API will not
  6561  // be included in the string output. The member name will be present, but the
  6562  // value will be replaced with "sensitive".
  6563  func (s PutAppReplicationConfigurationOutput) GoString() string {
  6564  	return s.String()
  6565  }
  6566  
  6567  type PutAppValidationConfigurationInput struct {
  6568  	_ struct{} `type:"structure"`
  6569  
  6570  	// The ID of the application.
  6571  	//
  6572  	// AppId is a required field
  6573  	AppId *string `locationName:"appId" type:"string" required:"true"`
  6574  
  6575  	// The configuration for application validation.
  6576  	AppValidationConfigurations []*AppValidationConfiguration `locationName:"appValidationConfigurations" type:"list"`
  6577  
  6578  	// The configuration for instance validation.
  6579  	ServerGroupValidationConfigurations []*ServerGroupValidationConfiguration `locationName:"serverGroupValidationConfigurations" type:"list"`
  6580  }
  6581  
  6582  // String returns the string representation.
  6583  //
  6584  // API parameter values that are decorated as "sensitive" in the API will not
  6585  // be included in the string output. The member name will be present, but the
  6586  // value will be replaced with "sensitive".
  6587  func (s PutAppValidationConfigurationInput) String() string {
  6588  	return awsutil.Prettify(s)
  6589  }
  6590  
  6591  // GoString returns the string representation.
  6592  //
  6593  // API parameter values that are decorated as "sensitive" in the API will not
  6594  // be included in the string output. The member name will be present, but the
  6595  // value will be replaced with "sensitive".
  6596  func (s PutAppValidationConfigurationInput) GoString() string {
  6597  	return s.String()
  6598  }
  6599  
  6600  // Validate inspects the fields of the type to determine if they are valid.
  6601  func (s *PutAppValidationConfigurationInput) Validate() error {
  6602  	invalidParams := request.ErrInvalidParams{Context: "PutAppValidationConfigurationInput"}
  6603  	if s.AppId == nil {
  6604  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  6605  	}
  6606  	if s.AppValidationConfigurations != nil {
  6607  		for i, v := range s.AppValidationConfigurations {
  6608  			if v == nil {
  6609  				continue
  6610  			}
  6611  			if err := v.Validate(); err != nil {
  6612  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AppValidationConfigurations", i), err.(request.ErrInvalidParams))
  6613  			}
  6614  		}
  6615  	}
  6616  	if s.ServerGroupValidationConfigurations != nil {
  6617  		for i, v := range s.ServerGroupValidationConfigurations {
  6618  			if v == nil {
  6619  				continue
  6620  			}
  6621  			if err := v.Validate(); err != nil {
  6622  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerGroupValidationConfigurations", i), err.(request.ErrInvalidParams))
  6623  			}
  6624  		}
  6625  	}
  6626  
  6627  	if invalidParams.Len() > 0 {
  6628  		return invalidParams
  6629  	}
  6630  	return nil
  6631  }
  6632  
  6633  // SetAppId sets the AppId field's value.
  6634  func (s *PutAppValidationConfigurationInput) SetAppId(v string) *PutAppValidationConfigurationInput {
  6635  	s.AppId = &v
  6636  	return s
  6637  }
  6638  
  6639  // SetAppValidationConfigurations sets the AppValidationConfigurations field's value.
  6640  func (s *PutAppValidationConfigurationInput) SetAppValidationConfigurations(v []*AppValidationConfiguration) *PutAppValidationConfigurationInput {
  6641  	s.AppValidationConfigurations = v
  6642  	return s
  6643  }
  6644  
  6645  // SetServerGroupValidationConfigurations sets the ServerGroupValidationConfigurations field's value.
  6646  func (s *PutAppValidationConfigurationInput) SetServerGroupValidationConfigurations(v []*ServerGroupValidationConfiguration) *PutAppValidationConfigurationInput {
  6647  	s.ServerGroupValidationConfigurations = v
  6648  	return s
  6649  }
  6650  
  6651  type PutAppValidationConfigurationOutput struct {
  6652  	_ struct{} `type:"structure"`
  6653  }
  6654  
  6655  // String returns the string representation.
  6656  //
  6657  // API parameter values that are decorated as "sensitive" in the API will not
  6658  // be included in the string output. The member name will be present, but the
  6659  // value will be replaced with "sensitive".
  6660  func (s PutAppValidationConfigurationOutput) String() string {
  6661  	return awsutil.Prettify(s)
  6662  }
  6663  
  6664  // GoString returns the string representation.
  6665  //
  6666  // API parameter values that are decorated as "sensitive" in the API will not
  6667  // be included in the string output. The member name will be present, but the
  6668  // value will be replaced with "sensitive".
  6669  func (s PutAppValidationConfigurationOutput) GoString() string {
  6670  	return s.String()
  6671  }
  6672  
  6673  // Represents a replication job.
  6674  type ReplicationJob struct {
  6675  	_ struct{} `type:"structure"`
  6676  
  6677  	// The description of the replication job.
  6678  	Description *string `locationName:"description" type:"string"`
  6679  
  6680  	// Indicates whether the replication job should produce encrypted AMIs.
  6681  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  6682  
  6683  	// The time between consecutive replication runs, in hours.
  6684  	Frequency *int64 `locationName:"frequency" type:"integer"`
  6685  
  6686  	// The ID of the KMS key for replication jobs that produce encrypted AMIs. This
  6687  	// value can be any of the following:
  6688  	//
  6689  	//    * KMS key ID
  6690  	//
  6691  	//    * KMS key alias
  6692  	//
  6693  	//    * ARN referring to the KMS key ID
  6694  	//
  6695  	//    * ARN referring to the KMS key alias
  6696  	//
  6697  	// If encrypted is enabled but a KMS key ID is not specified, the customer's
  6698  	// default KMS key for Amazon EBS is used.
  6699  	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  6700  
  6701  	// The ID of the latest Amazon Machine Image (AMI).
  6702  	LatestAmiId *string `locationName:"latestAmiId" type:"string"`
  6703  
  6704  	// The license type to be used for the AMI created by a successful replication
  6705  	// run.
  6706  	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
  6707  
  6708  	// The start time of the next replication run.
  6709  	NextReplicationRunStartTime *time.Time `locationName:"nextReplicationRunStartTime" type:"timestamp"`
  6710  
  6711  	// The number of recent AMIs to keep in the customer's account for a replication
  6712  	// job. By default, the value is set to zero, meaning that all AMIs are kept.
  6713  	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
  6714  
  6715  	// The ID of the replication job.
  6716  	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
  6717  
  6718  	// Information about the replication runs.
  6719  	ReplicationRunList []*ReplicationRun `locationName:"replicationRunList" type:"list"`
  6720  
  6721  	// The name of the IAM role to be used by AWS SMS.
  6722  	RoleName *string `locationName:"roleName" type:"string"`
  6723  
  6724  	// Indicates whether to run the replication job one time.
  6725  	RunOnce *bool `locationName:"runOnce" type:"boolean"`
  6726  
  6727  	// The seed replication time.
  6728  	SeedReplicationTime *time.Time `locationName:"seedReplicationTime" type:"timestamp"`
  6729  
  6730  	// The ID of the server.
  6731  	ServerId *string `locationName:"serverId" type:"string"`
  6732  
  6733  	// The type of server.
  6734  	ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"`
  6735  
  6736  	// The state of the replication job.
  6737  	State *string `locationName:"state" type:"string" enum:"ReplicationJobState"`
  6738  
  6739  	// The description of the current status of the replication job.
  6740  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  6741  
  6742  	// Information about the VM server.
  6743  	VmServer *VmServer `locationName:"vmServer" type:"structure"`
  6744  }
  6745  
  6746  // String returns the string representation.
  6747  //
  6748  // API parameter values that are decorated as "sensitive" in the API will not
  6749  // be included in the string output. The member name will be present, but the
  6750  // value will be replaced with "sensitive".
  6751  func (s ReplicationJob) String() string {
  6752  	return awsutil.Prettify(s)
  6753  }
  6754  
  6755  // GoString returns the string representation.
  6756  //
  6757  // API parameter values that are decorated as "sensitive" in the API will not
  6758  // be included in the string output. The member name will be present, but the
  6759  // value will be replaced with "sensitive".
  6760  func (s ReplicationJob) GoString() string {
  6761  	return s.String()
  6762  }
  6763  
  6764  // SetDescription sets the Description field's value.
  6765  func (s *ReplicationJob) SetDescription(v string) *ReplicationJob {
  6766  	s.Description = &v
  6767  	return s
  6768  }
  6769  
  6770  // SetEncrypted sets the Encrypted field's value.
  6771  func (s *ReplicationJob) SetEncrypted(v bool) *ReplicationJob {
  6772  	s.Encrypted = &v
  6773  	return s
  6774  }
  6775  
  6776  // SetFrequency sets the Frequency field's value.
  6777  func (s *ReplicationJob) SetFrequency(v int64) *ReplicationJob {
  6778  	s.Frequency = &v
  6779  	return s
  6780  }
  6781  
  6782  // SetKmsKeyId sets the KmsKeyId field's value.
  6783  func (s *ReplicationJob) SetKmsKeyId(v string) *ReplicationJob {
  6784  	s.KmsKeyId = &v
  6785  	return s
  6786  }
  6787  
  6788  // SetLatestAmiId sets the LatestAmiId field's value.
  6789  func (s *ReplicationJob) SetLatestAmiId(v string) *ReplicationJob {
  6790  	s.LatestAmiId = &v
  6791  	return s
  6792  }
  6793  
  6794  // SetLicenseType sets the LicenseType field's value.
  6795  func (s *ReplicationJob) SetLicenseType(v string) *ReplicationJob {
  6796  	s.LicenseType = &v
  6797  	return s
  6798  }
  6799  
  6800  // SetNextReplicationRunStartTime sets the NextReplicationRunStartTime field's value.
  6801  func (s *ReplicationJob) SetNextReplicationRunStartTime(v time.Time) *ReplicationJob {
  6802  	s.NextReplicationRunStartTime = &v
  6803  	return s
  6804  }
  6805  
  6806  // SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
  6807  func (s *ReplicationJob) SetNumberOfRecentAmisToKeep(v int64) *ReplicationJob {
  6808  	s.NumberOfRecentAmisToKeep = &v
  6809  	return s
  6810  }
  6811  
  6812  // SetReplicationJobId sets the ReplicationJobId field's value.
  6813  func (s *ReplicationJob) SetReplicationJobId(v string) *ReplicationJob {
  6814  	s.ReplicationJobId = &v
  6815  	return s
  6816  }
  6817  
  6818  // SetReplicationRunList sets the ReplicationRunList field's value.
  6819  func (s *ReplicationJob) SetReplicationRunList(v []*ReplicationRun) *ReplicationJob {
  6820  	s.ReplicationRunList = v
  6821  	return s
  6822  }
  6823  
  6824  // SetRoleName sets the RoleName field's value.
  6825  func (s *ReplicationJob) SetRoleName(v string) *ReplicationJob {
  6826  	s.RoleName = &v
  6827  	return s
  6828  }
  6829  
  6830  // SetRunOnce sets the RunOnce field's value.
  6831  func (s *ReplicationJob) SetRunOnce(v bool) *ReplicationJob {
  6832  	s.RunOnce = &v
  6833  	return s
  6834  }
  6835  
  6836  // SetSeedReplicationTime sets the SeedReplicationTime field's value.
  6837  func (s *ReplicationJob) SetSeedReplicationTime(v time.Time) *ReplicationJob {
  6838  	s.SeedReplicationTime = &v
  6839  	return s
  6840  }
  6841  
  6842  // SetServerId sets the ServerId field's value.
  6843  func (s *ReplicationJob) SetServerId(v string) *ReplicationJob {
  6844  	s.ServerId = &v
  6845  	return s
  6846  }
  6847  
  6848  // SetServerType sets the ServerType field's value.
  6849  func (s *ReplicationJob) SetServerType(v string) *ReplicationJob {
  6850  	s.ServerType = &v
  6851  	return s
  6852  }
  6853  
  6854  // SetState sets the State field's value.
  6855  func (s *ReplicationJob) SetState(v string) *ReplicationJob {
  6856  	s.State = &v
  6857  	return s
  6858  }
  6859  
  6860  // SetStatusMessage sets the StatusMessage field's value.
  6861  func (s *ReplicationJob) SetStatusMessage(v string) *ReplicationJob {
  6862  	s.StatusMessage = &v
  6863  	return s
  6864  }
  6865  
  6866  // SetVmServer sets the VmServer field's value.
  6867  func (s *ReplicationJob) SetVmServer(v *VmServer) *ReplicationJob {
  6868  	s.VmServer = v
  6869  	return s
  6870  }
  6871  
  6872  // The specified replication job already exists.
  6873  type ReplicationJobAlreadyExistsException struct {
  6874  	_            struct{}                  `type:"structure"`
  6875  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6876  
  6877  	Message_ *string `locationName:"message" type:"string"`
  6878  }
  6879  
  6880  // String returns the string representation.
  6881  //
  6882  // API parameter values that are decorated as "sensitive" in the API will not
  6883  // be included in the string output. The member name will be present, but the
  6884  // value will be replaced with "sensitive".
  6885  func (s ReplicationJobAlreadyExistsException) String() string {
  6886  	return awsutil.Prettify(s)
  6887  }
  6888  
  6889  // GoString returns the string representation.
  6890  //
  6891  // API parameter values that are decorated as "sensitive" in the API will not
  6892  // be included in the string output. The member name will be present, but the
  6893  // value will be replaced with "sensitive".
  6894  func (s ReplicationJobAlreadyExistsException) GoString() string {
  6895  	return s.String()
  6896  }
  6897  
  6898  func newErrorReplicationJobAlreadyExistsException(v protocol.ResponseMetadata) error {
  6899  	return &ReplicationJobAlreadyExistsException{
  6900  		RespMetadata: v,
  6901  	}
  6902  }
  6903  
  6904  // Code returns the exception type name.
  6905  func (s *ReplicationJobAlreadyExistsException) Code() string {
  6906  	return "ReplicationJobAlreadyExistsException"
  6907  }
  6908  
  6909  // Message returns the exception's message.
  6910  func (s *ReplicationJobAlreadyExistsException) Message() string {
  6911  	if s.Message_ != nil {
  6912  		return *s.Message_
  6913  	}
  6914  	return ""
  6915  }
  6916  
  6917  // OrigErr always returns nil, satisfies awserr.Error interface.
  6918  func (s *ReplicationJobAlreadyExistsException) OrigErr() error {
  6919  	return nil
  6920  }
  6921  
  6922  func (s *ReplicationJobAlreadyExistsException) Error() string {
  6923  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6924  }
  6925  
  6926  // Status code returns the HTTP status code for the request's response error.
  6927  func (s *ReplicationJobAlreadyExistsException) StatusCode() int {
  6928  	return s.RespMetadata.StatusCode
  6929  }
  6930  
  6931  // RequestID returns the service's response RequestID for request.
  6932  func (s *ReplicationJobAlreadyExistsException) RequestID() string {
  6933  	return s.RespMetadata.RequestID
  6934  }
  6935  
  6936  // The specified replication job does not exist.
  6937  type ReplicationJobNotFoundException struct {
  6938  	_            struct{}                  `type:"structure"`
  6939  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6940  
  6941  	Message_ *string `locationName:"message" type:"string"`
  6942  }
  6943  
  6944  // String returns the string representation.
  6945  //
  6946  // API parameter values that are decorated as "sensitive" in the API will not
  6947  // be included in the string output. The member name will be present, but the
  6948  // value will be replaced with "sensitive".
  6949  func (s ReplicationJobNotFoundException) String() string {
  6950  	return awsutil.Prettify(s)
  6951  }
  6952  
  6953  // GoString returns the string representation.
  6954  //
  6955  // API parameter values that are decorated as "sensitive" in the API will not
  6956  // be included in the string output. The member name will be present, but the
  6957  // value will be replaced with "sensitive".
  6958  func (s ReplicationJobNotFoundException) GoString() string {
  6959  	return s.String()
  6960  }
  6961  
  6962  func newErrorReplicationJobNotFoundException(v protocol.ResponseMetadata) error {
  6963  	return &ReplicationJobNotFoundException{
  6964  		RespMetadata: v,
  6965  	}
  6966  }
  6967  
  6968  // Code returns the exception type name.
  6969  func (s *ReplicationJobNotFoundException) Code() string {
  6970  	return "ReplicationJobNotFoundException"
  6971  }
  6972  
  6973  // Message returns the exception's message.
  6974  func (s *ReplicationJobNotFoundException) Message() string {
  6975  	if s.Message_ != nil {
  6976  		return *s.Message_
  6977  	}
  6978  	return ""
  6979  }
  6980  
  6981  // OrigErr always returns nil, satisfies awserr.Error interface.
  6982  func (s *ReplicationJobNotFoundException) OrigErr() error {
  6983  	return nil
  6984  }
  6985  
  6986  func (s *ReplicationJobNotFoundException) Error() string {
  6987  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6988  }
  6989  
  6990  // Status code returns the HTTP status code for the request's response error.
  6991  func (s *ReplicationJobNotFoundException) StatusCode() int {
  6992  	return s.RespMetadata.StatusCode
  6993  }
  6994  
  6995  // RequestID returns the service's response RequestID for request.
  6996  func (s *ReplicationJobNotFoundException) RequestID() string {
  6997  	return s.RespMetadata.RequestID
  6998  }
  6999  
  7000  // Represents a replication run.
  7001  type ReplicationRun struct {
  7002  	_ struct{} `type:"structure"`
  7003  
  7004  	// The ID of the Amazon Machine Image (AMI) from the replication run.
  7005  	AmiId *string `locationName:"amiId" type:"string"`
  7006  
  7007  	// The completion time of the last replication run.
  7008  	CompletedTime *time.Time `locationName:"completedTime" type:"timestamp"`
  7009  
  7010  	// The description of the replication run.
  7011  	Description *string `locationName:"description" type:"string"`
  7012  
  7013  	// Indicates whether the replication run should produce an encrypted AMI.
  7014  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  7015  
  7016  	// The ID of the KMS key for replication jobs that produce encrypted AMIs. This
  7017  	// value can be any of the following:
  7018  	//
  7019  	//    * KMS key ID
  7020  	//
  7021  	//    * KMS key alias
  7022  	//
  7023  	//    * ARN referring to the KMS key ID
  7024  	//
  7025  	//    * ARN referring to the KMS key alias
  7026  	//
  7027  	// If encrypted is true but a KMS key ID is not specified, the customer's default
  7028  	// KMS key for Amazon EBS is used.
  7029  	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  7030  
  7031  	// The ID of the replication run.
  7032  	ReplicationRunId *string `locationName:"replicationRunId" type:"string"`
  7033  
  7034  	// The start time of the next replication run.
  7035  	ScheduledStartTime *time.Time `locationName:"scheduledStartTime" type:"timestamp"`
  7036  
  7037  	// Details about the current stage of the replication run.
  7038  	StageDetails *ReplicationRunStageDetails `locationName:"stageDetails" type:"structure"`
  7039  
  7040  	// The state of the replication run.
  7041  	State *string `locationName:"state" type:"string" enum:"ReplicationRunState"`
  7042  
  7043  	// The description of the current status of the replication job.
  7044  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  7045  
  7046  	// The type of replication run.
  7047  	Type *string `locationName:"type" type:"string" enum:"ReplicationRunType"`
  7048  }
  7049  
  7050  // String returns the string representation.
  7051  //
  7052  // API parameter values that are decorated as "sensitive" in the API will not
  7053  // be included in the string output. The member name will be present, but the
  7054  // value will be replaced with "sensitive".
  7055  func (s ReplicationRun) String() string {
  7056  	return awsutil.Prettify(s)
  7057  }
  7058  
  7059  // GoString returns the string representation.
  7060  //
  7061  // API parameter values that are decorated as "sensitive" in the API will not
  7062  // be included in the string output. The member name will be present, but the
  7063  // value will be replaced with "sensitive".
  7064  func (s ReplicationRun) GoString() string {
  7065  	return s.String()
  7066  }
  7067  
  7068  // SetAmiId sets the AmiId field's value.
  7069  func (s *ReplicationRun) SetAmiId(v string) *ReplicationRun {
  7070  	s.AmiId = &v
  7071  	return s
  7072  }
  7073  
  7074  // SetCompletedTime sets the CompletedTime field's value.
  7075  func (s *ReplicationRun) SetCompletedTime(v time.Time) *ReplicationRun {
  7076  	s.CompletedTime = &v
  7077  	return s
  7078  }
  7079  
  7080  // SetDescription sets the Description field's value.
  7081  func (s *ReplicationRun) SetDescription(v string) *ReplicationRun {
  7082  	s.Description = &v
  7083  	return s
  7084  }
  7085  
  7086  // SetEncrypted sets the Encrypted field's value.
  7087  func (s *ReplicationRun) SetEncrypted(v bool) *ReplicationRun {
  7088  	s.Encrypted = &v
  7089  	return s
  7090  }
  7091  
  7092  // SetKmsKeyId sets the KmsKeyId field's value.
  7093  func (s *ReplicationRun) SetKmsKeyId(v string) *ReplicationRun {
  7094  	s.KmsKeyId = &v
  7095  	return s
  7096  }
  7097  
  7098  // SetReplicationRunId sets the ReplicationRunId field's value.
  7099  func (s *ReplicationRun) SetReplicationRunId(v string) *ReplicationRun {
  7100  	s.ReplicationRunId = &v
  7101  	return s
  7102  }
  7103  
  7104  // SetScheduledStartTime sets the ScheduledStartTime field's value.
  7105  func (s *ReplicationRun) SetScheduledStartTime(v time.Time) *ReplicationRun {
  7106  	s.ScheduledStartTime = &v
  7107  	return s
  7108  }
  7109  
  7110  // SetStageDetails sets the StageDetails field's value.
  7111  func (s *ReplicationRun) SetStageDetails(v *ReplicationRunStageDetails) *ReplicationRun {
  7112  	s.StageDetails = v
  7113  	return s
  7114  }
  7115  
  7116  // SetState sets the State field's value.
  7117  func (s *ReplicationRun) SetState(v string) *ReplicationRun {
  7118  	s.State = &v
  7119  	return s
  7120  }
  7121  
  7122  // SetStatusMessage sets the StatusMessage field's value.
  7123  func (s *ReplicationRun) SetStatusMessage(v string) *ReplicationRun {
  7124  	s.StatusMessage = &v
  7125  	return s
  7126  }
  7127  
  7128  // SetType sets the Type field's value.
  7129  func (s *ReplicationRun) SetType(v string) *ReplicationRun {
  7130  	s.Type = &v
  7131  	return s
  7132  }
  7133  
  7134  // You have exceeded the number of on-demand replication runs you can request
  7135  // in a 24-hour period.
  7136  type ReplicationRunLimitExceededException struct {
  7137  	_            struct{}                  `type:"structure"`
  7138  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7139  
  7140  	Message_ *string `locationName:"message" type:"string"`
  7141  }
  7142  
  7143  // String returns the string representation.
  7144  //
  7145  // API parameter values that are decorated as "sensitive" in the API will not
  7146  // be included in the string output. The member name will be present, but the
  7147  // value will be replaced with "sensitive".
  7148  func (s ReplicationRunLimitExceededException) String() string {
  7149  	return awsutil.Prettify(s)
  7150  }
  7151  
  7152  // GoString returns the string representation.
  7153  //
  7154  // API parameter values that are decorated as "sensitive" in the API will not
  7155  // be included in the string output. The member name will be present, but the
  7156  // value will be replaced with "sensitive".
  7157  func (s ReplicationRunLimitExceededException) GoString() string {
  7158  	return s.String()
  7159  }
  7160  
  7161  func newErrorReplicationRunLimitExceededException(v protocol.ResponseMetadata) error {
  7162  	return &ReplicationRunLimitExceededException{
  7163  		RespMetadata: v,
  7164  	}
  7165  }
  7166  
  7167  // Code returns the exception type name.
  7168  func (s *ReplicationRunLimitExceededException) Code() string {
  7169  	return "ReplicationRunLimitExceededException"
  7170  }
  7171  
  7172  // Message returns the exception's message.
  7173  func (s *ReplicationRunLimitExceededException) Message() string {
  7174  	if s.Message_ != nil {
  7175  		return *s.Message_
  7176  	}
  7177  	return ""
  7178  }
  7179  
  7180  // OrigErr always returns nil, satisfies awserr.Error interface.
  7181  func (s *ReplicationRunLimitExceededException) OrigErr() error {
  7182  	return nil
  7183  }
  7184  
  7185  func (s *ReplicationRunLimitExceededException) Error() string {
  7186  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7187  }
  7188  
  7189  // Status code returns the HTTP status code for the request's response error.
  7190  func (s *ReplicationRunLimitExceededException) StatusCode() int {
  7191  	return s.RespMetadata.StatusCode
  7192  }
  7193  
  7194  // RequestID returns the service's response RequestID for request.
  7195  func (s *ReplicationRunLimitExceededException) RequestID() string {
  7196  	return s.RespMetadata.RequestID
  7197  }
  7198  
  7199  // Details of the current stage of a replication run.
  7200  type ReplicationRunStageDetails struct {
  7201  	_ struct{} `type:"structure"`
  7202  
  7203  	// The current stage of a replication run.
  7204  	Stage *string `locationName:"stage" type:"string"`
  7205  
  7206  	// The progress of the current stage of a replication run.
  7207  	StageProgress *string `locationName:"stageProgress" type:"string"`
  7208  }
  7209  
  7210  // String returns the string representation.
  7211  //
  7212  // API parameter values that are decorated as "sensitive" in the API will not
  7213  // be included in the string output. The member name will be present, but the
  7214  // value will be replaced with "sensitive".
  7215  func (s ReplicationRunStageDetails) String() string {
  7216  	return awsutil.Prettify(s)
  7217  }
  7218  
  7219  // GoString returns the string representation.
  7220  //
  7221  // API parameter values that are decorated as "sensitive" in the API will not
  7222  // be included in the string output. The member name will be present, but the
  7223  // value will be replaced with "sensitive".
  7224  func (s ReplicationRunStageDetails) GoString() string {
  7225  	return s.String()
  7226  }
  7227  
  7228  // SetStage sets the Stage field's value.
  7229  func (s *ReplicationRunStageDetails) SetStage(v string) *ReplicationRunStageDetails {
  7230  	s.Stage = &v
  7231  	return s
  7232  }
  7233  
  7234  // SetStageProgress sets the StageProgress field's value.
  7235  func (s *ReplicationRunStageDetails) SetStageProgress(v string) *ReplicationRunStageDetails {
  7236  	s.StageProgress = &v
  7237  	return s
  7238  }
  7239  
  7240  // Location of an Amazon S3 object.
  7241  type S3Location struct {
  7242  	_ struct{} `type:"structure"`
  7243  
  7244  	// The Amazon S3 bucket name.
  7245  	Bucket *string `locationName:"bucket" min:"3" type:"string"`
  7246  
  7247  	// The Amazon S3 bucket key.
  7248  	Key *string `locationName:"key" type:"string"`
  7249  }
  7250  
  7251  // String returns the string representation.
  7252  //
  7253  // API parameter values that are decorated as "sensitive" in the API will not
  7254  // be included in the string output. The member name will be present, but the
  7255  // value will be replaced with "sensitive".
  7256  func (s S3Location) String() string {
  7257  	return awsutil.Prettify(s)
  7258  }
  7259  
  7260  // GoString returns the string representation.
  7261  //
  7262  // API parameter values that are decorated as "sensitive" in the API will not
  7263  // be included in the string output. The member name will be present, but the
  7264  // value will be replaced with "sensitive".
  7265  func (s S3Location) GoString() string {
  7266  	return s.String()
  7267  }
  7268  
  7269  // Validate inspects the fields of the type to determine if they are valid.
  7270  func (s *S3Location) Validate() error {
  7271  	invalidParams := request.ErrInvalidParams{Context: "S3Location"}
  7272  	if s.Bucket != nil && len(*s.Bucket) < 3 {
  7273  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
  7274  	}
  7275  
  7276  	if invalidParams.Len() > 0 {
  7277  		return invalidParams
  7278  	}
  7279  	return nil
  7280  }
  7281  
  7282  // SetBucket sets the Bucket field's value.
  7283  func (s *S3Location) SetBucket(v string) *S3Location {
  7284  	s.Bucket = &v
  7285  	return s
  7286  }
  7287  
  7288  // SetKey sets the Key field's value.
  7289  func (s *S3Location) SetKey(v string) *S3Location {
  7290  	s.Key = &v
  7291  	return s
  7292  }
  7293  
  7294  // Contains the location of validation output.
  7295  type SSMOutput struct {
  7296  	_ struct{} `type:"structure"`
  7297  
  7298  	// Location of an Amazon S3 object.
  7299  	S3Location *S3Location `locationName:"s3Location" type:"structure"`
  7300  }
  7301  
  7302  // String returns the string representation.
  7303  //
  7304  // API parameter values that are decorated as "sensitive" in the API will not
  7305  // be included in the string output. The member name will be present, but the
  7306  // value will be replaced with "sensitive".
  7307  func (s SSMOutput) String() string {
  7308  	return awsutil.Prettify(s)
  7309  }
  7310  
  7311  // GoString returns the string representation.
  7312  //
  7313  // API parameter values that are decorated as "sensitive" in the API will not
  7314  // be included in the string output. The member name will be present, but the
  7315  // value will be replaced with "sensitive".
  7316  func (s SSMOutput) GoString() string {
  7317  	return s.String()
  7318  }
  7319  
  7320  // SetS3Location sets the S3Location field's value.
  7321  func (s *SSMOutput) SetS3Location(v *S3Location) *SSMOutput {
  7322  	s.S3Location = v
  7323  	return s
  7324  }
  7325  
  7326  // Contains validation parameters.
  7327  type SSMValidationParameters struct {
  7328  	_ struct{} `type:"structure"`
  7329  
  7330  	// The command to run the validation script
  7331  	Command *string `locationName:"command" min:"1" type:"string"`
  7332  
  7333  	// The timeout interval, in seconds.
  7334  	ExecutionTimeoutSeconds *int64 `locationName:"executionTimeoutSeconds" min:"60" type:"integer"`
  7335  
  7336  	// The ID of the instance. The instance must have the following tag: UserForSMSApplicationValidation=true.
  7337  	InstanceId *string `locationName:"instanceId" type:"string"`
  7338  
  7339  	// The name of the S3 bucket for output.
  7340  	OutputS3BucketName *string `locationName:"outputS3BucketName" type:"string"`
  7341  
  7342  	// The type of validation script.
  7343  	ScriptType *string `locationName:"scriptType" type:"string" enum:"ScriptType"`
  7344  
  7345  	// The location of the validation script.
  7346  	Source *Source `locationName:"source" type:"structure"`
  7347  }
  7348  
  7349  // String returns the string representation.
  7350  //
  7351  // API parameter values that are decorated as "sensitive" in the API will not
  7352  // be included in the string output. The member name will be present, but the
  7353  // value will be replaced with "sensitive".
  7354  func (s SSMValidationParameters) String() string {
  7355  	return awsutil.Prettify(s)
  7356  }
  7357  
  7358  // GoString returns the string representation.
  7359  //
  7360  // API parameter values that are decorated as "sensitive" in the API will not
  7361  // be included in the string output. The member name will be present, but the
  7362  // value will be replaced with "sensitive".
  7363  func (s SSMValidationParameters) GoString() string {
  7364  	return s.String()
  7365  }
  7366  
  7367  // Validate inspects the fields of the type to determine if they are valid.
  7368  func (s *SSMValidationParameters) Validate() error {
  7369  	invalidParams := request.ErrInvalidParams{Context: "SSMValidationParameters"}
  7370  	if s.Command != nil && len(*s.Command) < 1 {
  7371  		invalidParams.Add(request.NewErrParamMinLen("Command", 1))
  7372  	}
  7373  	if s.ExecutionTimeoutSeconds != nil && *s.ExecutionTimeoutSeconds < 60 {
  7374  		invalidParams.Add(request.NewErrParamMinValue("ExecutionTimeoutSeconds", 60))
  7375  	}
  7376  	if s.Source != nil {
  7377  		if err := s.Source.Validate(); err != nil {
  7378  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  7379  		}
  7380  	}
  7381  
  7382  	if invalidParams.Len() > 0 {
  7383  		return invalidParams
  7384  	}
  7385  	return nil
  7386  }
  7387  
  7388  // SetCommand sets the Command field's value.
  7389  func (s *SSMValidationParameters) SetCommand(v string) *SSMValidationParameters {
  7390  	s.Command = &v
  7391  	return s
  7392  }
  7393  
  7394  // SetExecutionTimeoutSeconds sets the ExecutionTimeoutSeconds field's value.
  7395  func (s *SSMValidationParameters) SetExecutionTimeoutSeconds(v int64) *SSMValidationParameters {
  7396  	s.ExecutionTimeoutSeconds = &v
  7397  	return s
  7398  }
  7399  
  7400  // SetInstanceId sets the InstanceId field's value.
  7401  func (s *SSMValidationParameters) SetInstanceId(v string) *SSMValidationParameters {
  7402  	s.InstanceId = &v
  7403  	return s
  7404  }
  7405  
  7406  // SetOutputS3BucketName sets the OutputS3BucketName field's value.
  7407  func (s *SSMValidationParameters) SetOutputS3BucketName(v string) *SSMValidationParameters {
  7408  	s.OutputS3BucketName = &v
  7409  	return s
  7410  }
  7411  
  7412  // SetScriptType sets the ScriptType field's value.
  7413  func (s *SSMValidationParameters) SetScriptType(v string) *SSMValidationParameters {
  7414  	s.ScriptType = &v
  7415  	return s
  7416  }
  7417  
  7418  // SetSource sets the Source field's value.
  7419  func (s *SSMValidationParameters) SetSource(v *Source) *SSMValidationParameters {
  7420  	s.Source = v
  7421  	return s
  7422  }
  7423  
  7424  // Represents a server.
  7425  type Server struct {
  7426  	_ struct{} `type:"structure"`
  7427  
  7428  	// The ID of the replication job.
  7429  	ReplicationJobId *string `locationName:"replicationJobId" type:"string"`
  7430  
  7431  	// Indicates whether the replication job is deleted or failed.
  7432  	ReplicationJobTerminated *bool `locationName:"replicationJobTerminated" type:"boolean"`
  7433  
  7434  	// The ID of the server.
  7435  	ServerId *string `locationName:"serverId" type:"string"`
  7436  
  7437  	// The type of server.
  7438  	ServerType *string `locationName:"serverType" type:"string" enum:"ServerType"`
  7439  
  7440  	// Information about the VM server.
  7441  	VmServer *VmServer `locationName:"vmServer" type:"structure"`
  7442  }
  7443  
  7444  // String returns the string representation.
  7445  //
  7446  // API parameter values that are decorated as "sensitive" in the API will not
  7447  // be included in the string output. The member name will be present, but the
  7448  // value will be replaced with "sensitive".
  7449  func (s Server) String() string {
  7450  	return awsutil.Prettify(s)
  7451  }
  7452  
  7453  // GoString returns the string representation.
  7454  //
  7455  // API parameter values that are decorated as "sensitive" in the API will not
  7456  // be included in the string output. The member name will be present, but the
  7457  // value will be replaced with "sensitive".
  7458  func (s Server) GoString() string {
  7459  	return s.String()
  7460  }
  7461  
  7462  // SetReplicationJobId sets the ReplicationJobId field's value.
  7463  func (s *Server) SetReplicationJobId(v string) *Server {
  7464  	s.ReplicationJobId = &v
  7465  	return s
  7466  }
  7467  
  7468  // SetReplicationJobTerminated sets the ReplicationJobTerminated field's value.
  7469  func (s *Server) SetReplicationJobTerminated(v bool) *Server {
  7470  	s.ReplicationJobTerminated = &v
  7471  	return s
  7472  }
  7473  
  7474  // SetServerId sets the ServerId field's value.
  7475  func (s *Server) SetServerId(v string) *Server {
  7476  	s.ServerId = &v
  7477  	return s
  7478  }
  7479  
  7480  // SetServerType sets the ServerType field's value.
  7481  func (s *Server) SetServerType(v string) *Server {
  7482  	s.ServerType = &v
  7483  	return s
  7484  }
  7485  
  7486  // SetVmServer sets the VmServer field's value.
  7487  func (s *Server) SetVmServer(v *VmServer) *Server {
  7488  	s.VmServer = v
  7489  	return s
  7490  }
  7491  
  7492  // The specified server cannot be replicated.
  7493  type ServerCannotBeReplicatedException struct {
  7494  	_            struct{}                  `type:"structure"`
  7495  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  7496  
  7497  	Message_ *string `locationName:"message" type:"string"`
  7498  }
  7499  
  7500  // String returns the string representation.
  7501  //
  7502  // API parameter values that are decorated as "sensitive" in the API will not
  7503  // be included in the string output. The member name will be present, but the
  7504  // value will be replaced with "sensitive".
  7505  func (s ServerCannotBeReplicatedException) String() string {
  7506  	return awsutil.Prettify(s)
  7507  }
  7508  
  7509  // GoString returns the string representation.
  7510  //
  7511  // API parameter values that are decorated as "sensitive" in the API will not
  7512  // be included in the string output. The member name will be present, but the
  7513  // value will be replaced with "sensitive".
  7514  func (s ServerCannotBeReplicatedException) GoString() string {
  7515  	return s.String()
  7516  }
  7517  
  7518  func newErrorServerCannotBeReplicatedException(v protocol.ResponseMetadata) error {
  7519  	return &ServerCannotBeReplicatedException{
  7520  		RespMetadata: v,
  7521  	}
  7522  }
  7523  
  7524  // Code returns the exception type name.
  7525  func (s *ServerCannotBeReplicatedException) Code() string {
  7526  	return "ServerCannotBeReplicatedException"
  7527  }
  7528  
  7529  // Message returns the exception's message.
  7530  func (s *ServerCannotBeReplicatedException) Message() string {
  7531  	if s.Message_ != nil {
  7532  		return *s.Message_
  7533  	}
  7534  	return ""
  7535  }
  7536  
  7537  // OrigErr always returns nil, satisfies awserr.Error interface.
  7538  func (s *ServerCannotBeReplicatedException) OrigErr() error {
  7539  	return nil
  7540  }
  7541  
  7542  func (s *ServerCannotBeReplicatedException) Error() string {
  7543  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  7544  }
  7545  
  7546  // Status code returns the HTTP status code for the request's response error.
  7547  func (s *ServerCannotBeReplicatedException) StatusCode() int {
  7548  	return s.RespMetadata.StatusCode
  7549  }
  7550  
  7551  // RequestID returns the service's response RequestID for request.
  7552  func (s *ServerCannotBeReplicatedException) RequestID() string {
  7553  	return s.RespMetadata.RequestID
  7554  }
  7555  
  7556  // Logical grouping of servers.
  7557  type ServerGroup struct {
  7558  	_ struct{} `type:"structure"`
  7559  
  7560  	// The name of a server group.
  7561  	Name *string `locationName:"name" type:"string"`
  7562  
  7563  	// The ID of a server group.
  7564  	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
  7565  
  7566  	// The servers that belong to a server group.
  7567  	ServerList []*Server `locationName:"serverList" type:"list"`
  7568  }
  7569  
  7570  // String returns the string representation.
  7571  //
  7572  // API parameter values that are decorated as "sensitive" in the API will not
  7573  // be included in the string output. The member name will be present, but the
  7574  // value will be replaced with "sensitive".
  7575  func (s ServerGroup) String() string {
  7576  	return awsutil.Prettify(s)
  7577  }
  7578  
  7579  // GoString returns the string representation.
  7580  //
  7581  // API parameter values that are decorated as "sensitive" in the API will not
  7582  // be included in the string output. The member name will be present, but the
  7583  // value will be replaced with "sensitive".
  7584  func (s ServerGroup) GoString() string {
  7585  	return s.String()
  7586  }
  7587  
  7588  // SetName sets the Name field's value.
  7589  func (s *ServerGroup) SetName(v string) *ServerGroup {
  7590  	s.Name = &v
  7591  	return s
  7592  }
  7593  
  7594  // SetServerGroupId sets the ServerGroupId field's value.
  7595  func (s *ServerGroup) SetServerGroupId(v string) *ServerGroup {
  7596  	s.ServerGroupId = &v
  7597  	return s
  7598  }
  7599  
  7600  // SetServerList sets the ServerList field's value.
  7601  func (s *ServerGroup) SetServerList(v []*Server) *ServerGroup {
  7602  	s.ServerList = v
  7603  	return s
  7604  }
  7605  
  7606  // Launch configuration for a server group.
  7607  type ServerGroupLaunchConfiguration struct {
  7608  	_ struct{} `type:"structure"`
  7609  
  7610  	// The launch order of servers in the server group.
  7611  	LaunchOrder *int64 `locationName:"launchOrder" type:"integer"`
  7612  
  7613  	// The ID of the server group with which the launch configuration is associated.
  7614  	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
  7615  
  7616  	// The launch configuration for servers in the server group.
  7617  	ServerLaunchConfigurations []*ServerLaunchConfiguration `locationName:"serverLaunchConfigurations" type:"list"`
  7618  }
  7619  
  7620  // String returns the string representation.
  7621  //
  7622  // API parameter values that are decorated as "sensitive" in the API will not
  7623  // be included in the string output. The member name will be present, but the
  7624  // value will be replaced with "sensitive".
  7625  func (s ServerGroupLaunchConfiguration) String() string {
  7626  	return awsutil.Prettify(s)
  7627  }
  7628  
  7629  // GoString returns the string representation.
  7630  //
  7631  // API parameter values that are decorated as "sensitive" in the API will not
  7632  // be included in the string output. The member name will be present, but the
  7633  // value will be replaced with "sensitive".
  7634  func (s ServerGroupLaunchConfiguration) GoString() string {
  7635  	return s.String()
  7636  }
  7637  
  7638  // Validate inspects the fields of the type to determine if they are valid.
  7639  func (s *ServerGroupLaunchConfiguration) Validate() error {
  7640  	invalidParams := request.ErrInvalidParams{Context: "ServerGroupLaunchConfiguration"}
  7641  	if s.ServerLaunchConfigurations != nil {
  7642  		for i, v := range s.ServerLaunchConfigurations {
  7643  			if v == nil {
  7644  				continue
  7645  			}
  7646  			if err := v.Validate(); err != nil {
  7647  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerLaunchConfigurations", i), err.(request.ErrInvalidParams))
  7648  			}
  7649  		}
  7650  	}
  7651  
  7652  	if invalidParams.Len() > 0 {
  7653  		return invalidParams
  7654  	}
  7655  	return nil
  7656  }
  7657  
  7658  // SetLaunchOrder sets the LaunchOrder field's value.
  7659  func (s *ServerGroupLaunchConfiguration) SetLaunchOrder(v int64) *ServerGroupLaunchConfiguration {
  7660  	s.LaunchOrder = &v
  7661  	return s
  7662  }
  7663  
  7664  // SetServerGroupId sets the ServerGroupId field's value.
  7665  func (s *ServerGroupLaunchConfiguration) SetServerGroupId(v string) *ServerGroupLaunchConfiguration {
  7666  	s.ServerGroupId = &v
  7667  	return s
  7668  }
  7669  
  7670  // SetServerLaunchConfigurations sets the ServerLaunchConfigurations field's value.
  7671  func (s *ServerGroupLaunchConfiguration) SetServerLaunchConfigurations(v []*ServerLaunchConfiguration) *ServerGroupLaunchConfiguration {
  7672  	s.ServerLaunchConfigurations = v
  7673  	return s
  7674  }
  7675  
  7676  // Replication configuration for a server group.
  7677  type ServerGroupReplicationConfiguration struct {
  7678  	_ struct{} `type:"structure"`
  7679  
  7680  	// The ID of the server group with which this replication configuration is associated.
  7681  	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
  7682  
  7683  	// The replication configuration for servers in the server group.
  7684  	ServerReplicationConfigurations []*ServerReplicationConfiguration `locationName:"serverReplicationConfigurations" type:"list"`
  7685  }
  7686  
  7687  // String returns the string representation.
  7688  //
  7689  // API parameter values that are decorated as "sensitive" in the API will not
  7690  // be included in the string output. The member name will be present, but the
  7691  // value will be replaced with "sensitive".
  7692  func (s ServerGroupReplicationConfiguration) String() string {
  7693  	return awsutil.Prettify(s)
  7694  }
  7695  
  7696  // GoString returns the string representation.
  7697  //
  7698  // API parameter values that are decorated as "sensitive" in the API will not
  7699  // be included in the string output. The member name will be present, but the
  7700  // value will be replaced with "sensitive".
  7701  func (s ServerGroupReplicationConfiguration) GoString() string {
  7702  	return s.String()
  7703  }
  7704  
  7705  // SetServerGroupId sets the ServerGroupId field's value.
  7706  func (s *ServerGroupReplicationConfiguration) SetServerGroupId(v string) *ServerGroupReplicationConfiguration {
  7707  	s.ServerGroupId = &v
  7708  	return s
  7709  }
  7710  
  7711  // SetServerReplicationConfigurations sets the ServerReplicationConfigurations field's value.
  7712  func (s *ServerGroupReplicationConfiguration) SetServerReplicationConfigurations(v []*ServerReplicationConfiguration) *ServerGroupReplicationConfiguration {
  7713  	s.ServerReplicationConfigurations = v
  7714  	return s
  7715  }
  7716  
  7717  // Configuration for validating an instance.
  7718  type ServerGroupValidationConfiguration struct {
  7719  	_ struct{} `type:"structure"`
  7720  
  7721  	// The ID of the server group.
  7722  	ServerGroupId *string `locationName:"serverGroupId" type:"string"`
  7723  
  7724  	// The validation configuration.
  7725  	ServerValidationConfigurations []*ServerValidationConfiguration `locationName:"serverValidationConfigurations" type:"list"`
  7726  }
  7727  
  7728  // String returns the string representation.
  7729  //
  7730  // API parameter values that are decorated as "sensitive" in the API will not
  7731  // be included in the string output. The member name will be present, but the
  7732  // value will be replaced with "sensitive".
  7733  func (s ServerGroupValidationConfiguration) String() string {
  7734  	return awsutil.Prettify(s)
  7735  }
  7736  
  7737  // GoString returns the string representation.
  7738  //
  7739  // API parameter values that are decorated as "sensitive" in the API will not
  7740  // be included in the string output. The member name will be present, but the
  7741  // value will be replaced with "sensitive".
  7742  func (s ServerGroupValidationConfiguration) GoString() string {
  7743  	return s.String()
  7744  }
  7745  
  7746  // Validate inspects the fields of the type to determine if they are valid.
  7747  func (s *ServerGroupValidationConfiguration) Validate() error {
  7748  	invalidParams := request.ErrInvalidParams{Context: "ServerGroupValidationConfiguration"}
  7749  	if s.ServerValidationConfigurations != nil {
  7750  		for i, v := range s.ServerValidationConfigurations {
  7751  			if v == nil {
  7752  				continue
  7753  			}
  7754  			if err := v.Validate(); err != nil {
  7755  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ServerValidationConfigurations", i), err.(request.ErrInvalidParams))
  7756  			}
  7757  		}
  7758  	}
  7759  
  7760  	if invalidParams.Len() > 0 {
  7761  		return invalidParams
  7762  	}
  7763  	return nil
  7764  }
  7765  
  7766  // SetServerGroupId sets the ServerGroupId field's value.
  7767  func (s *ServerGroupValidationConfiguration) SetServerGroupId(v string) *ServerGroupValidationConfiguration {
  7768  	s.ServerGroupId = &v
  7769  	return s
  7770  }
  7771  
  7772  // SetServerValidationConfigurations sets the ServerValidationConfigurations field's value.
  7773  func (s *ServerGroupValidationConfiguration) SetServerValidationConfigurations(v []*ServerValidationConfiguration) *ServerGroupValidationConfiguration {
  7774  	s.ServerValidationConfigurations = v
  7775  	return s
  7776  }
  7777  
  7778  // Launch configuration for a server.
  7779  type ServerLaunchConfiguration struct {
  7780  	_ struct{} `type:"structure"`
  7781  
  7782  	// Indicates whether a publicly accessible IP address is created when launching
  7783  	// the server.
  7784  	AssociatePublicIpAddress *bool `locationName:"associatePublicIpAddress" type:"boolean"`
  7785  
  7786  	// Location of an Amazon S3 object.
  7787  	ConfigureScript *S3Location `locationName:"configureScript" type:"structure"`
  7788  
  7789  	// The type of configuration script.
  7790  	ConfigureScriptType *string `locationName:"configureScriptType" type:"string" enum:"ScriptType"`
  7791  
  7792  	// The name of the Amazon EC2 SSH key to be used for connecting to the launched
  7793  	// server.
  7794  	Ec2KeyName *string `locationName:"ec2KeyName" type:"string"`
  7795  
  7796  	// The name of the IAM instance profile.
  7797  	IamInstanceProfileName *string `locationName:"iamInstanceProfileName" type:"string"`
  7798  
  7799  	// The instance type to use when launching the server.
  7800  	InstanceType *string `locationName:"instanceType" type:"string"`
  7801  
  7802  	// The logical ID of the server in the AWS CloudFormation template.
  7803  	LogicalId *string `locationName:"logicalId" type:"string"`
  7804  
  7805  	// The ID of the security group that applies to the launched server.
  7806  	SecurityGroup *string `locationName:"securityGroup" type:"string"`
  7807  
  7808  	// The ID of the server with which the launch configuration is associated.
  7809  	Server *Server `locationName:"server" type:"structure"`
  7810  
  7811  	// The ID of the subnet the server should be launched into.
  7812  	Subnet *string `locationName:"subnet" type:"string"`
  7813  
  7814  	// Location of the user-data script to be executed when launching the server.
  7815  	UserData *UserData `locationName:"userData" type:"structure"`
  7816  
  7817  	// The ID of the VPC into which the server should be launched.
  7818  	Vpc *string `locationName:"vpc" type:"string"`
  7819  }
  7820  
  7821  // String returns the string representation.
  7822  //
  7823  // API parameter values that are decorated as "sensitive" in the API will not
  7824  // be included in the string output. The member name will be present, but the
  7825  // value will be replaced with "sensitive".
  7826  func (s ServerLaunchConfiguration) String() string {
  7827  	return awsutil.Prettify(s)
  7828  }
  7829  
  7830  // GoString returns the string representation.
  7831  //
  7832  // API parameter values that are decorated as "sensitive" in the API will not
  7833  // be included in the string output. The member name will be present, but the
  7834  // value will be replaced with "sensitive".
  7835  func (s ServerLaunchConfiguration) GoString() string {
  7836  	return s.String()
  7837  }
  7838  
  7839  // Validate inspects the fields of the type to determine if they are valid.
  7840  func (s *ServerLaunchConfiguration) Validate() error {
  7841  	invalidParams := request.ErrInvalidParams{Context: "ServerLaunchConfiguration"}
  7842  	if s.ConfigureScript != nil {
  7843  		if err := s.ConfigureScript.Validate(); err != nil {
  7844  			invalidParams.AddNested("ConfigureScript", err.(request.ErrInvalidParams))
  7845  		}
  7846  	}
  7847  	if s.UserData != nil {
  7848  		if err := s.UserData.Validate(); err != nil {
  7849  			invalidParams.AddNested("UserData", err.(request.ErrInvalidParams))
  7850  		}
  7851  	}
  7852  
  7853  	if invalidParams.Len() > 0 {
  7854  		return invalidParams
  7855  	}
  7856  	return nil
  7857  }
  7858  
  7859  // SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
  7860  func (s *ServerLaunchConfiguration) SetAssociatePublicIpAddress(v bool) *ServerLaunchConfiguration {
  7861  	s.AssociatePublicIpAddress = &v
  7862  	return s
  7863  }
  7864  
  7865  // SetConfigureScript sets the ConfigureScript field's value.
  7866  func (s *ServerLaunchConfiguration) SetConfigureScript(v *S3Location) *ServerLaunchConfiguration {
  7867  	s.ConfigureScript = v
  7868  	return s
  7869  }
  7870  
  7871  // SetConfigureScriptType sets the ConfigureScriptType field's value.
  7872  func (s *ServerLaunchConfiguration) SetConfigureScriptType(v string) *ServerLaunchConfiguration {
  7873  	s.ConfigureScriptType = &v
  7874  	return s
  7875  }
  7876  
  7877  // SetEc2KeyName sets the Ec2KeyName field's value.
  7878  func (s *ServerLaunchConfiguration) SetEc2KeyName(v string) *ServerLaunchConfiguration {
  7879  	s.Ec2KeyName = &v
  7880  	return s
  7881  }
  7882  
  7883  // SetIamInstanceProfileName sets the IamInstanceProfileName field's value.
  7884  func (s *ServerLaunchConfiguration) SetIamInstanceProfileName(v string) *ServerLaunchConfiguration {
  7885  	s.IamInstanceProfileName = &v
  7886  	return s
  7887  }
  7888  
  7889  // SetInstanceType sets the InstanceType field's value.
  7890  func (s *ServerLaunchConfiguration) SetInstanceType(v string) *ServerLaunchConfiguration {
  7891  	s.InstanceType = &v
  7892  	return s
  7893  }
  7894  
  7895  // SetLogicalId sets the LogicalId field's value.
  7896  func (s *ServerLaunchConfiguration) SetLogicalId(v string) *ServerLaunchConfiguration {
  7897  	s.LogicalId = &v
  7898  	return s
  7899  }
  7900  
  7901  // SetSecurityGroup sets the SecurityGroup field's value.
  7902  func (s *ServerLaunchConfiguration) SetSecurityGroup(v string) *ServerLaunchConfiguration {
  7903  	s.SecurityGroup = &v
  7904  	return s
  7905  }
  7906  
  7907  // SetServer sets the Server field's value.
  7908  func (s *ServerLaunchConfiguration) SetServer(v *Server) *ServerLaunchConfiguration {
  7909  	s.Server = v
  7910  	return s
  7911  }
  7912  
  7913  // SetSubnet sets the Subnet field's value.
  7914  func (s *ServerLaunchConfiguration) SetSubnet(v string) *ServerLaunchConfiguration {
  7915  	s.Subnet = &v
  7916  	return s
  7917  }
  7918  
  7919  // SetUserData sets the UserData field's value.
  7920  func (s *ServerLaunchConfiguration) SetUserData(v *UserData) *ServerLaunchConfiguration {
  7921  	s.UserData = v
  7922  	return s
  7923  }
  7924  
  7925  // SetVpc sets the Vpc field's value.
  7926  func (s *ServerLaunchConfiguration) SetVpc(v string) *ServerLaunchConfiguration {
  7927  	s.Vpc = &v
  7928  	return s
  7929  }
  7930  
  7931  // Replication configuration of a server.
  7932  type ServerReplicationConfiguration struct {
  7933  	_ struct{} `type:"structure"`
  7934  
  7935  	// The ID of the server with which this replication configuration is associated.
  7936  	Server *Server `locationName:"server" type:"structure"`
  7937  
  7938  	// The parameters for replicating the server.
  7939  	ServerReplicationParameters *ServerReplicationParameters `locationName:"serverReplicationParameters" type:"structure"`
  7940  }
  7941  
  7942  // String returns the string representation.
  7943  //
  7944  // API parameter values that are decorated as "sensitive" in the API will not
  7945  // be included in the string output. The member name will be present, but the
  7946  // value will be replaced with "sensitive".
  7947  func (s ServerReplicationConfiguration) String() string {
  7948  	return awsutil.Prettify(s)
  7949  }
  7950  
  7951  // GoString returns the string representation.
  7952  //
  7953  // API parameter values that are decorated as "sensitive" in the API will not
  7954  // be included in the string output. The member name will be present, but the
  7955  // value will be replaced with "sensitive".
  7956  func (s ServerReplicationConfiguration) GoString() string {
  7957  	return s.String()
  7958  }
  7959  
  7960  // SetServer sets the Server field's value.
  7961  func (s *ServerReplicationConfiguration) SetServer(v *Server) *ServerReplicationConfiguration {
  7962  	s.Server = v
  7963  	return s
  7964  }
  7965  
  7966  // SetServerReplicationParameters sets the ServerReplicationParameters field's value.
  7967  func (s *ServerReplicationConfiguration) SetServerReplicationParameters(v *ServerReplicationParameters) *ServerReplicationConfiguration {
  7968  	s.ServerReplicationParameters = v
  7969  	return s
  7970  }
  7971  
  7972  // The replication parameters for replicating a server.
  7973  type ServerReplicationParameters struct {
  7974  	_ struct{} `type:"structure"`
  7975  
  7976  	// Indicates whether the replication job produces encrypted AMIs.
  7977  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  7978  
  7979  	// The frequency of creating replication jobs for the server.
  7980  	Frequency *int64 `locationName:"frequency" type:"integer"`
  7981  
  7982  	// The ID of the KMS key for replication jobs that produce encrypted AMIs. This
  7983  	// value can be any of the following:
  7984  	//
  7985  	//    * KMS key ID
  7986  	//
  7987  	//    * KMS key alias
  7988  	//
  7989  	//    * ARN referring to the KMS key ID
  7990  	//
  7991  	//    * ARN referring to the KMS key alias
  7992  	//
  7993  	// If encrypted is enabled but a KMS key ID is not specified, the customer's
  7994  	// default KMS key for Amazon EBS is used.
  7995  	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  7996  
  7997  	// The license type for creating a replication job for the server.
  7998  	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
  7999  
  8000  	// The number of recent AMIs to keep when creating a replication job for this
  8001  	// server.
  8002  	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
  8003  
  8004  	// Indicates whether to run the replication job one time.
  8005  	RunOnce *bool `locationName:"runOnce" type:"boolean"`
  8006  
  8007  	// The seed time for creating a replication job for the server.
  8008  	SeedTime *time.Time `locationName:"seedTime" type:"timestamp"`
  8009  }
  8010  
  8011  // String returns the string representation.
  8012  //
  8013  // API parameter values that are decorated as "sensitive" in the API will not
  8014  // be included in the string output. The member name will be present, but the
  8015  // value will be replaced with "sensitive".
  8016  func (s ServerReplicationParameters) String() string {
  8017  	return awsutil.Prettify(s)
  8018  }
  8019  
  8020  // GoString returns the string representation.
  8021  //
  8022  // API parameter values that are decorated as "sensitive" in the API will not
  8023  // be included in the string output. The member name will be present, but the
  8024  // value will be replaced with "sensitive".
  8025  func (s ServerReplicationParameters) GoString() string {
  8026  	return s.String()
  8027  }
  8028  
  8029  // SetEncrypted sets the Encrypted field's value.
  8030  func (s *ServerReplicationParameters) SetEncrypted(v bool) *ServerReplicationParameters {
  8031  	s.Encrypted = &v
  8032  	return s
  8033  }
  8034  
  8035  // SetFrequency sets the Frequency field's value.
  8036  func (s *ServerReplicationParameters) SetFrequency(v int64) *ServerReplicationParameters {
  8037  	s.Frequency = &v
  8038  	return s
  8039  }
  8040  
  8041  // SetKmsKeyId sets the KmsKeyId field's value.
  8042  func (s *ServerReplicationParameters) SetKmsKeyId(v string) *ServerReplicationParameters {
  8043  	s.KmsKeyId = &v
  8044  	return s
  8045  }
  8046  
  8047  // SetLicenseType sets the LicenseType field's value.
  8048  func (s *ServerReplicationParameters) SetLicenseType(v string) *ServerReplicationParameters {
  8049  	s.LicenseType = &v
  8050  	return s
  8051  }
  8052  
  8053  // SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
  8054  func (s *ServerReplicationParameters) SetNumberOfRecentAmisToKeep(v int64) *ServerReplicationParameters {
  8055  	s.NumberOfRecentAmisToKeep = &v
  8056  	return s
  8057  }
  8058  
  8059  // SetRunOnce sets the RunOnce field's value.
  8060  func (s *ServerReplicationParameters) SetRunOnce(v bool) *ServerReplicationParameters {
  8061  	s.RunOnce = &v
  8062  	return s
  8063  }
  8064  
  8065  // SetSeedTime sets the SeedTime field's value.
  8066  func (s *ServerReplicationParameters) SetSeedTime(v time.Time) *ServerReplicationParameters {
  8067  	s.SeedTime = &v
  8068  	return s
  8069  }
  8070  
  8071  // Configuration for validating an instance.
  8072  type ServerValidationConfiguration struct {
  8073  	_ struct{} `type:"structure"`
  8074  
  8075  	// The name of the configuration.
  8076  	Name *string `locationName:"name" min:"1" type:"string"`
  8077  
  8078  	// Represents a server.
  8079  	Server *Server `locationName:"server" type:"structure"`
  8080  
  8081  	// The validation strategy.
  8082  	ServerValidationStrategy *string `locationName:"serverValidationStrategy" type:"string" enum:"ServerValidationStrategy"`
  8083  
  8084  	// The validation parameters.
  8085  	UserDataValidationParameters *UserDataValidationParameters `locationName:"userDataValidationParameters" type:"structure"`
  8086  
  8087  	// The ID of the validation.
  8088  	ValidationId *string `locationName:"validationId" type:"string"`
  8089  }
  8090  
  8091  // String returns the string representation.
  8092  //
  8093  // API parameter values that are decorated as "sensitive" in the API will not
  8094  // be included in the string output. The member name will be present, but the
  8095  // value will be replaced with "sensitive".
  8096  func (s ServerValidationConfiguration) String() string {
  8097  	return awsutil.Prettify(s)
  8098  }
  8099  
  8100  // GoString returns the string representation.
  8101  //
  8102  // API parameter values that are decorated as "sensitive" in the API will not
  8103  // be included in the string output. The member name will be present, but the
  8104  // value will be replaced with "sensitive".
  8105  func (s ServerValidationConfiguration) GoString() string {
  8106  	return s.String()
  8107  }
  8108  
  8109  // Validate inspects the fields of the type to determine if they are valid.
  8110  func (s *ServerValidationConfiguration) Validate() error {
  8111  	invalidParams := request.ErrInvalidParams{Context: "ServerValidationConfiguration"}
  8112  	if s.Name != nil && len(*s.Name) < 1 {
  8113  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  8114  	}
  8115  	if s.UserDataValidationParameters != nil {
  8116  		if err := s.UserDataValidationParameters.Validate(); err != nil {
  8117  			invalidParams.AddNested("UserDataValidationParameters", err.(request.ErrInvalidParams))
  8118  		}
  8119  	}
  8120  
  8121  	if invalidParams.Len() > 0 {
  8122  		return invalidParams
  8123  	}
  8124  	return nil
  8125  }
  8126  
  8127  // SetName sets the Name field's value.
  8128  func (s *ServerValidationConfiguration) SetName(v string) *ServerValidationConfiguration {
  8129  	s.Name = &v
  8130  	return s
  8131  }
  8132  
  8133  // SetServer sets the Server field's value.
  8134  func (s *ServerValidationConfiguration) SetServer(v *Server) *ServerValidationConfiguration {
  8135  	s.Server = v
  8136  	return s
  8137  }
  8138  
  8139  // SetServerValidationStrategy sets the ServerValidationStrategy field's value.
  8140  func (s *ServerValidationConfiguration) SetServerValidationStrategy(v string) *ServerValidationConfiguration {
  8141  	s.ServerValidationStrategy = &v
  8142  	return s
  8143  }
  8144  
  8145  // SetUserDataValidationParameters sets the UserDataValidationParameters field's value.
  8146  func (s *ServerValidationConfiguration) SetUserDataValidationParameters(v *UserDataValidationParameters) *ServerValidationConfiguration {
  8147  	s.UserDataValidationParameters = v
  8148  	return s
  8149  }
  8150  
  8151  // SetValidationId sets the ValidationId field's value.
  8152  func (s *ServerValidationConfiguration) SetValidationId(v string) *ServerValidationConfiguration {
  8153  	s.ValidationId = &v
  8154  	return s
  8155  }
  8156  
  8157  // Contains output from validating an instance.
  8158  type ServerValidationOutput struct {
  8159  	_ struct{} `type:"structure"`
  8160  
  8161  	// Represents a server.
  8162  	Server *Server `locationName:"server" type:"structure"`
  8163  }
  8164  
  8165  // String returns the string representation.
  8166  //
  8167  // API parameter values that are decorated as "sensitive" in the API will not
  8168  // be included in the string output. The member name will be present, but the
  8169  // value will be replaced with "sensitive".
  8170  func (s ServerValidationOutput) String() string {
  8171  	return awsutil.Prettify(s)
  8172  }
  8173  
  8174  // GoString returns the string representation.
  8175  //
  8176  // API parameter values that are decorated as "sensitive" in the API will not
  8177  // be included in the string output. The member name will be present, but the
  8178  // value will be replaced with "sensitive".
  8179  func (s ServerValidationOutput) GoString() string {
  8180  	return s.String()
  8181  }
  8182  
  8183  // SetServer sets the Server field's value.
  8184  func (s *ServerValidationOutput) SetServer(v *Server) *ServerValidationOutput {
  8185  	s.Server = v
  8186  	return s
  8187  }
  8188  
  8189  // Contains the location of a validation script.
  8190  type Source struct {
  8191  	_ struct{} `type:"structure"`
  8192  
  8193  	// Location of an Amazon S3 object.
  8194  	S3Location *S3Location `locationName:"s3Location" type:"structure"`
  8195  }
  8196  
  8197  // String returns the string representation.
  8198  //
  8199  // API parameter values that are decorated as "sensitive" in the API will not
  8200  // be included in the string output. The member name will be present, but the
  8201  // value will be replaced with "sensitive".
  8202  func (s Source) String() string {
  8203  	return awsutil.Prettify(s)
  8204  }
  8205  
  8206  // GoString returns the string representation.
  8207  //
  8208  // API parameter values that are decorated as "sensitive" in the API will not
  8209  // be included in the string output. The member name will be present, but the
  8210  // value will be replaced with "sensitive".
  8211  func (s Source) GoString() string {
  8212  	return s.String()
  8213  }
  8214  
  8215  // Validate inspects the fields of the type to determine if they are valid.
  8216  func (s *Source) Validate() error {
  8217  	invalidParams := request.ErrInvalidParams{Context: "Source"}
  8218  	if s.S3Location != nil {
  8219  		if err := s.S3Location.Validate(); err != nil {
  8220  			invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
  8221  		}
  8222  	}
  8223  
  8224  	if invalidParams.Len() > 0 {
  8225  		return invalidParams
  8226  	}
  8227  	return nil
  8228  }
  8229  
  8230  // SetS3Location sets the S3Location field's value.
  8231  func (s *Source) SetS3Location(v *S3Location) *Source {
  8232  	s.S3Location = v
  8233  	return s
  8234  }
  8235  
  8236  type StartAppReplicationInput struct {
  8237  	_ struct{} `type:"structure"`
  8238  
  8239  	// The ID of the application.
  8240  	AppId *string `locationName:"appId" type:"string"`
  8241  }
  8242  
  8243  // String returns the string representation.
  8244  //
  8245  // API parameter values that are decorated as "sensitive" in the API will not
  8246  // be included in the string output. The member name will be present, but the
  8247  // value will be replaced with "sensitive".
  8248  func (s StartAppReplicationInput) String() string {
  8249  	return awsutil.Prettify(s)
  8250  }
  8251  
  8252  // GoString returns the string representation.
  8253  //
  8254  // API parameter values that are decorated as "sensitive" in the API will not
  8255  // be included in the string output. The member name will be present, but the
  8256  // value will be replaced with "sensitive".
  8257  func (s StartAppReplicationInput) GoString() string {
  8258  	return s.String()
  8259  }
  8260  
  8261  // SetAppId sets the AppId field's value.
  8262  func (s *StartAppReplicationInput) SetAppId(v string) *StartAppReplicationInput {
  8263  	s.AppId = &v
  8264  	return s
  8265  }
  8266  
  8267  type StartAppReplicationOutput struct {
  8268  	_ struct{} `type:"structure"`
  8269  }
  8270  
  8271  // String returns the string representation.
  8272  //
  8273  // API parameter values that are decorated as "sensitive" in the API will not
  8274  // be included in the string output. The member name will be present, but the
  8275  // value will be replaced with "sensitive".
  8276  func (s StartAppReplicationOutput) String() string {
  8277  	return awsutil.Prettify(s)
  8278  }
  8279  
  8280  // GoString returns the string representation.
  8281  //
  8282  // API parameter values that are decorated as "sensitive" in the API will not
  8283  // be included in the string output. The member name will be present, but the
  8284  // value will be replaced with "sensitive".
  8285  func (s StartAppReplicationOutput) GoString() string {
  8286  	return s.String()
  8287  }
  8288  
  8289  type StartOnDemandAppReplicationInput struct {
  8290  	_ struct{} `type:"structure"`
  8291  
  8292  	// The ID of the application.
  8293  	//
  8294  	// AppId is a required field
  8295  	AppId *string `locationName:"appId" type:"string" required:"true"`
  8296  
  8297  	// The description of the replication run.
  8298  	Description *string `locationName:"description" type:"string"`
  8299  }
  8300  
  8301  // String returns the string representation.
  8302  //
  8303  // API parameter values that are decorated as "sensitive" in the API will not
  8304  // be included in the string output. The member name will be present, but the
  8305  // value will be replaced with "sensitive".
  8306  func (s StartOnDemandAppReplicationInput) String() string {
  8307  	return awsutil.Prettify(s)
  8308  }
  8309  
  8310  // GoString returns the string representation.
  8311  //
  8312  // API parameter values that are decorated as "sensitive" in the API will not
  8313  // be included in the string output. The member name will be present, but the
  8314  // value will be replaced with "sensitive".
  8315  func (s StartOnDemandAppReplicationInput) GoString() string {
  8316  	return s.String()
  8317  }
  8318  
  8319  // Validate inspects the fields of the type to determine if they are valid.
  8320  func (s *StartOnDemandAppReplicationInput) Validate() error {
  8321  	invalidParams := request.ErrInvalidParams{Context: "StartOnDemandAppReplicationInput"}
  8322  	if s.AppId == nil {
  8323  		invalidParams.Add(request.NewErrParamRequired("AppId"))
  8324  	}
  8325  
  8326  	if invalidParams.Len() > 0 {
  8327  		return invalidParams
  8328  	}
  8329  	return nil
  8330  }
  8331  
  8332  // SetAppId sets the AppId field's value.
  8333  func (s *StartOnDemandAppReplicationInput) SetAppId(v string) *StartOnDemandAppReplicationInput {
  8334  	s.AppId = &v
  8335  	return s
  8336  }
  8337  
  8338  // SetDescription sets the Description field's value.
  8339  func (s *StartOnDemandAppReplicationInput) SetDescription(v string) *StartOnDemandAppReplicationInput {
  8340  	s.Description = &v
  8341  	return s
  8342  }
  8343  
  8344  type StartOnDemandAppReplicationOutput struct {
  8345  	_ struct{} `type:"structure"`
  8346  }
  8347  
  8348  // String returns the string representation.
  8349  //
  8350  // API parameter values that are decorated as "sensitive" in the API will not
  8351  // be included in the string output. The member name will be present, but the
  8352  // value will be replaced with "sensitive".
  8353  func (s StartOnDemandAppReplicationOutput) String() string {
  8354  	return awsutil.Prettify(s)
  8355  }
  8356  
  8357  // GoString returns the string representation.
  8358  //
  8359  // API parameter values that are decorated as "sensitive" in the API will not
  8360  // be included in the string output. The member name will be present, but the
  8361  // value will be replaced with "sensitive".
  8362  func (s StartOnDemandAppReplicationOutput) GoString() string {
  8363  	return s.String()
  8364  }
  8365  
  8366  type StartOnDemandReplicationRunInput struct {
  8367  	_ struct{} `type:"structure"`
  8368  
  8369  	// The description of the replication run.
  8370  	Description *string `locationName:"description" type:"string"`
  8371  
  8372  	// The ID of the replication job.
  8373  	//
  8374  	// ReplicationJobId is a required field
  8375  	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
  8376  }
  8377  
  8378  // String returns the string representation.
  8379  //
  8380  // API parameter values that are decorated as "sensitive" in the API will not
  8381  // be included in the string output. The member name will be present, but the
  8382  // value will be replaced with "sensitive".
  8383  func (s StartOnDemandReplicationRunInput) String() string {
  8384  	return awsutil.Prettify(s)
  8385  }
  8386  
  8387  // GoString returns the string representation.
  8388  //
  8389  // API parameter values that are decorated as "sensitive" in the API will not
  8390  // be included in the string output. The member name will be present, but the
  8391  // value will be replaced with "sensitive".
  8392  func (s StartOnDemandReplicationRunInput) GoString() string {
  8393  	return s.String()
  8394  }
  8395  
  8396  // Validate inspects the fields of the type to determine if they are valid.
  8397  func (s *StartOnDemandReplicationRunInput) Validate() error {
  8398  	invalidParams := request.ErrInvalidParams{Context: "StartOnDemandReplicationRunInput"}
  8399  	if s.ReplicationJobId == nil {
  8400  		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
  8401  	}
  8402  
  8403  	if invalidParams.Len() > 0 {
  8404  		return invalidParams
  8405  	}
  8406  	return nil
  8407  }
  8408  
  8409  // SetDescription sets the Description field's value.
  8410  func (s *StartOnDemandReplicationRunInput) SetDescription(v string) *StartOnDemandReplicationRunInput {
  8411  	s.Description = &v
  8412  	return s
  8413  }
  8414  
  8415  // SetReplicationJobId sets the ReplicationJobId field's value.
  8416  func (s *StartOnDemandReplicationRunInput) SetReplicationJobId(v string) *StartOnDemandReplicationRunInput {
  8417  	s.ReplicationJobId = &v
  8418  	return s
  8419  }
  8420  
  8421  type StartOnDemandReplicationRunOutput struct {
  8422  	_ struct{} `type:"structure"`
  8423  
  8424  	// The ID of the replication run.
  8425  	ReplicationRunId *string `locationName:"replicationRunId" type:"string"`
  8426  }
  8427  
  8428  // String returns the string representation.
  8429  //
  8430  // API parameter values that are decorated as "sensitive" in the API will not
  8431  // be included in the string output. The member name will be present, but the
  8432  // value will be replaced with "sensitive".
  8433  func (s StartOnDemandReplicationRunOutput) String() string {
  8434  	return awsutil.Prettify(s)
  8435  }
  8436  
  8437  // GoString returns the string representation.
  8438  //
  8439  // API parameter values that are decorated as "sensitive" in the API will not
  8440  // be included in the string output. The member name will be present, but the
  8441  // value will be replaced with "sensitive".
  8442  func (s StartOnDemandReplicationRunOutput) GoString() string {
  8443  	return s.String()
  8444  }
  8445  
  8446  // SetReplicationRunId sets the ReplicationRunId field's value.
  8447  func (s *StartOnDemandReplicationRunOutput) SetReplicationRunId(v string) *StartOnDemandReplicationRunOutput {
  8448  	s.ReplicationRunId = &v
  8449  	return s
  8450  }
  8451  
  8452  type StopAppReplicationInput struct {
  8453  	_ struct{} `type:"structure"`
  8454  
  8455  	// The ID of the application.
  8456  	AppId *string `locationName:"appId" type:"string"`
  8457  }
  8458  
  8459  // String returns the string representation.
  8460  //
  8461  // API parameter values that are decorated as "sensitive" in the API will not
  8462  // be included in the string output. The member name will be present, but the
  8463  // value will be replaced with "sensitive".
  8464  func (s StopAppReplicationInput) String() string {
  8465  	return awsutil.Prettify(s)
  8466  }
  8467  
  8468  // GoString returns the string representation.
  8469  //
  8470  // API parameter values that are decorated as "sensitive" in the API will not
  8471  // be included in the string output. The member name will be present, but the
  8472  // value will be replaced with "sensitive".
  8473  func (s StopAppReplicationInput) GoString() string {
  8474  	return s.String()
  8475  }
  8476  
  8477  // SetAppId sets the AppId field's value.
  8478  func (s *StopAppReplicationInput) SetAppId(v string) *StopAppReplicationInput {
  8479  	s.AppId = &v
  8480  	return s
  8481  }
  8482  
  8483  type StopAppReplicationOutput struct {
  8484  	_ struct{} `type:"structure"`
  8485  }
  8486  
  8487  // String returns the string representation.
  8488  //
  8489  // API parameter values that are decorated as "sensitive" in the API will not
  8490  // be included in the string output. The member name will be present, but the
  8491  // value will be replaced with "sensitive".
  8492  func (s StopAppReplicationOutput) String() string {
  8493  	return awsutil.Prettify(s)
  8494  }
  8495  
  8496  // GoString returns the string representation.
  8497  //
  8498  // API parameter values that are decorated as "sensitive" in the API will not
  8499  // be included in the string output. The member name will be present, but the
  8500  // value will be replaced with "sensitive".
  8501  func (s StopAppReplicationOutput) GoString() string {
  8502  	return s.String()
  8503  }
  8504  
  8505  // Key/value pair that can be assigned to an application.
  8506  type Tag struct {
  8507  	_ struct{} `type:"structure"`
  8508  
  8509  	// The tag key.
  8510  	Key *string `locationName:"key" type:"string"`
  8511  
  8512  	// The tag value.
  8513  	Value *string `locationName:"value" type:"string"`
  8514  }
  8515  
  8516  // String returns the string representation.
  8517  //
  8518  // API parameter values that are decorated as "sensitive" in the API will not
  8519  // be included in the string output. The member name will be present, but the
  8520  // value will be replaced with "sensitive".
  8521  func (s Tag) String() string {
  8522  	return awsutil.Prettify(s)
  8523  }
  8524  
  8525  // GoString returns the string representation.
  8526  //
  8527  // API parameter values that are decorated as "sensitive" in the API will not
  8528  // be included in the string output. The member name will be present, but the
  8529  // value will be replaced with "sensitive".
  8530  func (s Tag) GoString() string {
  8531  	return s.String()
  8532  }
  8533  
  8534  // SetKey sets the Key field's value.
  8535  func (s *Tag) SetKey(v string) *Tag {
  8536  	s.Key = &v
  8537  	return s
  8538  }
  8539  
  8540  // SetValue sets the Value field's value.
  8541  func (s *Tag) SetValue(v string) *Tag {
  8542  	s.Value = &v
  8543  	return s
  8544  }
  8545  
  8546  // The service is temporarily unavailable.
  8547  type TemporarilyUnavailableException struct {
  8548  	_            struct{}                  `type:"structure"`
  8549  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8550  
  8551  	Message_ *string `locationName:"message" type:"string"`
  8552  }
  8553  
  8554  // String returns the string representation.
  8555  //
  8556  // API parameter values that are decorated as "sensitive" in the API will not
  8557  // be included in the string output. The member name will be present, but the
  8558  // value will be replaced with "sensitive".
  8559  func (s TemporarilyUnavailableException) String() string {
  8560  	return awsutil.Prettify(s)
  8561  }
  8562  
  8563  // GoString returns the string representation.
  8564  //
  8565  // API parameter values that are decorated as "sensitive" in the API will not
  8566  // be included in the string output. The member name will be present, but the
  8567  // value will be replaced with "sensitive".
  8568  func (s TemporarilyUnavailableException) GoString() string {
  8569  	return s.String()
  8570  }
  8571  
  8572  func newErrorTemporarilyUnavailableException(v protocol.ResponseMetadata) error {
  8573  	return &TemporarilyUnavailableException{
  8574  		RespMetadata: v,
  8575  	}
  8576  }
  8577  
  8578  // Code returns the exception type name.
  8579  func (s *TemporarilyUnavailableException) Code() string {
  8580  	return "TemporarilyUnavailableException"
  8581  }
  8582  
  8583  // Message returns the exception's message.
  8584  func (s *TemporarilyUnavailableException) Message() string {
  8585  	if s.Message_ != nil {
  8586  		return *s.Message_
  8587  	}
  8588  	return ""
  8589  }
  8590  
  8591  // OrigErr always returns nil, satisfies awserr.Error interface.
  8592  func (s *TemporarilyUnavailableException) OrigErr() error {
  8593  	return nil
  8594  }
  8595  
  8596  func (s *TemporarilyUnavailableException) Error() string {
  8597  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8598  }
  8599  
  8600  // Status code returns the HTTP status code for the request's response error.
  8601  func (s *TemporarilyUnavailableException) StatusCode() int {
  8602  	return s.RespMetadata.StatusCode
  8603  }
  8604  
  8605  // RequestID returns the service's response RequestID for request.
  8606  func (s *TemporarilyUnavailableException) RequestID() string {
  8607  	return s.RespMetadata.RequestID
  8608  }
  8609  
  8610  type TerminateAppInput struct {
  8611  	_ struct{} `type:"structure"`
  8612  
  8613  	// The ID of the application.
  8614  	AppId *string `locationName:"appId" type:"string"`
  8615  }
  8616  
  8617  // String returns the string representation.
  8618  //
  8619  // API parameter values that are decorated as "sensitive" in the API will not
  8620  // be included in the string output. The member name will be present, but the
  8621  // value will be replaced with "sensitive".
  8622  func (s TerminateAppInput) String() string {
  8623  	return awsutil.Prettify(s)
  8624  }
  8625  
  8626  // GoString returns the string representation.
  8627  //
  8628  // API parameter values that are decorated as "sensitive" in the API will not
  8629  // be included in the string output. The member name will be present, but the
  8630  // value will be replaced with "sensitive".
  8631  func (s TerminateAppInput) GoString() string {
  8632  	return s.String()
  8633  }
  8634  
  8635  // SetAppId sets the AppId field's value.
  8636  func (s *TerminateAppInput) SetAppId(v string) *TerminateAppInput {
  8637  	s.AppId = &v
  8638  	return s
  8639  }
  8640  
  8641  type TerminateAppOutput struct {
  8642  	_ struct{} `type:"structure"`
  8643  }
  8644  
  8645  // String returns the string representation.
  8646  //
  8647  // API parameter values that are decorated as "sensitive" in the API will not
  8648  // be included in the string output. The member name will be present, but the
  8649  // value will be replaced with "sensitive".
  8650  func (s TerminateAppOutput) String() string {
  8651  	return awsutil.Prettify(s)
  8652  }
  8653  
  8654  // GoString returns the string representation.
  8655  //
  8656  // API parameter values that are decorated as "sensitive" in the API will not
  8657  // be included in the string output. The member name will be present, but the
  8658  // value will be replaced with "sensitive".
  8659  func (s TerminateAppOutput) GoString() string {
  8660  	return s.String()
  8661  }
  8662  
  8663  // You lack permissions needed to perform this operation. Check your IAM policies,
  8664  // and ensure that you are using the correct access keys.
  8665  type UnauthorizedOperationException struct {
  8666  	_            struct{}                  `type:"structure"`
  8667  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  8668  
  8669  	Message_ *string `locationName:"message" type:"string"`
  8670  }
  8671  
  8672  // String returns the string representation.
  8673  //
  8674  // API parameter values that are decorated as "sensitive" in the API will not
  8675  // be included in the string output. The member name will be present, but the
  8676  // value will be replaced with "sensitive".
  8677  func (s UnauthorizedOperationException) String() string {
  8678  	return awsutil.Prettify(s)
  8679  }
  8680  
  8681  // GoString returns the string representation.
  8682  //
  8683  // API parameter values that are decorated as "sensitive" in the API will not
  8684  // be included in the string output. The member name will be present, but the
  8685  // value will be replaced with "sensitive".
  8686  func (s UnauthorizedOperationException) GoString() string {
  8687  	return s.String()
  8688  }
  8689  
  8690  func newErrorUnauthorizedOperationException(v protocol.ResponseMetadata) error {
  8691  	return &UnauthorizedOperationException{
  8692  		RespMetadata: v,
  8693  	}
  8694  }
  8695  
  8696  // Code returns the exception type name.
  8697  func (s *UnauthorizedOperationException) Code() string {
  8698  	return "UnauthorizedOperationException"
  8699  }
  8700  
  8701  // Message returns the exception's message.
  8702  func (s *UnauthorizedOperationException) Message() string {
  8703  	if s.Message_ != nil {
  8704  		return *s.Message_
  8705  	}
  8706  	return ""
  8707  }
  8708  
  8709  // OrigErr always returns nil, satisfies awserr.Error interface.
  8710  func (s *UnauthorizedOperationException) OrigErr() error {
  8711  	return nil
  8712  }
  8713  
  8714  func (s *UnauthorizedOperationException) Error() string {
  8715  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  8716  }
  8717  
  8718  // Status code returns the HTTP status code for the request's response error.
  8719  func (s *UnauthorizedOperationException) StatusCode() int {
  8720  	return s.RespMetadata.StatusCode
  8721  }
  8722  
  8723  // RequestID returns the service's response RequestID for request.
  8724  func (s *UnauthorizedOperationException) RequestID() string {
  8725  	return s.RespMetadata.RequestID
  8726  }
  8727  
  8728  type UpdateAppInput struct {
  8729  	_ struct{} `type:"structure"`
  8730  
  8731  	// The ID of the application.
  8732  	AppId *string `locationName:"appId" type:"string"`
  8733  
  8734  	// The new description of the application.
  8735  	Description *string `locationName:"description" type:"string"`
  8736  
  8737  	// The new name of the application.
  8738  	Name *string `locationName:"name" type:"string"`
  8739  
  8740  	// The name of the service role in the customer's account used by AWS SMS.
  8741  	RoleName *string `locationName:"roleName" type:"string"`
  8742  
  8743  	// The server groups in the application to update.
  8744  	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
  8745  
  8746  	// The tags to associate with the application.
  8747  	Tags []*Tag `locationName:"tags" type:"list"`
  8748  }
  8749  
  8750  // String returns the string representation.
  8751  //
  8752  // API parameter values that are decorated as "sensitive" in the API will not
  8753  // be included in the string output. The member name will be present, but the
  8754  // value will be replaced with "sensitive".
  8755  func (s UpdateAppInput) String() string {
  8756  	return awsutil.Prettify(s)
  8757  }
  8758  
  8759  // GoString returns the string representation.
  8760  //
  8761  // API parameter values that are decorated as "sensitive" in the API will not
  8762  // be included in the string output. The member name will be present, but the
  8763  // value will be replaced with "sensitive".
  8764  func (s UpdateAppInput) GoString() string {
  8765  	return s.String()
  8766  }
  8767  
  8768  // SetAppId sets the AppId field's value.
  8769  func (s *UpdateAppInput) SetAppId(v string) *UpdateAppInput {
  8770  	s.AppId = &v
  8771  	return s
  8772  }
  8773  
  8774  // SetDescription sets the Description field's value.
  8775  func (s *UpdateAppInput) SetDescription(v string) *UpdateAppInput {
  8776  	s.Description = &v
  8777  	return s
  8778  }
  8779  
  8780  // SetName sets the Name field's value.
  8781  func (s *UpdateAppInput) SetName(v string) *UpdateAppInput {
  8782  	s.Name = &v
  8783  	return s
  8784  }
  8785  
  8786  // SetRoleName sets the RoleName field's value.
  8787  func (s *UpdateAppInput) SetRoleName(v string) *UpdateAppInput {
  8788  	s.RoleName = &v
  8789  	return s
  8790  }
  8791  
  8792  // SetServerGroups sets the ServerGroups field's value.
  8793  func (s *UpdateAppInput) SetServerGroups(v []*ServerGroup) *UpdateAppInput {
  8794  	s.ServerGroups = v
  8795  	return s
  8796  }
  8797  
  8798  // SetTags sets the Tags field's value.
  8799  func (s *UpdateAppInput) SetTags(v []*Tag) *UpdateAppInput {
  8800  	s.Tags = v
  8801  	return s
  8802  }
  8803  
  8804  type UpdateAppOutput struct {
  8805  	_ struct{} `type:"structure"`
  8806  
  8807  	// A summary description of the application.
  8808  	AppSummary *AppSummary `locationName:"appSummary" type:"structure"`
  8809  
  8810  	// The updated server groups in the application.
  8811  	ServerGroups []*ServerGroup `locationName:"serverGroups" type:"list"`
  8812  
  8813  	// The tags associated with the application.
  8814  	Tags []*Tag `locationName:"tags" type:"list"`
  8815  }
  8816  
  8817  // String returns the string representation.
  8818  //
  8819  // API parameter values that are decorated as "sensitive" in the API will not
  8820  // be included in the string output. The member name will be present, but the
  8821  // value will be replaced with "sensitive".
  8822  func (s UpdateAppOutput) String() string {
  8823  	return awsutil.Prettify(s)
  8824  }
  8825  
  8826  // GoString returns the string representation.
  8827  //
  8828  // API parameter values that are decorated as "sensitive" in the API will not
  8829  // be included in the string output. The member name will be present, but the
  8830  // value will be replaced with "sensitive".
  8831  func (s UpdateAppOutput) GoString() string {
  8832  	return s.String()
  8833  }
  8834  
  8835  // SetAppSummary sets the AppSummary field's value.
  8836  func (s *UpdateAppOutput) SetAppSummary(v *AppSummary) *UpdateAppOutput {
  8837  	s.AppSummary = v
  8838  	return s
  8839  }
  8840  
  8841  // SetServerGroups sets the ServerGroups field's value.
  8842  func (s *UpdateAppOutput) SetServerGroups(v []*ServerGroup) *UpdateAppOutput {
  8843  	s.ServerGroups = v
  8844  	return s
  8845  }
  8846  
  8847  // SetTags sets the Tags field's value.
  8848  func (s *UpdateAppOutput) SetTags(v []*Tag) *UpdateAppOutput {
  8849  	s.Tags = v
  8850  	return s
  8851  }
  8852  
  8853  type UpdateReplicationJobInput struct {
  8854  	_ struct{} `type:"structure"`
  8855  
  8856  	// The description of the replication job.
  8857  	Description *string `locationName:"description" type:"string"`
  8858  
  8859  	// When true, the replication job produces encrypted AMIs. For more information,
  8860  	// KmsKeyId.
  8861  	Encrypted *bool `locationName:"encrypted" type:"boolean"`
  8862  
  8863  	// The time between consecutive replication runs, in hours.
  8864  	Frequency *int64 `locationName:"frequency" type:"integer"`
  8865  
  8866  	// The ID of the KMS key for replication jobs that produce encrypted AMIs. This
  8867  	// value can be any of the following:
  8868  	//
  8869  	//    * KMS key ID
  8870  	//
  8871  	//    * KMS key alias
  8872  	//
  8873  	//    * ARN referring to the KMS key ID
  8874  	//
  8875  	//    * ARN referring to the KMS key alias
  8876  	//
  8877  	// If encrypted is enabled but a KMS key ID is not specified, the customer's
  8878  	// default KMS key for Amazon EBS is used.
  8879  	KmsKeyId *string `locationName:"kmsKeyId" type:"string"`
  8880  
  8881  	// The license type to be used for the AMI created by a successful replication
  8882  	// run.
  8883  	LicenseType *string `locationName:"licenseType" type:"string" enum:"LicenseType"`
  8884  
  8885  	// The start time of the next replication run.
  8886  	NextReplicationRunStartTime *time.Time `locationName:"nextReplicationRunStartTime" type:"timestamp"`
  8887  
  8888  	// The maximum number of SMS-created AMIs to retain. The oldest is deleted after
  8889  	// the maximum number is reached and a new AMI is created.
  8890  	NumberOfRecentAmisToKeep *int64 `locationName:"numberOfRecentAmisToKeep" type:"integer"`
  8891  
  8892  	// The ID of the replication job.
  8893  	//
  8894  	// ReplicationJobId is a required field
  8895  	ReplicationJobId *string `locationName:"replicationJobId" type:"string" required:"true"`
  8896  
  8897  	// The name of the IAM role to be used by AWS SMS.
  8898  	RoleName *string `locationName:"roleName" type:"string"`
  8899  }
  8900  
  8901  // String returns the string representation.
  8902  //
  8903  // API parameter values that are decorated as "sensitive" in the API will not
  8904  // be included in the string output. The member name will be present, but the
  8905  // value will be replaced with "sensitive".
  8906  func (s UpdateReplicationJobInput) String() string {
  8907  	return awsutil.Prettify(s)
  8908  }
  8909  
  8910  // GoString returns the string representation.
  8911  //
  8912  // API parameter values that are decorated as "sensitive" in the API will not
  8913  // be included in the string output. The member name will be present, but the
  8914  // value will be replaced with "sensitive".
  8915  func (s UpdateReplicationJobInput) GoString() string {
  8916  	return s.String()
  8917  }
  8918  
  8919  // Validate inspects the fields of the type to determine if they are valid.
  8920  func (s *UpdateReplicationJobInput) Validate() error {
  8921  	invalidParams := request.ErrInvalidParams{Context: "UpdateReplicationJobInput"}
  8922  	if s.ReplicationJobId == nil {
  8923  		invalidParams.Add(request.NewErrParamRequired("ReplicationJobId"))
  8924  	}
  8925  
  8926  	if invalidParams.Len() > 0 {
  8927  		return invalidParams
  8928  	}
  8929  	return nil
  8930  }
  8931  
  8932  // SetDescription sets the Description field's value.
  8933  func (s *UpdateReplicationJobInput) SetDescription(v string) *UpdateReplicationJobInput {
  8934  	s.Description = &v
  8935  	return s
  8936  }
  8937  
  8938  // SetEncrypted sets the Encrypted field's value.
  8939  func (s *UpdateReplicationJobInput) SetEncrypted(v bool) *UpdateReplicationJobInput {
  8940  	s.Encrypted = &v
  8941  	return s
  8942  }
  8943  
  8944  // SetFrequency sets the Frequency field's value.
  8945  func (s *UpdateReplicationJobInput) SetFrequency(v int64) *UpdateReplicationJobInput {
  8946  	s.Frequency = &v
  8947  	return s
  8948  }
  8949  
  8950  // SetKmsKeyId sets the KmsKeyId field's value.
  8951  func (s *UpdateReplicationJobInput) SetKmsKeyId(v string) *UpdateReplicationJobInput {
  8952  	s.KmsKeyId = &v
  8953  	return s
  8954  }
  8955  
  8956  // SetLicenseType sets the LicenseType field's value.
  8957  func (s *UpdateReplicationJobInput) SetLicenseType(v string) *UpdateReplicationJobInput {
  8958  	s.LicenseType = &v
  8959  	return s
  8960  }
  8961  
  8962  // SetNextReplicationRunStartTime sets the NextReplicationRunStartTime field's value.
  8963  func (s *UpdateReplicationJobInput) SetNextReplicationRunStartTime(v time.Time) *UpdateReplicationJobInput {
  8964  	s.NextReplicationRunStartTime = &v
  8965  	return s
  8966  }
  8967  
  8968  // SetNumberOfRecentAmisToKeep sets the NumberOfRecentAmisToKeep field's value.
  8969  func (s *UpdateReplicationJobInput) SetNumberOfRecentAmisToKeep(v int64) *UpdateReplicationJobInput {
  8970  	s.NumberOfRecentAmisToKeep = &v
  8971  	return s
  8972  }
  8973  
  8974  // SetReplicationJobId sets the ReplicationJobId field's value.
  8975  func (s *UpdateReplicationJobInput) SetReplicationJobId(v string) *UpdateReplicationJobInput {
  8976  	s.ReplicationJobId = &v
  8977  	return s
  8978  }
  8979  
  8980  // SetRoleName sets the RoleName field's value.
  8981  func (s *UpdateReplicationJobInput) SetRoleName(v string) *UpdateReplicationJobInput {
  8982  	s.RoleName = &v
  8983  	return s
  8984  }
  8985  
  8986  type UpdateReplicationJobOutput struct {
  8987  	_ struct{} `type:"structure"`
  8988  }
  8989  
  8990  // String returns the string representation.
  8991  //
  8992  // API parameter values that are decorated as "sensitive" in the API will not
  8993  // be included in the string output. The member name will be present, but the
  8994  // value will be replaced with "sensitive".
  8995  func (s UpdateReplicationJobOutput) String() string {
  8996  	return awsutil.Prettify(s)
  8997  }
  8998  
  8999  // GoString returns the string representation.
  9000  //
  9001  // API parameter values that are decorated as "sensitive" in the API will not
  9002  // be included in the string output. The member name will be present, but the
  9003  // value will be replaced with "sensitive".
  9004  func (s UpdateReplicationJobOutput) GoString() string {
  9005  	return s.String()
  9006  }
  9007  
  9008  // A script that runs on first launch of an Amazon EC2 instance. Used for configuring
  9009  // the server during launch.
  9010  type UserData struct {
  9011  	_ struct{} `type:"structure"`
  9012  
  9013  	// Amazon S3 location of the user-data script.
  9014  	S3Location *S3Location `locationName:"s3Location" type:"structure"`
  9015  }
  9016  
  9017  // String returns the string representation.
  9018  //
  9019  // API parameter values that are decorated as "sensitive" in the API will not
  9020  // be included in the string output. The member name will be present, but the
  9021  // value will be replaced with "sensitive".
  9022  func (s UserData) String() string {
  9023  	return awsutil.Prettify(s)
  9024  }
  9025  
  9026  // GoString returns the string representation.
  9027  //
  9028  // API parameter values that are decorated as "sensitive" in the API will not
  9029  // be included in the string output. The member name will be present, but the
  9030  // value will be replaced with "sensitive".
  9031  func (s UserData) GoString() string {
  9032  	return s.String()
  9033  }
  9034  
  9035  // Validate inspects the fields of the type to determine if they are valid.
  9036  func (s *UserData) Validate() error {
  9037  	invalidParams := request.ErrInvalidParams{Context: "UserData"}
  9038  	if s.S3Location != nil {
  9039  		if err := s.S3Location.Validate(); err != nil {
  9040  			invalidParams.AddNested("S3Location", err.(request.ErrInvalidParams))
  9041  		}
  9042  	}
  9043  
  9044  	if invalidParams.Len() > 0 {
  9045  		return invalidParams
  9046  	}
  9047  	return nil
  9048  }
  9049  
  9050  // SetS3Location sets the S3Location field's value.
  9051  func (s *UserData) SetS3Location(v *S3Location) *UserData {
  9052  	s.S3Location = v
  9053  	return s
  9054  }
  9055  
  9056  // Contains validation parameters.
  9057  type UserDataValidationParameters struct {
  9058  	_ struct{} `type:"structure"`
  9059  
  9060  	// The type of validation script.
  9061  	ScriptType *string `locationName:"scriptType" type:"string" enum:"ScriptType"`
  9062  
  9063  	// The location of the validation script.
  9064  	Source *Source `locationName:"source" type:"structure"`
  9065  }
  9066  
  9067  // String returns the string representation.
  9068  //
  9069  // API parameter values that are decorated as "sensitive" in the API will not
  9070  // be included in the string output. The member name will be present, but the
  9071  // value will be replaced with "sensitive".
  9072  func (s UserDataValidationParameters) String() string {
  9073  	return awsutil.Prettify(s)
  9074  }
  9075  
  9076  // GoString returns the string representation.
  9077  //
  9078  // API parameter values that are decorated as "sensitive" in the API will not
  9079  // be included in the string output. The member name will be present, but the
  9080  // value will be replaced with "sensitive".
  9081  func (s UserDataValidationParameters) GoString() string {
  9082  	return s.String()
  9083  }
  9084  
  9085  // Validate inspects the fields of the type to determine if they are valid.
  9086  func (s *UserDataValidationParameters) Validate() error {
  9087  	invalidParams := request.ErrInvalidParams{Context: "UserDataValidationParameters"}
  9088  	if s.Source != nil {
  9089  		if err := s.Source.Validate(); err != nil {
  9090  			invalidParams.AddNested("Source", err.(request.ErrInvalidParams))
  9091  		}
  9092  	}
  9093  
  9094  	if invalidParams.Len() > 0 {
  9095  		return invalidParams
  9096  	}
  9097  	return nil
  9098  }
  9099  
  9100  // SetScriptType sets the ScriptType field's value.
  9101  func (s *UserDataValidationParameters) SetScriptType(v string) *UserDataValidationParameters {
  9102  	s.ScriptType = &v
  9103  	return s
  9104  }
  9105  
  9106  // SetSource sets the Source field's value.
  9107  func (s *UserDataValidationParameters) SetSource(v *Source) *UserDataValidationParameters {
  9108  	s.Source = v
  9109  	return s
  9110  }
  9111  
  9112  // Contains validation output.
  9113  type ValidationOutput struct {
  9114  	_ struct{} `type:"structure"`
  9115  
  9116  	// The output from validating an application.
  9117  	AppValidationOutput *AppValidationOutput `locationName:"appValidationOutput" type:"structure"`
  9118  
  9119  	// The latest time that the validation was performed.
  9120  	LatestValidationTime *time.Time `locationName:"latestValidationTime" type:"timestamp"`
  9121  
  9122  	// The name of the validation.
  9123  	Name *string `locationName:"name" min:"1" type:"string"`
  9124  
  9125  	// The output from validation an instance.
  9126  	ServerValidationOutput *ServerValidationOutput `locationName:"serverValidationOutput" type:"structure"`
  9127  
  9128  	// The status of the validation.
  9129  	Status *string `locationName:"status" type:"string" enum:"ValidationStatus"`
  9130  
  9131  	// The status message.
  9132  	StatusMessage *string `locationName:"statusMessage" type:"string"`
  9133  
  9134  	// The ID of the validation.
  9135  	ValidationId *string `locationName:"validationId" type:"string"`
  9136  }
  9137  
  9138  // String returns the string representation.
  9139  //
  9140  // API parameter values that are decorated as "sensitive" in the API will not
  9141  // be included in the string output. The member name will be present, but the
  9142  // value will be replaced with "sensitive".
  9143  func (s ValidationOutput) String() string {
  9144  	return awsutil.Prettify(s)
  9145  }
  9146  
  9147  // GoString returns the string representation.
  9148  //
  9149  // API parameter values that are decorated as "sensitive" in the API will not
  9150  // be included in the string output. The member name will be present, but the
  9151  // value will be replaced with "sensitive".
  9152  func (s ValidationOutput) GoString() string {
  9153  	return s.String()
  9154  }
  9155  
  9156  // SetAppValidationOutput sets the AppValidationOutput field's value.
  9157  func (s *ValidationOutput) SetAppValidationOutput(v *AppValidationOutput) *ValidationOutput {
  9158  	s.AppValidationOutput = v
  9159  	return s
  9160  }
  9161  
  9162  // SetLatestValidationTime sets the LatestValidationTime field's value.
  9163  func (s *ValidationOutput) SetLatestValidationTime(v time.Time) *ValidationOutput {
  9164  	s.LatestValidationTime = &v
  9165  	return s
  9166  }
  9167  
  9168  // SetName sets the Name field's value.
  9169  func (s *ValidationOutput) SetName(v string) *ValidationOutput {
  9170  	s.Name = &v
  9171  	return s
  9172  }
  9173  
  9174  // SetServerValidationOutput sets the ServerValidationOutput field's value.
  9175  func (s *ValidationOutput) SetServerValidationOutput(v *ServerValidationOutput) *ValidationOutput {
  9176  	s.ServerValidationOutput = v
  9177  	return s
  9178  }
  9179  
  9180  // SetStatus sets the Status field's value.
  9181  func (s *ValidationOutput) SetStatus(v string) *ValidationOutput {
  9182  	s.Status = &v
  9183  	return s
  9184  }
  9185  
  9186  // SetStatusMessage sets the StatusMessage field's value.
  9187  func (s *ValidationOutput) SetStatusMessage(v string) *ValidationOutput {
  9188  	s.StatusMessage = &v
  9189  	return s
  9190  }
  9191  
  9192  // SetValidationId sets the ValidationId field's value.
  9193  func (s *ValidationOutput) SetValidationId(v string) *ValidationOutput {
  9194  	s.ValidationId = &v
  9195  	return s
  9196  }
  9197  
  9198  // Represents a VM server.
  9199  type VmServer struct {
  9200  	_ struct{} `type:"structure"`
  9201  
  9202  	// The name of the VM manager.
  9203  	VmManagerName *string `locationName:"vmManagerName" type:"string"`
  9204  
  9205  	// The type of VM management product.
  9206  	VmManagerType *string `locationName:"vmManagerType" type:"string" enum:"VmManagerType"`
  9207  
  9208  	// The name of the VM.
  9209  	VmName *string `locationName:"vmName" type:"string"`
  9210  
  9211  	// The VM folder path in the vCenter Server virtual machine inventory tree.
  9212  	VmPath *string `locationName:"vmPath" type:"string"`
  9213  
  9214  	// The VM server location.
  9215  	VmServerAddress *VmServerAddress `locationName:"vmServerAddress" type:"structure"`
  9216  }
  9217  
  9218  // String returns the string representation.
  9219  //
  9220  // API parameter values that are decorated as "sensitive" in the API will not
  9221  // be included in the string output. The member name will be present, but the
  9222  // value will be replaced with "sensitive".
  9223  func (s VmServer) String() string {
  9224  	return awsutil.Prettify(s)
  9225  }
  9226  
  9227  // GoString returns the string representation.
  9228  //
  9229  // API parameter values that are decorated as "sensitive" in the API will not
  9230  // be included in the string output. The member name will be present, but the
  9231  // value will be replaced with "sensitive".
  9232  func (s VmServer) GoString() string {
  9233  	return s.String()
  9234  }
  9235  
  9236  // SetVmManagerName sets the VmManagerName field's value.
  9237  func (s *VmServer) SetVmManagerName(v string) *VmServer {
  9238  	s.VmManagerName = &v
  9239  	return s
  9240  }
  9241  
  9242  // SetVmManagerType sets the VmManagerType field's value.
  9243  func (s *VmServer) SetVmManagerType(v string) *VmServer {
  9244  	s.VmManagerType = &v
  9245  	return s
  9246  }
  9247  
  9248  // SetVmName sets the VmName field's value.
  9249  func (s *VmServer) SetVmName(v string) *VmServer {
  9250  	s.VmName = &v
  9251  	return s
  9252  }
  9253  
  9254  // SetVmPath sets the VmPath field's value.
  9255  func (s *VmServer) SetVmPath(v string) *VmServer {
  9256  	s.VmPath = &v
  9257  	return s
  9258  }
  9259  
  9260  // SetVmServerAddress sets the VmServerAddress field's value.
  9261  func (s *VmServer) SetVmServerAddress(v *VmServerAddress) *VmServer {
  9262  	s.VmServerAddress = v
  9263  	return s
  9264  }
  9265  
  9266  // Represents a VM server location.
  9267  type VmServerAddress struct {
  9268  	_ struct{} `type:"structure"`
  9269  
  9270  	// The ID of the VM.
  9271  	VmId *string `locationName:"vmId" type:"string"`
  9272  
  9273  	// The ID of the VM manager.
  9274  	VmManagerId *string `locationName:"vmManagerId" type:"string"`
  9275  }
  9276  
  9277  // String returns the string representation.
  9278  //
  9279  // API parameter values that are decorated as "sensitive" in the API will not
  9280  // be included in the string output. The member name will be present, but the
  9281  // value will be replaced with "sensitive".
  9282  func (s VmServerAddress) String() string {
  9283  	return awsutil.Prettify(s)
  9284  }
  9285  
  9286  // GoString returns the string representation.
  9287  //
  9288  // API parameter values that are decorated as "sensitive" in the API will not
  9289  // be included in the string output. The member name will be present, but the
  9290  // value will be replaced with "sensitive".
  9291  func (s VmServerAddress) GoString() string {
  9292  	return s.String()
  9293  }
  9294  
  9295  // SetVmId sets the VmId field's value.
  9296  func (s *VmServerAddress) SetVmId(v string) *VmServerAddress {
  9297  	s.VmId = &v
  9298  	return s
  9299  }
  9300  
  9301  // SetVmManagerId sets the VmManagerId field's value.
  9302  func (s *VmServerAddress) SetVmManagerId(v string) *VmServerAddress {
  9303  	s.VmManagerId = &v
  9304  	return s
  9305  }
  9306  
  9307  const (
  9308  	// AppLaunchConfigurationStatusNotConfigured is a AppLaunchConfigurationStatus enum value
  9309  	AppLaunchConfigurationStatusNotConfigured = "NOT_CONFIGURED"
  9310  
  9311  	// AppLaunchConfigurationStatusConfigured is a AppLaunchConfigurationStatus enum value
  9312  	AppLaunchConfigurationStatusConfigured = "CONFIGURED"
  9313  )
  9314  
  9315  // AppLaunchConfigurationStatus_Values returns all elements of the AppLaunchConfigurationStatus enum
  9316  func AppLaunchConfigurationStatus_Values() []string {
  9317  	return []string{
  9318  		AppLaunchConfigurationStatusNotConfigured,
  9319  		AppLaunchConfigurationStatusConfigured,
  9320  	}
  9321  }
  9322  
  9323  const (
  9324  	// AppLaunchStatusReadyForConfiguration is a AppLaunchStatus enum value
  9325  	AppLaunchStatusReadyForConfiguration = "READY_FOR_CONFIGURATION"
  9326  
  9327  	// AppLaunchStatusConfigurationInProgress is a AppLaunchStatus enum value
  9328  	AppLaunchStatusConfigurationInProgress = "CONFIGURATION_IN_PROGRESS"
  9329  
  9330  	// AppLaunchStatusConfigurationInvalid is a AppLaunchStatus enum value
  9331  	AppLaunchStatusConfigurationInvalid = "CONFIGURATION_INVALID"
  9332  
  9333  	// AppLaunchStatusReadyForLaunch is a AppLaunchStatus enum value
  9334  	AppLaunchStatusReadyForLaunch = "READY_FOR_LAUNCH"
  9335  
  9336  	// AppLaunchStatusValidationInProgress is a AppLaunchStatus enum value
  9337  	AppLaunchStatusValidationInProgress = "VALIDATION_IN_PROGRESS"
  9338  
  9339  	// AppLaunchStatusLaunchPending is a AppLaunchStatus enum value
  9340  	AppLaunchStatusLaunchPending = "LAUNCH_PENDING"
  9341  
  9342  	// AppLaunchStatusLaunchInProgress is a AppLaunchStatus enum value
  9343  	AppLaunchStatusLaunchInProgress = "LAUNCH_IN_PROGRESS"
  9344  
  9345  	// AppLaunchStatusLaunched is a AppLaunchStatus enum value
  9346  	AppLaunchStatusLaunched = "LAUNCHED"
  9347  
  9348  	// AppLaunchStatusPartiallyLaunched is a AppLaunchStatus enum value
  9349  	AppLaunchStatusPartiallyLaunched = "PARTIALLY_LAUNCHED"
  9350  
  9351  	// AppLaunchStatusDeltaLaunchInProgress is a AppLaunchStatus enum value
  9352  	AppLaunchStatusDeltaLaunchInProgress = "DELTA_LAUNCH_IN_PROGRESS"
  9353  
  9354  	// AppLaunchStatusDeltaLaunchFailed is a AppLaunchStatus enum value
  9355  	AppLaunchStatusDeltaLaunchFailed = "DELTA_LAUNCH_FAILED"
  9356  
  9357  	// AppLaunchStatusLaunchFailed is a AppLaunchStatus enum value
  9358  	AppLaunchStatusLaunchFailed = "LAUNCH_FAILED"
  9359  
  9360  	// AppLaunchStatusTerminateInProgress is a AppLaunchStatus enum value
  9361  	AppLaunchStatusTerminateInProgress = "TERMINATE_IN_PROGRESS"
  9362  
  9363  	// AppLaunchStatusTerminateFailed is a AppLaunchStatus enum value
  9364  	AppLaunchStatusTerminateFailed = "TERMINATE_FAILED"
  9365  
  9366  	// AppLaunchStatusTerminated is a AppLaunchStatus enum value
  9367  	AppLaunchStatusTerminated = "TERMINATED"
  9368  )
  9369  
  9370  // AppLaunchStatus_Values returns all elements of the AppLaunchStatus enum
  9371  func AppLaunchStatus_Values() []string {
  9372  	return []string{
  9373  		AppLaunchStatusReadyForConfiguration,
  9374  		AppLaunchStatusConfigurationInProgress,
  9375  		AppLaunchStatusConfigurationInvalid,
  9376  		AppLaunchStatusReadyForLaunch,
  9377  		AppLaunchStatusValidationInProgress,
  9378  		AppLaunchStatusLaunchPending,
  9379  		AppLaunchStatusLaunchInProgress,
  9380  		AppLaunchStatusLaunched,
  9381  		AppLaunchStatusPartiallyLaunched,
  9382  		AppLaunchStatusDeltaLaunchInProgress,
  9383  		AppLaunchStatusDeltaLaunchFailed,
  9384  		AppLaunchStatusLaunchFailed,
  9385  		AppLaunchStatusTerminateInProgress,
  9386  		AppLaunchStatusTerminateFailed,
  9387  		AppLaunchStatusTerminated,
  9388  	}
  9389  }
  9390  
  9391  const (
  9392  	// AppReplicationConfigurationStatusNotConfigured is a AppReplicationConfigurationStatus enum value
  9393  	AppReplicationConfigurationStatusNotConfigured = "NOT_CONFIGURED"
  9394  
  9395  	// AppReplicationConfigurationStatusConfigured is a AppReplicationConfigurationStatus enum value
  9396  	AppReplicationConfigurationStatusConfigured = "CONFIGURED"
  9397  )
  9398  
  9399  // AppReplicationConfigurationStatus_Values returns all elements of the AppReplicationConfigurationStatus enum
  9400  func AppReplicationConfigurationStatus_Values() []string {
  9401  	return []string{
  9402  		AppReplicationConfigurationStatusNotConfigured,
  9403  		AppReplicationConfigurationStatusConfigured,
  9404  	}
  9405  }
  9406  
  9407  const (
  9408  	// AppReplicationStatusReadyForConfiguration is a AppReplicationStatus enum value
  9409  	AppReplicationStatusReadyForConfiguration = "READY_FOR_CONFIGURATION"
  9410  
  9411  	// AppReplicationStatusConfigurationInProgress is a AppReplicationStatus enum value
  9412  	AppReplicationStatusConfigurationInProgress = "CONFIGURATION_IN_PROGRESS"
  9413  
  9414  	// AppReplicationStatusConfigurationInvalid is a AppReplicationStatus enum value
  9415  	AppReplicationStatusConfigurationInvalid = "CONFIGURATION_INVALID"
  9416  
  9417  	// AppReplicationStatusReadyForReplication is a AppReplicationStatus enum value
  9418  	AppReplicationStatusReadyForReplication = "READY_FOR_REPLICATION"
  9419  
  9420  	// AppReplicationStatusValidationInProgress is a AppReplicationStatus enum value
  9421  	AppReplicationStatusValidationInProgress = "VALIDATION_IN_PROGRESS"
  9422  
  9423  	// AppReplicationStatusReplicationPending is a AppReplicationStatus enum value
  9424  	AppReplicationStatusReplicationPending = "REPLICATION_PENDING"
  9425  
  9426  	// AppReplicationStatusReplicationInProgress is a AppReplicationStatus enum value
  9427  	AppReplicationStatusReplicationInProgress = "REPLICATION_IN_PROGRESS"
  9428  
  9429  	// AppReplicationStatusReplicated is a AppReplicationStatus enum value
  9430  	AppReplicationStatusReplicated = "REPLICATED"
  9431  
  9432  	// AppReplicationStatusPartiallyReplicated is a AppReplicationStatus enum value
  9433  	AppReplicationStatusPartiallyReplicated = "PARTIALLY_REPLICATED"
  9434  
  9435  	// AppReplicationStatusDeltaReplicationInProgress is a AppReplicationStatus enum value
  9436  	AppReplicationStatusDeltaReplicationInProgress = "DELTA_REPLICATION_IN_PROGRESS"
  9437  
  9438  	// AppReplicationStatusDeltaReplicated is a AppReplicationStatus enum value
  9439  	AppReplicationStatusDeltaReplicated = "DELTA_REPLICATED"
  9440  
  9441  	// AppReplicationStatusDeltaReplicationFailed is a AppReplicationStatus enum value
  9442  	AppReplicationStatusDeltaReplicationFailed = "DELTA_REPLICATION_FAILED"
  9443  
  9444  	// AppReplicationStatusReplicationFailed is a AppReplicationStatus enum value
  9445  	AppReplicationStatusReplicationFailed = "REPLICATION_FAILED"
  9446  
  9447  	// AppReplicationStatusReplicationStopping is a AppReplicationStatus enum value
  9448  	AppReplicationStatusReplicationStopping = "REPLICATION_STOPPING"
  9449  
  9450  	// AppReplicationStatusReplicationStopFailed is a AppReplicationStatus enum value
  9451  	AppReplicationStatusReplicationStopFailed = "REPLICATION_STOP_FAILED"
  9452  
  9453  	// AppReplicationStatusReplicationStopped is a AppReplicationStatus enum value
  9454  	AppReplicationStatusReplicationStopped = "REPLICATION_STOPPED"
  9455  )
  9456  
  9457  // AppReplicationStatus_Values returns all elements of the AppReplicationStatus enum
  9458  func AppReplicationStatus_Values() []string {
  9459  	return []string{
  9460  		AppReplicationStatusReadyForConfiguration,
  9461  		AppReplicationStatusConfigurationInProgress,
  9462  		AppReplicationStatusConfigurationInvalid,
  9463  		AppReplicationStatusReadyForReplication,
  9464  		AppReplicationStatusValidationInProgress,
  9465  		AppReplicationStatusReplicationPending,
  9466  		AppReplicationStatusReplicationInProgress,
  9467  		AppReplicationStatusReplicated,
  9468  		AppReplicationStatusPartiallyReplicated,
  9469  		AppReplicationStatusDeltaReplicationInProgress,
  9470  		AppReplicationStatusDeltaReplicated,
  9471  		AppReplicationStatusDeltaReplicationFailed,
  9472  		AppReplicationStatusReplicationFailed,
  9473  		AppReplicationStatusReplicationStopping,
  9474  		AppReplicationStatusReplicationStopFailed,
  9475  		AppReplicationStatusReplicationStopped,
  9476  	}
  9477  }
  9478  
  9479  const (
  9480  	// AppStatusCreating is a AppStatus enum value
  9481  	AppStatusCreating = "CREATING"
  9482  
  9483  	// AppStatusActive is a AppStatus enum value
  9484  	AppStatusActive = "ACTIVE"
  9485  
  9486  	// AppStatusUpdating is a AppStatus enum value
  9487  	AppStatusUpdating = "UPDATING"
  9488  
  9489  	// AppStatusDeleting is a AppStatus enum value
  9490  	AppStatusDeleting = "DELETING"
  9491  
  9492  	// AppStatusDeleted is a AppStatus enum value
  9493  	AppStatusDeleted = "DELETED"
  9494  
  9495  	// AppStatusDeleteFailed is a AppStatus enum value
  9496  	AppStatusDeleteFailed = "DELETE_FAILED"
  9497  )
  9498  
  9499  // AppStatus_Values returns all elements of the AppStatus enum
  9500  func AppStatus_Values() []string {
  9501  	return []string{
  9502  		AppStatusCreating,
  9503  		AppStatusActive,
  9504  		AppStatusUpdating,
  9505  		AppStatusDeleting,
  9506  		AppStatusDeleted,
  9507  		AppStatusDeleteFailed,
  9508  	}
  9509  }
  9510  
  9511  const (
  9512  	// AppValidationStrategySsm is a AppValidationStrategy enum value
  9513  	AppValidationStrategySsm = "SSM"
  9514  )
  9515  
  9516  // AppValidationStrategy_Values returns all elements of the AppValidationStrategy enum
  9517  func AppValidationStrategy_Values() []string {
  9518  	return []string{
  9519  		AppValidationStrategySsm,
  9520  	}
  9521  }
  9522  
  9523  const (
  9524  	// ConnectorCapabilityVsphere is a ConnectorCapability enum value
  9525  	ConnectorCapabilityVsphere = "VSPHERE"
  9526  
  9527  	// ConnectorCapabilityScvmm is a ConnectorCapability enum value
  9528  	ConnectorCapabilityScvmm = "SCVMM"
  9529  
  9530  	// ConnectorCapabilityHypervManager is a ConnectorCapability enum value
  9531  	ConnectorCapabilityHypervManager = "HYPERV-MANAGER"
  9532  
  9533  	// ConnectorCapabilitySnapshotBatching is a ConnectorCapability enum value
  9534  	ConnectorCapabilitySnapshotBatching = "SNAPSHOT_BATCHING"
  9535  
  9536  	// ConnectorCapabilitySmsOptimized is a ConnectorCapability enum value
  9537  	ConnectorCapabilitySmsOptimized = "SMS_OPTIMIZED"
  9538  )
  9539  
  9540  // ConnectorCapability_Values returns all elements of the ConnectorCapability enum
  9541  func ConnectorCapability_Values() []string {
  9542  	return []string{
  9543  		ConnectorCapabilityVsphere,
  9544  		ConnectorCapabilityScvmm,
  9545  		ConnectorCapabilityHypervManager,
  9546  		ConnectorCapabilitySnapshotBatching,
  9547  		ConnectorCapabilitySmsOptimized,
  9548  	}
  9549  }
  9550  
  9551  const (
  9552  	// ConnectorStatusHealthy is a ConnectorStatus enum value
  9553  	ConnectorStatusHealthy = "HEALTHY"
  9554  
  9555  	// ConnectorStatusUnhealthy is a ConnectorStatus enum value
  9556  	ConnectorStatusUnhealthy = "UNHEALTHY"
  9557  )
  9558  
  9559  // ConnectorStatus_Values returns all elements of the ConnectorStatus enum
  9560  func ConnectorStatus_Values() []string {
  9561  	return []string{
  9562  		ConnectorStatusHealthy,
  9563  		ConnectorStatusUnhealthy,
  9564  	}
  9565  }
  9566  
  9567  const (
  9568  	// LicenseTypeAws is a LicenseType enum value
  9569  	LicenseTypeAws = "AWS"
  9570  
  9571  	// LicenseTypeByol is a LicenseType enum value
  9572  	LicenseTypeByol = "BYOL"
  9573  )
  9574  
  9575  // LicenseType_Values returns all elements of the LicenseType enum
  9576  func LicenseType_Values() []string {
  9577  	return []string{
  9578  		LicenseTypeAws,
  9579  		LicenseTypeByol,
  9580  	}
  9581  }
  9582  
  9583  const (
  9584  	// OutputFormatJson is a OutputFormat enum value
  9585  	OutputFormatJson = "JSON"
  9586  
  9587  	// OutputFormatYaml is a OutputFormat enum value
  9588  	OutputFormatYaml = "YAML"
  9589  )
  9590  
  9591  // OutputFormat_Values returns all elements of the OutputFormat enum
  9592  func OutputFormat_Values() []string {
  9593  	return []string{
  9594  		OutputFormatJson,
  9595  		OutputFormatYaml,
  9596  	}
  9597  }
  9598  
  9599  const (
  9600  	// ReplicationJobStatePending is a ReplicationJobState enum value
  9601  	ReplicationJobStatePending = "PENDING"
  9602  
  9603  	// ReplicationJobStateActive is a ReplicationJobState enum value
  9604  	ReplicationJobStateActive = "ACTIVE"
  9605  
  9606  	// ReplicationJobStateFailed is a ReplicationJobState enum value
  9607  	ReplicationJobStateFailed = "FAILED"
  9608  
  9609  	// ReplicationJobStateDeleting is a ReplicationJobState enum value
  9610  	ReplicationJobStateDeleting = "DELETING"
  9611  
  9612  	// ReplicationJobStateDeleted is a ReplicationJobState enum value
  9613  	ReplicationJobStateDeleted = "DELETED"
  9614  
  9615  	// ReplicationJobStateCompleted is a ReplicationJobState enum value
  9616  	ReplicationJobStateCompleted = "COMPLETED"
  9617  
  9618  	// ReplicationJobStatePausedOnFailure is a ReplicationJobState enum value
  9619  	ReplicationJobStatePausedOnFailure = "PAUSED_ON_FAILURE"
  9620  
  9621  	// ReplicationJobStateFailing is a ReplicationJobState enum value
  9622  	ReplicationJobStateFailing = "FAILING"
  9623  )
  9624  
  9625  // ReplicationJobState_Values returns all elements of the ReplicationJobState enum
  9626  func ReplicationJobState_Values() []string {
  9627  	return []string{
  9628  		ReplicationJobStatePending,
  9629  		ReplicationJobStateActive,
  9630  		ReplicationJobStateFailed,
  9631  		ReplicationJobStateDeleting,
  9632  		ReplicationJobStateDeleted,
  9633  		ReplicationJobStateCompleted,
  9634  		ReplicationJobStatePausedOnFailure,
  9635  		ReplicationJobStateFailing,
  9636  	}
  9637  }
  9638  
  9639  const (
  9640  	// ReplicationRunStatePending is a ReplicationRunState enum value
  9641  	ReplicationRunStatePending = "PENDING"
  9642  
  9643  	// ReplicationRunStateMissed is a ReplicationRunState enum value
  9644  	ReplicationRunStateMissed = "MISSED"
  9645  
  9646  	// ReplicationRunStateActive is a ReplicationRunState enum value
  9647  	ReplicationRunStateActive = "ACTIVE"
  9648  
  9649  	// ReplicationRunStateFailed is a ReplicationRunState enum value
  9650  	ReplicationRunStateFailed = "FAILED"
  9651  
  9652  	// ReplicationRunStateCompleted is a ReplicationRunState enum value
  9653  	ReplicationRunStateCompleted = "COMPLETED"
  9654  
  9655  	// ReplicationRunStateDeleting is a ReplicationRunState enum value
  9656  	ReplicationRunStateDeleting = "DELETING"
  9657  
  9658  	// ReplicationRunStateDeleted is a ReplicationRunState enum value
  9659  	ReplicationRunStateDeleted = "DELETED"
  9660  )
  9661  
  9662  // ReplicationRunState_Values returns all elements of the ReplicationRunState enum
  9663  func ReplicationRunState_Values() []string {
  9664  	return []string{
  9665  		ReplicationRunStatePending,
  9666  		ReplicationRunStateMissed,
  9667  		ReplicationRunStateActive,
  9668  		ReplicationRunStateFailed,
  9669  		ReplicationRunStateCompleted,
  9670  		ReplicationRunStateDeleting,
  9671  		ReplicationRunStateDeleted,
  9672  	}
  9673  }
  9674  
  9675  const (
  9676  	// ReplicationRunTypeOnDemand is a ReplicationRunType enum value
  9677  	ReplicationRunTypeOnDemand = "ON_DEMAND"
  9678  
  9679  	// ReplicationRunTypeAutomatic is a ReplicationRunType enum value
  9680  	ReplicationRunTypeAutomatic = "AUTOMATIC"
  9681  )
  9682  
  9683  // ReplicationRunType_Values returns all elements of the ReplicationRunType enum
  9684  func ReplicationRunType_Values() []string {
  9685  	return []string{
  9686  		ReplicationRunTypeOnDemand,
  9687  		ReplicationRunTypeAutomatic,
  9688  	}
  9689  }
  9690  
  9691  const (
  9692  	// ScriptTypeShellScript is a ScriptType enum value
  9693  	ScriptTypeShellScript = "SHELL_SCRIPT"
  9694  
  9695  	// ScriptTypePowershellScript is a ScriptType enum value
  9696  	ScriptTypePowershellScript = "POWERSHELL_SCRIPT"
  9697  )
  9698  
  9699  // ScriptType_Values returns all elements of the ScriptType enum
  9700  func ScriptType_Values() []string {
  9701  	return []string{
  9702  		ScriptTypeShellScript,
  9703  		ScriptTypePowershellScript,
  9704  	}
  9705  }
  9706  
  9707  const (
  9708  	// ServerCatalogStatusNotImported is a ServerCatalogStatus enum value
  9709  	ServerCatalogStatusNotImported = "NOT_IMPORTED"
  9710  
  9711  	// ServerCatalogStatusImporting is a ServerCatalogStatus enum value
  9712  	ServerCatalogStatusImporting = "IMPORTING"
  9713  
  9714  	// ServerCatalogStatusAvailable is a ServerCatalogStatus enum value
  9715  	ServerCatalogStatusAvailable = "AVAILABLE"
  9716  
  9717  	// ServerCatalogStatusDeleted is a ServerCatalogStatus enum value
  9718  	ServerCatalogStatusDeleted = "DELETED"
  9719  
  9720  	// ServerCatalogStatusExpired is a ServerCatalogStatus enum value
  9721  	ServerCatalogStatusExpired = "EXPIRED"
  9722  )
  9723  
  9724  // ServerCatalogStatus_Values returns all elements of the ServerCatalogStatus enum
  9725  func ServerCatalogStatus_Values() []string {
  9726  	return []string{
  9727  		ServerCatalogStatusNotImported,
  9728  		ServerCatalogStatusImporting,
  9729  		ServerCatalogStatusAvailable,
  9730  		ServerCatalogStatusDeleted,
  9731  		ServerCatalogStatusExpired,
  9732  	}
  9733  }
  9734  
  9735  const (
  9736  	// ServerTypeVirtualMachine is a ServerType enum value
  9737  	ServerTypeVirtualMachine = "VIRTUAL_MACHINE"
  9738  )
  9739  
  9740  // ServerType_Values returns all elements of the ServerType enum
  9741  func ServerType_Values() []string {
  9742  	return []string{
  9743  		ServerTypeVirtualMachine,
  9744  	}
  9745  }
  9746  
  9747  const (
  9748  	// ServerValidationStrategyUserdata is a ServerValidationStrategy enum value
  9749  	ServerValidationStrategyUserdata = "USERDATA"
  9750  )
  9751  
  9752  // ServerValidationStrategy_Values returns all elements of the ServerValidationStrategy enum
  9753  func ServerValidationStrategy_Values() []string {
  9754  	return []string{
  9755  		ServerValidationStrategyUserdata,
  9756  	}
  9757  }
  9758  
  9759  const (
  9760  	// ValidationStatusReadyForValidation is a ValidationStatus enum value
  9761  	ValidationStatusReadyForValidation = "READY_FOR_VALIDATION"
  9762  
  9763  	// ValidationStatusPending is a ValidationStatus enum value
  9764  	ValidationStatusPending = "PENDING"
  9765  
  9766  	// ValidationStatusInProgress is a ValidationStatus enum value
  9767  	ValidationStatusInProgress = "IN_PROGRESS"
  9768  
  9769  	// ValidationStatusSucceeded is a ValidationStatus enum value
  9770  	ValidationStatusSucceeded = "SUCCEEDED"
  9771  
  9772  	// ValidationStatusFailed is a ValidationStatus enum value
  9773  	ValidationStatusFailed = "FAILED"
  9774  )
  9775  
  9776  // ValidationStatus_Values returns all elements of the ValidationStatus enum
  9777  func ValidationStatus_Values() []string {
  9778  	return []string{
  9779  		ValidationStatusReadyForValidation,
  9780  		ValidationStatusPending,
  9781  		ValidationStatusInProgress,
  9782  		ValidationStatusSucceeded,
  9783  		ValidationStatusFailed,
  9784  	}
  9785  }
  9786  
  9787  const (
  9788  	// VmManagerTypeVsphere is a VmManagerType enum value
  9789  	VmManagerTypeVsphere = "VSPHERE"
  9790  
  9791  	// VmManagerTypeScvmm is a VmManagerType enum value
  9792  	VmManagerTypeScvmm = "SCVMM"
  9793  
  9794  	// VmManagerTypeHypervManager is a VmManagerType enum value
  9795  	VmManagerTypeHypervManager = "HYPERV-MANAGER"
  9796  )
  9797  
  9798  // VmManagerType_Values returns all elements of the VmManagerType enum
  9799  func VmManagerType_Values() []string {
  9800  	return []string{
  9801  		VmManagerTypeVsphere,
  9802  		VmManagerTypeScvmm,
  9803  		VmManagerTypeHypervManager,
  9804  	}
  9805  }