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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package robomaker
     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/restjson"
    14  )
    15  
    16  const opBatchDeleteWorlds = "BatchDeleteWorlds"
    17  
    18  // BatchDeleteWorldsRequest generates a "aws/request.Request" representing the
    19  // client's request for the BatchDeleteWorlds 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 BatchDeleteWorlds for more information on using the BatchDeleteWorlds
    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 BatchDeleteWorldsRequest method.
    34  //    req, resp := client.BatchDeleteWorldsRequest(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/robomaker-2018-06-29/BatchDeleteWorlds
    42  func (c *RoboMaker) BatchDeleteWorldsRequest(input *BatchDeleteWorldsInput) (req *request.Request, output *BatchDeleteWorldsOutput) {
    43  	op := &request.Operation{
    44  		Name:       opBatchDeleteWorlds,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/batchDeleteWorlds",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &BatchDeleteWorldsInput{}
    51  	}
    52  
    53  	output = &BatchDeleteWorldsOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	return
    56  }
    57  
    58  // BatchDeleteWorlds API operation for AWS RoboMaker.
    59  //
    60  // Deletes one or more worlds in a batch operation.
    61  //
    62  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    63  // with awserr.Error's Code and Message methods to get detailed information about
    64  // the error.
    65  //
    66  // See the AWS API reference guide for AWS RoboMaker's
    67  // API operation BatchDeleteWorlds for usage and error information.
    68  //
    69  // Returned Error Types:
    70  //   * InvalidParameterException
    71  //   A parameter specified in a request is not valid, is unsupported, or cannot
    72  //   be used. The returned message provides an explanation of the error value.
    73  //
    74  //   * ThrottlingException
    75  //   AWS RoboMaker is temporarily unable to process the request. Try your call
    76  //   again.
    77  //
    78  //   * InternalServerException
    79  //   AWS RoboMaker experienced a service issue. Try your call again.
    80  //
    81  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDeleteWorlds
    82  func (c *RoboMaker) BatchDeleteWorlds(input *BatchDeleteWorldsInput) (*BatchDeleteWorldsOutput, error) {
    83  	req, out := c.BatchDeleteWorldsRequest(input)
    84  	return out, req.Send()
    85  }
    86  
    87  // BatchDeleteWorldsWithContext is the same as BatchDeleteWorlds with the addition of
    88  // the ability to pass a context and additional request options.
    89  //
    90  // See BatchDeleteWorlds for details on how to use this API operation.
    91  //
    92  // The context must be non-nil and will be used for request cancellation. If
    93  // the context is nil a panic will occur. In the future the SDK may create
    94  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
    95  // for more information on using Contexts.
    96  func (c *RoboMaker) BatchDeleteWorldsWithContext(ctx aws.Context, input *BatchDeleteWorldsInput, opts ...request.Option) (*BatchDeleteWorldsOutput, error) {
    97  	req, out := c.BatchDeleteWorldsRequest(input)
    98  	req.SetContext(ctx)
    99  	req.ApplyOptions(opts...)
   100  	return out, req.Send()
   101  }
   102  
   103  const opBatchDescribeSimulationJob = "BatchDescribeSimulationJob"
   104  
   105  // BatchDescribeSimulationJobRequest generates a "aws/request.Request" representing the
   106  // client's request for the BatchDescribeSimulationJob operation. The "output" return
   107  // value will be populated with the request's response once the request completes
   108  // successfully.
   109  //
   110  // Use "Send" method on the returned Request to send the API call to the service.
   111  // the "output" return value is not valid until after Send returns without error.
   112  //
   113  // See BatchDescribeSimulationJob for more information on using the BatchDescribeSimulationJob
   114  // API call, and error handling.
   115  //
   116  // This method is useful when you want to inject custom logic or configuration
   117  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   118  //
   119  //
   120  //    // Example sending a request using the BatchDescribeSimulationJobRequest method.
   121  //    req, resp := client.BatchDescribeSimulationJobRequest(params)
   122  //
   123  //    err := req.Send()
   124  //    if err == nil { // resp is now filled
   125  //        fmt.Println(resp)
   126  //    }
   127  //
   128  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
   129  func (c *RoboMaker) BatchDescribeSimulationJobRequest(input *BatchDescribeSimulationJobInput) (req *request.Request, output *BatchDescribeSimulationJobOutput) {
   130  	op := &request.Operation{
   131  		Name:       opBatchDescribeSimulationJob,
   132  		HTTPMethod: "POST",
   133  		HTTPPath:   "/batchDescribeSimulationJob",
   134  	}
   135  
   136  	if input == nil {
   137  		input = &BatchDescribeSimulationJobInput{}
   138  	}
   139  
   140  	output = &BatchDescribeSimulationJobOutput{}
   141  	req = c.newRequest(op, input, output)
   142  	return
   143  }
   144  
   145  // BatchDescribeSimulationJob API operation for AWS RoboMaker.
   146  //
   147  // Describes one or more simulation jobs.
   148  //
   149  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   150  // with awserr.Error's Code and Message methods to get detailed information about
   151  // the error.
   152  //
   153  // See the AWS API reference guide for AWS RoboMaker's
   154  // API operation BatchDescribeSimulationJob for usage and error information.
   155  //
   156  // Returned Error Types:
   157  //   * ResourceNotFoundException
   158  //   The specified resource does not exist.
   159  //
   160  //   * InvalidParameterException
   161  //   A parameter specified in a request is not valid, is unsupported, or cannot
   162  //   be used. The returned message provides an explanation of the error value.
   163  //
   164  //   * InternalServerException
   165  //   AWS RoboMaker experienced a service issue. Try your call again.
   166  //
   167  //   * ThrottlingException
   168  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   169  //   again.
   170  //
   171  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
   172  func (c *RoboMaker) BatchDescribeSimulationJob(input *BatchDescribeSimulationJobInput) (*BatchDescribeSimulationJobOutput, error) {
   173  	req, out := c.BatchDescribeSimulationJobRequest(input)
   174  	return out, req.Send()
   175  }
   176  
   177  // BatchDescribeSimulationJobWithContext is the same as BatchDescribeSimulationJob with the addition of
   178  // the ability to pass a context and additional request options.
   179  //
   180  // See BatchDescribeSimulationJob for details on how to use this API operation.
   181  //
   182  // The context must be non-nil and will be used for request cancellation. If
   183  // the context is nil a panic will occur. In the future the SDK may create
   184  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   185  // for more information on using Contexts.
   186  func (c *RoboMaker) BatchDescribeSimulationJobWithContext(ctx aws.Context, input *BatchDescribeSimulationJobInput, opts ...request.Option) (*BatchDescribeSimulationJobOutput, error) {
   187  	req, out := c.BatchDescribeSimulationJobRequest(input)
   188  	req.SetContext(ctx)
   189  	req.ApplyOptions(opts...)
   190  	return out, req.Send()
   191  }
   192  
   193  const opCancelDeploymentJob = "CancelDeploymentJob"
   194  
   195  // CancelDeploymentJobRequest generates a "aws/request.Request" representing the
   196  // client's request for the CancelDeploymentJob operation. The "output" return
   197  // value will be populated with the request's response once the request completes
   198  // successfully.
   199  //
   200  // Use "Send" method on the returned Request to send the API call to the service.
   201  // the "output" return value is not valid until after Send returns without error.
   202  //
   203  // See CancelDeploymentJob for more information on using the CancelDeploymentJob
   204  // API call, and error handling.
   205  //
   206  // This method is useful when you want to inject custom logic or configuration
   207  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   208  //
   209  //
   210  //    // Example sending a request using the CancelDeploymentJobRequest method.
   211  //    req, resp := client.CancelDeploymentJobRequest(params)
   212  //
   213  //    err := req.Send()
   214  //    if err == nil { // resp is now filled
   215  //        fmt.Println(resp)
   216  //    }
   217  //
   218  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
   219  func (c *RoboMaker) CancelDeploymentJobRequest(input *CancelDeploymentJobInput) (req *request.Request, output *CancelDeploymentJobOutput) {
   220  	op := &request.Operation{
   221  		Name:       opCancelDeploymentJob,
   222  		HTTPMethod: "POST",
   223  		HTTPPath:   "/cancelDeploymentJob",
   224  	}
   225  
   226  	if input == nil {
   227  		input = &CancelDeploymentJobInput{}
   228  	}
   229  
   230  	output = &CancelDeploymentJobOutput{}
   231  	req = c.newRequest(op, input, output)
   232  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   233  	return
   234  }
   235  
   236  // CancelDeploymentJob API operation for AWS RoboMaker.
   237  //
   238  // Cancels the specified deployment job.
   239  //
   240  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   241  // with awserr.Error's Code and Message methods to get detailed information about
   242  // the error.
   243  //
   244  // See the AWS API reference guide for AWS RoboMaker's
   245  // API operation CancelDeploymentJob for usage and error information.
   246  //
   247  // Returned Error Types:
   248  //   * ResourceNotFoundException
   249  //   The specified resource does not exist.
   250  //
   251  //   * InvalidParameterException
   252  //   A parameter specified in a request is not valid, is unsupported, or cannot
   253  //   be used. The returned message provides an explanation of the error value.
   254  //
   255  //   * InternalServerException
   256  //   AWS RoboMaker experienced a service issue. Try your call again.
   257  //
   258  //   * ThrottlingException
   259  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   260  //   again.
   261  //
   262  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
   263  func (c *RoboMaker) CancelDeploymentJob(input *CancelDeploymentJobInput) (*CancelDeploymentJobOutput, error) {
   264  	req, out := c.CancelDeploymentJobRequest(input)
   265  	return out, req.Send()
   266  }
   267  
   268  // CancelDeploymentJobWithContext is the same as CancelDeploymentJob with the addition of
   269  // the ability to pass a context and additional request options.
   270  //
   271  // See CancelDeploymentJob for details on how to use this API operation.
   272  //
   273  // The context must be non-nil and will be used for request cancellation. If
   274  // the context is nil a panic will occur. In the future the SDK may create
   275  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   276  // for more information on using Contexts.
   277  func (c *RoboMaker) CancelDeploymentJobWithContext(ctx aws.Context, input *CancelDeploymentJobInput, opts ...request.Option) (*CancelDeploymentJobOutput, error) {
   278  	req, out := c.CancelDeploymentJobRequest(input)
   279  	req.SetContext(ctx)
   280  	req.ApplyOptions(opts...)
   281  	return out, req.Send()
   282  }
   283  
   284  const opCancelSimulationJob = "CancelSimulationJob"
   285  
   286  // CancelSimulationJobRequest generates a "aws/request.Request" representing the
   287  // client's request for the CancelSimulationJob operation. The "output" return
   288  // value will be populated with the request's response once the request completes
   289  // successfully.
   290  //
   291  // Use "Send" method on the returned Request to send the API call to the service.
   292  // the "output" return value is not valid until after Send returns without error.
   293  //
   294  // See CancelSimulationJob for more information on using the CancelSimulationJob
   295  // API call, and error handling.
   296  //
   297  // This method is useful when you want to inject custom logic or configuration
   298  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   299  //
   300  //
   301  //    // Example sending a request using the CancelSimulationJobRequest method.
   302  //    req, resp := client.CancelSimulationJobRequest(params)
   303  //
   304  //    err := req.Send()
   305  //    if err == nil { // resp is now filled
   306  //        fmt.Println(resp)
   307  //    }
   308  //
   309  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
   310  func (c *RoboMaker) CancelSimulationJobRequest(input *CancelSimulationJobInput) (req *request.Request, output *CancelSimulationJobOutput) {
   311  	op := &request.Operation{
   312  		Name:       opCancelSimulationJob,
   313  		HTTPMethod: "POST",
   314  		HTTPPath:   "/cancelSimulationJob",
   315  	}
   316  
   317  	if input == nil {
   318  		input = &CancelSimulationJobInput{}
   319  	}
   320  
   321  	output = &CancelSimulationJobOutput{}
   322  	req = c.newRequest(op, input, output)
   323  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   324  	return
   325  }
   326  
   327  // CancelSimulationJob API operation for AWS RoboMaker.
   328  //
   329  // Cancels the specified simulation job.
   330  //
   331  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   332  // with awserr.Error's Code and Message methods to get detailed information about
   333  // the error.
   334  //
   335  // See the AWS API reference guide for AWS RoboMaker's
   336  // API operation CancelSimulationJob for usage and error information.
   337  //
   338  // Returned Error Types:
   339  //   * ResourceNotFoundException
   340  //   The specified resource does not exist.
   341  //
   342  //   * InvalidParameterException
   343  //   A parameter specified in a request is not valid, is unsupported, or cannot
   344  //   be used. The returned message provides an explanation of the error value.
   345  //
   346  //   * InternalServerException
   347  //   AWS RoboMaker experienced a service issue. Try your call again.
   348  //
   349  //   * ThrottlingException
   350  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   351  //   again.
   352  //
   353  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
   354  func (c *RoboMaker) CancelSimulationJob(input *CancelSimulationJobInput) (*CancelSimulationJobOutput, error) {
   355  	req, out := c.CancelSimulationJobRequest(input)
   356  	return out, req.Send()
   357  }
   358  
   359  // CancelSimulationJobWithContext is the same as CancelSimulationJob with the addition of
   360  // the ability to pass a context and additional request options.
   361  //
   362  // See CancelSimulationJob for details on how to use this API operation.
   363  //
   364  // The context must be non-nil and will be used for request cancellation. If
   365  // the context is nil a panic will occur. In the future the SDK may create
   366  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   367  // for more information on using Contexts.
   368  func (c *RoboMaker) CancelSimulationJobWithContext(ctx aws.Context, input *CancelSimulationJobInput, opts ...request.Option) (*CancelSimulationJobOutput, error) {
   369  	req, out := c.CancelSimulationJobRequest(input)
   370  	req.SetContext(ctx)
   371  	req.ApplyOptions(opts...)
   372  	return out, req.Send()
   373  }
   374  
   375  const opCancelSimulationJobBatch = "CancelSimulationJobBatch"
   376  
   377  // CancelSimulationJobBatchRequest generates a "aws/request.Request" representing the
   378  // client's request for the CancelSimulationJobBatch operation. The "output" return
   379  // value will be populated with the request's response once the request completes
   380  // successfully.
   381  //
   382  // Use "Send" method on the returned Request to send the API call to the service.
   383  // the "output" return value is not valid until after Send returns without error.
   384  //
   385  // See CancelSimulationJobBatch for more information on using the CancelSimulationJobBatch
   386  // API call, and error handling.
   387  //
   388  // This method is useful when you want to inject custom logic or configuration
   389  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   390  //
   391  //
   392  //    // Example sending a request using the CancelSimulationJobBatchRequest method.
   393  //    req, resp := client.CancelSimulationJobBatchRequest(params)
   394  //
   395  //    err := req.Send()
   396  //    if err == nil { // resp is now filled
   397  //        fmt.Println(resp)
   398  //    }
   399  //
   400  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJobBatch
   401  func (c *RoboMaker) CancelSimulationJobBatchRequest(input *CancelSimulationJobBatchInput) (req *request.Request, output *CancelSimulationJobBatchOutput) {
   402  	op := &request.Operation{
   403  		Name:       opCancelSimulationJobBatch,
   404  		HTTPMethod: "POST",
   405  		HTTPPath:   "/cancelSimulationJobBatch",
   406  	}
   407  
   408  	if input == nil {
   409  		input = &CancelSimulationJobBatchInput{}
   410  	}
   411  
   412  	output = &CancelSimulationJobBatchOutput{}
   413  	req = c.newRequest(op, input, output)
   414  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   415  	return
   416  }
   417  
   418  // CancelSimulationJobBatch API operation for AWS RoboMaker.
   419  //
   420  // Cancels a simulation job batch. When you cancel a simulation job batch, you
   421  // are also cancelling all of the active simulation jobs created as part of
   422  // the batch.
   423  //
   424  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   425  // with awserr.Error's Code and Message methods to get detailed information about
   426  // the error.
   427  //
   428  // See the AWS API reference guide for AWS RoboMaker's
   429  // API operation CancelSimulationJobBatch for usage and error information.
   430  //
   431  // Returned Error Types:
   432  //   * ResourceNotFoundException
   433  //   The specified resource does not exist.
   434  //
   435  //   * InvalidParameterException
   436  //   A parameter specified in a request is not valid, is unsupported, or cannot
   437  //   be used. The returned message provides an explanation of the error value.
   438  //
   439  //   * InternalServerException
   440  //   AWS RoboMaker experienced a service issue. Try your call again.
   441  //
   442  //   * ThrottlingException
   443  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   444  //   again.
   445  //
   446  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJobBatch
   447  func (c *RoboMaker) CancelSimulationJobBatch(input *CancelSimulationJobBatchInput) (*CancelSimulationJobBatchOutput, error) {
   448  	req, out := c.CancelSimulationJobBatchRequest(input)
   449  	return out, req.Send()
   450  }
   451  
   452  // CancelSimulationJobBatchWithContext is the same as CancelSimulationJobBatch with the addition of
   453  // the ability to pass a context and additional request options.
   454  //
   455  // See CancelSimulationJobBatch for details on how to use this API operation.
   456  //
   457  // The context must be non-nil and will be used for request cancellation. If
   458  // the context is nil a panic will occur. In the future the SDK may create
   459  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   460  // for more information on using Contexts.
   461  func (c *RoboMaker) CancelSimulationJobBatchWithContext(ctx aws.Context, input *CancelSimulationJobBatchInput, opts ...request.Option) (*CancelSimulationJobBatchOutput, error) {
   462  	req, out := c.CancelSimulationJobBatchRequest(input)
   463  	req.SetContext(ctx)
   464  	req.ApplyOptions(opts...)
   465  	return out, req.Send()
   466  }
   467  
   468  const opCancelWorldExportJob = "CancelWorldExportJob"
   469  
   470  // CancelWorldExportJobRequest generates a "aws/request.Request" representing the
   471  // client's request for the CancelWorldExportJob operation. The "output" return
   472  // value will be populated with the request's response once the request completes
   473  // successfully.
   474  //
   475  // Use "Send" method on the returned Request to send the API call to the service.
   476  // the "output" return value is not valid until after Send returns without error.
   477  //
   478  // See CancelWorldExportJob for more information on using the CancelWorldExportJob
   479  // API call, and error handling.
   480  //
   481  // This method is useful when you want to inject custom logic or configuration
   482  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   483  //
   484  //
   485  //    // Example sending a request using the CancelWorldExportJobRequest method.
   486  //    req, resp := client.CancelWorldExportJobRequest(params)
   487  //
   488  //    err := req.Send()
   489  //    if err == nil { // resp is now filled
   490  //        fmt.Println(resp)
   491  //    }
   492  //
   493  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldExportJob
   494  func (c *RoboMaker) CancelWorldExportJobRequest(input *CancelWorldExportJobInput) (req *request.Request, output *CancelWorldExportJobOutput) {
   495  	op := &request.Operation{
   496  		Name:       opCancelWorldExportJob,
   497  		HTTPMethod: "POST",
   498  		HTTPPath:   "/cancelWorldExportJob",
   499  	}
   500  
   501  	if input == nil {
   502  		input = &CancelWorldExportJobInput{}
   503  	}
   504  
   505  	output = &CancelWorldExportJobOutput{}
   506  	req = c.newRequest(op, input, output)
   507  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   508  	return
   509  }
   510  
   511  // CancelWorldExportJob API operation for AWS RoboMaker.
   512  //
   513  // Cancels the specified export job.
   514  //
   515  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   516  // with awserr.Error's Code and Message methods to get detailed information about
   517  // the error.
   518  //
   519  // See the AWS API reference guide for AWS RoboMaker's
   520  // API operation CancelWorldExportJob for usage and error information.
   521  //
   522  // Returned Error Types:
   523  //   * ResourceNotFoundException
   524  //   The specified resource does not exist.
   525  //
   526  //   * InvalidParameterException
   527  //   A parameter specified in a request is not valid, is unsupported, or cannot
   528  //   be used. The returned message provides an explanation of the error value.
   529  //
   530  //   * InternalServerException
   531  //   AWS RoboMaker experienced a service issue. Try your call again.
   532  //
   533  //   * ThrottlingException
   534  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   535  //   again.
   536  //
   537  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldExportJob
   538  func (c *RoboMaker) CancelWorldExportJob(input *CancelWorldExportJobInput) (*CancelWorldExportJobOutput, error) {
   539  	req, out := c.CancelWorldExportJobRequest(input)
   540  	return out, req.Send()
   541  }
   542  
   543  // CancelWorldExportJobWithContext is the same as CancelWorldExportJob with the addition of
   544  // the ability to pass a context and additional request options.
   545  //
   546  // See CancelWorldExportJob for details on how to use this API operation.
   547  //
   548  // The context must be non-nil and will be used for request cancellation. If
   549  // the context is nil a panic will occur. In the future the SDK may create
   550  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   551  // for more information on using Contexts.
   552  func (c *RoboMaker) CancelWorldExportJobWithContext(ctx aws.Context, input *CancelWorldExportJobInput, opts ...request.Option) (*CancelWorldExportJobOutput, error) {
   553  	req, out := c.CancelWorldExportJobRequest(input)
   554  	req.SetContext(ctx)
   555  	req.ApplyOptions(opts...)
   556  	return out, req.Send()
   557  }
   558  
   559  const opCancelWorldGenerationJob = "CancelWorldGenerationJob"
   560  
   561  // CancelWorldGenerationJobRequest generates a "aws/request.Request" representing the
   562  // client's request for the CancelWorldGenerationJob operation. The "output" return
   563  // value will be populated with the request's response once the request completes
   564  // successfully.
   565  //
   566  // Use "Send" method on the returned Request to send the API call to the service.
   567  // the "output" return value is not valid until after Send returns without error.
   568  //
   569  // See CancelWorldGenerationJob for more information on using the CancelWorldGenerationJob
   570  // API call, and error handling.
   571  //
   572  // This method is useful when you want to inject custom logic or configuration
   573  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   574  //
   575  //
   576  //    // Example sending a request using the CancelWorldGenerationJobRequest method.
   577  //    req, resp := client.CancelWorldGenerationJobRequest(params)
   578  //
   579  //    err := req.Send()
   580  //    if err == nil { // resp is now filled
   581  //        fmt.Println(resp)
   582  //    }
   583  //
   584  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldGenerationJob
   585  func (c *RoboMaker) CancelWorldGenerationJobRequest(input *CancelWorldGenerationJobInput) (req *request.Request, output *CancelWorldGenerationJobOutput) {
   586  	op := &request.Operation{
   587  		Name:       opCancelWorldGenerationJob,
   588  		HTTPMethod: "POST",
   589  		HTTPPath:   "/cancelWorldGenerationJob",
   590  	}
   591  
   592  	if input == nil {
   593  		input = &CancelWorldGenerationJobInput{}
   594  	}
   595  
   596  	output = &CancelWorldGenerationJobOutput{}
   597  	req = c.newRequest(op, input, output)
   598  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   599  	return
   600  }
   601  
   602  // CancelWorldGenerationJob API operation for AWS RoboMaker.
   603  //
   604  // Cancels the specified world generator job.
   605  //
   606  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   607  // with awserr.Error's Code and Message methods to get detailed information about
   608  // the error.
   609  //
   610  // See the AWS API reference guide for AWS RoboMaker's
   611  // API operation CancelWorldGenerationJob for usage and error information.
   612  //
   613  // Returned Error Types:
   614  //   * ResourceNotFoundException
   615  //   The specified resource does not exist.
   616  //
   617  //   * InvalidParameterException
   618  //   A parameter specified in a request is not valid, is unsupported, or cannot
   619  //   be used. The returned message provides an explanation of the error value.
   620  //
   621  //   * InternalServerException
   622  //   AWS RoboMaker experienced a service issue. Try your call again.
   623  //
   624  //   * ThrottlingException
   625  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   626  //   again.
   627  //
   628  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldGenerationJob
   629  func (c *RoboMaker) CancelWorldGenerationJob(input *CancelWorldGenerationJobInput) (*CancelWorldGenerationJobOutput, error) {
   630  	req, out := c.CancelWorldGenerationJobRequest(input)
   631  	return out, req.Send()
   632  }
   633  
   634  // CancelWorldGenerationJobWithContext is the same as CancelWorldGenerationJob with the addition of
   635  // the ability to pass a context and additional request options.
   636  //
   637  // See CancelWorldGenerationJob for details on how to use this API operation.
   638  //
   639  // The context must be non-nil and will be used for request cancellation. If
   640  // the context is nil a panic will occur. In the future the SDK may create
   641  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   642  // for more information on using Contexts.
   643  func (c *RoboMaker) CancelWorldGenerationJobWithContext(ctx aws.Context, input *CancelWorldGenerationJobInput, opts ...request.Option) (*CancelWorldGenerationJobOutput, error) {
   644  	req, out := c.CancelWorldGenerationJobRequest(input)
   645  	req.SetContext(ctx)
   646  	req.ApplyOptions(opts...)
   647  	return out, req.Send()
   648  }
   649  
   650  const opCreateDeploymentJob = "CreateDeploymentJob"
   651  
   652  // CreateDeploymentJobRequest generates a "aws/request.Request" representing the
   653  // client's request for the CreateDeploymentJob operation. The "output" return
   654  // value will be populated with the request's response once the request completes
   655  // successfully.
   656  //
   657  // Use "Send" method on the returned Request to send the API call to the service.
   658  // the "output" return value is not valid until after Send returns without error.
   659  //
   660  // See CreateDeploymentJob for more information on using the CreateDeploymentJob
   661  // API call, and error handling.
   662  //
   663  // This method is useful when you want to inject custom logic or configuration
   664  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   665  //
   666  //
   667  //    // Example sending a request using the CreateDeploymentJobRequest method.
   668  //    req, resp := client.CreateDeploymentJobRequest(params)
   669  //
   670  //    err := req.Send()
   671  //    if err == nil { // resp is now filled
   672  //        fmt.Println(resp)
   673  //    }
   674  //
   675  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
   676  func (c *RoboMaker) CreateDeploymentJobRequest(input *CreateDeploymentJobInput) (req *request.Request, output *CreateDeploymentJobOutput) {
   677  	op := &request.Operation{
   678  		Name:       opCreateDeploymentJob,
   679  		HTTPMethod: "POST",
   680  		HTTPPath:   "/createDeploymentJob",
   681  	}
   682  
   683  	if input == nil {
   684  		input = &CreateDeploymentJobInput{}
   685  	}
   686  
   687  	output = &CreateDeploymentJobOutput{}
   688  	req = c.newRequest(op, input, output)
   689  	return
   690  }
   691  
   692  // CreateDeploymentJob API operation for AWS RoboMaker.
   693  //
   694  // Deploys a specific version of a robot application to robots in a fleet.
   695  //
   696  // The robot application must have a numbered applicationVersion for consistency
   697  // reasons. To create a new version, use CreateRobotApplicationVersion or see
   698  // Creating a Robot Application Version (https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html).
   699  //
   700  // After 90 days, deployment jobs expire and will be deleted. They will no longer
   701  // be accessible.
   702  //
   703  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   704  // with awserr.Error's Code and Message methods to get detailed information about
   705  // the error.
   706  //
   707  // See the AWS API reference guide for AWS RoboMaker's
   708  // API operation CreateDeploymentJob for usage and error information.
   709  //
   710  // Returned Error Types:
   711  //   * ResourceNotFoundException
   712  //   The specified resource does not exist.
   713  //
   714  //   * InvalidParameterException
   715  //   A parameter specified in a request is not valid, is unsupported, or cannot
   716  //   be used. The returned message provides an explanation of the error value.
   717  //
   718  //   * InternalServerException
   719  //   AWS RoboMaker experienced a service issue. Try your call again.
   720  //
   721  //   * ThrottlingException
   722  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   723  //   again.
   724  //
   725  //   * LimitExceededException
   726  //   The requested resource exceeds the maximum number allowed, or the number
   727  //   of concurrent stream requests exceeds the maximum number allowed.
   728  //
   729  //   * ConcurrentDeploymentException
   730  //   The failure percentage threshold percentage was met.
   731  //
   732  //   * IdempotentParameterMismatchException
   733  //   The request uses the same client token as a previous, but non-identical request.
   734  //   Do not reuse a client token with different requests, unless the requests
   735  //   are identical.
   736  //
   737  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
   738  func (c *RoboMaker) CreateDeploymentJob(input *CreateDeploymentJobInput) (*CreateDeploymentJobOutput, error) {
   739  	req, out := c.CreateDeploymentJobRequest(input)
   740  	return out, req.Send()
   741  }
   742  
   743  // CreateDeploymentJobWithContext is the same as CreateDeploymentJob with the addition of
   744  // the ability to pass a context and additional request options.
   745  //
   746  // See CreateDeploymentJob for details on how to use this API operation.
   747  //
   748  // The context must be non-nil and will be used for request cancellation. If
   749  // the context is nil a panic will occur. In the future the SDK may create
   750  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   751  // for more information on using Contexts.
   752  func (c *RoboMaker) CreateDeploymentJobWithContext(ctx aws.Context, input *CreateDeploymentJobInput, opts ...request.Option) (*CreateDeploymentJobOutput, error) {
   753  	req, out := c.CreateDeploymentJobRequest(input)
   754  	req.SetContext(ctx)
   755  	req.ApplyOptions(opts...)
   756  	return out, req.Send()
   757  }
   758  
   759  const opCreateFleet = "CreateFleet"
   760  
   761  // CreateFleetRequest generates a "aws/request.Request" representing the
   762  // client's request for the CreateFleet operation. The "output" return
   763  // value will be populated with the request's response once the request completes
   764  // successfully.
   765  //
   766  // Use "Send" method on the returned Request to send the API call to the service.
   767  // the "output" return value is not valid until after Send returns without error.
   768  //
   769  // See CreateFleet for more information on using the CreateFleet
   770  // API call, and error handling.
   771  //
   772  // This method is useful when you want to inject custom logic or configuration
   773  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   774  //
   775  //
   776  //    // Example sending a request using the CreateFleetRequest method.
   777  //    req, resp := client.CreateFleetRequest(params)
   778  //
   779  //    err := req.Send()
   780  //    if err == nil { // resp is now filled
   781  //        fmt.Println(resp)
   782  //    }
   783  //
   784  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
   785  func (c *RoboMaker) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
   786  	op := &request.Operation{
   787  		Name:       opCreateFleet,
   788  		HTTPMethod: "POST",
   789  		HTTPPath:   "/createFleet",
   790  	}
   791  
   792  	if input == nil {
   793  		input = &CreateFleetInput{}
   794  	}
   795  
   796  	output = &CreateFleetOutput{}
   797  	req = c.newRequest(op, input, output)
   798  	return
   799  }
   800  
   801  // CreateFleet API operation for AWS RoboMaker.
   802  //
   803  // Creates a fleet, a logical group of robots running the same robot application.
   804  //
   805  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   806  // with awserr.Error's Code and Message methods to get detailed information about
   807  // the error.
   808  //
   809  // See the AWS API reference guide for AWS RoboMaker's
   810  // API operation CreateFleet for usage and error information.
   811  //
   812  // Returned Error Types:
   813  //   * InvalidParameterException
   814  //   A parameter specified in a request is not valid, is unsupported, or cannot
   815  //   be used. The returned message provides an explanation of the error value.
   816  //
   817  //   * InternalServerException
   818  //   AWS RoboMaker experienced a service issue. Try your call again.
   819  //
   820  //   * ThrottlingException
   821  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   822  //   again.
   823  //
   824  //   * LimitExceededException
   825  //   The requested resource exceeds the maximum number allowed, or the number
   826  //   of concurrent stream requests exceeds the maximum number allowed.
   827  //
   828  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
   829  func (c *RoboMaker) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
   830  	req, out := c.CreateFleetRequest(input)
   831  	return out, req.Send()
   832  }
   833  
   834  // CreateFleetWithContext is the same as CreateFleet with the addition of
   835  // the ability to pass a context and additional request options.
   836  //
   837  // See CreateFleet for details on how to use this API operation.
   838  //
   839  // The context must be non-nil and will be used for request cancellation. If
   840  // the context is nil a panic will occur. In the future the SDK may create
   841  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   842  // for more information on using Contexts.
   843  func (c *RoboMaker) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
   844  	req, out := c.CreateFleetRequest(input)
   845  	req.SetContext(ctx)
   846  	req.ApplyOptions(opts...)
   847  	return out, req.Send()
   848  }
   849  
   850  const opCreateRobot = "CreateRobot"
   851  
   852  // CreateRobotRequest generates a "aws/request.Request" representing the
   853  // client's request for the CreateRobot operation. The "output" return
   854  // value will be populated with the request's response once the request completes
   855  // successfully.
   856  //
   857  // Use "Send" method on the returned Request to send the API call to the service.
   858  // the "output" return value is not valid until after Send returns without error.
   859  //
   860  // See CreateRobot for more information on using the CreateRobot
   861  // API call, and error handling.
   862  //
   863  // This method is useful when you want to inject custom logic or configuration
   864  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   865  //
   866  //
   867  //    // Example sending a request using the CreateRobotRequest method.
   868  //    req, resp := client.CreateRobotRequest(params)
   869  //
   870  //    err := req.Send()
   871  //    if err == nil { // resp is now filled
   872  //        fmt.Println(resp)
   873  //    }
   874  //
   875  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
   876  func (c *RoboMaker) CreateRobotRequest(input *CreateRobotInput) (req *request.Request, output *CreateRobotOutput) {
   877  	op := &request.Operation{
   878  		Name:       opCreateRobot,
   879  		HTTPMethod: "POST",
   880  		HTTPPath:   "/createRobot",
   881  	}
   882  
   883  	if input == nil {
   884  		input = &CreateRobotInput{}
   885  	}
   886  
   887  	output = &CreateRobotOutput{}
   888  	req = c.newRequest(op, input, output)
   889  	return
   890  }
   891  
   892  // CreateRobot API operation for AWS RoboMaker.
   893  //
   894  // Creates a robot.
   895  //
   896  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   897  // with awserr.Error's Code and Message methods to get detailed information about
   898  // the error.
   899  //
   900  // See the AWS API reference guide for AWS RoboMaker's
   901  // API operation CreateRobot for usage and error information.
   902  //
   903  // Returned Error Types:
   904  //   * InvalidParameterException
   905  //   A parameter specified in a request is not valid, is unsupported, or cannot
   906  //   be used. The returned message provides an explanation of the error value.
   907  //
   908  //   * InternalServerException
   909  //   AWS RoboMaker experienced a service issue. Try your call again.
   910  //
   911  //   * ThrottlingException
   912  //   AWS RoboMaker is temporarily unable to process the request. Try your call
   913  //   again.
   914  //
   915  //   * LimitExceededException
   916  //   The requested resource exceeds the maximum number allowed, or the number
   917  //   of concurrent stream requests exceeds the maximum number allowed.
   918  //
   919  //   * ResourceAlreadyExistsException
   920  //   The specified resource already exists.
   921  //
   922  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
   923  func (c *RoboMaker) CreateRobot(input *CreateRobotInput) (*CreateRobotOutput, error) {
   924  	req, out := c.CreateRobotRequest(input)
   925  	return out, req.Send()
   926  }
   927  
   928  // CreateRobotWithContext is the same as CreateRobot with the addition of
   929  // the ability to pass a context and additional request options.
   930  //
   931  // See CreateRobot for details on how to use this API operation.
   932  //
   933  // The context must be non-nil and will be used for request cancellation. If
   934  // the context is nil a panic will occur. In the future the SDK may create
   935  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   936  // for more information on using Contexts.
   937  func (c *RoboMaker) CreateRobotWithContext(ctx aws.Context, input *CreateRobotInput, opts ...request.Option) (*CreateRobotOutput, error) {
   938  	req, out := c.CreateRobotRequest(input)
   939  	req.SetContext(ctx)
   940  	req.ApplyOptions(opts...)
   941  	return out, req.Send()
   942  }
   943  
   944  const opCreateRobotApplication = "CreateRobotApplication"
   945  
   946  // CreateRobotApplicationRequest generates a "aws/request.Request" representing the
   947  // client's request for the CreateRobotApplication operation. The "output" return
   948  // value will be populated with the request's response once the request completes
   949  // successfully.
   950  //
   951  // Use "Send" method on the returned Request to send the API call to the service.
   952  // the "output" return value is not valid until after Send returns without error.
   953  //
   954  // See CreateRobotApplication for more information on using the CreateRobotApplication
   955  // API call, and error handling.
   956  //
   957  // This method is useful when you want to inject custom logic or configuration
   958  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   959  //
   960  //
   961  //    // Example sending a request using the CreateRobotApplicationRequest method.
   962  //    req, resp := client.CreateRobotApplicationRequest(params)
   963  //
   964  //    err := req.Send()
   965  //    if err == nil { // resp is now filled
   966  //        fmt.Println(resp)
   967  //    }
   968  //
   969  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
   970  func (c *RoboMaker) CreateRobotApplicationRequest(input *CreateRobotApplicationInput) (req *request.Request, output *CreateRobotApplicationOutput) {
   971  	op := &request.Operation{
   972  		Name:       opCreateRobotApplication,
   973  		HTTPMethod: "POST",
   974  		HTTPPath:   "/createRobotApplication",
   975  	}
   976  
   977  	if input == nil {
   978  		input = &CreateRobotApplicationInput{}
   979  	}
   980  
   981  	output = &CreateRobotApplicationOutput{}
   982  	req = c.newRequest(op, input, output)
   983  	return
   984  }
   985  
   986  // CreateRobotApplication API operation for AWS RoboMaker.
   987  //
   988  // Creates a robot application.
   989  //
   990  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   991  // with awserr.Error's Code and Message methods to get detailed information about
   992  // the error.
   993  //
   994  // See the AWS API reference guide for AWS RoboMaker's
   995  // API operation CreateRobotApplication for usage and error information.
   996  //
   997  // Returned Error Types:
   998  //   * InvalidParameterException
   999  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1000  //   be used. The returned message provides an explanation of the error value.
  1001  //
  1002  //   * ResourceAlreadyExistsException
  1003  //   The specified resource already exists.
  1004  //
  1005  //   * LimitExceededException
  1006  //   The requested resource exceeds the maximum number allowed, or the number
  1007  //   of concurrent stream requests exceeds the maximum number allowed.
  1008  //
  1009  //   * ThrottlingException
  1010  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1011  //   again.
  1012  //
  1013  //   * InternalServerException
  1014  //   AWS RoboMaker experienced a service issue. Try your call again.
  1015  //
  1016  //   * IdempotentParameterMismatchException
  1017  //   The request uses the same client token as a previous, but non-identical request.
  1018  //   Do not reuse a client token with different requests, unless the requests
  1019  //   are identical.
  1020  //
  1021  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
  1022  func (c *RoboMaker) CreateRobotApplication(input *CreateRobotApplicationInput) (*CreateRobotApplicationOutput, error) {
  1023  	req, out := c.CreateRobotApplicationRequest(input)
  1024  	return out, req.Send()
  1025  }
  1026  
  1027  // CreateRobotApplicationWithContext is the same as CreateRobotApplication with the addition of
  1028  // the ability to pass a context and additional request options.
  1029  //
  1030  // See CreateRobotApplication for details on how to use this API operation.
  1031  //
  1032  // The context must be non-nil and will be used for request cancellation. If
  1033  // the context is nil a panic will occur. In the future the SDK may create
  1034  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1035  // for more information on using Contexts.
  1036  func (c *RoboMaker) CreateRobotApplicationWithContext(ctx aws.Context, input *CreateRobotApplicationInput, opts ...request.Option) (*CreateRobotApplicationOutput, error) {
  1037  	req, out := c.CreateRobotApplicationRequest(input)
  1038  	req.SetContext(ctx)
  1039  	req.ApplyOptions(opts...)
  1040  	return out, req.Send()
  1041  }
  1042  
  1043  const opCreateRobotApplicationVersion = "CreateRobotApplicationVersion"
  1044  
  1045  // CreateRobotApplicationVersionRequest generates a "aws/request.Request" representing the
  1046  // client's request for the CreateRobotApplicationVersion operation. The "output" return
  1047  // value will be populated with the request's response once the request completes
  1048  // successfully.
  1049  //
  1050  // Use "Send" method on the returned Request to send the API call to the service.
  1051  // the "output" return value is not valid until after Send returns without error.
  1052  //
  1053  // See CreateRobotApplicationVersion for more information on using the CreateRobotApplicationVersion
  1054  // API call, and error handling.
  1055  //
  1056  // This method is useful when you want to inject custom logic or configuration
  1057  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1058  //
  1059  //
  1060  //    // Example sending a request using the CreateRobotApplicationVersionRequest method.
  1061  //    req, resp := client.CreateRobotApplicationVersionRequest(params)
  1062  //
  1063  //    err := req.Send()
  1064  //    if err == nil { // resp is now filled
  1065  //        fmt.Println(resp)
  1066  //    }
  1067  //
  1068  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
  1069  func (c *RoboMaker) CreateRobotApplicationVersionRequest(input *CreateRobotApplicationVersionInput) (req *request.Request, output *CreateRobotApplicationVersionOutput) {
  1070  	op := &request.Operation{
  1071  		Name:       opCreateRobotApplicationVersion,
  1072  		HTTPMethod: "POST",
  1073  		HTTPPath:   "/createRobotApplicationVersion",
  1074  	}
  1075  
  1076  	if input == nil {
  1077  		input = &CreateRobotApplicationVersionInput{}
  1078  	}
  1079  
  1080  	output = &CreateRobotApplicationVersionOutput{}
  1081  	req = c.newRequest(op, input, output)
  1082  	return
  1083  }
  1084  
  1085  // CreateRobotApplicationVersion API operation for AWS RoboMaker.
  1086  //
  1087  // Creates a version of a robot application.
  1088  //
  1089  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1090  // with awserr.Error's Code and Message methods to get detailed information about
  1091  // the error.
  1092  //
  1093  // See the AWS API reference guide for AWS RoboMaker's
  1094  // API operation CreateRobotApplicationVersion for usage and error information.
  1095  //
  1096  // Returned Error Types:
  1097  //   * InvalidParameterException
  1098  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1099  //   be used. The returned message provides an explanation of the error value.
  1100  //
  1101  //   * IdempotentParameterMismatchException
  1102  //   The request uses the same client token as a previous, but non-identical request.
  1103  //   Do not reuse a client token with different requests, unless the requests
  1104  //   are identical.
  1105  //
  1106  //   * LimitExceededException
  1107  //   The requested resource exceeds the maximum number allowed, or the number
  1108  //   of concurrent stream requests exceeds the maximum number allowed.
  1109  //
  1110  //   * ThrottlingException
  1111  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1112  //   again.
  1113  //
  1114  //   * InternalServerException
  1115  //   AWS RoboMaker experienced a service issue. Try your call again.
  1116  //
  1117  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
  1118  func (c *RoboMaker) CreateRobotApplicationVersion(input *CreateRobotApplicationVersionInput) (*CreateRobotApplicationVersionOutput, error) {
  1119  	req, out := c.CreateRobotApplicationVersionRequest(input)
  1120  	return out, req.Send()
  1121  }
  1122  
  1123  // CreateRobotApplicationVersionWithContext is the same as CreateRobotApplicationVersion with the addition of
  1124  // the ability to pass a context and additional request options.
  1125  //
  1126  // See CreateRobotApplicationVersion for details on how to use this API operation.
  1127  //
  1128  // The context must be non-nil and will be used for request cancellation. If
  1129  // the context is nil a panic will occur. In the future the SDK may create
  1130  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1131  // for more information on using Contexts.
  1132  func (c *RoboMaker) CreateRobotApplicationVersionWithContext(ctx aws.Context, input *CreateRobotApplicationVersionInput, opts ...request.Option) (*CreateRobotApplicationVersionOutput, error) {
  1133  	req, out := c.CreateRobotApplicationVersionRequest(input)
  1134  	req.SetContext(ctx)
  1135  	req.ApplyOptions(opts...)
  1136  	return out, req.Send()
  1137  }
  1138  
  1139  const opCreateSimulationApplication = "CreateSimulationApplication"
  1140  
  1141  // CreateSimulationApplicationRequest generates a "aws/request.Request" representing the
  1142  // client's request for the CreateSimulationApplication operation. The "output" return
  1143  // value will be populated with the request's response once the request completes
  1144  // successfully.
  1145  //
  1146  // Use "Send" method on the returned Request to send the API call to the service.
  1147  // the "output" return value is not valid until after Send returns without error.
  1148  //
  1149  // See CreateSimulationApplication for more information on using the CreateSimulationApplication
  1150  // API call, and error handling.
  1151  //
  1152  // This method is useful when you want to inject custom logic or configuration
  1153  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1154  //
  1155  //
  1156  //    // Example sending a request using the CreateSimulationApplicationRequest method.
  1157  //    req, resp := client.CreateSimulationApplicationRequest(params)
  1158  //
  1159  //    err := req.Send()
  1160  //    if err == nil { // resp is now filled
  1161  //        fmt.Println(resp)
  1162  //    }
  1163  //
  1164  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
  1165  func (c *RoboMaker) CreateSimulationApplicationRequest(input *CreateSimulationApplicationInput) (req *request.Request, output *CreateSimulationApplicationOutput) {
  1166  	op := &request.Operation{
  1167  		Name:       opCreateSimulationApplication,
  1168  		HTTPMethod: "POST",
  1169  		HTTPPath:   "/createSimulationApplication",
  1170  	}
  1171  
  1172  	if input == nil {
  1173  		input = &CreateSimulationApplicationInput{}
  1174  	}
  1175  
  1176  	output = &CreateSimulationApplicationOutput{}
  1177  	req = c.newRequest(op, input, output)
  1178  	return
  1179  }
  1180  
  1181  // CreateSimulationApplication API operation for AWS RoboMaker.
  1182  //
  1183  // Creates a simulation application.
  1184  //
  1185  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1186  // with awserr.Error's Code and Message methods to get detailed information about
  1187  // the error.
  1188  //
  1189  // See the AWS API reference guide for AWS RoboMaker's
  1190  // API operation CreateSimulationApplication for usage and error information.
  1191  //
  1192  // Returned Error Types:
  1193  //   * InvalidParameterException
  1194  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1195  //   be used. The returned message provides an explanation of the error value.
  1196  //
  1197  //   * ResourceAlreadyExistsException
  1198  //   The specified resource already exists.
  1199  //
  1200  //   * LimitExceededException
  1201  //   The requested resource exceeds the maximum number allowed, or the number
  1202  //   of concurrent stream requests exceeds the maximum number allowed.
  1203  //
  1204  //   * ThrottlingException
  1205  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1206  //   again.
  1207  //
  1208  //   * InternalServerException
  1209  //   AWS RoboMaker experienced a service issue. Try your call again.
  1210  //
  1211  //   * IdempotentParameterMismatchException
  1212  //   The request uses the same client token as a previous, but non-identical request.
  1213  //   Do not reuse a client token with different requests, unless the requests
  1214  //   are identical.
  1215  //
  1216  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
  1217  func (c *RoboMaker) CreateSimulationApplication(input *CreateSimulationApplicationInput) (*CreateSimulationApplicationOutput, error) {
  1218  	req, out := c.CreateSimulationApplicationRequest(input)
  1219  	return out, req.Send()
  1220  }
  1221  
  1222  // CreateSimulationApplicationWithContext is the same as CreateSimulationApplication with the addition of
  1223  // the ability to pass a context and additional request options.
  1224  //
  1225  // See CreateSimulationApplication for details on how to use this API operation.
  1226  //
  1227  // The context must be non-nil and will be used for request cancellation. If
  1228  // the context is nil a panic will occur. In the future the SDK may create
  1229  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1230  // for more information on using Contexts.
  1231  func (c *RoboMaker) CreateSimulationApplicationWithContext(ctx aws.Context, input *CreateSimulationApplicationInput, opts ...request.Option) (*CreateSimulationApplicationOutput, error) {
  1232  	req, out := c.CreateSimulationApplicationRequest(input)
  1233  	req.SetContext(ctx)
  1234  	req.ApplyOptions(opts...)
  1235  	return out, req.Send()
  1236  }
  1237  
  1238  const opCreateSimulationApplicationVersion = "CreateSimulationApplicationVersion"
  1239  
  1240  // CreateSimulationApplicationVersionRequest generates a "aws/request.Request" representing the
  1241  // client's request for the CreateSimulationApplicationVersion operation. The "output" return
  1242  // value will be populated with the request's response once the request completes
  1243  // successfully.
  1244  //
  1245  // Use "Send" method on the returned Request to send the API call to the service.
  1246  // the "output" return value is not valid until after Send returns without error.
  1247  //
  1248  // See CreateSimulationApplicationVersion for more information on using the CreateSimulationApplicationVersion
  1249  // API call, and error handling.
  1250  //
  1251  // This method is useful when you want to inject custom logic or configuration
  1252  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1253  //
  1254  //
  1255  //    // Example sending a request using the CreateSimulationApplicationVersionRequest method.
  1256  //    req, resp := client.CreateSimulationApplicationVersionRequest(params)
  1257  //
  1258  //    err := req.Send()
  1259  //    if err == nil { // resp is now filled
  1260  //        fmt.Println(resp)
  1261  //    }
  1262  //
  1263  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
  1264  func (c *RoboMaker) CreateSimulationApplicationVersionRequest(input *CreateSimulationApplicationVersionInput) (req *request.Request, output *CreateSimulationApplicationVersionOutput) {
  1265  	op := &request.Operation{
  1266  		Name:       opCreateSimulationApplicationVersion,
  1267  		HTTPMethod: "POST",
  1268  		HTTPPath:   "/createSimulationApplicationVersion",
  1269  	}
  1270  
  1271  	if input == nil {
  1272  		input = &CreateSimulationApplicationVersionInput{}
  1273  	}
  1274  
  1275  	output = &CreateSimulationApplicationVersionOutput{}
  1276  	req = c.newRequest(op, input, output)
  1277  	return
  1278  }
  1279  
  1280  // CreateSimulationApplicationVersion API operation for AWS RoboMaker.
  1281  //
  1282  // Creates a simulation application with a specific revision id.
  1283  //
  1284  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1285  // with awserr.Error's Code and Message methods to get detailed information about
  1286  // the error.
  1287  //
  1288  // See the AWS API reference guide for AWS RoboMaker's
  1289  // API operation CreateSimulationApplicationVersion for usage and error information.
  1290  //
  1291  // Returned Error Types:
  1292  //   * InvalidParameterException
  1293  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1294  //   be used. The returned message provides an explanation of the error value.
  1295  //
  1296  //   * IdempotentParameterMismatchException
  1297  //   The request uses the same client token as a previous, but non-identical request.
  1298  //   Do not reuse a client token with different requests, unless the requests
  1299  //   are identical.
  1300  //
  1301  //   * LimitExceededException
  1302  //   The requested resource exceeds the maximum number allowed, or the number
  1303  //   of concurrent stream requests exceeds the maximum number allowed.
  1304  //
  1305  //   * ThrottlingException
  1306  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1307  //   again.
  1308  //
  1309  //   * InternalServerException
  1310  //   AWS RoboMaker experienced a service issue. Try your call again.
  1311  //
  1312  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
  1313  func (c *RoboMaker) CreateSimulationApplicationVersion(input *CreateSimulationApplicationVersionInput) (*CreateSimulationApplicationVersionOutput, error) {
  1314  	req, out := c.CreateSimulationApplicationVersionRequest(input)
  1315  	return out, req.Send()
  1316  }
  1317  
  1318  // CreateSimulationApplicationVersionWithContext is the same as CreateSimulationApplicationVersion with the addition of
  1319  // the ability to pass a context and additional request options.
  1320  //
  1321  // See CreateSimulationApplicationVersion for details on how to use this API operation.
  1322  //
  1323  // The context must be non-nil and will be used for request cancellation. If
  1324  // the context is nil a panic will occur. In the future the SDK may create
  1325  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1326  // for more information on using Contexts.
  1327  func (c *RoboMaker) CreateSimulationApplicationVersionWithContext(ctx aws.Context, input *CreateSimulationApplicationVersionInput, opts ...request.Option) (*CreateSimulationApplicationVersionOutput, error) {
  1328  	req, out := c.CreateSimulationApplicationVersionRequest(input)
  1329  	req.SetContext(ctx)
  1330  	req.ApplyOptions(opts...)
  1331  	return out, req.Send()
  1332  }
  1333  
  1334  const opCreateSimulationJob = "CreateSimulationJob"
  1335  
  1336  // CreateSimulationJobRequest generates a "aws/request.Request" representing the
  1337  // client's request for the CreateSimulationJob operation. The "output" return
  1338  // value will be populated with the request's response once the request completes
  1339  // successfully.
  1340  //
  1341  // Use "Send" method on the returned Request to send the API call to the service.
  1342  // the "output" return value is not valid until after Send returns without error.
  1343  //
  1344  // See CreateSimulationJob for more information on using the CreateSimulationJob
  1345  // API call, and error handling.
  1346  //
  1347  // This method is useful when you want to inject custom logic or configuration
  1348  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1349  //
  1350  //
  1351  //    // Example sending a request using the CreateSimulationJobRequest method.
  1352  //    req, resp := client.CreateSimulationJobRequest(params)
  1353  //
  1354  //    err := req.Send()
  1355  //    if err == nil { // resp is now filled
  1356  //        fmt.Println(resp)
  1357  //    }
  1358  //
  1359  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
  1360  func (c *RoboMaker) CreateSimulationJobRequest(input *CreateSimulationJobInput) (req *request.Request, output *CreateSimulationJobOutput) {
  1361  	op := &request.Operation{
  1362  		Name:       opCreateSimulationJob,
  1363  		HTTPMethod: "POST",
  1364  		HTTPPath:   "/createSimulationJob",
  1365  	}
  1366  
  1367  	if input == nil {
  1368  		input = &CreateSimulationJobInput{}
  1369  	}
  1370  
  1371  	output = &CreateSimulationJobOutput{}
  1372  	req = c.newRequest(op, input, output)
  1373  	return
  1374  }
  1375  
  1376  // CreateSimulationJob API operation for AWS RoboMaker.
  1377  //
  1378  // Creates a simulation job.
  1379  //
  1380  // After 90 days, simulation jobs expire and will be deleted. They will no longer
  1381  // be accessible.
  1382  //
  1383  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1384  // with awserr.Error's Code and Message methods to get detailed information about
  1385  // the error.
  1386  //
  1387  // See the AWS API reference guide for AWS RoboMaker's
  1388  // API operation CreateSimulationJob for usage and error information.
  1389  //
  1390  // Returned Error Types:
  1391  //   * ResourceNotFoundException
  1392  //   The specified resource does not exist.
  1393  //
  1394  //   * InvalidParameterException
  1395  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1396  //   be used. The returned message provides an explanation of the error value.
  1397  //
  1398  //   * InternalServerException
  1399  //   AWS RoboMaker experienced a service issue. Try your call again.
  1400  //
  1401  //   * ThrottlingException
  1402  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1403  //   again.
  1404  //
  1405  //   * LimitExceededException
  1406  //   The requested resource exceeds the maximum number allowed, or the number
  1407  //   of concurrent stream requests exceeds the maximum number allowed.
  1408  //
  1409  //   * IdempotentParameterMismatchException
  1410  //   The request uses the same client token as a previous, but non-identical request.
  1411  //   Do not reuse a client token with different requests, unless the requests
  1412  //   are identical.
  1413  //
  1414  //   * ServiceUnavailableException
  1415  //   The request has failed due to a temporary failure of the server.
  1416  //
  1417  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
  1418  func (c *RoboMaker) CreateSimulationJob(input *CreateSimulationJobInput) (*CreateSimulationJobOutput, error) {
  1419  	req, out := c.CreateSimulationJobRequest(input)
  1420  	return out, req.Send()
  1421  }
  1422  
  1423  // CreateSimulationJobWithContext is the same as CreateSimulationJob with the addition of
  1424  // the ability to pass a context and additional request options.
  1425  //
  1426  // See CreateSimulationJob for details on how to use this API operation.
  1427  //
  1428  // The context must be non-nil and will be used for request cancellation. If
  1429  // the context is nil a panic will occur. In the future the SDK may create
  1430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1431  // for more information on using Contexts.
  1432  func (c *RoboMaker) CreateSimulationJobWithContext(ctx aws.Context, input *CreateSimulationJobInput, opts ...request.Option) (*CreateSimulationJobOutput, error) {
  1433  	req, out := c.CreateSimulationJobRequest(input)
  1434  	req.SetContext(ctx)
  1435  	req.ApplyOptions(opts...)
  1436  	return out, req.Send()
  1437  }
  1438  
  1439  const opCreateWorldExportJob = "CreateWorldExportJob"
  1440  
  1441  // CreateWorldExportJobRequest generates a "aws/request.Request" representing the
  1442  // client's request for the CreateWorldExportJob operation. The "output" return
  1443  // value will be populated with the request's response once the request completes
  1444  // successfully.
  1445  //
  1446  // Use "Send" method on the returned Request to send the API call to the service.
  1447  // the "output" return value is not valid until after Send returns without error.
  1448  //
  1449  // See CreateWorldExportJob for more information on using the CreateWorldExportJob
  1450  // API call, and error handling.
  1451  //
  1452  // This method is useful when you want to inject custom logic or configuration
  1453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1454  //
  1455  //
  1456  //    // Example sending a request using the CreateWorldExportJobRequest method.
  1457  //    req, resp := client.CreateWorldExportJobRequest(params)
  1458  //
  1459  //    err := req.Send()
  1460  //    if err == nil { // resp is now filled
  1461  //        fmt.Println(resp)
  1462  //    }
  1463  //
  1464  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldExportJob
  1465  func (c *RoboMaker) CreateWorldExportJobRequest(input *CreateWorldExportJobInput) (req *request.Request, output *CreateWorldExportJobOutput) {
  1466  	op := &request.Operation{
  1467  		Name:       opCreateWorldExportJob,
  1468  		HTTPMethod: "POST",
  1469  		HTTPPath:   "/createWorldExportJob",
  1470  	}
  1471  
  1472  	if input == nil {
  1473  		input = &CreateWorldExportJobInput{}
  1474  	}
  1475  
  1476  	output = &CreateWorldExportJobOutput{}
  1477  	req = c.newRequest(op, input, output)
  1478  	return
  1479  }
  1480  
  1481  // CreateWorldExportJob API operation for AWS RoboMaker.
  1482  //
  1483  // Creates a world export job.
  1484  //
  1485  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1486  // with awserr.Error's Code and Message methods to get detailed information about
  1487  // the error.
  1488  //
  1489  // See the AWS API reference guide for AWS RoboMaker's
  1490  // API operation CreateWorldExportJob for usage and error information.
  1491  //
  1492  // Returned Error Types:
  1493  //   * ResourceNotFoundException
  1494  //   The specified resource does not exist.
  1495  //
  1496  //   * InvalidParameterException
  1497  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1498  //   be used. The returned message provides an explanation of the error value.
  1499  //
  1500  //   * InternalServerException
  1501  //   AWS RoboMaker experienced a service issue. Try your call again.
  1502  //
  1503  //   * ThrottlingException
  1504  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1505  //   again.
  1506  //
  1507  //   * IdempotentParameterMismatchException
  1508  //   The request uses the same client token as a previous, but non-identical request.
  1509  //   Do not reuse a client token with different requests, unless the requests
  1510  //   are identical.
  1511  //
  1512  //   * ServiceUnavailableException
  1513  //   The request has failed due to a temporary failure of the server.
  1514  //
  1515  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldExportJob
  1516  func (c *RoboMaker) CreateWorldExportJob(input *CreateWorldExportJobInput) (*CreateWorldExportJobOutput, error) {
  1517  	req, out := c.CreateWorldExportJobRequest(input)
  1518  	return out, req.Send()
  1519  }
  1520  
  1521  // CreateWorldExportJobWithContext is the same as CreateWorldExportJob with the addition of
  1522  // the ability to pass a context and additional request options.
  1523  //
  1524  // See CreateWorldExportJob for details on how to use this API operation.
  1525  //
  1526  // The context must be non-nil and will be used for request cancellation. If
  1527  // the context is nil a panic will occur. In the future the SDK may create
  1528  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1529  // for more information on using Contexts.
  1530  func (c *RoboMaker) CreateWorldExportJobWithContext(ctx aws.Context, input *CreateWorldExportJobInput, opts ...request.Option) (*CreateWorldExportJobOutput, error) {
  1531  	req, out := c.CreateWorldExportJobRequest(input)
  1532  	req.SetContext(ctx)
  1533  	req.ApplyOptions(opts...)
  1534  	return out, req.Send()
  1535  }
  1536  
  1537  const opCreateWorldGenerationJob = "CreateWorldGenerationJob"
  1538  
  1539  // CreateWorldGenerationJobRequest generates a "aws/request.Request" representing the
  1540  // client's request for the CreateWorldGenerationJob operation. The "output" return
  1541  // value will be populated with the request's response once the request completes
  1542  // successfully.
  1543  //
  1544  // Use "Send" method on the returned Request to send the API call to the service.
  1545  // the "output" return value is not valid until after Send returns without error.
  1546  //
  1547  // See CreateWorldGenerationJob for more information on using the CreateWorldGenerationJob
  1548  // API call, and error handling.
  1549  //
  1550  // This method is useful when you want to inject custom logic or configuration
  1551  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1552  //
  1553  //
  1554  //    // Example sending a request using the CreateWorldGenerationJobRequest method.
  1555  //    req, resp := client.CreateWorldGenerationJobRequest(params)
  1556  //
  1557  //    err := req.Send()
  1558  //    if err == nil { // resp is now filled
  1559  //        fmt.Println(resp)
  1560  //    }
  1561  //
  1562  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldGenerationJob
  1563  func (c *RoboMaker) CreateWorldGenerationJobRequest(input *CreateWorldGenerationJobInput) (req *request.Request, output *CreateWorldGenerationJobOutput) {
  1564  	op := &request.Operation{
  1565  		Name:       opCreateWorldGenerationJob,
  1566  		HTTPMethod: "POST",
  1567  		HTTPPath:   "/createWorldGenerationJob",
  1568  	}
  1569  
  1570  	if input == nil {
  1571  		input = &CreateWorldGenerationJobInput{}
  1572  	}
  1573  
  1574  	output = &CreateWorldGenerationJobOutput{}
  1575  	req = c.newRequest(op, input, output)
  1576  	return
  1577  }
  1578  
  1579  // CreateWorldGenerationJob API operation for AWS RoboMaker.
  1580  //
  1581  // Creates worlds using the specified template.
  1582  //
  1583  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1584  // with awserr.Error's Code and Message methods to get detailed information about
  1585  // the error.
  1586  //
  1587  // See the AWS API reference guide for AWS RoboMaker's
  1588  // API operation CreateWorldGenerationJob for usage and error information.
  1589  //
  1590  // Returned Error Types:
  1591  //   * ResourceNotFoundException
  1592  //   The specified resource does not exist.
  1593  //
  1594  //   * InvalidParameterException
  1595  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1596  //   be used. The returned message provides an explanation of the error value.
  1597  //
  1598  //   * InternalServerException
  1599  //   AWS RoboMaker experienced a service issue. Try your call again.
  1600  //
  1601  //   * ThrottlingException
  1602  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1603  //   again.
  1604  //
  1605  //   * LimitExceededException
  1606  //   The requested resource exceeds the maximum number allowed, or the number
  1607  //   of concurrent stream requests exceeds the maximum number allowed.
  1608  //
  1609  //   * IdempotentParameterMismatchException
  1610  //   The request uses the same client token as a previous, but non-identical request.
  1611  //   Do not reuse a client token with different requests, unless the requests
  1612  //   are identical.
  1613  //
  1614  //   * ServiceUnavailableException
  1615  //   The request has failed due to a temporary failure of the server.
  1616  //
  1617  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldGenerationJob
  1618  func (c *RoboMaker) CreateWorldGenerationJob(input *CreateWorldGenerationJobInput) (*CreateWorldGenerationJobOutput, error) {
  1619  	req, out := c.CreateWorldGenerationJobRequest(input)
  1620  	return out, req.Send()
  1621  }
  1622  
  1623  // CreateWorldGenerationJobWithContext is the same as CreateWorldGenerationJob with the addition of
  1624  // the ability to pass a context and additional request options.
  1625  //
  1626  // See CreateWorldGenerationJob for details on how to use this API operation.
  1627  //
  1628  // The context must be non-nil and will be used for request cancellation. If
  1629  // the context is nil a panic will occur. In the future the SDK may create
  1630  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1631  // for more information on using Contexts.
  1632  func (c *RoboMaker) CreateWorldGenerationJobWithContext(ctx aws.Context, input *CreateWorldGenerationJobInput, opts ...request.Option) (*CreateWorldGenerationJobOutput, error) {
  1633  	req, out := c.CreateWorldGenerationJobRequest(input)
  1634  	req.SetContext(ctx)
  1635  	req.ApplyOptions(opts...)
  1636  	return out, req.Send()
  1637  }
  1638  
  1639  const opCreateWorldTemplate = "CreateWorldTemplate"
  1640  
  1641  // CreateWorldTemplateRequest generates a "aws/request.Request" representing the
  1642  // client's request for the CreateWorldTemplate operation. The "output" return
  1643  // value will be populated with the request's response once the request completes
  1644  // successfully.
  1645  //
  1646  // Use "Send" method on the returned Request to send the API call to the service.
  1647  // the "output" return value is not valid until after Send returns without error.
  1648  //
  1649  // See CreateWorldTemplate for more information on using the CreateWorldTemplate
  1650  // API call, and error handling.
  1651  //
  1652  // This method is useful when you want to inject custom logic or configuration
  1653  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1654  //
  1655  //
  1656  //    // Example sending a request using the CreateWorldTemplateRequest method.
  1657  //    req, resp := client.CreateWorldTemplateRequest(params)
  1658  //
  1659  //    err := req.Send()
  1660  //    if err == nil { // resp is now filled
  1661  //        fmt.Println(resp)
  1662  //    }
  1663  //
  1664  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldTemplate
  1665  func (c *RoboMaker) CreateWorldTemplateRequest(input *CreateWorldTemplateInput) (req *request.Request, output *CreateWorldTemplateOutput) {
  1666  	op := &request.Operation{
  1667  		Name:       opCreateWorldTemplate,
  1668  		HTTPMethod: "POST",
  1669  		HTTPPath:   "/createWorldTemplate",
  1670  	}
  1671  
  1672  	if input == nil {
  1673  		input = &CreateWorldTemplateInput{}
  1674  	}
  1675  
  1676  	output = &CreateWorldTemplateOutput{}
  1677  	req = c.newRequest(op, input, output)
  1678  	return
  1679  }
  1680  
  1681  // CreateWorldTemplate API operation for AWS RoboMaker.
  1682  //
  1683  // Creates a world template.
  1684  //
  1685  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1686  // with awserr.Error's Code and Message methods to get detailed information about
  1687  // the error.
  1688  //
  1689  // See the AWS API reference guide for AWS RoboMaker's
  1690  // API operation CreateWorldTemplate for usage and error information.
  1691  //
  1692  // Returned Error Types:
  1693  //   * InvalidParameterException
  1694  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1695  //   be used. The returned message provides an explanation of the error value.
  1696  //
  1697  //   * ResourceAlreadyExistsException
  1698  //   The specified resource already exists.
  1699  //
  1700  //   * ResourceNotFoundException
  1701  //   The specified resource does not exist.
  1702  //
  1703  //   * LimitExceededException
  1704  //   The requested resource exceeds the maximum number allowed, or the number
  1705  //   of concurrent stream requests exceeds the maximum number allowed.
  1706  //
  1707  //   * ThrottlingException
  1708  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1709  //   again.
  1710  //
  1711  //   * InternalServerException
  1712  //   AWS RoboMaker experienced a service issue. Try your call again.
  1713  //
  1714  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldTemplate
  1715  func (c *RoboMaker) CreateWorldTemplate(input *CreateWorldTemplateInput) (*CreateWorldTemplateOutput, error) {
  1716  	req, out := c.CreateWorldTemplateRequest(input)
  1717  	return out, req.Send()
  1718  }
  1719  
  1720  // CreateWorldTemplateWithContext is the same as CreateWorldTemplate with the addition of
  1721  // the ability to pass a context and additional request options.
  1722  //
  1723  // See CreateWorldTemplate for details on how to use this API operation.
  1724  //
  1725  // The context must be non-nil and will be used for request cancellation. If
  1726  // the context is nil a panic will occur. In the future the SDK may create
  1727  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1728  // for more information on using Contexts.
  1729  func (c *RoboMaker) CreateWorldTemplateWithContext(ctx aws.Context, input *CreateWorldTemplateInput, opts ...request.Option) (*CreateWorldTemplateOutput, error) {
  1730  	req, out := c.CreateWorldTemplateRequest(input)
  1731  	req.SetContext(ctx)
  1732  	req.ApplyOptions(opts...)
  1733  	return out, req.Send()
  1734  }
  1735  
  1736  const opDeleteFleet = "DeleteFleet"
  1737  
  1738  // DeleteFleetRequest generates a "aws/request.Request" representing the
  1739  // client's request for the DeleteFleet operation. The "output" return
  1740  // value will be populated with the request's response once the request completes
  1741  // successfully.
  1742  //
  1743  // Use "Send" method on the returned Request to send the API call to the service.
  1744  // the "output" return value is not valid until after Send returns without error.
  1745  //
  1746  // See DeleteFleet for more information on using the DeleteFleet
  1747  // API call, and error handling.
  1748  //
  1749  // This method is useful when you want to inject custom logic or configuration
  1750  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1751  //
  1752  //
  1753  //    // Example sending a request using the DeleteFleetRequest method.
  1754  //    req, resp := client.DeleteFleetRequest(params)
  1755  //
  1756  //    err := req.Send()
  1757  //    if err == nil { // resp is now filled
  1758  //        fmt.Println(resp)
  1759  //    }
  1760  //
  1761  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
  1762  func (c *RoboMaker) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
  1763  	op := &request.Operation{
  1764  		Name:       opDeleteFleet,
  1765  		HTTPMethod: "POST",
  1766  		HTTPPath:   "/deleteFleet",
  1767  	}
  1768  
  1769  	if input == nil {
  1770  		input = &DeleteFleetInput{}
  1771  	}
  1772  
  1773  	output = &DeleteFleetOutput{}
  1774  	req = c.newRequest(op, input, output)
  1775  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1776  	return
  1777  }
  1778  
  1779  // DeleteFleet API operation for AWS RoboMaker.
  1780  //
  1781  // Deletes a fleet.
  1782  //
  1783  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1784  // with awserr.Error's Code and Message methods to get detailed information about
  1785  // the error.
  1786  //
  1787  // See the AWS API reference guide for AWS RoboMaker's
  1788  // API operation DeleteFleet for usage and error information.
  1789  //
  1790  // Returned Error Types:
  1791  //   * InvalidParameterException
  1792  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1793  //   be used. The returned message provides an explanation of the error value.
  1794  //
  1795  //   * InternalServerException
  1796  //   AWS RoboMaker experienced a service issue. Try your call again.
  1797  //
  1798  //   * ThrottlingException
  1799  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1800  //   again.
  1801  //
  1802  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
  1803  func (c *RoboMaker) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
  1804  	req, out := c.DeleteFleetRequest(input)
  1805  	return out, req.Send()
  1806  }
  1807  
  1808  // DeleteFleetWithContext is the same as DeleteFleet with the addition of
  1809  // the ability to pass a context and additional request options.
  1810  //
  1811  // See DeleteFleet for details on how to use this API operation.
  1812  //
  1813  // The context must be non-nil and will be used for request cancellation. If
  1814  // the context is nil a panic will occur. In the future the SDK may create
  1815  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1816  // for more information on using Contexts.
  1817  func (c *RoboMaker) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
  1818  	req, out := c.DeleteFleetRequest(input)
  1819  	req.SetContext(ctx)
  1820  	req.ApplyOptions(opts...)
  1821  	return out, req.Send()
  1822  }
  1823  
  1824  const opDeleteRobot = "DeleteRobot"
  1825  
  1826  // DeleteRobotRequest generates a "aws/request.Request" representing the
  1827  // client's request for the DeleteRobot operation. The "output" return
  1828  // value will be populated with the request's response once the request completes
  1829  // successfully.
  1830  //
  1831  // Use "Send" method on the returned Request to send the API call to the service.
  1832  // the "output" return value is not valid until after Send returns without error.
  1833  //
  1834  // See DeleteRobot for more information on using the DeleteRobot
  1835  // API call, and error handling.
  1836  //
  1837  // This method is useful when you want to inject custom logic or configuration
  1838  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1839  //
  1840  //
  1841  //    // Example sending a request using the DeleteRobotRequest method.
  1842  //    req, resp := client.DeleteRobotRequest(params)
  1843  //
  1844  //    err := req.Send()
  1845  //    if err == nil { // resp is now filled
  1846  //        fmt.Println(resp)
  1847  //    }
  1848  //
  1849  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
  1850  func (c *RoboMaker) DeleteRobotRequest(input *DeleteRobotInput) (req *request.Request, output *DeleteRobotOutput) {
  1851  	op := &request.Operation{
  1852  		Name:       opDeleteRobot,
  1853  		HTTPMethod: "POST",
  1854  		HTTPPath:   "/deleteRobot",
  1855  	}
  1856  
  1857  	if input == nil {
  1858  		input = &DeleteRobotInput{}
  1859  	}
  1860  
  1861  	output = &DeleteRobotOutput{}
  1862  	req = c.newRequest(op, input, output)
  1863  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1864  	return
  1865  }
  1866  
  1867  // DeleteRobot API operation for AWS RoboMaker.
  1868  //
  1869  // Deletes a robot.
  1870  //
  1871  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1872  // with awserr.Error's Code and Message methods to get detailed information about
  1873  // the error.
  1874  //
  1875  // See the AWS API reference guide for AWS RoboMaker's
  1876  // API operation DeleteRobot for usage and error information.
  1877  //
  1878  // Returned Error Types:
  1879  //   * InvalidParameterException
  1880  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1881  //   be used. The returned message provides an explanation of the error value.
  1882  //
  1883  //   * InternalServerException
  1884  //   AWS RoboMaker experienced a service issue. Try your call again.
  1885  //
  1886  //   * ThrottlingException
  1887  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1888  //   again.
  1889  //
  1890  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
  1891  func (c *RoboMaker) DeleteRobot(input *DeleteRobotInput) (*DeleteRobotOutput, error) {
  1892  	req, out := c.DeleteRobotRequest(input)
  1893  	return out, req.Send()
  1894  }
  1895  
  1896  // DeleteRobotWithContext is the same as DeleteRobot with the addition of
  1897  // the ability to pass a context and additional request options.
  1898  //
  1899  // See DeleteRobot for details on how to use this API operation.
  1900  //
  1901  // The context must be non-nil and will be used for request cancellation. If
  1902  // the context is nil a panic will occur. In the future the SDK may create
  1903  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1904  // for more information on using Contexts.
  1905  func (c *RoboMaker) DeleteRobotWithContext(ctx aws.Context, input *DeleteRobotInput, opts ...request.Option) (*DeleteRobotOutput, error) {
  1906  	req, out := c.DeleteRobotRequest(input)
  1907  	req.SetContext(ctx)
  1908  	req.ApplyOptions(opts...)
  1909  	return out, req.Send()
  1910  }
  1911  
  1912  const opDeleteRobotApplication = "DeleteRobotApplication"
  1913  
  1914  // DeleteRobotApplicationRequest generates a "aws/request.Request" representing the
  1915  // client's request for the DeleteRobotApplication operation. The "output" return
  1916  // value will be populated with the request's response once the request completes
  1917  // successfully.
  1918  //
  1919  // Use "Send" method on the returned Request to send the API call to the service.
  1920  // the "output" return value is not valid until after Send returns without error.
  1921  //
  1922  // See DeleteRobotApplication for more information on using the DeleteRobotApplication
  1923  // API call, and error handling.
  1924  //
  1925  // This method is useful when you want to inject custom logic or configuration
  1926  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1927  //
  1928  //
  1929  //    // Example sending a request using the DeleteRobotApplicationRequest method.
  1930  //    req, resp := client.DeleteRobotApplicationRequest(params)
  1931  //
  1932  //    err := req.Send()
  1933  //    if err == nil { // resp is now filled
  1934  //        fmt.Println(resp)
  1935  //    }
  1936  //
  1937  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
  1938  func (c *RoboMaker) DeleteRobotApplicationRequest(input *DeleteRobotApplicationInput) (req *request.Request, output *DeleteRobotApplicationOutput) {
  1939  	op := &request.Operation{
  1940  		Name:       opDeleteRobotApplication,
  1941  		HTTPMethod: "POST",
  1942  		HTTPPath:   "/deleteRobotApplication",
  1943  	}
  1944  
  1945  	if input == nil {
  1946  		input = &DeleteRobotApplicationInput{}
  1947  	}
  1948  
  1949  	output = &DeleteRobotApplicationOutput{}
  1950  	req = c.newRequest(op, input, output)
  1951  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1952  	return
  1953  }
  1954  
  1955  // DeleteRobotApplication API operation for AWS RoboMaker.
  1956  //
  1957  // Deletes a robot application.
  1958  //
  1959  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1960  // with awserr.Error's Code and Message methods to get detailed information about
  1961  // the error.
  1962  //
  1963  // See the AWS API reference guide for AWS RoboMaker's
  1964  // API operation DeleteRobotApplication for usage and error information.
  1965  //
  1966  // Returned Error Types:
  1967  //   * InvalidParameterException
  1968  //   A parameter specified in a request is not valid, is unsupported, or cannot
  1969  //   be used. The returned message provides an explanation of the error value.
  1970  //
  1971  //   * ThrottlingException
  1972  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  1973  //   again.
  1974  //
  1975  //   * InternalServerException
  1976  //   AWS RoboMaker experienced a service issue. Try your call again.
  1977  //
  1978  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
  1979  func (c *RoboMaker) DeleteRobotApplication(input *DeleteRobotApplicationInput) (*DeleteRobotApplicationOutput, error) {
  1980  	req, out := c.DeleteRobotApplicationRequest(input)
  1981  	return out, req.Send()
  1982  }
  1983  
  1984  // DeleteRobotApplicationWithContext is the same as DeleteRobotApplication with the addition of
  1985  // the ability to pass a context and additional request options.
  1986  //
  1987  // See DeleteRobotApplication for details on how to use this API operation.
  1988  //
  1989  // The context must be non-nil and will be used for request cancellation. If
  1990  // the context is nil a panic will occur. In the future the SDK may create
  1991  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1992  // for more information on using Contexts.
  1993  func (c *RoboMaker) DeleteRobotApplicationWithContext(ctx aws.Context, input *DeleteRobotApplicationInput, opts ...request.Option) (*DeleteRobotApplicationOutput, error) {
  1994  	req, out := c.DeleteRobotApplicationRequest(input)
  1995  	req.SetContext(ctx)
  1996  	req.ApplyOptions(opts...)
  1997  	return out, req.Send()
  1998  }
  1999  
  2000  const opDeleteSimulationApplication = "DeleteSimulationApplication"
  2001  
  2002  // DeleteSimulationApplicationRequest generates a "aws/request.Request" representing the
  2003  // client's request for the DeleteSimulationApplication operation. The "output" return
  2004  // value will be populated with the request's response once the request completes
  2005  // successfully.
  2006  //
  2007  // Use "Send" method on the returned Request to send the API call to the service.
  2008  // the "output" return value is not valid until after Send returns without error.
  2009  //
  2010  // See DeleteSimulationApplication for more information on using the DeleteSimulationApplication
  2011  // API call, and error handling.
  2012  //
  2013  // This method is useful when you want to inject custom logic or configuration
  2014  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2015  //
  2016  //
  2017  //    // Example sending a request using the DeleteSimulationApplicationRequest method.
  2018  //    req, resp := client.DeleteSimulationApplicationRequest(params)
  2019  //
  2020  //    err := req.Send()
  2021  //    if err == nil { // resp is now filled
  2022  //        fmt.Println(resp)
  2023  //    }
  2024  //
  2025  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
  2026  func (c *RoboMaker) DeleteSimulationApplicationRequest(input *DeleteSimulationApplicationInput) (req *request.Request, output *DeleteSimulationApplicationOutput) {
  2027  	op := &request.Operation{
  2028  		Name:       opDeleteSimulationApplication,
  2029  		HTTPMethod: "POST",
  2030  		HTTPPath:   "/deleteSimulationApplication",
  2031  	}
  2032  
  2033  	if input == nil {
  2034  		input = &DeleteSimulationApplicationInput{}
  2035  	}
  2036  
  2037  	output = &DeleteSimulationApplicationOutput{}
  2038  	req = c.newRequest(op, input, output)
  2039  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2040  	return
  2041  }
  2042  
  2043  // DeleteSimulationApplication API operation for AWS RoboMaker.
  2044  //
  2045  // Deletes a simulation application.
  2046  //
  2047  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2048  // with awserr.Error's Code and Message methods to get detailed information about
  2049  // the error.
  2050  //
  2051  // See the AWS API reference guide for AWS RoboMaker's
  2052  // API operation DeleteSimulationApplication for usage and error information.
  2053  //
  2054  // Returned Error Types:
  2055  //   * InvalidParameterException
  2056  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2057  //   be used. The returned message provides an explanation of the error value.
  2058  //
  2059  //   * ThrottlingException
  2060  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2061  //   again.
  2062  //
  2063  //   * InternalServerException
  2064  //   AWS RoboMaker experienced a service issue. Try your call again.
  2065  //
  2066  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
  2067  func (c *RoboMaker) DeleteSimulationApplication(input *DeleteSimulationApplicationInput) (*DeleteSimulationApplicationOutput, error) {
  2068  	req, out := c.DeleteSimulationApplicationRequest(input)
  2069  	return out, req.Send()
  2070  }
  2071  
  2072  // DeleteSimulationApplicationWithContext is the same as DeleteSimulationApplication with the addition of
  2073  // the ability to pass a context and additional request options.
  2074  //
  2075  // See DeleteSimulationApplication for details on how to use this API operation.
  2076  //
  2077  // The context must be non-nil and will be used for request cancellation. If
  2078  // the context is nil a panic will occur. In the future the SDK may create
  2079  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2080  // for more information on using Contexts.
  2081  func (c *RoboMaker) DeleteSimulationApplicationWithContext(ctx aws.Context, input *DeleteSimulationApplicationInput, opts ...request.Option) (*DeleteSimulationApplicationOutput, error) {
  2082  	req, out := c.DeleteSimulationApplicationRequest(input)
  2083  	req.SetContext(ctx)
  2084  	req.ApplyOptions(opts...)
  2085  	return out, req.Send()
  2086  }
  2087  
  2088  const opDeleteWorldTemplate = "DeleteWorldTemplate"
  2089  
  2090  // DeleteWorldTemplateRequest generates a "aws/request.Request" representing the
  2091  // client's request for the DeleteWorldTemplate operation. The "output" return
  2092  // value will be populated with the request's response once the request completes
  2093  // successfully.
  2094  //
  2095  // Use "Send" method on the returned Request to send the API call to the service.
  2096  // the "output" return value is not valid until after Send returns without error.
  2097  //
  2098  // See DeleteWorldTemplate for more information on using the DeleteWorldTemplate
  2099  // API call, and error handling.
  2100  //
  2101  // This method is useful when you want to inject custom logic or configuration
  2102  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2103  //
  2104  //
  2105  //    // Example sending a request using the DeleteWorldTemplateRequest method.
  2106  //    req, resp := client.DeleteWorldTemplateRequest(params)
  2107  //
  2108  //    err := req.Send()
  2109  //    if err == nil { // resp is now filled
  2110  //        fmt.Println(resp)
  2111  //    }
  2112  //
  2113  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteWorldTemplate
  2114  func (c *RoboMaker) DeleteWorldTemplateRequest(input *DeleteWorldTemplateInput) (req *request.Request, output *DeleteWorldTemplateOutput) {
  2115  	op := &request.Operation{
  2116  		Name:       opDeleteWorldTemplate,
  2117  		HTTPMethod: "POST",
  2118  		HTTPPath:   "/deleteWorldTemplate",
  2119  	}
  2120  
  2121  	if input == nil {
  2122  		input = &DeleteWorldTemplateInput{}
  2123  	}
  2124  
  2125  	output = &DeleteWorldTemplateOutput{}
  2126  	req = c.newRequest(op, input, output)
  2127  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  2128  	return
  2129  }
  2130  
  2131  // DeleteWorldTemplate API operation for AWS RoboMaker.
  2132  //
  2133  // Deletes a world template.
  2134  //
  2135  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2136  // with awserr.Error's Code and Message methods to get detailed information about
  2137  // the error.
  2138  //
  2139  // See the AWS API reference guide for AWS RoboMaker's
  2140  // API operation DeleteWorldTemplate for usage and error information.
  2141  //
  2142  // Returned Error Types:
  2143  //   * InvalidParameterException
  2144  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2145  //   be used. The returned message provides an explanation of the error value.
  2146  //
  2147  //   * ResourceNotFoundException
  2148  //   The specified resource does not exist.
  2149  //
  2150  //   * ThrottlingException
  2151  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2152  //   again.
  2153  //
  2154  //   * InternalServerException
  2155  //   AWS RoboMaker experienced a service issue. Try your call again.
  2156  //
  2157  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteWorldTemplate
  2158  func (c *RoboMaker) DeleteWorldTemplate(input *DeleteWorldTemplateInput) (*DeleteWorldTemplateOutput, error) {
  2159  	req, out := c.DeleteWorldTemplateRequest(input)
  2160  	return out, req.Send()
  2161  }
  2162  
  2163  // DeleteWorldTemplateWithContext is the same as DeleteWorldTemplate with the addition of
  2164  // the ability to pass a context and additional request options.
  2165  //
  2166  // See DeleteWorldTemplate for details on how to use this API operation.
  2167  //
  2168  // The context must be non-nil and will be used for request cancellation. If
  2169  // the context is nil a panic will occur. In the future the SDK may create
  2170  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2171  // for more information on using Contexts.
  2172  func (c *RoboMaker) DeleteWorldTemplateWithContext(ctx aws.Context, input *DeleteWorldTemplateInput, opts ...request.Option) (*DeleteWorldTemplateOutput, error) {
  2173  	req, out := c.DeleteWorldTemplateRequest(input)
  2174  	req.SetContext(ctx)
  2175  	req.ApplyOptions(opts...)
  2176  	return out, req.Send()
  2177  }
  2178  
  2179  const opDeregisterRobot = "DeregisterRobot"
  2180  
  2181  // DeregisterRobotRequest generates a "aws/request.Request" representing the
  2182  // client's request for the DeregisterRobot operation. The "output" return
  2183  // value will be populated with the request's response once the request completes
  2184  // successfully.
  2185  //
  2186  // Use "Send" method on the returned Request to send the API call to the service.
  2187  // the "output" return value is not valid until after Send returns without error.
  2188  //
  2189  // See DeregisterRobot for more information on using the DeregisterRobot
  2190  // API call, and error handling.
  2191  //
  2192  // This method is useful when you want to inject custom logic or configuration
  2193  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2194  //
  2195  //
  2196  //    // Example sending a request using the DeregisterRobotRequest method.
  2197  //    req, resp := client.DeregisterRobotRequest(params)
  2198  //
  2199  //    err := req.Send()
  2200  //    if err == nil { // resp is now filled
  2201  //        fmt.Println(resp)
  2202  //    }
  2203  //
  2204  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
  2205  func (c *RoboMaker) DeregisterRobotRequest(input *DeregisterRobotInput) (req *request.Request, output *DeregisterRobotOutput) {
  2206  	op := &request.Operation{
  2207  		Name:       opDeregisterRobot,
  2208  		HTTPMethod: "POST",
  2209  		HTTPPath:   "/deregisterRobot",
  2210  	}
  2211  
  2212  	if input == nil {
  2213  		input = &DeregisterRobotInput{}
  2214  	}
  2215  
  2216  	output = &DeregisterRobotOutput{}
  2217  	req = c.newRequest(op, input, output)
  2218  	return
  2219  }
  2220  
  2221  // DeregisterRobot API operation for AWS RoboMaker.
  2222  //
  2223  // Deregisters a robot.
  2224  //
  2225  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2226  // with awserr.Error's Code and Message methods to get detailed information about
  2227  // the error.
  2228  //
  2229  // See the AWS API reference guide for AWS RoboMaker's
  2230  // API operation DeregisterRobot for usage and error information.
  2231  //
  2232  // Returned Error Types:
  2233  //   * InvalidParameterException
  2234  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2235  //   be used. The returned message provides an explanation of the error value.
  2236  //
  2237  //   * InternalServerException
  2238  //   AWS RoboMaker experienced a service issue. Try your call again.
  2239  //
  2240  //   * ThrottlingException
  2241  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2242  //   again.
  2243  //
  2244  //   * ResourceNotFoundException
  2245  //   The specified resource does not exist.
  2246  //
  2247  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
  2248  func (c *RoboMaker) DeregisterRobot(input *DeregisterRobotInput) (*DeregisterRobotOutput, error) {
  2249  	req, out := c.DeregisterRobotRequest(input)
  2250  	return out, req.Send()
  2251  }
  2252  
  2253  // DeregisterRobotWithContext is the same as DeregisterRobot with the addition of
  2254  // the ability to pass a context and additional request options.
  2255  //
  2256  // See DeregisterRobot for details on how to use this API operation.
  2257  //
  2258  // The context must be non-nil and will be used for request cancellation. If
  2259  // the context is nil a panic will occur. In the future the SDK may create
  2260  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2261  // for more information on using Contexts.
  2262  func (c *RoboMaker) DeregisterRobotWithContext(ctx aws.Context, input *DeregisterRobotInput, opts ...request.Option) (*DeregisterRobotOutput, error) {
  2263  	req, out := c.DeregisterRobotRequest(input)
  2264  	req.SetContext(ctx)
  2265  	req.ApplyOptions(opts...)
  2266  	return out, req.Send()
  2267  }
  2268  
  2269  const opDescribeDeploymentJob = "DescribeDeploymentJob"
  2270  
  2271  // DescribeDeploymentJobRequest generates a "aws/request.Request" representing the
  2272  // client's request for the DescribeDeploymentJob operation. The "output" return
  2273  // value will be populated with the request's response once the request completes
  2274  // successfully.
  2275  //
  2276  // Use "Send" method on the returned Request to send the API call to the service.
  2277  // the "output" return value is not valid until after Send returns without error.
  2278  //
  2279  // See DescribeDeploymentJob for more information on using the DescribeDeploymentJob
  2280  // API call, and error handling.
  2281  //
  2282  // This method is useful when you want to inject custom logic or configuration
  2283  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2284  //
  2285  //
  2286  //    // Example sending a request using the DescribeDeploymentJobRequest method.
  2287  //    req, resp := client.DescribeDeploymentJobRequest(params)
  2288  //
  2289  //    err := req.Send()
  2290  //    if err == nil { // resp is now filled
  2291  //        fmt.Println(resp)
  2292  //    }
  2293  //
  2294  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
  2295  func (c *RoboMaker) DescribeDeploymentJobRequest(input *DescribeDeploymentJobInput) (req *request.Request, output *DescribeDeploymentJobOutput) {
  2296  	op := &request.Operation{
  2297  		Name:       opDescribeDeploymentJob,
  2298  		HTTPMethod: "POST",
  2299  		HTTPPath:   "/describeDeploymentJob",
  2300  	}
  2301  
  2302  	if input == nil {
  2303  		input = &DescribeDeploymentJobInput{}
  2304  	}
  2305  
  2306  	output = &DescribeDeploymentJobOutput{}
  2307  	req = c.newRequest(op, input, output)
  2308  	return
  2309  }
  2310  
  2311  // DescribeDeploymentJob API operation for AWS RoboMaker.
  2312  //
  2313  // Describes a deployment job.
  2314  //
  2315  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2316  // with awserr.Error's Code and Message methods to get detailed information about
  2317  // the error.
  2318  //
  2319  // See the AWS API reference guide for AWS RoboMaker's
  2320  // API operation DescribeDeploymentJob for usage and error information.
  2321  //
  2322  // Returned Error Types:
  2323  //   * ResourceNotFoundException
  2324  //   The specified resource does not exist.
  2325  //
  2326  //   * InvalidParameterException
  2327  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2328  //   be used. The returned message provides an explanation of the error value.
  2329  //
  2330  //   * InternalServerException
  2331  //   AWS RoboMaker experienced a service issue. Try your call again.
  2332  //
  2333  //   * ThrottlingException
  2334  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2335  //   again.
  2336  //
  2337  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
  2338  func (c *RoboMaker) DescribeDeploymentJob(input *DescribeDeploymentJobInput) (*DescribeDeploymentJobOutput, error) {
  2339  	req, out := c.DescribeDeploymentJobRequest(input)
  2340  	return out, req.Send()
  2341  }
  2342  
  2343  // DescribeDeploymentJobWithContext is the same as DescribeDeploymentJob with the addition of
  2344  // the ability to pass a context and additional request options.
  2345  //
  2346  // See DescribeDeploymentJob for details on how to use this API operation.
  2347  //
  2348  // The context must be non-nil and will be used for request cancellation. If
  2349  // the context is nil a panic will occur. In the future the SDK may create
  2350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2351  // for more information on using Contexts.
  2352  func (c *RoboMaker) DescribeDeploymentJobWithContext(ctx aws.Context, input *DescribeDeploymentJobInput, opts ...request.Option) (*DescribeDeploymentJobOutput, error) {
  2353  	req, out := c.DescribeDeploymentJobRequest(input)
  2354  	req.SetContext(ctx)
  2355  	req.ApplyOptions(opts...)
  2356  	return out, req.Send()
  2357  }
  2358  
  2359  const opDescribeFleet = "DescribeFleet"
  2360  
  2361  // DescribeFleetRequest generates a "aws/request.Request" representing the
  2362  // client's request for the DescribeFleet operation. The "output" return
  2363  // value will be populated with the request's response once the request completes
  2364  // successfully.
  2365  //
  2366  // Use "Send" method on the returned Request to send the API call to the service.
  2367  // the "output" return value is not valid until after Send returns without error.
  2368  //
  2369  // See DescribeFleet for more information on using the DescribeFleet
  2370  // API call, and error handling.
  2371  //
  2372  // This method is useful when you want to inject custom logic or configuration
  2373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2374  //
  2375  //
  2376  //    // Example sending a request using the DescribeFleetRequest method.
  2377  //    req, resp := client.DescribeFleetRequest(params)
  2378  //
  2379  //    err := req.Send()
  2380  //    if err == nil { // resp is now filled
  2381  //        fmt.Println(resp)
  2382  //    }
  2383  //
  2384  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
  2385  func (c *RoboMaker) DescribeFleetRequest(input *DescribeFleetInput) (req *request.Request, output *DescribeFleetOutput) {
  2386  	op := &request.Operation{
  2387  		Name:       opDescribeFleet,
  2388  		HTTPMethod: "POST",
  2389  		HTTPPath:   "/describeFleet",
  2390  	}
  2391  
  2392  	if input == nil {
  2393  		input = &DescribeFleetInput{}
  2394  	}
  2395  
  2396  	output = &DescribeFleetOutput{}
  2397  	req = c.newRequest(op, input, output)
  2398  	return
  2399  }
  2400  
  2401  // DescribeFleet API operation for AWS RoboMaker.
  2402  //
  2403  // Describes a fleet.
  2404  //
  2405  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2406  // with awserr.Error's Code and Message methods to get detailed information about
  2407  // the error.
  2408  //
  2409  // See the AWS API reference guide for AWS RoboMaker's
  2410  // API operation DescribeFleet for usage and error information.
  2411  //
  2412  // Returned Error Types:
  2413  //   * ResourceNotFoundException
  2414  //   The specified resource does not exist.
  2415  //
  2416  //   * InvalidParameterException
  2417  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2418  //   be used. The returned message provides an explanation of the error value.
  2419  //
  2420  //   * InternalServerException
  2421  //   AWS RoboMaker experienced a service issue. Try your call again.
  2422  //
  2423  //   * ThrottlingException
  2424  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2425  //   again.
  2426  //
  2427  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
  2428  func (c *RoboMaker) DescribeFleet(input *DescribeFleetInput) (*DescribeFleetOutput, error) {
  2429  	req, out := c.DescribeFleetRequest(input)
  2430  	return out, req.Send()
  2431  }
  2432  
  2433  // DescribeFleetWithContext is the same as DescribeFleet with the addition of
  2434  // the ability to pass a context and additional request options.
  2435  //
  2436  // See DescribeFleet for details on how to use this API operation.
  2437  //
  2438  // The context must be non-nil and will be used for request cancellation. If
  2439  // the context is nil a panic will occur. In the future the SDK may create
  2440  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2441  // for more information on using Contexts.
  2442  func (c *RoboMaker) DescribeFleetWithContext(ctx aws.Context, input *DescribeFleetInput, opts ...request.Option) (*DescribeFleetOutput, error) {
  2443  	req, out := c.DescribeFleetRequest(input)
  2444  	req.SetContext(ctx)
  2445  	req.ApplyOptions(opts...)
  2446  	return out, req.Send()
  2447  }
  2448  
  2449  const opDescribeRobot = "DescribeRobot"
  2450  
  2451  // DescribeRobotRequest generates a "aws/request.Request" representing the
  2452  // client's request for the DescribeRobot operation. The "output" return
  2453  // value will be populated with the request's response once the request completes
  2454  // successfully.
  2455  //
  2456  // Use "Send" method on the returned Request to send the API call to the service.
  2457  // the "output" return value is not valid until after Send returns without error.
  2458  //
  2459  // See DescribeRobot for more information on using the DescribeRobot
  2460  // API call, and error handling.
  2461  //
  2462  // This method is useful when you want to inject custom logic or configuration
  2463  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2464  //
  2465  //
  2466  //    // Example sending a request using the DescribeRobotRequest method.
  2467  //    req, resp := client.DescribeRobotRequest(params)
  2468  //
  2469  //    err := req.Send()
  2470  //    if err == nil { // resp is now filled
  2471  //        fmt.Println(resp)
  2472  //    }
  2473  //
  2474  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
  2475  func (c *RoboMaker) DescribeRobotRequest(input *DescribeRobotInput) (req *request.Request, output *DescribeRobotOutput) {
  2476  	op := &request.Operation{
  2477  		Name:       opDescribeRobot,
  2478  		HTTPMethod: "POST",
  2479  		HTTPPath:   "/describeRobot",
  2480  	}
  2481  
  2482  	if input == nil {
  2483  		input = &DescribeRobotInput{}
  2484  	}
  2485  
  2486  	output = &DescribeRobotOutput{}
  2487  	req = c.newRequest(op, input, output)
  2488  	return
  2489  }
  2490  
  2491  // DescribeRobot API operation for AWS RoboMaker.
  2492  //
  2493  // Describes a robot.
  2494  //
  2495  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2496  // with awserr.Error's Code and Message methods to get detailed information about
  2497  // the error.
  2498  //
  2499  // See the AWS API reference guide for AWS RoboMaker's
  2500  // API operation DescribeRobot for usage and error information.
  2501  //
  2502  // Returned Error Types:
  2503  //   * ResourceNotFoundException
  2504  //   The specified resource does not exist.
  2505  //
  2506  //   * InvalidParameterException
  2507  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2508  //   be used. The returned message provides an explanation of the error value.
  2509  //
  2510  //   * InternalServerException
  2511  //   AWS RoboMaker experienced a service issue. Try your call again.
  2512  //
  2513  //   * ThrottlingException
  2514  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2515  //   again.
  2516  //
  2517  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
  2518  func (c *RoboMaker) DescribeRobot(input *DescribeRobotInput) (*DescribeRobotOutput, error) {
  2519  	req, out := c.DescribeRobotRequest(input)
  2520  	return out, req.Send()
  2521  }
  2522  
  2523  // DescribeRobotWithContext is the same as DescribeRobot with the addition of
  2524  // the ability to pass a context and additional request options.
  2525  //
  2526  // See DescribeRobot for details on how to use this API operation.
  2527  //
  2528  // The context must be non-nil and will be used for request cancellation. If
  2529  // the context is nil a panic will occur. In the future the SDK may create
  2530  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2531  // for more information on using Contexts.
  2532  func (c *RoboMaker) DescribeRobotWithContext(ctx aws.Context, input *DescribeRobotInput, opts ...request.Option) (*DescribeRobotOutput, error) {
  2533  	req, out := c.DescribeRobotRequest(input)
  2534  	req.SetContext(ctx)
  2535  	req.ApplyOptions(opts...)
  2536  	return out, req.Send()
  2537  }
  2538  
  2539  const opDescribeRobotApplication = "DescribeRobotApplication"
  2540  
  2541  // DescribeRobotApplicationRequest generates a "aws/request.Request" representing the
  2542  // client's request for the DescribeRobotApplication operation. The "output" return
  2543  // value will be populated with the request's response once the request completes
  2544  // successfully.
  2545  //
  2546  // Use "Send" method on the returned Request to send the API call to the service.
  2547  // the "output" return value is not valid until after Send returns without error.
  2548  //
  2549  // See DescribeRobotApplication for more information on using the DescribeRobotApplication
  2550  // API call, and error handling.
  2551  //
  2552  // This method is useful when you want to inject custom logic or configuration
  2553  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2554  //
  2555  //
  2556  //    // Example sending a request using the DescribeRobotApplicationRequest method.
  2557  //    req, resp := client.DescribeRobotApplicationRequest(params)
  2558  //
  2559  //    err := req.Send()
  2560  //    if err == nil { // resp is now filled
  2561  //        fmt.Println(resp)
  2562  //    }
  2563  //
  2564  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
  2565  func (c *RoboMaker) DescribeRobotApplicationRequest(input *DescribeRobotApplicationInput) (req *request.Request, output *DescribeRobotApplicationOutput) {
  2566  	op := &request.Operation{
  2567  		Name:       opDescribeRobotApplication,
  2568  		HTTPMethod: "POST",
  2569  		HTTPPath:   "/describeRobotApplication",
  2570  	}
  2571  
  2572  	if input == nil {
  2573  		input = &DescribeRobotApplicationInput{}
  2574  	}
  2575  
  2576  	output = &DescribeRobotApplicationOutput{}
  2577  	req = c.newRequest(op, input, output)
  2578  	return
  2579  }
  2580  
  2581  // DescribeRobotApplication API operation for AWS RoboMaker.
  2582  //
  2583  // Describes a robot application.
  2584  //
  2585  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2586  // with awserr.Error's Code and Message methods to get detailed information about
  2587  // the error.
  2588  //
  2589  // See the AWS API reference guide for AWS RoboMaker's
  2590  // API operation DescribeRobotApplication for usage and error information.
  2591  //
  2592  // Returned Error Types:
  2593  //   * InvalidParameterException
  2594  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2595  //   be used. The returned message provides an explanation of the error value.
  2596  //
  2597  //   * ResourceNotFoundException
  2598  //   The specified resource does not exist.
  2599  //
  2600  //   * ThrottlingException
  2601  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2602  //   again.
  2603  //
  2604  //   * InternalServerException
  2605  //   AWS RoboMaker experienced a service issue. Try your call again.
  2606  //
  2607  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
  2608  func (c *RoboMaker) DescribeRobotApplication(input *DescribeRobotApplicationInput) (*DescribeRobotApplicationOutput, error) {
  2609  	req, out := c.DescribeRobotApplicationRequest(input)
  2610  	return out, req.Send()
  2611  }
  2612  
  2613  // DescribeRobotApplicationWithContext is the same as DescribeRobotApplication with the addition of
  2614  // the ability to pass a context and additional request options.
  2615  //
  2616  // See DescribeRobotApplication for details on how to use this API operation.
  2617  //
  2618  // The context must be non-nil and will be used for request cancellation. If
  2619  // the context is nil a panic will occur. In the future the SDK may create
  2620  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2621  // for more information on using Contexts.
  2622  func (c *RoboMaker) DescribeRobotApplicationWithContext(ctx aws.Context, input *DescribeRobotApplicationInput, opts ...request.Option) (*DescribeRobotApplicationOutput, error) {
  2623  	req, out := c.DescribeRobotApplicationRequest(input)
  2624  	req.SetContext(ctx)
  2625  	req.ApplyOptions(opts...)
  2626  	return out, req.Send()
  2627  }
  2628  
  2629  const opDescribeSimulationApplication = "DescribeSimulationApplication"
  2630  
  2631  // DescribeSimulationApplicationRequest generates a "aws/request.Request" representing the
  2632  // client's request for the DescribeSimulationApplication operation. The "output" return
  2633  // value will be populated with the request's response once the request completes
  2634  // successfully.
  2635  //
  2636  // Use "Send" method on the returned Request to send the API call to the service.
  2637  // the "output" return value is not valid until after Send returns without error.
  2638  //
  2639  // See DescribeSimulationApplication for more information on using the DescribeSimulationApplication
  2640  // API call, and error handling.
  2641  //
  2642  // This method is useful when you want to inject custom logic or configuration
  2643  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2644  //
  2645  //
  2646  //    // Example sending a request using the DescribeSimulationApplicationRequest method.
  2647  //    req, resp := client.DescribeSimulationApplicationRequest(params)
  2648  //
  2649  //    err := req.Send()
  2650  //    if err == nil { // resp is now filled
  2651  //        fmt.Println(resp)
  2652  //    }
  2653  //
  2654  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
  2655  func (c *RoboMaker) DescribeSimulationApplicationRequest(input *DescribeSimulationApplicationInput) (req *request.Request, output *DescribeSimulationApplicationOutput) {
  2656  	op := &request.Operation{
  2657  		Name:       opDescribeSimulationApplication,
  2658  		HTTPMethod: "POST",
  2659  		HTTPPath:   "/describeSimulationApplication",
  2660  	}
  2661  
  2662  	if input == nil {
  2663  		input = &DescribeSimulationApplicationInput{}
  2664  	}
  2665  
  2666  	output = &DescribeSimulationApplicationOutput{}
  2667  	req = c.newRequest(op, input, output)
  2668  	return
  2669  }
  2670  
  2671  // DescribeSimulationApplication API operation for AWS RoboMaker.
  2672  //
  2673  // Describes a simulation application.
  2674  //
  2675  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2676  // with awserr.Error's Code and Message methods to get detailed information about
  2677  // the error.
  2678  //
  2679  // See the AWS API reference guide for AWS RoboMaker's
  2680  // API operation DescribeSimulationApplication for usage and error information.
  2681  //
  2682  // Returned Error Types:
  2683  //   * InvalidParameterException
  2684  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2685  //   be used. The returned message provides an explanation of the error value.
  2686  //
  2687  //   * ResourceNotFoundException
  2688  //   The specified resource does not exist.
  2689  //
  2690  //   * ThrottlingException
  2691  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2692  //   again.
  2693  //
  2694  //   * InternalServerException
  2695  //   AWS RoboMaker experienced a service issue. Try your call again.
  2696  //
  2697  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
  2698  func (c *RoboMaker) DescribeSimulationApplication(input *DescribeSimulationApplicationInput) (*DescribeSimulationApplicationOutput, error) {
  2699  	req, out := c.DescribeSimulationApplicationRequest(input)
  2700  	return out, req.Send()
  2701  }
  2702  
  2703  // DescribeSimulationApplicationWithContext is the same as DescribeSimulationApplication with the addition of
  2704  // the ability to pass a context and additional request options.
  2705  //
  2706  // See DescribeSimulationApplication for details on how to use this API operation.
  2707  //
  2708  // The context must be non-nil and will be used for request cancellation. If
  2709  // the context is nil a panic will occur. In the future the SDK may create
  2710  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2711  // for more information on using Contexts.
  2712  func (c *RoboMaker) DescribeSimulationApplicationWithContext(ctx aws.Context, input *DescribeSimulationApplicationInput, opts ...request.Option) (*DescribeSimulationApplicationOutput, error) {
  2713  	req, out := c.DescribeSimulationApplicationRequest(input)
  2714  	req.SetContext(ctx)
  2715  	req.ApplyOptions(opts...)
  2716  	return out, req.Send()
  2717  }
  2718  
  2719  const opDescribeSimulationJob = "DescribeSimulationJob"
  2720  
  2721  // DescribeSimulationJobRequest generates a "aws/request.Request" representing the
  2722  // client's request for the DescribeSimulationJob operation. The "output" return
  2723  // value will be populated with the request's response once the request completes
  2724  // successfully.
  2725  //
  2726  // Use "Send" method on the returned Request to send the API call to the service.
  2727  // the "output" return value is not valid until after Send returns without error.
  2728  //
  2729  // See DescribeSimulationJob for more information on using the DescribeSimulationJob
  2730  // API call, and error handling.
  2731  //
  2732  // This method is useful when you want to inject custom logic or configuration
  2733  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2734  //
  2735  //
  2736  //    // Example sending a request using the DescribeSimulationJobRequest method.
  2737  //    req, resp := client.DescribeSimulationJobRequest(params)
  2738  //
  2739  //    err := req.Send()
  2740  //    if err == nil { // resp is now filled
  2741  //        fmt.Println(resp)
  2742  //    }
  2743  //
  2744  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
  2745  func (c *RoboMaker) DescribeSimulationJobRequest(input *DescribeSimulationJobInput) (req *request.Request, output *DescribeSimulationJobOutput) {
  2746  	op := &request.Operation{
  2747  		Name:       opDescribeSimulationJob,
  2748  		HTTPMethod: "POST",
  2749  		HTTPPath:   "/describeSimulationJob",
  2750  	}
  2751  
  2752  	if input == nil {
  2753  		input = &DescribeSimulationJobInput{}
  2754  	}
  2755  
  2756  	output = &DescribeSimulationJobOutput{}
  2757  	req = c.newRequest(op, input, output)
  2758  	return
  2759  }
  2760  
  2761  // DescribeSimulationJob API operation for AWS RoboMaker.
  2762  //
  2763  // Describes a simulation job.
  2764  //
  2765  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2766  // with awserr.Error's Code and Message methods to get detailed information about
  2767  // the error.
  2768  //
  2769  // See the AWS API reference guide for AWS RoboMaker's
  2770  // API operation DescribeSimulationJob for usage and error information.
  2771  //
  2772  // Returned Error Types:
  2773  //   * ResourceNotFoundException
  2774  //   The specified resource does not exist.
  2775  //
  2776  //   * InvalidParameterException
  2777  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2778  //   be used. The returned message provides an explanation of the error value.
  2779  //
  2780  //   * InternalServerException
  2781  //   AWS RoboMaker experienced a service issue. Try your call again.
  2782  //
  2783  //   * ThrottlingException
  2784  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2785  //   again.
  2786  //
  2787  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
  2788  func (c *RoboMaker) DescribeSimulationJob(input *DescribeSimulationJobInput) (*DescribeSimulationJobOutput, error) {
  2789  	req, out := c.DescribeSimulationJobRequest(input)
  2790  	return out, req.Send()
  2791  }
  2792  
  2793  // DescribeSimulationJobWithContext is the same as DescribeSimulationJob with the addition of
  2794  // the ability to pass a context and additional request options.
  2795  //
  2796  // See DescribeSimulationJob for details on how to use this API operation.
  2797  //
  2798  // The context must be non-nil and will be used for request cancellation. If
  2799  // the context is nil a panic will occur. In the future the SDK may create
  2800  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2801  // for more information on using Contexts.
  2802  func (c *RoboMaker) DescribeSimulationJobWithContext(ctx aws.Context, input *DescribeSimulationJobInput, opts ...request.Option) (*DescribeSimulationJobOutput, error) {
  2803  	req, out := c.DescribeSimulationJobRequest(input)
  2804  	req.SetContext(ctx)
  2805  	req.ApplyOptions(opts...)
  2806  	return out, req.Send()
  2807  }
  2808  
  2809  const opDescribeSimulationJobBatch = "DescribeSimulationJobBatch"
  2810  
  2811  // DescribeSimulationJobBatchRequest generates a "aws/request.Request" representing the
  2812  // client's request for the DescribeSimulationJobBatch operation. The "output" return
  2813  // value will be populated with the request's response once the request completes
  2814  // successfully.
  2815  //
  2816  // Use "Send" method on the returned Request to send the API call to the service.
  2817  // the "output" return value is not valid until after Send returns without error.
  2818  //
  2819  // See DescribeSimulationJobBatch for more information on using the DescribeSimulationJobBatch
  2820  // API call, and error handling.
  2821  //
  2822  // This method is useful when you want to inject custom logic or configuration
  2823  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2824  //
  2825  //
  2826  //    // Example sending a request using the DescribeSimulationJobBatchRequest method.
  2827  //    req, resp := client.DescribeSimulationJobBatchRequest(params)
  2828  //
  2829  //    err := req.Send()
  2830  //    if err == nil { // resp is now filled
  2831  //        fmt.Println(resp)
  2832  //    }
  2833  //
  2834  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJobBatch
  2835  func (c *RoboMaker) DescribeSimulationJobBatchRequest(input *DescribeSimulationJobBatchInput) (req *request.Request, output *DescribeSimulationJobBatchOutput) {
  2836  	op := &request.Operation{
  2837  		Name:       opDescribeSimulationJobBatch,
  2838  		HTTPMethod: "POST",
  2839  		HTTPPath:   "/describeSimulationJobBatch",
  2840  	}
  2841  
  2842  	if input == nil {
  2843  		input = &DescribeSimulationJobBatchInput{}
  2844  	}
  2845  
  2846  	output = &DescribeSimulationJobBatchOutput{}
  2847  	req = c.newRequest(op, input, output)
  2848  	return
  2849  }
  2850  
  2851  // DescribeSimulationJobBatch API operation for AWS RoboMaker.
  2852  //
  2853  // Describes a simulation job batch.
  2854  //
  2855  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2856  // with awserr.Error's Code and Message methods to get detailed information about
  2857  // the error.
  2858  //
  2859  // See the AWS API reference guide for AWS RoboMaker's
  2860  // API operation DescribeSimulationJobBatch for usage and error information.
  2861  //
  2862  // Returned Error Types:
  2863  //   * ResourceNotFoundException
  2864  //   The specified resource does not exist.
  2865  //
  2866  //   * InvalidParameterException
  2867  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2868  //   be used. The returned message provides an explanation of the error value.
  2869  //
  2870  //   * InternalServerException
  2871  //   AWS RoboMaker experienced a service issue. Try your call again.
  2872  //
  2873  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJobBatch
  2874  func (c *RoboMaker) DescribeSimulationJobBatch(input *DescribeSimulationJobBatchInput) (*DescribeSimulationJobBatchOutput, error) {
  2875  	req, out := c.DescribeSimulationJobBatchRequest(input)
  2876  	return out, req.Send()
  2877  }
  2878  
  2879  // DescribeSimulationJobBatchWithContext is the same as DescribeSimulationJobBatch with the addition of
  2880  // the ability to pass a context and additional request options.
  2881  //
  2882  // See DescribeSimulationJobBatch for details on how to use this API operation.
  2883  //
  2884  // The context must be non-nil and will be used for request cancellation. If
  2885  // the context is nil a panic will occur. In the future the SDK may create
  2886  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2887  // for more information on using Contexts.
  2888  func (c *RoboMaker) DescribeSimulationJobBatchWithContext(ctx aws.Context, input *DescribeSimulationJobBatchInput, opts ...request.Option) (*DescribeSimulationJobBatchOutput, error) {
  2889  	req, out := c.DescribeSimulationJobBatchRequest(input)
  2890  	req.SetContext(ctx)
  2891  	req.ApplyOptions(opts...)
  2892  	return out, req.Send()
  2893  }
  2894  
  2895  const opDescribeWorld = "DescribeWorld"
  2896  
  2897  // DescribeWorldRequest generates a "aws/request.Request" representing the
  2898  // client's request for the DescribeWorld operation. The "output" return
  2899  // value will be populated with the request's response once the request completes
  2900  // successfully.
  2901  //
  2902  // Use "Send" method on the returned Request to send the API call to the service.
  2903  // the "output" return value is not valid until after Send returns without error.
  2904  //
  2905  // See DescribeWorld for more information on using the DescribeWorld
  2906  // API call, and error handling.
  2907  //
  2908  // This method is useful when you want to inject custom logic or configuration
  2909  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2910  //
  2911  //
  2912  //    // Example sending a request using the DescribeWorldRequest method.
  2913  //    req, resp := client.DescribeWorldRequest(params)
  2914  //
  2915  //    err := req.Send()
  2916  //    if err == nil { // resp is now filled
  2917  //        fmt.Println(resp)
  2918  //    }
  2919  //
  2920  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorld
  2921  func (c *RoboMaker) DescribeWorldRequest(input *DescribeWorldInput) (req *request.Request, output *DescribeWorldOutput) {
  2922  	op := &request.Operation{
  2923  		Name:       opDescribeWorld,
  2924  		HTTPMethod: "POST",
  2925  		HTTPPath:   "/describeWorld",
  2926  	}
  2927  
  2928  	if input == nil {
  2929  		input = &DescribeWorldInput{}
  2930  	}
  2931  
  2932  	output = &DescribeWorldOutput{}
  2933  	req = c.newRequest(op, input, output)
  2934  	return
  2935  }
  2936  
  2937  // DescribeWorld API operation for AWS RoboMaker.
  2938  //
  2939  // Describes a world.
  2940  //
  2941  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2942  // with awserr.Error's Code and Message methods to get detailed information about
  2943  // the error.
  2944  //
  2945  // See the AWS API reference guide for AWS RoboMaker's
  2946  // API operation DescribeWorld for usage and error information.
  2947  //
  2948  // Returned Error Types:
  2949  //   * InvalidParameterException
  2950  //   A parameter specified in a request is not valid, is unsupported, or cannot
  2951  //   be used. The returned message provides an explanation of the error value.
  2952  //
  2953  //   * ResourceNotFoundException
  2954  //   The specified resource does not exist.
  2955  //
  2956  //   * ThrottlingException
  2957  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  2958  //   again.
  2959  //
  2960  //   * InternalServerException
  2961  //   AWS RoboMaker experienced a service issue. Try your call again.
  2962  //
  2963  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorld
  2964  func (c *RoboMaker) DescribeWorld(input *DescribeWorldInput) (*DescribeWorldOutput, error) {
  2965  	req, out := c.DescribeWorldRequest(input)
  2966  	return out, req.Send()
  2967  }
  2968  
  2969  // DescribeWorldWithContext is the same as DescribeWorld with the addition of
  2970  // the ability to pass a context and additional request options.
  2971  //
  2972  // See DescribeWorld for details on how to use this API operation.
  2973  //
  2974  // The context must be non-nil and will be used for request cancellation. If
  2975  // the context is nil a panic will occur. In the future the SDK may create
  2976  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2977  // for more information on using Contexts.
  2978  func (c *RoboMaker) DescribeWorldWithContext(ctx aws.Context, input *DescribeWorldInput, opts ...request.Option) (*DescribeWorldOutput, error) {
  2979  	req, out := c.DescribeWorldRequest(input)
  2980  	req.SetContext(ctx)
  2981  	req.ApplyOptions(opts...)
  2982  	return out, req.Send()
  2983  }
  2984  
  2985  const opDescribeWorldExportJob = "DescribeWorldExportJob"
  2986  
  2987  // DescribeWorldExportJobRequest generates a "aws/request.Request" representing the
  2988  // client's request for the DescribeWorldExportJob operation. The "output" return
  2989  // value will be populated with the request's response once the request completes
  2990  // successfully.
  2991  //
  2992  // Use "Send" method on the returned Request to send the API call to the service.
  2993  // the "output" return value is not valid until after Send returns without error.
  2994  //
  2995  // See DescribeWorldExportJob for more information on using the DescribeWorldExportJob
  2996  // API call, and error handling.
  2997  //
  2998  // This method is useful when you want to inject custom logic or configuration
  2999  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3000  //
  3001  //
  3002  //    // Example sending a request using the DescribeWorldExportJobRequest method.
  3003  //    req, resp := client.DescribeWorldExportJobRequest(params)
  3004  //
  3005  //    err := req.Send()
  3006  //    if err == nil { // resp is now filled
  3007  //        fmt.Println(resp)
  3008  //    }
  3009  //
  3010  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldExportJob
  3011  func (c *RoboMaker) DescribeWorldExportJobRequest(input *DescribeWorldExportJobInput) (req *request.Request, output *DescribeWorldExportJobOutput) {
  3012  	op := &request.Operation{
  3013  		Name:       opDescribeWorldExportJob,
  3014  		HTTPMethod: "POST",
  3015  		HTTPPath:   "/describeWorldExportJob",
  3016  	}
  3017  
  3018  	if input == nil {
  3019  		input = &DescribeWorldExportJobInput{}
  3020  	}
  3021  
  3022  	output = &DescribeWorldExportJobOutput{}
  3023  	req = c.newRequest(op, input, output)
  3024  	return
  3025  }
  3026  
  3027  // DescribeWorldExportJob API operation for AWS RoboMaker.
  3028  //
  3029  // Describes a world export job.
  3030  //
  3031  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3032  // with awserr.Error's Code and Message methods to get detailed information about
  3033  // the error.
  3034  //
  3035  // See the AWS API reference guide for AWS RoboMaker's
  3036  // API operation DescribeWorldExportJob for usage and error information.
  3037  //
  3038  // Returned Error Types:
  3039  //   * ResourceNotFoundException
  3040  //   The specified resource does not exist.
  3041  //
  3042  //   * InvalidParameterException
  3043  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3044  //   be used. The returned message provides an explanation of the error value.
  3045  //
  3046  //   * InternalServerException
  3047  //   AWS RoboMaker experienced a service issue. Try your call again.
  3048  //
  3049  //   * ThrottlingException
  3050  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3051  //   again.
  3052  //
  3053  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldExportJob
  3054  func (c *RoboMaker) DescribeWorldExportJob(input *DescribeWorldExportJobInput) (*DescribeWorldExportJobOutput, error) {
  3055  	req, out := c.DescribeWorldExportJobRequest(input)
  3056  	return out, req.Send()
  3057  }
  3058  
  3059  // DescribeWorldExportJobWithContext is the same as DescribeWorldExportJob with the addition of
  3060  // the ability to pass a context and additional request options.
  3061  //
  3062  // See DescribeWorldExportJob for details on how to use this API operation.
  3063  //
  3064  // The context must be non-nil and will be used for request cancellation. If
  3065  // the context is nil a panic will occur. In the future the SDK may create
  3066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3067  // for more information on using Contexts.
  3068  func (c *RoboMaker) DescribeWorldExportJobWithContext(ctx aws.Context, input *DescribeWorldExportJobInput, opts ...request.Option) (*DescribeWorldExportJobOutput, error) {
  3069  	req, out := c.DescribeWorldExportJobRequest(input)
  3070  	req.SetContext(ctx)
  3071  	req.ApplyOptions(opts...)
  3072  	return out, req.Send()
  3073  }
  3074  
  3075  const opDescribeWorldGenerationJob = "DescribeWorldGenerationJob"
  3076  
  3077  // DescribeWorldGenerationJobRequest generates a "aws/request.Request" representing the
  3078  // client's request for the DescribeWorldGenerationJob operation. The "output" return
  3079  // value will be populated with the request's response once the request completes
  3080  // successfully.
  3081  //
  3082  // Use "Send" method on the returned Request to send the API call to the service.
  3083  // the "output" return value is not valid until after Send returns without error.
  3084  //
  3085  // See DescribeWorldGenerationJob for more information on using the DescribeWorldGenerationJob
  3086  // API call, and error handling.
  3087  //
  3088  // This method is useful when you want to inject custom logic or configuration
  3089  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3090  //
  3091  //
  3092  //    // Example sending a request using the DescribeWorldGenerationJobRequest method.
  3093  //    req, resp := client.DescribeWorldGenerationJobRequest(params)
  3094  //
  3095  //    err := req.Send()
  3096  //    if err == nil { // resp is now filled
  3097  //        fmt.Println(resp)
  3098  //    }
  3099  //
  3100  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldGenerationJob
  3101  func (c *RoboMaker) DescribeWorldGenerationJobRequest(input *DescribeWorldGenerationJobInput) (req *request.Request, output *DescribeWorldGenerationJobOutput) {
  3102  	op := &request.Operation{
  3103  		Name:       opDescribeWorldGenerationJob,
  3104  		HTTPMethod: "POST",
  3105  		HTTPPath:   "/describeWorldGenerationJob",
  3106  	}
  3107  
  3108  	if input == nil {
  3109  		input = &DescribeWorldGenerationJobInput{}
  3110  	}
  3111  
  3112  	output = &DescribeWorldGenerationJobOutput{}
  3113  	req = c.newRequest(op, input, output)
  3114  	return
  3115  }
  3116  
  3117  // DescribeWorldGenerationJob API operation for AWS RoboMaker.
  3118  //
  3119  // Describes a world generation job.
  3120  //
  3121  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3122  // with awserr.Error's Code and Message methods to get detailed information about
  3123  // the error.
  3124  //
  3125  // See the AWS API reference guide for AWS RoboMaker's
  3126  // API operation DescribeWorldGenerationJob for usage and error information.
  3127  //
  3128  // Returned Error Types:
  3129  //   * ResourceNotFoundException
  3130  //   The specified resource does not exist.
  3131  //
  3132  //   * InvalidParameterException
  3133  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3134  //   be used. The returned message provides an explanation of the error value.
  3135  //
  3136  //   * InternalServerException
  3137  //   AWS RoboMaker experienced a service issue. Try your call again.
  3138  //
  3139  //   * ThrottlingException
  3140  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3141  //   again.
  3142  //
  3143  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldGenerationJob
  3144  func (c *RoboMaker) DescribeWorldGenerationJob(input *DescribeWorldGenerationJobInput) (*DescribeWorldGenerationJobOutput, error) {
  3145  	req, out := c.DescribeWorldGenerationJobRequest(input)
  3146  	return out, req.Send()
  3147  }
  3148  
  3149  // DescribeWorldGenerationJobWithContext is the same as DescribeWorldGenerationJob with the addition of
  3150  // the ability to pass a context and additional request options.
  3151  //
  3152  // See DescribeWorldGenerationJob for details on how to use this API operation.
  3153  //
  3154  // The context must be non-nil and will be used for request cancellation. If
  3155  // the context is nil a panic will occur. In the future the SDK may create
  3156  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3157  // for more information on using Contexts.
  3158  func (c *RoboMaker) DescribeWorldGenerationJobWithContext(ctx aws.Context, input *DescribeWorldGenerationJobInput, opts ...request.Option) (*DescribeWorldGenerationJobOutput, error) {
  3159  	req, out := c.DescribeWorldGenerationJobRequest(input)
  3160  	req.SetContext(ctx)
  3161  	req.ApplyOptions(opts...)
  3162  	return out, req.Send()
  3163  }
  3164  
  3165  const opDescribeWorldTemplate = "DescribeWorldTemplate"
  3166  
  3167  // DescribeWorldTemplateRequest generates a "aws/request.Request" representing the
  3168  // client's request for the DescribeWorldTemplate operation. The "output" return
  3169  // value will be populated with the request's response once the request completes
  3170  // successfully.
  3171  //
  3172  // Use "Send" method on the returned Request to send the API call to the service.
  3173  // the "output" return value is not valid until after Send returns without error.
  3174  //
  3175  // See DescribeWorldTemplate for more information on using the DescribeWorldTemplate
  3176  // API call, and error handling.
  3177  //
  3178  // This method is useful when you want to inject custom logic or configuration
  3179  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3180  //
  3181  //
  3182  //    // Example sending a request using the DescribeWorldTemplateRequest method.
  3183  //    req, resp := client.DescribeWorldTemplateRequest(params)
  3184  //
  3185  //    err := req.Send()
  3186  //    if err == nil { // resp is now filled
  3187  //        fmt.Println(resp)
  3188  //    }
  3189  //
  3190  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldTemplate
  3191  func (c *RoboMaker) DescribeWorldTemplateRequest(input *DescribeWorldTemplateInput) (req *request.Request, output *DescribeWorldTemplateOutput) {
  3192  	op := &request.Operation{
  3193  		Name:       opDescribeWorldTemplate,
  3194  		HTTPMethod: "POST",
  3195  		HTTPPath:   "/describeWorldTemplate",
  3196  	}
  3197  
  3198  	if input == nil {
  3199  		input = &DescribeWorldTemplateInput{}
  3200  	}
  3201  
  3202  	output = &DescribeWorldTemplateOutput{}
  3203  	req = c.newRequest(op, input, output)
  3204  	return
  3205  }
  3206  
  3207  // DescribeWorldTemplate API operation for AWS RoboMaker.
  3208  //
  3209  // Describes a world template.
  3210  //
  3211  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3212  // with awserr.Error's Code and Message methods to get detailed information about
  3213  // the error.
  3214  //
  3215  // See the AWS API reference guide for AWS RoboMaker's
  3216  // API operation DescribeWorldTemplate for usage and error information.
  3217  //
  3218  // Returned Error Types:
  3219  //   * InvalidParameterException
  3220  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3221  //   be used. The returned message provides an explanation of the error value.
  3222  //
  3223  //   * ResourceNotFoundException
  3224  //   The specified resource does not exist.
  3225  //
  3226  //   * ThrottlingException
  3227  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3228  //   again.
  3229  //
  3230  //   * InternalServerException
  3231  //   AWS RoboMaker experienced a service issue. Try your call again.
  3232  //
  3233  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldTemplate
  3234  func (c *RoboMaker) DescribeWorldTemplate(input *DescribeWorldTemplateInput) (*DescribeWorldTemplateOutput, error) {
  3235  	req, out := c.DescribeWorldTemplateRequest(input)
  3236  	return out, req.Send()
  3237  }
  3238  
  3239  // DescribeWorldTemplateWithContext is the same as DescribeWorldTemplate with the addition of
  3240  // the ability to pass a context and additional request options.
  3241  //
  3242  // See DescribeWorldTemplate for details on how to use this API operation.
  3243  //
  3244  // The context must be non-nil and will be used for request cancellation. If
  3245  // the context is nil a panic will occur. In the future the SDK may create
  3246  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3247  // for more information on using Contexts.
  3248  func (c *RoboMaker) DescribeWorldTemplateWithContext(ctx aws.Context, input *DescribeWorldTemplateInput, opts ...request.Option) (*DescribeWorldTemplateOutput, error) {
  3249  	req, out := c.DescribeWorldTemplateRequest(input)
  3250  	req.SetContext(ctx)
  3251  	req.ApplyOptions(opts...)
  3252  	return out, req.Send()
  3253  }
  3254  
  3255  const opGetWorldTemplateBody = "GetWorldTemplateBody"
  3256  
  3257  // GetWorldTemplateBodyRequest generates a "aws/request.Request" representing the
  3258  // client's request for the GetWorldTemplateBody operation. The "output" return
  3259  // value will be populated with the request's response once the request completes
  3260  // successfully.
  3261  //
  3262  // Use "Send" method on the returned Request to send the API call to the service.
  3263  // the "output" return value is not valid until after Send returns without error.
  3264  //
  3265  // See GetWorldTemplateBody for more information on using the GetWorldTemplateBody
  3266  // API call, and error handling.
  3267  //
  3268  // This method is useful when you want to inject custom logic or configuration
  3269  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3270  //
  3271  //
  3272  //    // Example sending a request using the GetWorldTemplateBodyRequest method.
  3273  //    req, resp := client.GetWorldTemplateBodyRequest(params)
  3274  //
  3275  //    err := req.Send()
  3276  //    if err == nil { // resp is now filled
  3277  //        fmt.Println(resp)
  3278  //    }
  3279  //
  3280  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/GetWorldTemplateBody
  3281  func (c *RoboMaker) GetWorldTemplateBodyRequest(input *GetWorldTemplateBodyInput) (req *request.Request, output *GetWorldTemplateBodyOutput) {
  3282  	op := &request.Operation{
  3283  		Name:       opGetWorldTemplateBody,
  3284  		HTTPMethod: "POST",
  3285  		HTTPPath:   "/getWorldTemplateBody",
  3286  	}
  3287  
  3288  	if input == nil {
  3289  		input = &GetWorldTemplateBodyInput{}
  3290  	}
  3291  
  3292  	output = &GetWorldTemplateBodyOutput{}
  3293  	req = c.newRequest(op, input, output)
  3294  	return
  3295  }
  3296  
  3297  // GetWorldTemplateBody API operation for AWS RoboMaker.
  3298  //
  3299  // Gets the world template body.
  3300  //
  3301  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3302  // with awserr.Error's Code and Message methods to get detailed information about
  3303  // the error.
  3304  //
  3305  // See the AWS API reference guide for AWS RoboMaker's
  3306  // API operation GetWorldTemplateBody for usage and error information.
  3307  //
  3308  // Returned Error Types:
  3309  //   * InvalidParameterException
  3310  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3311  //   be used. The returned message provides an explanation of the error value.
  3312  //
  3313  //   * ResourceNotFoundException
  3314  //   The specified resource does not exist.
  3315  //
  3316  //   * ThrottlingException
  3317  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3318  //   again.
  3319  //
  3320  //   * InternalServerException
  3321  //   AWS RoboMaker experienced a service issue. Try your call again.
  3322  //
  3323  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/GetWorldTemplateBody
  3324  func (c *RoboMaker) GetWorldTemplateBody(input *GetWorldTemplateBodyInput) (*GetWorldTemplateBodyOutput, error) {
  3325  	req, out := c.GetWorldTemplateBodyRequest(input)
  3326  	return out, req.Send()
  3327  }
  3328  
  3329  // GetWorldTemplateBodyWithContext is the same as GetWorldTemplateBody with the addition of
  3330  // the ability to pass a context and additional request options.
  3331  //
  3332  // See GetWorldTemplateBody for details on how to use this API operation.
  3333  //
  3334  // The context must be non-nil and will be used for request cancellation. If
  3335  // the context is nil a panic will occur. In the future the SDK may create
  3336  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3337  // for more information on using Contexts.
  3338  func (c *RoboMaker) GetWorldTemplateBodyWithContext(ctx aws.Context, input *GetWorldTemplateBodyInput, opts ...request.Option) (*GetWorldTemplateBodyOutput, error) {
  3339  	req, out := c.GetWorldTemplateBodyRequest(input)
  3340  	req.SetContext(ctx)
  3341  	req.ApplyOptions(opts...)
  3342  	return out, req.Send()
  3343  }
  3344  
  3345  const opListDeploymentJobs = "ListDeploymentJobs"
  3346  
  3347  // ListDeploymentJobsRequest generates a "aws/request.Request" representing the
  3348  // client's request for the ListDeploymentJobs operation. The "output" return
  3349  // value will be populated with the request's response once the request completes
  3350  // successfully.
  3351  //
  3352  // Use "Send" method on the returned Request to send the API call to the service.
  3353  // the "output" return value is not valid until after Send returns without error.
  3354  //
  3355  // See ListDeploymentJobs for more information on using the ListDeploymentJobs
  3356  // API call, and error handling.
  3357  //
  3358  // This method is useful when you want to inject custom logic or configuration
  3359  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3360  //
  3361  //
  3362  //    // Example sending a request using the ListDeploymentJobsRequest method.
  3363  //    req, resp := client.ListDeploymentJobsRequest(params)
  3364  //
  3365  //    err := req.Send()
  3366  //    if err == nil { // resp is now filled
  3367  //        fmt.Println(resp)
  3368  //    }
  3369  //
  3370  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
  3371  func (c *RoboMaker) ListDeploymentJobsRequest(input *ListDeploymentJobsInput) (req *request.Request, output *ListDeploymentJobsOutput) {
  3372  	op := &request.Operation{
  3373  		Name:       opListDeploymentJobs,
  3374  		HTTPMethod: "POST",
  3375  		HTTPPath:   "/listDeploymentJobs",
  3376  		Paginator: &request.Paginator{
  3377  			InputTokens:     []string{"nextToken"},
  3378  			OutputTokens:    []string{"nextToken"},
  3379  			LimitToken:      "maxResults",
  3380  			TruncationToken: "",
  3381  		},
  3382  	}
  3383  
  3384  	if input == nil {
  3385  		input = &ListDeploymentJobsInput{}
  3386  	}
  3387  
  3388  	output = &ListDeploymentJobsOutput{}
  3389  	req = c.newRequest(op, input, output)
  3390  	return
  3391  }
  3392  
  3393  // ListDeploymentJobs API operation for AWS RoboMaker.
  3394  //
  3395  // Returns a list of deployment jobs for a fleet. You can optionally provide
  3396  // filters to retrieve specific deployment jobs.
  3397  //
  3398  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3399  // with awserr.Error's Code and Message methods to get detailed information about
  3400  // the error.
  3401  //
  3402  // See the AWS API reference guide for AWS RoboMaker's
  3403  // API operation ListDeploymentJobs for usage and error information.
  3404  //
  3405  // Returned Error Types:
  3406  //   * ResourceNotFoundException
  3407  //   The specified resource does not exist.
  3408  //
  3409  //   * InvalidParameterException
  3410  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3411  //   be used. The returned message provides an explanation of the error value.
  3412  //
  3413  //   * InternalServerException
  3414  //   AWS RoboMaker experienced a service issue. Try your call again.
  3415  //
  3416  //   * ThrottlingException
  3417  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3418  //   again.
  3419  //
  3420  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
  3421  func (c *RoboMaker) ListDeploymentJobs(input *ListDeploymentJobsInput) (*ListDeploymentJobsOutput, error) {
  3422  	req, out := c.ListDeploymentJobsRequest(input)
  3423  	return out, req.Send()
  3424  }
  3425  
  3426  // ListDeploymentJobsWithContext is the same as ListDeploymentJobs with the addition of
  3427  // the ability to pass a context and additional request options.
  3428  //
  3429  // See ListDeploymentJobs for details on how to use this API operation.
  3430  //
  3431  // The context must be non-nil and will be used for request cancellation. If
  3432  // the context is nil a panic will occur. In the future the SDK may create
  3433  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3434  // for more information on using Contexts.
  3435  func (c *RoboMaker) ListDeploymentJobsWithContext(ctx aws.Context, input *ListDeploymentJobsInput, opts ...request.Option) (*ListDeploymentJobsOutput, error) {
  3436  	req, out := c.ListDeploymentJobsRequest(input)
  3437  	req.SetContext(ctx)
  3438  	req.ApplyOptions(opts...)
  3439  	return out, req.Send()
  3440  }
  3441  
  3442  // ListDeploymentJobsPages iterates over the pages of a ListDeploymentJobs operation,
  3443  // calling the "fn" function with the response data for each page. To stop
  3444  // iterating, return false from the fn function.
  3445  //
  3446  // See ListDeploymentJobs method for more information on how to use this operation.
  3447  //
  3448  // Note: This operation can generate multiple requests to a service.
  3449  //
  3450  //    // Example iterating over at most 3 pages of a ListDeploymentJobs operation.
  3451  //    pageNum := 0
  3452  //    err := client.ListDeploymentJobsPages(params,
  3453  //        func(page *robomaker.ListDeploymentJobsOutput, lastPage bool) bool {
  3454  //            pageNum++
  3455  //            fmt.Println(page)
  3456  //            return pageNum <= 3
  3457  //        })
  3458  //
  3459  func (c *RoboMaker) ListDeploymentJobsPages(input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool) error {
  3460  	return c.ListDeploymentJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  3461  }
  3462  
  3463  // ListDeploymentJobsPagesWithContext same as ListDeploymentJobsPages except
  3464  // it takes a Context and allows setting request options on the pages.
  3465  //
  3466  // The context must be non-nil and will be used for request cancellation. If
  3467  // the context is nil a panic will occur. In the future the SDK may create
  3468  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3469  // for more information on using Contexts.
  3470  func (c *RoboMaker) ListDeploymentJobsPagesWithContext(ctx aws.Context, input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool, opts ...request.Option) error {
  3471  	p := request.Pagination{
  3472  		NewRequest: func() (*request.Request, error) {
  3473  			var inCpy *ListDeploymentJobsInput
  3474  			if input != nil {
  3475  				tmp := *input
  3476  				inCpy = &tmp
  3477  			}
  3478  			req, _ := c.ListDeploymentJobsRequest(inCpy)
  3479  			req.SetContext(ctx)
  3480  			req.ApplyOptions(opts...)
  3481  			return req, nil
  3482  		},
  3483  	}
  3484  
  3485  	for p.Next() {
  3486  		if !fn(p.Page().(*ListDeploymentJobsOutput), !p.HasNextPage()) {
  3487  			break
  3488  		}
  3489  	}
  3490  
  3491  	return p.Err()
  3492  }
  3493  
  3494  const opListFleets = "ListFleets"
  3495  
  3496  // ListFleetsRequest generates a "aws/request.Request" representing the
  3497  // client's request for the ListFleets operation. The "output" return
  3498  // value will be populated with the request's response once the request completes
  3499  // successfully.
  3500  //
  3501  // Use "Send" method on the returned Request to send the API call to the service.
  3502  // the "output" return value is not valid until after Send returns without error.
  3503  //
  3504  // See ListFleets for more information on using the ListFleets
  3505  // API call, and error handling.
  3506  //
  3507  // This method is useful when you want to inject custom logic or configuration
  3508  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3509  //
  3510  //
  3511  //    // Example sending a request using the ListFleetsRequest method.
  3512  //    req, resp := client.ListFleetsRequest(params)
  3513  //
  3514  //    err := req.Send()
  3515  //    if err == nil { // resp is now filled
  3516  //        fmt.Println(resp)
  3517  //    }
  3518  //
  3519  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
  3520  func (c *RoboMaker) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
  3521  	op := &request.Operation{
  3522  		Name:       opListFleets,
  3523  		HTTPMethod: "POST",
  3524  		HTTPPath:   "/listFleets",
  3525  		Paginator: &request.Paginator{
  3526  			InputTokens:     []string{"nextToken"},
  3527  			OutputTokens:    []string{"nextToken"},
  3528  			LimitToken:      "maxResults",
  3529  			TruncationToken: "",
  3530  		},
  3531  	}
  3532  
  3533  	if input == nil {
  3534  		input = &ListFleetsInput{}
  3535  	}
  3536  
  3537  	output = &ListFleetsOutput{}
  3538  	req = c.newRequest(op, input, output)
  3539  	return
  3540  }
  3541  
  3542  // ListFleets API operation for AWS RoboMaker.
  3543  //
  3544  // Returns a list of fleets. You can optionally provide filters to retrieve
  3545  // specific fleets.
  3546  //
  3547  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3548  // with awserr.Error's Code and Message methods to get detailed information about
  3549  // the error.
  3550  //
  3551  // See the AWS API reference guide for AWS RoboMaker's
  3552  // API operation ListFleets for usage and error information.
  3553  //
  3554  // Returned Error Types:
  3555  //   * ResourceNotFoundException
  3556  //   The specified resource does not exist.
  3557  //
  3558  //   * InvalidParameterException
  3559  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3560  //   be used. The returned message provides an explanation of the error value.
  3561  //
  3562  //   * InternalServerException
  3563  //   AWS RoboMaker experienced a service issue. Try your call again.
  3564  //
  3565  //   * ThrottlingException
  3566  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3567  //   again.
  3568  //
  3569  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
  3570  func (c *RoboMaker) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
  3571  	req, out := c.ListFleetsRequest(input)
  3572  	return out, req.Send()
  3573  }
  3574  
  3575  // ListFleetsWithContext is the same as ListFleets with the addition of
  3576  // the ability to pass a context and additional request options.
  3577  //
  3578  // See ListFleets for details on how to use this API operation.
  3579  //
  3580  // The context must be non-nil and will be used for request cancellation. If
  3581  // the context is nil a panic will occur. In the future the SDK may create
  3582  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3583  // for more information on using Contexts.
  3584  func (c *RoboMaker) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
  3585  	req, out := c.ListFleetsRequest(input)
  3586  	req.SetContext(ctx)
  3587  	req.ApplyOptions(opts...)
  3588  	return out, req.Send()
  3589  }
  3590  
  3591  // ListFleetsPages iterates over the pages of a ListFleets operation,
  3592  // calling the "fn" function with the response data for each page. To stop
  3593  // iterating, return false from the fn function.
  3594  //
  3595  // See ListFleets method for more information on how to use this operation.
  3596  //
  3597  // Note: This operation can generate multiple requests to a service.
  3598  //
  3599  //    // Example iterating over at most 3 pages of a ListFleets operation.
  3600  //    pageNum := 0
  3601  //    err := client.ListFleetsPages(params,
  3602  //        func(page *robomaker.ListFleetsOutput, lastPage bool) bool {
  3603  //            pageNum++
  3604  //            fmt.Println(page)
  3605  //            return pageNum <= 3
  3606  //        })
  3607  //
  3608  func (c *RoboMaker) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
  3609  	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
  3610  }
  3611  
  3612  // ListFleetsPagesWithContext same as ListFleetsPages except
  3613  // it takes a Context and allows setting request options on the pages.
  3614  //
  3615  // The context must be non-nil and will be used for request cancellation. If
  3616  // the context is nil a panic will occur. In the future the SDK may create
  3617  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3618  // for more information on using Contexts.
  3619  func (c *RoboMaker) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
  3620  	p := request.Pagination{
  3621  		NewRequest: func() (*request.Request, error) {
  3622  			var inCpy *ListFleetsInput
  3623  			if input != nil {
  3624  				tmp := *input
  3625  				inCpy = &tmp
  3626  			}
  3627  			req, _ := c.ListFleetsRequest(inCpy)
  3628  			req.SetContext(ctx)
  3629  			req.ApplyOptions(opts...)
  3630  			return req, nil
  3631  		},
  3632  	}
  3633  
  3634  	for p.Next() {
  3635  		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
  3636  			break
  3637  		}
  3638  	}
  3639  
  3640  	return p.Err()
  3641  }
  3642  
  3643  const opListRobotApplications = "ListRobotApplications"
  3644  
  3645  // ListRobotApplicationsRequest generates a "aws/request.Request" representing the
  3646  // client's request for the ListRobotApplications operation. The "output" return
  3647  // value will be populated with the request's response once the request completes
  3648  // successfully.
  3649  //
  3650  // Use "Send" method on the returned Request to send the API call to the service.
  3651  // the "output" return value is not valid until after Send returns without error.
  3652  //
  3653  // See ListRobotApplications for more information on using the ListRobotApplications
  3654  // API call, and error handling.
  3655  //
  3656  // This method is useful when you want to inject custom logic or configuration
  3657  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3658  //
  3659  //
  3660  //    // Example sending a request using the ListRobotApplicationsRequest method.
  3661  //    req, resp := client.ListRobotApplicationsRequest(params)
  3662  //
  3663  //    err := req.Send()
  3664  //    if err == nil { // resp is now filled
  3665  //        fmt.Println(resp)
  3666  //    }
  3667  //
  3668  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
  3669  func (c *RoboMaker) ListRobotApplicationsRequest(input *ListRobotApplicationsInput) (req *request.Request, output *ListRobotApplicationsOutput) {
  3670  	op := &request.Operation{
  3671  		Name:       opListRobotApplications,
  3672  		HTTPMethod: "POST",
  3673  		HTTPPath:   "/listRobotApplications",
  3674  		Paginator: &request.Paginator{
  3675  			InputTokens:     []string{"nextToken"},
  3676  			OutputTokens:    []string{"nextToken"},
  3677  			LimitToken:      "maxResults",
  3678  			TruncationToken: "",
  3679  		},
  3680  	}
  3681  
  3682  	if input == nil {
  3683  		input = &ListRobotApplicationsInput{}
  3684  	}
  3685  
  3686  	output = &ListRobotApplicationsOutput{}
  3687  	req = c.newRequest(op, input, output)
  3688  	return
  3689  }
  3690  
  3691  // ListRobotApplications API operation for AWS RoboMaker.
  3692  //
  3693  // Returns a list of robot application. You can optionally provide filters to
  3694  // retrieve specific robot applications.
  3695  //
  3696  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3697  // with awserr.Error's Code and Message methods to get detailed information about
  3698  // the error.
  3699  //
  3700  // See the AWS API reference guide for AWS RoboMaker's
  3701  // API operation ListRobotApplications for usage and error information.
  3702  //
  3703  // Returned Error Types:
  3704  //   * InvalidParameterException
  3705  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3706  //   be used. The returned message provides an explanation of the error value.
  3707  //
  3708  //   * ThrottlingException
  3709  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3710  //   again.
  3711  //
  3712  //   * InternalServerException
  3713  //   AWS RoboMaker experienced a service issue. Try your call again.
  3714  //
  3715  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
  3716  func (c *RoboMaker) ListRobotApplications(input *ListRobotApplicationsInput) (*ListRobotApplicationsOutput, error) {
  3717  	req, out := c.ListRobotApplicationsRequest(input)
  3718  	return out, req.Send()
  3719  }
  3720  
  3721  // ListRobotApplicationsWithContext is the same as ListRobotApplications with the addition of
  3722  // the ability to pass a context and additional request options.
  3723  //
  3724  // See ListRobotApplications for details on how to use this API operation.
  3725  //
  3726  // The context must be non-nil and will be used for request cancellation. If
  3727  // the context is nil a panic will occur. In the future the SDK may create
  3728  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3729  // for more information on using Contexts.
  3730  func (c *RoboMaker) ListRobotApplicationsWithContext(ctx aws.Context, input *ListRobotApplicationsInput, opts ...request.Option) (*ListRobotApplicationsOutput, error) {
  3731  	req, out := c.ListRobotApplicationsRequest(input)
  3732  	req.SetContext(ctx)
  3733  	req.ApplyOptions(opts...)
  3734  	return out, req.Send()
  3735  }
  3736  
  3737  // ListRobotApplicationsPages iterates over the pages of a ListRobotApplications operation,
  3738  // calling the "fn" function with the response data for each page. To stop
  3739  // iterating, return false from the fn function.
  3740  //
  3741  // See ListRobotApplications method for more information on how to use this operation.
  3742  //
  3743  // Note: This operation can generate multiple requests to a service.
  3744  //
  3745  //    // Example iterating over at most 3 pages of a ListRobotApplications operation.
  3746  //    pageNum := 0
  3747  //    err := client.ListRobotApplicationsPages(params,
  3748  //        func(page *robomaker.ListRobotApplicationsOutput, lastPage bool) bool {
  3749  //            pageNum++
  3750  //            fmt.Println(page)
  3751  //            return pageNum <= 3
  3752  //        })
  3753  //
  3754  func (c *RoboMaker) ListRobotApplicationsPages(input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool) error {
  3755  	return c.ListRobotApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
  3756  }
  3757  
  3758  // ListRobotApplicationsPagesWithContext same as ListRobotApplicationsPages except
  3759  // it takes a Context and allows setting request options on the pages.
  3760  //
  3761  // The context must be non-nil and will be used for request cancellation. If
  3762  // the context is nil a panic will occur. In the future the SDK may create
  3763  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3764  // for more information on using Contexts.
  3765  func (c *RoboMaker) ListRobotApplicationsPagesWithContext(ctx aws.Context, input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool, opts ...request.Option) error {
  3766  	p := request.Pagination{
  3767  		NewRequest: func() (*request.Request, error) {
  3768  			var inCpy *ListRobotApplicationsInput
  3769  			if input != nil {
  3770  				tmp := *input
  3771  				inCpy = &tmp
  3772  			}
  3773  			req, _ := c.ListRobotApplicationsRequest(inCpy)
  3774  			req.SetContext(ctx)
  3775  			req.ApplyOptions(opts...)
  3776  			return req, nil
  3777  		},
  3778  	}
  3779  
  3780  	for p.Next() {
  3781  		if !fn(p.Page().(*ListRobotApplicationsOutput), !p.HasNextPage()) {
  3782  			break
  3783  		}
  3784  	}
  3785  
  3786  	return p.Err()
  3787  }
  3788  
  3789  const opListRobots = "ListRobots"
  3790  
  3791  // ListRobotsRequest generates a "aws/request.Request" representing the
  3792  // client's request for the ListRobots operation. The "output" return
  3793  // value will be populated with the request's response once the request completes
  3794  // successfully.
  3795  //
  3796  // Use "Send" method on the returned Request to send the API call to the service.
  3797  // the "output" return value is not valid until after Send returns without error.
  3798  //
  3799  // See ListRobots for more information on using the ListRobots
  3800  // API call, and error handling.
  3801  //
  3802  // This method is useful when you want to inject custom logic or configuration
  3803  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3804  //
  3805  //
  3806  //    // Example sending a request using the ListRobotsRequest method.
  3807  //    req, resp := client.ListRobotsRequest(params)
  3808  //
  3809  //    err := req.Send()
  3810  //    if err == nil { // resp is now filled
  3811  //        fmt.Println(resp)
  3812  //    }
  3813  //
  3814  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
  3815  func (c *RoboMaker) ListRobotsRequest(input *ListRobotsInput) (req *request.Request, output *ListRobotsOutput) {
  3816  	op := &request.Operation{
  3817  		Name:       opListRobots,
  3818  		HTTPMethod: "POST",
  3819  		HTTPPath:   "/listRobots",
  3820  		Paginator: &request.Paginator{
  3821  			InputTokens:     []string{"nextToken"},
  3822  			OutputTokens:    []string{"nextToken"},
  3823  			LimitToken:      "maxResults",
  3824  			TruncationToken: "",
  3825  		},
  3826  	}
  3827  
  3828  	if input == nil {
  3829  		input = &ListRobotsInput{}
  3830  	}
  3831  
  3832  	output = &ListRobotsOutput{}
  3833  	req = c.newRequest(op, input, output)
  3834  	return
  3835  }
  3836  
  3837  // ListRobots API operation for AWS RoboMaker.
  3838  //
  3839  // Returns a list of robots. You can optionally provide filters to retrieve
  3840  // specific robots.
  3841  //
  3842  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3843  // with awserr.Error's Code and Message methods to get detailed information about
  3844  // the error.
  3845  //
  3846  // See the AWS API reference guide for AWS RoboMaker's
  3847  // API operation ListRobots for usage and error information.
  3848  //
  3849  // Returned Error Types:
  3850  //   * ResourceNotFoundException
  3851  //   The specified resource does not exist.
  3852  //
  3853  //   * InvalidParameterException
  3854  //   A parameter specified in a request is not valid, is unsupported, or cannot
  3855  //   be used. The returned message provides an explanation of the error value.
  3856  //
  3857  //   * InternalServerException
  3858  //   AWS RoboMaker experienced a service issue. Try your call again.
  3859  //
  3860  //   * ThrottlingException
  3861  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  3862  //   again.
  3863  //
  3864  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
  3865  func (c *RoboMaker) ListRobots(input *ListRobotsInput) (*ListRobotsOutput, error) {
  3866  	req, out := c.ListRobotsRequest(input)
  3867  	return out, req.Send()
  3868  }
  3869  
  3870  // ListRobotsWithContext is the same as ListRobots with the addition of
  3871  // the ability to pass a context and additional request options.
  3872  //
  3873  // See ListRobots for details on how to use this API operation.
  3874  //
  3875  // The context must be non-nil and will be used for request cancellation. If
  3876  // the context is nil a panic will occur. In the future the SDK may create
  3877  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3878  // for more information on using Contexts.
  3879  func (c *RoboMaker) ListRobotsWithContext(ctx aws.Context, input *ListRobotsInput, opts ...request.Option) (*ListRobotsOutput, error) {
  3880  	req, out := c.ListRobotsRequest(input)
  3881  	req.SetContext(ctx)
  3882  	req.ApplyOptions(opts...)
  3883  	return out, req.Send()
  3884  }
  3885  
  3886  // ListRobotsPages iterates over the pages of a ListRobots operation,
  3887  // calling the "fn" function with the response data for each page. To stop
  3888  // iterating, return false from the fn function.
  3889  //
  3890  // See ListRobots method for more information on how to use this operation.
  3891  //
  3892  // Note: This operation can generate multiple requests to a service.
  3893  //
  3894  //    // Example iterating over at most 3 pages of a ListRobots operation.
  3895  //    pageNum := 0
  3896  //    err := client.ListRobotsPages(params,
  3897  //        func(page *robomaker.ListRobotsOutput, lastPage bool) bool {
  3898  //            pageNum++
  3899  //            fmt.Println(page)
  3900  //            return pageNum <= 3
  3901  //        })
  3902  //
  3903  func (c *RoboMaker) ListRobotsPages(input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool) error {
  3904  	return c.ListRobotsPagesWithContext(aws.BackgroundContext(), input, fn)
  3905  }
  3906  
  3907  // ListRobotsPagesWithContext same as ListRobotsPages except
  3908  // it takes a Context and allows setting request options on the pages.
  3909  //
  3910  // The context must be non-nil and will be used for request cancellation. If
  3911  // the context is nil a panic will occur. In the future the SDK may create
  3912  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3913  // for more information on using Contexts.
  3914  func (c *RoboMaker) ListRobotsPagesWithContext(ctx aws.Context, input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool, opts ...request.Option) error {
  3915  	p := request.Pagination{
  3916  		NewRequest: func() (*request.Request, error) {
  3917  			var inCpy *ListRobotsInput
  3918  			if input != nil {
  3919  				tmp := *input
  3920  				inCpy = &tmp
  3921  			}
  3922  			req, _ := c.ListRobotsRequest(inCpy)
  3923  			req.SetContext(ctx)
  3924  			req.ApplyOptions(opts...)
  3925  			return req, nil
  3926  		},
  3927  	}
  3928  
  3929  	for p.Next() {
  3930  		if !fn(p.Page().(*ListRobotsOutput), !p.HasNextPage()) {
  3931  			break
  3932  		}
  3933  	}
  3934  
  3935  	return p.Err()
  3936  }
  3937  
  3938  const opListSimulationApplications = "ListSimulationApplications"
  3939  
  3940  // ListSimulationApplicationsRequest generates a "aws/request.Request" representing the
  3941  // client's request for the ListSimulationApplications operation. The "output" return
  3942  // value will be populated with the request's response once the request completes
  3943  // successfully.
  3944  //
  3945  // Use "Send" method on the returned Request to send the API call to the service.
  3946  // the "output" return value is not valid until after Send returns without error.
  3947  //
  3948  // See ListSimulationApplications for more information on using the ListSimulationApplications
  3949  // API call, and error handling.
  3950  //
  3951  // This method is useful when you want to inject custom logic or configuration
  3952  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3953  //
  3954  //
  3955  //    // Example sending a request using the ListSimulationApplicationsRequest method.
  3956  //    req, resp := client.ListSimulationApplicationsRequest(params)
  3957  //
  3958  //    err := req.Send()
  3959  //    if err == nil { // resp is now filled
  3960  //        fmt.Println(resp)
  3961  //    }
  3962  //
  3963  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
  3964  func (c *RoboMaker) ListSimulationApplicationsRequest(input *ListSimulationApplicationsInput) (req *request.Request, output *ListSimulationApplicationsOutput) {
  3965  	op := &request.Operation{
  3966  		Name:       opListSimulationApplications,
  3967  		HTTPMethod: "POST",
  3968  		HTTPPath:   "/listSimulationApplications",
  3969  		Paginator: &request.Paginator{
  3970  			InputTokens:     []string{"nextToken"},
  3971  			OutputTokens:    []string{"nextToken"},
  3972  			LimitToken:      "maxResults",
  3973  			TruncationToken: "",
  3974  		},
  3975  	}
  3976  
  3977  	if input == nil {
  3978  		input = &ListSimulationApplicationsInput{}
  3979  	}
  3980  
  3981  	output = &ListSimulationApplicationsOutput{}
  3982  	req = c.newRequest(op, input, output)
  3983  	return
  3984  }
  3985  
  3986  // ListSimulationApplications API operation for AWS RoboMaker.
  3987  //
  3988  // Returns a list of simulation applications. You can optionally provide filters
  3989  // to retrieve specific simulation applications.
  3990  //
  3991  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3992  // with awserr.Error's Code and Message methods to get detailed information about
  3993  // the error.
  3994  //
  3995  // See the AWS API reference guide for AWS RoboMaker's
  3996  // API operation ListSimulationApplications for usage and error information.
  3997  //
  3998  // Returned Error Types:
  3999  //   * InvalidParameterException
  4000  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4001  //   be used. The returned message provides an explanation of the error value.
  4002  //
  4003  //   * ThrottlingException
  4004  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4005  //   again.
  4006  //
  4007  //   * InternalServerException
  4008  //   AWS RoboMaker experienced a service issue. Try your call again.
  4009  //
  4010  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
  4011  func (c *RoboMaker) ListSimulationApplications(input *ListSimulationApplicationsInput) (*ListSimulationApplicationsOutput, error) {
  4012  	req, out := c.ListSimulationApplicationsRequest(input)
  4013  	return out, req.Send()
  4014  }
  4015  
  4016  // ListSimulationApplicationsWithContext is the same as ListSimulationApplications with the addition of
  4017  // the ability to pass a context and additional request options.
  4018  //
  4019  // See ListSimulationApplications for details on how to use this API operation.
  4020  //
  4021  // The context must be non-nil and will be used for request cancellation. If
  4022  // the context is nil a panic will occur. In the future the SDK may create
  4023  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4024  // for more information on using Contexts.
  4025  func (c *RoboMaker) ListSimulationApplicationsWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, opts ...request.Option) (*ListSimulationApplicationsOutput, error) {
  4026  	req, out := c.ListSimulationApplicationsRequest(input)
  4027  	req.SetContext(ctx)
  4028  	req.ApplyOptions(opts...)
  4029  	return out, req.Send()
  4030  }
  4031  
  4032  // ListSimulationApplicationsPages iterates over the pages of a ListSimulationApplications operation,
  4033  // calling the "fn" function with the response data for each page. To stop
  4034  // iterating, return false from the fn function.
  4035  //
  4036  // See ListSimulationApplications method for more information on how to use this operation.
  4037  //
  4038  // Note: This operation can generate multiple requests to a service.
  4039  //
  4040  //    // Example iterating over at most 3 pages of a ListSimulationApplications operation.
  4041  //    pageNum := 0
  4042  //    err := client.ListSimulationApplicationsPages(params,
  4043  //        func(page *robomaker.ListSimulationApplicationsOutput, lastPage bool) bool {
  4044  //            pageNum++
  4045  //            fmt.Println(page)
  4046  //            return pageNum <= 3
  4047  //        })
  4048  //
  4049  func (c *RoboMaker) ListSimulationApplicationsPages(input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool) error {
  4050  	return c.ListSimulationApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
  4051  }
  4052  
  4053  // ListSimulationApplicationsPagesWithContext same as ListSimulationApplicationsPages except
  4054  // it takes a Context and allows setting request options on the pages.
  4055  //
  4056  // The context must be non-nil and will be used for request cancellation. If
  4057  // the context is nil a panic will occur. In the future the SDK may create
  4058  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4059  // for more information on using Contexts.
  4060  func (c *RoboMaker) ListSimulationApplicationsPagesWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool, opts ...request.Option) error {
  4061  	p := request.Pagination{
  4062  		NewRequest: func() (*request.Request, error) {
  4063  			var inCpy *ListSimulationApplicationsInput
  4064  			if input != nil {
  4065  				tmp := *input
  4066  				inCpy = &tmp
  4067  			}
  4068  			req, _ := c.ListSimulationApplicationsRequest(inCpy)
  4069  			req.SetContext(ctx)
  4070  			req.ApplyOptions(opts...)
  4071  			return req, nil
  4072  		},
  4073  	}
  4074  
  4075  	for p.Next() {
  4076  		if !fn(p.Page().(*ListSimulationApplicationsOutput), !p.HasNextPage()) {
  4077  			break
  4078  		}
  4079  	}
  4080  
  4081  	return p.Err()
  4082  }
  4083  
  4084  const opListSimulationJobBatches = "ListSimulationJobBatches"
  4085  
  4086  // ListSimulationJobBatchesRequest generates a "aws/request.Request" representing the
  4087  // client's request for the ListSimulationJobBatches operation. The "output" return
  4088  // value will be populated with the request's response once the request completes
  4089  // successfully.
  4090  //
  4091  // Use "Send" method on the returned Request to send the API call to the service.
  4092  // the "output" return value is not valid until after Send returns without error.
  4093  //
  4094  // See ListSimulationJobBatches for more information on using the ListSimulationJobBatches
  4095  // API call, and error handling.
  4096  //
  4097  // This method is useful when you want to inject custom logic or configuration
  4098  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4099  //
  4100  //
  4101  //    // Example sending a request using the ListSimulationJobBatchesRequest method.
  4102  //    req, resp := client.ListSimulationJobBatchesRequest(params)
  4103  //
  4104  //    err := req.Send()
  4105  //    if err == nil { // resp is now filled
  4106  //        fmt.Println(resp)
  4107  //    }
  4108  //
  4109  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobBatches
  4110  func (c *RoboMaker) ListSimulationJobBatchesRequest(input *ListSimulationJobBatchesInput) (req *request.Request, output *ListSimulationJobBatchesOutput) {
  4111  	op := &request.Operation{
  4112  		Name:       opListSimulationJobBatches,
  4113  		HTTPMethod: "POST",
  4114  		HTTPPath:   "/listSimulationJobBatches",
  4115  		Paginator: &request.Paginator{
  4116  			InputTokens:     []string{"nextToken"},
  4117  			OutputTokens:    []string{"nextToken"},
  4118  			LimitToken:      "maxResults",
  4119  			TruncationToken: "",
  4120  		},
  4121  	}
  4122  
  4123  	if input == nil {
  4124  		input = &ListSimulationJobBatchesInput{}
  4125  	}
  4126  
  4127  	output = &ListSimulationJobBatchesOutput{}
  4128  	req = c.newRequest(op, input, output)
  4129  	return
  4130  }
  4131  
  4132  // ListSimulationJobBatches API operation for AWS RoboMaker.
  4133  //
  4134  // Returns a list simulation job batches. You can optionally provide filters
  4135  // to retrieve specific simulation batch jobs.
  4136  //
  4137  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4138  // with awserr.Error's Code and Message methods to get detailed information about
  4139  // the error.
  4140  //
  4141  // See the AWS API reference guide for AWS RoboMaker's
  4142  // API operation ListSimulationJobBatches for usage and error information.
  4143  //
  4144  // Returned Error Types:
  4145  //   * InvalidParameterException
  4146  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4147  //   be used. The returned message provides an explanation of the error value.
  4148  //
  4149  //   * InternalServerException
  4150  //   AWS RoboMaker experienced a service issue. Try your call again.
  4151  //
  4152  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobBatches
  4153  func (c *RoboMaker) ListSimulationJobBatches(input *ListSimulationJobBatchesInput) (*ListSimulationJobBatchesOutput, error) {
  4154  	req, out := c.ListSimulationJobBatchesRequest(input)
  4155  	return out, req.Send()
  4156  }
  4157  
  4158  // ListSimulationJobBatchesWithContext is the same as ListSimulationJobBatches with the addition of
  4159  // the ability to pass a context and additional request options.
  4160  //
  4161  // See ListSimulationJobBatches for details on how to use this API operation.
  4162  //
  4163  // The context must be non-nil and will be used for request cancellation. If
  4164  // the context is nil a panic will occur. In the future the SDK may create
  4165  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4166  // for more information on using Contexts.
  4167  func (c *RoboMaker) ListSimulationJobBatchesWithContext(ctx aws.Context, input *ListSimulationJobBatchesInput, opts ...request.Option) (*ListSimulationJobBatchesOutput, error) {
  4168  	req, out := c.ListSimulationJobBatchesRequest(input)
  4169  	req.SetContext(ctx)
  4170  	req.ApplyOptions(opts...)
  4171  	return out, req.Send()
  4172  }
  4173  
  4174  // ListSimulationJobBatchesPages iterates over the pages of a ListSimulationJobBatches operation,
  4175  // calling the "fn" function with the response data for each page. To stop
  4176  // iterating, return false from the fn function.
  4177  //
  4178  // See ListSimulationJobBatches method for more information on how to use this operation.
  4179  //
  4180  // Note: This operation can generate multiple requests to a service.
  4181  //
  4182  //    // Example iterating over at most 3 pages of a ListSimulationJobBatches operation.
  4183  //    pageNum := 0
  4184  //    err := client.ListSimulationJobBatchesPages(params,
  4185  //        func(page *robomaker.ListSimulationJobBatchesOutput, lastPage bool) bool {
  4186  //            pageNum++
  4187  //            fmt.Println(page)
  4188  //            return pageNum <= 3
  4189  //        })
  4190  //
  4191  func (c *RoboMaker) ListSimulationJobBatchesPages(input *ListSimulationJobBatchesInput, fn func(*ListSimulationJobBatchesOutput, bool) bool) error {
  4192  	return c.ListSimulationJobBatchesPagesWithContext(aws.BackgroundContext(), input, fn)
  4193  }
  4194  
  4195  // ListSimulationJobBatchesPagesWithContext same as ListSimulationJobBatchesPages except
  4196  // it takes a Context and allows setting request options on the pages.
  4197  //
  4198  // The context must be non-nil and will be used for request cancellation. If
  4199  // the context is nil a panic will occur. In the future the SDK may create
  4200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4201  // for more information on using Contexts.
  4202  func (c *RoboMaker) ListSimulationJobBatchesPagesWithContext(ctx aws.Context, input *ListSimulationJobBatchesInput, fn func(*ListSimulationJobBatchesOutput, bool) bool, opts ...request.Option) error {
  4203  	p := request.Pagination{
  4204  		NewRequest: func() (*request.Request, error) {
  4205  			var inCpy *ListSimulationJobBatchesInput
  4206  			if input != nil {
  4207  				tmp := *input
  4208  				inCpy = &tmp
  4209  			}
  4210  			req, _ := c.ListSimulationJobBatchesRequest(inCpy)
  4211  			req.SetContext(ctx)
  4212  			req.ApplyOptions(opts...)
  4213  			return req, nil
  4214  		},
  4215  	}
  4216  
  4217  	for p.Next() {
  4218  		if !fn(p.Page().(*ListSimulationJobBatchesOutput), !p.HasNextPage()) {
  4219  			break
  4220  		}
  4221  	}
  4222  
  4223  	return p.Err()
  4224  }
  4225  
  4226  const opListSimulationJobs = "ListSimulationJobs"
  4227  
  4228  // ListSimulationJobsRequest generates a "aws/request.Request" representing the
  4229  // client's request for the ListSimulationJobs operation. The "output" return
  4230  // value will be populated with the request's response once the request completes
  4231  // successfully.
  4232  //
  4233  // Use "Send" method on the returned Request to send the API call to the service.
  4234  // the "output" return value is not valid until after Send returns without error.
  4235  //
  4236  // See ListSimulationJobs for more information on using the ListSimulationJobs
  4237  // API call, and error handling.
  4238  //
  4239  // This method is useful when you want to inject custom logic or configuration
  4240  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4241  //
  4242  //
  4243  //    // Example sending a request using the ListSimulationJobsRequest method.
  4244  //    req, resp := client.ListSimulationJobsRequest(params)
  4245  //
  4246  //    err := req.Send()
  4247  //    if err == nil { // resp is now filled
  4248  //        fmt.Println(resp)
  4249  //    }
  4250  //
  4251  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
  4252  func (c *RoboMaker) ListSimulationJobsRequest(input *ListSimulationJobsInput) (req *request.Request, output *ListSimulationJobsOutput) {
  4253  	op := &request.Operation{
  4254  		Name:       opListSimulationJobs,
  4255  		HTTPMethod: "POST",
  4256  		HTTPPath:   "/listSimulationJobs",
  4257  		Paginator: &request.Paginator{
  4258  			InputTokens:     []string{"nextToken"},
  4259  			OutputTokens:    []string{"nextToken"},
  4260  			LimitToken:      "maxResults",
  4261  			TruncationToken: "",
  4262  		},
  4263  	}
  4264  
  4265  	if input == nil {
  4266  		input = &ListSimulationJobsInput{}
  4267  	}
  4268  
  4269  	output = &ListSimulationJobsOutput{}
  4270  	req = c.newRequest(op, input, output)
  4271  	return
  4272  }
  4273  
  4274  // ListSimulationJobs API operation for AWS RoboMaker.
  4275  //
  4276  // Returns a list of simulation jobs. You can optionally provide filters to
  4277  // retrieve specific simulation jobs.
  4278  //
  4279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4280  // with awserr.Error's Code and Message methods to get detailed information about
  4281  // the error.
  4282  //
  4283  // See the AWS API reference guide for AWS RoboMaker's
  4284  // API operation ListSimulationJobs for usage and error information.
  4285  //
  4286  // Returned Error Types:
  4287  //   * InvalidParameterException
  4288  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4289  //   be used. The returned message provides an explanation of the error value.
  4290  //
  4291  //   * InternalServerException
  4292  //   AWS RoboMaker experienced a service issue. Try your call again.
  4293  //
  4294  //   * ThrottlingException
  4295  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4296  //   again.
  4297  //
  4298  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
  4299  func (c *RoboMaker) ListSimulationJobs(input *ListSimulationJobsInput) (*ListSimulationJobsOutput, error) {
  4300  	req, out := c.ListSimulationJobsRequest(input)
  4301  	return out, req.Send()
  4302  }
  4303  
  4304  // ListSimulationJobsWithContext is the same as ListSimulationJobs with the addition of
  4305  // the ability to pass a context and additional request options.
  4306  //
  4307  // See ListSimulationJobs for details on how to use this API operation.
  4308  //
  4309  // The context must be non-nil and will be used for request cancellation. If
  4310  // the context is nil a panic will occur. In the future the SDK may create
  4311  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4312  // for more information on using Contexts.
  4313  func (c *RoboMaker) ListSimulationJobsWithContext(ctx aws.Context, input *ListSimulationJobsInput, opts ...request.Option) (*ListSimulationJobsOutput, error) {
  4314  	req, out := c.ListSimulationJobsRequest(input)
  4315  	req.SetContext(ctx)
  4316  	req.ApplyOptions(opts...)
  4317  	return out, req.Send()
  4318  }
  4319  
  4320  // ListSimulationJobsPages iterates over the pages of a ListSimulationJobs operation,
  4321  // calling the "fn" function with the response data for each page. To stop
  4322  // iterating, return false from the fn function.
  4323  //
  4324  // See ListSimulationJobs method for more information on how to use this operation.
  4325  //
  4326  // Note: This operation can generate multiple requests to a service.
  4327  //
  4328  //    // Example iterating over at most 3 pages of a ListSimulationJobs operation.
  4329  //    pageNum := 0
  4330  //    err := client.ListSimulationJobsPages(params,
  4331  //        func(page *robomaker.ListSimulationJobsOutput, lastPage bool) bool {
  4332  //            pageNum++
  4333  //            fmt.Println(page)
  4334  //            return pageNum <= 3
  4335  //        })
  4336  //
  4337  func (c *RoboMaker) ListSimulationJobsPages(input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool) error {
  4338  	return c.ListSimulationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  4339  }
  4340  
  4341  // ListSimulationJobsPagesWithContext same as ListSimulationJobsPages except
  4342  // it takes a Context and allows setting request options on the pages.
  4343  //
  4344  // The context must be non-nil and will be used for request cancellation. If
  4345  // the context is nil a panic will occur. In the future the SDK may create
  4346  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4347  // for more information on using Contexts.
  4348  func (c *RoboMaker) ListSimulationJobsPagesWithContext(ctx aws.Context, input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool, opts ...request.Option) error {
  4349  	p := request.Pagination{
  4350  		NewRequest: func() (*request.Request, error) {
  4351  			var inCpy *ListSimulationJobsInput
  4352  			if input != nil {
  4353  				tmp := *input
  4354  				inCpy = &tmp
  4355  			}
  4356  			req, _ := c.ListSimulationJobsRequest(inCpy)
  4357  			req.SetContext(ctx)
  4358  			req.ApplyOptions(opts...)
  4359  			return req, nil
  4360  		},
  4361  	}
  4362  
  4363  	for p.Next() {
  4364  		if !fn(p.Page().(*ListSimulationJobsOutput), !p.HasNextPage()) {
  4365  			break
  4366  		}
  4367  	}
  4368  
  4369  	return p.Err()
  4370  }
  4371  
  4372  const opListTagsForResource = "ListTagsForResource"
  4373  
  4374  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4375  // client's request for the ListTagsForResource operation. The "output" return
  4376  // value will be populated with the request's response once the request completes
  4377  // successfully.
  4378  //
  4379  // Use "Send" method on the returned Request to send the API call to the service.
  4380  // the "output" return value is not valid until after Send returns without error.
  4381  //
  4382  // See ListTagsForResource for more information on using the ListTagsForResource
  4383  // API call, and error handling.
  4384  //
  4385  // This method is useful when you want to inject custom logic or configuration
  4386  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4387  //
  4388  //
  4389  //    // Example sending a request using the ListTagsForResourceRequest method.
  4390  //    req, resp := client.ListTagsForResourceRequest(params)
  4391  //
  4392  //    err := req.Send()
  4393  //    if err == nil { // resp is now filled
  4394  //        fmt.Println(resp)
  4395  //    }
  4396  //
  4397  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
  4398  func (c *RoboMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4399  	op := &request.Operation{
  4400  		Name:       opListTagsForResource,
  4401  		HTTPMethod: "GET",
  4402  		HTTPPath:   "/tags/{resourceArn}",
  4403  	}
  4404  
  4405  	if input == nil {
  4406  		input = &ListTagsForResourceInput{}
  4407  	}
  4408  
  4409  	output = &ListTagsForResourceOutput{}
  4410  	req = c.newRequest(op, input, output)
  4411  	return
  4412  }
  4413  
  4414  // ListTagsForResource API operation for AWS RoboMaker.
  4415  //
  4416  // Lists all tags on a AWS RoboMaker resource.
  4417  //
  4418  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4419  // with awserr.Error's Code and Message methods to get detailed information about
  4420  // the error.
  4421  //
  4422  // See the AWS API reference guide for AWS RoboMaker's
  4423  // API operation ListTagsForResource for usage and error information.
  4424  //
  4425  // Returned Error Types:
  4426  //   * InternalServerException
  4427  //   AWS RoboMaker experienced a service issue. Try your call again.
  4428  //
  4429  //   * ResourceNotFoundException
  4430  //   The specified resource does not exist.
  4431  //
  4432  //   * InvalidParameterException
  4433  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4434  //   be used. The returned message provides an explanation of the error value.
  4435  //
  4436  //   * ThrottlingException
  4437  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4438  //   again.
  4439  //
  4440  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
  4441  func (c *RoboMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4442  	req, out := c.ListTagsForResourceRequest(input)
  4443  	return out, req.Send()
  4444  }
  4445  
  4446  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4447  // the ability to pass a context and additional request options.
  4448  //
  4449  // See ListTagsForResource for details on how to use this API operation.
  4450  //
  4451  // The context must be non-nil and will be used for request cancellation. If
  4452  // the context is nil a panic will occur. In the future the SDK may create
  4453  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4454  // for more information on using Contexts.
  4455  func (c *RoboMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4456  	req, out := c.ListTagsForResourceRequest(input)
  4457  	req.SetContext(ctx)
  4458  	req.ApplyOptions(opts...)
  4459  	return out, req.Send()
  4460  }
  4461  
  4462  const opListWorldExportJobs = "ListWorldExportJobs"
  4463  
  4464  // ListWorldExportJobsRequest generates a "aws/request.Request" representing the
  4465  // client's request for the ListWorldExportJobs operation. The "output" return
  4466  // value will be populated with the request's response once the request completes
  4467  // successfully.
  4468  //
  4469  // Use "Send" method on the returned Request to send the API call to the service.
  4470  // the "output" return value is not valid until after Send returns without error.
  4471  //
  4472  // See ListWorldExportJobs for more information on using the ListWorldExportJobs
  4473  // API call, and error handling.
  4474  //
  4475  // This method is useful when you want to inject custom logic or configuration
  4476  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4477  //
  4478  //
  4479  //    // Example sending a request using the ListWorldExportJobsRequest method.
  4480  //    req, resp := client.ListWorldExportJobsRequest(params)
  4481  //
  4482  //    err := req.Send()
  4483  //    if err == nil { // resp is now filled
  4484  //        fmt.Println(resp)
  4485  //    }
  4486  //
  4487  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldExportJobs
  4488  func (c *RoboMaker) ListWorldExportJobsRequest(input *ListWorldExportJobsInput) (req *request.Request, output *ListWorldExportJobsOutput) {
  4489  	op := &request.Operation{
  4490  		Name:       opListWorldExportJobs,
  4491  		HTTPMethod: "POST",
  4492  		HTTPPath:   "/listWorldExportJobs",
  4493  		Paginator: &request.Paginator{
  4494  			InputTokens:     []string{"nextToken"},
  4495  			OutputTokens:    []string{"nextToken"},
  4496  			LimitToken:      "maxResults",
  4497  			TruncationToken: "",
  4498  		},
  4499  	}
  4500  
  4501  	if input == nil {
  4502  		input = &ListWorldExportJobsInput{}
  4503  	}
  4504  
  4505  	output = &ListWorldExportJobsOutput{}
  4506  	req = c.newRequest(op, input, output)
  4507  	return
  4508  }
  4509  
  4510  // ListWorldExportJobs API operation for AWS RoboMaker.
  4511  //
  4512  // Lists world export jobs.
  4513  //
  4514  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4515  // with awserr.Error's Code and Message methods to get detailed information about
  4516  // the error.
  4517  //
  4518  // See the AWS API reference guide for AWS RoboMaker's
  4519  // API operation ListWorldExportJobs for usage and error information.
  4520  //
  4521  // Returned Error Types:
  4522  //   * InvalidParameterException
  4523  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4524  //   be used. The returned message provides an explanation of the error value.
  4525  //
  4526  //   * InternalServerException
  4527  //   AWS RoboMaker experienced a service issue. Try your call again.
  4528  //
  4529  //   * ThrottlingException
  4530  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4531  //   again.
  4532  //
  4533  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldExportJobs
  4534  func (c *RoboMaker) ListWorldExportJobs(input *ListWorldExportJobsInput) (*ListWorldExportJobsOutput, error) {
  4535  	req, out := c.ListWorldExportJobsRequest(input)
  4536  	return out, req.Send()
  4537  }
  4538  
  4539  // ListWorldExportJobsWithContext is the same as ListWorldExportJobs with the addition of
  4540  // the ability to pass a context and additional request options.
  4541  //
  4542  // See ListWorldExportJobs for details on how to use this API operation.
  4543  //
  4544  // The context must be non-nil and will be used for request cancellation. If
  4545  // the context is nil a panic will occur. In the future the SDK may create
  4546  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4547  // for more information on using Contexts.
  4548  func (c *RoboMaker) ListWorldExportJobsWithContext(ctx aws.Context, input *ListWorldExportJobsInput, opts ...request.Option) (*ListWorldExportJobsOutput, error) {
  4549  	req, out := c.ListWorldExportJobsRequest(input)
  4550  	req.SetContext(ctx)
  4551  	req.ApplyOptions(opts...)
  4552  	return out, req.Send()
  4553  }
  4554  
  4555  // ListWorldExportJobsPages iterates over the pages of a ListWorldExportJobs operation,
  4556  // calling the "fn" function with the response data for each page. To stop
  4557  // iterating, return false from the fn function.
  4558  //
  4559  // See ListWorldExportJobs method for more information on how to use this operation.
  4560  //
  4561  // Note: This operation can generate multiple requests to a service.
  4562  //
  4563  //    // Example iterating over at most 3 pages of a ListWorldExportJobs operation.
  4564  //    pageNum := 0
  4565  //    err := client.ListWorldExportJobsPages(params,
  4566  //        func(page *robomaker.ListWorldExportJobsOutput, lastPage bool) bool {
  4567  //            pageNum++
  4568  //            fmt.Println(page)
  4569  //            return pageNum <= 3
  4570  //        })
  4571  //
  4572  func (c *RoboMaker) ListWorldExportJobsPages(input *ListWorldExportJobsInput, fn func(*ListWorldExportJobsOutput, bool) bool) error {
  4573  	return c.ListWorldExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  4574  }
  4575  
  4576  // ListWorldExportJobsPagesWithContext same as ListWorldExportJobsPages except
  4577  // it takes a Context and allows setting request options on the pages.
  4578  //
  4579  // The context must be non-nil and will be used for request cancellation. If
  4580  // the context is nil a panic will occur. In the future the SDK may create
  4581  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4582  // for more information on using Contexts.
  4583  func (c *RoboMaker) ListWorldExportJobsPagesWithContext(ctx aws.Context, input *ListWorldExportJobsInput, fn func(*ListWorldExportJobsOutput, bool) bool, opts ...request.Option) error {
  4584  	p := request.Pagination{
  4585  		NewRequest: func() (*request.Request, error) {
  4586  			var inCpy *ListWorldExportJobsInput
  4587  			if input != nil {
  4588  				tmp := *input
  4589  				inCpy = &tmp
  4590  			}
  4591  			req, _ := c.ListWorldExportJobsRequest(inCpy)
  4592  			req.SetContext(ctx)
  4593  			req.ApplyOptions(opts...)
  4594  			return req, nil
  4595  		},
  4596  	}
  4597  
  4598  	for p.Next() {
  4599  		if !fn(p.Page().(*ListWorldExportJobsOutput), !p.HasNextPage()) {
  4600  			break
  4601  		}
  4602  	}
  4603  
  4604  	return p.Err()
  4605  }
  4606  
  4607  const opListWorldGenerationJobs = "ListWorldGenerationJobs"
  4608  
  4609  // ListWorldGenerationJobsRequest generates a "aws/request.Request" representing the
  4610  // client's request for the ListWorldGenerationJobs operation. The "output" return
  4611  // value will be populated with the request's response once the request completes
  4612  // successfully.
  4613  //
  4614  // Use "Send" method on the returned Request to send the API call to the service.
  4615  // the "output" return value is not valid until after Send returns without error.
  4616  //
  4617  // See ListWorldGenerationJobs for more information on using the ListWorldGenerationJobs
  4618  // API call, and error handling.
  4619  //
  4620  // This method is useful when you want to inject custom logic or configuration
  4621  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4622  //
  4623  //
  4624  //    // Example sending a request using the ListWorldGenerationJobsRequest method.
  4625  //    req, resp := client.ListWorldGenerationJobsRequest(params)
  4626  //
  4627  //    err := req.Send()
  4628  //    if err == nil { // resp is now filled
  4629  //        fmt.Println(resp)
  4630  //    }
  4631  //
  4632  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldGenerationJobs
  4633  func (c *RoboMaker) ListWorldGenerationJobsRequest(input *ListWorldGenerationJobsInput) (req *request.Request, output *ListWorldGenerationJobsOutput) {
  4634  	op := &request.Operation{
  4635  		Name:       opListWorldGenerationJobs,
  4636  		HTTPMethod: "POST",
  4637  		HTTPPath:   "/listWorldGenerationJobs",
  4638  		Paginator: &request.Paginator{
  4639  			InputTokens:     []string{"nextToken"},
  4640  			OutputTokens:    []string{"nextToken"},
  4641  			LimitToken:      "maxResults",
  4642  			TruncationToken: "",
  4643  		},
  4644  	}
  4645  
  4646  	if input == nil {
  4647  		input = &ListWorldGenerationJobsInput{}
  4648  	}
  4649  
  4650  	output = &ListWorldGenerationJobsOutput{}
  4651  	req = c.newRequest(op, input, output)
  4652  	return
  4653  }
  4654  
  4655  // ListWorldGenerationJobs API operation for AWS RoboMaker.
  4656  //
  4657  // Lists world generator jobs.
  4658  //
  4659  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4660  // with awserr.Error's Code and Message methods to get detailed information about
  4661  // the error.
  4662  //
  4663  // See the AWS API reference guide for AWS RoboMaker's
  4664  // API operation ListWorldGenerationJobs for usage and error information.
  4665  //
  4666  // Returned Error Types:
  4667  //   * InvalidParameterException
  4668  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4669  //   be used. The returned message provides an explanation of the error value.
  4670  //
  4671  //   * InternalServerException
  4672  //   AWS RoboMaker experienced a service issue. Try your call again.
  4673  //
  4674  //   * ThrottlingException
  4675  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4676  //   again.
  4677  //
  4678  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldGenerationJobs
  4679  func (c *RoboMaker) ListWorldGenerationJobs(input *ListWorldGenerationJobsInput) (*ListWorldGenerationJobsOutput, error) {
  4680  	req, out := c.ListWorldGenerationJobsRequest(input)
  4681  	return out, req.Send()
  4682  }
  4683  
  4684  // ListWorldGenerationJobsWithContext is the same as ListWorldGenerationJobs with the addition of
  4685  // the ability to pass a context and additional request options.
  4686  //
  4687  // See ListWorldGenerationJobs for details on how to use this API operation.
  4688  //
  4689  // The context must be non-nil and will be used for request cancellation. If
  4690  // the context is nil a panic will occur. In the future the SDK may create
  4691  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4692  // for more information on using Contexts.
  4693  func (c *RoboMaker) ListWorldGenerationJobsWithContext(ctx aws.Context, input *ListWorldGenerationJobsInput, opts ...request.Option) (*ListWorldGenerationJobsOutput, error) {
  4694  	req, out := c.ListWorldGenerationJobsRequest(input)
  4695  	req.SetContext(ctx)
  4696  	req.ApplyOptions(opts...)
  4697  	return out, req.Send()
  4698  }
  4699  
  4700  // ListWorldGenerationJobsPages iterates over the pages of a ListWorldGenerationJobs operation,
  4701  // calling the "fn" function with the response data for each page. To stop
  4702  // iterating, return false from the fn function.
  4703  //
  4704  // See ListWorldGenerationJobs method for more information on how to use this operation.
  4705  //
  4706  // Note: This operation can generate multiple requests to a service.
  4707  //
  4708  //    // Example iterating over at most 3 pages of a ListWorldGenerationJobs operation.
  4709  //    pageNum := 0
  4710  //    err := client.ListWorldGenerationJobsPages(params,
  4711  //        func(page *robomaker.ListWorldGenerationJobsOutput, lastPage bool) bool {
  4712  //            pageNum++
  4713  //            fmt.Println(page)
  4714  //            return pageNum <= 3
  4715  //        })
  4716  //
  4717  func (c *RoboMaker) ListWorldGenerationJobsPages(input *ListWorldGenerationJobsInput, fn func(*ListWorldGenerationJobsOutput, bool) bool) error {
  4718  	return c.ListWorldGenerationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
  4719  }
  4720  
  4721  // ListWorldGenerationJobsPagesWithContext same as ListWorldGenerationJobsPages except
  4722  // it takes a Context and allows setting request options on the pages.
  4723  //
  4724  // The context must be non-nil and will be used for request cancellation. If
  4725  // the context is nil a panic will occur. In the future the SDK may create
  4726  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4727  // for more information on using Contexts.
  4728  func (c *RoboMaker) ListWorldGenerationJobsPagesWithContext(ctx aws.Context, input *ListWorldGenerationJobsInput, fn func(*ListWorldGenerationJobsOutput, bool) bool, opts ...request.Option) error {
  4729  	p := request.Pagination{
  4730  		NewRequest: func() (*request.Request, error) {
  4731  			var inCpy *ListWorldGenerationJobsInput
  4732  			if input != nil {
  4733  				tmp := *input
  4734  				inCpy = &tmp
  4735  			}
  4736  			req, _ := c.ListWorldGenerationJobsRequest(inCpy)
  4737  			req.SetContext(ctx)
  4738  			req.ApplyOptions(opts...)
  4739  			return req, nil
  4740  		},
  4741  	}
  4742  
  4743  	for p.Next() {
  4744  		if !fn(p.Page().(*ListWorldGenerationJobsOutput), !p.HasNextPage()) {
  4745  			break
  4746  		}
  4747  	}
  4748  
  4749  	return p.Err()
  4750  }
  4751  
  4752  const opListWorldTemplates = "ListWorldTemplates"
  4753  
  4754  // ListWorldTemplatesRequest generates a "aws/request.Request" representing the
  4755  // client's request for the ListWorldTemplates operation. The "output" return
  4756  // value will be populated with the request's response once the request completes
  4757  // successfully.
  4758  //
  4759  // Use "Send" method on the returned Request to send the API call to the service.
  4760  // the "output" return value is not valid until after Send returns without error.
  4761  //
  4762  // See ListWorldTemplates for more information on using the ListWorldTemplates
  4763  // API call, and error handling.
  4764  //
  4765  // This method is useful when you want to inject custom logic or configuration
  4766  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4767  //
  4768  //
  4769  //    // Example sending a request using the ListWorldTemplatesRequest method.
  4770  //    req, resp := client.ListWorldTemplatesRequest(params)
  4771  //
  4772  //    err := req.Send()
  4773  //    if err == nil { // resp is now filled
  4774  //        fmt.Println(resp)
  4775  //    }
  4776  //
  4777  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldTemplates
  4778  func (c *RoboMaker) ListWorldTemplatesRequest(input *ListWorldTemplatesInput) (req *request.Request, output *ListWorldTemplatesOutput) {
  4779  	op := &request.Operation{
  4780  		Name:       opListWorldTemplates,
  4781  		HTTPMethod: "POST",
  4782  		HTTPPath:   "/listWorldTemplates",
  4783  		Paginator: &request.Paginator{
  4784  			InputTokens:     []string{"nextToken"},
  4785  			OutputTokens:    []string{"nextToken"},
  4786  			LimitToken:      "maxResults",
  4787  			TruncationToken: "",
  4788  		},
  4789  	}
  4790  
  4791  	if input == nil {
  4792  		input = &ListWorldTemplatesInput{}
  4793  	}
  4794  
  4795  	output = &ListWorldTemplatesOutput{}
  4796  	req = c.newRequest(op, input, output)
  4797  	return
  4798  }
  4799  
  4800  // ListWorldTemplates API operation for AWS RoboMaker.
  4801  //
  4802  // Lists world templates.
  4803  //
  4804  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4805  // with awserr.Error's Code and Message methods to get detailed information about
  4806  // the error.
  4807  //
  4808  // See the AWS API reference guide for AWS RoboMaker's
  4809  // API operation ListWorldTemplates for usage and error information.
  4810  //
  4811  // Returned Error Types:
  4812  //   * InvalidParameterException
  4813  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4814  //   be used. The returned message provides an explanation of the error value.
  4815  //
  4816  //   * ThrottlingException
  4817  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4818  //   again.
  4819  //
  4820  //   * InternalServerException
  4821  //   AWS RoboMaker experienced a service issue. Try your call again.
  4822  //
  4823  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldTemplates
  4824  func (c *RoboMaker) ListWorldTemplates(input *ListWorldTemplatesInput) (*ListWorldTemplatesOutput, error) {
  4825  	req, out := c.ListWorldTemplatesRequest(input)
  4826  	return out, req.Send()
  4827  }
  4828  
  4829  // ListWorldTemplatesWithContext is the same as ListWorldTemplates with the addition of
  4830  // the ability to pass a context and additional request options.
  4831  //
  4832  // See ListWorldTemplates for details on how to use this API operation.
  4833  //
  4834  // The context must be non-nil and will be used for request cancellation. If
  4835  // the context is nil a panic will occur. In the future the SDK may create
  4836  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4837  // for more information on using Contexts.
  4838  func (c *RoboMaker) ListWorldTemplatesWithContext(ctx aws.Context, input *ListWorldTemplatesInput, opts ...request.Option) (*ListWorldTemplatesOutput, error) {
  4839  	req, out := c.ListWorldTemplatesRequest(input)
  4840  	req.SetContext(ctx)
  4841  	req.ApplyOptions(opts...)
  4842  	return out, req.Send()
  4843  }
  4844  
  4845  // ListWorldTemplatesPages iterates over the pages of a ListWorldTemplates operation,
  4846  // calling the "fn" function with the response data for each page. To stop
  4847  // iterating, return false from the fn function.
  4848  //
  4849  // See ListWorldTemplates method for more information on how to use this operation.
  4850  //
  4851  // Note: This operation can generate multiple requests to a service.
  4852  //
  4853  //    // Example iterating over at most 3 pages of a ListWorldTemplates operation.
  4854  //    pageNum := 0
  4855  //    err := client.ListWorldTemplatesPages(params,
  4856  //        func(page *robomaker.ListWorldTemplatesOutput, lastPage bool) bool {
  4857  //            pageNum++
  4858  //            fmt.Println(page)
  4859  //            return pageNum <= 3
  4860  //        })
  4861  //
  4862  func (c *RoboMaker) ListWorldTemplatesPages(input *ListWorldTemplatesInput, fn func(*ListWorldTemplatesOutput, bool) bool) error {
  4863  	return c.ListWorldTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
  4864  }
  4865  
  4866  // ListWorldTemplatesPagesWithContext same as ListWorldTemplatesPages except
  4867  // it takes a Context and allows setting request options on the pages.
  4868  //
  4869  // The context must be non-nil and will be used for request cancellation. If
  4870  // the context is nil a panic will occur. In the future the SDK may create
  4871  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4872  // for more information on using Contexts.
  4873  func (c *RoboMaker) ListWorldTemplatesPagesWithContext(ctx aws.Context, input *ListWorldTemplatesInput, fn func(*ListWorldTemplatesOutput, bool) bool, opts ...request.Option) error {
  4874  	p := request.Pagination{
  4875  		NewRequest: func() (*request.Request, error) {
  4876  			var inCpy *ListWorldTemplatesInput
  4877  			if input != nil {
  4878  				tmp := *input
  4879  				inCpy = &tmp
  4880  			}
  4881  			req, _ := c.ListWorldTemplatesRequest(inCpy)
  4882  			req.SetContext(ctx)
  4883  			req.ApplyOptions(opts...)
  4884  			return req, nil
  4885  		},
  4886  	}
  4887  
  4888  	for p.Next() {
  4889  		if !fn(p.Page().(*ListWorldTemplatesOutput), !p.HasNextPage()) {
  4890  			break
  4891  		}
  4892  	}
  4893  
  4894  	return p.Err()
  4895  }
  4896  
  4897  const opListWorlds = "ListWorlds"
  4898  
  4899  // ListWorldsRequest generates a "aws/request.Request" representing the
  4900  // client's request for the ListWorlds operation. The "output" return
  4901  // value will be populated with the request's response once the request completes
  4902  // successfully.
  4903  //
  4904  // Use "Send" method on the returned Request to send the API call to the service.
  4905  // the "output" return value is not valid until after Send returns without error.
  4906  //
  4907  // See ListWorlds for more information on using the ListWorlds
  4908  // API call, and error handling.
  4909  //
  4910  // This method is useful when you want to inject custom logic or configuration
  4911  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4912  //
  4913  //
  4914  //    // Example sending a request using the ListWorldsRequest method.
  4915  //    req, resp := client.ListWorldsRequest(params)
  4916  //
  4917  //    err := req.Send()
  4918  //    if err == nil { // resp is now filled
  4919  //        fmt.Println(resp)
  4920  //    }
  4921  //
  4922  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorlds
  4923  func (c *RoboMaker) ListWorldsRequest(input *ListWorldsInput) (req *request.Request, output *ListWorldsOutput) {
  4924  	op := &request.Operation{
  4925  		Name:       opListWorlds,
  4926  		HTTPMethod: "POST",
  4927  		HTTPPath:   "/listWorlds",
  4928  		Paginator: &request.Paginator{
  4929  			InputTokens:     []string{"nextToken"},
  4930  			OutputTokens:    []string{"nextToken"},
  4931  			LimitToken:      "maxResults",
  4932  			TruncationToken: "",
  4933  		},
  4934  	}
  4935  
  4936  	if input == nil {
  4937  		input = &ListWorldsInput{}
  4938  	}
  4939  
  4940  	output = &ListWorldsOutput{}
  4941  	req = c.newRequest(op, input, output)
  4942  	return
  4943  }
  4944  
  4945  // ListWorlds API operation for AWS RoboMaker.
  4946  //
  4947  // Lists worlds.
  4948  //
  4949  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4950  // with awserr.Error's Code and Message methods to get detailed information about
  4951  // the error.
  4952  //
  4953  // See the AWS API reference guide for AWS RoboMaker's
  4954  // API operation ListWorlds for usage and error information.
  4955  //
  4956  // Returned Error Types:
  4957  //   * InvalidParameterException
  4958  //   A parameter specified in a request is not valid, is unsupported, or cannot
  4959  //   be used. The returned message provides an explanation of the error value.
  4960  //
  4961  //   * ThrottlingException
  4962  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  4963  //   again.
  4964  //
  4965  //   * InternalServerException
  4966  //   AWS RoboMaker experienced a service issue. Try your call again.
  4967  //
  4968  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorlds
  4969  func (c *RoboMaker) ListWorlds(input *ListWorldsInput) (*ListWorldsOutput, error) {
  4970  	req, out := c.ListWorldsRequest(input)
  4971  	return out, req.Send()
  4972  }
  4973  
  4974  // ListWorldsWithContext is the same as ListWorlds with the addition of
  4975  // the ability to pass a context and additional request options.
  4976  //
  4977  // See ListWorlds for details on how to use this API operation.
  4978  //
  4979  // The context must be non-nil and will be used for request cancellation. If
  4980  // the context is nil a panic will occur. In the future the SDK may create
  4981  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4982  // for more information on using Contexts.
  4983  func (c *RoboMaker) ListWorldsWithContext(ctx aws.Context, input *ListWorldsInput, opts ...request.Option) (*ListWorldsOutput, error) {
  4984  	req, out := c.ListWorldsRequest(input)
  4985  	req.SetContext(ctx)
  4986  	req.ApplyOptions(opts...)
  4987  	return out, req.Send()
  4988  }
  4989  
  4990  // ListWorldsPages iterates over the pages of a ListWorlds operation,
  4991  // calling the "fn" function with the response data for each page. To stop
  4992  // iterating, return false from the fn function.
  4993  //
  4994  // See ListWorlds method for more information on how to use this operation.
  4995  //
  4996  // Note: This operation can generate multiple requests to a service.
  4997  //
  4998  //    // Example iterating over at most 3 pages of a ListWorlds operation.
  4999  //    pageNum := 0
  5000  //    err := client.ListWorldsPages(params,
  5001  //        func(page *robomaker.ListWorldsOutput, lastPage bool) bool {
  5002  //            pageNum++
  5003  //            fmt.Println(page)
  5004  //            return pageNum <= 3
  5005  //        })
  5006  //
  5007  func (c *RoboMaker) ListWorldsPages(input *ListWorldsInput, fn func(*ListWorldsOutput, bool) bool) error {
  5008  	return c.ListWorldsPagesWithContext(aws.BackgroundContext(), input, fn)
  5009  }
  5010  
  5011  // ListWorldsPagesWithContext same as ListWorldsPages except
  5012  // it takes a Context and allows setting request options on the pages.
  5013  //
  5014  // The context must be non-nil and will be used for request cancellation. If
  5015  // the context is nil a panic will occur. In the future the SDK may create
  5016  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5017  // for more information on using Contexts.
  5018  func (c *RoboMaker) ListWorldsPagesWithContext(ctx aws.Context, input *ListWorldsInput, fn func(*ListWorldsOutput, bool) bool, opts ...request.Option) error {
  5019  	p := request.Pagination{
  5020  		NewRequest: func() (*request.Request, error) {
  5021  			var inCpy *ListWorldsInput
  5022  			if input != nil {
  5023  				tmp := *input
  5024  				inCpy = &tmp
  5025  			}
  5026  			req, _ := c.ListWorldsRequest(inCpy)
  5027  			req.SetContext(ctx)
  5028  			req.ApplyOptions(opts...)
  5029  			return req, nil
  5030  		},
  5031  	}
  5032  
  5033  	for p.Next() {
  5034  		if !fn(p.Page().(*ListWorldsOutput), !p.HasNextPage()) {
  5035  			break
  5036  		}
  5037  	}
  5038  
  5039  	return p.Err()
  5040  }
  5041  
  5042  const opRegisterRobot = "RegisterRobot"
  5043  
  5044  // RegisterRobotRequest generates a "aws/request.Request" representing the
  5045  // client's request for the RegisterRobot operation. The "output" return
  5046  // value will be populated with the request's response once the request completes
  5047  // successfully.
  5048  //
  5049  // Use "Send" method on the returned Request to send the API call to the service.
  5050  // the "output" return value is not valid until after Send returns without error.
  5051  //
  5052  // See RegisterRobot for more information on using the RegisterRobot
  5053  // API call, and error handling.
  5054  //
  5055  // This method is useful when you want to inject custom logic or configuration
  5056  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5057  //
  5058  //
  5059  //    // Example sending a request using the RegisterRobotRequest method.
  5060  //    req, resp := client.RegisterRobotRequest(params)
  5061  //
  5062  //    err := req.Send()
  5063  //    if err == nil { // resp is now filled
  5064  //        fmt.Println(resp)
  5065  //    }
  5066  //
  5067  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
  5068  func (c *RoboMaker) RegisterRobotRequest(input *RegisterRobotInput) (req *request.Request, output *RegisterRobotOutput) {
  5069  	op := &request.Operation{
  5070  		Name:       opRegisterRobot,
  5071  		HTTPMethod: "POST",
  5072  		HTTPPath:   "/registerRobot",
  5073  	}
  5074  
  5075  	if input == nil {
  5076  		input = &RegisterRobotInput{}
  5077  	}
  5078  
  5079  	output = &RegisterRobotOutput{}
  5080  	req = c.newRequest(op, input, output)
  5081  	return
  5082  }
  5083  
  5084  // RegisterRobot API operation for AWS RoboMaker.
  5085  //
  5086  // Registers a robot with a fleet.
  5087  //
  5088  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5089  // with awserr.Error's Code and Message methods to get detailed information about
  5090  // the error.
  5091  //
  5092  // See the AWS API reference guide for AWS RoboMaker's
  5093  // API operation RegisterRobot for usage and error information.
  5094  //
  5095  // Returned Error Types:
  5096  //   * InvalidParameterException
  5097  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5098  //   be used. The returned message provides an explanation of the error value.
  5099  //
  5100  //   * InternalServerException
  5101  //   AWS RoboMaker experienced a service issue. Try your call again.
  5102  //
  5103  //   * ThrottlingException
  5104  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5105  //   again.
  5106  //
  5107  //   * LimitExceededException
  5108  //   The requested resource exceeds the maximum number allowed, or the number
  5109  //   of concurrent stream requests exceeds the maximum number allowed.
  5110  //
  5111  //   * ResourceNotFoundException
  5112  //   The specified resource does not exist.
  5113  //
  5114  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
  5115  func (c *RoboMaker) RegisterRobot(input *RegisterRobotInput) (*RegisterRobotOutput, error) {
  5116  	req, out := c.RegisterRobotRequest(input)
  5117  	return out, req.Send()
  5118  }
  5119  
  5120  // RegisterRobotWithContext is the same as RegisterRobot with the addition of
  5121  // the ability to pass a context and additional request options.
  5122  //
  5123  // See RegisterRobot for details on how to use this API operation.
  5124  //
  5125  // The context must be non-nil and will be used for request cancellation. If
  5126  // the context is nil a panic will occur. In the future the SDK may create
  5127  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5128  // for more information on using Contexts.
  5129  func (c *RoboMaker) RegisterRobotWithContext(ctx aws.Context, input *RegisterRobotInput, opts ...request.Option) (*RegisterRobotOutput, error) {
  5130  	req, out := c.RegisterRobotRequest(input)
  5131  	req.SetContext(ctx)
  5132  	req.ApplyOptions(opts...)
  5133  	return out, req.Send()
  5134  }
  5135  
  5136  const opRestartSimulationJob = "RestartSimulationJob"
  5137  
  5138  // RestartSimulationJobRequest generates a "aws/request.Request" representing the
  5139  // client's request for the RestartSimulationJob operation. The "output" return
  5140  // value will be populated with the request's response once the request completes
  5141  // successfully.
  5142  //
  5143  // Use "Send" method on the returned Request to send the API call to the service.
  5144  // the "output" return value is not valid until after Send returns without error.
  5145  //
  5146  // See RestartSimulationJob for more information on using the RestartSimulationJob
  5147  // API call, and error handling.
  5148  //
  5149  // This method is useful when you want to inject custom logic or configuration
  5150  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5151  //
  5152  //
  5153  //    // Example sending a request using the RestartSimulationJobRequest method.
  5154  //    req, resp := client.RestartSimulationJobRequest(params)
  5155  //
  5156  //    err := req.Send()
  5157  //    if err == nil { // resp is now filled
  5158  //        fmt.Println(resp)
  5159  //    }
  5160  //
  5161  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
  5162  func (c *RoboMaker) RestartSimulationJobRequest(input *RestartSimulationJobInput) (req *request.Request, output *RestartSimulationJobOutput) {
  5163  	op := &request.Operation{
  5164  		Name:       opRestartSimulationJob,
  5165  		HTTPMethod: "POST",
  5166  		HTTPPath:   "/restartSimulationJob",
  5167  	}
  5168  
  5169  	if input == nil {
  5170  		input = &RestartSimulationJobInput{}
  5171  	}
  5172  
  5173  	output = &RestartSimulationJobOutput{}
  5174  	req = c.newRequest(op, input, output)
  5175  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5176  	return
  5177  }
  5178  
  5179  // RestartSimulationJob API operation for AWS RoboMaker.
  5180  //
  5181  // Restarts a running simulation job.
  5182  //
  5183  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5184  // with awserr.Error's Code and Message methods to get detailed information about
  5185  // the error.
  5186  //
  5187  // See the AWS API reference guide for AWS RoboMaker's
  5188  // API operation RestartSimulationJob for usage and error information.
  5189  //
  5190  // Returned Error Types:
  5191  //   * ResourceNotFoundException
  5192  //   The specified resource does not exist.
  5193  //
  5194  //   * ThrottlingException
  5195  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5196  //   again.
  5197  //
  5198  //   * LimitExceededException
  5199  //   The requested resource exceeds the maximum number allowed, or the number
  5200  //   of concurrent stream requests exceeds the maximum number allowed.
  5201  //
  5202  //   * InvalidParameterException
  5203  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5204  //   be used. The returned message provides an explanation of the error value.
  5205  //
  5206  //   * InternalServerException
  5207  //   AWS RoboMaker experienced a service issue. Try your call again.
  5208  //
  5209  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
  5210  func (c *RoboMaker) RestartSimulationJob(input *RestartSimulationJobInput) (*RestartSimulationJobOutput, error) {
  5211  	req, out := c.RestartSimulationJobRequest(input)
  5212  	return out, req.Send()
  5213  }
  5214  
  5215  // RestartSimulationJobWithContext is the same as RestartSimulationJob with the addition of
  5216  // the ability to pass a context and additional request options.
  5217  //
  5218  // See RestartSimulationJob for details on how to use this API operation.
  5219  //
  5220  // The context must be non-nil and will be used for request cancellation. If
  5221  // the context is nil a panic will occur. In the future the SDK may create
  5222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5223  // for more information on using Contexts.
  5224  func (c *RoboMaker) RestartSimulationJobWithContext(ctx aws.Context, input *RestartSimulationJobInput, opts ...request.Option) (*RestartSimulationJobOutput, error) {
  5225  	req, out := c.RestartSimulationJobRequest(input)
  5226  	req.SetContext(ctx)
  5227  	req.ApplyOptions(opts...)
  5228  	return out, req.Send()
  5229  }
  5230  
  5231  const opStartSimulationJobBatch = "StartSimulationJobBatch"
  5232  
  5233  // StartSimulationJobBatchRequest generates a "aws/request.Request" representing the
  5234  // client's request for the StartSimulationJobBatch operation. The "output" return
  5235  // value will be populated with the request's response once the request completes
  5236  // successfully.
  5237  //
  5238  // Use "Send" method on the returned Request to send the API call to the service.
  5239  // the "output" return value is not valid until after Send returns without error.
  5240  //
  5241  // See StartSimulationJobBatch for more information on using the StartSimulationJobBatch
  5242  // API call, and error handling.
  5243  //
  5244  // This method is useful when you want to inject custom logic or configuration
  5245  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5246  //
  5247  //
  5248  //    // Example sending a request using the StartSimulationJobBatchRequest method.
  5249  //    req, resp := client.StartSimulationJobBatchRequest(params)
  5250  //
  5251  //    err := req.Send()
  5252  //    if err == nil { // resp is now filled
  5253  //        fmt.Println(resp)
  5254  //    }
  5255  //
  5256  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/StartSimulationJobBatch
  5257  func (c *RoboMaker) StartSimulationJobBatchRequest(input *StartSimulationJobBatchInput) (req *request.Request, output *StartSimulationJobBatchOutput) {
  5258  	op := &request.Operation{
  5259  		Name:       opStartSimulationJobBatch,
  5260  		HTTPMethod: "POST",
  5261  		HTTPPath:   "/startSimulationJobBatch",
  5262  	}
  5263  
  5264  	if input == nil {
  5265  		input = &StartSimulationJobBatchInput{}
  5266  	}
  5267  
  5268  	output = &StartSimulationJobBatchOutput{}
  5269  	req = c.newRequest(op, input, output)
  5270  	return
  5271  }
  5272  
  5273  // StartSimulationJobBatch API operation for AWS RoboMaker.
  5274  //
  5275  // Starts a new simulation job batch. The batch is defined using one or more
  5276  // SimulationJobRequest objects.
  5277  //
  5278  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5279  // with awserr.Error's Code and Message methods to get detailed information about
  5280  // the error.
  5281  //
  5282  // See the AWS API reference guide for AWS RoboMaker's
  5283  // API operation StartSimulationJobBatch for usage and error information.
  5284  //
  5285  // Returned Error Types:
  5286  //   * InvalidParameterException
  5287  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5288  //   be used. The returned message provides an explanation of the error value.
  5289  //
  5290  //   * LimitExceededException
  5291  //   The requested resource exceeds the maximum number allowed, or the number
  5292  //   of concurrent stream requests exceeds the maximum number allowed.
  5293  //
  5294  //   * ThrottlingException
  5295  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5296  //   again.
  5297  //
  5298  //   * IdempotentParameterMismatchException
  5299  //   The request uses the same client token as a previous, but non-identical request.
  5300  //   Do not reuse a client token with different requests, unless the requests
  5301  //   are identical.
  5302  //
  5303  //   * InternalServerException
  5304  //   AWS RoboMaker experienced a service issue. Try your call again.
  5305  //
  5306  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/StartSimulationJobBatch
  5307  func (c *RoboMaker) StartSimulationJobBatch(input *StartSimulationJobBatchInput) (*StartSimulationJobBatchOutput, error) {
  5308  	req, out := c.StartSimulationJobBatchRequest(input)
  5309  	return out, req.Send()
  5310  }
  5311  
  5312  // StartSimulationJobBatchWithContext is the same as StartSimulationJobBatch with the addition of
  5313  // the ability to pass a context and additional request options.
  5314  //
  5315  // See StartSimulationJobBatch for details on how to use this API operation.
  5316  //
  5317  // The context must be non-nil and will be used for request cancellation. If
  5318  // the context is nil a panic will occur. In the future the SDK may create
  5319  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5320  // for more information on using Contexts.
  5321  func (c *RoboMaker) StartSimulationJobBatchWithContext(ctx aws.Context, input *StartSimulationJobBatchInput, opts ...request.Option) (*StartSimulationJobBatchOutput, error) {
  5322  	req, out := c.StartSimulationJobBatchRequest(input)
  5323  	req.SetContext(ctx)
  5324  	req.ApplyOptions(opts...)
  5325  	return out, req.Send()
  5326  }
  5327  
  5328  const opSyncDeploymentJob = "SyncDeploymentJob"
  5329  
  5330  // SyncDeploymentJobRequest generates a "aws/request.Request" representing the
  5331  // client's request for the SyncDeploymentJob operation. The "output" return
  5332  // value will be populated with the request's response once the request completes
  5333  // successfully.
  5334  //
  5335  // Use "Send" method on the returned Request to send the API call to the service.
  5336  // the "output" return value is not valid until after Send returns without error.
  5337  //
  5338  // See SyncDeploymentJob for more information on using the SyncDeploymentJob
  5339  // API call, and error handling.
  5340  //
  5341  // This method is useful when you want to inject custom logic or configuration
  5342  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5343  //
  5344  //
  5345  //    // Example sending a request using the SyncDeploymentJobRequest method.
  5346  //    req, resp := client.SyncDeploymentJobRequest(params)
  5347  //
  5348  //    err := req.Send()
  5349  //    if err == nil { // resp is now filled
  5350  //        fmt.Println(resp)
  5351  //    }
  5352  //
  5353  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
  5354  func (c *RoboMaker) SyncDeploymentJobRequest(input *SyncDeploymentJobInput) (req *request.Request, output *SyncDeploymentJobOutput) {
  5355  	op := &request.Operation{
  5356  		Name:       opSyncDeploymentJob,
  5357  		HTTPMethod: "POST",
  5358  		HTTPPath:   "/syncDeploymentJob",
  5359  	}
  5360  
  5361  	if input == nil {
  5362  		input = &SyncDeploymentJobInput{}
  5363  	}
  5364  
  5365  	output = &SyncDeploymentJobOutput{}
  5366  	req = c.newRequest(op, input, output)
  5367  	return
  5368  }
  5369  
  5370  // SyncDeploymentJob API operation for AWS RoboMaker.
  5371  //
  5372  // Syncrhonizes robots in a fleet to the latest deployment. This is helpful
  5373  // if robots were added after a deployment.
  5374  //
  5375  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5376  // with awserr.Error's Code and Message methods to get detailed information about
  5377  // the error.
  5378  //
  5379  // See the AWS API reference guide for AWS RoboMaker's
  5380  // API operation SyncDeploymentJob for usage and error information.
  5381  //
  5382  // Returned Error Types:
  5383  //   * ResourceNotFoundException
  5384  //   The specified resource does not exist.
  5385  //
  5386  //   * InvalidParameterException
  5387  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5388  //   be used. The returned message provides an explanation of the error value.
  5389  //
  5390  //   * InternalServerException
  5391  //   AWS RoboMaker experienced a service issue. Try your call again.
  5392  //
  5393  //   * ThrottlingException
  5394  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5395  //   again.
  5396  //
  5397  //   * LimitExceededException
  5398  //   The requested resource exceeds the maximum number allowed, or the number
  5399  //   of concurrent stream requests exceeds the maximum number allowed.
  5400  //
  5401  //   * ConcurrentDeploymentException
  5402  //   The failure percentage threshold percentage was met.
  5403  //
  5404  //   * IdempotentParameterMismatchException
  5405  //   The request uses the same client token as a previous, but non-identical request.
  5406  //   Do not reuse a client token with different requests, unless the requests
  5407  //   are identical.
  5408  //
  5409  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
  5410  func (c *RoboMaker) SyncDeploymentJob(input *SyncDeploymentJobInput) (*SyncDeploymentJobOutput, error) {
  5411  	req, out := c.SyncDeploymentJobRequest(input)
  5412  	return out, req.Send()
  5413  }
  5414  
  5415  // SyncDeploymentJobWithContext is the same as SyncDeploymentJob with the addition of
  5416  // the ability to pass a context and additional request options.
  5417  //
  5418  // See SyncDeploymentJob for details on how to use this API operation.
  5419  //
  5420  // The context must be non-nil and will be used for request cancellation. If
  5421  // the context is nil a panic will occur. In the future the SDK may create
  5422  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5423  // for more information on using Contexts.
  5424  func (c *RoboMaker) SyncDeploymentJobWithContext(ctx aws.Context, input *SyncDeploymentJobInput, opts ...request.Option) (*SyncDeploymentJobOutput, error) {
  5425  	req, out := c.SyncDeploymentJobRequest(input)
  5426  	req.SetContext(ctx)
  5427  	req.ApplyOptions(opts...)
  5428  	return out, req.Send()
  5429  }
  5430  
  5431  const opTagResource = "TagResource"
  5432  
  5433  // TagResourceRequest generates a "aws/request.Request" representing the
  5434  // client's request for the TagResource operation. The "output" return
  5435  // value will be populated with the request's response once the request completes
  5436  // successfully.
  5437  //
  5438  // Use "Send" method on the returned Request to send the API call to the service.
  5439  // the "output" return value is not valid until after Send returns without error.
  5440  //
  5441  // See TagResource for more information on using the TagResource
  5442  // API call, and error handling.
  5443  //
  5444  // This method is useful when you want to inject custom logic or configuration
  5445  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5446  //
  5447  //
  5448  //    // Example sending a request using the TagResourceRequest method.
  5449  //    req, resp := client.TagResourceRequest(params)
  5450  //
  5451  //    err := req.Send()
  5452  //    if err == nil { // resp is now filled
  5453  //        fmt.Println(resp)
  5454  //    }
  5455  //
  5456  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
  5457  func (c *RoboMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  5458  	op := &request.Operation{
  5459  		Name:       opTagResource,
  5460  		HTTPMethod: "POST",
  5461  		HTTPPath:   "/tags/{resourceArn}",
  5462  	}
  5463  
  5464  	if input == nil {
  5465  		input = &TagResourceInput{}
  5466  	}
  5467  
  5468  	output = &TagResourceOutput{}
  5469  	req = c.newRequest(op, input, output)
  5470  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5471  	return
  5472  }
  5473  
  5474  // TagResource API operation for AWS RoboMaker.
  5475  //
  5476  // Adds or edits tags for a AWS RoboMaker resource.
  5477  //
  5478  // Each tag consists of a tag key and a tag value. Tag keys and tag values are
  5479  // both required, but tag values can be empty strings.
  5480  //
  5481  // For information about the rules that apply to tag keys and tag values, see
  5482  // User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
  5483  // in the AWS Billing and Cost Management User Guide.
  5484  //
  5485  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5486  // with awserr.Error's Code and Message methods to get detailed information about
  5487  // the error.
  5488  //
  5489  // See the AWS API reference guide for AWS RoboMaker's
  5490  // API operation TagResource for usage and error information.
  5491  //
  5492  // Returned Error Types:
  5493  //   * InternalServerException
  5494  //   AWS RoboMaker experienced a service issue. Try your call again.
  5495  //
  5496  //   * ResourceNotFoundException
  5497  //   The specified resource does not exist.
  5498  //
  5499  //   * InvalidParameterException
  5500  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5501  //   be used. The returned message provides an explanation of the error value.
  5502  //
  5503  //   * ThrottlingException
  5504  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5505  //   again.
  5506  //
  5507  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
  5508  func (c *RoboMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  5509  	req, out := c.TagResourceRequest(input)
  5510  	return out, req.Send()
  5511  }
  5512  
  5513  // TagResourceWithContext is the same as TagResource with the addition of
  5514  // the ability to pass a context and additional request options.
  5515  //
  5516  // See TagResource for details on how to use this API operation.
  5517  //
  5518  // The context must be non-nil and will be used for request cancellation. If
  5519  // the context is nil a panic will occur. In the future the SDK may create
  5520  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5521  // for more information on using Contexts.
  5522  func (c *RoboMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  5523  	req, out := c.TagResourceRequest(input)
  5524  	req.SetContext(ctx)
  5525  	req.ApplyOptions(opts...)
  5526  	return out, req.Send()
  5527  }
  5528  
  5529  const opUntagResource = "UntagResource"
  5530  
  5531  // UntagResourceRequest generates a "aws/request.Request" representing the
  5532  // client's request for the UntagResource operation. The "output" return
  5533  // value will be populated with the request's response once the request completes
  5534  // successfully.
  5535  //
  5536  // Use "Send" method on the returned Request to send the API call to the service.
  5537  // the "output" return value is not valid until after Send returns without error.
  5538  //
  5539  // See UntagResource for more information on using the UntagResource
  5540  // API call, and error handling.
  5541  //
  5542  // This method is useful when you want to inject custom logic or configuration
  5543  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5544  //
  5545  //
  5546  //    // Example sending a request using the UntagResourceRequest method.
  5547  //    req, resp := client.UntagResourceRequest(params)
  5548  //
  5549  //    err := req.Send()
  5550  //    if err == nil { // resp is now filled
  5551  //        fmt.Println(resp)
  5552  //    }
  5553  //
  5554  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
  5555  func (c *RoboMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  5556  	op := &request.Operation{
  5557  		Name:       opUntagResource,
  5558  		HTTPMethod: "DELETE",
  5559  		HTTPPath:   "/tags/{resourceArn}",
  5560  	}
  5561  
  5562  	if input == nil {
  5563  		input = &UntagResourceInput{}
  5564  	}
  5565  
  5566  	output = &UntagResourceOutput{}
  5567  	req = c.newRequest(op, input, output)
  5568  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5569  	return
  5570  }
  5571  
  5572  // UntagResource API operation for AWS RoboMaker.
  5573  //
  5574  // Removes the specified tags from the specified AWS RoboMaker resource.
  5575  //
  5576  // To remove a tag, specify the tag key. To change the tag value of an existing
  5577  // tag key, use TagResource (https://docs.aws.amazon.com/robomaker/latest/dg/API_TagResource.html).
  5578  //
  5579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5580  // with awserr.Error's Code and Message methods to get detailed information about
  5581  // the error.
  5582  //
  5583  // See the AWS API reference guide for AWS RoboMaker's
  5584  // API operation UntagResource for usage and error information.
  5585  //
  5586  // Returned Error Types:
  5587  //   * InternalServerException
  5588  //   AWS RoboMaker experienced a service issue. Try your call again.
  5589  //
  5590  //   * ResourceNotFoundException
  5591  //   The specified resource does not exist.
  5592  //
  5593  //   * InvalidParameterException
  5594  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5595  //   be used. The returned message provides an explanation of the error value.
  5596  //
  5597  //   * ThrottlingException
  5598  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5599  //   again.
  5600  //
  5601  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
  5602  func (c *RoboMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  5603  	req, out := c.UntagResourceRequest(input)
  5604  	return out, req.Send()
  5605  }
  5606  
  5607  // UntagResourceWithContext is the same as UntagResource with the addition of
  5608  // the ability to pass a context and additional request options.
  5609  //
  5610  // See UntagResource for details on how to use this API operation.
  5611  //
  5612  // The context must be non-nil and will be used for request cancellation. If
  5613  // the context is nil a panic will occur. In the future the SDK may create
  5614  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5615  // for more information on using Contexts.
  5616  func (c *RoboMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  5617  	req, out := c.UntagResourceRequest(input)
  5618  	req.SetContext(ctx)
  5619  	req.ApplyOptions(opts...)
  5620  	return out, req.Send()
  5621  }
  5622  
  5623  const opUpdateRobotApplication = "UpdateRobotApplication"
  5624  
  5625  // UpdateRobotApplicationRequest generates a "aws/request.Request" representing the
  5626  // client's request for the UpdateRobotApplication operation. The "output" return
  5627  // value will be populated with the request's response once the request completes
  5628  // successfully.
  5629  //
  5630  // Use "Send" method on the returned Request to send the API call to the service.
  5631  // the "output" return value is not valid until after Send returns without error.
  5632  //
  5633  // See UpdateRobotApplication for more information on using the UpdateRobotApplication
  5634  // API call, and error handling.
  5635  //
  5636  // This method is useful when you want to inject custom logic or configuration
  5637  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5638  //
  5639  //
  5640  //    // Example sending a request using the UpdateRobotApplicationRequest method.
  5641  //    req, resp := client.UpdateRobotApplicationRequest(params)
  5642  //
  5643  //    err := req.Send()
  5644  //    if err == nil { // resp is now filled
  5645  //        fmt.Println(resp)
  5646  //    }
  5647  //
  5648  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
  5649  func (c *RoboMaker) UpdateRobotApplicationRequest(input *UpdateRobotApplicationInput) (req *request.Request, output *UpdateRobotApplicationOutput) {
  5650  	op := &request.Operation{
  5651  		Name:       opUpdateRobotApplication,
  5652  		HTTPMethod: "POST",
  5653  		HTTPPath:   "/updateRobotApplication",
  5654  	}
  5655  
  5656  	if input == nil {
  5657  		input = &UpdateRobotApplicationInput{}
  5658  	}
  5659  
  5660  	output = &UpdateRobotApplicationOutput{}
  5661  	req = c.newRequest(op, input, output)
  5662  	return
  5663  }
  5664  
  5665  // UpdateRobotApplication API operation for AWS RoboMaker.
  5666  //
  5667  // Updates a robot application.
  5668  //
  5669  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5670  // with awserr.Error's Code and Message methods to get detailed information about
  5671  // the error.
  5672  //
  5673  // See the AWS API reference guide for AWS RoboMaker's
  5674  // API operation UpdateRobotApplication for usage and error information.
  5675  //
  5676  // Returned Error Types:
  5677  //   * InvalidParameterException
  5678  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5679  //   be used. The returned message provides an explanation of the error value.
  5680  //
  5681  //   * ResourceNotFoundException
  5682  //   The specified resource does not exist.
  5683  //
  5684  //   * LimitExceededException
  5685  //   The requested resource exceeds the maximum number allowed, or the number
  5686  //   of concurrent stream requests exceeds the maximum number allowed.
  5687  //
  5688  //   * ThrottlingException
  5689  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5690  //   again.
  5691  //
  5692  //   * InternalServerException
  5693  //   AWS RoboMaker experienced a service issue. Try your call again.
  5694  //
  5695  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
  5696  func (c *RoboMaker) UpdateRobotApplication(input *UpdateRobotApplicationInput) (*UpdateRobotApplicationOutput, error) {
  5697  	req, out := c.UpdateRobotApplicationRequest(input)
  5698  	return out, req.Send()
  5699  }
  5700  
  5701  // UpdateRobotApplicationWithContext is the same as UpdateRobotApplication with the addition of
  5702  // the ability to pass a context and additional request options.
  5703  //
  5704  // See UpdateRobotApplication for details on how to use this API operation.
  5705  //
  5706  // The context must be non-nil and will be used for request cancellation. If
  5707  // the context is nil a panic will occur. In the future the SDK may create
  5708  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5709  // for more information on using Contexts.
  5710  func (c *RoboMaker) UpdateRobotApplicationWithContext(ctx aws.Context, input *UpdateRobotApplicationInput, opts ...request.Option) (*UpdateRobotApplicationOutput, error) {
  5711  	req, out := c.UpdateRobotApplicationRequest(input)
  5712  	req.SetContext(ctx)
  5713  	req.ApplyOptions(opts...)
  5714  	return out, req.Send()
  5715  }
  5716  
  5717  const opUpdateSimulationApplication = "UpdateSimulationApplication"
  5718  
  5719  // UpdateSimulationApplicationRequest generates a "aws/request.Request" representing the
  5720  // client's request for the UpdateSimulationApplication operation. The "output" return
  5721  // value will be populated with the request's response once the request completes
  5722  // successfully.
  5723  //
  5724  // Use "Send" method on the returned Request to send the API call to the service.
  5725  // the "output" return value is not valid until after Send returns without error.
  5726  //
  5727  // See UpdateSimulationApplication for more information on using the UpdateSimulationApplication
  5728  // API call, and error handling.
  5729  //
  5730  // This method is useful when you want to inject custom logic or configuration
  5731  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5732  //
  5733  //
  5734  //    // Example sending a request using the UpdateSimulationApplicationRequest method.
  5735  //    req, resp := client.UpdateSimulationApplicationRequest(params)
  5736  //
  5737  //    err := req.Send()
  5738  //    if err == nil { // resp is now filled
  5739  //        fmt.Println(resp)
  5740  //    }
  5741  //
  5742  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
  5743  func (c *RoboMaker) UpdateSimulationApplicationRequest(input *UpdateSimulationApplicationInput) (req *request.Request, output *UpdateSimulationApplicationOutput) {
  5744  	op := &request.Operation{
  5745  		Name:       opUpdateSimulationApplication,
  5746  		HTTPMethod: "POST",
  5747  		HTTPPath:   "/updateSimulationApplication",
  5748  	}
  5749  
  5750  	if input == nil {
  5751  		input = &UpdateSimulationApplicationInput{}
  5752  	}
  5753  
  5754  	output = &UpdateSimulationApplicationOutput{}
  5755  	req = c.newRequest(op, input, output)
  5756  	return
  5757  }
  5758  
  5759  // UpdateSimulationApplication API operation for AWS RoboMaker.
  5760  //
  5761  // Updates a simulation application.
  5762  //
  5763  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5764  // with awserr.Error's Code and Message methods to get detailed information about
  5765  // the error.
  5766  //
  5767  // See the AWS API reference guide for AWS RoboMaker's
  5768  // API operation UpdateSimulationApplication for usage and error information.
  5769  //
  5770  // Returned Error Types:
  5771  //   * InvalidParameterException
  5772  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5773  //   be used. The returned message provides an explanation of the error value.
  5774  //
  5775  //   * ResourceNotFoundException
  5776  //   The specified resource does not exist.
  5777  //
  5778  //   * LimitExceededException
  5779  //   The requested resource exceeds the maximum number allowed, or the number
  5780  //   of concurrent stream requests exceeds the maximum number allowed.
  5781  //
  5782  //   * ThrottlingException
  5783  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5784  //   again.
  5785  //
  5786  //   * InternalServerException
  5787  //   AWS RoboMaker experienced a service issue. Try your call again.
  5788  //
  5789  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
  5790  func (c *RoboMaker) UpdateSimulationApplication(input *UpdateSimulationApplicationInput) (*UpdateSimulationApplicationOutput, error) {
  5791  	req, out := c.UpdateSimulationApplicationRequest(input)
  5792  	return out, req.Send()
  5793  }
  5794  
  5795  // UpdateSimulationApplicationWithContext is the same as UpdateSimulationApplication with the addition of
  5796  // the ability to pass a context and additional request options.
  5797  //
  5798  // See UpdateSimulationApplication for details on how to use this API operation.
  5799  //
  5800  // The context must be non-nil and will be used for request cancellation. If
  5801  // the context is nil a panic will occur. In the future the SDK may create
  5802  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5803  // for more information on using Contexts.
  5804  func (c *RoboMaker) UpdateSimulationApplicationWithContext(ctx aws.Context, input *UpdateSimulationApplicationInput, opts ...request.Option) (*UpdateSimulationApplicationOutput, error) {
  5805  	req, out := c.UpdateSimulationApplicationRequest(input)
  5806  	req.SetContext(ctx)
  5807  	req.ApplyOptions(opts...)
  5808  	return out, req.Send()
  5809  }
  5810  
  5811  const opUpdateWorldTemplate = "UpdateWorldTemplate"
  5812  
  5813  // UpdateWorldTemplateRequest generates a "aws/request.Request" representing the
  5814  // client's request for the UpdateWorldTemplate operation. The "output" return
  5815  // value will be populated with the request's response once the request completes
  5816  // successfully.
  5817  //
  5818  // Use "Send" method on the returned Request to send the API call to the service.
  5819  // the "output" return value is not valid until after Send returns without error.
  5820  //
  5821  // See UpdateWorldTemplate for more information on using the UpdateWorldTemplate
  5822  // API call, and error handling.
  5823  //
  5824  // This method is useful when you want to inject custom logic or configuration
  5825  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5826  //
  5827  //
  5828  //    // Example sending a request using the UpdateWorldTemplateRequest method.
  5829  //    req, resp := client.UpdateWorldTemplateRequest(params)
  5830  //
  5831  //    err := req.Send()
  5832  //    if err == nil { // resp is now filled
  5833  //        fmt.Println(resp)
  5834  //    }
  5835  //
  5836  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateWorldTemplate
  5837  func (c *RoboMaker) UpdateWorldTemplateRequest(input *UpdateWorldTemplateInput) (req *request.Request, output *UpdateWorldTemplateOutput) {
  5838  	op := &request.Operation{
  5839  		Name:       opUpdateWorldTemplate,
  5840  		HTTPMethod: "POST",
  5841  		HTTPPath:   "/updateWorldTemplate",
  5842  	}
  5843  
  5844  	if input == nil {
  5845  		input = &UpdateWorldTemplateInput{}
  5846  	}
  5847  
  5848  	output = &UpdateWorldTemplateOutput{}
  5849  	req = c.newRequest(op, input, output)
  5850  	return
  5851  }
  5852  
  5853  // UpdateWorldTemplate API operation for AWS RoboMaker.
  5854  //
  5855  // Updates a world template.
  5856  //
  5857  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5858  // with awserr.Error's Code and Message methods to get detailed information about
  5859  // the error.
  5860  //
  5861  // See the AWS API reference guide for AWS RoboMaker's
  5862  // API operation UpdateWorldTemplate for usage and error information.
  5863  //
  5864  // Returned Error Types:
  5865  //   * InvalidParameterException
  5866  //   A parameter specified in a request is not valid, is unsupported, or cannot
  5867  //   be used. The returned message provides an explanation of the error value.
  5868  //
  5869  //   * ResourceNotFoundException
  5870  //   The specified resource does not exist.
  5871  //
  5872  //   * ThrottlingException
  5873  //   AWS RoboMaker is temporarily unable to process the request. Try your call
  5874  //   again.
  5875  //
  5876  //   * InternalServerException
  5877  //   AWS RoboMaker experienced a service issue. Try your call again.
  5878  //
  5879  // See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateWorldTemplate
  5880  func (c *RoboMaker) UpdateWorldTemplate(input *UpdateWorldTemplateInput) (*UpdateWorldTemplateOutput, error) {
  5881  	req, out := c.UpdateWorldTemplateRequest(input)
  5882  	return out, req.Send()
  5883  }
  5884  
  5885  // UpdateWorldTemplateWithContext is the same as UpdateWorldTemplate with the addition of
  5886  // the ability to pass a context and additional request options.
  5887  //
  5888  // See UpdateWorldTemplate for details on how to use this API operation.
  5889  //
  5890  // The context must be non-nil and will be used for request cancellation. If
  5891  // the context is nil a panic will occur. In the future the SDK may create
  5892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5893  // for more information on using Contexts.
  5894  func (c *RoboMaker) UpdateWorldTemplateWithContext(ctx aws.Context, input *UpdateWorldTemplateInput, opts ...request.Option) (*UpdateWorldTemplateOutput, error) {
  5895  	req, out := c.UpdateWorldTemplateRequest(input)
  5896  	req.SetContext(ctx)
  5897  	req.ApplyOptions(opts...)
  5898  	return out, req.Send()
  5899  }
  5900  
  5901  type BatchDeleteWorldsInput struct {
  5902  	_ struct{} `type:"structure"`
  5903  
  5904  	// A list of Amazon Resource Names (arns) that correspond to worlds to delete.
  5905  	//
  5906  	// Worlds is a required field
  5907  	Worlds []*string `locationName:"worlds" min:"1" type:"list" required:"true"`
  5908  }
  5909  
  5910  // String returns the string representation.
  5911  //
  5912  // API parameter values that are decorated as "sensitive" in the API will not
  5913  // be included in the string output. The member name will be present, but the
  5914  // value will be replaced with "sensitive".
  5915  func (s BatchDeleteWorldsInput) String() string {
  5916  	return awsutil.Prettify(s)
  5917  }
  5918  
  5919  // GoString returns the string representation.
  5920  //
  5921  // API parameter values that are decorated as "sensitive" in the API will not
  5922  // be included in the string output. The member name will be present, but the
  5923  // value will be replaced with "sensitive".
  5924  func (s BatchDeleteWorldsInput) GoString() string {
  5925  	return s.String()
  5926  }
  5927  
  5928  // Validate inspects the fields of the type to determine if they are valid.
  5929  func (s *BatchDeleteWorldsInput) Validate() error {
  5930  	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteWorldsInput"}
  5931  	if s.Worlds == nil {
  5932  		invalidParams.Add(request.NewErrParamRequired("Worlds"))
  5933  	}
  5934  	if s.Worlds != nil && len(s.Worlds) < 1 {
  5935  		invalidParams.Add(request.NewErrParamMinLen("Worlds", 1))
  5936  	}
  5937  
  5938  	if invalidParams.Len() > 0 {
  5939  		return invalidParams
  5940  	}
  5941  	return nil
  5942  }
  5943  
  5944  // SetWorlds sets the Worlds field's value.
  5945  func (s *BatchDeleteWorldsInput) SetWorlds(v []*string) *BatchDeleteWorldsInput {
  5946  	s.Worlds = v
  5947  	return s
  5948  }
  5949  
  5950  type BatchDeleteWorldsOutput struct {
  5951  	_ struct{} `type:"structure"`
  5952  
  5953  	// A list of unprocessed worlds associated with the call. These worlds were
  5954  	// not deleted.
  5955  	UnprocessedWorlds []*string `locationName:"unprocessedWorlds" min:"1" type:"list"`
  5956  }
  5957  
  5958  // String returns the string representation.
  5959  //
  5960  // API parameter values that are decorated as "sensitive" in the API will not
  5961  // be included in the string output. The member name will be present, but the
  5962  // value will be replaced with "sensitive".
  5963  func (s BatchDeleteWorldsOutput) String() string {
  5964  	return awsutil.Prettify(s)
  5965  }
  5966  
  5967  // GoString returns the string representation.
  5968  //
  5969  // API parameter values that are decorated as "sensitive" in the API will not
  5970  // be included in the string output. The member name will be present, but the
  5971  // value will be replaced with "sensitive".
  5972  func (s BatchDeleteWorldsOutput) GoString() string {
  5973  	return s.String()
  5974  }
  5975  
  5976  // SetUnprocessedWorlds sets the UnprocessedWorlds field's value.
  5977  func (s *BatchDeleteWorldsOutput) SetUnprocessedWorlds(v []*string) *BatchDeleteWorldsOutput {
  5978  	s.UnprocessedWorlds = v
  5979  	return s
  5980  }
  5981  
  5982  type BatchDescribeSimulationJobInput struct {
  5983  	_ struct{} `type:"structure"`
  5984  
  5985  	// A list of Amazon Resource Names (ARNs) of simulation jobs to describe.
  5986  	//
  5987  	// Jobs is a required field
  5988  	Jobs []*string `locationName:"jobs" min:"1" type:"list" required:"true"`
  5989  }
  5990  
  5991  // String returns the string representation.
  5992  //
  5993  // API parameter values that are decorated as "sensitive" in the API will not
  5994  // be included in the string output. The member name will be present, but the
  5995  // value will be replaced with "sensitive".
  5996  func (s BatchDescribeSimulationJobInput) String() string {
  5997  	return awsutil.Prettify(s)
  5998  }
  5999  
  6000  // GoString returns the string representation.
  6001  //
  6002  // API parameter values that are decorated as "sensitive" in the API will not
  6003  // be included in the string output. The member name will be present, but the
  6004  // value will be replaced with "sensitive".
  6005  func (s BatchDescribeSimulationJobInput) GoString() string {
  6006  	return s.String()
  6007  }
  6008  
  6009  // Validate inspects the fields of the type to determine if they are valid.
  6010  func (s *BatchDescribeSimulationJobInput) Validate() error {
  6011  	invalidParams := request.ErrInvalidParams{Context: "BatchDescribeSimulationJobInput"}
  6012  	if s.Jobs == nil {
  6013  		invalidParams.Add(request.NewErrParamRequired("Jobs"))
  6014  	}
  6015  	if s.Jobs != nil && len(s.Jobs) < 1 {
  6016  		invalidParams.Add(request.NewErrParamMinLen("Jobs", 1))
  6017  	}
  6018  
  6019  	if invalidParams.Len() > 0 {
  6020  		return invalidParams
  6021  	}
  6022  	return nil
  6023  }
  6024  
  6025  // SetJobs sets the Jobs field's value.
  6026  func (s *BatchDescribeSimulationJobInput) SetJobs(v []*string) *BatchDescribeSimulationJobInput {
  6027  	s.Jobs = v
  6028  	return s
  6029  }
  6030  
  6031  type BatchDescribeSimulationJobOutput struct {
  6032  	_ struct{} `type:"structure"`
  6033  
  6034  	// A list of simulation jobs.
  6035  	Jobs []*SimulationJob `locationName:"jobs" type:"list"`
  6036  
  6037  	// A list of unprocessed simulation job Amazon Resource Names (ARNs).
  6038  	UnprocessedJobs []*string `locationName:"unprocessedJobs" min:"1" type:"list"`
  6039  }
  6040  
  6041  // String returns the string representation.
  6042  //
  6043  // API parameter values that are decorated as "sensitive" in the API will not
  6044  // be included in the string output. The member name will be present, but the
  6045  // value will be replaced with "sensitive".
  6046  func (s BatchDescribeSimulationJobOutput) String() string {
  6047  	return awsutil.Prettify(s)
  6048  }
  6049  
  6050  // GoString returns the string representation.
  6051  //
  6052  // API parameter values that are decorated as "sensitive" in the API will not
  6053  // be included in the string output. The member name will be present, but the
  6054  // value will be replaced with "sensitive".
  6055  func (s BatchDescribeSimulationJobOutput) GoString() string {
  6056  	return s.String()
  6057  }
  6058  
  6059  // SetJobs sets the Jobs field's value.
  6060  func (s *BatchDescribeSimulationJobOutput) SetJobs(v []*SimulationJob) *BatchDescribeSimulationJobOutput {
  6061  	s.Jobs = v
  6062  	return s
  6063  }
  6064  
  6065  // SetUnprocessedJobs sets the UnprocessedJobs field's value.
  6066  func (s *BatchDescribeSimulationJobOutput) SetUnprocessedJobs(v []*string) *BatchDescribeSimulationJobOutput {
  6067  	s.UnprocessedJobs = v
  6068  	return s
  6069  }
  6070  
  6071  // Information about the batch policy.
  6072  type BatchPolicy struct {
  6073  	_ struct{} `type:"structure"`
  6074  
  6075  	// The number of active simulation jobs create as part of the batch that can
  6076  	// be in an active state at the same time.
  6077  	//
  6078  	// Active states include: Pending,Preparing, Running, Restarting, RunningFailed
  6079  	// and Terminating. All other states are terminal states.
  6080  	MaxConcurrency *int64 `locationName:"maxConcurrency" type:"integer"`
  6081  
  6082  	// The amount of time, in seconds, to wait for the batch to complete.
  6083  	//
  6084  	// If a batch times out, and there are pending requests that were failing due
  6085  	// to an internal failure (like InternalServiceError), they will be moved to
  6086  	// the failed list and the batch status will be Failed. If the pending requests
  6087  	// were failing for any other reason, the failed pending requests will be moved
  6088  	// to the failed list and the batch status will be TimedOut.
  6089  	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"long"`
  6090  }
  6091  
  6092  // String returns the string representation.
  6093  //
  6094  // API parameter values that are decorated as "sensitive" in the API will not
  6095  // be included in the string output. The member name will be present, but the
  6096  // value will be replaced with "sensitive".
  6097  func (s BatchPolicy) String() string {
  6098  	return awsutil.Prettify(s)
  6099  }
  6100  
  6101  // GoString returns the string representation.
  6102  //
  6103  // API parameter values that are decorated as "sensitive" in the API will not
  6104  // be included in the string output. The member name will be present, but the
  6105  // value will be replaced with "sensitive".
  6106  func (s BatchPolicy) GoString() string {
  6107  	return s.String()
  6108  }
  6109  
  6110  // SetMaxConcurrency sets the MaxConcurrency field's value.
  6111  func (s *BatchPolicy) SetMaxConcurrency(v int64) *BatchPolicy {
  6112  	s.MaxConcurrency = &v
  6113  	return s
  6114  }
  6115  
  6116  // SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
  6117  func (s *BatchPolicy) SetTimeoutInSeconds(v int64) *BatchPolicy {
  6118  	s.TimeoutInSeconds = &v
  6119  	return s
  6120  }
  6121  
  6122  type CancelDeploymentJobInput struct {
  6123  	_ struct{} `type:"structure"`
  6124  
  6125  	// The deployment job ARN to cancel.
  6126  	//
  6127  	// Job is a required field
  6128  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
  6129  }
  6130  
  6131  // String returns the string representation.
  6132  //
  6133  // API parameter values that are decorated as "sensitive" in the API will not
  6134  // be included in the string output. The member name will be present, but the
  6135  // value will be replaced with "sensitive".
  6136  func (s CancelDeploymentJobInput) String() string {
  6137  	return awsutil.Prettify(s)
  6138  }
  6139  
  6140  // GoString returns the string representation.
  6141  //
  6142  // API parameter values that are decorated as "sensitive" in the API will not
  6143  // be included in the string output. The member name will be present, but the
  6144  // value will be replaced with "sensitive".
  6145  func (s CancelDeploymentJobInput) GoString() string {
  6146  	return s.String()
  6147  }
  6148  
  6149  // Validate inspects the fields of the type to determine if they are valid.
  6150  func (s *CancelDeploymentJobInput) Validate() error {
  6151  	invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentJobInput"}
  6152  	if s.Job == nil {
  6153  		invalidParams.Add(request.NewErrParamRequired("Job"))
  6154  	}
  6155  	if s.Job != nil && len(*s.Job) < 1 {
  6156  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
  6157  	}
  6158  
  6159  	if invalidParams.Len() > 0 {
  6160  		return invalidParams
  6161  	}
  6162  	return nil
  6163  }
  6164  
  6165  // SetJob sets the Job field's value.
  6166  func (s *CancelDeploymentJobInput) SetJob(v string) *CancelDeploymentJobInput {
  6167  	s.Job = &v
  6168  	return s
  6169  }
  6170  
  6171  type CancelDeploymentJobOutput struct {
  6172  	_ struct{} `type:"structure" nopayload:"true"`
  6173  }
  6174  
  6175  // String returns the string representation.
  6176  //
  6177  // API parameter values that are decorated as "sensitive" in the API will not
  6178  // be included in the string output. The member name will be present, but the
  6179  // value will be replaced with "sensitive".
  6180  func (s CancelDeploymentJobOutput) String() string {
  6181  	return awsutil.Prettify(s)
  6182  }
  6183  
  6184  // GoString returns the string representation.
  6185  //
  6186  // API parameter values that are decorated as "sensitive" in the API will not
  6187  // be included in the string output. The member name will be present, but the
  6188  // value will be replaced with "sensitive".
  6189  func (s CancelDeploymentJobOutput) GoString() string {
  6190  	return s.String()
  6191  }
  6192  
  6193  type CancelSimulationJobBatchInput struct {
  6194  	_ struct{} `type:"structure"`
  6195  
  6196  	// The id of the batch to cancel.
  6197  	//
  6198  	// Batch is a required field
  6199  	Batch *string `locationName:"batch" min:"1" type:"string" required:"true"`
  6200  }
  6201  
  6202  // String returns the string representation.
  6203  //
  6204  // API parameter values that are decorated as "sensitive" in the API will not
  6205  // be included in the string output. The member name will be present, but the
  6206  // value will be replaced with "sensitive".
  6207  func (s CancelSimulationJobBatchInput) String() string {
  6208  	return awsutil.Prettify(s)
  6209  }
  6210  
  6211  // GoString returns the string representation.
  6212  //
  6213  // API parameter values that are decorated as "sensitive" in the API will not
  6214  // be included in the string output. The member name will be present, but the
  6215  // value will be replaced with "sensitive".
  6216  func (s CancelSimulationJobBatchInput) GoString() string {
  6217  	return s.String()
  6218  }
  6219  
  6220  // Validate inspects the fields of the type to determine if they are valid.
  6221  func (s *CancelSimulationJobBatchInput) Validate() error {
  6222  	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobBatchInput"}
  6223  	if s.Batch == nil {
  6224  		invalidParams.Add(request.NewErrParamRequired("Batch"))
  6225  	}
  6226  	if s.Batch != nil && len(*s.Batch) < 1 {
  6227  		invalidParams.Add(request.NewErrParamMinLen("Batch", 1))
  6228  	}
  6229  
  6230  	if invalidParams.Len() > 0 {
  6231  		return invalidParams
  6232  	}
  6233  	return nil
  6234  }
  6235  
  6236  // SetBatch sets the Batch field's value.
  6237  func (s *CancelSimulationJobBatchInput) SetBatch(v string) *CancelSimulationJobBatchInput {
  6238  	s.Batch = &v
  6239  	return s
  6240  }
  6241  
  6242  type CancelSimulationJobBatchOutput struct {
  6243  	_ struct{} `type:"structure" nopayload:"true"`
  6244  }
  6245  
  6246  // String returns the string representation.
  6247  //
  6248  // API parameter values that are decorated as "sensitive" in the API will not
  6249  // be included in the string output. The member name will be present, but the
  6250  // value will be replaced with "sensitive".
  6251  func (s CancelSimulationJobBatchOutput) String() string {
  6252  	return awsutil.Prettify(s)
  6253  }
  6254  
  6255  // GoString returns the string representation.
  6256  //
  6257  // API parameter values that are decorated as "sensitive" in the API will not
  6258  // be included in the string output. The member name will be present, but the
  6259  // value will be replaced with "sensitive".
  6260  func (s CancelSimulationJobBatchOutput) GoString() string {
  6261  	return s.String()
  6262  }
  6263  
  6264  type CancelSimulationJobInput struct {
  6265  	_ struct{} `type:"structure"`
  6266  
  6267  	// The simulation job ARN to cancel.
  6268  	//
  6269  	// Job is a required field
  6270  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
  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 CancelSimulationJobInput) 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 CancelSimulationJobInput) 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 *CancelSimulationJobInput) Validate() error {
  6293  	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobInput"}
  6294  	if s.Job == nil {
  6295  		invalidParams.Add(request.NewErrParamRequired("Job"))
  6296  	}
  6297  	if s.Job != nil && len(*s.Job) < 1 {
  6298  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
  6299  	}
  6300  
  6301  	if invalidParams.Len() > 0 {
  6302  		return invalidParams
  6303  	}
  6304  	return nil
  6305  }
  6306  
  6307  // SetJob sets the Job field's value.
  6308  func (s *CancelSimulationJobInput) SetJob(v string) *CancelSimulationJobInput {
  6309  	s.Job = &v
  6310  	return s
  6311  }
  6312  
  6313  type CancelSimulationJobOutput struct {
  6314  	_ struct{} `type:"structure" nopayload:"true"`
  6315  }
  6316  
  6317  // String returns the string representation.
  6318  //
  6319  // API parameter values that are decorated as "sensitive" in the API will not
  6320  // be included in the string output. The member name will be present, but the
  6321  // value will be replaced with "sensitive".
  6322  func (s CancelSimulationJobOutput) String() string {
  6323  	return awsutil.Prettify(s)
  6324  }
  6325  
  6326  // GoString returns the string representation.
  6327  //
  6328  // API parameter values that are decorated as "sensitive" in the API will not
  6329  // be included in the string output. The member name will be present, but the
  6330  // value will be replaced with "sensitive".
  6331  func (s CancelSimulationJobOutput) GoString() string {
  6332  	return s.String()
  6333  }
  6334  
  6335  type CancelWorldExportJobInput struct {
  6336  	_ struct{} `type:"structure"`
  6337  
  6338  	// The Amazon Resource Name (arn) of the world export job to cancel.
  6339  	//
  6340  	// Job is a required field
  6341  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
  6342  }
  6343  
  6344  // String returns the string representation.
  6345  //
  6346  // API parameter values that are decorated as "sensitive" in the API will not
  6347  // be included in the string output. The member name will be present, but the
  6348  // value will be replaced with "sensitive".
  6349  func (s CancelWorldExportJobInput) String() string {
  6350  	return awsutil.Prettify(s)
  6351  }
  6352  
  6353  // GoString returns the string representation.
  6354  //
  6355  // API parameter values that are decorated as "sensitive" in the API will not
  6356  // be included in the string output. The member name will be present, but the
  6357  // value will be replaced with "sensitive".
  6358  func (s CancelWorldExportJobInput) GoString() string {
  6359  	return s.String()
  6360  }
  6361  
  6362  // Validate inspects the fields of the type to determine if they are valid.
  6363  func (s *CancelWorldExportJobInput) Validate() error {
  6364  	invalidParams := request.ErrInvalidParams{Context: "CancelWorldExportJobInput"}
  6365  	if s.Job == nil {
  6366  		invalidParams.Add(request.NewErrParamRequired("Job"))
  6367  	}
  6368  	if s.Job != nil && len(*s.Job) < 1 {
  6369  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
  6370  	}
  6371  
  6372  	if invalidParams.Len() > 0 {
  6373  		return invalidParams
  6374  	}
  6375  	return nil
  6376  }
  6377  
  6378  // SetJob sets the Job field's value.
  6379  func (s *CancelWorldExportJobInput) SetJob(v string) *CancelWorldExportJobInput {
  6380  	s.Job = &v
  6381  	return s
  6382  }
  6383  
  6384  type CancelWorldExportJobOutput struct {
  6385  	_ struct{} `type:"structure" nopayload:"true"`
  6386  }
  6387  
  6388  // String returns the string representation.
  6389  //
  6390  // API parameter values that are decorated as "sensitive" in the API will not
  6391  // be included in the string output. The member name will be present, but the
  6392  // value will be replaced with "sensitive".
  6393  func (s CancelWorldExportJobOutput) String() string {
  6394  	return awsutil.Prettify(s)
  6395  }
  6396  
  6397  // GoString returns the string representation.
  6398  //
  6399  // API parameter values that are decorated as "sensitive" in the API will not
  6400  // be included in the string output. The member name will be present, but the
  6401  // value will be replaced with "sensitive".
  6402  func (s CancelWorldExportJobOutput) GoString() string {
  6403  	return s.String()
  6404  }
  6405  
  6406  type CancelWorldGenerationJobInput struct {
  6407  	_ struct{} `type:"structure"`
  6408  
  6409  	// The Amazon Resource Name (arn) of the world generator job to cancel.
  6410  	//
  6411  	// Job is a required field
  6412  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
  6413  }
  6414  
  6415  // String returns the string representation.
  6416  //
  6417  // API parameter values that are decorated as "sensitive" in the API will not
  6418  // be included in the string output. The member name will be present, but the
  6419  // value will be replaced with "sensitive".
  6420  func (s CancelWorldGenerationJobInput) String() string {
  6421  	return awsutil.Prettify(s)
  6422  }
  6423  
  6424  // GoString returns the string representation.
  6425  //
  6426  // API parameter values that are decorated as "sensitive" in the API will not
  6427  // be included in the string output. The member name will be present, but the
  6428  // value will be replaced with "sensitive".
  6429  func (s CancelWorldGenerationJobInput) GoString() string {
  6430  	return s.String()
  6431  }
  6432  
  6433  // Validate inspects the fields of the type to determine if they are valid.
  6434  func (s *CancelWorldGenerationJobInput) Validate() error {
  6435  	invalidParams := request.ErrInvalidParams{Context: "CancelWorldGenerationJobInput"}
  6436  	if s.Job == nil {
  6437  		invalidParams.Add(request.NewErrParamRequired("Job"))
  6438  	}
  6439  	if s.Job != nil && len(*s.Job) < 1 {
  6440  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
  6441  	}
  6442  
  6443  	if invalidParams.Len() > 0 {
  6444  		return invalidParams
  6445  	}
  6446  	return nil
  6447  }
  6448  
  6449  // SetJob sets the Job field's value.
  6450  func (s *CancelWorldGenerationJobInput) SetJob(v string) *CancelWorldGenerationJobInput {
  6451  	s.Job = &v
  6452  	return s
  6453  }
  6454  
  6455  type CancelWorldGenerationJobOutput struct {
  6456  	_ struct{} `type:"structure" nopayload:"true"`
  6457  }
  6458  
  6459  // String returns the string representation.
  6460  //
  6461  // API parameter values that are decorated as "sensitive" in the API will not
  6462  // be included in the string output. The member name will be present, but the
  6463  // value will be replaced with "sensitive".
  6464  func (s CancelWorldGenerationJobOutput) String() string {
  6465  	return awsutil.Prettify(s)
  6466  }
  6467  
  6468  // GoString returns the string representation.
  6469  //
  6470  // API parameter values that are decorated as "sensitive" in the API will not
  6471  // be included in the string output. The member name will be present, but the
  6472  // value will be replaced with "sensitive".
  6473  func (s CancelWorldGenerationJobOutput) GoString() string {
  6474  	return s.String()
  6475  }
  6476  
  6477  // Compute information for the simulation job.
  6478  type Compute struct {
  6479  	_ struct{} `type:"structure"`
  6480  
  6481  	// The simulation unit limit. Your simulation is allocated CPU and memory proportional
  6482  	// to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB
  6483  	// of memory. You are only billed for the SU utilization you consume up to the
  6484  	// maximim value provided. The default is 15.
  6485  	SimulationUnitLimit *int64 `locationName:"simulationUnitLimit" min:"1" type:"integer"`
  6486  }
  6487  
  6488  // String returns the string representation.
  6489  //
  6490  // API parameter values that are decorated as "sensitive" in the API will not
  6491  // be included in the string output. The member name will be present, but the
  6492  // value will be replaced with "sensitive".
  6493  func (s Compute) String() string {
  6494  	return awsutil.Prettify(s)
  6495  }
  6496  
  6497  // GoString returns the string representation.
  6498  //
  6499  // API parameter values that are decorated as "sensitive" in the API will not
  6500  // be included in the string output. The member name will be present, but the
  6501  // value will be replaced with "sensitive".
  6502  func (s Compute) GoString() string {
  6503  	return s.String()
  6504  }
  6505  
  6506  // Validate inspects the fields of the type to determine if they are valid.
  6507  func (s *Compute) Validate() error {
  6508  	invalidParams := request.ErrInvalidParams{Context: "Compute"}
  6509  	if s.SimulationUnitLimit != nil && *s.SimulationUnitLimit < 1 {
  6510  		invalidParams.Add(request.NewErrParamMinValue("SimulationUnitLimit", 1))
  6511  	}
  6512  
  6513  	if invalidParams.Len() > 0 {
  6514  		return invalidParams
  6515  	}
  6516  	return nil
  6517  }
  6518  
  6519  // SetSimulationUnitLimit sets the SimulationUnitLimit field's value.
  6520  func (s *Compute) SetSimulationUnitLimit(v int64) *Compute {
  6521  	s.SimulationUnitLimit = &v
  6522  	return s
  6523  }
  6524  
  6525  // Compute information for the simulation job
  6526  type ComputeResponse struct {
  6527  	_ struct{} `type:"structure"`
  6528  
  6529  	// The simulation unit limit. Your simulation is allocated CPU and memory proportional
  6530  	// to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB
  6531  	// of memory. You are only billed for the SU utilization you consume up to the
  6532  	// maximim value provided. The default is 15.
  6533  	SimulationUnitLimit *int64 `locationName:"simulationUnitLimit" min:"1" type:"integer"`
  6534  }
  6535  
  6536  // String returns the string representation.
  6537  //
  6538  // API parameter values that are decorated as "sensitive" in the API will not
  6539  // be included in the string output. The member name will be present, but the
  6540  // value will be replaced with "sensitive".
  6541  func (s ComputeResponse) String() string {
  6542  	return awsutil.Prettify(s)
  6543  }
  6544  
  6545  // GoString returns the string representation.
  6546  //
  6547  // API parameter values that are decorated as "sensitive" in the API will not
  6548  // be included in the string output. The member name will be present, but the
  6549  // value will be replaced with "sensitive".
  6550  func (s ComputeResponse) GoString() string {
  6551  	return s.String()
  6552  }
  6553  
  6554  // SetSimulationUnitLimit sets the SimulationUnitLimit field's value.
  6555  func (s *ComputeResponse) SetSimulationUnitLimit(v int64) *ComputeResponse {
  6556  	s.SimulationUnitLimit = &v
  6557  	return s
  6558  }
  6559  
  6560  // The failure percentage threshold percentage was met.
  6561  type ConcurrentDeploymentException struct {
  6562  	_            struct{}                  `type:"structure"`
  6563  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6564  
  6565  	Message_ *string `locationName:"message" type:"string"`
  6566  }
  6567  
  6568  // String returns the string representation.
  6569  //
  6570  // API parameter values that are decorated as "sensitive" in the API will not
  6571  // be included in the string output. The member name will be present, but the
  6572  // value will be replaced with "sensitive".
  6573  func (s ConcurrentDeploymentException) String() string {
  6574  	return awsutil.Prettify(s)
  6575  }
  6576  
  6577  // GoString returns the string representation.
  6578  //
  6579  // API parameter values that are decorated as "sensitive" in the API will not
  6580  // be included in the string output. The member name will be present, but the
  6581  // value will be replaced with "sensitive".
  6582  func (s ConcurrentDeploymentException) GoString() string {
  6583  	return s.String()
  6584  }
  6585  
  6586  func newErrorConcurrentDeploymentException(v protocol.ResponseMetadata) error {
  6587  	return &ConcurrentDeploymentException{
  6588  		RespMetadata: v,
  6589  	}
  6590  }
  6591  
  6592  // Code returns the exception type name.
  6593  func (s *ConcurrentDeploymentException) Code() string {
  6594  	return "ConcurrentDeploymentException"
  6595  }
  6596  
  6597  // Message returns the exception's message.
  6598  func (s *ConcurrentDeploymentException) Message() string {
  6599  	if s.Message_ != nil {
  6600  		return *s.Message_
  6601  	}
  6602  	return ""
  6603  }
  6604  
  6605  // OrigErr always returns nil, satisfies awserr.Error interface.
  6606  func (s *ConcurrentDeploymentException) OrigErr() error {
  6607  	return nil
  6608  }
  6609  
  6610  func (s *ConcurrentDeploymentException) Error() string {
  6611  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  6612  }
  6613  
  6614  // Status code returns the HTTP status code for the request's response error.
  6615  func (s *ConcurrentDeploymentException) StatusCode() int {
  6616  	return s.RespMetadata.StatusCode
  6617  }
  6618  
  6619  // RequestID returns the service's response RequestID for request.
  6620  func (s *ConcurrentDeploymentException) RequestID() string {
  6621  	return s.RespMetadata.RequestID
  6622  }
  6623  
  6624  type CreateDeploymentJobInput struct {
  6625  	_ struct{} `type:"structure"`
  6626  
  6627  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  6628  	// of the request.
  6629  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
  6630  
  6631  	// The deployment application configuration.
  6632  	//
  6633  	// DeploymentApplicationConfigs is a required field
  6634  	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list" required:"true"`
  6635  
  6636  	// The requested deployment configuration.
  6637  	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
  6638  
  6639  	// The Amazon Resource Name (ARN) of the fleet to deploy.
  6640  	//
  6641  	// Fleet is a required field
  6642  	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
  6643  
  6644  	// A map that contains tag keys and tag values that are attached to the deployment
  6645  	// job.
  6646  	Tags map[string]*string `locationName:"tags" type:"map"`
  6647  }
  6648  
  6649  // String returns the string representation.
  6650  //
  6651  // API parameter values that are decorated as "sensitive" in the API will not
  6652  // be included in the string output. The member name will be present, but the
  6653  // value will be replaced with "sensitive".
  6654  func (s CreateDeploymentJobInput) String() string {
  6655  	return awsutil.Prettify(s)
  6656  }
  6657  
  6658  // GoString returns the string representation.
  6659  //
  6660  // API parameter values that are decorated as "sensitive" in the API will not
  6661  // be included in the string output. The member name will be present, but the
  6662  // value will be replaced with "sensitive".
  6663  func (s CreateDeploymentJobInput) GoString() string {
  6664  	return s.String()
  6665  }
  6666  
  6667  // Validate inspects the fields of the type to determine if they are valid.
  6668  func (s *CreateDeploymentJobInput) Validate() error {
  6669  	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentJobInput"}
  6670  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  6671  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  6672  	}
  6673  	if s.DeploymentApplicationConfigs == nil {
  6674  		invalidParams.Add(request.NewErrParamRequired("DeploymentApplicationConfigs"))
  6675  	}
  6676  	if s.DeploymentApplicationConfigs != nil && len(s.DeploymentApplicationConfigs) < 1 {
  6677  		invalidParams.Add(request.NewErrParamMinLen("DeploymentApplicationConfigs", 1))
  6678  	}
  6679  	if s.Fleet == nil {
  6680  		invalidParams.Add(request.NewErrParamRequired("Fleet"))
  6681  	}
  6682  	if s.Fleet != nil && len(*s.Fleet) < 1 {
  6683  		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
  6684  	}
  6685  	if s.DeploymentApplicationConfigs != nil {
  6686  		for i, v := range s.DeploymentApplicationConfigs {
  6687  			if v == nil {
  6688  				continue
  6689  			}
  6690  			if err := v.Validate(); err != nil {
  6691  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeploymentApplicationConfigs", i), err.(request.ErrInvalidParams))
  6692  			}
  6693  		}
  6694  	}
  6695  	if s.DeploymentConfig != nil {
  6696  		if err := s.DeploymentConfig.Validate(); err != nil {
  6697  			invalidParams.AddNested("DeploymentConfig", err.(request.ErrInvalidParams))
  6698  		}
  6699  	}
  6700  
  6701  	if invalidParams.Len() > 0 {
  6702  		return invalidParams
  6703  	}
  6704  	return nil
  6705  }
  6706  
  6707  // SetClientRequestToken sets the ClientRequestToken field's value.
  6708  func (s *CreateDeploymentJobInput) SetClientRequestToken(v string) *CreateDeploymentJobInput {
  6709  	s.ClientRequestToken = &v
  6710  	return s
  6711  }
  6712  
  6713  // SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
  6714  func (s *CreateDeploymentJobInput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobInput {
  6715  	s.DeploymentApplicationConfigs = v
  6716  	return s
  6717  }
  6718  
  6719  // SetDeploymentConfig sets the DeploymentConfig field's value.
  6720  func (s *CreateDeploymentJobInput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobInput {
  6721  	s.DeploymentConfig = v
  6722  	return s
  6723  }
  6724  
  6725  // SetFleet sets the Fleet field's value.
  6726  func (s *CreateDeploymentJobInput) SetFleet(v string) *CreateDeploymentJobInput {
  6727  	s.Fleet = &v
  6728  	return s
  6729  }
  6730  
  6731  // SetTags sets the Tags field's value.
  6732  func (s *CreateDeploymentJobInput) SetTags(v map[string]*string) *CreateDeploymentJobInput {
  6733  	s.Tags = v
  6734  	return s
  6735  }
  6736  
  6737  type CreateDeploymentJobOutput struct {
  6738  	_ struct{} `type:"structure"`
  6739  
  6740  	// The Amazon Resource Name (ARN) of the deployment job.
  6741  	Arn *string `locationName:"arn" min:"1" type:"string"`
  6742  
  6743  	// The time, in milliseconds since the epoch, when the fleet was created.
  6744  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  6745  
  6746  	// The deployment application configuration.
  6747  	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
  6748  
  6749  	// The deployment configuration.
  6750  	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
  6751  
  6752  	// The failure code of the simulation job if it failed:
  6753  	//
  6754  	// BadPermissionError
  6755  	//
  6756  	// AWS Greengrass requires a service-level role permission to access other services.
  6757  	// The role must include the AWSGreengrassResourceAccessRolePolicy managed policy
  6758  	// (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor).
  6759  	//
  6760  	// ExtractingBundleFailure
  6761  	//
  6762  	// The robot application could not be extracted from the bundle.
  6763  	//
  6764  	// FailureThresholdBreached
  6765  	//
  6766  	// The percentage of robots that could not be updated exceeded the percentage
  6767  	// set for the deployment.
  6768  	//
  6769  	// GreengrassDeploymentFailed
  6770  	//
  6771  	// The robot application could not be deployed to the robot.
  6772  	//
  6773  	// GreengrassGroupVersionDoesNotExist
  6774  	//
  6775  	// The AWS Greengrass group or version associated with a robot is missing.
  6776  	//
  6777  	// InternalServerError
  6778  	//
  6779  	// An internal error has occurred. Retry your request, but if the problem persists,
  6780  	// contact us with details.
  6781  	//
  6782  	// MissingRobotApplicationArchitecture
  6783  	//
  6784  	// The robot application does not have a source that matches the architecture
  6785  	// of the robot.
  6786  	//
  6787  	// MissingRobotDeploymentResource
  6788  	//
  6789  	// One or more of the resources specified for the robot application are missing.
  6790  	// For example, does the robot application have the correct launch package and
  6791  	// launch file?
  6792  	//
  6793  	// PostLaunchFileFailure
  6794  	//
  6795  	// The post-launch script failed.
  6796  	//
  6797  	// PreLaunchFileFailure
  6798  	//
  6799  	// The pre-launch script failed.
  6800  	//
  6801  	// ResourceNotFound
  6802  	//
  6803  	// One or more deployment resources are missing. For example, do robot application
  6804  	// source bundles still exist?
  6805  	//
  6806  	// RobotDeploymentNoResponse
  6807  	//
  6808  	// There is no response from the robot. It might not be powered on or connected
  6809  	// to the internet.
  6810  	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
  6811  
  6812  	// The failure reason of the deployment job if it failed.
  6813  	FailureReason *string `locationName:"failureReason" type:"string"`
  6814  
  6815  	// The target fleet for the deployment job.
  6816  	Fleet *string `locationName:"fleet" min:"1" type:"string"`
  6817  
  6818  	// The status of the deployment job.
  6819  	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
  6820  
  6821  	// The list of all tags added to the deployment job.
  6822  	Tags map[string]*string `locationName:"tags" type:"map"`
  6823  }
  6824  
  6825  // String returns the string representation.
  6826  //
  6827  // API parameter values that are decorated as "sensitive" in the API will not
  6828  // be included in the string output. The member name will be present, but the
  6829  // value will be replaced with "sensitive".
  6830  func (s CreateDeploymentJobOutput) String() string {
  6831  	return awsutil.Prettify(s)
  6832  }
  6833  
  6834  // GoString returns the string representation.
  6835  //
  6836  // API parameter values that are decorated as "sensitive" in the API will not
  6837  // be included in the string output. The member name will be present, but the
  6838  // value will be replaced with "sensitive".
  6839  func (s CreateDeploymentJobOutput) GoString() string {
  6840  	return s.String()
  6841  }
  6842  
  6843  // SetArn sets the Arn field's value.
  6844  func (s *CreateDeploymentJobOutput) SetArn(v string) *CreateDeploymentJobOutput {
  6845  	s.Arn = &v
  6846  	return s
  6847  }
  6848  
  6849  // SetCreatedAt sets the CreatedAt field's value.
  6850  func (s *CreateDeploymentJobOutput) SetCreatedAt(v time.Time) *CreateDeploymentJobOutput {
  6851  	s.CreatedAt = &v
  6852  	return s
  6853  }
  6854  
  6855  // SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
  6856  func (s *CreateDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobOutput {
  6857  	s.DeploymentApplicationConfigs = v
  6858  	return s
  6859  }
  6860  
  6861  // SetDeploymentConfig sets the DeploymentConfig field's value.
  6862  func (s *CreateDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobOutput {
  6863  	s.DeploymentConfig = v
  6864  	return s
  6865  }
  6866  
  6867  // SetFailureCode sets the FailureCode field's value.
  6868  func (s *CreateDeploymentJobOutput) SetFailureCode(v string) *CreateDeploymentJobOutput {
  6869  	s.FailureCode = &v
  6870  	return s
  6871  }
  6872  
  6873  // SetFailureReason sets the FailureReason field's value.
  6874  func (s *CreateDeploymentJobOutput) SetFailureReason(v string) *CreateDeploymentJobOutput {
  6875  	s.FailureReason = &v
  6876  	return s
  6877  }
  6878  
  6879  // SetFleet sets the Fleet field's value.
  6880  func (s *CreateDeploymentJobOutput) SetFleet(v string) *CreateDeploymentJobOutput {
  6881  	s.Fleet = &v
  6882  	return s
  6883  }
  6884  
  6885  // SetStatus sets the Status field's value.
  6886  func (s *CreateDeploymentJobOutput) SetStatus(v string) *CreateDeploymentJobOutput {
  6887  	s.Status = &v
  6888  	return s
  6889  }
  6890  
  6891  // SetTags sets the Tags field's value.
  6892  func (s *CreateDeploymentJobOutput) SetTags(v map[string]*string) *CreateDeploymentJobOutput {
  6893  	s.Tags = v
  6894  	return s
  6895  }
  6896  
  6897  type CreateFleetInput struct {
  6898  	_ struct{} `type:"structure"`
  6899  
  6900  	// The name of the fleet.
  6901  	//
  6902  	// Name is a required field
  6903  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6904  
  6905  	// A map that contains tag keys and tag values that are attached to the fleet.
  6906  	Tags map[string]*string `locationName:"tags" type:"map"`
  6907  }
  6908  
  6909  // String returns the string representation.
  6910  //
  6911  // API parameter values that are decorated as "sensitive" in the API will not
  6912  // be included in the string output. The member name will be present, but the
  6913  // value will be replaced with "sensitive".
  6914  func (s CreateFleetInput) String() string {
  6915  	return awsutil.Prettify(s)
  6916  }
  6917  
  6918  // GoString returns the string representation.
  6919  //
  6920  // API parameter values that are decorated as "sensitive" in the API will not
  6921  // be included in the string output. The member name will be present, but the
  6922  // value will be replaced with "sensitive".
  6923  func (s CreateFleetInput) GoString() string {
  6924  	return s.String()
  6925  }
  6926  
  6927  // Validate inspects the fields of the type to determine if they are valid.
  6928  func (s *CreateFleetInput) Validate() error {
  6929  	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
  6930  	if s.Name == nil {
  6931  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6932  	}
  6933  	if s.Name != nil && len(*s.Name) < 1 {
  6934  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6935  	}
  6936  
  6937  	if invalidParams.Len() > 0 {
  6938  		return invalidParams
  6939  	}
  6940  	return nil
  6941  }
  6942  
  6943  // SetName sets the Name field's value.
  6944  func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
  6945  	s.Name = &v
  6946  	return s
  6947  }
  6948  
  6949  // SetTags sets the Tags field's value.
  6950  func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
  6951  	s.Tags = v
  6952  	return s
  6953  }
  6954  
  6955  type CreateFleetOutput struct {
  6956  	_ struct{} `type:"structure"`
  6957  
  6958  	// The Amazon Resource Name (ARN) of the fleet.
  6959  	Arn *string `locationName:"arn" min:"1" type:"string"`
  6960  
  6961  	// The time, in milliseconds since the epoch, when the fleet was created.
  6962  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  6963  
  6964  	// The name of the fleet.
  6965  	Name *string `locationName:"name" min:"1" type:"string"`
  6966  
  6967  	// The list of all tags added to the fleet.
  6968  	Tags map[string]*string `locationName:"tags" type:"map"`
  6969  }
  6970  
  6971  // String returns the string representation.
  6972  //
  6973  // API parameter values that are decorated as "sensitive" in the API will not
  6974  // be included in the string output. The member name will be present, but the
  6975  // value will be replaced with "sensitive".
  6976  func (s CreateFleetOutput) String() string {
  6977  	return awsutil.Prettify(s)
  6978  }
  6979  
  6980  // GoString returns the string representation.
  6981  //
  6982  // API parameter values that are decorated as "sensitive" in the API will not
  6983  // be included in the string output. The member name will be present, but the
  6984  // value will be replaced with "sensitive".
  6985  func (s CreateFleetOutput) GoString() string {
  6986  	return s.String()
  6987  }
  6988  
  6989  // SetArn sets the Arn field's value.
  6990  func (s *CreateFleetOutput) SetArn(v string) *CreateFleetOutput {
  6991  	s.Arn = &v
  6992  	return s
  6993  }
  6994  
  6995  // SetCreatedAt sets the CreatedAt field's value.
  6996  func (s *CreateFleetOutput) SetCreatedAt(v time.Time) *CreateFleetOutput {
  6997  	s.CreatedAt = &v
  6998  	return s
  6999  }
  7000  
  7001  // SetName sets the Name field's value.
  7002  func (s *CreateFleetOutput) SetName(v string) *CreateFleetOutput {
  7003  	s.Name = &v
  7004  	return s
  7005  }
  7006  
  7007  // SetTags sets the Tags field's value.
  7008  func (s *CreateFleetOutput) SetTags(v map[string]*string) *CreateFleetOutput {
  7009  	s.Tags = v
  7010  	return s
  7011  }
  7012  
  7013  type CreateRobotApplicationInput struct {
  7014  	_ struct{} `type:"structure"`
  7015  
  7016  	// The object that contains that URI of the Docker image that you use for your
  7017  	// robot application.
  7018  	Environment *Environment `locationName:"environment" type:"structure"`
  7019  
  7020  	// The name of the robot application.
  7021  	//
  7022  	// Name is a required field
  7023  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7024  
  7025  	// The robot software suite (ROS distribuition) used by the robot application.
  7026  	//
  7027  	// RobotSoftwareSuite is a required field
  7028  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
  7029  
  7030  	// The sources of the robot application.
  7031  	Sources []*SourceConfig `locationName:"sources" type:"list"`
  7032  
  7033  	// A map that contains tag keys and tag values that are attached to the robot
  7034  	// application.
  7035  	Tags map[string]*string `locationName:"tags" type:"map"`
  7036  }
  7037  
  7038  // String returns the string representation.
  7039  //
  7040  // API parameter values that are decorated as "sensitive" in the API will not
  7041  // be included in the string output. The member name will be present, but the
  7042  // value will be replaced with "sensitive".
  7043  func (s CreateRobotApplicationInput) String() string {
  7044  	return awsutil.Prettify(s)
  7045  }
  7046  
  7047  // GoString returns the string representation.
  7048  //
  7049  // API parameter values that are decorated as "sensitive" in the API will not
  7050  // be included in the string output. The member name will be present, but the
  7051  // value will be replaced with "sensitive".
  7052  func (s CreateRobotApplicationInput) GoString() string {
  7053  	return s.String()
  7054  }
  7055  
  7056  // Validate inspects the fields of the type to determine if they are valid.
  7057  func (s *CreateRobotApplicationInput) Validate() error {
  7058  	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationInput"}
  7059  	if s.Name == nil {
  7060  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7061  	}
  7062  	if s.Name != nil && len(*s.Name) < 1 {
  7063  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7064  	}
  7065  	if s.RobotSoftwareSuite == nil {
  7066  		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
  7067  	}
  7068  	if s.Environment != nil {
  7069  		if err := s.Environment.Validate(); err != nil {
  7070  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
  7071  		}
  7072  	}
  7073  	if s.Sources != nil {
  7074  		for i, v := range s.Sources {
  7075  			if v == nil {
  7076  				continue
  7077  			}
  7078  			if err := v.Validate(); err != nil {
  7079  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
  7080  			}
  7081  		}
  7082  	}
  7083  
  7084  	if invalidParams.Len() > 0 {
  7085  		return invalidParams
  7086  	}
  7087  	return nil
  7088  }
  7089  
  7090  // SetEnvironment sets the Environment field's value.
  7091  func (s *CreateRobotApplicationInput) SetEnvironment(v *Environment) *CreateRobotApplicationInput {
  7092  	s.Environment = v
  7093  	return s
  7094  }
  7095  
  7096  // SetName sets the Name field's value.
  7097  func (s *CreateRobotApplicationInput) SetName(v string) *CreateRobotApplicationInput {
  7098  	s.Name = &v
  7099  	return s
  7100  }
  7101  
  7102  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
  7103  func (s *CreateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationInput {
  7104  	s.RobotSoftwareSuite = v
  7105  	return s
  7106  }
  7107  
  7108  // SetSources sets the Sources field's value.
  7109  func (s *CreateRobotApplicationInput) SetSources(v []*SourceConfig) *CreateRobotApplicationInput {
  7110  	s.Sources = v
  7111  	return s
  7112  }
  7113  
  7114  // SetTags sets the Tags field's value.
  7115  func (s *CreateRobotApplicationInput) SetTags(v map[string]*string) *CreateRobotApplicationInput {
  7116  	s.Tags = v
  7117  	return s
  7118  }
  7119  
  7120  type CreateRobotApplicationOutput struct {
  7121  	_ struct{} `type:"structure"`
  7122  
  7123  	// The Amazon Resource Name (ARN) of the robot application.
  7124  	Arn *string `locationName:"arn" min:"1" type:"string"`
  7125  
  7126  	// An object that contains the Docker image URI used to a create your robot
  7127  	// application.
  7128  	Environment *Environment `locationName:"environment" type:"structure"`
  7129  
  7130  	// The time, in milliseconds since the epoch, when the robot application was
  7131  	// last updated.
  7132  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
  7133  
  7134  	// The name of the robot application.
  7135  	Name *string `locationName:"name" min:"1" type:"string"`
  7136  
  7137  	// The revision id of the robot application.
  7138  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
  7139  
  7140  	// The robot software suite (ROS distribution) used by the robot application.
  7141  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
  7142  
  7143  	// The sources of the robot application.
  7144  	Sources []*Source `locationName:"sources" type:"list"`
  7145  
  7146  	// The list of all tags added to the robot application.
  7147  	Tags map[string]*string `locationName:"tags" type:"map"`
  7148  
  7149  	// The version of the robot application.
  7150  	Version *string `locationName:"version" min:"1" type:"string"`
  7151  }
  7152  
  7153  // String returns the string representation.
  7154  //
  7155  // API parameter values that are decorated as "sensitive" in the API will not
  7156  // be included in the string output. The member name will be present, but the
  7157  // value will be replaced with "sensitive".
  7158  func (s CreateRobotApplicationOutput) String() string {
  7159  	return awsutil.Prettify(s)
  7160  }
  7161  
  7162  // GoString returns the string representation.
  7163  //
  7164  // API parameter values that are decorated as "sensitive" in the API will not
  7165  // be included in the string output. The member name will be present, but the
  7166  // value will be replaced with "sensitive".
  7167  func (s CreateRobotApplicationOutput) GoString() string {
  7168  	return s.String()
  7169  }
  7170  
  7171  // SetArn sets the Arn field's value.
  7172  func (s *CreateRobotApplicationOutput) SetArn(v string) *CreateRobotApplicationOutput {
  7173  	s.Arn = &v
  7174  	return s
  7175  }
  7176  
  7177  // SetEnvironment sets the Environment field's value.
  7178  func (s *CreateRobotApplicationOutput) SetEnvironment(v *Environment) *CreateRobotApplicationOutput {
  7179  	s.Environment = v
  7180  	return s
  7181  }
  7182  
  7183  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  7184  func (s *CreateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationOutput {
  7185  	s.LastUpdatedAt = &v
  7186  	return s
  7187  }
  7188  
  7189  // SetName sets the Name field's value.
  7190  func (s *CreateRobotApplicationOutput) SetName(v string) *CreateRobotApplicationOutput {
  7191  	s.Name = &v
  7192  	return s
  7193  }
  7194  
  7195  // SetRevisionId sets the RevisionId field's value.
  7196  func (s *CreateRobotApplicationOutput) SetRevisionId(v string) *CreateRobotApplicationOutput {
  7197  	s.RevisionId = &v
  7198  	return s
  7199  }
  7200  
  7201  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
  7202  func (s *CreateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationOutput {
  7203  	s.RobotSoftwareSuite = v
  7204  	return s
  7205  }
  7206  
  7207  // SetSources sets the Sources field's value.
  7208  func (s *CreateRobotApplicationOutput) SetSources(v []*Source) *CreateRobotApplicationOutput {
  7209  	s.Sources = v
  7210  	return s
  7211  }
  7212  
  7213  // SetTags sets the Tags field's value.
  7214  func (s *CreateRobotApplicationOutput) SetTags(v map[string]*string) *CreateRobotApplicationOutput {
  7215  	s.Tags = v
  7216  	return s
  7217  }
  7218  
  7219  // SetVersion sets the Version field's value.
  7220  func (s *CreateRobotApplicationOutput) SetVersion(v string) *CreateRobotApplicationOutput {
  7221  	s.Version = &v
  7222  	return s
  7223  }
  7224  
  7225  type CreateRobotApplicationVersionInput struct {
  7226  	_ struct{} `type:"structure"`
  7227  
  7228  	// The application information for the robot application.
  7229  	//
  7230  	// Application is a required field
  7231  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
  7232  
  7233  	// The current revision id for the robot application. If you provide a value
  7234  	// and it matches the latest revision ID, a new version will be created.
  7235  	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
  7236  
  7237  	// A SHA256 identifier for the Docker image that you use for your robot application.
  7238  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  7239  
  7240  	// The Amazon S3 identifier for the zip file bundle that you use for your robot
  7241  	// application.
  7242  	S3Etags []*string `locationName:"s3Etags" type:"list"`
  7243  }
  7244  
  7245  // String returns the string representation.
  7246  //
  7247  // API parameter values that are decorated as "sensitive" in the API will not
  7248  // be included in the string output. The member name will be present, but the
  7249  // value will be replaced with "sensitive".
  7250  func (s CreateRobotApplicationVersionInput) String() string {
  7251  	return awsutil.Prettify(s)
  7252  }
  7253  
  7254  // GoString returns the string representation.
  7255  //
  7256  // API parameter values that are decorated as "sensitive" in the API will not
  7257  // be included in the string output. The member name will be present, but the
  7258  // value will be replaced with "sensitive".
  7259  func (s CreateRobotApplicationVersionInput) GoString() string {
  7260  	return s.String()
  7261  }
  7262  
  7263  // Validate inspects the fields of the type to determine if they are valid.
  7264  func (s *CreateRobotApplicationVersionInput) Validate() error {
  7265  	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationVersionInput"}
  7266  	if s.Application == nil {
  7267  		invalidParams.Add(request.NewErrParamRequired("Application"))
  7268  	}
  7269  	if s.Application != nil && len(*s.Application) < 1 {
  7270  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
  7271  	}
  7272  	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
  7273  		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
  7274  	}
  7275  
  7276  	if invalidParams.Len() > 0 {
  7277  		return invalidParams
  7278  	}
  7279  	return nil
  7280  }
  7281  
  7282  // SetApplication sets the Application field's value.
  7283  func (s *CreateRobotApplicationVersionInput) SetApplication(v string) *CreateRobotApplicationVersionInput {
  7284  	s.Application = &v
  7285  	return s
  7286  }
  7287  
  7288  // SetCurrentRevisionId sets the CurrentRevisionId field's value.
  7289  func (s *CreateRobotApplicationVersionInput) SetCurrentRevisionId(v string) *CreateRobotApplicationVersionInput {
  7290  	s.CurrentRevisionId = &v
  7291  	return s
  7292  }
  7293  
  7294  // SetImageDigest sets the ImageDigest field's value.
  7295  func (s *CreateRobotApplicationVersionInput) SetImageDigest(v string) *CreateRobotApplicationVersionInput {
  7296  	s.ImageDigest = &v
  7297  	return s
  7298  }
  7299  
  7300  // SetS3Etags sets the S3Etags field's value.
  7301  func (s *CreateRobotApplicationVersionInput) SetS3Etags(v []*string) *CreateRobotApplicationVersionInput {
  7302  	s.S3Etags = v
  7303  	return s
  7304  }
  7305  
  7306  type CreateRobotApplicationVersionOutput struct {
  7307  	_ struct{} `type:"structure"`
  7308  
  7309  	// The Amazon Resource Name (ARN) of the robot application.
  7310  	Arn *string `locationName:"arn" min:"1" type:"string"`
  7311  
  7312  	// The object that contains the Docker image URI used to create your robot application.
  7313  	Environment *Environment `locationName:"environment" type:"structure"`
  7314  
  7315  	// The time, in milliseconds since the epoch, when the robot application was
  7316  	// last updated.
  7317  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
  7318  
  7319  	// The name of the robot application.
  7320  	Name *string `locationName:"name" min:"1" type:"string"`
  7321  
  7322  	// The revision id of the robot application.
  7323  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
  7324  
  7325  	// The robot software suite (ROS distribution) used by the robot application.
  7326  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
  7327  
  7328  	// The sources of the robot application.
  7329  	Sources []*Source `locationName:"sources" type:"list"`
  7330  
  7331  	// The version of the robot application.
  7332  	Version *string `locationName:"version" min:"1" type:"string"`
  7333  }
  7334  
  7335  // String returns the string representation.
  7336  //
  7337  // API parameter values that are decorated as "sensitive" in the API will not
  7338  // be included in the string output. The member name will be present, but the
  7339  // value will be replaced with "sensitive".
  7340  func (s CreateRobotApplicationVersionOutput) String() string {
  7341  	return awsutil.Prettify(s)
  7342  }
  7343  
  7344  // GoString returns the string representation.
  7345  //
  7346  // API parameter values that are decorated as "sensitive" in the API will not
  7347  // be included in the string output. The member name will be present, but the
  7348  // value will be replaced with "sensitive".
  7349  func (s CreateRobotApplicationVersionOutput) GoString() string {
  7350  	return s.String()
  7351  }
  7352  
  7353  // SetArn sets the Arn field's value.
  7354  func (s *CreateRobotApplicationVersionOutput) SetArn(v string) *CreateRobotApplicationVersionOutput {
  7355  	s.Arn = &v
  7356  	return s
  7357  }
  7358  
  7359  // SetEnvironment sets the Environment field's value.
  7360  func (s *CreateRobotApplicationVersionOutput) SetEnvironment(v *Environment) *CreateRobotApplicationVersionOutput {
  7361  	s.Environment = v
  7362  	return s
  7363  }
  7364  
  7365  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  7366  func (s *CreateRobotApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationVersionOutput {
  7367  	s.LastUpdatedAt = &v
  7368  	return s
  7369  }
  7370  
  7371  // SetName sets the Name field's value.
  7372  func (s *CreateRobotApplicationVersionOutput) SetName(v string) *CreateRobotApplicationVersionOutput {
  7373  	s.Name = &v
  7374  	return s
  7375  }
  7376  
  7377  // SetRevisionId sets the RevisionId field's value.
  7378  func (s *CreateRobotApplicationVersionOutput) SetRevisionId(v string) *CreateRobotApplicationVersionOutput {
  7379  	s.RevisionId = &v
  7380  	return s
  7381  }
  7382  
  7383  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
  7384  func (s *CreateRobotApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationVersionOutput {
  7385  	s.RobotSoftwareSuite = v
  7386  	return s
  7387  }
  7388  
  7389  // SetSources sets the Sources field's value.
  7390  func (s *CreateRobotApplicationVersionOutput) SetSources(v []*Source) *CreateRobotApplicationVersionOutput {
  7391  	s.Sources = v
  7392  	return s
  7393  }
  7394  
  7395  // SetVersion sets the Version field's value.
  7396  func (s *CreateRobotApplicationVersionOutput) SetVersion(v string) *CreateRobotApplicationVersionOutput {
  7397  	s.Version = &v
  7398  	return s
  7399  }
  7400  
  7401  type CreateRobotInput struct {
  7402  	_ struct{} `type:"structure"`
  7403  
  7404  	// The target architecture of the robot.
  7405  	//
  7406  	// Architecture is a required field
  7407  	Architecture *string `locationName:"architecture" type:"string" required:"true" enum:"Architecture"`
  7408  
  7409  	// The Greengrass group id.
  7410  	//
  7411  	// GreengrassGroupId is a required field
  7412  	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string" required:"true"`
  7413  
  7414  	// The name for the robot.
  7415  	//
  7416  	// Name is a required field
  7417  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7418  
  7419  	// A map that contains tag keys and tag values that are attached to the robot.
  7420  	Tags map[string]*string `locationName:"tags" type:"map"`
  7421  }
  7422  
  7423  // String returns the string representation.
  7424  //
  7425  // API parameter values that are decorated as "sensitive" in the API will not
  7426  // be included in the string output. The member name will be present, but the
  7427  // value will be replaced with "sensitive".
  7428  func (s CreateRobotInput) String() string {
  7429  	return awsutil.Prettify(s)
  7430  }
  7431  
  7432  // GoString returns the string representation.
  7433  //
  7434  // API parameter values that are decorated as "sensitive" in the API will not
  7435  // be included in the string output. The member name will be present, but the
  7436  // value will be replaced with "sensitive".
  7437  func (s CreateRobotInput) GoString() string {
  7438  	return s.String()
  7439  }
  7440  
  7441  // Validate inspects the fields of the type to determine if they are valid.
  7442  func (s *CreateRobotInput) Validate() error {
  7443  	invalidParams := request.ErrInvalidParams{Context: "CreateRobotInput"}
  7444  	if s.Architecture == nil {
  7445  		invalidParams.Add(request.NewErrParamRequired("Architecture"))
  7446  	}
  7447  	if s.GreengrassGroupId == nil {
  7448  		invalidParams.Add(request.NewErrParamRequired("GreengrassGroupId"))
  7449  	}
  7450  	if s.GreengrassGroupId != nil && len(*s.GreengrassGroupId) < 1 {
  7451  		invalidParams.Add(request.NewErrParamMinLen("GreengrassGroupId", 1))
  7452  	}
  7453  	if s.Name == nil {
  7454  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7455  	}
  7456  	if s.Name != nil && len(*s.Name) < 1 {
  7457  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7458  	}
  7459  
  7460  	if invalidParams.Len() > 0 {
  7461  		return invalidParams
  7462  	}
  7463  	return nil
  7464  }
  7465  
  7466  // SetArchitecture sets the Architecture field's value.
  7467  func (s *CreateRobotInput) SetArchitecture(v string) *CreateRobotInput {
  7468  	s.Architecture = &v
  7469  	return s
  7470  }
  7471  
  7472  // SetGreengrassGroupId sets the GreengrassGroupId field's value.
  7473  func (s *CreateRobotInput) SetGreengrassGroupId(v string) *CreateRobotInput {
  7474  	s.GreengrassGroupId = &v
  7475  	return s
  7476  }
  7477  
  7478  // SetName sets the Name field's value.
  7479  func (s *CreateRobotInput) SetName(v string) *CreateRobotInput {
  7480  	s.Name = &v
  7481  	return s
  7482  }
  7483  
  7484  // SetTags sets the Tags field's value.
  7485  func (s *CreateRobotInput) SetTags(v map[string]*string) *CreateRobotInput {
  7486  	s.Tags = v
  7487  	return s
  7488  }
  7489  
  7490  type CreateRobotOutput struct {
  7491  	_ struct{} `type:"structure"`
  7492  
  7493  	// The target architecture of the robot.
  7494  	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
  7495  
  7496  	// The Amazon Resource Name (ARN) of the robot.
  7497  	Arn *string `locationName:"arn" min:"1" type:"string"`
  7498  
  7499  	// The time, in milliseconds since the epoch, when the robot was created.
  7500  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  7501  
  7502  	// The Amazon Resource Name (ARN) of the Greengrass group associated with the
  7503  	// robot.
  7504  	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
  7505  
  7506  	// The name of the robot.
  7507  	Name *string `locationName:"name" min:"1" type:"string"`
  7508  
  7509  	// The list of all tags added to the robot.
  7510  	Tags map[string]*string `locationName:"tags" type:"map"`
  7511  }
  7512  
  7513  // String returns the string representation.
  7514  //
  7515  // API parameter values that are decorated as "sensitive" in the API will not
  7516  // be included in the string output. The member name will be present, but the
  7517  // value will be replaced with "sensitive".
  7518  func (s CreateRobotOutput) String() string {
  7519  	return awsutil.Prettify(s)
  7520  }
  7521  
  7522  // GoString returns the string representation.
  7523  //
  7524  // API parameter values that are decorated as "sensitive" in the API will not
  7525  // be included in the string output. The member name will be present, but the
  7526  // value will be replaced with "sensitive".
  7527  func (s CreateRobotOutput) GoString() string {
  7528  	return s.String()
  7529  }
  7530  
  7531  // SetArchitecture sets the Architecture field's value.
  7532  func (s *CreateRobotOutput) SetArchitecture(v string) *CreateRobotOutput {
  7533  	s.Architecture = &v
  7534  	return s
  7535  }
  7536  
  7537  // SetArn sets the Arn field's value.
  7538  func (s *CreateRobotOutput) SetArn(v string) *CreateRobotOutput {
  7539  	s.Arn = &v
  7540  	return s
  7541  }
  7542  
  7543  // SetCreatedAt sets the CreatedAt field's value.
  7544  func (s *CreateRobotOutput) SetCreatedAt(v time.Time) *CreateRobotOutput {
  7545  	s.CreatedAt = &v
  7546  	return s
  7547  }
  7548  
  7549  // SetGreengrassGroupId sets the GreengrassGroupId field's value.
  7550  func (s *CreateRobotOutput) SetGreengrassGroupId(v string) *CreateRobotOutput {
  7551  	s.GreengrassGroupId = &v
  7552  	return s
  7553  }
  7554  
  7555  // SetName sets the Name field's value.
  7556  func (s *CreateRobotOutput) SetName(v string) *CreateRobotOutput {
  7557  	s.Name = &v
  7558  	return s
  7559  }
  7560  
  7561  // SetTags sets the Tags field's value.
  7562  func (s *CreateRobotOutput) SetTags(v map[string]*string) *CreateRobotOutput {
  7563  	s.Tags = v
  7564  	return s
  7565  }
  7566  
  7567  type CreateSimulationApplicationInput struct {
  7568  	_ struct{} `type:"structure"`
  7569  
  7570  	// The object that contains the Docker image URI used to create your simulation
  7571  	// application.
  7572  	Environment *Environment `locationName:"environment" type:"structure"`
  7573  
  7574  	// The name of the simulation application.
  7575  	//
  7576  	// Name is a required field
  7577  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7578  
  7579  	// The rendering engine for the simulation application.
  7580  	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
  7581  
  7582  	// The robot software suite (ROS distribution) used by the simulation application.
  7583  	//
  7584  	// RobotSoftwareSuite is a required field
  7585  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
  7586  
  7587  	// The simulation software suite used by the simulation application.
  7588  	//
  7589  	// SimulationSoftwareSuite is a required field
  7590  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
  7591  
  7592  	// The sources of the simulation application.
  7593  	Sources []*SourceConfig `locationName:"sources" type:"list"`
  7594  
  7595  	// A map that contains tag keys and tag values that are attached to the simulation
  7596  	// application.
  7597  	Tags map[string]*string `locationName:"tags" type:"map"`
  7598  }
  7599  
  7600  // String returns the string representation.
  7601  //
  7602  // API parameter values that are decorated as "sensitive" in the API will not
  7603  // be included in the string output. The member name will be present, but the
  7604  // value will be replaced with "sensitive".
  7605  func (s CreateSimulationApplicationInput) String() string {
  7606  	return awsutil.Prettify(s)
  7607  }
  7608  
  7609  // GoString returns the string representation.
  7610  //
  7611  // API parameter values that are decorated as "sensitive" in the API will not
  7612  // be included in the string output. The member name will be present, but the
  7613  // value will be replaced with "sensitive".
  7614  func (s CreateSimulationApplicationInput) GoString() string {
  7615  	return s.String()
  7616  }
  7617  
  7618  // Validate inspects the fields of the type to determine if they are valid.
  7619  func (s *CreateSimulationApplicationInput) Validate() error {
  7620  	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationInput"}
  7621  	if s.Name == nil {
  7622  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7623  	}
  7624  	if s.Name != nil && len(*s.Name) < 1 {
  7625  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7626  	}
  7627  	if s.RobotSoftwareSuite == nil {
  7628  		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
  7629  	}
  7630  	if s.SimulationSoftwareSuite == nil {
  7631  		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
  7632  	}
  7633  	if s.Environment != nil {
  7634  		if err := s.Environment.Validate(); err != nil {
  7635  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
  7636  		}
  7637  	}
  7638  	if s.RenderingEngine != nil {
  7639  		if err := s.RenderingEngine.Validate(); err != nil {
  7640  			invalidParams.AddNested("RenderingEngine", err.(request.ErrInvalidParams))
  7641  		}
  7642  	}
  7643  	if s.Sources != nil {
  7644  		for i, v := range s.Sources {
  7645  			if v == nil {
  7646  				continue
  7647  			}
  7648  			if err := v.Validate(); err != nil {
  7649  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
  7650  			}
  7651  		}
  7652  	}
  7653  
  7654  	if invalidParams.Len() > 0 {
  7655  		return invalidParams
  7656  	}
  7657  	return nil
  7658  }
  7659  
  7660  // SetEnvironment sets the Environment field's value.
  7661  func (s *CreateSimulationApplicationInput) SetEnvironment(v *Environment) *CreateSimulationApplicationInput {
  7662  	s.Environment = v
  7663  	return s
  7664  }
  7665  
  7666  // SetName sets the Name field's value.
  7667  func (s *CreateSimulationApplicationInput) SetName(v string) *CreateSimulationApplicationInput {
  7668  	s.Name = &v
  7669  	return s
  7670  }
  7671  
  7672  // SetRenderingEngine sets the RenderingEngine field's value.
  7673  func (s *CreateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationInput {
  7674  	s.RenderingEngine = v
  7675  	return s
  7676  }
  7677  
  7678  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
  7679  func (s *CreateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationInput {
  7680  	s.RobotSoftwareSuite = v
  7681  	return s
  7682  }
  7683  
  7684  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
  7685  func (s *CreateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationInput {
  7686  	s.SimulationSoftwareSuite = v
  7687  	return s
  7688  }
  7689  
  7690  // SetSources sets the Sources field's value.
  7691  func (s *CreateSimulationApplicationInput) SetSources(v []*SourceConfig) *CreateSimulationApplicationInput {
  7692  	s.Sources = v
  7693  	return s
  7694  }
  7695  
  7696  // SetTags sets the Tags field's value.
  7697  func (s *CreateSimulationApplicationInput) SetTags(v map[string]*string) *CreateSimulationApplicationInput {
  7698  	s.Tags = v
  7699  	return s
  7700  }
  7701  
  7702  type CreateSimulationApplicationOutput struct {
  7703  	_ struct{} `type:"structure"`
  7704  
  7705  	// The Amazon Resource Name (ARN) of the simulation application.
  7706  	Arn *string `locationName:"arn" min:"1" type:"string"`
  7707  
  7708  	// The object that contains the Docker image URI that you used to create your
  7709  	// simulation application.
  7710  	Environment *Environment `locationName:"environment" type:"structure"`
  7711  
  7712  	// The time, in milliseconds since the epoch, when the simulation application
  7713  	// was last updated.
  7714  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
  7715  
  7716  	// The name of the simulation application.
  7717  	Name *string `locationName:"name" min:"1" type:"string"`
  7718  
  7719  	// The rendering engine for the simulation application.
  7720  	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
  7721  
  7722  	// The revision id of the simulation application.
  7723  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
  7724  
  7725  	// Information about the robot software suite (ROS distribution).
  7726  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
  7727  
  7728  	// The simulation software suite used by the simulation application.
  7729  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
  7730  
  7731  	// The sources of the simulation application.
  7732  	Sources []*Source `locationName:"sources" type:"list"`
  7733  
  7734  	// The list of all tags added to the simulation application.
  7735  	Tags map[string]*string `locationName:"tags" type:"map"`
  7736  
  7737  	// The version of the simulation application.
  7738  	Version *string `locationName:"version" min:"1" type:"string"`
  7739  }
  7740  
  7741  // String returns the string representation.
  7742  //
  7743  // API parameter values that are decorated as "sensitive" in the API will not
  7744  // be included in the string output. The member name will be present, but the
  7745  // value will be replaced with "sensitive".
  7746  func (s CreateSimulationApplicationOutput) String() string {
  7747  	return awsutil.Prettify(s)
  7748  }
  7749  
  7750  // GoString returns the string representation.
  7751  //
  7752  // API parameter values that are decorated as "sensitive" in the API will not
  7753  // be included in the string output. The member name will be present, but the
  7754  // value will be replaced with "sensitive".
  7755  func (s CreateSimulationApplicationOutput) GoString() string {
  7756  	return s.String()
  7757  }
  7758  
  7759  // SetArn sets the Arn field's value.
  7760  func (s *CreateSimulationApplicationOutput) SetArn(v string) *CreateSimulationApplicationOutput {
  7761  	s.Arn = &v
  7762  	return s
  7763  }
  7764  
  7765  // SetEnvironment sets the Environment field's value.
  7766  func (s *CreateSimulationApplicationOutput) SetEnvironment(v *Environment) *CreateSimulationApplicationOutput {
  7767  	s.Environment = v
  7768  	return s
  7769  }
  7770  
  7771  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  7772  func (s *CreateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationOutput {
  7773  	s.LastUpdatedAt = &v
  7774  	return s
  7775  }
  7776  
  7777  // SetName sets the Name field's value.
  7778  func (s *CreateSimulationApplicationOutput) SetName(v string) *CreateSimulationApplicationOutput {
  7779  	s.Name = &v
  7780  	return s
  7781  }
  7782  
  7783  // SetRenderingEngine sets the RenderingEngine field's value.
  7784  func (s *CreateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationOutput {
  7785  	s.RenderingEngine = v
  7786  	return s
  7787  }
  7788  
  7789  // SetRevisionId sets the RevisionId field's value.
  7790  func (s *CreateSimulationApplicationOutput) SetRevisionId(v string) *CreateSimulationApplicationOutput {
  7791  	s.RevisionId = &v
  7792  	return s
  7793  }
  7794  
  7795  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
  7796  func (s *CreateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationOutput {
  7797  	s.RobotSoftwareSuite = v
  7798  	return s
  7799  }
  7800  
  7801  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
  7802  func (s *CreateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationOutput {
  7803  	s.SimulationSoftwareSuite = v
  7804  	return s
  7805  }
  7806  
  7807  // SetSources sets the Sources field's value.
  7808  func (s *CreateSimulationApplicationOutput) SetSources(v []*Source) *CreateSimulationApplicationOutput {
  7809  	s.Sources = v
  7810  	return s
  7811  }
  7812  
  7813  // SetTags sets the Tags field's value.
  7814  func (s *CreateSimulationApplicationOutput) SetTags(v map[string]*string) *CreateSimulationApplicationOutput {
  7815  	s.Tags = v
  7816  	return s
  7817  }
  7818  
  7819  // SetVersion sets the Version field's value.
  7820  func (s *CreateSimulationApplicationOutput) SetVersion(v string) *CreateSimulationApplicationOutput {
  7821  	s.Version = &v
  7822  	return s
  7823  }
  7824  
  7825  type CreateSimulationApplicationVersionInput struct {
  7826  	_ struct{} `type:"structure"`
  7827  
  7828  	// The application information for the simulation application.
  7829  	//
  7830  	// Application is a required field
  7831  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
  7832  
  7833  	// The current revision id for the simulation application. If you provide a
  7834  	// value and it matches the latest revision ID, a new version will be created.
  7835  	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
  7836  
  7837  	// The SHA256 digest used to identify the Docker image URI used to created the
  7838  	// simulation application.
  7839  	ImageDigest *string `locationName:"imageDigest" type:"string"`
  7840  
  7841  	// The Amazon S3 eTag identifier for the zip file bundle that you use to create
  7842  	// the simulation application.
  7843  	S3Etags []*string `locationName:"s3Etags" type:"list"`
  7844  }
  7845  
  7846  // String returns the string representation.
  7847  //
  7848  // API parameter values that are decorated as "sensitive" in the API will not
  7849  // be included in the string output. The member name will be present, but the
  7850  // value will be replaced with "sensitive".
  7851  func (s CreateSimulationApplicationVersionInput) String() string {
  7852  	return awsutil.Prettify(s)
  7853  }
  7854  
  7855  // GoString returns the string representation.
  7856  //
  7857  // API parameter values that are decorated as "sensitive" in the API will not
  7858  // be included in the string output. The member name will be present, but the
  7859  // value will be replaced with "sensitive".
  7860  func (s CreateSimulationApplicationVersionInput) GoString() string {
  7861  	return s.String()
  7862  }
  7863  
  7864  // Validate inspects the fields of the type to determine if they are valid.
  7865  func (s *CreateSimulationApplicationVersionInput) Validate() error {
  7866  	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationVersionInput"}
  7867  	if s.Application == nil {
  7868  		invalidParams.Add(request.NewErrParamRequired("Application"))
  7869  	}
  7870  	if s.Application != nil && len(*s.Application) < 1 {
  7871  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
  7872  	}
  7873  	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
  7874  		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
  7875  	}
  7876  
  7877  	if invalidParams.Len() > 0 {
  7878  		return invalidParams
  7879  	}
  7880  	return nil
  7881  }
  7882  
  7883  // SetApplication sets the Application field's value.
  7884  func (s *CreateSimulationApplicationVersionInput) SetApplication(v string) *CreateSimulationApplicationVersionInput {
  7885  	s.Application = &v
  7886  	return s
  7887  }
  7888  
  7889  // SetCurrentRevisionId sets the CurrentRevisionId field's value.
  7890  func (s *CreateSimulationApplicationVersionInput) SetCurrentRevisionId(v string) *CreateSimulationApplicationVersionInput {
  7891  	s.CurrentRevisionId = &v
  7892  	return s
  7893  }
  7894  
  7895  // SetImageDigest sets the ImageDigest field's value.
  7896  func (s *CreateSimulationApplicationVersionInput) SetImageDigest(v string) *CreateSimulationApplicationVersionInput {
  7897  	s.ImageDigest = &v
  7898  	return s
  7899  }
  7900  
  7901  // SetS3Etags sets the S3Etags field's value.
  7902  func (s *CreateSimulationApplicationVersionInput) SetS3Etags(v []*string) *CreateSimulationApplicationVersionInput {
  7903  	s.S3Etags = v
  7904  	return s
  7905  }
  7906  
  7907  type CreateSimulationApplicationVersionOutput struct {
  7908  	_ struct{} `type:"structure"`
  7909  
  7910  	// The Amazon Resource Name (ARN) of the simulation application.
  7911  	Arn *string `locationName:"arn" min:"1" type:"string"`
  7912  
  7913  	// The object that contains the Docker image URI used to create the simulation
  7914  	// application.
  7915  	Environment *Environment `locationName:"environment" type:"structure"`
  7916  
  7917  	// The time, in milliseconds since the epoch, when the simulation application
  7918  	// was last updated.
  7919  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
  7920  
  7921  	// The name of the simulation application.
  7922  	Name *string `locationName:"name" min:"1" type:"string"`
  7923  
  7924  	// The rendering engine for the simulation application.
  7925  	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
  7926  
  7927  	// The revision ID of the simulation application.
  7928  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
  7929  
  7930  	// Information about the robot software suite (ROS distribution).
  7931  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
  7932  
  7933  	// The simulation software suite used by the simulation application.
  7934  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
  7935  
  7936  	// The sources of the simulation application.
  7937  	Sources []*Source `locationName:"sources" type:"list"`
  7938  
  7939  	// The version of the simulation application.
  7940  	Version *string `locationName:"version" min:"1" type:"string"`
  7941  }
  7942  
  7943  // String returns the string representation.
  7944  //
  7945  // API parameter values that are decorated as "sensitive" in the API will not
  7946  // be included in the string output. The member name will be present, but the
  7947  // value will be replaced with "sensitive".
  7948  func (s CreateSimulationApplicationVersionOutput) String() string {
  7949  	return awsutil.Prettify(s)
  7950  }
  7951  
  7952  // GoString returns the string representation.
  7953  //
  7954  // API parameter values that are decorated as "sensitive" in the API will not
  7955  // be included in the string output. The member name will be present, but the
  7956  // value will be replaced with "sensitive".
  7957  func (s CreateSimulationApplicationVersionOutput) GoString() string {
  7958  	return s.String()
  7959  }
  7960  
  7961  // SetArn sets the Arn field's value.
  7962  func (s *CreateSimulationApplicationVersionOutput) SetArn(v string) *CreateSimulationApplicationVersionOutput {
  7963  	s.Arn = &v
  7964  	return s
  7965  }
  7966  
  7967  // SetEnvironment sets the Environment field's value.
  7968  func (s *CreateSimulationApplicationVersionOutput) SetEnvironment(v *Environment) *CreateSimulationApplicationVersionOutput {
  7969  	s.Environment = v
  7970  	return s
  7971  }
  7972  
  7973  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  7974  func (s *CreateSimulationApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationVersionOutput {
  7975  	s.LastUpdatedAt = &v
  7976  	return s
  7977  }
  7978  
  7979  // SetName sets the Name field's value.
  7980  func (s *CreateSimulationApplicationVersionOutput) SetName(v string) *CreateSimulationApplicationVersionOutput {
  7981  	s.Name = &v
  7982  	return s
  7983  }
  7984  
  7985  // SetRenderingEngine sets the RenderingEngine field's value.
  7986  func (s *CreateSimulationApplicationVersionOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationVersionOutput {
  7987  	s.RenderingEngine = v
  7988  	return s
  7989  }
  7990  
  7991  // SetRevisionId sets the RevisionId field's value.
  7992  func (s *CreateSimulationApplicationVersionOutput) SetRevisionId(v string) *CreateSimulationApplicationVersionOutput {
  7993  	s.RevisionId = &v
  7994  	return s
  7995  }
  7996  
  7997  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
  7998  func (s *CreateSimulationApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationVersionOutput {
  7999  	s.RobotSoftwareSuite = v
  8000  	return s
  8001  }
  8002  
  8003  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
  8004  func (s *CreateSimulationApplicationVersionOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationVersionOutput {
  8005  	s.SimulationSoftwareSuite = v
  8006  	return s
  8007  }
  8008  
  8009  // SetSources sets the Sources field's value.
  8010  func (s *CreateSimulationApplicationVersionOutput) SetSources(v []*Source) *CreateSimulationApplicationVersionOutput {
  8011  	s.Sources = v
  8012  	return s
  8013  }
  8014  
  8015  // SetVersion sets the Version field's value.
  8016  func (s *CreateSimulationApplicationVersionOutput) SetVersion(v string) *CreateSimulationApplicationVersionOutput {
  8017  	s.Version = &v
  8018  	return s
  8019  }
  8020  
  8021  type CreateSimulationJobInput struct {
  8022  	_ struct{} `type:"structure"`
  8023  
  8024  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  8025  	// of the request.
  8026  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
  8027  
  8028  	// Compute information for the simulation job.
  8029  	Compute *Compute `locationName:"compute" type:"structure"`
  8030  
  8031  	// Specify data sources to mount read-only files from S3 into your simulation.
  8032  	// These files are available under /opt/robomaker/datasources/data_source_name.
  8033  	//
  8034  	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
  8035  	// objects.
  8036  	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
  8037  
  8038  	// The failure behavior the simulation job.
  8039  	//
  8040  	// Continue
  8041  	//
  8042  	// Leaves the instance running for its maximum timeout duration after a 4XX
  8043  	// error code.
  8044  	//
  8045  	// Fail
  8046  	//
  8047  	// Stop the simulation job and terminate the instance.
  8048  	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
  8049  
  8050  	// The IAM role name that allows the simulation instance to call the AWS APIs
  8051  	// that are specified in its associated policies on your behalf. This is how
  8052  	// credentials are passed in to your simulation job.
  8053  	//
  8054  	// IamRole is a required field
  8055  	IamRole *string `locationName:"iamRole" min:"1" type:"string" required:"true"`
  8056  
  8057  	// The logging configuration.
  8058  	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
  8059  
  8060  	// The maximum simulation job duration in seconds (up to 14 days or 1,209,600
  8061  	// seconds. When maxJobDurationInSeconds is reached, the simulation job will
  8062  	// status will transition to Completed.
  8063  	//
  8064  	// MaxJobDurationInSeconds is a required field
  8065  	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
  8066  
  8067  	// Location for output files generated by the simulation job.
  8068  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
  8069  
  8070  	// The robot application to use in the simulation job.
  8071  	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
  8072  
  8073  	// The simulation application to use in the simulation job.
  8074  	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
  8075  
  8076  	// A map that contains tag keys and tag values that are attached to the simulation
  8077  	// job.
  8078  	Tags map[string]*string `locationName:"tags" type:"map"`
  8079  
  8080  	// If your simulation job accesses resources in a VPC, you provide this parameter
  8081  	// identifying the list of security group IDs and subnet IDs. These must belong
  8082  	// to the same VPC. You must provide at least one security group and one subnet
  8083  	// ID.
  8084  	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
  8085  }
  8086  
  8087  // String returns the string representation.
  8088  //
  8089  // API parameter values that are decorated as "sensitive" in the API will not
  8090  // be included in the string output. The member name will be present, but the
  8091  // value will be replaced with "sensitive".
  8092  func (s CreateSimulationJobInput) String() string {
  8093  	return awsutil.Prettify(s)
  8094  }
  8095  
  8096  // GoString returns the string representation.
  8097  //
  8098  // API parameter values that are decorated as "sensitive" in the API will not
  8099  // be included in the string output. The member name will be present, but the
  8100  // value will be replaced with "sensitive".
  8101  func (s CreateSimulationJobInput) GoString() string {
  8102  	return s.String()
  8103  }
  8104  
  8105  // Validate inspects the fields of the type to determine if they are valid.
  8106  func (s *CreateSimulationJobInput) Validate() error {
  8107  	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationJobInput"}
  8108  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  8109  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  8110  	}
  8111  	if s.DataSources != nil && len(s.DataSources) < 1 {
  8112  		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
  8113  	}
  8114  	if s.IamRole == nil {
  8115  		invalidParams.Add(request.NewErrParamRequired("IamRole"))
  8116  	}
  8117  	if s.IamRole != nil && len(*s.IamRole) < 1 {
  8118  		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
  8119  	}
  8120  	if s.MaxJobDurationInSeconds == nil {
  8121  		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
  8122  	}
  8123  	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
  8124  		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
  8125  	}
  8126  	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
  8127  		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
  8128  	}
  8129  	if s.Compute != nil {
  8130  		if err := s.Compute.Validate(); err != nil {
  8131  			invalidParams.AddNested("Compute", err.(request.ErrInvalidParams))
  8132  		}
  8133  	}
  8134  	if s.DataSources != nil {
  8135  		for i, v := range s.DataSources {
  8136  			if v == nil {
  8137  				continue
  8138  			}
  8139  			if err := v.Validate(); err != nil {
  8140  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
  8141  			}
  8142  		}
  8143  	}
  8144  	if s.LoggingConfig != nil {
  8145  		if err := s.LoggingConfig.Validate(); err != nil {
  8146  			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
  8147  		}
  8148  	}
  8149  	if s.OutputLocation != nil {
  8150  		if err := s.OutputLocation.Validate(); err != nil {
  8151  			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
  8152  		}
  8153  	}
  8154  	if s.RobotApplications != nil {
  8155  		for i, v := range s.RobotApplications {
  8156  			if v == nil {
  8157  				continue
  8158  			}
  8159  			if err := v.Validate(); err != nil {
  8160  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
  8161  			}
  8162  		}
  8163  	}
  8164  	if s.SimulationApplications != nil {
  8165  		for i, v := range s.SimulationApplications {
  8166  			if v == nil {
  8167  				continue
  8168  			}
  8169  			if err := v.Validate(); err != nil {
  8170  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
  8171  			}
  8172  		}
  8173  	}
  8174  	if s.VpcConfig != nil {
  8175  		if err := s.VpcConfig.Validate(); err != nil {
  8176  			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
  8177  		}
  8178  	}
  8179  
  8180  	if invalidParams.Len() > 0 {
  8181  		return invalidParams
  8182  	}
  8183  	return nil
  8184  }
  8185  
  8186  // SetClientRequestToken sets the ClientRequestToken field's value.
  8187  func (s *CreateSimulationJobInput) SetClientRequestToken(v string) *CreateSimulationJobInput {
  8188  	s.ClientRequestToken = &v
  8189  	return s
  8190  }
  8191  
  8192  // SetCompute sets the Compute field's value.
  8193  func (s *CreateSimulationJobInput) SetCompute(v *Compute) *CreateSimulationJobInput {
  8194  	s.Compute = v
  8195  	return s
  8196  }
  8197  
  8198  // SetDataSources sets the DataSources field's value.
  8199  func (s *CreateSimulationJobInput) SetDataSources(v []*DataSourceConfig) *CreateSimulationJobInput {
  8200  	s.DataSources = v
  8201  	return s
  8202  }
  8203  
  8204  // SetFailureBehavior sets the FailureBehavior field's value.
  8205  func (s *CreateSimulationJobInput) SetFailureBehavior(v string) *CreateSimulationJobInput {
  8206  	s.FailureBehavior = &v
  8207  	return s
  8208  }
  8209  
  8210  // SetIamRole sets the IamRole field's value.
  8211  func (s *CreateSimulationJobInput) SetIamRole(v string) *CreateSimulationJobInput {
  8212  	s.IamRole = &v
  8213  	return s
  8214  }
  8215  
  8216  // SetLoggingConfig sets the LoggingConfig field's value.
  8217  func (s *CreateSimulationJobInput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobInput {
  8218  	s.LoggingConfig = v
  8219  	return s
  8220  }
  8221  
  8222  // SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
  8223  func (s *CreateSimulationJobInput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobInput {
  8224  	s.MaxJobDurationInSeconds = &v
  8225  	return s
  8226  }
  8227  
  8228  // SetOutputLocation sets the OutputLocation field's value.
  8229  func (s *CreateSimulationJobInput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobInput {
  8230  	s.OutputLocation = v
  8231  	return s
  8232  }
  8233  
  8234  // SetRobotApplications sets the RobotApplications field's value.
  8235  func (s *CreateSimulationJobInput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobInput {
  8236  	s.RobotApplications = v
  8237  	return s
  8238  }
  8239  
  8240  // SetSimulationApplications sets the SimulationApplications field's value.
  8241  func (s *CreateSimulationJobInput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobInput {
  8242  	s.SimulationApplications = v
  8243  	return s
  8244  }
  8245  
  8246  // SetTags sets the Tags field's value.
  8247  func (s *CreateSimulationJobInput) SetTags(v map[string]*string) *CreateSimulationJobInput {
  8248  	s.Tags = v
  8249  	return s
  8250  }
  8251  
  8252  // SetVpcConfig sets the VpcConfig field's value.
  8253  func (s *CreateSimulationJobInput) SetVpcConfig(v *VPCConfig) *CreateSimulationJobInput {
  8254  	s.VpcConfig = v
  8255  	return s
  8256  }
  8257  
  8258  type CreateSimulationJobOutput struct {
  8259  	_ struct{} `type:"structure"`
  8260  
  8261  	// The Amazon Resource Name (ARN) of the simulation job.
  8262  	Arn *string `locationName:"arn" min:"1" type:"string"`
  8263  
  8264  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  8265  	// of the request.
  8266  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
  8267  
  8268  	// Compute information for the simulation job.
  8269  	Compute *ComputeResponse `locationName:"compute" type:"structure"`
  8270  
  8271  	// The data sources for the simulation job.
  8272  	DataSources []*DataSource `locationName:"dataSources" type:"list"`
  8273  
  8274  	// the failure behavior for the simulation job.
  8275  	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
  8276  
  8277  	// The failure code of the simulation job if it failed:
  8278  	//
  8279  	// InternalServiceError
  8280  	//
  8281  	// Internal service error.
  8282  	//
  8283  	// RobotApplicationCrash
  8284  	//
  8285  	// Robot application exited abnormally.
  8286  	//
  8287  	// SimulationApplicationCrash
  8288  	//
  8289  	// Simulation application exited abnormally.
  8290  	//
  8291  	// BadPermissionsRobotApplication
  8292  	//
  8293  	// Robot application bundle could not be downloaded.
  8294  	//
  8295  	// BadPermissionsSimulationApplication
  8296  	//
  8297  	// Simulation application bundle could not be downloaded.
  8298  	//
  8299  	// BadPermissionsS3Output
  8300  	//
  8301  	// Unable to publish outputs to customer-provided S3 bucket.
  8302  	//
  8303  	// BadPermissionsCloudwatchLogs
  8304  	//
  8305  	// Unable to publish logs to customer-provided CloudWatch Logs resource.
  8306  	//
  8307  	// SubnetIpLimitExceeded
  8308  	//
  8309  	// Subnet IP limit exceeded.
  8310  	//
  8311  	// ENILimitExceeded
  8312  	//
  8313  	// ENI limit exceeded.
  8314  	//
  8315  	// BadPermissionsUserCredentials
  8316  	//
  8317  	// Unable to use the Role provided.
  8318  	//
  8319  	// InvalidBundleRobotApplication
  8320  	//
  8321  	// Robot bundle cannot be extracted (invalid format, bundling error, or other
  8322  	// issue).
  8323  	//
  8324  	// InvalidBundleSimulationApplication
  8325  	//
  8326  	// Simulation bundle cannot be extracted (invalid format, bundling error, or
  8327  	// other issue).
  8328  	//
  8329  	// RobotApplicationVersionMismatchedEtag
  8330  	//
  8331  	// Etag for RobotApplication does not match value during version creation.
  8332  	//
  8333  	// SimulationApplicationVersionMismatchedEtag
  8334  	//
  8335  	// Etag for SimulationApplication does not match value during version creation.
  8336  	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
  8337  
  8338  	// The IAM role that allows the simulation job to call the AWS APIs that are
  8339  	// specified in its associated policies on your behalf.
  8340  	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
  8341  
  8342  	// The time, in milliseconds since the epoch, when the simulation job was last
  8343  	// started.
  8344  	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
  8345  
  8346  	// The time, in milliseconds since the epoch, when the simulation job was last
  8347  	// updated.
  8348  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
  8349  
  8350  	// The logging configuration.
  8351  	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
  8352  
  8353  	// The maximum simulation job duration in seconds.
  8354  	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
  8355  
  8356  	// Simulation job output files location.
  8357  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
  8358  
  8359  	// The robot application used by the simulation job.
  8360  	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
  8361  
  8362  	// The simulation application used by the simulation job.
  8363  	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
  8364  
  8365  	// The simulation job execution duration in milliseconds.
  8366  	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
  8367  
  8368  	// The status of the simulation job.
  8369  	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
  8370  
  8371  	// The list of all tags added to the simulation job.
  8372  	Tags map[string]*string `locationName:"tags" type:"map"`
  8373  
  8374  	// Information about the vpc configuration.
  8375  	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
  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 CreateSimulationJobOutput) 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 CreateSimulationJobOutput) GoString() string {
  8393  	return s.String()
  8394  }
  8395  
  8396  // SetArn sets the Arn field's value.
  8397  func (s *CreateSimulationJobOutput) SetArn(v string) *CreateSimulationJobOutput {
  8398  	s.Arn = &v
  8399  	return s
  8400  }
  8401  
  8402  // SetClientRequestToken sets the ClientRequestToken field's value.
  8403  func (s *CreateSimulationJobOutput) SetClientRequestToken(v string) *CreateSimulationJobOutput {
  8404  	s.ClientRequestToken = &v
  8405  	return s
  8406  }
  8407  
  8408  // SetCompute sets the Compute field's value.
  8409  func (s *CreateSimulationJobOutput) SetCompute(v *ComputeResponse) *CreateSimulationJobOutput {
  8410  	s.Compute = v
  8411  	return s
  8412  }
  8413  
  8414  // SetDataSources sets the DataSources field's value.
  8415  func (s *CreateSimulationJobOutput) SetDataSources(v []*DataSource) *CreateSimulationJobOutput {
  8416  	s.DataSources = v
  8417  	return s
  8418  }
  8419  
  8420  // SetFailureBehavior sets the FailureBehavior field's value.
  8421  func (s *CreateSimulationJobOutput) SetFailureBehavior(v string) *CreateSimulationJobOutput {
  8422  	s.FailureBehavior = &v
  8423  	return s
  8424  }
  8425  
  8426  // SetFailureCode sets the FailureCode field's value.
  8427  func (s *CreateSimulationJobOutput) SetFailureCode(v string) *CreateSimulationJobOutput {
  8428  	s.FailureCode = &v
  8429  	return s
  8430  }
  8431  
  8432  // SetIamRole sets the IamRole field's value.
  8433  func (s *CreateSimulationJobOutput) SetIamRole(v string) *CreateSimulationJobOutput {
  8434  	s.IamRole = &v
  8435  	return s
  8436  }
  8437  
  8438  // SetLastStartedAt sets the LastStartedAt field's value.
  8439  func (s *CreateSimulationJobOutput) SetLastStartedAt(v time.Time) *CreateSimulationJobOutput {
  8440  	s.LastStartedAt = &v
  8441  	return s
  8442  }
  8443  
  8444  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
  8445  func (s *CreateSimulationJobOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationJobOutput {
  8446  	s.LastUpdatedAt = &v
  8447  	return s
  8448  }
  8449  
  8450  // SetLoggingConfig sets the LoggingConfig field's value.
  8451  func (s *CreateSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobOutput {
  8452  	s.LoggingConfig = v
  8453  	return s
  8454  }
  8455  
  8456  // SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
  8457  func (s *CreateSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobOutput {
  8458  	s.MaxJobDurationInSeconds = &v
  8459  	return s
  8460  }
  8461  
  8462  // SetOutputLocation sets the OutputLocation field's value.
  8463  func (s *CreateSimulationJobOutput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobOutput {
  8464  	s.OutputLocation = v
  8465  	return s
  8466  }
  8467  
  8468  // SetRobotApplications sets the RobotApplications field's value.
  8469  func (s *CreateSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobOutput {
  8470  	s.RobotApplications = v
  8471  	return s
  8472  }
  8473  
  8474  // SetSimulationApplications sets the SimulationApplications field's value.
  8475  func (s *CreateSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobOutput {
  8476  	s.SimulationApplications = v
  8477  	return s
  8478  }
  8479  
  8480  // SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
  8481  func (s *CreateSimulationJobOutput) SetSimulationTimeMillis(v int64) *CreateSimulationJobOutput {
  8482  	s.SimulationTimeMillis = &v
  8483  	return s
  8484  }
  8485  
  8486  // SetStatus sets the Status field's value.
  8487  func (s *CreateSimulationJobOutput) SetStatus(v string) *CreateSimulationJobOutput {
  8488  	s.Status = &v
  8489  	return s
  8490  }
  8491  
  8492  // SetTags sets the Tags field's value.
  8493  func (s *CreateSimulationJobOutput) SetTags(v map[string]*string) *CreateSimulationJobOutput {
  8494  	s.Tags = v
  8495  	return s
  8496  }
  8497  
  8498  // SetVpcConfig sets the VpcConfig field's value.
  8499  func (s *CreateSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *CreateSimulationJobOutput {
  8500  	s.VpcConfig = v
  8501  	return s
  8502  }
  8503  
  8504  type CreateWorldExportJobInput struct {
  8505  	_ struct{} `type:"structure"`
  8506  
  8507  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  8508  	// of the request.
  8509  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
  8510  
  8511  	// The IAM role that the world export process uses to access the Amazon S3 bucket
  8512  	// and put the export.
  8513  	//
  8514  	// IamRole is a required field
  8515  	IamRole *string `locationName:"iamRole" min:"1" type:"string" required:"true"`
  8516  
  8517  	// The output location.
  8518  	//
  8519  	// OutputLocation is a required field
  8520  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure" required:"true"`
  8521  
  8522  	// A map that contains tag keys and tag values that are attached to the world
  8523  	// export job.
  8524  	Tags map[string]*string `locationName:"tags" type:"map"`
  8525  
  8526  	// A list of Amazon Resource Names (arns) that correspond to worlds to export.
  8527  	//
  8528  	// Worlds is a required field
  8529  	Worlds []*string `locationName:"worlds" min:"1" type:"list" required:"true"`
  8530  }
  8531  
  8532  // String returns the string representation.
  8533  //
  8534  // API parameter values that are decorated as "sensitive" in the API will not
  8535  // be included in the string output. The member name will be present, but the
  8536  // value will be replaced with "sensitive".
  8537  func (s CreateWorldExportJobInput) String() string {
  8538  	return awsutil.Prettify(s)
  8539  }
  8540  
  8541  // GoString returns the string representation.
  8542  //
  8543  // API parameter values that are decorated as "sensitive" in the API will not
  8544  // be included in the string output. The member name will be present, but the
  8545  // value will be replaced with "sensitive".
  8546  func (s CreateWorldExportJobInput) GoString() string {
  8547  	return s.String()
  8548  }
  8549  
  8550  // Validate inspects the fields of the type to determine if they are valid.
  8551  func (s *CreateWorldExportJobInput) Validate() error {
  8552  	invalidParams := request.ErrInvalidParams{Context: "CreateWorldExportJobInput"}
  8553  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  8554  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  8555  	}
  8556  	if s.IamRole == nil {
  8557  		invalidParams.Add(request.NewErrParamRequired("IamRole"))
  8558  	}
  8559  	if s.IamRole != nil && len(*s.IamRole) < 1 {
  8560  		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
  8561  	}
  8562  	if s.OutputLocation == nil {
  8563  		invalidParams.Add(request.NewErrParamRequired("OutputLocation"))
  8564  	}
  8565  	if s.Worlds == nil {
  8566  		invalidParams.Add(request.NewErrParamRequired("Worlds"))
  8567  	}
  8568  	if s.Worlds != nil && len(s.Worlds) < 1 {
  8569  		invalidParams.Add(request.NewErrParamMinLen("Worlds", 1))
  8570  	}
  8571  	if s.OutputLocation != nil {
  8572  		if err := s.OutputLocation.Validate(); err != nil {
  8573  			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
  8574  		}
  8575  	}
  8576  
  8577  	if invalidParams.Len() > 0 {
  8578  		return invalidParams
  8579  	}
  8580  	return nil
  8581  }
  8582  
  8583  // SetClientRequestToken sets the ClientRequestToken field's value.
  8584  func (s *CreateWorldExportJobInput) SetClientRequestToken(v string) *CreateWorldExportJobInput {
  8585  	s.ClientRequestToken = &v
  8586  	return s
  8587  }
  8588  
  8589  // SetIamRole sets the IamRole field's value.
  8590  func (s *CreateWorldExportJobInput) SetIamRole(v string) *CreateWorldExportJobInput {
  8591  	s.IamRole = &v
  8592  	return s
  8593  }
  8594  
  8595  // SetOutputLocation sets the OutputLocation field's value.
  8596  func (s *CreateWorldExportJobInput) SetOutputLocation(v *OutputLocation) *CreateWorldExportJobInput {
  8597  	s.OutputLocation = v
  8598  	return s
  8599  }
  8600  
  8601  // SetTags sets the Tags field's value.
  8602  func (s *CreateWorldExportJobInput) SetTags(v map[string]*string) *CreateWorldExportJobInput {
  8603  	s.Tags = v
  8604  	return s
  8605  }
  8606  
  8607  // SetWorlds sets the Worlds field's value.
  8608  func (s *CreateWorldExportJobInput) SetWorlds(v []*string) *CreateWorldExportJobInput {
  8609  	s.Worlds = v
  8610  	return s
  8611  }
  8612  
  8613  type CreateWorldExportJobOutput struct {
  8614  	_ struct{} `type:"structure"`
  8615  
  8616  	// The Amazon Resource Name (ARN) of the world export job.
  8617  	Arn *string `locationName:"arn" min:"1" type:"string"`
  8618  
  8619  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  8620  	// of the request.
  8621  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
  8622  
  8623  	// The time, in milliseconds since the epoch, when the world export job was
  8624  	// created.
  8625  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  8626  
  8627  	// The failure code of the world export job if it failed:
  8628  	//
  8629  	// InternalServiceError
  8630  	//
  8631  	// Internal service error.
  8632  	//
  8633  	// LimitExceeded
  8634  	//
  8635  	// The requested resource exceeds the maximum number allowed, or the number
  8636  	// of concurrent stream requests exceeds the maximum number allowed.
  8637  	//
  8638  	// ResourceNotFound
  8639  	//
  8640  	// The specified resource could not be found.
  8641  	//
  8642  	// RequestThrottled
  8643  	//
  8644  	// The request was throttled.
  8645  	//
  8646  	// InvalidInput
  8647  	//
  8648  	// An input parameter in the request is not valid.
  8649  	//
  8650  	// AllWorldGenerationFailed
  8651  	//
  8652  	// All of the worlds in the world generation job failed. This can happen if
  8653  	// your worldCount is greater than 50 or less than 1.
  8654  	//
  8655  	// For more information about troubleshooting WorldForge, see Troubleshooting
  8656  	// Simulation WorldForge (https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting-worldforge.html).
  8657  	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldExportJobErrorCode"`
  8658  
  8659  	// The IAM role that the world export process uses to access the Amazon S3 bucket
  8660  	// and put the export.
  8661  	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
  8662  
  8663  	// The output location.
  8664  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
  8665  
  8666  	// The status of the world export job.
  8667  	//
  8668  	// Pending
  8669  	//
  8670  	// The world export job request is pending.
  8671  	//
  8672  	// Running
  8673  	//
  8674  	// The world export job is running.
  8675  	//
  8676  	// Completed
  8677  	//
  8678  	// The world export job completed.
  8679  	//
  8680  	// Failed
  8681  	//
  8682  	// The world export job failed. See failureCode for more information.
  8683  	//
  8684  	// Canceled
  8685  	//
  8686  	// The world export job was cancelled.
  8687  	//
  8688  	// Canceling
  8689  	//
  8690  	// The world export job is being cancelled.
  8691  	Status *string `locationName:"status" type:"string" enum:"WorldExportJobStatus"`
  8692  
  8693  	// A map that contains tag keys and tag values that are attached to the world
  8694  	// export job.
  8695  	Tags map[string]*string `locationName:"tags" type:"map"`
  8696  }
  8697  
  8698  // String returns the string representation.
  8699  //
  8700  // API parameter values that are decorated as "sensitive" in the API will not
  8701  // be included in the string output. The member name will be present, but the
  8702  // value will be replaced with "sensitive".
  8703  func (s CreateWorldExportJobOutput) String() string {
  8704  	return awsutil.Prettify(s)
  8705  }
  8706  
  8707  // GoString returns the string representation.
  8708  //
  8709  // API parameter values that are decorated as "sensitive" in the API will not
  8710  // be included in the string output. The member name will be present, but the
  8711  // value will be replaced with "sensitive".
  8712  func (s CreateWorldExportJobOutput) GoString() string {
  8713  	return s.String()
  8714  }
  8715  
  8716  // SetArn sets the Arn field's value.
  8717  func (s *CreateWorldExportJobOutput) SetArn(v string) *CreateWorldExportJobOutput {
  8718  	s.Arn = &v
  8719  	return s
  8720  }
  8721  
  8722  // SetClientRequestToken sets the ClientRequestToken field's value.
  8723  func (s *CreateWorldExportJobOutput) SetClientRequestToken(v string) *CreateWorldExportJobOutput {
  8724  	s.ClientRequestToken = &v
  8725  	return s
  8726  }
  8727  
  8728  // SetCreatedAt sets the CreatedAt field's value.
  8729  func (s *CreateWorldExportJobOutput) SetCreatedAt(v time.Time) *CreateWorldExportJobOutput {
  8730  	s.CreatedAt = &v
  8731  	return s
  8732  }
  8733  
  8734  // SetFailureCode sets the FailureCode field's value.
  8735  func (s *CreateWorldExportJobOutput) SetFailureCode(v string) *CreateWorldExportJobOutput {
  8736  	s.FailureCode = &v
  8737  	return s
  8738  }
  8739  
  8740  // SetIamRole sets the IamRole field's value.
  8741  func (s *CreateWorldExportJobOutput) SetIamRole(v string) *CreateWorldExportJobOutput {
  8742  	s.IamRole = &v
  8743  	return s
  8744  }
  8745  
  8746  // SetOutputLocation sets the OutputLocation field's value.
  8747  func (s *CreateWorldExportJobOutput) SetOutputLocation(v *OutputLocation) *CreateWorldExportJobOutput {
  8748  	s.OutputLocation = v
  8749  	return s
  8750  }
  8751  
  8752  // SetStatus sets the Status field's value.
  8753  func (s *CreateWorldExportJobOutput) SetStatus(v string) *CreateWorldExportJobOutput {
  8754  	s.Status = &v
  8755  	return s
  8756  }
  8757  
  8758  // SetTags sets the Tags field's value.
  8759  func (s *CreateWorldExportJobOutput) SetTags(v map[string]*string) *CreateWorldExportJobOutput {
  8760  	s.Tags = v
  8761  	return s
  8762  }
  8763  
  8764  type CreateWorldGenerationJobInput struct {
  8765  	_ struct{} `type:"structure"`
  8766  
  8767  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  8768  	// of the request.
  8769  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
  8770  
  8771  	// A map that contains tag keys and tag values that are attached to the world
  8772  	// generator job.
  8773  	Tags map[string]*string `locationName:"tags" type:"map"`
  8774  
  8775  	// The Amazon Resource Name (arn) of the world template describing the worlds
  8776  	// you want to create.
  8777  	//
  8778  	// Template is a required field
  8779  	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
  8780  
  8781  	// Information about the world count.
  8782  	//
  8783  	// WorldCount is a required field
  8784  	WorldCount *WorldCount `locationName:"worldCount" type:"structure" required:"true"`
  8785  
  8786  	// A map that contains tag keys and tag values that are attached to the generated
  8787  	// worlds.
  8788  	WorldTags map[string]*string `locationName:"worldTags" type:"map"`
  8789  }
  8790  
  8791  // String returns the string representation.
  8792  //
  8793  // API parameter values that are decorated as "sensitive" in the API will not
  8794  // be included in the string output. The member name will be present, but the
  8795  // value will be replaced with "sensitive".
  8796  func (s CreateWorldGenerationJobInput) String() string {
  8797  	return awsutil.Prettify(s)
  8798  }
  8799  
  8800  // GoString returns the string representation.
  8801  //
  8802  // API parameter values that are decorated as "sensitive" in the API will not
  8803  // be included in the string output. The member name will be present, but the
  8804  // value will be replaced with "sensitive".
  8805  func (s CreateWorldGenerationJobInput) GoString() string {
  8806  	return s.String()
  8807  }
  8808  
  8809  // Validate inspects the fields of the type to determine if they are valid.
  8810  func (s *CreateWorldGenerationJobInput) Validate() error {
  8811  	invalidParams := request.ErrInvalidParams{Context: "CreateWorldGenerationJobInput"}
  8812  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  8813  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  8814  	}
  8815  	if s.Template == nil {
  8816  		invalidParams.Add(request.NewErrParamRequired("Template"))
  8817  	}
  8818  	if s.Template != nil && len(*s.Template) < 1 {
  8819  		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
  8820  	}
  8821  	if s.WorldCount == nil {
  8822  		invalidParams.Add(request.NewErrParamRequired("WorldCount"))
  8823  	}
  8824  
  8825  	if invalidParams.Len() > 0 {
  8826  		return invalidParams
  8827  	}
  8828  	return nil
  8829  }
  8830  
  8831  // SetClientRequestToken sets the ClientRequestToken field's value.
  8832  func (s *CreateWorldGenerationJobInput) SetClientRequestToken(v string) *CreateWorldGenerationJobInput {
  8833  	s.ClientRequestToken = &v
  8834  	return s
  8835  }
  8836  
  8837  // SetTags sets the Tags field's value.
  8838  func (s *CreateWorldGenerationJobInput) SetTags(v map[string]*string) *CreateWorldGenerationJobInput {
  8839  	s.Tags = v
  8840  	return s
  8841  }
  8842  
  8843  // SetTemplate sets the Template field's value.
  8844  func (s *CreateWorldGenerationJobInput) SetTemplate(v string) *CreateWorldGenerationJobInput {
  8845  	s.Template = &v
  8846  	return s
  8847  }
  8848  
  8849  // SetWorldCount sets the WorldCount field's value.
  8850  func (s *CreateWorldGenerationJobInput) SetWorldCount(v *WorldCount) *CreateWorldGenerationJobInput {
  8851  	s.WorldCount = v
  8852  	return s
  8853  }
  8854  
  8855  // SetWorldTags sets the WorldTags field's value.
  8856  func (s *CreateWorldGenerationJobInput) SetWorldTags(v map[string]*string) *CreateWorldGenerationJobInput {
  8857  	s.WorldTags = v
  8858  	return s
  8859  }
  8860  
  8861  type CreateWorldGenerationJobOutput struct {
  8862  	_ struct{} `type:"structure"`
  8863  
  8864  	// The Amazon Resource Name (ARN) of the world generator job.
  8865  	Arn *string `locationName:"arn" min:"1" type:"string"`
  8866  
  8867  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  8868  	// of the request.
  8869  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
  8870  
  8871  	// The time, in milliseconds since the epoch, when the world generator job was
  8872  	// created.
  8873  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  8874  
  8875  	// The failure code of the world generator job if it failed:
  8876  	//
  8877  	// InternalServiceError
  8878  	//
  8879  	// Internal service error.
  8880  	//
  8881  	// LimitExceeded
  8882  	//
  8883  	// The requested resource exceeds the maximum number allowed, or the number
  8884  	// of concurrent stream requests exceeds the maximum number allowed.
  8885  	//
  8886  	// ResourceNotFound
  8887  	//
  8888  	// The specified resource could not be found.
  8889  	//
  8890  	// RequestThrottled
  8891  	//
  8892  	// The request was throttled.
  8893  	//
  8894  	// InvalidInput
  8895  	//
  8896  	// An input parameter in the request is not valid.
  8897  	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldGenerationJobErrorCode"`
  8898  
  8899  	// The status of the world generator job.
  8900  	//
  8901  	// Pending
  8902  	//
  8903  	// The world generator job request is pending.
  8904  	//
  8905  	// Running
  8906  	//
  8907  	// The world generator job is running.
  8908  	//
  8909  	// Completed
  8910  	//
  8911  	// The world generator job completed.
  8912  	//
  8913  	// Failed
  8914  	//
  8915  	// The world generator job failed. See failureCode for more information.
  8916  	//
  8917  	// PartialFailed
  8918  	//
  8919  	// Some worlds did not generate.
  8920  	//
  8921  	// Canceled
  8922  	//
  8923  	// The world generator job was cancelled.
  8924  	//
  8925  	// Canceling
  8926  	//
  8927  	// The world generator job is being cancelled.
  8928  	Status *string `locationName:"status" type:"string" enum:"WorldGenerationJobStatus"`
  8929  
  8930  	// A map that contains tag keys and tag values that are attached to the world
  8931  	// generator job.
  8932  	Tags map[string]*string `locationName:"tags" type:"map"`
  8933  
  8934  	// The Amazon Resource Name (arn) of the world template.
  8935  	Template *string `locationName:"template" min:"1" type:"string"`
  8936  
  8937  	// Information about the world count.
  8938  	WorldCount *WorldCount `locationName:"worldCount" type:"structure"`
  8939  
  8940  	// A map that contains tag keys and tag values that are attached to the generated
  8941  	// worlds.
  8942  	WorldTags map[string]*string `locationName:"worldTags" type:"map"`
  8943  }
  8944  
  8945  // String returns the string representation.
  8946  //
  8947  // API parameter values that are decorated as "sensitive" in the API will not
  8948  // be included in the string output. The member name will be present, but the
  8949  // value will be replaced with "sensitive".
  8950  func (s CreateWorldGenerationJobOutput) String() string {
  8951  	return awsutil.Prettify(s)
  8952  }
  8953  
  8954  // GoString returns the string representation.
  8955  //
  8956  // API parameter values that are decorated as "sensitive" in the API will not
  8957  // be included in the string output. The member name will be present, but the
  8958  // value will be replaced with "sensitive".
  8959  func (s CreateWorldGenerationJobOutput) GoString() string {
  8960  	return s.String()
  8961  }
  8962  
  8963  // SetArn sets the Arn field's value.
  8964  func (s *CreateWorldGenerationJobOutput) SetArn(v string) *CreateWorldGenerationJobOutput {
  8965  	s.Arn = &v
  8966  	return s
  8967  }
  8968  
  8969  // SetClientRequestToken sets the ClientRequestToken field's value.
  8970  func (s *CreateWorldGenerationJobOutput) SetClientRequestToken(v string) *CreateWorldGenerationJobOutput {
  8971  	s.ClientRequestToken = &v
  8972  	return s
  8973  }
  8974  
  8975  // SetCreatedAt sets the CreatedAt field's value.
  8976  func (s *CreateWorldGenerationJobOutput) SetCreatedAt(v time.Time) *CreateWorldGenerationJobOutput {
  8977  	s.CreatedAt = &v
  8978  	return s
  8979  }
  8980  
  8981  // SetFailureCode sets the FailureCode field's value.
  8982  func (s *CreateWorldGenerationJobOutput) SetFailureCode(v string) *CreateWorldGenerationJobOutput {
  8983  	s.FailureCode = &v
  8984  	return s
  8985  }
  8986  
  8987  // SetStatus sets the Status field's value.
  8988  func (s *CreateWorldGenerationJobOutput) SetStatus(v string) *CreateWorldGenerationJobOutput {
  8989  	s.Status = &v
  8990  	return s
  8991  }
  8992  
  8993  // SetTags sets the Tags field's value.
  8994  func (s *CreateWorldGenerationJobOutput) SetTags(v map[string]*string) *CreateWorldGenerationJobOutput {
  8995  	s.Tags = v
  8996  	return s
  8997  }
  8998  
  8999  // SetTemplate sets the Template field's value.
  9000  func (s *CreateWorldGenerationJobOutput) SetTemplate(v string) *CreateWorldGenerationJobOutput {
  9001  	s.Template = &v
  9002  	return s
  9003  }
  9004  
  9005  // SetWorldCount sets the WorldCount field's value.
  9006  func (s *CreateWorldGenerationJobOutput) SetWorldCount(v *WorldCount) *CreateWorldGenerationJobOutput {
  9007  	s.WorldCount = v
  9008  	return s
  9009  }
  9010  
  9011  // SetWorldTags sets the WorldTags field's value.
  9012  func (s *CreateWorldGenerationJobOutput) SetWorldTags(v map[string]*string) *CreateWorldGenerationJobOutput {
  9013  	s.WorldTags = v
  9014  	return s
  9015  }
  9016  
  9017  type CreateWorldTemplateInput struct {
  9018  	_ struct{} `type:"structure"`
  9019  
  9020  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  9021  	// of the request.
  9022  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
  9023  
  9024  	// The name of the world template.
  9025  	Name *string `locationName:"name" type:"string"`
  9026  
  9027  	// A map that contains tag keys and tag values that are attached to the world
  9028  	// template.
  9029  	Tags map[string]*string `locationName:"tags" type:"map"`
  9030  
  9031  	// The world template body.
  9032  	TemplateBody *string `locationName:"templateBody" min:"1" type:"string"`
  9033  
  9034  	// The location of the world template.
  9035  	TemplateLocation *TemplateLocation `locationName:"templateLocation" type:"structure"`
  9036  }
  9037  
  9038  // String returns the string representation.
  9039  //
  9040  // API parameter values that are decorated as "sensitive" in the API will not
  9041  // be included in the string output. The member name will be present, but the
  9042  // value will be replaced with "sensitive".
  9043  func (s CreateWorldTemplateInput) String() string {
  9044  	return awsutil.Prettify(s)
  9045  }
  9046  
  9047  // GoString returns the string representation.
  9048  //
  9049  // API parameter values that are decorated as "sensitive" in the API will not
  9050  // be included in the string output. The member name will be present, but the
  9051  // value will be replaced with "sensitive".
  9052  func (s CreateWorldTemplateInput) GoString() string {
  9053  	return s.String()
  9054  }
  9055  
  9056  // Validate inspects the fields of the type to determine if they are valid.
  9057  func (s *CreateWorldTemplateInput) Validate() error {
  9058  	invalidParams := request.ErrInvalidParams{Context: "CreateWorldTemplateInput"}
  9059  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
  9060  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
  9061  	}
  9062  	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
  9063  		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
  9064  	}
  9065  	if s.TemplateLocation != nil {
  9066  		if err := s.TemplateLocation.Validate(); err != nil {
  9067  			invalidParams.AddNested("TemplateLocation", err.(request.ErrInvalidParams))
  9068  		}
  9069  	}
  9070  
  9071  	if invalidParams.Len() > 0 {
  9072  		return invalidParams
  9073  	}
  9074  	return nil
  9075  }
  9076  
  9077  // SetClientRequestToken sets the ClientRequestToken field's value.
  9078  func (s *CreateWorldTemplateInput) SetClientRequestToken(v string) *CreateWorldTemplateInput {
  9079  	s.ClientRequestToken = &v
  9080  	return s
  9081  }
  9082  
  9083  // SetName sets the Name field's value.
  9084  func (s *CreateWorldTemplateInput) SetName(v string) *CreateWorldTemplateInput {
  9085  	s.Name = &v
  9086  	return s
  9087  }
  9088  
  9089  // SetTags sets the Tags field's value.
  9090  func (s *CreateWorldTemplateInput) SetTags(v map[string]*string) *CreateWorldTemplateInput {
  9091  	s.Tags = v
  9092  	return s
  9093  }
  9094  
  9095  // SetTemplateBody sets the TemplateBody field's value.
  9096  func (s *CreateWorldTemplateInput) SetTemplateBody(v string) *CreateWorldTemplateInput {
  9097  	s.TemplateBody = &v
  9098  	return s
  9099  }
  9100  
  9101  // SetTemplateLocation sets the TemplateLocation field's value.
  9102  func (s *CreateWorldTemplateInput) SetTemplateLocation(v *TemplateLocation) *CreateWorldTemplateInput {
  9103  	s.TemplateLocation = v
  9104  	return s
  9105  }
  9106  
  9107  type CreateWorldTemplateOutput struct {
  9108  	_ struct{} `type:"structure"`
  9109  
  9110  	// The Amazon Resource Name (ARN) of the world template.
  9111  	Arn *string `locationName:"arn" min:"1" type:"string"`
  9112  
  9113  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
  9114  	// of the request.
  9115  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
  9116  
  9117  	// The time, in milliseconds since the epoch, when the world template was created.
  9118  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  9119  
  9120  	// The name of the world template.
  9121  	Name *string `locationName:"name" type:"string"`
  9122  
  9123  	// A map that contains tag keys and tag values that are attached to the world
  9124  	// template.
  9125  	Tags map[string]*string `locationName:"tags" type:"map"`
  9126  }
  9127  
  9128  // String returns the string representation.
  9129  //
  9130  // API parameter values that are decorated as "sensitive" in the API will not
  9131  // be included in the string output. The member name will be present, but the
  9132  // value will be replaced with "sensitive".
  9133  func (s CreateWorldTemplateOutput) String() string {
  9134  	return awsutil.Prettify(s)
  9135  }
  9136  
  9137  // GoString returns the string representation.
  9138  //
  9139  // API parameter values that are decorated as "sensitive" in the API will not
  9140  // be included in the string output. The member name will be present, but the
  9141  // value will be replaced with "sensitive".
  9142  func (s CreateWorldTemplateOutput) GoString() string {
  9143  	return s.String()
  9144  }
  9145  
  9146  // SetArn sets the Arn field's value.
  9147  func (s *CreateWorldTemplateOutput) SetArn(v string) *CreateWorldTemplateOutput {
  9148  	s.Arn = &v
  9149  	return s
  9150  }
  9151  
  9152  // SetClientRequestToken sets the ClientRequestToken field's value.
  9153  func (s *CreateWorldTemplateOutput) SetClientRequestToken(v string) *CreateWorldTemplateOutput {
  9154  	s.ClientRequestToken = &v
  9155  	return s
  9156  }
  9157  
  9158  // SetCreatedAt sets the CreatedAt field's value.
  9159  func (s *CreateWorldTemplateOutput) SetCreatedAt(v time.Time) *CreateWorldTemplateOutput {
  9160  	s.CreatedAt = &v
  9161  	return s
  9162  }
  9163  
  9164  // SetName sets the Name field's value.
  9165  func (s *CreateWorldTemplateOutput) SetName(v string) *CreateWorldTemplateOutput {
  9166  	s.Name = &v
  9167  	return s
  9168  }
  9169  
  9170  // SetTags sets the Tags field's value.
  9171  func (s *CreateWorldTemplateOutput) SetTags(v map[string]*string) *CreateWorldTemplateOutput {
  9172  	s.Tags = v
  9173  	return s
  9174  }
  9175  
  9176  // Information about a data source.
  9177  type DataSource struct {
  9178  	_ struct{} `type:"structure"`
  9179  
  9180  	// The name of the data source.
  9181  	Name *string `locationName:"name" min:"1" type:"string"`
  9182  
  9183  	// The S3 bucket where the data files are located.
  9184  	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
  9185  
  9186  	// The list of S3 keys identifying the data source files.
  9187  	S3Keys []*S3KeyOutput `locationName:"s3Keys" type:"list"`
  9188  }
  9189  
  9190  // String returns the string representation.
  9191  //
  9192  // API parameter values that are decorated as "sensitive" in the API will not
  9193  // be included in the string output. The member name will be present, but the
  9194  // value will be replaced with "sensitive".
  9195  func (s DataSource) String() string {
  9196  	return awsutil.Prettify(s)
  9197  }
  9198  
  9199  // GoString returns the string representation.
  9200  //
  9201  // API parameter values that are decorated as "sensitive" in the API will not
  9202  // be included in the string output. The member name will be present, but the
  9203  // value will be replaced with "sensitive".
  9204  func (s DataSource) GoString() string {
  9205  	return s.String()
  9206  }
  9207  
  9208  // SetName sets the Name field's value.
  9209  func (s *DataSource) SetName(v string) *DataSource {
  9210  	s.Name = &v
  9211  	return s
  9212  }
  9213  
  9214  // SetS3Bucket sets the S3Bucket field's value.
  9215  func (s *DataSource) SetS3Bucket(v string) *DataSource {
  9216  	s.S3Bucket = &v
  9217  	return s
  9218  }
  9219  
  9220  // SetS3Keys sets the S3Keys field's value.
  9221  func (s *DataSource) SetS3Keys(v []*S3KeyOutput) *DataSource {
  9222  	s.S3Keys = v
  9223  	return s
  9224  }
  9225  
  9226  // Information about a data source.
  9227  type DataSourceConfig struct {
  9228  	_ struct{} `type:"structure"`
  9229  
  9230  	// The name of the data source.
  9231  	//
  9232  	// Name is a required field
  9233  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  9234  
  9235  	// The S3 bucket where the data files are located.
  9236  	//
  9237  	// S3Bucket is a required field
  9238  	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string" required:"true"`
  9239  
  9240  	// The list of S3 keys identifying the data source files.
  9241  	//
  9242  	// S3Keys is a required field
  9243  	S3Keys []*string `locationName:"s3Keys" min:"1" type:"list" required:"true"`
  9244  }
  9245  
  9246  // String returns the string representation.
  9247  //
  9248  // API parameter values that are decorated as "sensitive" in the API will not
  9249  // be included in the string output. The member name will be present, but the
  9250  // value will be replaced with "sensitive".
  9251  func (s DataSourceConfig) String() string {
  9252  	return awsutil.Prettify(s)
  9253  }
  9254  
  9255  // GoString returns the string representation.
  9256  //
  9257  // API parameter values that are decorated as "sensitive" in the API will not
  9258  // be included in the string output. The member name will be present, but the
  9259  // value will be replaced with "sensitive".
  9260  func (s DataSourceConfig) GoString() string {
  9261  	return s.String()
  9262  }
  9263  
  9264  // Validate inspects the fields of the type to determine if they are valid.
  9265  func (s *DataSourceConfig) Validate() error {
  9266  	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfig"}
  9267  	if s.Name == nil {
  9268  		invalidParams.Add(request.NewErrParamRequired("Name"))
  9269  	}
  9270  	if s.Name != nil && len(*s.Name) < 1 {
  9271  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  9272  	}
  9273  	if s.S3Bucket == nil {
  9274  		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
  9275  	}
  9276  	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
  9277  		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
  9278  	}
  9279  	if s.S3Keys == nil {
  9280  		invalidParams.Add(request.NewErrParamRequired("S3Keys"))
  9281  	}
  9282  	if s.S3Keys != nil && len(s.S3Keys) < 1 {
  9283  		invalidParams.Add(request.NewErrParamMinLen("S3Keys", 1))
  9284  	}
  9285  
  9286  	if invalidParams.Len() > 0 {
  9287  		return invalidParams
  9288  	}
  9289  	return nil
  9290  }
  9291  
  9292  // SetName sets the Name field's value.
  9293  func (s *DataSourceConfig) SetName(v string) *DataSourceConfig {
  9294  	s.Name = &v
  9295  	return s
  9296  }
  9297  
  9298  // SetS3Bucket sets the S3Bucket field's value.
  9299  func (s *DataSourceConfig) SetS3Bucket(v string) *DataSourceConfig {
  9300  	s.S3Bucket = &v
  9301  	return s
  9302  }
  9303  
  9304  // SetS3Keys sets the S3Keys field's value.
  9305  func (s *DataSourceConfig) SetS3Keys(v []*string) *DataSourceConfig {
  9306  	s.S3Keys = v
  9307  	return s
  9308  }
  9309  
  9310  type DeleteFleetInput struct {
  9311  	_ struct{} `type:"structure"`
  9312  
  9313  	// The Amazon Resource Name (ARN) of the fleet.
  9314  	//
  9315  	// Fleet is a required field
  9316  	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
  9317  }
  9318  
  9319  // String returns the string representation.
  9320  //
  9321  // API parameter values that are decorated as "sensitive" in the API will not
  9322  // be included in the string output. The member name will be present, but the
  9323  // value will be replaced with "sensitive".
  9324  func (s DeleteFleetInput) String() string {
  9325  	return awsutil.Prettify(s)
  9326  }
  9327  
  9328  // GoString returns the string representation.
  9329  //
  9330  // API parameter values that are decorated as "sensitive" in the API will not
  9331  // be included in the string output. The member name will be present, but the
  9332  // value will be replaced with "sensitive".
  9333  func (s DeleteFleetInput) GoString() string {
  9334  	return s.String()
  9335  }
  9336  
  9337  // Validate inspects the fields of the type to determine if they are valid.
  9338  func (s *DeleteFleetInput) Validate() error {
  9339  	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
  9340  	if s.Fleet == nil {
  9341  		invalidParams.Add(request.NewErrParamRequired("Fleet"))
  9342  	}
  9343  	if s.Fleet != nil && len(*s.Fleet) < 1 {
  9344  		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
  9345  	}
  9346  
  9347  	if invalidParams.Len() > 0 {
  9348  		return invalidParams
  9349  	}
  9350  	return nil
  9351  }
  9352  
  9353  // SetFleet sets the Fleet field's value.
  9354  func (s *DeleteFleetInput) SetFleet(v string) *DeleteFleetInput {
  9355  	s.Fleet = &v
  9356  	return s
  9357  }
  9358  
  9359  type DeleteFleetOutput struct {
  9360  	_ struct{} `type:"structure" nopayload:"true"`
  9361  }
  9362  
  9363  // String returns the string representation.
  9364  //
  9365  // API parameter values that are decorated as "sensitive" in the API will not
  9366  // be included in the string output. The member name will be present, but the
  9367  // value will be replaced with "sensitive".
  9368  func (s DeleteFleetOutput) String() string {
  9369  	return awsutil.Prettify(s)
  9370  }
  9371  
  9372  // GoString returns the string representation.
  9373  //
  9374  // API parameter values that are decorated as "sensitive" in the API will not
  9375  // be included in the string output. The member name will be present, but the
  9376  // value will be replaced with "sensitive".
  9377  func (s DeleteFleetOutput) GoString() string {
  9378  	return s.String()
  9379  }
  9380  
  9381  type DeleteRobotApplicationInput struct {
  9382  	_ struct{} `type:"structure"`
  9383  
  9384  	// The Amazon Resource Name (ARN) of the the robot application.
  9385  	//
  9386  	// Application is a required field
  9387  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
  9388  
  9389  	// The version of the robot application to delete.
  9390  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
  9391  }
  9392  
  9393  // String returns the string representation.
  9394  //
  9395  // API parameter values that are decorated as "sensitive" in the API will not
  9396  // be included in the string output. The member name will be present, but the
  9397  // value will be replaced with "sensitive".
  9398  func (s DeleteRobotApplicationInput) String() string {
  9399  	return awsutil.Prettify(s)
  9400  }
  9401  
  9402  // GoString returns the string representation.
  9403  //
  9404  // API parameter values that are decorated as "sensitive" in the API will not
  9405  // be included in the string output. The member name will be present, but the
  9406  // value will be replaced with "sensitive".
  9407  func (s DeleteRobotApplicationInput) GoString() string {
  9408  	return s.String()
  9409  }
  9410  
  9411  // Validate inspects the fields of the type to determine if they are valid.
  9412  func (s *DeleteRobotApplicationInput) Validate() error {
  9413  	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotApplicationInput"}
  9414  	if s.Application == nil {
  9415  		invalidParams.Add(request.NewErrParamRequired("Application"))
  9416  	}
  9417  	if s.Application != nil && len(*s.Application) < 1 {
  9418  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
  9419  	}
  9420  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
  9421  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
  9422  	}
  9423  
  9424  	if invalidParams.Len() > 0 {
  9425  		return invalidParams
  9426  	}
  9427  	return nil
  9428  }
  9429  
  9430  // SetApplication sets the Application field's value.
  9431  func (s *DeleteRobotApplicationInput) SetApplication(v string) *DeleteRobotApplicationInput {
  9432  	s.Application = &v
  9433  	return s
  9434  }
  9435  
  9436  // SetApplicationVersion sets the ApplicationVersion field's value.
  9437  func (s *DeleteRobotApplicationInput) SetApplicationVersion(v string) *DeleteRobotApplicationInput {
  9438  	s.ApplicationVersion = &v
  9439  	return s
  9440  }
  9441  
  9442  type DeleteRobotApplicationOutput struct {
  9443  	_ struct{} `type:"structure" nopayload:"true"`
  9444  }
  9445  
  9446  // String returns the string representation.
  9447  //
  9448  // API parameter values that are decorated as "sensitive" in the API will not
  9449  // be included in the string output. The member name will be present, but the
  9450  // value will be replaced with "sensitive".
  9451  func (s DeleteRobotApplicationOutput) String() string {
  9452  	return awsutil.Prettify(s)
  9453  }
  9454  
  9455  // GoString returns the string representation.
  9456  //
  9457  // API parameter values that are decorated as "sensitive" in the API will not
  9458  // be included in the string output. The member name will be present, but the
  9459  // value will be replaced with "sensitive".
  9460  func (s DeleteRobotApplicationOutput) GoString() string {
  9461  	return s.String()
  9462  }
  9463  
  9464  type DeleteRobotInput struct {
  9465  	_ struct{} `type:"structure"`
  9466  
  9467  	// The Amazon Resource Name (ARN) of the robot.
  9468  	//
  9469  	// Robot is a required field
  9470  	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
  9471  }
  9472  
  9473  // String returns the string representation.
  9474  //
  9475  // API parameter values that are decorated as "sensitive" in the API will not
  9476  // be included in the string output. The member name will be present, but the
  9477  // value will be replaced with "sensitive".
  9478  func (s DeleteRobotInput) String() string {
  9479  	return awsutil.Prettify(s)
  9480  }
  9481  
  9482  // GoString returns the string representation.
  9483  //
  9484  // API parameter values that are decorated as "sensitive" in the API will not
  9485  // be included in the string output. The member name will be present, but the
  9486  // value will be replaced with "sensitive".
  9487  func (s DeleteRobotInput) GoString() string {
  9488  	return s.String()
  9489  }
  9490  
  9491  // Validate inspects the fields of the type to determine if they are valid.
  9492  func (s *DeleteRobotInput) Validate() error {
  9493  	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotInput"}
  9494  	if s.Robot == nil {
  9495  		invalidParams.Add(request.NewErrParamRequired("Robot"))
  9496  	}
  9497  	if s.Robot != nil && len(*s.Robot) < 1 {
  9498  		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
  9499  	}
  9500  
  9501  	if invalidParams.Len() > 0 {
  9502  		return invalidParams
  9503  	}
  9504  	return nil
  9505  }
  9506  
  9507  // SetRobot sets the Robot field's value.
  9508  func (s *DeleteRobotInput) SetRobot(v string) *DeleteRobotInput {
  9509  	s.Robot = &v
  9510  	return s
  9511  }
  9512  
  9513  type DeleteRobotOutput struct {
  9514  	_ struct{} `type:"structure" nopayload:"true"`
  9515  }
  9516  
  9517  // String returns the string representation.
  9518  //
  9519  // API parameter values that are decorated as "sensitive" in the API will not
  9520  // be included in the string output. The member name will be present, but the
  9521  // value will be replaced with "sensitive".
  9522  func (s DeleteRobotOutput) String() string {
  9523  	return awsutil.Prettify(s)
  9524  }
  9525  
  9526  // GoString returns the string representation.
  9527  //
  9528  // API parameter values that are decorated as "sensitive" in the API will not
  9529  // be included in the string output. The member name will be present, but the
  9530  // value will be replaced with "sensitive".
  9531  func (s DeleteRobotOutput) GoString() string {
  9532  	return s.String()
  9533  }
  9534  
  9535  type DeleteSimulationApplicationInput struct {
  9536  	_ struct{} `type:"structure"`
  9537  
  9538  	// The application information for the simulation application to delete.
  9539  	//
  9540  	// Application is a required field
  9541  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
  9542  
  9543  	// The version of the simulation application to delete.
  9544  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
  9545  }
  9546  
  9547  // String returns the string representation.
  9548  //
  9549  // API parameter values that are decorated as "sensitive" in the API will not
  9550  // be included in the string output. The member name will be present, but the
  9551  // value will be replaced with "sensitive".
  9552  func (s DeleteSimulationApplicationInput) String() string {
  9553  	return awsutil.Prettify(s)
  9554  }
  9555  
  9556  // GoString returns the string representation.
  9557  //
  9558  // API parameter values that are decorated as "sensitive" in the API will not
  9559  // be included in the string output. The member name will be present, but the
  9560  // value will be replaced with "sensitive".
  9561  func (s DeleteSimulationApplicationInput) GoString() string {
  9562  	return s.String()
  9563  }
  9564  
  9565  // Validate inspects the fields of the type to determine if they are valid.
  9566  func (s *DeleteSimulationApplicationInput) Validate() error {
  9567  	invalidParams := request.ErrInvalidParams{Context: "DeleteSimulationApplicationInput"}
  9568  	if s.Application == nil {
  9569  		invalidParams.Add(request.NewErrParamRequired("Application"))
  9570  	}
  9571  	if s.Application != nil && len(*s.Application) < 1 {
  9572  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
  9573  	}
  9574  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
  9575  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
  9576  	}
  9577  
  9578  	if invalidParams.Len() > 0 {
  9579  		return invalidParams
  9580  	}
  9581  	return nil
  9582  }
  9583  
  9584  // SetApplication sets the Application field's value.
  9585  func (s *DeleteSimulationApplicationInput) SetApplication(v string) *DeleteSimulationApplicationInput {
  9586  	s.Application = &v
  9587  	return s
  9588  }
  9589  
  9590  // SetApplicationVersion sets the ApplicationVersion field's value.
  9591  func (s *DeleteSimulationApplicationInput) SetApplicationVersion(v string) *DeleteSimulationApplicationInput {
  9592  	s.ApplicationVersion = &v
  9593  	return s
  9594  }
  9595  
  9596  type DeleteSimulationApplicationOutput struct {
  9597  	_ struct{} `type:"structure" nopayload:"true"`
  9598  }
  9599  
  9600  // String returns the string representation.
  9601  //
  9602  // API parameter values that are decorated as "sensitive" in the API will not
  9603  // be included in the string output. The member name will be present, but the
  9604  // value will be replaced with "sensitive".
  9605  func (s DeleteSimulationApplicationOutput) String() string {
  9606  	return awsutil.Prettify(s)
  9607  }
  9608  
  9609  // GoString returns the string representation.
  9610  //
  9611  // API parameter values that are decorated as "sensitive" in the API will not
  9612  // be included in the string output. The member name will be present, but the
  9613  // value will be replaced with "sensitive".
  9614  func (s DeleteSimulationApplicationOutput) GoString() string {
  9615  	return s.String()
  9616  }
  9617  
  9618  type DeleteWorldTemplateInput struct {
  9619  	_ struct{} `type:"structure"`
  9620  
  9621  	// The Amazon Resource Name (arn) of the world template you want to delete.
  9622  	//
  9623  	// Template is a required field
  9624  	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
  9625  }
  9626  
  9627  // String returns the string representation.
  9628  //
  9629  // API parameter values that are decorated as "sensitive" in the API will not
  9630  // be included in the string output. The member name will be present, but the
  9631  // value will be replaced with "sensitive".
  9632  func (s DeleteWorldTemplateInput) String() string {
  9633  	return awsutil.Prettify(s)
  9634  }
  9635  
  9636  // GoString returns the string representation.
  9637  //
  9638  // API parameter values that are decorated as "sensitive" in the API will not
  9639  // be included in the string output. The member name will be present, but the
  9640  // value will be replaced with "sensitive".
  9641  func (s DeleteWorldTemplateInput) GoString() string {
  9642  	return s.String()
  9643  }
  9644  
  9645  // Validate inspects the fields of the type to determine if they are valid.
  9646  func (s *DeleteWorldTemplateInput) Validate() error {
  9647  	invalidParams := request.ErrInvalidParams{Context: "DeleteWorldTemplateInput"}
  9648  	if s.Template == nil {
  9649  		invalidParams.Add(request.NewErrParamRequired("Template"))
  9650  	}
  9651  	if s.Template != nil && len(*s.Template) < 1 {
  9652  		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
  9653  	}
  9654  
  9655  	if invalidParams.Len() > 0 {
  9656  		return invalidParams
  9657  	}
  9658  	return nil
  9659  }
  9660  
  9661  // SetTemplate sets the Template field's value.
  9662  func (s *DeleteWorldTemplateInput) SetTemplate(v string) *DeleteWorldTemplateInput {
  9663  	s.Template = &v
  9664  	return s
  9665  }
  9666  
  9667  type DeleteWorldTemplateOutput struct {
  9668  	_ struct{} `type:"structure" nopayload:"true"`
  9669  }
  9670  
  9671  // String returns the string representation.
  9672  //
  9673  // API parameter values that are decorated as "sensitive" in the API will not
  9674  // be included in the string output. The member name will be present, but the
  9675  // value will be replaced with "sensitive".
  9676  func (s DeleteWorldTemplateOutput) String() string {
  9677  	return awsutil.Prettify(s)
  9678  }
  9679  
  9680  // GoString returns the string representation.
  9681  //
  9682  // API parameter values that are decorated as "sensitive" in the API will not
  9683  // be included in the string output. The member name will be present, but the
  9684  // value will be replaced with "sensitive".
  9685  func (s DeleteWorldTemplateOutput) GoString() string {
  9686  	return s.String()
  9687  }
  9688  
  9689  // Information about a deployment application configuration.
  9690  type DeploymentApplicationConfig struct {
  9691  	_ struct{} `type:"structure"`
  9692  
  9693  	// The Amazon Resource Name (ARN) of the robot application.
  9694  	//
  9695  	// Application is a required field
  9696  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
  9697  
  9698  	// The version of the application.
  9699  	//
  9700  	// ApplicationVersion is a required field
  9701  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string" required:"true"`
  9702  
  9703  	// The launch configuration.
  9704  	//
  9705  	// LaunchConfig is a required field
  9706  	LaunchConfig *DeploymentLaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
  9707  }
  9708  
  9709  // String returns the string representation.
  9710  //
  9711  // API parameter values that are decorated as "sensitive" in the API will not
  9712  // be included in the string output. The member name will be present, but the
  9713  // value will be replaced with "sensitive".
  9714  func (s DeploymentApplicationConfig) String() string {
  9715  	return awsutil.Prettify(s)
  9716  }
  9717  
  9718  // GoString returns the string representation.
  9719  //
  9720  // API parameter values that are decorated as "sensitive" in the API will not
  9721  // be included in the string output. The member name will be present, but the
  9722  // value will be replaced with "sensitive".
  9723  func (s DeploymentApplicationConfig) GoString() string {
  9724  	return s.String()
  9725  }
  9726  
  9727  // Validate inspects the fields of the type to determine if they are valid.
  9728  func (s *DeploymentApplicationConfig) Validate() error {
  9729  	invalidParams := request.ErrInvalidParams{Context: "DeploymentApplicationConfig"}
  9730  	if s.Application == nil {
  9731  		invalidParams.Add(request.NewErrParamRequired("Application"))
  9732  	}
  9733  	if s.Application != nil && len(*s.Application) < 1 {
  9734  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
  9735  	}
  9736  	if s.ApplicationVersion == nil {
  9737  		invalidParams.Add(request.NewErrParamRequired("ApplicationVersion"))
  9738  	}
  9739  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
  9740  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
  9741  	}
  9742  	if s.LaunchConfig == nil {
  9743  		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
  9744  	}
  9745  	if s.LaunchConfig != nil {
  9746  		if err := s.LaunchConfig.Validate(); err != nil {
  9747  			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
  9748  		}
  9749  	}
  9750  
  9751  	if invalidParams.Len() > 0 {
  9752  		return invalidParams
  9753  	}
  9754  	return nil
  9755  }
  9756  
  9757  // SetApplication sets the Application field's value.
  9758  func (s *DeploymentApplicationConfig) SetApplication(v string) *DeploymentApplicationConfig {
  9759  	s.Application = &v
  9760  	return s
  9761  }
  9762  
  9763  // SetApplicationVersion sets the ApplicationVersion field's value.
  9764  func (s *DeploymentApplicationConfig) SetApplicationVersion(v string) *DeploymentApplicationConfig {
  9765  	s.ApplicationVersion = &v
  9766  	return s
  9767  }
  9768  
  9769  // SetLaunchConfig sets the LaunchConfig field's value.
  9770  func (s *DeploymentApplicationConfig) SetLaunchConfig(v *DeploymentLaunchConfig) *DeploymentApplicationConfig {
  9771  	s.LaunchConfig = v
  9772  	return s
  9773  }
  9774  
  9775  // Information about a deployment configuration.
  9776  type DeploymentConfig struct {
  9777  	_ struct{} `type:"structure"`
  9778  
  9779  	// The percentage of robots receiving the deployment at the same time.
  9780  	ConcurrentDeploymentPercentage *int64 `locationName:"concurrentDeploymentPercentage" min:"1" type:"integer"`
  9781  
  9782  	// The download condition file.
  9783  	DownloadConditionFile *S3Object `locationName:"downloadConditionFile" type:"structure"`
  9784  
  9785  	// The percentage of deployments that need to fail before stopping deployment.
  9786  	FailureThresholdPercentage *int64 `locationName:"failureThresholdPercentage" min:"1" type:"integer"`
  9787  
  9788  	// The amount of time, in seconds, to wait for deployment to a single robot
  9789  	// to complete. Choose a time between 1 minute and 7 days. The default is 5
  9790  	// hours.
  9791  	RobotDeploymentTimeoutInSeconds *int64 `locationName:"robotDeploymentTimeoutInSeconds" type:"long"`
  9792  }
  9793  
  9794  // String returns the string representation.
  9795  //
  9796  // API parameter values that are decorated as "sensitive" in the API will not
  9797  // be included in the string output. The member name will be present, but the
  9798  // value will be replaced with "sensitive".
  9799  func (s DeploymentConfig) String() string {
  9800  	return awsutil.Prettify(s)
  9801  }
  9802  
  9803  // GoString returns the string representation.
  9804  //
  9805  // API parameter values that are decorated as "sensitive" in the API will not
  9806  // be included in the string output. The member name will be present, but the
  9807  // value will be replaced with "sensitive".
  9808  func (s DeploymentConfig) GoString() string {
  9809  	return s.String()
  9810  }
  9811  
  9812  // Validate inspects the fields of the type to determine if they are valid.
  9813  func (s *DeploymentConfig) Validate() error {
  9814  	invalidParams := request.ErrInvalidParams{Context: "DeploymentConfig"}
  9815  	if s.ConcurrentDeploymentPercentage != nil && *s.ConcurrentDeploymentPercentage < 1 {
  9816  		invalidParams.Add(request.NewErrParamMinValue("ConcurrentDeploymentPercentage", 1))
  9817  	}
  9818  	if s.FailureThresholdPercentage != nil && *s.FailureThresholdPercentage < 1 {
  9819  		invalidParams.Add(request.NewErrParamMinValue("FailureThresholdPercentage", 1))
  9820  	}
  9821  	if s.DownloadConditionFile != nil {
  9822  		if err := s.DownloadConditionFile.Validate(); err != nil {
  9823  			invalidParams.AddNested("DownloadConditionFile", err.(request.ErrInvalidParams))
  9824  		}
  9825  	}
  9826  
  9827  	if invalidParams.Len() > 0 {
  9828  		return invalidParams
  9829  	}
  9830  	return nil
  9831  }
  9832  
  9833  // SetConcurrentDeploymentPercentage sets the ConcurrentDeploymentPercentage field's value.
  9834  func (s *DeploymentConfig) SetConcurrentDeploymentPercentage(v int64) *DeploymentConfig {
  9835  	s.ConcurrentDeploymentPercentage = &v
  9836  	return s
  9837  }
  9838  
  9839  // SetDownloadConditionFile sets the DownloadConditionFile field's value.
  9840  func (s *DeploymentConfig) SetDownloadConditionFile(v *S3Object) *DeploymentConfig {
  9841  	s.DownloadConditionFile = v
  9842  	return s
  9843  }
  9844  
  9845  // SetFailureThresholdPercentage sets the FailureThresholdPercentage field's value.
  9846  func (s *DeploymentConfig) SetFailureThresholdPercentage(v int64) *DeploymentConfig {
  9847  	s.FailureThresholdPercentage = &v
  9848  	return s
  9849  }
  9850  
  9851  // SetRobotDeploymentTimeoutInSeconds sets the RobotDeploymentTimeoutInSeconds field's value.
  9852  func (s *DeploymentConfig) SetRobotDeploymentTimeoutInSeconds(v int64) *DeploymentConfig {
  9853  	s.RobotDeploymentTimeoutInSeconds = &v
  9854  	return s
  9855  }
  9856  
  9857  // Information about a deployment job.
  9858  type DeploymentJob struct {
  9859  	_ struct{} `type:"structure"`
  9860  
  9861  	// The Amazon Resource Name (ARN) of the deployment job.
  9862  	Arn *string `locationName:"arn" min:"1" type:"string"`
  9863  
  9864  	// The time, in milliseconds since the epoch, when the deployment job was created.
  9865  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
  9866  
  9867  	// The deployment application configuration.
  9868  	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
  9869  
  9870  	// The deployment configuration.
  9871  	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
  9872  
  9873  	// The deployment job failure code.
  9874  	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
  9875  
  9876  	// A short description of the reason why the deployment job failed.
  9877  	FailureReason *string `locationName:"failureReason" type:"string"`
  9878  
  9879  	// The Amazon Resource Name (ARN) of the fleet.
  9880  	Fleet *string `locationName:"fleet" min:"1" type:"string"`
  9881  
  9882  	// The status of the deployment job.
  9883  	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
  9884  }
  9885  
  9886  // String returns the string representation.
  9887  //
  9888  // API parameter values that are decorated as "sensitive" in the API will not
  9889  // be included in the string output. The member name will be present, but the
  9890  // value will be replaced with "sensitive".
  9891  func (s DeploymentJob) String() string {
  9892  	return awsutil.Prettify(s)
  9893  }
  9894  
  9895  // GoString returns the string representation.
  9896  //
  9897  // API parameter values that are decorated as "sensitive" in the API will not
  9898  // be included in the string output. The member name will be present, but the
  9899  // value will be replaced with "sensitive".
  9900  func (s DeploymentJob) GoString() string {
  9901  	return s.String()
  9902  }
  9903  
  9904  // SetArn sets the Arn field's value.
  9905  func (s *DeploymentJob) SetArn(v string) *DeploymentJob {
  9906  	s.Arn = &v
  9907  	return s
  9908  }
  9909  
  9910  // SetCreatedAt sets the CreatedAt field's value.
  9911  func (s *DeploymentJob) SetCreatedAt(v time.Time) *DeploymentJob {
  9912  	s.CreatedAt = &v
  9913  	return s
  9914  }
  9915  
  9916  // SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
  9917  func (s *DeploymentJob) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DeploymentJob {
  9918  	s.DeploymentApplicationConfigs = v
  9919  	return s
  9920  }
  9921  
  9922  // SetDeploymentConfig sets the DeploymentConfig field's value.
  9923  func (s *DeploymentJob) SetDeploymentConfig(v *DeploymentConfig) *DeploymentJob {
  9924  	s.DeploymentConfig = v
  9925  	return s
  9926  }
  9927  
  9928  // SetFailureCode sets the FailureCode field's value.
  9929  func (s *DeploymentJob) SetFailureCode(v string) *DeploymentJob {
  9930  	s.FailureCode = &v
  9931  	return s
  9932  }
  9933  
  9934  // SetFailureReason sets the FailureReason field's value.
  9935  func (s *DeploymentJob) SetFailureReason(v string) *DeploymentJob {
  9936  	s.FailureReason = &v
  9937  	return s
  9938  }
  9939  
  9940  // SetFleet sets the Fleet field's value.
  9941  func (s *DeploymentJob) SetFleet(v string) *DeploymentJob {
  9942  	s.Fleet = &v
  9943  	return s
  9944  }
  9945  
  9946  // SetStatus sets the Status field's value.
  9947  func (s *DeploymentJob) SetStatus(v string) *DeploymentJob {
  9948  	s.Status = &v
  9949  	return s
  9950  }
  9951  
  9952  // Configuration information for a deployment launch.
  9953  type DeploymentLaunchConfig struct {
  9954  	_ struct{} `type:"structure"`
  9955  
  9956  	// An array of key/value pairs specifying environment variables for the robot
  9957  	// application
  9958  	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
  9959  
  9960  	// The launch file name.
  9961  	//
  9962  	// LaunchFile is a required field
  9963  	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
  9964  
  9965  	// The package name.
  9966  	//
  9967  	// PackageName is a required field
  9968  	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
  9969  
  9970  	// The deployment post-launch file. This file will be executed after the launch
  9971  	// file.
  9972  	PostLaunchFile *string `locationName:"postLaunchFile" min:"1" type:"string"`
  9973  
  9974  	// The deployment pre-launch file. This file will be executed prior to the launch
  9975  	// file.
  9976  	PreLaunchFile *string `locationName:"preLaunchFile" min:"1" type:"string"`
  9977  }
  9978  
  9979  // String returns the string representation.
  9980  //
  9981  // API parameter values that are decorated as "sensitive" in the API will not
  9982  // be included in the string output. The member name will be present, but the
  9983  // value will be replaced with "sensitive".
  9984  func (s DeploymentLaunchConfig) String() string {
  9985  	return awsutil.Prettify(s)
  9986  }
  9987  
  9988  // GoString returns the string representation.
  9989  //
  9990  // API parameter values that are decorated as "sensitive" in the API will not
  9991  // be included in the string output. The member name will be present, but the
  9992  // value will be replaced with "sensitive".
  9993  func (s DeploymentLaunchConfig) GoString() string {
  9994  	return s.String()
  9995  }
  9996  
  9997  // Validate inspects the fields of the type to determine if they are valid.
  9998  func (s *DeploymentLaunchConfig) Validate() error {
  9999  	invalidParams := request.ErrInvalidParams{Context: "DeploymentLaunchConfig"}
 10000  	if s.LaunchFile == nil {
 10001  		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
 10002  	}
 10003  	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
 10004  		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
 10005  	}
 10006  	if s.PackageName == nil {
 10007  		invalidParams.Add(request.NewErrParamRequired("PackageName"))
 10008  	}
 10009  	if s.PackageName != nil && len(*s.PackageName) < 1 {
 10010  		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
 10011  	}
 10012  	if s.PostLaunchFile != nil && len(*s.PostLaunchFile) < 1 {
 10013  		invalidParams.Add(request.NewErrParamMinLen("PostLaunchFile", 1))
 10014  	}
 10015  	if s.PreLaunchFile != nil && len(*s.PreLaunchFile) < 1 {
 10016  		invalidParams.Add(request.NewErrParamMinLen("PreLaunchFile", 1))
 10017  	}
 10018  
 10019  	if invalidParams.Len() > 0 {
 10020  		return invalidParams
 10021  	}
 10022  	return nil
 10023  }
 10024  
 10025  // SetEnvironmentVariables sets the EnvironmentVariables field's value.
 10026  func (s *DeploymentLaunchConfig) SetEnvironmentVariables(v map[string]*string) *DeploymentLaunchConfig {
 10027  	s.EnvironmentVariables = v
 10028  	return s
 10029  }
 10030  
 10031  // SetLaunchFile sets the LaunchFile field's value.
 10032  func (s *DeploymentLaunchConfig) SetLaunchFile(v string) *DeploymentLaunchConfig {
 10033  	s.LaunchFile = &v
 10034  	return s
 10035  }
 10036  
 10037  // SetPackageName sets the PackageName field's value.
 10038  func (s *DeploymentLaunchConfig) SetPackageName(v string) *DeploymentLaunchConfig {
 10039  	s.PackageName = &v
 10040  	return s
 10041  }
 10042  
 10043  // SetPostLaunchFile sets the PostLaunchFile field's value.
 10044  func (s *DeploymentLaunchConfig) SetPostLaunchFile(v string) *DeploymentLaunchConfig {
 10045  	s.PostLaunchFile = &v
 10046  	return s
 10047  }
 10048  
 10049  // SetPreLaunchFile sets the PreLaunchFile field's value.
 10050  func (s *DeploymentLaunchConfig) SetPreLaunchFile(v string) *DeploymentLaunchConfig {
 10051  	s.PreLaunchFile = &v
 10052  	return s
 10053  }
 10054  
 10055  type DeregisterRobotInput struct {
 10056  	_ struct{} `type:"structure"`
 10057  
 10058  	// The Amazon Resource Name (ARN) of the fleet.
 10059  	//
 10060  	// Fleet is a required field
 10061  	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
 10062  
 10063  	// The Amazon Resource Name (ARN) of the robot.
 10064  	//
 10065  	// Robot is a required field
 10066  	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
 10067  }
 10068  
 10069  // String returns the string representation.
 10070  //
 10071  // API parameter values that are decorated as "sensitive" in the API will not
 10072  // be included in the string output. The member name will be present, but the
 10073  // value will be replaced with "sensitive".
 10074  func (s DeregisterRobotInput) String() string {
 10075  	return awsutil.Prettify(s)
 10076  }
 10077  
 10078  // GoString returns the string representation.
 10079  //
 10080  // API parameter values that are decorated as "sensitive" in the API will not
 10081  // be included in the string output. The member name will be present, but the
 10082  // value will be replaced with "sensitive".
 10083  func (s DeregisterRobotInput) GoString() string {
 10084  	return s.String()
 10085  }
 10086  
 10087  // Validate inspects the fields of the type to determine if they are valid.
 10088  func (s *DeregisterRobotInput) Validate() error {
 10089  	invalidParams := request.ErrInvalidParams{Context: "DeregisterRobotInput"}
 10090  	if s.Fleet == nil {
 10091  		invalidParams.Add(request.NewErrParamRequired("Fleet"))
 10092  	}
 10093  	if s.Fleet != nil && len(*s.Fleet) < 1 {
 10094  		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
 10095  	}
 10096  	if s.Robot == nil {
 10097  		invalidParams.Add(request.NewErrParamRequired("Robot"))
 10098  	}
 10099  	if s.Robot != nil && len(*s.Robot) < 1 {
 10100  		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
 10101  	}
 10102  
 10103  	if invalidParams.Len() > 0 {
 10104  		return invalidParams
 10105  	}
 10106  	return nil
 10107  }
 10108  
 10109  // SetFleet sets the Fleet field's value.
 10110  func (s *DeregisterRobotInput) SetFleet(v string) *DeregisterRobotInput {
 10111  	s.Fleet = &v
 10112  	return s
 10113  }
 10114  
 10115  // SetRobot sets the Robot field's value.
 10116  func (s *DeregisterRobotInput) SetRobot(v string) *DeregisterRobotInput {
 10117  	s.Robot = &v
 10118  	return s
 10119  }
 10120  
 10121  type DeregisterRobotOutput struct {
 10122  	_ struct{} `type:"structure"`
 10123  
 10124  	// The Amazon Resource Name (ARN) of the fleet.
 10125  	Fleet *string `locationName:"fleet" min:"1" type:"string"`
 10126  
 10127  	// The Amazon Resource Name (ARN) of the robot.
 10128  	Robot *string `locationName:"robot" min:"1" type:"string"`
 10129  }
 10130  
 10131  // String returns the string representation.
 10132  //
 10133  // API parameter values that are decorated as "sensitive" in the API will not
 10134  // be included in the string output. The member name will be present, but the
 10135  // value will be replaced with "sensitive".
 10136  func (s DeregisterRobotOutput) String() string {
 10137  	return awsutil.Prettify(s)
 10138  }
 10139  
 10140  // GoString returns the string representation.
 10141  //
 10142  // API parameter values that are decorated as "sensitive" in the API will not
 10143  // be included in the string output. The member name will be present, but the
 10144  // value will be replaced with "sensitive".
 10145  func (s DeregisterRobotOutput) GoString() string {
 10146  	return s.String()
 10147  }
 10148  
 10149  // SetFleet sets the Fleet field's value.
 10150  func (s *DeregisterRobotOutput) SetFleet(v string) *DeregisterRobotOutput {
 10151  	s.Fleet = &v
 10152  	return s
 10153  }
 10154  
 10155  // SetRobot sets the Robot field's value.
 10156  func (s *DeregisterRobotOutput) SetRobot(v string) *DeregisterRobotOutput {
 10157  	s.Robot = &v
 10158  	return s
 10159  }
 10160  
 10161  type DescribeDeploymentJobInput struct {
 10162  	_ struct{} `type:"structure"`
 10163  
 10164  	// The Amazon Resource Name (ARN) of the deployment job.
 10165  	//
 10166  	// Job is a required field
 10167  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
 10168  }
 10169  
 10170  // String returns the string representation.
 10171  //
 10172  // API parameter values that are decorated as "sensitive" in the API will not
 10173  // be included in the string output. The member name will be present, but the
 10174  // value will be replaced with "sensitive".
 10175  func (s DescribeDeploymentJobInput) String() string {
 10176  	return awsutil.Prettify(s)
 10177  }
 10178  
 10179  // GoString returns the string representation.
 10180  //
 10181  // API parameter values that are decorated as "sensitive" in the API will not
 10182  // be included in the string output. The member name will be present, but the
 10183  // value will be replaced with "sensitive".
 10184  func (s DescribeDeploymentJobInput) GoString() string {
 10185  	return s.String()
 10186  }
 10187  
 10188  // Validate inspects the fields of the type to determine if they are valid.
 10189  func (s *DescribeDeploymentJobInput) Validate() error {
 10190  	invalidParams := request.ErrInvalidParams{Context: "DescribeDeploymentJobInput"}
 10191  	if s.Job == nil {
 10192  		invalidParams.Add(request.NewErrParamRequired("Job"))
 10193  	}
 10194  	if s.Job != nil && len(*s.Job) < 1 {
 10195  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
 10196  	}
 10197  
 10198  	if invalidParams.Len() > 0 {
 10199  		return invalidParams
 10200  	}
 10201  	return nil
 10202  }
 10203  
 10204  // SetJob sets the Job field's value.
 10205  func (s *DescribeDeploymentJobInput) SetJob(v string) *DescribeDeploymentJobInput {
 10206  	s.Job = &v
 10207  	return s
 10208  }
 10209  
 10210  type DescribeDeploymentJobOutput struct {
 10211  	_ struct{} `type:"structure"`
 10212  
 10213  	// The Amazon Resource Name (ARN) of the deployment job.
 10214  	Arn *string `locationName:"arn" min:"1" type:"string"`
 10215  
 10216  	// The time, in milliseconds since the epoch, when the deployment job was created.
 10217  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 10218  
 10219  	// The deployment application configuration.
 10220  	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
 10221  
 10222  	// The deployment configuration.
 10223  	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
 10224  
 10225  	// The deployment job failure code.
 10226  	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
 10227  
 10228  	// A short description of the reason why the deployment job failed.
 10229  	FailureReason *string `locationName:"failureReason" type:"string"`
 10230  
 10231  	// The Amazon Resource Name (ARN) of the fleet.
 10232  	Fleet *string `locationName:"fleet" min:"1" type:"string"`
 10233  
 10234  	// A list of robot deployment summaries.
 10235  	RobotDeploymentSummary []*RobotDeployment `locationName:"robotDeploymentSummary" type:"list"`
 10236  
 10237  	// The status of the deployment job.
 10238  	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
 10239  
 10240  	// The list of all tags added to the specified deployment job.
 10241  	Tags map[string]*string `locationName:"tags" type:"map"`
 10242  }
 10243  
 10244  // String returns the string representation.
 10245  //
 10246  // API parameter values that are decorated as "sensitive" in the API will not
 10247  // be included in the string output. The member name will be present, but the
 10248  // value will be replaced with "sensitive".
 10249  func (s DescribeDeploymentJobOutput) String() string {
 10250  	return awsutil.Prettify(s)
 10251  }
 10252  
 10253  // GoString returns the string representation.
 10254  //
 10255  // API parameter values that are decorated as "sensitive" in the API will not
 10256  // be included in the string output. The member name will be present, but the
 10257  // value will be replaced with "sensitive".
 10258  func (s DescribeDeploymentJobOutput) GoString() string {
 10259  	return s.String()
 10260  }
 10261  
 10262  // SetArn sets the Arn field's value.
 10263  func (s *DescribeDeploymentJobOutput) SetArn(v string) *DescribeDeploymentJobOutput {
 10264  	s.Arn = &v
 10265  	return s
 10266  }
 10267  
 10268  // SetCreatedAt sets the CreatedAt field's value.
 10269  func (s *DescribeDeploymentJobOutput) SetCreatedAt(v time.Time) *DescribeDeploymentJobOutput {
 10270  	s.CreatedAt = &v
 10271  	return s
 10272  }
 10273  
 10274  // SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
 10275  func (s *DescribeDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DescribeDeploymentJobOutput {
 10276  	s.DeploymentApplicationConfigs = v
 10277  	return s
 10278  }
 10279  
 10280  // SetDeploymentConfig sets the DeploymentConfig field's value.
 10281  func (s *DescribeDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *DescribeDeploymentJobOutput {
 10282  	s.DeploymentConfig = v
 10283  	return s
 10284  }
 10285  
 10286  // SetFailureCode sets the FailureCode field's value.
 10287  func (s *DescribeDeploymentJobOutput) SetFailureCode(v string) *DescribeDeploymentJobOutput {
 10288  	s.FailureCode = &v
 10289  	return s
 10290  }
 10291  
 10292  // SetFailureReason sets the FailureReason field's value.
 10293  func (s *DescribeDeploymentJobOutput) SetFailureReason(v string) *DescribeDeploymentJobOutput {
 10294  	s.FailureReason = &v
 10295  	return s
 10296  }
 10297  
 10298  // SetFleet sets the Fleet field's value.
 10299  func (s *DescribeDeploymentJobOutput) SetFleet(v string) *DescribeDeploymentJobOutput {
 10300  	s.Fleet = &v
 10301  	return s
 10302  }
 10303  
 10304  // SetRobotDeploymentSummary sets the RobotDeploymentSummary field's value.
 10305  func (s *DescribeDeploymentJobOutput) SetRobotDeploymentSummary(v []*RobotDeployment) *DescribeDeploymentJobOutput {
 10306  	s.RobotDeploymentSummary = v
 10307  	return s
 10308  }
 10309  
 10310  // SetStatus sets the Status field's value.
 10311  func (s *DescribeDeploymentJobOutput) SetStatus(v string) *DescribeDeploymentJobOutput {
 10312  	s.Status = &v
 10313  	return s
 10314  }
 10315  
 10316  // SetTags sets the Tags field's value.
 10317  func (s *DescribeDeploymentJobOutput) SetTags(v map[string]*string) *DescribeDeploymentJobOutput {
 10318  	s.Tags = v
 10319  	return s
 10320  }
 10321  
 10322  type DescribeFleetInput struct {
 10323  	_ struct{} `type:"structure"`
 10324  
 10325  	// The Amazon Resource Name (ARN) of the fleet.
 10326  	//
 10327  	// Fleet is a required field
 10328  	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
 10329  }
 10330  
 10331  // String returns the string representation.
 10332  //
 10333  // API parameter values that are decorated as "sensitive" in the API will not
 10334  // be included in the string output. The member name will be present, but the
 10335  // value will be replaced with "sensitive".
 10336  func (s DescribeFleetInput) String() string {
 10337  	return awsutil.Prettify(s)
 10338  }
 10339  
 10340  // GoString returns the string representation.
 10341  //
 10342  // API parameter values that are decorated as "sensitive" in the API will not
 10343  // be included in the string output. The member name will be present, but the
 10344  // value will be replaced with "sensitive".
 10345  func (s DescribeFleetInput) GoString() string {
 10346  	return s.String()
 10347  }
 10348  
 10349  // Validate inspects the fields of the type to determine if they are valid.
 10350  func (s *DescribeFleetInput) Validate() error {
 10351  	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInput"}
 10352  	if s.Fleet == nil {
 10353  		invalidParams.Add(request.NewErrParamRequired("Fleet"))
 10354  	}
 10355  	if s.Fleet != nil && len(*s.Fleet) < 1 {
 10356  		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
 10357  	}
 10358  
 10359  	if invalidParams.Len() > 0 {
 10360  		return invalidParams
 10361  	}
 10362  	return nil
 10363  }
 10364  
 10365  // SetFleet sets the Fleet field's value.
 10366  func (s *DescribeFleetInput) SetFleet(v string) *DescribeFleetInput {
 10367  	s.Fleet = &v
 10368  	return s
 10369  }
 10370  
 10371  type DescribeFleetOutput struct {
 10372  	_ struct{} `type:"structure"`
 10373  
 10374  	// The Amazon Resource Name (ARN) of the fleet.
 10375  	Arn *string `locationName:"arn" min:"1" type:"string"`
 10376  
 10377  	// The time, in milliseconds since the epoch, when the fleet was created.
 10378  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 10379  
 10380  	// The Amazon Resource Name (ARN) of the last deployment job.
 10381  	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
 10382  
 10383  	// The status of the last deployment.
 10384  	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
 10385  
 10386  	// The time of the last deployment.
 10387  	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
 10388  
 10389  	// The name of the fleet.
 10390  	Name *string `locationName:"name" min:"1" type:"string"`
 10391  
 10392  	// A list of robots.
 10393  	Robots []*Robot `locationName:"robots" type:"list"`
 10394  
 10395  	// The list of all tags added to the specified fleet.
 10396  	Tags map[string]*string `locationName:"tags" type:"map"`
 10397  }
 10398  
 10399  // String returns the string representation.
 10400  //
 10401  // API parameter values that are decorated as "sensitive" in the API will not
 10402  // be included in the string output. The member name will be present, but the
 10403  // value will be replaced with "sensitive".
 10404  func (s DescribeFleetOutput) String() string {
 10405  	return awsutil.Prettify(s)
 10406  }
 10407  
 10408  // GoString returns the string representation.
 10409  //
 10410  // API parameter values that are decorated as "sensitive" in the API will not
 10411  // be included in the string output. The member name will be present, but the
 10412  // value will be replaced with "sensitive".
 10413  func (s DescribeFleetOutput) GoString() string {
 10414  	return s.String()
 10415  }
 10416  
 10417  // SetArn sets the Arn field's value.
 10418  func (s *DescribeFleetOutput) SetArn(v string) *DescribeFleetOutput {
 10419  	s.Arn = &v
 10420  	return s
 10421  }
 10422  
 10423  // SetCreatedAt sets the CreatedAt field's value.
 10424  func (s *DescribeFleetOutput) SetCreatedAt(v time.Time) *DescribeFleetOutput {
 10425  	s.CreatedAt = &v
 10426  	return s
 10427  }
 10428  
 10429  // SetLastDeploymentJob sets the LastDeploymentJob field's value.
 10430  func (s *DescribeFleetOutput) SetLastDeploymentJob(v string) *DescribeFleetOutput {
 10431  	s.LastDeploymentJob = &v
 10432  	return s
 10433  }
 10434  
 10435  // SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
 10436  func (s *DescribeFleetOutput) SetLastDeploymentStatus(v string) *DescribeFleetOutput {
 10437  	s.LastDeploymentStatus = &v
 10438  	return s
 10439  }
 10440  
 10441  // SetLastDeploymentTime sets the LastDeploymentTime field's value.
 10442  func (s *DescribeFleetOutput) SetLastDeploymentTime(v time.Time) *DescribeFleetOutput {
 10443  	s.LastDeploymentTime = &v
 10444  	return s
 10445  }
 10446  
 10447  // SetName sets the Name field's value.
 10448  func (s *DescribeFleetOutput) SetName(v string) *DescribeFleetOutput {
 10449  	s.Name = &v
 10450  	return s
 10451  }
 10452  
 10453  // SetRobots sets the Robots field's value.
 10454  func (s *DescribeFleetOutput) SetRobots(v []*Robot) *DescribeFleetOutput {
 10455  	s.Robots = v
 10456  	return s
 10457  }
 10458  
 10459  // SetTags sets the Tags field's value.
 10460  func (s *DescribeFleetOutput) SetTags(v map[string]*string) *DescribeFleetOutput {
 10461  	s.Tags = v
 10462  	return s
 10463  }
 10464  
 10465  type DescribeRobotApplicationInput struct {
 10466  	_ struct{} `type:"structure"`
 10467  
 10468  	// The Amazon Resource Name (ARN) of the robot application.
 10469  	//
 10470  	// Application is a required field
 10471  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
 10472  
 10473  	// The version of the robot application to describe.
 10474  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
 10475  }
 10476  
 10477  // String returns the string representation.
 10478  //
 10479  // API parameter values that are decorated as "sensitive" in the API will not
 10480  // be included in the string output. The member name will be present, but the
 10481  // value will be replaced with "sensitive".
 10482  func (s DescribeRobotApplicationInput) String() string {
 10483  	return awsutil.Prettify(s)
 10484  }
 10485  
 10486  // GoString returns the string representation.
 10487  //
 10488  // API parameter values that are decorated as "sensitive" in the API will not
 10489  // be included in the string output. The member name will be present, but the
 10490  // value will be replaced with "sensitive".
 10491  func (s DescribeRobotApplicationInput) GoString() string {
 10492  	return s.String()
 10493  }
 10494  
 10495  // Validate inspects the fields of the type to determine if they are valid.
 10496  func (s *DescribeRobotApplicationInput) Validate() error {
 10497  	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotApplicationInput"}
 10498  	if s.Application == nil {
 10499  		invalidParams.Add(request.NewErrParamRequired("Application"))
 10500  	}
 10501  	if s.Application != nil && len(*s.Application) < 1 {
 10502  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
 10503  	}
 10504  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
 10505  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
 10506  	}
 10507  
 10508  	if invalidParams.Len() > 0 {
 10509  		return invalidParams
 10510  	}
 10511  	return nil
 10512  }
 10513  
 10514  // SetApplication sets the Application field's value.
 10515  func (s *DescribeRobotApplicationInput) SetApplication(v string) *DescribeRobotApplicationInput {
 10516  	s.Application = &v
 10517  	return s
 10518  }
 10519  
 10520  // SetApplicationVersion sets the ApplicationVersion field's value.
 10521  func (s *DescribeRobotApplicationInput) SetApplicationVersion(v string) *DescribeRobotApplicationInput {
 10522  	s.ApplicationVersion = &v
 10523  	return s
 10524  }
 10525  
 10526  type DescribeRobotApplicationOutput struct {
 10527  	_ struct{} `type:"structure"`
 10528  
 10529  	// The Amazon Resource Name (ARN) of the robot application.
 10530  	Arn *string `locationName:"arn" min:"1" type:"string"`
 10531  
 10532  	// The object that contains the Docker image URI used to create the robot application.
 10533  	Environment *Environment `locationName:"environment" type:"structure"`
 10534  
 10535  	// A SHA256 identifier for the Docker image that you use for your robot application.
 10536  	ImageDigest *string `locationName:"imageDigest" type:"string"`
 10537  
 10538  	// The time, in milliseconds since the epoch, when the robot application was
 10539  	// last updated.
 10540  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 10541  
 10542  	// The name of the robot application.
 10543  	Name *string `locationName:"name" min:"1" type:"string"`
 10544  
 10545  	// The revision id of the robot application.
 10546  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 10547  
 10548  	// The robot software suite (ROS distribution) used by the robot application.
 10549  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
 10550  
 10551  	// The sources of the robot application.
 10552  	Sources []*Source `locationName:"sources" type:"list"`
 10553  
 10554  	// The list of all tags added to the specified robot application.
 10555  	Tags map[string]*string `locationName:"tags" type:"map"`
 10556  
 10557  	// The version of the robot application.
 10558  	Version *string `locationName:"version" min:"1" type:"string"`
 10559  }
 10560  
 10561  // String returns the string representation.
 10562  //
 10563  // API parameter values that are decorated as "sensitive" in the API will not
 10564  // be included in the string output. The member name will be present, but the
 10565  // value will be replaced with "sensitive".
 10566  func (s DescribeRobotApplicationOutput) String() string {
 10567  	return awsutil.Prettify(s)
 10568  }
 10569  
 10570  // GoString returns the string representation.
 10571  //
 10572  // API parameter values that are decorated as "sensitive" in the API will not
 10573  // be included in the string output. The member name will be present, but the
 10574  // value will be replaced with "sensitive".
 10575  func (s DescribeRobotApplicationOutput) GoString() string {
 10576  	return s.String()
 10577  }
 10578  
 10579  // SetArn sets the Arn field's value.
 10580  func (s *DescribeRobotApplicationOutput) SetArn(v string) *DescribeRobotApplicationOutput {
 10581  	s.Arn = &v
 10582  	return s
 10583  }
 10584  
 10585  // SetEnvironment sets the Environment field's value.
 10586  func (s *DescribeRobotApplicationOutput) SetEnvironment(v *Environment) *DescribeRobotApplicationOutput {
 10587  	s.Environment = v
 10588  	return s
 10589  }
 10590  
 10591  // SetImageDigest sets the ImageDigest field's value.
 10592  func (s *DescribeRobotApplicationOutput) SetImageDigest(v string) *DescribeRobotApplicationOutput {
 10593  	s.ImageDigest = &v
 10594  	return s
 10595  }
 10596  
 10597  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 10598  func (s *DescribeRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeRobotApplicationOutput {
 10599  	s.LastUpdatedAt = &v
 10600  	return s
 10601  }
 10602  
 10603  // SetName sets the Name field's value.
 10604  func (s *DescribeRobotApplicationOutput) SetName(v string) *DescribeRobotApplicationOutput {
 10605  	s.Name = &v
 10606  	return s
 10607  }
 10608  
 10609  // SetRevisionId sets the RevisionId field's value.
 10610  func (s *DescribeRobotApplicationOutput) SetRevisionId(v string) *DescribeRobotApplicationOutput {
 10611  	s.RevisionId = &v
 10612  	return s
 10613  }
 10614  
 10615  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 10616  func (s *DescribeRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeRobotApplicationOutput {
 10617  	s.RobotSoftwareSuite = v
 10618  	return s
 10619  }
 10620  
 10621  // SetSources sets the Sources field's value.
 10622  func (s *DescribeRobotApplicationOutput) SetSources(v []*Source) *DescribeRobotApplicationOutput {
 10623  	s.Sources = v
 10624  	return s
 10625  }
 10626  
 10627  // SetTags sets the Tags field's value.
 10628  func (s *DescribeRobotApplicationOutput) SetTags(v map[string]*string) *DescribeRobotApplicationOutput {
 10629  	s.Tags = v
 10630  	return s
 10631  }
 10632  
 10633  // SetVersion sets the Version field's value.
 10634  func (s *DescribeRobotApplicationOutput) SetVersion(v string) *DescribeRobotApplicationOutput {
 10635  	s.Version = &v
 10636  	return s
 10637  }
 10638  
 10639  type DescribeRobotInput struct {
 10640  	_ struct{} `type:"structure"`
 10641  
 10642  	// The Amazon Resource Name (ARN) of the robot to be described.
 10643  	//
 10644  	// Robot is a required field
 10645  	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
 10646  }
 10647  
 10648  // String returns the string representation.
 10649  //
 10650  // API parameter values that are decorated as "sensitive" in the API will not
 10651  // be included in the string output. The member name will be present, but the
 10652  // value will be replaced with "sensitive".
 10653  func (s DescribeRobotInput) String() string {
 10654  	return awsutil.Prettify(s)
 10655  }
 10656  
 10657  // GoString returns the string representation.
 10658  //
 10659  // API parameter values that are decorated as "sensitive" in the API will not
 10660  // be included in the string output. The member name will be present, but the
 10661  // value will be replaced with "sensitive".
 10662  func (s DescribeRobotInput) GoString() string {
 10663  	return s.String()
 10664  }
 10665  
 10666  // Validate inspects the fields of the type to determine if they are valid.
 10667  func (s *DescribeRobotInput) Validate() error {
 10668  	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotInput"}
 10669  	if s.Robot == nil {
 10670  		invalidParams.Add(request.NewErrParamRequired("Robot"))
 10671  	}
 10672  	if s.Robot != nil && len(*s.Robot) < 1 {
 10673  		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
 10674  	}
 10675  
 10676  	if invalidParams.Len() > 0 {
 10677  		return invalidParams
 10678  	}
 10679  	return nil
 10680  }
 10681  
 10682  // SetRobot sets the Robot field's value.
 10683  func (s *DescribeRobotInput) SetRobot(v string) *DescribeRobotInput {
 10684  	s.Robot = &v
 10685  	return s
 10686  }
 10687  
 10688  type DescribeRobotOutput struct {
 10689  	_ struct{} `type:"structure"`
 10690  
 10691  	// The target architecture of the robot application.
 10692  	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
 10693  
 10694  	// The Amazon Resource Name (ARN) of the robot.
 10695  	Arn *string `locationName:"arn" min:"1" type:"string"`
 10696  
 10697  	// The time, in milliseconds since the epoch, when the robot was created.
 10698  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 10699  
 10700  	// The Amazon Resource Name (ARN) of the fleet.
 10701  	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
 10702  
 10703  	// The Greengrass group id.
 10704  	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
 10705  
 10706  	// The Amazon Resource Name (ARN) of the last deployment job.
 10707  	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
 10708  
 10709  	// The time of the last deployment job.
 10710  	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
 10711  
 10712  	// The name of the robot.
 10713  	Name *string `locationName:"name" min:"1" type:"string"`
 10714  
 10715  	// The status of the fleet.
 10716  	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
 10717  
 10718  	// The list of all tags added to the specified robot.
 10719  	Tags map[string]*string `locationName:"tags" type:"map"`
 10720  }
 10721  
 10722  // String returns the string representation.
 10723  //
 10724  // API parameter values that are decorated as "sensitive" in the API will not
 10725  // be included in the string output. The member name will be present, but the
 10726  // value will be replaced with "sensitive".
 10727  func (s DescribeRobotOutput) String() string {
 10728  	return awsutil.Prettify(s)
 10729  }
 10730  
 10731  // GoString returns the string representation.
 10732  //
 10733  // API parameter values that are decorated as "sensitive" in the API will not
 10734  // be included in the string output. The member name will be present, but the
 10735  // value will be replaced with "sensitive".
 10736  func (s DescribeRobotOutput) GoString() string {
 10737  	return s.String()
 10738  }
 10739  
 10740  // SetArchitecture sets the Architecture field's value.
 10741  func (s *DescribeRobotOutput) SetArchitecture(v string) *DescribeRobotOutput {
 10742  	s.Architecture = &v
 10743  	return s
 10744  }
 10745  
 10746  // SetArn sets the Arn field's value.
 10747  func (s *DescribeRobotOutput) SetArn(v string) *DescribeRobotOutput {
 10748  	s.Arn = &v
 10749  	return s
 10750  }
 10751  
 10752  // SetCreatedAt sets the CreatedAt field's value.
 10753  func (s *DescribeRobotOutput) SetCreatedAt(v time.Time) *DescribeRobotOutput {
 10754  	s.CreatedAt = &v
 10755  	return s
 10756  }
 10757  
 10758  // SetFleetArn sets the FleetArn field's value.
 10759  func (s *DescribeRobotOutput) SetFleetArn(v string) *DescribeRobotOutput {
 10760  	s.FleetArn = &v
 10761  	return s
 10762  }
 10763  
 10764  // SetGreengrassGroupId sets the GreengrassGroupId field's value.
 10765  func (s *DescribeRobotOutput) SetGreengrassGroupId(v string) *DescribeRobotOutput {
 10766  	s.GreengrassGroupId = &v
 10767  	return s
 10768  }
 10769  
 10770  // SetLastDeploymentJob sets the LastDeploymentJob field's value.
 10771  func (s *DescribeRobotOutput) SetLastDeploymentJob(v string) *DescribeRobotOutput {
 10772  	s.LastDeploymentJob = &v
 10773  	return s
 10774  }
 10775  
 10776  // SetLastDeploymentTime sets the LastDeploymentTime field's value.
 10777  func (s *DescribeRobotOutput) SetLastDeploymentTime(v time.Time) *DescribeRobotOutput {
 10778  	s.LastDeploymentTime = &v
 10779  	return s
 10780  }
 10781  
 10782  // SetName sets the Name field's value.
 10783  func (s *DescribeRobotOutput) SetName(v string) *DescribeRobotOutput {
 10784  	s.Name = &v
 10785  	return s
 10786  }
 10787  
 10788  // SetStatus sets the Status field's value.
 10789  func (s *DescribeRobotOutput) SetStatus(v string) *DescribeRobotOutput {
 10790  	s.Status = &v
 10791  	return s
 10792  }
 10793  
 10794  // SetTags sets the Tags field's value.
 10795  func (s *DescribeRobotOutput) SetTags(v map[string]*string) *DescribeRobotOutput {
 10796  	s.Tags = v
 10797  	return s
 10798  }
 10799  
 10800  type DescribeSimulationApplicationInput struct {
 10801  	_ struct{} `type:"structure"`
 10802  
 10803  	// The application information for the simulation application.
 10804  	//
 10805  	// Application is a required field
 10806  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
 10807  
 10808  	// The version of the simulation application to describe.
 10809  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
 10810  }
 10811  
 10812  // String returns the string representation.
 10813  //
 10814  // API parameter values that are decorated as "sensitive" in the API will not
 10815  // be included in the string output. The member name will be present, but the
 10816  // value will be replaced with "sensitive".
 10817  func (s DescribeSimulationApplicationInput) String() string {
 10818  	return awsutil.Prettify(s)
 10819  }
 10820  
 10821  // GoString returns the string representation.
 10822  //
 10823  // API parameter values that are decorated as "sensitive" in the API will not
 10824  // be included in the string output. The member name will be present, but the
 10825  // value will be replaced with "sensitive".
 10826  func (s DescribeSimulationApplicationInput) GoString() string {
 10827  	return s.String()
 10828  }
 10829  
 10830  // Validate inspects the fields of the type to determine if they are valid.
 10831  func (s *DescribeSimulationApplicationInput) Validate() error {
 10832  	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationApplicationInput"}
 10833  	if s.Application == nil {
 10834  		invalidParams.Add(request.NewErrParamRequired("Application"))
 10835  	}
 10836  	if s.Application != nil && len(*s.Application) < 1 {
 10837  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
 10838  	}
 10839  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
 10840  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
 10841  	}
 10842  
 10843  	if invalidParams.Len() > 0 {
 10844  		return invalidParams
 10845  	}
 10846  	return nil
 10847  }
 10848  
 10849  // SetApplication sets the Application field's value.
 10850  func (s *DescribeSimulationApplicationInput) SetApplication(v string) *DescribeSimulationApplicationInput {
 10851  	s.Application = &v
 10852  	return s
 10853  }
 10854  
 10855  // SetApplicationVersion sets the ApplicationVersion field's value.
 10856  func (s *DescribeSimulationApplicationInput) SetApplicationVersion(v string) *DescribeSimulationApplicationInput {
 10857  	s.ApplicationVersion = &v
 10858  	return s
 10859  }
 10860  
 10861  type DescribeSimulationApplicationOutput struct {
 10862  	_ struct{} `type:"structure"`
 10863  
 10864  	// The Amazon Resource Name (ARN) of the robot simulation application.
 10865  	Arn *string `locationName:"arn" min:"1" type:"string"`
 10866  
 10867  	// The object that contains the Docker image URI used to create the simulation
 10868  	// application.
 10869  	Environment *Environment `locationName:"environment" type:"structure"`
 10870  
 10871  	// A SHA256 identifier for the Docker image that you use for your simulation
 10872  	// application.
 10873  	ImageDigest *string `locationName:"imageDigest" type:"string"`
 10874  
 10875  	// The time, in milliseconds since the epoch, when the simulation application
 10876  	// was last updated.
 10877  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 10878  
 10879  	// The name of the simulation application.
 10880  	Name *string `locationName:"name" min:"1" type:"string"`
 10881  
 10882  	// The rendering engine for the simulation application.
 10883  	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
 10884  
 10885  	// The revision id of the simulation application.
 10886  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 10887  
 10888  	// Information about the robot software suite (ROS distribution).
 10889  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
 10890  
 10891  	// The simulation software suite used by the simulation application.
 10892  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
 10893  
 10894  	// The sources of the simulation application.
 10895  	Sources []*Source `locationName:"sources" type:"list"`
 10896  
 10897  	// The list of all tags added to the specified simulation application.
 10898  	Tags map[string]*string `locationName:"tags" type:"map"`
 10899  
 10900  	// The version of the simulation application.
 10901  	Version *string `locationName:"version" min:"1" type:"string"`
 10902  }
 10903  
 10904  // String returns the string representation.
 10905  //
 10906  // API parameter values that are decorated as "sensitive" in the API will not
 10907  // be included in the string output. The member name will be present, but the
 10908  // value will be replaced with "sensitive".
 10909  func (s DescribeSimulationApplicationOutput) String() string {
 10910  	return awsutil.Prettify(s)
 10911  }
 10912  
 10913  // GoString returns the string representation.
 10914  //
 10915  // API parameter values that are decorated as "sensitive" in the API will not
 10916  // be included in the string output. The member name will be present, but the
 10917  // value will be replaced with "sensitive".
 10918  func (s DescribeSimulationApplicationOutput) GoString() string {
 10919  	return s.String()
 10920  }
 10921  
 10922  // SetArn sets the Arn field's value.
 10923  func (s *DescribeSimulationApplicationOutput) SetArn(v string) *DescribeSimulationApplicationOutput {
 10924  	s.Arn = &v
 10925  	return s
 10926  }
 10927  
 10928  // SetEnvironment sets the Environment field's value.
 10929  func (s *DescribeSimulationApplicationOutput) SetEnvironment(v *Environment) *DescribeSimulationApplicationOutput {
 10930  	s.Environment = v
 10931  	return s
 10932  }
 10933  
 10934  // SetImageDigest sets the ImageDigest field's value.
 10935  func (s *DescribeSimulationApplicationOutput) SetImageDigest(v string) *DescribeSimulationApplicationOutput {
 10936  	s.ImageDigest = &v
 10937  	return s
 10938  }
 10939  
 10940  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 10941  func (s *DescribeSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationApplicationOutput {
 10942  	s.LastUpdatedAt = &v
 10943  	return s
 10944  }
 10945  
 10946  // SetName sets the Name field's value.
 10947  func (s *DescribeSimulationApplicationOutput) SetName(v string) *DescribeSimulationApplicationOutput {
 10948  	s.Name = &v
 10949  	return s
 10950  }
 10951  
 10952  // SetRenderingEngine sets the RenderingEngine field's value.
 10953  func (s *DescribeSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *DescribeSimulationApplicationOutput {
 10954  	s.RenderingEngine = v
 10955  	return s
 10956  }
 10957  
 10958  // SetRevisionId sets the RevisionId field's value.
 10959  func (s *DescribeSimulationApplicationOutput) SetRevisionId(v string) *DescribeSimulationApplicationOutput {
 10960  	s.RevisionId = &v
 10961  	return s
 10962  }
 10963  
 10964  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 10965  func (s *DescribeSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeSimulationApplicationOutput {
 10966  	s.RobotSoftwareSuite = v
 10967  	return s
 10968  }
 10969  
 10970  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
 10971  func (s *DescribeSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *DescribeSimulationApplicationOutput {
 10972  	s.SimulationSoftwareSuite = v
 10973  	return s
 10974  }
 10975  
 10976  // SetSources sets the Sources field's value.
 10977  func (s *DescribeSimulationApplicationOutput) SetSources(v []*Source) *DescribeSimulationApplicationOutput {
 10978  	s.Sources = v
 10979  	return s
 10980  }
 10981  
 10982  // SetTags sets the Tags field's value.
 10983  func (s *DescribeSimulationApplicationOutput) SetTags(v map[string]*string) *DescribeSimulationApplicationOutput {
 10984  	s.Tags = v
 10985  	return s
 10986  }
 10987  
 10988  // SetVersion sets the Version field's value.
 10989  func (s *DescribeSimulationApplicationOutput) SetVersion(v string) *DescribeSimulationApplicationOutput {
 10990  	s.Version = &v
 10991  	return s
 10992  }
 10993  
 10994  type DescribeSimulationJobBatchInput struct {
 10995  	_ struct{} `type:"structure"`
 10996  
 10997  	// The id of the batch to describe.
 10998  	//
 10999  	// Batch is a required field
 11000  	Batch *string `locationName:"batch" min:"1" type:"string" required:"true"`
 11001  }
 11002  
 11003  // String returns the string representation.
 11004  //
 11005  // API parameter values that are decorated as "sensitive" in the API will not
 11006  // be included in the string output. The member name will be present, but the
 11007  // value will be replaced with "sensitive".
 11008  func (s DescribeSimulationJobBatchInput) String() string {
 11009  	return awsutil.Prettify(s)
 11010  }
 11011  
 11012  // GoString returns the string representation.
 11013  //
 11014  // API parameter values that are decorated as "sensitive" in the API will not
 11015  // be included in the string output. The member name will be present, but the
 11016  // value will be replaced with "sensitive".
 11017  func (s DescribeSimulationJobBatchInput) GoString() string {
 11018  	return s.String()
 11019  }
 11020  
 11021  // Validate inspects the fields of the type to determine if they are valid.
 11022  func (s *DescribeSimulationJobBatchInput) Validate() error {
 11023  	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobBatchInput"}
 11024  	if s.Batch == nil {
 11025  		invalidParams.Add(request.NewErrParamRequired("Batch"))
 11026  	}
 11027  	if s.Batch != nil && len(*s.Batch) < 1 {
 11028  		invalidParams.Add(request.NewErrParamMinLen("Batch", 1))
 11029  	}
 11030  
 11031  	if invalidParams.Len() > 0 {
 11032  		return invalidParams
 11033  	}
 11034  	return nil
 11035  }
 11036  
 11037  // SetBatch sets the Batch field's value.
 11038  func (s *DescribeSimulationJobBatchInput) SetBatch(v string) *DescribeSimulationJobBatchInput {
 11039  	s.Batch = &v
 11040  	return s
 11041  }
 11042  
 11043  type DescribeSimulationJobBatchOutput struct {
 11044  	_ struct{} `type:"structure"`
 11045  
 11046  	// The Amazon Resource Name (ARN) of the batch.
 11047  	Arn *string `locationName:"arn" min:"1" type:"string"`
 11048  
 11049  	// The batch policy.
 11050  	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
 11051  
 11052  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 11053  	// of the request.
 11054  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 11055  
 11056  	// The time, in milliseconds since the epoch, when the simulation job batch
 11057  	// was created.
 11058  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 11059  
 11060  	// A list of created simulation job summaries.
 11061  	CreatedRequests []*SimulationJobSummary `locationName:"createdRequests" type:"list"`
 11062  
 11063  	// A list of failed create simulation job requests. The request failed to be
 11064  	// created into a simulation job. Failed requests do not have a simulation job
 11065  	// ID.
 11066  	FailedRequests []*FailedCreateSimulationJobRequest `locationName:"failedRequests" type:"list"`
 11067  
 11068  	// The failure code of the simulation job batch.
 11069  	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobBatchErrorCode"`
 11070  
 11071  	// The reason the simulation job batch failed.
 11072  	FailureReason *string `locationName:"failureReason" type:"string"`
 11073  
 11074  	// The time, in milliseconds since the epoch, when the simulation job batch
 11075  	// was last updated.
 11076  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 11077  
 11078  	// A list of pending simulation job requests. These requests have not yet been
 11079  	// created into simulation jobs.
 11080  	PendingRequests []*SimulationJobRequest `locationName:"pendingRequests" min:"1" type:"list"`
 11081  
 11082  	// The status of the batch.
 11083  	//
 11084  	// Pending
 11085  	//
 11086  	// The simulation job batch request is pending.
 11087  	//
 11088  	// InProgress
 11089  	//
 11090  	// The simulation job batch is in progress.
 11091  	//
 11092  	// Failed
 11093  	//
 11094  	// The simulation job batch failed. One or more simulation job requests could
 11095  	// not be completed due to an internal failure (like InternalServiceError).
 11096  	// See failureCode and failureReason for more information.
 11097  	//
 11098  	// Completed
 11099  	//
 11100  	// The simulation batch job completed. A batch is complete when (1) there are
 11101  	// no pending simulation job requests in the batch and none of the failed simulation
 11102  	// job requests are due to InternalServiceError and (2) when all created simulation
 11103  	// jobs have reached a terminal state (for example, Completed or Failed).
 11104  	//
 11105  	// Canceled
 11106  	//
 11107  	// The simulation batch job was cancelled.
 11108  	//
 11109  	// Canceling
 11110  	//
 11111  	// The simulation batch job is being cancelled.
 11112  	//
 11113  	// Completing
 11114  	//
 11115  	// The simulation batch job is completing.
 11116  	//
 11117  	// TimingOut
 11118  	//
 11119  	// The simulation job batch is timing out.
 11120  	//
 11121  	// If a batch timing out, and there are pending requests that were failing due
 11122  	// to an internal failure (like InternalServiceError), the batch status will
 11123  	// be Failed. If there are no such failing request, the batch status will be
 11124  	// TimedOut.
 11125  	//
 11126  	// TimedOut
 11127  	//
 11128  	// The simulation batch job timed out.
 11129  	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
 11130  
 11131  	// A map that contains tag keys and tag values that are attached to the simulation
 11132  	// job batch.
 11133  	Tags map[string]*string `locationName:"tags" type:"map"`
 11134  }
 11135  
 11136  // String returns the string representation.
 11137  //
 11138  // API parameter values that are decorated as "sensitive" in the API will not
 11139  // be included in the string output. The member name will be present, but the
 11140  // value will be replaced with "sensitive".
 11141  func (s DescribeSimulationJobBatchOutput) String() string {
 11142  	return awsutil.Prettify(s)
 11143  }
 11144  
 11145  // GoString returns the string representation.
 11146  //
 11147  // API parameter values that are decorated as "sensitive" in the API will not
 11148  // be included in the string output. The member name will be present, but the
 11149  // value will be replaced with "sensitive".
 11150  func (s DescribeSimulationJobBatchOutput) GoString() string {
 11151  	return s.String()
 11152  }
 11153  
 11154  // SetArn sets the Arn field's value.
 11155  func (s *DescribeSimulationJobBatchOutput) SetArn(v string) *DescribeSimulationJobBatchOutput {
 11156  	s.Arn = &v
 11157  	return s
 11158  }
 11159  
 11160  // SetBatchPolicy sets the BatchPolicy field's value.
 11161  func (s *DescribeSimulationJobBatchOutput) SetBatchPolicy(v *BatchPolicy) *DescribeSimulationJobBatchOutput {
 11162  	s.BatchPolicy = v
 11163  	return s
 11164  }
 11165  
 11166  // SetClientRequestToken sets the ClientRequestToken field's value.
 11167  func (s *DescribeSimulationJobBatchOutput) SetClientRequestToken(v string) *DescribeSimulationJobBatchOutput {
 11168  	s.ClientRequestToken = &v
 11169  	return s
 11170  }
 11171  
 11172  // SetCreatedAt sets the CreatedAt field's value.
 11173  func (s *DescribeSimulationJobBatchOutput) SetCreatedAt(v time.Time) *DescribeSimulationJobBatchOutput {
 11174  	s.CreatedAt = &v
 11175  	return s
 11176  }
 11177  
 11178  // SetCreatedRequests sets the CreatedRequests field's value.
 11179  func (s *DescribeSimulationJobBatchOutput) SetCreatedRequests(v []*SimulationJobSummary) *DescribeSimulationJobBatchOutput {
 11180  	s.CreatedRequests = v
 11181  	return s
 11182  }
 11183  
 11184  // SetFailedRequests sets the FailedRequests field's value.
 11185  func (s *DescribeSimulationJobBatchOutput) SetFailedRequests(v []*FailedCreateSimulationJobRequest) *DescribeSimulationJobBatchOutput {
 11186  	s.FailedRequests = v
 11187  	return s
 11188  }
 11189  
 11190  // SetFailureCode sets the FailureCode field's value.
 11191  func (s *DescribeSimulationJobBatchOutput) SetFailureCode(v string) *DescribeSimulationJobBatchOutput {
 11192  	s.FailureCode = &v
 11193  	return s
 11194  }
 11195  
 11196  // SetFailureReason sets the FailureReason field's value.
 11197  func (s *DescribeSimulationJobBatchOutput) SetFailureReason(v string) *DescribeSimulationJobBatchOutput {
 11198  	s.FailureReason = &v
 11199  	return s
 11200  }
 11201  
 11202  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 11203  func (s *DescribeSimulationJobBatchOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobBatchOutput {
 11204  	s.LastUpdatedAt = &v
 11205  	return s
 11206  }
 11207  
 11208  // SetPendingRequests sets the PendingRequests field's value.
 11209  func (s *DescribeSimulationJobBatchOutput) SetPendingRequests(v []*SimulationJobRequest) *DescribeSimulationJobBatchOutput {
 11210  	s.PendingRequests = v
 11211  	return s
 11212  }
 11213  
 11214  // SetStatus sets the Status field's value.
 11215  func (s *DescribeSimulationJobBatchOutput) SetStatus(v string) *DescribeSimulationJobBatchOutput {
 11216  	s.Status = &v
 11217  	return s
 11218  }
 11219  
 11220  // SetTags sets the Tags field's value.
 11221  func (s *DescribeSimulationJobBatchOutput) SetTags(v map[string]*string) *DescribeSimulationJobBatchOutput {
 11222  	s.Tags = v
 11223  	return s
 11224  }
 11225  
 11226  type DescribeSimulationJobInput struct {
 11227  	_ struct{} `type:"structure"`
 11228  
 11229  	// The Amazon Resource Name (ARN) of the simulation job to be described.
 11230  	//
 11231  	// Job is a required field
 11232  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
 11233  }
 11234  
 11235  // String returns the string representation.
 11236  //
 11237  // API parameter values that are decorated as "sensitive" in the API will not
 11238  // be included in the string output. The member name will be present, but the
 11239  // value will be replaced with "sensitive".
 11240  func (s DescribeSimulationJobInput) String() string {
 11241  	return awsutil.Prettify(s)
 11242  }
 11243  
 11244  // GoString returns the string representation.
 11245  //
 11246  // API parameter values that are decorated as "sensitive" in the API will not
 11247  // be included in the string output. The member name will be present, but the
 11248  // value will be replaced with "sensitive".
 11249  func (s DescribeSimulationJobInput) GoString() string {
 11250  	return s.String()
 11251  }
 11252  
 11253  // Validate inspects the fields of the type to determine if they are valid.
 11254  func (s *DescribeSimulationJobInput) Validate() error {
 11255  	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobInput"}
 11256  	if s.Job == nil {
 11257  		invalidParams.Add(request.NewErrParamRequired("Job"))
 11258  	}
 11259  	if s.Job != nil && len(*s.Job) < 1 {
 11260  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
 11261  	}
 11262  
 11263  	if invalidParams.Len() > 0 {
 11264  		return invalidParams
 11265  	}
 11266  	return nil
 11267  }
 11268  
 11269  // SetJob sets the Job field's value.
 11270  func (s *DescribeSimulationJobInput) SetJob(v string) *DescribeSimulationJobInput {
 11271  	s.Job = &v
 11272  	return s
 11273  }
 11274  
 11275  type DescribeSimulationJobOutput struct {
 11276  	_ struct{} `type:"structure"`
 11277  
 11278  	// The Amazon Resource Name (ARN) of the simulation job.
 11279  	Arn *string `locationName:"arn" min:"1" type:"string"`
 11280  
 11281  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 11282  	// of the request.
 11283  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 11284  
 11285  	// Compute information for the simulation job.
 11286  	Compute *ComputeResponse `locationName:"compute" type:"structure"`
 11287  
 11288  	// The data sources for the simulation job.
 11289  	DataSources []*DataSource `locationName:"dataSources" type:"list"`
 11290  
 11291  	// The failure behavior for the simulation job.
 11292  	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
 11293  
 11294  	// The failure code of the simulation job if it failed:
 11295  	//
 11296  	// InternalServiceError
 11297  	//
 11298  	// Internal service error.
 11299  	//
 11300  	// RobotApplicationCrash
 11301  	//
 11302  	// Robot application exited abnormally.
 11303  	//
 11304  	// SimulationApplicationCrash
 11305  	//
 11306  	// Simulation application exited abnormally.
 11307  	//
 11308  	// BadPermissionsRobotApplication
 11309  	//
 11310  	// Robot application bundle could not be downloaded.
 11311  	//
 11312  	// BadPermissionsSimulationApplication
 11313  	//
 11314  	// Simulation application bundle could not be downloaded.
 11315  	//
 11316  	// BadPermissionsS3Output
 11317  	//
 11318  	// Unable to publish outputs to customer-provided S3 bucket.
 11319  	//
 11320  	// BadPermissionsCloudwatchLogs
 11321  	//
 11322  	// Unable to publish logs to customer-provided CloudWatch Logs resource.
 11323  	//
 11324  	// SubnetIpLimitExceeded
 11325  	//
 11326  	// Subnet IP limit exceeded.
 11327  	//
 11328  	// ENILimitExceeded
 11329  	//
 11330  	// ENI limit exceeded.
 11331  	//
 11332  	// BadPermissionsUserCredentials
 11333  	//
 11334  	// Unable to use the Role provided.
 11335  	//
 11336  	// InvalidBundleRobotApplication
 11337  	//
 11338  	// Robot bundle cannot be extracted (invalid format, bundling error, or other
 11339  	// issue).
 11340  	//
 11341  	// InvalidBundleSimulationApplication
 11342  	//
 11343  	// Simulation bundle cannot be extracted (invalid format, bundling error, or
 11344  	// other issue).
 11345  	//
 11346  	// RobotApplicationVersionMismatchedEtag
 11347  	//
 11348  	// Etag for RobotApplication does not match value during version creation.
 11349  	//
 11350  	// SimulationApplicationVersionMismatchedEtag
 11351  	//
 11352  	// Etag for SimulationApplication does not match value during version creation.
 11353  	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
 11354  
 11355  	// Details about why the simulation job failed. For more information about troubleshooting,
 11356  	// see Troubleshooting (https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting.html).
 11357  	FailureReason *string `locationName:"failureReason" type:"string"`
 11358  
 11359  	// The IAM role that allows the simulation instance to call the AWS APIs that
 11360  	// are specified in its associated policies on your behalf.
 11361  	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
 11362  
 11363  	// The time, in milliseconds since the epoch, when the simulation job was last
 11364  	// started.
 11365  	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
 11366  
 11367  	// The time, in milliseconds since the epoch, when the simulation job was last
 11368  	// updated.
 11369  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 11370  
 11371  	// The logging configuration.
 11372  	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
 11373  
 11374  	// The maximum job duration in seconds. The value must be 8 days (691,200 seconds)
 11375  	// or less.
 11376  	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
 11377  
 11378  	// The name of the simulation job.
 11379  	Name *string `locationName:"name" min:"1" type:"string"`
 11380  
 11381  	// The network interface information for the simulation job.
 11382  	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
 11383  
 11384  	// Location for output files generated by the simulation job.
 11385  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
 11386  
 11387  	// A list of robot applications.
 11388  	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
 11389  
 11390  	// A list of simulation applications.
 11391  	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
 11392  
 11393  	// The simulation job execution duration in milliseconds.
 11394  	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
 11395  
 11396  	// The status of the simulation job.
 11397  	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
 11398  
 11399  	// The list of all tags added to the specified simulation job.
 11400  	Tags map[string]*string `locationName:"tags" type:"map"`
 11401  
 11402  	// The VPC configuration.
 11403  	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
 11404  }
 11405  
 11406  // String returns the string representation.
 11407  //
 11408  // API parameter values that are decorated as "sensitive" in the API will not
 11409  // be included in the string output. The member name will be present, but the
 11410  // value will be replaced with "sensitive".
 11411  func (s DescribeSimulationJobOutput) String() string {
 11412  	return awsutil.Prettify(s)
 11413  }
 11414  
 11415  // GoString returns the string representation.
 11416  //
 11417  // API parameter values that are decorated as "sensitive" in the API will not
 11418  // be included in the string output. The member name will be present, but the
 11419  // value will be replaced with "sensitive".
 11420  func (s DescribeSimulationJobOutput) GoString() string {
 11421  	return s.String()
 11422  }
 11423  
 11424  // SetArn sets the Arn field's value.
 11425  func (s *DescribeSimulationJobOutput) SetArn(v string) *DescribeSimulationJobOutput {
 11426  	s.Arn = &v
 11427  	return s
 11428  }
 11429  
 11430  // SetClientRequestToken sets the ClientRequestToken field's value.
 11431  func (s *DescribeSimulationJobOutput) SetClientRequestToken(v string) *DescribeSimulationJobOutput {
 11432  	s.ClientRequestToken = &v
 11433  	return s
 11434  }
 11435  
 11436  // SetCompute sets the Compute field's value.
 11437  func (s *DescribeSimulationJobOutput) SetCompute(v *ComputeResponse) *DescribeSimulationJobOutput {
 11438  	s.Compute = v
 11439  	return s
 11440  }
 11441  
 11442  // SetDataSources sets the DataSources field's value.
 11443  func (s *DescribeSimulationJobOutput) SetDataSources(v []*DataSource) *DescribeSimulationJobOutput {
 11444  	s.DataSources = v
 11445  	return s
 11446  }
 11447  
 11448  // SetFailureBehavior sets the FailureBehavior field's value.
 11449  func (s *DescribeSimulationJobOutput) SetFailureBehavior(v string) *DescribeSimulationJobOutput {
 11450  	s.FailureBehavior = &v
 11451  	return s
 11452  }
 11453  
 11454  // SetFailureCode sets the FailureCode field's value.
 11455  func (s *DescribeSimulationJobOutput) SetFailureCode(v string) *DescribeSimulationJobOutput {
 11456  	s.FailureCode = &v
 11457  	return s
 11458  }
 11459  
 11460  // SetFailureReason sets the FailureReason field's value.
 11461  func (s *DescribeSimulationJobOutput) SetFailureReason(v string) *DescribeSimulationJobOutput {
 11462  	s.FailureReason = &v
 11463  	return s
 11464  }
 11465  
 11466  // SetIamRole sets the IamRole field's value.
 11467  func (s *DescribeSimulationJobOutput) SetIamRole(v string) *DescribeSimulationJobOutput {
 11468  	s.IamRole = &v
 11469  	return s
 11470  }
 11471  
 11472  // SetLastStartedAt sets the LastStartedAt field's value.
 11473  func (s *DescribeSimulationJobOutput) SetLastStartedAt(v time.Time) *DescribeSimulationJobOutput {
 11474  	s.LastStartedAt = &v
 11475  	return s
 11476  }
 11477  
 11478  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 11479  func (s *DescribeSimulationJobOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobOutput {
 11480  	s.LastUpdatedAt = &v
 11481  	return s
 11482  }
 11483  
 11484  // SetLoggingConfig sets the LoggingConfig field's value.
 11485  func (s *DescribeSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *DescribeSimulationJobOutput {
 11486  	s.LoggingConfig = v
 11487  	return s
 11488  }
 11489  
 11490  // SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
 11491  func (s *DescribeSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *DescribeSimulationJobOutput {
 11492  	s.MaxJobDurationInSeconds = &v
 11493  	return s
 11494  }
 11495  
 11496  // SetName sets the Name field's value.
 11497  func (s *DescribeSimulationJobOutput) SetName(v string) *DescribeSimulationJobOutput {
 11498  	s.Name = &v
 11499  	return s
 11500  }
 11501  
 11502  // SetNetworkInterface sets the NetworkInterface field's value.
 11503  func (s *DescribeSimulationJobOutput) SetNetworkInterface(v *NetworkInterface) *DescribeSimulationJobOutput {
 11504  	s.NetworkInterface = v
 11505  	return s
 11506  }
 11507  
 11508  // SetOutputLocation sets the OutputLocation field's value.
 11509  func (s *DescribeSimulationJobOutput) SetOutputLocation(v *OutputLocation) *DescribeSimulationJobOutput {
 11510  	s.OutputLocation = v
 11511  	return s
 11512  }
 11513  
 11514  // SetRobotApplications sets the RobotApplications field's value.
 11515  func (s *DescribeSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *DescribeSimulationJobOutput {
 11516  	s.RobotApplications = v
 11517  	return s
 11518  }
 11519  
 11520  // SetSimulationApplications sets the SimulationApplications field's value.
 11521  func (s *DescribeSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *DescribeSimulationJobOutput {
 11522  	s.SimulationApplications = v
 11523  	return s
 11524  }
 11525  
 11526  // SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
 11527  func (s *DescribeSimulationJobOutput) SetSimulationTimeMillis(v int64) *DescribeSimulationJobOutput {
 11528  	s.SimulationTimeMillis = &v
 11529  	return s
 11530  }
 11531  
 11532  // SetStatus sets the Status field's value.
 11533  func (s *DescribeSimulationJobOutput) SetStatus(v string) *DescribeSimulationJobOutput {
 11534  	s.Status = &v
 11535  	return s
 11536  }
 11537  
 11538  // SetTags sets the Tags field's value.
 11539  func (s *DescribeSimulationJobOutput) SetTags(v map[string]*string) *DescribeSimulationJobOutput {
 11540  	s.Tags = v
 11541  	return s
 11542  }
 11543  
 11544  // SetVpcConfig sets the VpcConfig field's value.
 11545  func (s *DescribeSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *DescribeSimulationJobOutput {
 11546  	s.VpcConfig = v
 11547  	return s
 11548  }
 11549  
 11550  type DescribeWorldExportJobInput struct {
 11551  	_ struct{} `type:"structure"`
 11552  
 11553  	// The Amazon Resource Name (arn) of the world export job to describe.
 11554  	//
 11555  	// Job is a required field
 11556  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
 11557  }
 11558  
 11559  // String returns the string representation.
 11560  //
 11561  // API parameter values that are decorated as "sensitive" in the API will not
 11562  // be included in the string output. The member name will be present, but the
 11563  // value will be replaced with "sensitive".
 11564  func (s DescribeWorldExportJobInput) String() string {
 11565  	return awsutil.Prettify(s)
 11566  }
 11567  
 11568  // GoString returns the string representation.
 11569  //
 11570  // API parameter values that are decorated as "sensitive" in the API will not
 11571  // be included in the string output. The member name will be present, but the
 11572  // value will be replaced with "sensitive".
 11573  func (s DescribeWorldExportJobInput) GoString() string {
 11574  	return s.String()
 11575  }
 11576  
 11577  // Validate inspects the fields of the type to determine if they are valid.
 11578  func (s *DescribeWorldExportJobInput) Validate() error {
 11579  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldExportJobInput"}
 11580  	if s.Job == nil {
 11581  		invalidParams.Add(request.NewErrParamRequired("Job"))
 11582  	}
 11583  	if s.Job != nil && len(*s.Job) < 1 {
 11584  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
 11585  	}
 11586  
 11587  	if invalidParams.Len() > 0 {
 11588  		return invalidParams
 11589  	}
 11590  	return nil
 11591  }
 11592  
 11593  // SetJob sets the Job field's value.
 11594  func (s *DescribeWorldExportJobInput) SetJob(v string) *DescribeWorldExportJobInput {
 11595  	s.Job = &v
 11596  	return s
 11597  }
 11598  
 11599  type DescribeWorldExportJobOutput struct {
 11600  	_ struct{} `type:"structure"`
 11601  
 11602  	// The Amazon Resource Name (ARN) of the world export job.
 11603  	Arn *string `locationName:"arn" min:"1" type:"string"`
 11604  
 11605  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 11606  	// of the request.
 11607  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 11608  
 11609  	// The time, in milliseconds since the epoch, when the world export job was
 11610  	// created.
 11611  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 11612  
 11613  	// The failure code of the world export job if it failed:
 11614  	//
 11615  	// InternalServiceError
 11616  	//
 11617  	// Internal service error.
 11618  	//
 11619  	// LimitExceeded
 11620  	//
 11621  	// The requested resource exceeds the maximum number allowed, or the number
 11622  	// of concurrent stream requests exceeds the maximum number allowed.
 11623  	//
 11624  	// ResourceNotFound
 11625  	//
 11626  	// The specified resource could not be found.
 11627  	//
 11628  	// RequestThrottled
 11629  	//
 11630  	// The request was throttled.
 11631  	//
 11632  	// InvalidInput
 11633  	//
 11634  	// An input parameter in the request is not valid.
 11635  	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldExportJobErrorCode"`
 11636  
 11637  	// The reason why the world export job failed.
 11638  	FailureReason *string `locationName:"failureReason" type:"string"`
 11639  
 11640  	// The IAM role that the world export process uses to access the Amazon S3 bucket
 11641  	// and put the export.
 11642  	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
 11643  
 11644  	// The output location.
 11645  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
 11646  
 11647  	// The status of the world export job.
 11648  	//
 11649  	// Pending
 11650  	//
 11651  	// The world export job request is pending.
 11652  	//
 11653  	// Running
 11654  	//
 11655  	// The world export job is running.
 11656  	//
 11657  	// Completed
 11658  	//
 11659  	// The world export job completed.
 11660  	//
 11661  	// Failed
 11662  	//
 11663  	// The world export job failed. See failureCode and failureReason for more information.
 11664  	//
 11665  	// Canceled
 11666  	//
 11667  	// The world export job was cancelled.
 11668  	//
 11669  	// Canceling
 11670  	//
 11671  	// The world export job is being cancelled.
 11672  	Status *string `locationName:"status" type:"string" enum:"WorldExportJobStatus"`
 11673  
 11674  	// A map that contains tag keys and tag values that are attached to the world
 11675  	// export job.
 11676  	Tags map[string]*string `locationName:"tags" type:"map"`
 11677  
 11678  	// A list of Amazon Resource Names (arns) that correspond to worlds to be exported.
 11679  	Worlds []*string `locationName:"worlds" min:"1" type:"list"`
 11680  }
 11681  
 11682  // String returns the string representation.
 11683  //
 11684  // API parameter values that are decorated as "sensitive" in the API will not
 11685  // be included in the string output. The member name will be present, but the
 11686  // value will be replaced with "sensitive".
 11687  func (s DescribeWorldExportJobOutput) String() string {
 11688  	return awsutil.Prettify(s)
 11689  }
 11690  
 11691  // GoString returns the string representation.
 11692  //
 11693  // API parameter values that are decorated as "sensitive" in the API will not
 11694  // be included in the string output. The member name will be present, but the
 11695  // value will be replaced with "sensitive".
 11696  func (s DescribeWorldExportJobOutput) GoString() string {
 11697  	return s.String()
 11698  }
 11699  
 11700  // SetArn sets the Arn field's value.
 11701  func (s *DescribeWorldExportJobOutput) SetArn(v string) *DescribeWorldExportJobOutput {
 11702  	s.Arn = &v
 11703  	return s
 11704  }
 11705  
 11706  // SetClientRequestToken sets the ClientRequestToken field's value.
 11707  func (s *DescribeWorldExportJobOutput) SetClientRequestToken(v string) *DescribeWorldExportJobOutput {
 11708  	s.ClientRequestToken = &v
 11709  	return s
 11710  }
 11711  
 11712  // SetCreatedAt sets the CreatedAt field's value.
 11713  func (s *DescribeWorldExportJobOutput) SetCreatedAt(v time.Time) *DescribeWorldExportJobOutput {
 11714  	s.CreatedAt = &v
 11715  	return s
 11716  }
 11717  
 11718  // SetFailureCode sets the FailureCode field's value.
 11719  func (s *DescribeWorldExportJobOutput) SetFailureCode(v string) *DescribeWorldExportJobOutput {
 11720  	s.FailureCode = &v
 11721  	return s
 11722  }
 11723  
 11724  // SetFailureReason sets the FailureReason field's value.
 11725  func (s *DescribeWorldExportJobOutput) SetFailureReason(v string) *DescribeWorldExportJobOutput {
 11726  	s.FailureReason = &v
 11727  	return s
 11728  }
 11729  
 11730  // SetIamRole sets the IamRole field's value.
 11731  func (s *DescribeWorldExportJobOutput) SetIamRole(v string) *DescribeWorldExportJobOutput {
 11732  	s.IamRole = &v
 11733  	return s
 11734  }
 11735  
 11736  // SetOutputLocation sets the OutputLocation field's value.
 11737  func (s *DescribeWorldExportJobOutput) SetOutputLocation(v *OutputLocation) *DescribeWorldExportJobOutput {
 11738  	s.OutputLocation = v
 11739  	return s
 11740  }
 11741  
 11742  // SetStatus sets the Status field's value.
 11743  func (s *DescribeWorldExportJobOutput) SetStatus(v string) *DescribeWorldExportJobOutput {
 11744  	s.Status = &v
 11745  	return s
 11746  }
 11747  
 11748  // SetTags sets the Tags field's value.
 11749  func (s *DescribeWorldExportJobOutput) SetTags(v map[string]*string) *DescribeWorldExportJobOutput {
 11750  	s.Tags = v
 11751  	return s
 11752  }
 11753  
 11754  // SetWorlds sets the Worlds field's value.
 11755  func (s *DescribeWorldExportJobOutput) SetWorlds(v []*string) *DescribeWorldExportJobOutput {
 11756  	s.Worlds = v
 11757  	return s
 11758  }
 11759  
 11760  type DescribeWorldGenerationJobInput struct {
 11761  	_ struct{} `type:"structure"`
 11762  
 11763  	// The Amazon Resource Name (arn) of the world generation job to describe.
 11764  	//
 11765  	// Job is a required field
 11766  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
 11767  }
 11768  
 11769  // String returns the string representation.
 11770  //
 11771  // API parameter values that are decorated as "sensitive" in the API will not
 11772  // be included in the string output. The member name will be present, but the
 11773  // value will be replaced with "sensitive".
 11774  func (s DescribeWorldGenerationJobInput) String() string {
 11775  	return awsutil.Prettify(s)
 11776  }
 11777  
 11778  // GoString returns the string representation.
 11779  //
 11780  // API parameter values that are decorated as "sensitive" in the API will not
 11781  // be included in the string output. The member name will be present, but the
 11782  // value will be replaced with "sensitive".
 11783  func (s DescribeWorldGenerationJobInput) GoString() string {
 11784  	return s.String()
 11785  }
 11786  
 11787  // Validate inspects the fields of the type to determine if they are valid.
 11788  func (s *DescribeWorldGenerationJobInput) Validate() error {
 11789  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldGenerationJobInput"}
 11790  	if s.Job == nil {
 11791  		invalidParams.Add(request.NewErrParamRequired("Job"))
 11792  	}
 11793  	if s.Job != nil && len(*s.Job) < 1 {
 11794  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
 11795  	}
 11796  
 11797  	if invalidParams.Len() > 0 {
 11798  		return invalidParams
 11799  	}
 11800  	return nil
 11801  }
 11802  
 11803  // SetJob sets the Job field's value.
 11804  func (s *DescribeWorldGenerationJobInput) SetJob(v string) *DescribeWorldGenerationJobInput {
 11805  	s.Job = &v
 11806  	return s
 11807  }
 11808  
 11809  type DescribeWorldGenerationJobOutput struct {
 11810  	_ struct{} `type:"structure"`
 11811  
 11812  	// The Amazon Resource Name (ARN) of the world generation job.
 11813  	Arn *string `locationName:"arn" min:"1" type:"string"`
 11814  
 11815  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 11816  	// of the request.
 11817  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 11818  
 11819  	// The time, in milliseconds since the epoch, when the world generation job
 11820  	// was created.
 11821  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 11822  
 11823  	// The failure code of the world generation job if it failed:
 11824  	//
 11825  	// InternalServiceError
 11826  	//
 11827  	// Internal service error.
 11828  	//
 11829  	// LimitExceeded
 11830  	//
 11831  	// The requested resource exceeds the maximum number allowed, or the number
 11832  	// of concurrent stream requests exceeds the maximum number allowed.
 11833  	//
 11834  	// ResourceNotFound
 11835  	//
 11836  	// The specified resource could not be found.
 11837  	//
 11838  	// RequestThrottled
 11839  	//
 11840  	// The request was throttled.
 11841  	//
 11842  	// InvalidInput
 11843  	//
 11844  	// An input parameter in the request is not valid.
 11845  	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldGenerationJobErrorCode"`
 11846  
 11847  	// The reason why the world generation job failed.
 11848  	FailureReason *string `locationName:"failureReason" type:"string"`
 11849  
 11850  	// Summary information about finished worlds.
 11851  	FinishedWorldsSummary *FinishedWorldsSummary `locationName:"finishedWorldsSummary" type:"structure"`
 11852  
 11853  	// The status of the world generation job:
 11854  	//
 11855  	// Pending
 11856  	//
 11857  	// The world generation job request is pending.
 11858  	//
 11859  	// Running
 11860  	//
 11861  	// The world generation job is running.
 11862  	//
 11863  	// Completed
 11864  	//
 11865  	// The world generation job completed.
 11866  	//
 11867  	// Failed
 11868  	//
 11869  	// The world generation job failed. See failureCode for more information.
 11870  	//
 11871  	// PartialFailed
 11872  	//
 11873  	// Some worlds did not generate.
 11874  	//
 11875  	// Canceled
 11876  	//
 11877  	// The world generation job was cancelled.
 11878  	//
 11879  	// Canceling
 11880  	//
 11881  	// The world generation job is being cancelled.
 11882  	Status *string `locationName:"status" type:"string" enum:"WorldGenerationJobStatus"`
 11883  
 11884  	// A map that contains tag keys and tag values that are attached to the world
 11885  	// generation job.
 11886  	Tags map[string]*string `locationName:"tags" type:"map"`
 11887  
 11888  	// The Amazon Resource Name (arn) of the world template.
 11889  	Template *string `locationName:"template" min:"1" type:"string"`
 11890  
 11891  	// Information about the world count.
 11892  	WorldCount *WorldCount `locationName:"worldCount" type:"structure"`
 11893  
 11894  	// A map that contains tag keys and tag values that are attached to the generated
 11895  	// worlds.
 11896  	WorldTags map[string]*string `locationName:"worldTags" type:"map"`
 11897  }
 11898  
 11899  // String returns the string representation.
 11900  //
 11901  // API parameter values that are decorated as "sensitive" in the API will not
 11902  // be included in the string output. The member name will be present, but the
 11903  // value will be replaced with "sensitive".
 11904  func (s DescribeWorldGenerationJobOutput) String() string {
 11905  	return awsutil.Prettify(s)
 11906  }
 11907  
 11908  // GoString returns the string representation.
 11909  //
 11910  // API parameter values that are decorated as "sensitive" in the API will not
 11911  // be included in the string output. The member name will be present, but the
 11912  // value will be replaced with "sensitive".
 11913  func (s DescribeWorldGenerationJobOutput) GoString() string {
 11914  	return s.String()
 11915  }
 11916  
 11917  // SetArn sets the Arn field's value.
 11918  func (s *DescribeWorldGenerationJobOutput) SetArn(v string) *DescribeWorldGenerationJobOutput {
 11919  	s.Arn = &v
 11920  	return s
 11921  }
 11922  
 11923  // SetClientRequestToken sets the ClientRequestToken field's value.
 11924  func (s *DescribeWorldGenerationJobOutput) SetClientRequestToken(v string) *DescribeWorldGenerationJobOutput {
 11925  	s.ClientRequestToken = &v
 11926  	return s
 11927  }
 11928  
 11929  // SetCreatedAt sets the CreatedAt field's value.
 11930  func (s *DescribeWorldGenerationJobOutput) SetCreatedAt(v time.Time) *DescribeWorldGenerationJobOutput {
 11931  	s.CreatedAt = &v
 11932  	return s
 11933  }
 11934  
 11935  // SetFailureCode sets the FailureCode field's value.
 11936  func (s *DescribeWorldGenerationJobOutput) SetFailureCode(v string) *DescribeWorldGenerationJobOutput {
 11937  	s.FailureCode = &v
 11938  	return s
 11939  }
 11940  
 11941  // SetFailureReason sets the FailureReason field's value.
 11942  func (s *DescribeWorldGenerationJobOutput) SetFailureReason(v string) *DescribeWorldGenerationJobOutput {
 11943  	s.FailureReason = &v
 11944  	return s
 11945  }
 11946  
 11947  // SetFinishedWorldsSummary sets the FinishedWorldsSummary field's value.
 11948  func (s *DescribeWorldGenerationJobOutput) SetFinishedWorldsSummary(v *FinishedWorldsSummary) *DescribeWorldGenerationJobOutput {
 11949  	s.FinishedWorldsSummary = v
 11950  	return s
 11951  }
 11952  
 11953  // SetStatus sets the Status field's value.
 11954  func (s *DescribeWorldGenerationJobOutput) SetStatus(v string) *DescribeWorldGenerationJobOutput {
 11955  	s.Status = &v
 11956  	return s
 11957  }
 11958  
 11959  // SetTags sets the Tags field's value.
 11960  func (s *DescribeWorldGenerationJobOutput) SetTags(v map[string]*string) *DescribeWorldGenerationJobOutput {
 11961  	s.Tags = v
 11962  	return s
 11963  }
 11964  
 11965  // SetTemplate sets the Template field's value.
 11966  func (s *DescribeWorldGenerationJobOutput) SetTemplate(v string) *DescribeWorldGenerationJobOutput {
 11967  	s.Template = &v
 11968  	return s
 11969  }
 11970  
 11971  // SetWorldCount sets the WorldCount field's value.
 11972  func (s *DescribeWorldGenerationJobOutput) SetWorldCount(v *WorldCount) *DescribeWorldGenerationJobOutput {
 11973  	s.WorldCount = v
 11974  	return s
 11975  }
 11976  
 11977  // SetWorldTags sets the WorldTags field's value.
 11978  func (s *DescribeWorldGenerationJobOutput) SetWorldTags(v map[string]*string) *DescribeWorldGenerationJobOutput {
 11979  	s.WorldTags = v
 11980  	return s
 11981  }
 11982  
 11983  type DescribeWorldInput struct {
 11984  	_ struct{} `type:"structure"`
 11985  
 11986  	// The Amazon Resource Name (arn) of the world you want to describe.
 11987  	//
 11988  	// World is a required field
 11989  	World *string `locationName:"world" min:"1" type:"string" required:"true"`
 11990  }
 11991  
 11992  // String returns the string representation.
 11993  //
 11994  // API parameter values that are decorated as "sensitive" in the API will not
 11995  // be included in the string output. The member name will be present, but the
 11996  // value will be replaced with "sensitive".
 11997  func (s DescribeWorldInput) String() string {
 11998  	return awsutil.Prettify(s)
 11999  }
 12000  
 12001  // GoString returns the string representation.
 12002  //
 12003  // API parameter values that are decorated as "sensitive" in the API will not
 12004  // be included in the string output. The member name will be present, but the
 12005  // value will be replaced with "sensitive".
 12006  func (s DescribeWorldInput) GoString() string {
 12007  	return s.String()
 12008  }
 12009  
 12010  // Validate inspects the fields of the type to determine if they are valid.
 12011  func (s *DescribeWorldInput) Validate() error {
 12012  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldInput"}
 12013  	if s.World == nil {
 12014  		invalidParams.Add(request.NewErrParamRequired("World"))
 12015  	}
 12016  	if s.World != nil && len(*s.World) < 1 {
 12017  		invalidParams.Add(request.NewErrParamMinLen("World", 1))
 12018  	}
 12019  
 12020  	if invalidParams.Len() > 0 {
 12021  		return invalidParams
 12022  	}
 12023  	return nil
 12024  }
 12025  
 12026  // SetWorld sets the World field's value.
 12027  func (s *DescribeWorldInput) SetWorld(v string) *DescribeWorldInput {
 12028  	s.World = &v
 12029  	return s
 12030  }
 12031  
 12032  type DescribeWorldOutput struct {
 12033  	_ struct{} `type:"structure"`
 12034  
 12035  	// The Amazon Resource Name (arn) of the world.
 12036  	Arn *string `locationName:"arn" min:"1" type:"string"`
 12037  
 12038  	// The time, in milliseconds since the epoch, when the world was created.
 12039  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 12040  
 12041  	// The Amazon Resource Name (arn) of the world generation job that generated
 12042  	// the world.
 12043  	GenerationJob *string `locationName:"generationJob" min:"1" type:"string"`
 12044  
 12045  	// A map that contains tag keys and tag values that are attached to the world.
 12046  	Tags map[string]*string `locationName:"tags" type:"map"`
 12047  
 12048  	// The world template.
 12049  	Template *string `locationName:"template" min:"1" type:"string"`
 12050  
 12051  	// Returns the JSON formatted string that describes the contents of your world.
 12052  	WorldDescriptionBody *string `locationName:"worldDescriptionBody" min:"1" type:"string"`
 12053  }
 12054  
 12055  // String returns the string representation.
 12056  //
 12057  // API parameter values that are decorated as "sensitive" in the API will not
 12058  // be included in the string output. The member name will be present, but the
 12059  // value will be replaced with "sensitive".
 12060  func (s DescribeWorldOutput) String() string {
 12061  	return awsutil.Prettify(s)
 12062  }
 12063  
 12064  // GoString returns the string representation.
 12065  //
 12066  // API parameter values that are decorated as "sensitive" in the API will not
 12067  // be included in the string output. The member name will be present, but the
 12068  // value will be replaced with "sensitive".
 12069  func (s DescribeWorldOutput) GoString() string {
 12070  	return s.String()
 12071  }
 12072  
 12073  // SetArn sets the Arn field's value.
 12074  func (s *DescribeWorldOutput) SetArn(v string) *DescribeWorldOutput {
 12075  	s.Arn = &v
 12076  	return s
 12077  }
 12078  
 12079  // SetCreatedAt sets the CreatedAt field's value.
 12080  func (s *DescribeWorldOutput) SetCreatedAt(v time.Time) *DescribeWorldOutput {
 12081  	s.CreatedAt = &v
 12082  	return s
 12083  }
 12084  
 12085  // SetGenerationJob sets the GenerationJob field's value.
 12086  func (s *DescribeWorldOutput) SetGenerationJob(v string) *DescribeWorldOutput {
 12087  	s.GenerationJob = &v
 12088  	return s
 12089  }
 12090  
 12091  // SetTags sets the Tags field's value.
 12092  func (s *DescribeWorldOutput) SetTags(v map[string]*string) *DescribeWorldOutput {
 12093  	s.Tags = v
 12094  	return s
 12095  }
 12096  
 12097  // SetTemplate sets the Template field's value.
 12098  func (s *DescribeWorldOutput) SetTemplate(v string) *DescribeWorldOutput {
 12099  	s.Template = &v
 12100  	return s
 12101  }
 12102  
 12103  // SetWorldDescriptionBody sets the WorldDescriptionBody field's value.
 12104  func (s *DescribeWorldOutput) SetWorldDescriptionBody(v string) *DescribeWorldOutput {
 12105  	s.WorldDescriptionBody = &v
 12106  	return s
 12107  }
 12108  
 12109  type DescribeWorldTemplateInput struct {
 12110  	_ struct{} `type:"structure"`
 12111  
 12112  	// The Amazon Resource Name (arn) of the world template you want to describe.
 12113  	//
 12114  	// Template is a required field
 12115  	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
 12116  }
 12117  
 12118  // String returns the string representation.
 12119  //
 12120  // API parameter values that are decorated as "sensitive" in the API will not
 12121  // be included in the string output. The member name will be present, but the
 12122  // value will be replaced with "sensitive".
 12123  func (s DescribeWorldTemplateInput) String() string {
 12124  	return awsutil.Prettify(s)
 12125  }
 12126  
 12127  // GoString returns the string representation.
 12128  //
 12129  // API parameter values that are decorated as "sensitive" in the API will not
 12130  // be included in the string output. The member name will be present, but the
 12131  // value will be replaced with "sensitive".
 12132  func (s DescribeWorldTemplateInput) GoString() string {
 12133  	return s.String()
 12134  }
 12135  
 12136  // Validate inspects the fields of the type to determine if they are valid.
 12137  func (s *DescribeWorldTemplateInput) Validate() error {
 12138  	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldTemplateInput"}
 12139  	if s.Template == nil {
 12140  		invalidParams.Add(request.NewErrParamRequired("Template"))
 12141  	}
 12142  	if s.Template != nil && len(*s.Template) < 1 {
 12143  		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
 12144  	}
 12145  
 12146  	if invalidParams.Len() > 0 {
 12147  		return invalidParams
 12148  	}
 12149  	return nil
 12150  }
 12151  
 12152  // SetTemplate sets the Template field's value.
 12153  func (s *DescribeWorldTemplateInput) SetTemplate(v string) *DescribeWorldTemplateInput {
 12154  	s.Template = &v
 12155  	return s
 12156  }
 12157  
 12158  type DescribeWorldTemplateOutput struct {
 12159  	_ struct{} `type:"structure"`
 12160  
 12161  	// The Amazon Resource Name (ARN) of the world template.
 12162  	Arn *string `locationName:"arn" min:"1" type:"string"`
 12163  
 12164  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 12165  	// of the request.
 12166  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 12167  
 12168  	// The time, in milliseconds since the epoch, when the world template was created.
 12169  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 12170  
 12171  	// The time, in milliseconds since the epoch, when the world template was last
 12172  	// updated.
 12173  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 12174  
 12175  	// The name of the world template.
 12176  	Name *string `locationName:"name" type:"string"`
 12177  
 12178  	// A map that contains tag keys and tag values that are attached to the world
 12179  	// template.
 12180  	Tags map[string]*string `locationName:"tags" type:"map"`
 12181  
 12182  	// The version of the world template that you're using.
 12183  	Version *string `locationName:"version" type:"string"`
 12184  }
 12185  
 12186  // String returns the string representation.
 12187  //
 12188  // API parameter values that are decorated as "sensitive" in the API will not
 12189  // be included in the string output. The member name will be present, but the
 12190  // value will be replaced with "sensitive".
 12191  func (s DescribeWorldTemplateOutput) String() string {
 12192  	return awsutil.Prettify(s)
 12193  }
 12194  
 12195  // GoString returns the string representation.
 12196  //
 12197  // API parameter values that are decorated as "sensitive" in the API will not
 12198  // be included in the string output. The member name will be present, but the
 12199  // value will be replaced with "sensitive".
 12200  func (s DescribeWorldTemplateOutput) GoString() string {
 12201  	return s.String()
 12202  }
 12203  
 12204  // SetArn sets the Arn field's value.
 12205  func (s *DescribeWorldTemplateOutput) SetArn(v string) *DescribeWorldTemplateOutput {
 12206  	s.Arn = &v
 12207  	return s
 12208  }
 12209  
 12210  // SetClientRequestToken sets the ClientRequestToken field's value.
 12211  func (s *DescribeWorldTemplateOutput) SetClientRequestToken(v string) *DescribeWorldTemplateOutput {
 12212  	s.ClientRequestToken = &v
 12213  	return s
 12214  }
 12215  
 12216  // SetCreatedAt sets the CreatedAt field's value.
 12217  func (s *DescribeWorldTemplateOutput) SetCreatedAt(v time.Time) *DescribeWorldTemplateOutput {
 12218  	s.CreatedAt = &v
 12219  	return s
 12220  }
 12221  
 12222  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 12223  func (s *DescribeWorldTemplateOutput) SetLastUpdatedAt(v time.Time) *DescribeWorldTemplateOutput {
 12224  	s.LastUpdatedAt = &v
 12225  	return s
 12226  }
 12227  
 12228  // SetName sets the Name field's value.
 12229  func (s *DescribeWorldTemplateOutput) SetName(v string) *DescribeWorldTemplateOutput {
 12230  	s.Name = &v
 12231  	return s
 12232  }
 12233  
 12234  // SetTags sets the Tags field's value.
 12235  func (s *DescribeWorldTemplateOutput) SetTags(v map[string]*string) *DescribeWorldTemplateOutput {
 12236  	s.Tags = v
 12237  	return s
 12238  }
 12239  
 12240  // SetVersion sets the Version field's value.
 12241  func (s *DescribeWorldTemplateOutput) SetVersion(v string) *DescribeWorldTemplateOutput {
 12242  	s.Version = &v
 12243  	return s
 12244  }
 12245  
 12246  // The object that contains the Docker image URI for either your robot or simulation
 12247  // applications.
 12248  type Environment struct {
 12249  	_ struct{} `type:"structure"`
 12250  
 12251  	// The Docker image URI for either your robot or simulation applications.
 12252  	Uri *string `locationName:"uri" min:"1" type:"string"`
 12253  }
 12254  
 12255  // String returns the string representation.
 12256  //
 12257  // API parameter values that are decorated as "sensitive" in the API will not
 12258  // be included in the string output. The member name will be present, but the
 12259  // value will be replaced with "sensitive".
 12260  func (s Environment) String() string {
 12261  	return awsutil.Prettify(s)
 12262  }
 12263  
 12264  // GoString returns the string representation.
 12265  //
 12266  // API parameter values that are decorated as "sensitive" in the API will not
 12267  // be included in the string output. The member name will be present, but the
 12268  // value will be replaced with "sensitive".
 12269  func (s Environment) GoString() string {
 12270  	return s.String()
 12271  }
 12272  
 12273  // Validate inspects the fields of the type to determine if they are valid.
 12274  func (s *Environment) Validate() error {
 12275  	invalidParams := request.ErrInvalidParams{Context: "Environment"}
 12276  	if s.Uri != nil && len(*s.Uri) < 1 {
 12277  		invalidParams.Add(request.NewErrParamMinLen("Uri", 1))
 12278  	}
 12279  
 12280  	if invalidParams.Len() > 0 {
 12281  		return invalidParams
 12282  	}
 12283  	return nil
 12284  }
 12285  
 12286  // SetUri sets the Uri field's value.
 12287  func (s *Environment) SetUri(v string) *Environment {
 12288  	s.Uri = &v
 12289  	return s
 12290  }
 12291  
 12292  // Information about a failed create simulation job request.
 12293  type FailedCreateSimulationJobRequest struct {
 12294  	_ struct{} `type:"structure"`
 12295  
 12296  	// The time, in milliseconds since the epoch, when the simulation job batch
 12297  	// failed.
 12298  	FailedAt *time.Time `locationName:"failedAt" type:"timestamp"`
 12299  
 12300  	// The failure code.
 12301  	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
 12302  
 12303  	// The failure reason of the simulation job request.
 12304  	FailureReason *string `locationName:"failureReason" type:"string"`
 12305  
 12306  	// The simulation job request.
 12307  	Request *SimulationJobRequest `locationName:"request" type:"structure"`
 12308  }
 12309  
 12310  // String returns the string representation.
 12311  //
 12312  // API parameter values that are decorated as "sensitive" in the API will not
 12313  // be included in the string output. The member name will be present, but the
 12314  // value will be replaced with "sensitive".
 12315  func (s FailedCreateSimulationJobRequest) String() string {
 12316  	return awsutil.Prettify(s)
 12317  }
 12318  
 12319  // GoString returns the string representation.
 12320  //
 12321  // API parameter values that are decorated as "sensitive" in the API will not
 12322  // be included in the string output. The member name will be present, but the
 12323  // value will be replaced with "sensitive".
 12324  func (s FailedCreateSimulationJobRequest) GoString() string {
 12325  	return s.String()
 12326  }
 12327  
 12328  // SetFailedAt sets the FailedAt field's value.
 12329  func (s *FailedCreateSimulationJobRequest) SetFailedAt(v time.Time) *FailedCreateSimulationJobRequest {
 12330  	s.FailedAt = &v
 12331  	return s
 12332  }
 12333  
 12334  // SetFailureCode sets the FailureCode field's value.
 12335  func (s *FailedCreateSimulationJobRequest) SetFailureCode(v string) *FailedCreateSimulationJobRequest {
 12336  	s.FailureCode = &v
 12337  	return s
 12338  }
 12339  
 12340  // SetFailureReason sets the FailureReason field's value.
 12341  func (s *FailedCreateSimulationJobRequest) SetFailureReason(v string) *FailedCreateSimulationJobRequest {
 12342  	s.FailureReason = &v
 12343  	return s
 12344  }
 12345  
 12346  // SetRequest sets the Request field's value.
 12347  func (s *FailedCreateSimulationJobRequest) SetRequest(v *SimulationJobRequest) *FailedCreateSimulationJobRequest {
 12348  	s.Request = v
 12349  	return s
 12350  }
 12351  
 12352  // Information about worlds that failed.
 12353  type FailureSummary struct {
 12354  	_ struct{} `type:"structure"`
 12355  
 12356  	// The worlds that failed.
 12357  	Failures []*WorldFailure `locationName:"failures" type:"list"`
 12358  
 12359  	// The total number of failures.
 12360  	TotalFailureCount *int64 `locationName:"totalFailureCount" type:"integer"`
 12361  }
 12362  
 12363  // String returns the string representation.
 12364  //
 12365  // API parameter values that are decorated as "sensitive" in the API will not
 12366  // be included in the string output. The member name will be present, but the
 12367  // value will be replaced with "sensitive".
 12368  func (s FailureSummary) String() string {
 12369  	return awsutil.Prettify(s)
 12370  }
 12371  
 12372  // GoString returns the string representation.
 12373  //
 12374  // API parameter values that are decorated as "sensitive" in the API will not
 12375  // be included in the string output. The member name will be present, but the
 12376  // value will be replaced with "sensitive".
 12377  func (s FailureSummary) GoString() string {
 12378  	return s.String()
 12379  }
 12380  
 12381  // SetFailures sets the Failures field's value.
 12382  func (s *FailureSummary) SetFailures(v []*WorldFailure) *FailureSummary {
 12383  	s.Failures = v
 12384  	return s
 12385  }
 12386  
 12387  // SetTotalFailureCount sets the TotalFailureCount field's value.
 12388  func (s *FailureSummary) SetTotalFailureCount(v int64) *FailureSummary {
 12389  	s.TotalFailureCount = &v
 12390  	return s
 12391  }
 12392  
 12393  // Information about a filter.
 12394  type Filter struct {
 12395  	_ struct{} `type:"structure"`
 12396  
 12397  	// The name of the filter.
 12398  	Name *string `locationName:"name" min:"1" type:"string"`
 12399  
 12400  	// A list of values.
 12401  	Values []*string `locationName:"values" min:"1" type:"list"`
 12402  }
 12403  
 12404  // String returns the string representation.
 12405  //
 12406  // API parameter values that are decorated as "sensitive" in the API will not
 12407  // be included in the string output. The member name will be present, but the
 12408  // value will be replaced with "sensitive".
 12409  func (s Filter) String() string {
 12410  	return awsutil.Prettify(s)
 12411  }
 12412  
 12413  // GoString returns the string representation.
 12414  //
 12415  // API parameter values that are decorated as "sensitive" in the API will not
 12416  // be included in the string output. The member name will be present, but the
 12417  // value will be replaced with "sensitive".
 12418  func (s Filter) GoString() string {
 12419  	return s.String()
 12420  }
 12421  
 12422  // Validate inspects the fields of the type to determine if they are valid.
 12423  func (s *Filter) Validate() error {
 12424  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
 12425  	if s.Name != nil && len(*s.Name) < 1 {
 12426  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 12427  	}
 12428  	if s.Values != nil && len(s.Values) < 1 {
 12429  		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
 12430  	}
 12431  
 12432  	if invalidParams.Len() > 0 {
 12433  		return invalidParams
 12434  	}
 12435  	return nil
 12436  }
 12437  
 12438  // SetName sets the Name field's value.
 12439  func (s *Filter) SetName(v string) *Filter {
 12440  	s.Name = &v
 12441  	return s
 12442  }
 12443  
 12444  // SetValues sets the Values field's value.
 12445  func (s *Filter) SetValues(v []*string) *Filter {
 12446  	s.Values = v
 12447  	return s
 12448  }
 12449  
 12450  // Information about worlds that finished.
 12451  type FinishedWorldsSummary struct {
 12452  	_ struct{} `type:"structure"`
 12453  
 12454  	// Information about worlds that failed.
 12455  	FailureSummary *FailureSummary `locationName:"failureSummary" type:"structure"`
 12456  
 12457  	// The total number of finished worlds.
 12458  	FinishedCount *int64 `locationName:"finishedCount" type:"integer"`
 12459  
 12460  	// A list of worlds that succeeded.
 12461  	SucceededWorlds []*string `locationName:"succeededWorlds" min:"1" type:"list"`
 12462  }
 12463  
 12464  // String returns the string representation.
 12465  //
 12466  // API parameter values that are decorated as "sensitive" in the API will not
 12467  // be included in the string output. The member name will be present, but the
 12468  // value will be replaced with "sensitive".
 12469  func (s FinishedWorldsSummary) String() string {
 12470  	return awsutil.Prettify(s)
 12471  }
 12472  
 12473  // GoString returns the string representation.
 12474  //
 12475  // API parameter values that are decorated as "sensitive" in the API will not
 12476  // be included in the string output. The member name will be present, but the
 12477  // value will be replaced with "sensitive".
 12478  func (s FinishedWorldsSummary) GoString() string {
 12479  	return s.String()
 12480  }
 12481  
 12482  // SetFailureSummary sets the FailureSummary field's value.
 12483  func (s *FinishedWorldsSummary) SetFailureSummary(v *FailureSummary) *FinishedWorldsSummary {
 12484  	s.FailureSummary = v
 12485  	return s
 12486  }
 12487  
 12488  // SetFinishedCount sets the FinishedCount field's value.
 12489  func (s *FinishedWorldsSummary) SetFinishedCount(v int64) *FinishedWorldsSummary {
 12490  	s.FinishedCount = &v
 12491  	return s
 12492  }
 12493  
 12494  // SetSucceededWorlds sets the SucceededWorlds field's value.
 12495  func (s *FinishedWorldsSummary) SetSucceededWorlds(v []*string) *FinishedWorldsSummary {
 12496  	s.SucceededWorlds = v
 12497  	return s
 12498  }
 12499  
 12500  // Information about a fleet.
 12501  type Fleet struct {
 12502  	_ struct{} `type:"structure"`
 12503  
 12504  	// The Amazon Resource Name (ARN) of the fleet.
 12505  	Arn *string `locationName:"arn" min:"1" type:"string"`
 12506  
 12507  	// The time, in milliseconds since the epoch, when the fleet was created.
 12508  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 12509  
 12510  	// The Amazon Resource Name (ARN) of the last deployment job.
 12511  	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
 12512  
 12513  	// The status of the last fleet deployment.
 12514  	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
 12515  
 12516  	// The time of the last deployment.
 12517  	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
 12518  
 12519  	// The name of the fleet.
 12520  	Name *string `locationName:"name" min:"1" type:"string"`
 12521  }
 12522  
 12523  // String returns the string representation.
 12524  //
 12525  // API parameter values that are decorated as "sensitive" in the API will not
 12526  // be included in the string output. The member name will be present, but the
 12527  // value will be replaced with "sensitive".
 12528  func (s Fleet) String() string {
 12529  	return awsutil.Prettify(s)
 12530  }
 12531  
 12532  // GoString returns the string representation.
 12533  //
 12534  // API parameter values that are decorated as "sensitive" in the API will not
 12535  // be included in the string output. The member name will be present, but the
 12536  // value will be replaced with "sensitive".
 12537  func (s Fleet) GoString() string {
 12538  	return s.String()
 12539  }
 12540  
 12541  // SetArn sets the Arn field's value.
 12542  func (s *Fleet) SetArn(v string) *Fleet {
 12543  	s.Arn = &v
 12544  	return s
 12545  }
 12546  
 12547  // SetCreatedAt sets the CreatedAt field's value.
 12548  func (s *Fleet) SetCreatedAt(v time.Time) *Fleet {
 12549  	s.CreatedAt = &v
 12550  	return s
 12551  }
 12552  
 12553  // SetLastDeploymentJob sets the LastDeploymentJob field's value.
 12554  func (s *Fleet) SetLastDeploymentJob(v string) *Fleet {
 12555  	s.LastDeploymentJob = &v
 12556  	return s
 12557  }
 12558  
 12559  // SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
 12560  func (s *Fleet) SetLastDeploymentStatus(v string) *Fleet {
 12561  	s.LastDeploymentStatus = &v
 12562  	return s
 12563  }
 12564  
 12565  // SetLastDeploymentTime sets the LastDeploymentTime field's value.
 12566  func (s *Fleet) SetLastDeploymentTime(v time.Time) *Fleet {
 12567  	s.LastDeploymentTime = &v
 12568  	return s
 12569  }
 12570  
 12571  // SetName sets the Name field's value.
 12572  func (s *Fleet) SetName(v string) *Fleet {
 12573  	s.Name = &v
 12574  	return s
 12575  }
 12576  
 12577  type GetWorldTemplateBodyInput struct {
 12578  	_ struct{} `type:"structure"`
 12579  
 12580  	// The Amazon Resource Name (arn) of the world generator job.
 12581  	GenerationJob *string `locationName:"generationJob" min:"1" type:"string"`
 12582  
 12583  	// The Amazon Resource Name (arn) of the world template.
 12584  	Template *string `locationName:"template" min:"1" type:"string"`
 12585  }
 12586  
 12587  // String returns the string representation.
 12588  //
 12589  // API parameter values that are decorated as "sensitive" in the API will not
 12590  // be included in the string output. The member name will be present, but the
 12591  // value will be replaced with "sensitive".
 12592  func (s GetWorldTemplateBodyInput) String() string {
 12593  	return awsutil.Prettify(s)
 12594  }
 12595  
 12596  // GoString returns the string representation.
 12597  //
 12598  // API parameter values that are decorated as "sensitive" in the API will not
 12599  // be included in the string output. The member name will be present, but the
 12600  // value will be replaced with "sensitive".
 12601  func (s GetWorldTemplateBodyInput) GoString() string {
 12602  	return s.String()
 12603  }
 12604  
 12605  // Validate inspects the fields of the type to determine if they are valid.
 12606  func (s *GetWorldTemplateBodyInput) Validate() error {
 12607  	invalidParams := request.ErrInvalidParams{Context: "GetWorldTemplateBodyInput"}
 12608  	if s.GenerationJob != nil && len(*s.GenerationJob) < 1 {
 12609  		invalidParams.Add(request.NewErrParamMinLen("GenerationJob", 1))
 12610  	}
 12611  	if s.Template != nil && len(*s.Template) < 1 {
 12612  		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
 12613  	}
 12614  
 12615  	if invalidParams.Len() > 0 {
 12616  		return invalidParams
 12617  	}
 12618  	return nil
 12619  }
 12620  
 12621  // SetGenerationJob sets the GenerationJob field's value.
 12622  func (s *GetWorldTemplateBodyInput) SetGenerationJob(v string) *GetWorldTemplateBodyInput {
 12623  	s.GenerationJob = &v
 12624  	return s
 12625  }
 12626  
 12627  // SetTemplate sets the Template field's value.
 12628  func (s *GetWorldTemplateBodyInput) SetTemplate(v string) *GetWorldTemplateBodyInput {
 12629  	s.Template = &v
 12630  	return s
 12631  }
 12632  
 12633  type GetWorldTemplateBodyOutput struct {
 12634  	_ struct{} `type:"structure"`
 12635  
 12636  	// The world template body.
 12637  	TemplateBody *string `locationName:"templateBody" min:"1" type:"string"`
 12638  }
 12639  
 12640  // String returns the string representation.
 12641  //
 12642  // API parameter values that are decorated as "sensitive" in the API will not
 12643  // be included in the string output. The member name will be present, but the
 12644  // value will be replaced with "sensitive".
 12645  func (s GetWorldTemplateBodyOutput) String() string {
 12646  	return awsutil.Prettify(s)
 12647  }
 12648  
 12649  // GoString returns the string representation.
 12650  //
 12651  // API parameter values that are decorated as "sensitive" in the API will not
 12652  // be included in the string output. The member name will be present, but the
 12653  // value will be replaced with "sensitive".
 12654  func (s GetWorldTemplateBodyOutput) GoString() string {
 12655  	return s.String()
 12656  }
 12657  
 12658  // SetTemplateBody sets the TemplateBody field's value.
 12659  func (s *GetWorldTemplateBodyOutput) SetTemplateBody(v string) *GetWorldTemplateBodyOutput {
 12660  	s.TemplateBody = &v
 12661  	return s
 12662  }
 12663  
 12664  // The request uses the same client token as a previous, but non-identical request.
 12665  // Do not reuse a client token with different requests, unless the requests
 12666  // are identical.
 12667  type IdempotentParameterMismatchException struct {
 12668  	_            struct{}                  `type:"structure"`
 12669  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12670  
 12671  	Message_ *string `locationName:"message" type:"string"`
 12672  }
 12673  
 12674  // String returns the string representation.
 12675  //
 12676  // API parameter values that are decorated as "sensitive" in the API will not
 12677  // be included in the string output. The member name will be present, but the
 12678  // value will be replaced with "sensitive".
 12679  func (s IdempotentParameterMismatchException) String() string {
 12680  	return awsutil.Prettify(s)
 12681  }
 12682  
 12683  // GoString returns the string representation.
 12684  //
 12685  // API parameter values that are decorated as "sensitive" in the API will not
 12686  // be included in the string output. The member name will be present, but the
 12687  // value will be replaced with "sensitive".
 12688  func (s IdempotentParameterMismatchException) GoString() string {
 12689  	return s.String()
 12690  }
 12691  
 12692  func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
 12693  	return &IdempotentParameterMismatchException{
 12694  		RespMetadata: v,
 12695  	}
 12696  }
 12697  
 12698  // Code returns the exception type name.
 12699  func (s *IdempotentParameterMismatchException) Code() string {
 12700  	return "IdempotentParameterMismatchException"
 12701  }
 12702  
 12703  // Message returns the exception's message.
 12704  func (s *IdempotentParameterMismatchException) Message() string {
 12705  	if s.Message_ != nil {
 12706  		return *s.Message_
 12707  	}
 12708  	return ""
 12709  }
 12710  
 12711  // OrigErr always returns nil, satisfies awserr.Error interface.
 12712  func (s *IdempotentParameterMismatchException) OrigErr() error {
 12713  	return nil
 12714  }
 12715  
 12716  func (s *IdempotentParameterMismatchException) Error() string {
 12717  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12718  }
 12719  
 12720  // Status code returns the HTTP status code for the request's response error.
 12721  func (s *IdempotentParameterMismatchException) StatusCode() int {
 12722  	return s.RespMetadata.StatusCode
 12723  }
 12724  
 12725  // RequestID returns the service's response RequestID for request.
 12726  func (s *IdempotentParameterMismatchException) RequestID() string {
 12727  	return s.RespMetadata.RequestID
 12728  }
 12729  
 12730  // AWS RoboMaker experienced a service issue. Try your call again.
 12731  type InternalServerException struct {
 12732  	_            struct{}                  `type:"structure"`
 12733  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12734  
 12735  	Message_ *string `locationName:"message" type:"string"`
 12736  }
 12737  
 12738  // String returns the string representation.
 12739  //
 12740  // API parameter values that are decorated as "sensitive" in the API will not
 12741  // be included in the string output. The member name will be present, but the
 12742  // value will be replaced with "sensitive".
 12743  func (s InternalServerException) String() string {
 12744  	return awsutil.Prettify(s)
 12745  }
 12746  
 12747  // GoString returns the string representation.
 12748  //
 12749  // API parameter values that are decorated as "sensitive" in the API will not
 12750  // be included in the string output. The member name will be present, but the
 12751  // value will be replaced with "sensitive".
 12752  func (s InternalServerException) GoString() string {
 12753  	return s.String()
 12754  }
 12755  
 12756  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
 12757  	return &InternalServerException{
 12758  		RespMetadata: v,
 12759  	}
 12760  }
 12761  
 12762  // Code returns the exception type name.
 12763  func (s *InternalServerException) Code() string {
 12764  	return "InternalServerException"
 12765  }
 12766  
 12767  // Message returns the exception's message.
 12768  func (s *InternalServerException) Message() string {
 12769  	if s.Message_ != nil {
 12770  		return *s.Message_
 12771  	}
 12772  	return ""
 12773  }
 12774  
 12775  // OrigErr always returns nil, satisfies awserr.Error interface.
 12776  func (s *InternalServerException) OrigErr() error {
 12777  	return nil
 12778  }
 12779  
 12780  func (s *InternalServerException) Error() string {
 12781  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12782  }
 12783  
 12784  // Status code returns the HTTP status code for the request's response error.
 12785  func (s *InternalServerException) StatusCode() int {
 12786  	return s.RespMetadata.StatusCode
 12787  }
 12788  
 12789  // RequestID returns the service's response RequestID for request.
 12790  func (s *InternalServerException) RequestID() string {
 12791  	return s.RespMetadata.RequestID
 12792  }
 12793  
 12794  // A parameter specified in a request is not valid, is unsupported, or cannot
 12795  // be used. The returned message provides an explanation of the error value.
 12796  type InvalidParameterException struct {
 12797  	_            struct{}                  `type:"structure"`
 12798  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12799  
 12800  	Message_ *string `locationName:"message" type:"string"`
 12801  }
 12802  
 12803  // String returns the string representation.
 12804  //
 12805  // API parameter values that are decorated as "sensitive" in the API will not
 12806  // be included in the string output. The member name will be present, but the
 12807  // value will be replaced with "sensitive".
 12808  func (s InvalidParameterException) String() string {
 12809  	return awsutil.Prettify(s)
 12810  }
 12811  
 12812  // GoString returns the string representation.
 12813  //
 12814  // API parameter values that are decorated as "sensitive" in the API will not
 12815  // be included in the string output. The member name will be present, but the
 12816  // value will be replaced with "sensitive".
 12817  func (s InvalidParameterException) GoString() string {
 12818  	return s.String()
 12819  }
 12820  
 12821  func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
 12822  	return &InvalidParameterException{
 12823  		RespMetadata: v,
 12824  	}
 12825  }
 12826  
 12827  // Code returns the exception type name.
 12828  func (s *InvalidParameterException) Code() string {
 12829  	return "InvalidParameterException"
 12830  }
 12831  
 12832  // Message returns the exception's message.
 12833  func (s *InvalidParameterException) Message() string {
 12834  	if s.Message_ != nil {
 12835  		return *s.Message_
 12836  	}
 12837  	return ""
 12838  }
 12839  
 12840  // OrigErr always returns nil, satisfies awserr.Error interface.
 12841  func (s *InvalidParameterException) OrigErr() error {
 12842  	return nil
 12843  }
 12844  
 12845  func (s *InvalidParameterException) Error() string {
 12846  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 12847  }
 12848  
 12849  // Status code returns the HTTP status code for the request's response error.
 12850  func (s *InvalidParameterException) StatusCode() int {
 12851  	return s.RespMetadata.StatusCode
 12852  }
 12853  
 12854  // RequestID returns the service's response RequestID for request.
 12855  func (s *InvalidParameterException) RequestID() string {
 12856  	return s.RespMetadata.RequestID
 12857  }
 12858  
 12859  // Information about a launch configuration.
 12860  type LaunchConfig struct {
 12861  	_ struct{} `type:"structure"`
 12862  
 12863  	// The environment variables for the application launch.
 12864  	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
 12865  
 12866  	// The launch file name.
 12867  	//
 12868  	// LaunchFile is a required field
 12869  	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
 12870  
 12871  	// The package name.
 12872  	//
 12873  	// PackageName is a required field
 12874  	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
 12875  
 12876  	// The port forwarding configuration.
 12877  	PortForwardingConfig *PortForwardingConfig `locationName:"portForwardingConfig" type:"structure"`
 12878  
 12879  	// Boolean indicating whether a streaming session will be configured for the
 12880  	// application. If True, AWS RoboMaker will configure a connection so you can
 12881  	// interact with your application as it is running in the simulation. You must
 12882  	// configure and launch the component. It must have a graphical user interface.
 12883  	StreamUI *bool `locationName:"streamUI" type:"boolean"`
 12884  }
 12885  
 12886  // String returns the string representation.
 12887  //
 12888  // API parameter values that are decorated as "sensitive" in the API will not
 12889  // be included in the string output. The member name will be present, but the
 12890  // value will be replaced with "sensitive".
 12891  func (s LaunchConfig) String() string {
 12892  	return awsutil.Prettify(s)
 12893  }
 12894  
 12895  // GoString returns the string representation.
 12896  //
 12897  // API parameter values that are decorated as "sensitive" in the API will not
 12898  // be included in the string output. The member name will be present, but the
 12899  // value will be replaced with "sensitive".
 12900  func (s LaunchConfig) GoString() string {
 12901  	return s.String()
 12902  }
 12903  
 12904  // Validate inspects the fields of the type to determine if they are valid.
 12905  func (s *LaunchConfig) Validate() error {
 12906  	invalidParams := request.ErrInvalidParams{Context: "LaunchConfig"}
 12907  	if s.LaunchFile == nil {
 12908  		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
 12909  	}
 12910  	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
 12911  		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
 12912  	}
 12913  	if s.PackageName == nil {
 12914  		invalidParams.Add(request.NewErrParamRequired("PackageName"))
 12915  	}
 12916  	if s.PackageName != nil && len(*s.PackageName) < 1 {
 12917  		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
 12918  	}
 12919  	if s.PortForwardingConfig != nil {
 12920  		if err := s.PortForwardingConfig.Validate(); err != nil {
 12921  			invalidParams.AddNested("PortForwardingConfig", err.(request.ErrInvalidParams))
 12922  		}
 12923  	}
 12924  
 12925  	if invalidParams.Len() > 0 {
 12926  		return invalidParams
 12927  	}
 12928  	return nil
 12929  }
 12930  
 12931  // SetEnvironmentVariables sets the EnvironmentVariables field's value.
 12932  func (s *LaunchConfig) SetEnvironmentVariables(v map[string]*string) *LaunchConfig {
 12933  	s.EnvironmentVariables = v
 12934  	return s
 12935  }
 12936  
 12937  // SetLaunchFile sets the LaunchFile field's value.
 12938  func (s *LaunchConfig) SetLaunchFile(v string) *LaunchConfig {
 12939  	s.LaunchFile = &v
 12940  	return s
 12941  }
 12942  
 12943  // SetPackageName sets the PackageName field's value.
 12944  func (s *LaunchConfig) SetPackageName(v string) *LaunchConfig {
 12945  	s.PackageName = &v
 12946  	return s
 12947  }
 12948  
 12949  // SetPortForwardingConfig sets the PortForwardingConfig field's value.
 12950  func (s *LaunchConfig) SetPortForwardingConfig(v *PortForwardingConfig) *LaunchConfig {
 12951  	s.PortForwardingConfig = v
 12952  	return s
 12953  }
 12954  
 12955  // SetStreamUI sets the StreamUI field's value.
 12956  func (s *LaunchConfig) SetStreamUI(v bool) *LaunchConfig {
 12957  	s.StreamUI = &v
 12958  	return s
 12959  }
 12960  
 12961  // The requested resource exceeds the maximum number allowed, or the number
 12962  // of concurrent stream requests exceeds the maximum number allowed.
 12963  type LimitExceededException struct {
 12964  	_            struct{}                  `type:"structure"`
 12965  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 12966  
 12967  	Message_ *string `locationName:"message" type:"string"`
 12968  }
 12969  
 12970  // String returns the string representation.
 12971  //
 12972  // API parameter values that are decorated as "sensitive" in the API will not
 12973  // be included in the string output. The member name will be present, but the
 12974  // value will be replaced with "sensitive".
 12975  func (s LimitExceededException) String() string {
 12976  	return awsutil.Prettify(s)
 12977  }
 12978  
 12979  // GoString returns the string representation.
 12980  //
 12981  // API parameter values that are decorated as "sensitive" in the API will not
 12982  // be included in the string output. The member name will be present, but the
 12983  // value will be replaced with "sensitive".
 12984  func (s LimitExceededException) GoString() string {
 12985  	return s.String()
 12986  }
 12987  
 12988  func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
 12989  	return &LimitExceededException{
 12990  		RespMetadata: v,
 12991  	}
 12992  }
 12993  
 12994  // Code returns the exception type name.
 12995  func (s *LimitExceededException) Code() string {
 12996  	return "LimitExceededException"
 12997  }
 12998  
 12999  // Message returns the exception's message.
 13000  func (s *LimitExceededException) Message() string {
 13001  	if s.Message_ != nil {
 13002  		return *s.Message_
 13003  	}
 13004  	return ""
 13005  }
 13006  
 13007  // OrigErr always returns nil, satisfies awserr.Error interface.
 13008  func (s *LimitExceededException) OrigErr() error {
 13009  	return nil
 13010  }
 13011  
 13012  func (s *LimitExceededException) Error() string {
 13013  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 13014  }
 13015  
 13016  // Status code returns the HTTP status code for the request's response error.
 13017  func (s *LimitExceededException) StatusCode() int {
 13018  	return s.RespMetadata.StatusCode
 13019  }
 13020  
 13021  // RequestID returns the service's response RequestID for request.
 13022  func (s *LimitExceededException) RequestID() string {
 13023  	return s.RespMetadata.RequestID
 13024  }
 13025  
 13026  type ListDeploymentJobsInput struct {
 13027  	_ struct{} `type:"structure"`
 13028  
 13029  	// Optional filters to limit results.
 13030  	//
 13031  	// The filter names status and fleetName are supported. When filtering, you
 13032  	// must use the complete value of the filtered item. You can use up to three
 13033  	// filters, but they must be for the same named item. For example, if you are
 13034  	// looking for items with the status InProgress or the status Pending.
 13035  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13036  
 13037  	// When this parameter is used, ListDeploymentJobs only returns maxResults results
 13038  	// in a single page along with a nextToken response element. The remaining results
 13039  	// of the initial request can be seen by sending another ListDeploymentJobs
 13040  	// request with the returned nextToken value. This value can be between 1 and
 13041  	// 200. If this parameter is not used, then ListDeploymentJobs returns up to
 13042  	// 200 results and a nextToken value if applicable.
 13043  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13044  
 13045  	// If the previous paginated request did not return all of the remaining results,
 13046  	// the response object's nextToken parameter value is set to a token. To retrieve
 13047  	// the next set of results, call ListDeploymentJobs again and assign that token
 13048  	// to the request object's nextToken parameter. If there are no remaining results,
 13049  	// the previous response object's NextToken parameter is set to null.
 13050  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13051  }
 13052  
 13053  // String returns the string representation.
 13054  //
 13055  // API parameter values that are decorated as "sensitive" in the API will not
 13056  // be included in the string output. The member name will be present, but the
 13057  // value will be replaced with "sensitive".
 13058  func (s ListDeploymentJobsInput) String() string {
 13059  	return awsutil.Prettify(s)
 13060  }
 13061  
 13062  // GoString returns the string representation.
 13063  //
 13064  // API parameter values that are decorated as "sensitive" in the API will not
 13065  // be included in the string output. The member name will be present, but the
 13066  // value will be replaced with "sensitive".
 13067  func (s ListDeploymentJobsInput) GoString() string {
 13068  	return s.String()
 13069  }
 13070  
 13071  // Validate inspects the fields of the type to determine if they are valid.
 13072  func (s *ListDeploymentJobsInput) Validate() error {
 13073  	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentJobsInput"}
 13074  	if s.Filters != nil && len(s.Filters) < 1 {
 13075  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13076  	}
 13077  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13078  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13079  	}
 13080  	if s.Filters != nil {
 13081  		for i, v := range s.Filters {
 13082  			if v == nil {
 13083  				continue
 13084  			}
 13085  			if err := v.Validate(); err != nil {
 13086  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13087  			}
 13088  		}
 13089  	}
 13090  
 13091  	if invalidParams.Len() > 0 {
 13092  		return invalidParams
 13093  	}
 13094  	return nil
 13095  }
 13096  
 13097  // SetFilters sets the Filters field's value.
 13098  func (s *ListDeploymentJobsInput) SetFilters(v []*Filter) *ListDeploymentJobsInput {
 13099  	s.Filters = v
 13100  	return s
 13101  }
 13102  
 13103  // SetMaxResults sets the MaxResults field's value.
 13104  func (s *ListDeploymentJobsInput) SetMaxResults(v int64) *ListDeploymentJobsInput {
 13105  	s.MaxResults = &v
 13106  	return s
 13107  }
 13108  
 13109  // SetNextToken sets the NextToken field's value.
 13110  func (s *ListDeploymentJobsInput) SetNextToken(v string) *ListDeploymentJobsInput {
 13111  	s.NextToken = &v
 13112  	return s
 13113  }
 13114  
 13115  type ListDeploymentJobsOutput struct {
 13116  	_ struct{} `type:"structure"`
 13117  
 13118  	// A list of deployment jobs that meet the criteria of the request.
 13119  	DeploymentJobs []*DeploymentJob `locationName:"deploymentJobs" type:"list"`
 13120  
 13121  	// If the previous paginated request did not return all of the remaining results,
 13122  	// the response object's nextToken parameter value is set to a token. To retrieve
 13123  	// the next set of results, call ListDeploymentJobs again and assign that token
 13124  	// to the request object's nextToken parameter. If there are no remaining results,
 13125  	// the previous response object's NextToken parameter is set to null.
 13126  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13127  }
 13128  
 13129  // String returns the string representation.
 13130  //
 13131  // API parameter values that are decorated as "sensitive" in the API will not
 13132  // be included in the string output. The member name will be present, but the
 13133  // value will be replaced with "sensitive".
 13134  func (s ListDeploymentJobsOutput) String() string {
 13135  	return awsutil.Prettify(s)
 13136  }
 13137  
 13138  // GoString returns the string representation.
 13139  //
 13140  // API parameter values that are decorated as "sensitive" in the API will not
 13141  // be included in the string output. The member name will be present, but the
 13142  // value will be replaced with "sensitive".
 13143  func (s ListDeploymentJobsOutput) GoString() string {
 13144  	return s.String()
 13145  }
 13146  
 13147  // SetDeploymentJobs sets the DeploymentJobs field's value.
 13148  func (s *ListDeploymentJobsOutput) SetDeploymentJobs(v []*DeploymentJob) *ListDeploymentJobsOutput {
 13149  	s.DeploymentJobs = v
 13150  	return s
 13151  }
 13152  
 13153  // SetNextToken sets the NextToken field's value.
 13154  func (s *ListDeploymentJobsOutput) SetNextToken(v string) *ListDeploymentJobsOutput {
 13155  	s.NextToken = &v
 13156  	return s
 13157  }
 13158  
 13159  type ListFleetsInput struct {
 13160  	_ struct{} `type:"structure"`
 13161  
 13162  	// Optional filters to limit results.
 13163  	//
 13164  	// The filter name name is supported. When filtering, you must use the complete
 13165  	// value of the filtered item. You can use up to three filters.
 13166  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13167  
 13168  	// When this parameter is used, ListFleets only returns maxResults results in
 13169  	// a single page along with a nextToken response element. The remaining results
 13170  	// of the initial request can be seen by sending another ListFleets request
 13171  	// with the returned nextToken value. This value can be between 1 and 200. If
 13172  	// this parameter is not used, then ListFleets returns up to 200 results and
 13173  	// a nextToken value if applicable.
 13174  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13175  
 13176  	// If the previous paginated request did not return all of the remaining results,
 13177  	// the response object's nextToken parameter value is set to a token. To retrieve
 13178  	// the next set of results, call ListFleets again and assign that token to the
 13179  	// request object's nextToken parameter. If there are no remaining results,
 13180  	// the previous response object's NextToken parameter is set to null.
 13181  	//
 13182  	// This token should be treated as an opaque identifier that is only used to
 13183  	// retrieve the next items in a list and not for other programmatic purposes.
 13184  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13185  }
 13186  
 13187  // String returns the string representation.
 13188  //
 13189  // API parameter values that are decorated as "sensitive" in the API will not
 13190  // be included in the string output. The member name will be present, but the
 13191  // value will be replaced with "sensitive".
 13192  func (s ListFleetsInput) String() string {
 13193  	return awsutil.Prettify(s)
 13194  }
 13195  
 13196  // GoString returns the string representation.
 13197  //
 13198  // API parameter values that are decorated as "sensitive" in the API will not
 13199  // be included in the string output. The member name will be present, but the
 13200  // value will be replaced with "sensitive".
 13201  func (s ListFleetsInput) GoString() string {
 13202  	return s.String()
 13203  }
 13204  
 13205  // Validate inspects the fields of the type to determine if they are valid.
 13206  func (s *ListFleetsInput) Validate() error {
 13207  	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
 13208  	if s.Filters != nil && len(s.Filters) < 1 {
 13209  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13210  	}
 13211  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13212  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13213  	}
 13214  	if s.Filters != nil {
 13215  		for i, v := range s.Filters {
 13216  			if v == nil {
 13217  				continue
 13218  			}
 13219  			if err := v.Validate(); err != nil {
 13220  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13221  			}
 13222  		}
 13223  	}
 13224  
 13225  	if invalidParams.Len() > 0 {
 13226  		return invalidParams
 13227  	}
 13228  	return nil
 13229  }
 13230  
 13231  // SetFilters sets the Filters field's value.
 13232  func (s *ListFleetsInput) SetFilters(v []*Filter) *ListFleetsInput {
 13233  	s.Filters = v
 13234  	return s
 13235  }
 13236  
 13237  // SetMaxResults sets the MaxResults field's value.
 13238  func (s *ListFleetsInput) SetMaxResults(v int64) *ListFleetsInput {
 13239  	s.MaxResults = &v
 13240  	return s
 13241  }
 13242  
 13243  // SetNextToken sets the NextToken field's value.
 13244  func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
 13245  	s.NextToken = &v
 13246  	return s
 13247  }
 13248  
 13249  type ListFleetsOutput struct {
 13250  	_ struct{} `type:"structure"`
 13251  
 13252  	// A list of fleet details meeting the request criteria.
 13253  	FleetDetails []*Fleet `locationName:"fleetDetails" type:"list"`
 13254  
 13255  	// If the previous paginated request did not return all of the remaining results,
 13256  	// the response object's nextToken parameter value is set to a token. To retrieve
 13257  	// the next set of results, call ListFleets again and assign that token to the
 13258  	// request object's nextToken parameter. If there are no remaining results,
 13259  	// the previous response object's NextToken parameter is set to null.
 13260  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13261  }
 13262  
 13263  // String returns the string representation.
 13264  //
 13265  // API parameter values that are decorated as "sensitive" in the API will not
 13266  // be included in the string output. The member name will be present, but the
 13267  // value will be replaced with "sensitive".
 13268  func (s ListFleetsOutput) String() string {
 13269  	return awsutil.Prettify(s)
 13270  }
 13271  
 13272  // GoString returns the string representation.
 13273  //
 13274  // API parameter values that are decorated as "sensitive" in the API will not
 13275  // be included in the string output. The member name will be present, but the
 13276  // value will be replaced with "sensitive".
 13277  func (s ListFleetsOutput) GoString() string {
 13278  	return s.String()
 13279  }
 13280  
 13281  // SetFleetDetails sets the FleetDetails field's value.
 13282  func (s *ListFleetsOutput) SetFleetDetails(v []*Fleet) *ListFleetsOutput {
 13283  	s.FleetDetails = v
 13284  	return s
 13285  }
 13286  
 13287  // SetNextToken sets the NextToken field's value.
 13288  func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
 13289  	s.NextToken = &v
 13290  	return s
 13291  }
 13292  
 13293  type ListRobotApplicationsInput struct {
 13294  	_ struct{} `type:"structure"`
 13295  
 13296  	// Optional filters to limit results.
 13297  	//
 13298  	// The filter name name is supported. When filtering, you must use the complete
 13299  	// value of the filtered item. You can use up to three filters.
 13300  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13301  
 13302  	// When this parameter is used, ListRobotApplications only returns maxResults
 13303  	// results in a single page along with a nextToken response element. The remaining
 13304  	// results of the initial request can be seen by sending another ListRobotApplications
 13305  	// request with the returned nextToken value. This value can be between 1 and
 13306  	// 100. If this parameter is not used, then ListRobotApplications returns up
 13307  	// to 100 results and a nextToken value if applicable.
 13308  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13309  
 13310  	// If the previous paginated request did not return all of the remaining results,
 13311  	// the response object's nextToken parameter value is set to a token. To retrieve
 13312  	// the next set of results, call ListRobotApplications again and assign that
 13313  	// token to the request object's nextToken parameter. If there are no remaining
 13314  	// results, the previous response object's NextToken parameter is set to null.
 13315  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13316  
 13317  	// The version qualifier of the robot application.
 13318  	VersionQualifier *string `locationName:"versionQualifier" min:"1" type:"string"`
 13319  }
 13320  
 13321  // String returns the string representation.
 13322  //
 13323  // API parameter values that are decorated as "sensitive" in the API will not
 13324  // be included in the string output. The member name will be present, but the
 13325  // value will be replaced with "sensitive".
 13326  func (s ListRobotApplicationsInput) String() string {
 13327  	return awsutil.Prettify(s)
 13328  }
 13329  
 13330  // GoString returns the string representation.
 13331  //
 13332  // API parameter values that are decorated as "sensitive" in the API will not
 13333  // be included in the string output. The member name will be present, but the
 13334  // value will be replaced with "sensitive".
 13335  func (s ListRobotApplicationsInput) GoString() string {
 13336  	return s.String()
 13337  }
 13338  
 13339  // Validate inspects the fields of the type to determine if they are valid.
 13340  func (s *ListRobotApplicationsInput) Validate() error {
 13341  	invalidParams := request.ErrInvalidParams{Context: "ListRobotApplicationsInput"}
 13342  	if s.Filters != nil && len(s.Filters) < 1 {
 13343  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13344  	}
 13345  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13346  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13347  	}
 13348  	if s.VersionQualifier != nil && len(*s.VersionQualifier) < 1 {
 13349  		invalidParams.Add(request.NewErrParamMinLen("VersionQualifier", 1))
 13350  	}
 13351  	if s.Filters != nil {
 13352  		for i, v := range s.Filters {
 13353  			if v == nil {
 13354  				continue
 13355  			}
 13356  			if err := v.Validate(); err != nil {
 13357  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13358  			}
 13359  		}
 13360  	}
 13361  
 13362  	if invalidParams.Len() > 0 {
 13363  		return invalidParams
 13364  	}
 13365  	return nil
 13366  }
 13367  
 13368  // SetFilters sets the Filters field's value.
 13369  func (s *ListRobotApplicationsInput) SetFilters(v []*Filter) *ListRobotApplicationsInput {
 13370  	s.Filters = v
 13371  	return s
 13372  }
 13373  
 13374  // SetMaxResults sets the MaxResults field's value.
 13375  func (s *ListRobotApplicationsInput) SetMaxResults(v int64) *ListRobotApplicationsInput {
 13376  	s.MaxResults = &v
 13377  	return s
 13378  }
 13379  
 13380  // SetNextToken sets the NextToken field's value.
 13381  func (s *ListRobotApplicationsInput) SetNextToken(v string) *ListRobotApplicationsInput {
 13382  	s.NextToken = &v
 13383  	return s
 13384  }
 13385  
 13386  // SetVersionQualifier sets the VersionQualifier field's value.
 13387  func (s *ListRobotApplicationsInput) SetVersionQualifier(v string) *ListRobotApplicationsInput {
 13388  	s.VersionQualifier = &v
 13389  	return s
 13390  }
 13391  
 13392  type ListRobotApplicationsOutput struct {
 13393  	_ struct{} `type:"structure"`
 13394  
 13395  	// If the previous paginated request did not return all of the remaining results,
 13396  	// the response object's nextToken parameter value is set to a token. To retrieve
 13397  	// the next set of results, call ListRobotApplications again and assign that
 13398  	// token to the request object's nextToken parameter. If there are no remaining
 13399  	// results, the previous response object's NextToken parameter is set to null.
 13400  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13401  
 13402  	// A list of robot application summaries that meet the criteria of the request.
 13403  	RobotApplicationSummaries []*RobotApplicationSummary `locationName:"robotApplicationSummaries" type:"list"`
 13404  }
 13405  
 13406  // String returns the string representation.
 13407  //
 13408  // API parameter values that are decorated as "sensitive" in the API will not
 13409  // be included in the string output. The member name will be present, but the
 13410  // value will be replaced with "sensitive".
 13411  func (s ListRobotApplicationsOutput) String() string {
 13412  	return awsutil.Prettify(s)
 13413  }
 13414  
 13415  // GoString returns the string representation.
 13416  //
 13417  // API parameter values that are decorated as "sensitive" in the API will not
 13418  // be included in the string output. The member name will be present, but the
 13419  // value will be replaced with "sensitive".
 13420  func (s ListRobotApplicationsOutput) GoString() string {
 13421  	return s.String()
 13422  }
 13423  
 13424  // SetNextToken sets the NextToken field's value.
 13425  func (s *ListRobotApplicationsOutput) SetNextToken(v string) *ListRobotApplicationsOutput {
 13426  	s.NextToken = &v
 13427  	return s
 13428  }
 13429  
 13430  // SetRobotApplicationSummaries sets the RobotApplicationSummaries field's value.
 13431  func (s *ListRobotApplicationsOutput) SetRobotApplicationSummaries(v []*RobotApplicationSummary) *ListRobotApplicationsOutput {
 13432  	s.RobotApplicationSummaries = v
 13433  	return s
 13434  }
 13435  
 13436  type ListRobotsInput struct {
 13437  	_ struct{} `type:"structure"`
 13438  
 13439  	// Optional filters to limit results.
 13440  	//
 13441  	// The filter names status and fleetName are supported. When filtering, you
 13442  	// must use the complete value of the filtered item. You can use up to three
 13443  	// filters, but they must be for the same named item. For example, if you are
 13444  	// looking for items with the status Registered or the status Available.
 13445  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13446  
 13447  	// When this parameter is used, ListRobots only returns maxResults results in
 13448  	// a single page along with a nextToken response element. The remaining results
 13449  	// of the initial request can be seen by sending another ListRobots request
 13450  	// with the returned nextToken value. This value can be between 1 and 200. If
 13451  	// this parameter is not used, then ListRobots returns up to 200 results and
 13452  	// a nextToken value if applicable.
 13453  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13454  
 13455  	// If the previous paginated request did not return all of the remaining results,
 13456  	// the response object's nextToken parameter value is set to a token. To retrieve
 13457  	// the next set of results, call ListRobots again and assign that token to the
 13458  	// request object's nextToken parameter. If there are no remaining results,
 13459  	// the previous response object's NextToken parameter is set to null.
 13460  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13461  }
 13462  
 13463  // String returns the string representation.
 13464  //
 13465  // API parameter values that are decorated as "sensitive" in the API will not
 13466  // be included in the string output. The member name will be present, but the
 13467  // value will be replaced with "sensitive".
 13468  func (s ListRobotsInput) String() string {
 13469  	return awsutil.Prettify(s)
 13470  }
 13471  
 13472  // GoString returns the string representation.
 13473  //
 13474  // API parameter values that are decorated as "sensitive" in the API will not
 13475  // be included in the string output. The member name will be present, but the
 13476  // value will be replaced with "sensitive".
 13477  func (s ListRobotsInput) GoString() string {
 13478  	return s.String()
 13479  }
 13480  
 13481  // Validate inspects the fields of the type to determine if they are valid.
 13482  func (s *ListRobotsInput) Validate() error {
 13483  	invalidParams := request.ErrInvalidParams{Context: "ListRobotsInput"}
 13484  	if s.Filters != nil && len(s.Filters) < 1 {
 13485  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13486  	}
 13487  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13488  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13489  	}
 13490  	if s.Filters != nil {
 13491  		for i, v := range s.Filters {
 13492  			if v == nil {
 13493  				continue
 13494  			}
 13495  			if err := v.Validate(); err != nil {
 13496  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13497  			}
 13498  		}
 13499  	}
 13500  
 13501  	if invalidParams.Len() > 0 {
 13502  		return invalidParams
 13503  	}
 13504  	return nil
 13505  }
 13506  
 13507  // SetFilters sets the Filters field's value.
 13508  func (s *ListRobotsInput) SetFilters(v []*Filter) *ListRobotsInput {
 13509  	s.Filters = v
 13510  	return s
 13511  }
 13512  
 13513  // SetMaxResults sets the MaxResults field's value.
 13514  func (s *ListRobotsInput) SetMaxResults(v int64) *ListRobotsInput {
 13515  	s.MaxResults = &v
 13516  	return s
 13517  }
 13518  
 13519  // SetNextToken sets the NextToken field's value.
 13520  func (s *ListRobotsInput) SetNextToken(v string) *ListRobotsInput {
 13521  	s.NextToken = &v
 13522  	return s
 13523  }
 13524  
 13525  type ListRobotsOutput struct {
 13526  	_ struct{} `type:"structure"`
 13527  
 13528  	// If the previous paginated request did not return all of the remaining results,
 13529  	// the response object's nextToken parameter value is set to a token. To retrieve
 13530  	// the next set of results, call ListRobots again and assign that token to the
 13531  	// request object's nextToken parameter. If there are no remaining results,
 13532  	// the previous response object's NextToken parameter is set to null.
 13533  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13534  
 13535  	// A list of robots that meet the criteria of the request.
 13536  	Robots []*Robot `locationName:"robots" type:"list"`
 13537  }
 13538  
 13539  // String returns the string representation.
 13540  //
 13541  // API parameter values that are decorated as "sensitive" in the API will not
 13542  // be included in the string output. The member name will be present, but the
 13543  // value will be replaced with "sensitive".
 13544  func (s ListRobotsOutput) String() string {
 13545  	return awsutil.Prettify(s)
 13546  }
 13547  
 13548  // GoString returns the string representation.
 13549  //
 13550  // API parameter values that are decorated as "sensitive" in the API will not
 13551  // be included in the string output. The member name will be present, but the
 13552  // value will be replaced with "sensitive".
 13553  func (s ListRobotsOutput) GoString() string {
 13554  	return s.String()
 13555  }
 13556  
 13557  // SetNextToken sets the NextToken field's value.
 13558  func (s *ListRobotsOutput) SetNextToken(v string) *ListRobotsOutput {
 13559  	s.NextToken = &v
 13560  	return s
 13561  }
 13562  
 13563  // SetRobots sets the Robots field's value.
 13564  func (s *ListRobotsOutput) SetRobots(v []*Robot) *ListRobotsOutput {
 13565  	s.Robots = v
 13566  	return s
 13567  }
 13568  
 13569  type ListSimulationApplicationsInput struct {
 13570  	_ struct{} `type:"structure"`
 13571  
 13572  	// Optional list of filters to limit results.
 13573  	//
 13574  	// The filter name name is supported. When filtering, you must use the complete
 13575  	// value of the filtered item. You can use up to three filters.
 13576  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13577  
 13578  	// When this parameter is used, ListSimulationApplications only returns maxResults
 13579  	// results in a single page along with a nextToken response element. The remaining
 13580  	// results of the initial request can be seen by sending another ListSimulationApplications
 13581  	// request with the returned nextToken value. This value can be between 1 and
 13582  	// 100. If this parameter is not used, then ListSimulationApplications returns
 13583  	// up to 100 results and a nextToken value if applicable.
 13584  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13585  
 13586  	// If the previous paginated request did not return all of the remaining results,
 13587  	// the response object's nextToken parameter value is set to a token. To retrieve
 13588  	// the next set of results, call ListSimulationApplications again and assign
 13589  	// that token to the request object's nextToken parameter. If there are no remaining
 13590  	// results, the previous response object's NextToken parameter is set to null.
 13591  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13592  
 13593  	// The version qualifier of the simulation application.
 13594  	VersionQualifier *string `locationName:"versionQualifier" min:"1" type:"string"`
 13595  }
 13596  
 13597  // String returns the string representation.
 13598  //
 13599  // API parameter values that are decorated as "sensitive" in the API will not
 13600  // be included in the string output. The member name will be present, but the
 13601  // value will be replaced with "sensitive".
 13602  func (s ListSimulationApplicationsInput) String() string {
 13603  	return awsutil.Prettify(s)
 13604  }
 13605  
 13606  // GoString returns the string representation.
 13607  //
 13608  // API parameter values that are decorated as "sensitive" in the API will not
 13609  // be included in the string output. The member name will be present, but the
 13610  // value will be replaced with "sensitive".
 13611  func (s ListSimulationApplicationsInput) GoString() string {
 13612  	return s.String()
 13613  }
 13614  
 13615  // Validate inspects the fields of the type to determine if they are valid.
 13616  func (s *ListSimulationApplicationsInput) Validate() error {
 13617  	invalidParams := request.ErrInvalidParams{Context: "ListSimulationApplicationsInput"}
 13618  	if s.Filters != nil && len(s.Filters) < 1 {
 13619  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13620  	}
 13621  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13622  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13623  	}
 13624  	if s.VersionQualifier != nil && len(*s.VersionQualifier) < 1 {
 13625  		invalidParams.Add(request.NewErrParamMinLen("VersionQualifier", 1))
 13626  	}
 13627  	if s.Filters != nil {
 13628  		for i, v := range s.Filters {
 13629  			if v == nil {
 13630  				continue
 13631  			}
 13632  			if err := v.Validate(); err != nil {
 13633  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13634  			}
 13635  		}
 13636  	}
 13637  
 13638  	if invalidParams.Len() > 0 {
 13639  		return invalidParams
 13640  	}
 13641  	return nil
 13642  }
 13643  
 13644  // SetFilters sets the Filters field's value.
 13645  func (s *ListSimulationApplicationsInput) SetFilters(v []*Filter) *ListSimulationApplicationsInput {
 13646  	s.Filters = v
 13647  	return s
 13648  }
 13649  
 13650  // SetMaxResults sets the MaxResults field's value.
 13651  func (s *ListSimulationApplicationsInput) SetMaxResults(v int64) *ListSimulationApplicationsInput {
 13652  	s.MaxResults = &v
 13653  	return s
 13654  }
 13655  
 13656  // SetNextToken sets the NextToken field's value.
 13657  func (s *ListSimulationApplicationsInput) SetNextToken(v string) *ListSimulationApplicationsInput {
 13658  	s.NextToken = &v
 13659  	return s
 13660  }
 13661  
 13662  // SetVersionQualifier sets the VersionQualifier field's value.
 13663  func (s *ListSimulationApplicationsInput) SetVersionQualifier(v string) *ListSimulationApplicationsInput {
 13664  	s.VersionQualifier = &v
 13665  	return s
 13666  }
 13667  
 13668  type ListSimulationApplicationsOutput struct {
 13669  	_ struct{} `type:"structure"`
 13670  
 13671  	// If the previous paginated request did not return all of the remaining results,
 13672  	// the response object's nextToken parameter value is set to a token. To retrieve
 13673  	// the next set of results, call ListSimulationApplications again and assign
 13674  	// that token to the request object's nextToken parameter. If there are no remaining
 13675  	// results, the previous response object's NextToken parameter is set to null.
 13676  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13677  
 13678  	// A list of simulation application summaries that meet the criteria of the
 13679  	// request.
 13680  	SimulationApplicationSummaries []*SimulationApplicationSummary `locationName:"simulationApplicationSummaries" type:"list"`
 13681  }
 13682  
 13683  // String returns the string representation.
 13684  //
 13685  // API parameter values that are decorated as "sensitive" in the API will not
 13686  // be included in the string output. The member name will be present, but the
 13687  // value will be replaced with "sensitive".
 13688  func (s ListSimulationApplicationsOutput) String() string {
 13689  	return awsutil.Prettify(s)
 13690  }
 13691  
 13692  // GoString returns the string representation.
 13693  //
 13694  // API parameter values that are decorated as "sensitive" in the API will not
 13695  // be included in the string output. The member name will be present, but the
 13696  // value will be replaced with "sensitive".
 13697  func (s ListSimulationApplicationsOutput) GoString() string {
 13698  	return s.String()
 13699  }
 13700  
 13701  // SetNextToken sets the NextToken field's value.
 13702  func (s *ListSimulationApplicationsOutput) SetNextToken(v string) *ListSimulationApplicationsOutput {
 13703  	s.NextToken = &v
 13704  	return s
 13705  }
 13706  
 13707  // SetSimulationApplicationSummaries sets the SimulationApplicationSummaries field's value.
 13708  func (s *ListSimulationApplicationsOutput) SetSimulationApplicationSummaries(v []*SimulationApplicationSummary) *ListSimulationApplicationsOutput {
 13709  	s.SimulationApplicationSummaries = v
 13710  	return s
 13711  }
 13712  
 13713  type ListSimulationJobBatchesInput struct {
 13714  	_ struct{} `type:"structure"`
 13715  
 13716  	// Optional filters to limit results.
 13717  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13718  
 13719  	// When this parameter is used, ListSimulationJobBatches only returns maxResults
 13720  	// results in a single page along with a nextToken response element. The remaining
 13721  	// results of the initial request can be seen by sending another ListSimulationJobBatches
 13722  	// request with the returned nextToken value.
 13723  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13724  
 13725  	// If the previous paginated request did not return all of the remaining results,
 13726  	// the response object's nextToken parameter value is set to a token. To retrieve
 13727  	// the next set of results, call ListSimulationJobBatches again and assign that
 13728  	// token to the request object's nextToken parameter. If there are no remaining
 13729  	// results, the previous response object's NextToken parameter is set to null.
 13730  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13731  }
 13732  
 13733  // String returns the string representation.
 13734  //
 13735  // API parameter values that are decorated as "sensitive" in the API will not
 13736  // be included in the string output. The member name will be present, but the
 13737  // value will be replaced with "sensitive".
 13738  func (s ListSimulationJobBatchesInput) String() string {
 13739  	return awsutil.Prettify(s)
 13740  }
 13741  
 13742  // GoString returns the string representation.
 13743  //
 13744  // API parameter values that are decorated as "sensitive" in the API will not
 13745  // be included in the string output. The member name will be present, but the
 13746  // value will be replaced with "sensitive".
 13747  func (s ListSimulationJobBatchesInput) GoString() string {
 13748  	return s.String()
 13749  }
 13750  
 13751  // Validate inspects the fields of the type to determine if they are valid.
 13752  func (s *ListSimulationJobBatchesInput) Validate() error {
 13753  	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobBatchesInput"}
 13754  	if s.Filters != nil && len(s.Filters) < 1 {
 13755  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13756  	}
 13757  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13758  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13759  	}
 13760  	if s.Filters != nil {
 13761  		for i, v := range s.Filters {
 13762  			if v == nil {
 13763  				continue
 13764  			}
 13765  			if err := v.Validate(); err != nil {
 13766  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13767  			}
 13768  		}
 13769  	}
 13770  
 13771  	if invalidParams.Len() > 0 {
 13772  		return invalidParams
 13773  	}
 13774  	return nil
 13775  }
 13776  
 13777  // SetFilters sets the Filters field's value.
 13778  func (s *ListSimulationJobBatchesInput) SetFilters(v []*Filter) *ListSimulationJobBatchesInput {
 13779  	s.Filters = v
 13780  	return s
 13781  }
 13782  
 13783  // SetMaxResults sets the MaxResults field's value.
 13784  func (s *ListSimulationJobBatchesInput) SetMaxResults(v int64) *ListSimulationJobBatchesInput {
 13785  	s.MaxResults = &v
 13786  	return s
 13787  }
 13788  
 13789  // SetNextToken sets the NextToken field's value.
 13790  func (s *ListSimulationJobBatchesInput) SetNextToken(v string) *ListSimulationJobBatchesInput {
 13791  	s.NextToken = &v
 13792  	return s
 13793  }
 13794  
 13795  type ListSimulationJobBatchesOutput struct {
 13796  	_ struct{} `type:"structure"`
 13797  
 13798  	// If the previous paginated request did not return all of the remaining results,
 13799  	// the response object's nextToken parameter value is set to a token. To retrieve
 13800  	// the next set of results, call ListSimulationJobBatches again and assign that
 13801  	// token to the request object's nextToken parameter. If there are no remaining
 13802  	// results, the previous response object's NextToken parameter is set to null.
 13803  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13804  
 13805  	// A list of simulation job batch summaries.
 13806  	SimulationJobBatchSummaries []*SimulationJobBatchSummary `locationName:"simulationJobBatchSummaries" type:"list"`
 13807  }
 13808  
 13809  // String returns the string representation.
 13810  //
 13811  // API parameter values that are decorated as "sensitive" in the API will not
 13812  // be included in the string output. The member name will be present, but the
 13813  // value will be replaced with "sensitive".
 13814  func (s ListSimulationJobBatchesOutput) String() string {
 13815  	return awsutil.Prettify(s)
 13816  }
 13817  
 13818  // GoString returns the string representation.
 13819  //
 13820  // API parameter values that are decorated as "sensitive" in the API will not
 13821  // be included in the string output. The member name will be present, but the
 13822  // value will be replaced with "sensitive".
 13823  func (s ListSimulationJobBatchesOutput) GoString() string {
 13824  	return s.String()
 13825  }
 13826  
 13827  // SetNextToken sets the NextToken field's value.
 13828  func (s *ListSimulationJobBatchesOutput) SetNextToken(v string) *ListSimulationJobBatchesOutput {
 13829  	s.NextToken = &v
 13830  	return s
 13831  }
 13832  
 13833  // SetSimulationJobBatchSummaries sets the SimulationJobBatchSummaries field's value.
 13834  func (s *ListSimulationJobBatchesOutput) SetSimulationJobBatchSummaries(v []*SimulationJobBatchSummary) *ListSimulationJobBatchesOutput {
 13835  	s.SimulationJobBatchSummaries = v
 13836  	return s
 13837  }
 13838  
 13839  type ListSimulationJobsInput struct {
 13840  	_ struct{} `type:"structure"`
 13841  
 13842  	// Optional filters to limit results.
 13843  	//
 13844  	// The filter names status and simulationApplicationName and robotApplicationName
 13845  	// are supported. When filtering, you must use the complete value of the filtered
 13846  	// item. You can use up to three filters, but they must be for the same named
 13847  	// item. For example, if you are looking for items with the status Preparing
 13848  	// or the status Running.
 13849  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 13850  
 13851  	// When this parameter is used, ListSimulationJobs only returns maxResults results
 13852  	// in a single page along with a nextToken response element. The remaining results
 13853  	// of the initial request can be seen by sending another ListSimulationJobs
 13854  	// request with the returned nextToken value. This value can be between 1 and
 13855  	// 1000. If this parameter is not used, then ListSimulationJobs returns up to
 13856  	// 1000 results and a nextToken value if applicable.
 13857  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 13858  
 13859  	// If the previous paginated request did not return all of the remaining results,
 13860  	// the response object's nextToken parameter value is set to a token. To retrieve
 13861  	// the next set of results, call ListSimulationJobs again and assign that token
 13862  	// to the request object's nextToken parameter. If there are no remaining results,
 13863  	// the previous response object's NextToken parameter is set to null.
 13864  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13865  }
 13866  
 13867  // String returns the string representation.
 13868  //
 13869  // API parameter values that are decorated as "sensitive" in the API will not
 13870  // be included in the string output. The member name will be present, but the
 13871  // value will be replaced with "sensitive".
 13872  func (s ListSimulationJobsInput) String() string {
 13873  	return awsutil.Prettify(s)
 13874  }
 13875  
 13876  // GoString returns the string representation.
 13877  //
 13878  // API parameter values that are decorated as "sensitive" in the API will not
 13879  // be included in the string output. The member name will be present, but the
 13880  // value will be replaced with "sensitive".
 13881  func (s ListSimulationJobsInput) GoString() string {
 13882  	return s.String()
 13883  }
 13884  
 13885  // Validate inspects the fields of the type to determine if they are valid.
 13886  func (s *ListSimulationJobsInput) Validate() error {
 13887  	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobsInput"}
 13888  	if s.Filters != nil && len(s.Filters) < 1 {
 13889  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 13890  	}
 13891  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 13892  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 13893  	}
 13894  	if s.Filters != nil {
 13895  		for i, v := range s.Filters {
 13896  			if v == nil {
 13897  				continue
 13898  			}
 13899  			if err := v.Validate(); err != nil {
 13900  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 13901  			}
 13902  		}
 13903  	}
 13904  
 13905  	if invalidParams.Len() > 0 {
 13906  		return invalidParams
 13907  	}
 13908  	return nil
 13909  }
 13910  
 13911  // SetFilters sets the Filters field's value.
 13912  func (s *ListSimulationJobsInput) SetFilters(v []*Filter) *ListSimulationJobsInput {
 13913  	s.Filters = v
 13914  	return s
 13915  }
 13916  
 13917  // SetMaxResults sets the MaxResults field's value.
 13918  func (s *ListSimulationJobsInput) SetMaxResults(v int64) *ListSimulationJobsInput {
 13919  	s.MaxResults = &v
 13920  	return s
 13921  }
 13922  
 13923  // SetNextToken sets the NextToken field's value.
 13924  func (s *ListSimulationJobsInput) SetNextToken(v string) *ListSimulationJobsInput {
 13925  	s.NextToken = &v
 13926  	return s
 13927  }
 13928  
 13929  type ListSimulationJobsOutput struct {
 13930  	_ struct{} `type:"structure"`
 13931  
 13932  	// If the previous paginated request did not return all of the remaining results,
 13933  	// the response object's nextToken parameter value is set to a token. To retrieve
 13934  	// the next set of results, call ListSimulationJobs again and assign that token
 13935  	// to the request object's nextToken parameter. If there are no remaining results,
 13936  	// the previous response object's NextToken parameter is set to null.
 13937  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 13938  
 13939  	// A list of simulation job summaries that meet the criteria of the request.
 13940  	//
 13941  	// SimulationJobSummaries is a required field
 13942  	SimulationJobSummaries []*SimulationJobSummary `locationName:"simulationJobSummaries" type:"list" required:"true"`
 13943  }
 13944  
 13945  // String returns the string representation.
 13946  //
 13947  // API parameter values that are decorated as "sensitive" in the API will not
 13948  // be included in the string output. The member name will be present, but the
 13949  // value will be replaced with "sensitive".
 13950  func (s ListSimulationJobsOutput) String() string {
 13951  	return awsutil.Prettify(s)
 13952  }
 13953  
 13954  // GoString returns the string representation.
 13955  //
 13956  // API parameter values that are decorated as "sensitive" in the API will not
 13957  // be included in the string output. The member name will be present, but the
 13958  // value will be replaced with "sensitive".
 13959  func (s ListSimulationJobsOutput) GoString() string {
 13960  	return s.String()
 13961  }
 13962  
 13963  // SetNextToken sets the NextToken field's value.
 13964  func (s *ListSimulationJobsOutput) SetNextToken(v string) *ListSimulationJobsOutput {
 13965  	s.NextToken = &v
 13966  	return s
 13967  }
 13968  
 13969  // SetSimulationJobSummaries sets the SimulationJobSummaries field's value.
 13970  func (s *ListSimulationJobsOutput) SetSimulationJobSummaries(v []*SimulationJobSummary) *ListSimulationJobsOutput {
 13971  	s.SimulationJobSummaries = v
 13972  	return s
 13973  }
 13974  
 13975  type ListTagsForResourceInput struct {
 13976  	_ struct{} `type:"structure" nopayload:"true"`
 13977  
 13978  	// The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.
 13979  	//
 13980  	// ResourceArn is a required field
 13981  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 13982  }
 13983  
 13984  // String returns the string representation.
 13985  //
 13986  // API parameter values that are decorated as "sensitive" in the API will not
 13987  // be included in the string output. The member name will be present, but the
 13988  // value will be replaced with "sensitive".
 13989  func (s ListTagsForResourceInput) String() string {
 13990  	return awsutil.Prettify(s)
 13991  }
 13992  
 13993  // GoString returns the string representation.
 13994  //
 13995  // API parameter values that are decorated as "sensitive" in the API will not
 13996  // be included in the string output. The member name will be present, but the
 13997  // value will be replaced with "sensitive".
 13998  func (s ListTagsForResourceInput) GoString() string {
 13999  	return s.String()
 14000  }
 14001  
 14002  // Validate inspects the fields of the type to determine if they are valid.
 14003  func (s *ListTagsForResourceInput) Validate() error {
 14004  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 14005  	if s.ResourceArn == nil {
 14006  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14007  	}
 14008  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14009  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14010  	}
 14011  
 14012  	if invalidParams.Len() > 0 {
 14013  		return invalidParams
 14014  	}
 14015  	return nil
 14016  }
 14017  
 14018  // SetResourceArn sets the ResourceArn field's value.
 14019  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 14020  	s.ResourceArn = &v
 14021  	return s
 14022  }
 14023  
 14024  type ListTagsForResourceOutput struct {
 14025  	_ struct{} `type:"structure"`
 14026  
 14027  	// The list of all tags added to the specified resource.
 14028  	Tags map[string]*string `locationName:"tags" type:"map"`
 14029  }
 14030  
 14031  // String returns the string representation.
 14032  //
 14033  // API parameter values that are decorated as "sensitive" in the API will not
 14034  // be included in the string output. The member name will be present, but the
 14035  // value will be replaced with "sensitive".
 14036  func (s ListTagsForResourceOutput) String() string {
 14037  	return awsutil.Prettify(s)
 14038  }
 14039  
 14040  // GoString returns the string representation.
 14041  //
 14042  // API parameter values that are decorated as "sensitive" in the API will not
 14043  // be included in the string output. The member name will be present, but the
 14044  // value will be replaced with "sensitive".
 14045  func (s ListTagsForResourceOutput) GoString() string {
 14046  	return s.String()
 14047  }
 14048  
 14049  // SetTags sets the Tags field's value.
 14050  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 14051  	s.Tags = v
 14052  	return s
 14053  }
 14054  
 14055  type ListWorldExportJobsInput struct {
 14056  	_ struct{} `type:"structure"`
 14057  
 14058  	// Optional filters to limit results. You can use generationJobId and templateId.
 14059  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14060  
 14061  	// When this parameter is used, ListWorldExportJobs only returns maxResults
 14062  	// results in a single page along with a nextToken response element. The remaining
 14063  	// results of the initial request can be seen by sending another ListWorldExportJobs
 14064  	// request with the returned nextToken value. This value can be between 1 and
 14065  	// 100. If this parameter is not used, then ListWorldExportJobs returns up to
 14066  	// 100 results and a nextToken value if applicable.
 14067  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 14068  
 14069  	// If the previous paginated request did not return all of the remaining results,
 14070  	// the response object's nextToken parameter value is set to a token. To retrieve
 14071  	// the next set of results, call ListWorldExportJobs again and assign that token
 14072  	// to the request object's nextToken parameter. If there are no remaining results,
 14073  	// the previous response object's NextToken parameter is set to null.
 14074  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14075  }
 14076  
 14077  // String returns the string representation.
 14078  //
 14079  // API parameter values that are decorated as "sensitive" in the API will not
 14080  // be included in the string output. The member name will be present, but the
 14081  // value will be replaced with "sensitive".
 14082  func (s ListWorldExportJobsInput) String() string {
 14083  	return awsutil.Prettify(s)
 14084  }
 14085  
 14086  // GoString returns the string representation.
 14087  //
 14088  // API parameter values that are decorated as "sensitive" in the API will not
 14089  // be included in the string output. The member name will be present, but the
 14090  // value will be replaced with "sensitive".
 14091  func (s ListWorldExportJobsInput) GoString() string {
 14092  	return s.String()
 14093  }
 14094  
 14095  // Validate inspects the fields of the type to determine if they are valid.
 14096  func (s *ListWorldExportJobsInput) Validate() error {
 14097  	invalidParams := request.ErrInvalidParams{Context: "ListWorldExportJobsInput"}
 14098  	if s.Filters != nil && len(s.Filters) < 1 {
 14099  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14100  	}
 14101  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14102  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14103  	}
 14104  	if s.Filters != nil {
 14105  		for i, v := range s.Filters {
 14106  			if v == nil {
 14107  				continue
 14108  			}
 14109  			if err := v.Validate(); err != nil {
 14110  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14111  			}
 14112  		}
 14113  	}
 14114  
 14115  	if invalidParams.Len() > 0 {
 14116  		return invalidParams
 14117  	}
 14118  	return nil
 14119  }
 14120  
 14121  // SetFilters sets the Filters field's value.
 14122  func (s *ListWorldExportJobsInput) SetFilters(v []*Filter) *ListWorldExportJobsInput {
 14123  	s.Filters = v
 14124  	return s
 14125  }
 14126  
 14127  // SetMaxResults sets the MaxResults field's value.
 14128  func (s *ListWorldExportJobsInput) SetMaxResults(v int64) *ListWorldExportJobsInput {
 14129  	s.MaxResults = &v
 14130  	return s
 14131  }
 14132  
 14133  // SetNextToken sets the NextToken field's value.
 14134  func (s *ListWorldExportJobsInput) SetNextToken(v string) *ListWorldExportJobsInput {
 14135  	s.NextToken = &v
 14136  	return s
 14137  }
 14138  
 14139  type ListWorldExportJobsOutput struct {
 14140  	_ struct{} `type:"structure"`
 14141  
 14142  	// If the previous paginated request did not return all of the remaining results,
 14143  	// the response object's nextToken parameter value is set to a token. To retrieve
 14144  	// the next set of results, call ListWorldExportJobsRequest again and assign
 14145  	// that token to the request object's nextToken parameter. If there are no remaining
 14146  	// results, the previous response object's NextToken parameter is set to null.
 14147  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14148  
 14149  	// Summary information for world export jobs.
 14150  	//
 14151  	// WorldExportJobSummaries is a required field
 14152  	WorldExportJobSummaries []*WorldExportJobSummary `locationName:"worldExportJobSummaries" type:"list" required:"true"`
 14153  }
 14154  
 14155  // String returns the string representation.
 14156  //
 14157  // API parameter values that are decorated as "sensitive" in the API will not
 14158  // be included in the string output. The member name will be present, but the
 14159  // value will be replaced with "sensitive".
 14160  func (s ListWorldExportJobsOutput) String() string {
 14161  	return awsutil.Prettify(s)
 14162  }
 14163  
 14164  // GoString returns the string representation.
 14165  //
 14166  // API parameter values that are decorated as "sensitive" in the API will not
 14167  // be included in the string output. The member name will be present, but the
 14168  // value will be replaced with "sensitive".
 14169  func (s ListWorldExportJobsOutput) GoString() string {
 14170  	return s.String()
 14171  }
 14172  
 14173  // SetNextToken sets the NextToken field's value.
 14174  func (s *ListWorldExportJobsOutput) SetNextToken(v string) *ListWorldExportJobsOutput {
 14175  	s.NextToken = &v
 14176  	return s
 14177  }
 14178  
 14179  // SetWorldExportJobSummaries sets the WorldExportJobSummaries field's value.
 14180  func (s *ListWorldExportJobsOutput) SetWorldExportJobSummaries(v []*WorldExportJobSummary) *ListWorldExportJobsOutput {
 14181  	s.WorldExportJobSummaries = v
 14182  	return s
 14183  }
 14184  
 14185  type ListWorldGenerationJobsInput struct {
 14186  	_ struct{} `type:"structure"`
 14187  
 14188  	// Optional filters to limit results. You can use status and templateId.
 14189  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14190  
 14191  	// When this parameter is used, ListWorldGeneratorJobs only returns maxResults
 14192  	// results in a single page along with a nextToken response element. The remaining
 14193  	// results of the initial request can be seen by sending another ListWorldGeneratorJobs
 14194  	// request with the returned nextToken value. This value can be between 1 and
 14195  	// 100. If this parameter is not used, then ListWorldGeneratorJobs returns up
 14196  	// to 100 results and a nextToken value if applicable.
 14197  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 14198  
 14199  	// If the previous paginated request did not return all of the remaining results,
 14200  	// the response object's nextToken parameter value is set to a token. To retrieve
 14201  	// the next set of results, call ListWorldGenerationJobsRequest again and assign
 14202  	// that token to the request object's nextToken parameter. If there are no remaining
 14203  	// results, the previous response object's NextToken parameter is set to null.
 14204  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14205  }
 14206  
 14207  // String returns the string representation.
 14208  //
 14209  // API parameter values that are decorated as "sensitive" in the API will not
 14210  // be included in the string output. The member name will be present, but the
 14211  // value will be replaced with "sensitive".
 14212  func (s ListWorldGenerationJobsInput) String() string {
 14213  	return awsutil.Prettify(s)
 14214  }
 14215  
 14216  // GoString returns the string representation.
 14217  //
 14218  // API parameter values that are decorated as "sensitive" in the API will not
 14219  // be included in the string output. The member name will be present, but the
 14220  // value will be replaced with "sensitive".
 14221  func (s ListWorldGenerationJobsInput) GoString() string {
 14222  	return s.String()
 14223  }
 14224  
 14225  // Validate inspects the fields of the type to determine if they are valid.
 14226  func (s *ListWorldGenerationJobsInput) Validate() error {
 14227  	invalidParams := request.ErrInvalidParams{Context: "ListWorldGenerationJobsInput"}
 14228  	if s.Filters != nil && len(s.Filters) < 1 {
 14229  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14230  	}
 14231  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14232  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14233  	}
 14234  	if s.Filters != nil {
 14235  		for i, v := range s.Filters {
 14236  			if v == nil {
 14237  				continue
 14238  			}
 14239  			if err := v.Validate(); err != nil {
 14240  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14241  			}
 14242  		}
 14243  	}
 14244  
 14245  	if invalidParams.Len() > 0 {
 14246  		return invalidParams
 14247  	}
 14248  	return nil
 14249  }
 14250  
 14251  // SetFilters sets the Filters field's value.
 14252  func (s *ListWorldGenerationJobsInput) SetFilters(v []*Filter) *ListWorldGenerationJobsInput {
 14253  	s.Filters = v
 14254  	return s
 14255  }
 14256  
 14257  // SetMaxResults sets the MaxResults field's value.
 14258  func (s *ListWorldGenerationJobsInput) SetMaxResults(v int64) *ListWorldGenerationJobsInput {
 14259  	s.MaxResults = &v
 14260  	return s
 14261  }
 14262  
 14263  // SetNextToken sets the NextToken field's value.
 14264  func (s *ListWorldGenerationJobsInput) SetNextToken(v string) *ListWorldGenerationJobsInput {
 14265  	s.NextToken = &v
 14266  	return s
 14267  }
 14268  
 14269  type ListWorldGenerationJobsOutput struct {
 14270  	_ struct{} `type:"structure"`
 14271  
 14272  	// If the previous paginated request did not return all of the remaining results,
 14273  	// the response object's nextToken parameter value is set to a token. To retrieve
 14274  	// the next set of results, call ListWorldGeneratorJobsRequest again and assign
 14275  	// that token to the request object's nextToken parameter. If there are no remaining
 14276  	// results, the previous response object's NextToken parameter is set to null.
 14277  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14278  
 14279  	// Summary information for world generator jobs.
 14280  	//
 14281  	// WorldGenerationJobSummaries is a required field
 14282  	WorldGenerationJobSummaries []*WorldGenerationJobSummary `locationName:"worldGenerationJobSummaries" type:"list" required:"true"`
 14283  }
 14284  
 14285  // String returns the string representation.
 14286  //
 14287  // API parameter values that are decorated as "sensitive" in the API will not
 14288  // be included in the string output. The member name will be present, but the
 14289  // value will be replaced with "sensitive".
 14290  func (s ListWorldGenerationJobsOutput) String() string {
 14291  	return awsutil.Prettify(s)
 14292  }
 14293  
 14294  // GoString returns the string representation.
 14295  //
 14296  // API parameter values that are decorated as "sensitive" in the API will not
 14297  // be included in the string output. The member name will be present, but the
 14298  // value will be replaced with "sensitive".
 14299  func (s ListWorldGenerationJobsOutput) GoString() string {
 14300  	return s.String()
 14301  }
 14302  
 14303  // SetNextToken sets the NextToken field's value.
 14304  func (s *ListWorldGenerationJobsOutput) SetNextToken(v string) *ListWorldGenerationJobsOutput {
 14305  	s.NextToken = &v
 14306  	return s
 14307  }
 14308  
 14309  // SetWorldGenerationJobSummaries sets the WorldGenerationJobSummaries field's value.
 14310  func (s *ListWorldGenerationJobsOutput) SetWorldGenerationJobSummaries(v []*WorldGenerationJobSummary) *ListWorldGenerationJobsOutput {
 14311  	s.WorldGenerationJobSummaries = v
 14312  	return s
 14313  }
 14314  
 14315  type ListWorldTemplatesInput struct {
 14316  	_ struct{} `type:"structure"`
 14317  
 14318  	// When this parameter is used, ListWorldTemplates only returns maxResults results
 14319  	// in a single page along with a nextToken response element. The remaining results
 14320  	// of the initial request can be seen by sending another ListWorldTemplates
 14321  	// request with the returned nextToken value. This value can be between 1 and
 14322  	// 100. If this parameter is not used, then ListWorldTemplates returns up to
 14323  	// 100 results and a nextToken value if applicable.
 14324  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 14325  
 14326  	// If the previous paginated request did not return all of the remaining results,
 14327  	// the response object's nextToken parameter value is set to a token. To retrieve
 14328  	// the next set of results, call ListWorldTemplates again and assign that token
 14329  	// to the request object's nextToken parameter. If there are no remaining results,
 14330  	// the previous response object's NextToken parameter is set to null.
 14331  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14332  }
 14333  
 14334  // String returns the string representation.
 14335  //
 14336  // API parameter values that are decorated as "sensitive" in the API will not
 14337  // be included in the string output. The member name will be present, but the
 14338  // value will be replaced with "sensitive".
 14339  func (s ListWorldTemplatesInput) String() string {
 14340  	return awsutil.Prettify(s)
 14341  }
 14342  
 14343  // GoString returns the string representation.
 14344  //
 14345  // API parameter values that are decorated as "sensitive" in the API will not
 14346  // be included in the string output. The member name will be present, but the
 14347  // value will be replaced with "sensitive".
 14348  func (s ListWorldTemplatesInput) GoString() string {
 14349  	return s.String()
 14350  }
 14351  
 14352  // Validate inspects the fields of the type to determine if they are valid.
 14353  func (s *ListWorldTemplatesInput) Validate() error {
 14354  	invalidParams := request.ErrInvalidParams{Context: "ListWorldTemplatesInput"}
 14355  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14356  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14357  	}
 14358  
 14359  	if invalidParams.Len() > 0 {
 14360  		return invalidParams
 14361  	}
 14362  	return nil
 14363  }
 14364  
 14365  // SetMaxResults sets the MaxResults field's value.
 14366  func (s *ListWorldTemplatesInput) SetMaxResults(v int64) *ListWorldTemplatesInput {
 14367  	s.MaxResults = &v
 14368  	return s
 14369  }
 14370  
 14371  // SetNextToken sets the NextToken field's value.
 14372  func (s *ListWorldTemplatesInput) SetNextToken(v string) *ListWorldTemplatesInput {
 14373  	s.NextToken = &v
 14374  	return s
 14375  }
 14376  
 14377  type ListWorldTemplatesOutput struct {
 14378  	_ struct{} `type:"structure"`
 14379  
 14380  	// If the previous paginated request did not return all of the remaining results,
 14381  	// the response object's nextToken parameter value is set to a token. To retrieve
 14382  	// the next set of results, call ListWorldTemplates again and assign that token
 14383  	// to the request object's nextToken parameter. If there are no remaining results,
 14384  	// the previous response object's NextToken parameter is set to null.
 14385  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14386  
 14387  	// Summary information for templates.
 14388  	TemplateSummaries []*TemplateSummary `locationName:"templateSummaries" type:"list"`
 14389  }
 14390  
 14391  // String returns the string representation.
 14392  //
 14393  // API parameter values that are decorated as "sensitive" in the API will not
 14394  // be included in the string output. The member name will be present, but the
 14395  // value will be replaced with "sensitive".
 14396  func (s ListWorldTemplatesOutput) String() string {
 14397  	return awsutil.Prettify(s)
 14398  }
 14399  
 14400  // GoString returns the string representation.
 14401  //
 14402  // API parameter values that are decorated as "sensitive" in the API will not
 14403  // be included in the string output. The member name will be present, but the
 14404  // value will be replaced with "sensitive".
 14405  func (s ListWorldTemplatesOutput) GoString() string {
 14406  	return s.String()
 14407  }
 14408  
 14409  // SetNextToken sets the NextToken field's value.
 14410  func (s *ListWorldTemplatesOutput) SetNextToken(v string) *ListWorldTemplatesOutput {
 14411  	s.NextToken = &v
 14412  	return s
 14413  }
 14414  
 14415  // SetTemplateSummaries sets the TemplateSummaries field's value.
 14416  func (s *ListWorldTemplatesOutput) SetTemplateSummaries(v []*TemplateSummary) *ListWorldTemplatesOutput {
 14417  	s.TemplateSummaries = v
 14418  	return s
 14419  }
 14420  
 14421  type ListWorldsInput struct {
 14422  	_ struct{} `type:"structure"`
 14423  
 14424  	// Optional filters to limit results. You can use status.
 14425  	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
 14426  
 14427  	// When this parameter is used, ListWorlds only returns maxResults results in
 14428  	// a single page along with a nextToken response element. The remaining results
 14429  	// of the initial request can be seen by sending another ListWorlds request
 14430  	// with the returned nextToken value. This value can be between 1 and 100. If
 14431  	// this parameter is not used, then ListWorlds returns up to 100 results and
 14432  	// a nextToken value if applicable.
 14433  	MaxResults *int64 `locationName:"maxResults" type:"integer"`
 14434  
 14435  	// If the previous paginated request did not return all of the remaining results,
 14436  	// the response object's nextToken parameter value is set to a token. To retrieve
 14437  	// the next set of results, call ListWorlds again and assign that token to the
 14438  	// request object's nextToken parameter. If there are no remaining results,
 14439  	// the previous response object's NextToken parameter is set to null.
 14440  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14441  }
 14442  
 14443  // String returns the string representation.
 14444  //
 14445  // API parameter values that are decorated as "sensitive" in the API will not
 14446  // be included in the string output. The member name will be present, but the
 14447  // value will be replaced with "sensitive".
 14448  func (s ListWorldsInput) String() string {
 14449  	return awsutil.Prettify(s)
 14450  }
 14451  
 14452  // GoString returns the string representation.
 14453  //
 14454  // API parameter values that are decorated as "sensitive" in the API will not
 14455  // be included in the string output. The member name will be present, but the
 14456  // value will be replaced with "sensitive".
 14457  func (s ListWorldsInput) GoString() string {
 14458  	return s.String()
 14459  }
 14460  
 14461  // Validate inspects the fields of the type to determine if they are valid.
 14462  func (s *ListWorldsInput) Validate() error {
 14463  	invalidParams := request.ErrInvalidParams{Context: "ListWorldsInput"}
 14464  	if s.Filters != nil && len(s.Filters) < 1 {
 14465  		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
 14466  	}
 14467  	if s.NextToken != nil && len(*s.NextToken) < 1 {
 14468  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
 14469  	}
 14470  	if s.Filters != nil {
 14471  		for i, v := range s.Filters {
 14472  			if v == nil {
 14473  				continue
 14474  			}
 14475  			if err := v.Validate(); err != nil {
 14476  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 14477  			}
 14478  		}
 14479  	}
 14480  
 14481  	if invalidParams.Len() > 0 {
 14482  		return invalidParams
 14483  	}
 14484  	return nil
 14485  }
 14486  
 14487  // SetFilters sets the Filters field's value.
 14488  func (s *ListWorldsInput) SetFilters(v []*Filter) *ListWorldsInput {
 14489  	s.Filters = v
 14490  	return s
 14491  }
 14492  
 14493  // SetMaxResults sets the MaxResults field's value.
 14494  func (s *ListWorldsInput) SetMaxResults(v int64) *ListWorldsInput {
 14495  	s.MaxResults = &v
 14496  	return s
 14497  }
 14498  
 14499  // SetNextToken sets the NextToken field's value.
 14500  func (s *ListWorldsInput) SetNextToken(v string) *ListWorldsInput {
 14501  	s.NextToken = &v
 14502  	return s
 14503  }
 14504  
 14505  type ListWorldsOutput struct {
 14506  	_ struct{} `type:"structure"`
 14507  
 14508  	// If the previous paginated request did not return all of the remaining results,
 14509  	// the response object's nextToken parameter value is set to a token. To retrieve
 14510  	// the next set of results, call ListWorlds again and assign that token to the
 14511  	// request object's nextToken parameter. If there are no remaining results,
 14512  	// the previous response object's NextToken parameter is set to null.
 14513  	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
 14514  
 14515  	// Summary information for worlds.
 14516  	WorldSummaries []*WorldSummary `locationName:"worldSummaries" type:"list"`
 14517  }
 14518  
 14519  // String returns the string representation.
 14520  //
 14521  // API parameter values that are decorated as "sensitive" in the API will not
 14522  // be included in the string output. The member name will be present, but the
 14523  // value will be replaced with "sensitive".
 14524  func (s ListWorldsOutput) String() string {
 14525  	return awsutil.Prettify(s)
 14526  }
 14527  
 14528  // GoString returns the string representation.
 14529  //
 14530  // API parameter values that are decorated as "sensitive" in the API will not
 14531  // be included in the string output. The member name will be present, but the
 14532  // value will be replaced with "sensitive".
 14533  func (s ListWorldsOutput) GoString() string {
 14534  	return s.String()
 14535  }
 14536  
 14537  // SetNextToken sets the NextToken field's value.
 14538  func (s *ListWorldsOutput) SetNextToken(v string) *ListWorldsOutput {
 14539  	s.NextToken = &v
 14540  	return s
 14541  }
 14542  
 14543  // SetWorldSummaries sets the WorldSummaries field's value.
 14544  func (s *ListWorldsOutput) SetWorldSummaries(v []*WorldSummary) *ListWorldsOutput {
 14545  	s.WorldSummaries = v
 14546  	return s
 14547  }
 14548  
 14549  // The logging configuration.
 14550  type LoggingConfig struct {
 14551  	_ struct{} `type:"structure"`
 14552  
 14553  	// A boolean indicating whether to record all ROS topics.
 14554  	//
 14555  	// RecordAllRosTopics is a required field
 14556  	RecordAllRosTopics *bool `locationName:"recordAllRosTopics" type:"boolean" required:"true"`
 14557  }
 14558  
 14559  // String returns the string representation.
 14560  //
 14561  // API parameter values that are decorated as "sensitive" in the API will not
 14562  // be included in the string output. The member name will be present, but the
 14563  // value will be replaced with "sensitive".
 14564  func (s LoggingConfig) String() string {
 14565  	return awsutil.Prettify(s)
 14566  }
 14567  
 14568  // GoString returns the string representation.
 14569  //
 14570  // API parameter values that are decorated as "sensitive" in the API will not
 14571  // be included in the string output. The member name will be present, but the
 14572  // value will be replaced with "sensitive".
 14573  func (s LoggingConfig) GoString() string {
 14574  	return s.String()
 14575  }
 14576  
 14577  // Validate inspects the fields of the type to determine if they are valid.
 14578  func (s *LoggingConfig) Validate() error {
 14579  	invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"}
 14580  	if s.RecordAllRosTopics == nil {
 14581  		invalidParams.Add(request.NewErrParamRequired("RecordAllRosTopics"))
 14582  	}
 14583  
 14584  	if invalidParams.Len() > 0 {
 14585  		return invalidParams
 14586  	}
 14587  	return nil
 14588  }
 14589  
 14590  // SetRecordAllRosTopics sets the RecordAllRosTopics field's value.
 14591  func (s *LoggingConfig) SetRecordAllRosTopics(v bool) *LoggingConfig {
 14592  	s.RecordAllRosTopics = &v
 14593  	return s
 14594  }
 14595  
 14596  // Describes a network interface.
 14597  type NetworkInterface struct {
 14598  	_ struct{} `type:"structure"`
 14599  
 14600  	// The ID of the network interface.
 14601  	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
 14602  
 14603  	// The IPv4 address of the network interface within the subnet.
 14604  	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
 14605  
 14606  	// The IPv4 public address of the network interface.
 14607  	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
 14608  }
 14609  
 14610  // String returns the string representation.
 14611  //
 14612  // API parameter values that are decorated as "sensitive" in the API will not
 14613  // be included in the string output. The member name will be present, but the
 14614  // value will be replaced with "sensitive".
 14615  func (s NetworkInterface) String() string {
 14616  	return awsutil.Prettify(s)
 14617  }
 14618  
 14619  // GoString returns the string representation.
 14620  //
 14621  // API parameter values that are decorated as "sensitive" in the API will not
 14622  // be included in the string output. The member name will be present, but the
 14623  // value will be replaced with "sensitive".
 14624  func (s NetworkInterface) GoString() string {
 14625  	return s.String()
 14626  }
 14627  
 14628  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
 14629  func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
 14630  	s.NetworkInterfaceId = &v
 14631  	return s
 14632  }
 14633  
 14634  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 14635  func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
 14636  	s.PrivateIpAddress = &v
 14637  	return s
 14638  }
 14639  
 14640  // SetPublicIpAddress sets the PublicIpAddress field's value.
 14641  func (s *NetworkInterface) SetPublicIpAddress(v string) *NetworkInterface {
 14642  	s.PublicIpAddress = &v
 14643  	return s
 14644  }
 14645  
 14646  // The output location.
 14647  type OutputLocation struct {
 14648  	_ struct{} `type:"structure"`
 14649  
 14650  	// The S3 bucket for output.
 14651  	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
 14652  
 14653  	// The S3 folder in the s3Bucket where output files will be placed.
 14654  	S3Prefix *string `locationName:"s3Prefix" min:"1" type:"string"`
 14655  }
 14656  
 14657  // String returns the string representation.
 14658  //
 14659  // API parameter values that are decorated as "sensitive" in the API will not
 14660  // be included in the string output. The member name will be present, but the
 14661  // value will be replaced with "sensitive".
 14662  func (s OutputLocation) String() string {
 14663  	return awsutil.Prettify(s)
 14664  }
 14665  
 14666  // GoString returns the string representation.
 14667  //
 14668  // API parameter values that are decorated as "sensitive" in the API will not
 14669  // be included in the string output. The member name will be present, but the
 14670  // value will be replaced with "sensitive".
 14671  func (s OutputLocation) GoString() string {
 14672  	return s.String()
 14673  }
 14674  
 14675  // Validate inspects the fields of the type to determine if they are valid.
 14676  func (s *OutputLocation) Validate() error {
 14677  	invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
 14678  	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
 14679  		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
 14680  	}
 14681  	if s.S3Prefix != nil && len(*s.S3Prefix) < 1 {
 14682  		invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1))
 14683  	}
 14684  
 14685  	if invalidParams.Len() > 0 {
 14686  		return invalidParams
 14687  	}
 14688  	return nil
 14689  }
 14690  
 14691  // SetS3Bucket sets the S3Bucket field's value.
 14692  func (s *OutputLocation) SetS3Bucket(v string) *OutputLocation {
 14693  	s.S3Bucket = &v
 14694  	return s
 14695  }
 14696  
 14697  // SetS3Prefix sets the S3Prefix field's value.
 14698  func (s *OutputLocation) SetS3Prefix(v string) *OutputLocation {
 14699  	s.S3Prefix = &v
 14700  	return s
 14701  }
 14702  
 14703  // Configuration information for port forwarding.
 14704  type PortForwardingConfig struct {
 14705  	_ struct{} `type:"structure"`
 14706  
 14707  	// The port mappings for the configuration.
 14708  	PortMappings []*PortMapping `locationName:"portMappings" type:"list"`
 14709  }
 14710  
 14711  // String returns the string representation.
 14712  //
 14713  // API parameter values that are decorated as "sensitive" in the API will not
 14714  // be included in the string output. The member name will be present, but the
 14715  // value will be replaced with "sensitive".
 14716  func (s PortForwardingConfig) String() string {
 14717  	return awsutil.Prettify(s)
 14718  }
 14719  
 14720  // GoString returns the string representation.
 14721  //
 14722  // API parameter values that are decorated as "sensitive" in the API will not
 14723  // be included in the string output. The member name will be present, but the
 14724  // value will be replaced with "sensitive".
 14725  func (s PortForwardingConfig) GoString() string {
 14726  	return s.String()
 14727  }
 14728  
 14729  // Validate inspects the fields of the type to determine if they are valid.
 14730  func (s *PortForwardingConfig) Validate() error {
 14731  	invalidParams := request.ErrInvalidParams{Context: "PortForwardingConfig"}
 14732  	if s.PortMappings != nil {
 14733  		for i, v := range s.PortMappings {
 14734  			if v == nil {
 14735  				continue
 14736  			}
 14737  			if err := v.Validate(); err != nil {
 14738  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortMappings", i), err.(request.ErrInvalidParams))
 14739  			}
 14740  		}
 14741  	}
 14742  
 14743  	if invalidParams.Len() > 0 {
 14744  		return invalidParams
 14745  	}
 14746  	return nil
 14747  }
 14748  
 14749  // SetPortMappings sets the PortMappings field's value.
 14750  func (s *PortForwardingConfig) SetPortMappings(v []*PortMapping) *PortForwardingConfig {
 14751  	s.PortMappings = v
 14752  	return s
 14753  }
 14754  
 14755  // An object representing a port mapping.
 14756  type PortMapping struct {
 14757  	_ struct{} `type:"structure"`
 14758  
 14759  	// The port number on the application.
 14760  	//
 14761  	// ApplicationPort is a required field
 14762  	ApplicationPort *int64 `locationName:"applicationPort" min:"1024" type:"integer" required:"true"`
 14763  
 14764  	// A Boolean indicating whether to enable this port mapping on public IP.
 14765  	EnableOnPublicIp *bool `locationName:"enableOnPublicIp" type:"boolean"`
 14766  
 14767  	// The port number on the simulation job instance to use as a remote connection
 14768  	// point.
 14769  	//
 14770  	// JobPort is a required field
 14771  	JobPort *int64 `locationName:"jobPort" min:"1" type:"integer" required:"true"`
 14772  }
 14773  
 14774  // String returns the string representation.
 14775  //
 14776  // API parameter values that are decorated as "sensitive" in the API will not
 14777  // be included in the string output. The member name will be present, but the
 14778  // value will be replaced with "sensitive".
 14779  func (s PortMapping) String() string {
 14780  	return awsutil.Prettify(s)
 14781  }
 14782  
 14783  // GoString returns the string representation.
 14784  //
 14785  // API parameter values that are decorated as "sensitive" in the API will not
 14786  // be included in the string output. The member name will be present, but the
 14787  // value will be replaced with "sensitive".
 14788  func (s PortMapping) GoString() string {
 14789  	return s.String()
 14790  }
 14791  
 14792  // Validate inspects the fields of the type to determine if they are valid.
 14793  func (s *PortMapping) Validate() error {
 14794  	invalidParams := request.ErrInvalidParams{Context: "PortMapping"}
 14795  	if s.ApplicationPort == nil {
 14796  		invalidParams.Add(request.NewErrParamRequired("ApplicationPort"))
 14797  	}
 14798  	if s.ApplicationPort != nil && *s.ApplicationPort < 1024 {
 14799  		invalidParams.Add(request.NewErrParamMinValue("ApplicationPort", 1024))
 14800  	}
 14801  	if s.JobPort == nil {
 14802  		invalidParams.Add(request.NewErrParamRequired("JobPort"))
 14803  	}
 14804  	if s.JobPort != nil && *s.JobPort < 1 {
 14805  		invalidParams.Add(request.NewErrParamMinValue("JobPort", 1))
 14806  	}
 14807  
 14808  	if invalidParams.Len() > 0 {
 14809  		return invalidParams
 14810  	}
 14811  	return nil
 14812  }
 14813  
 14814  // SetApplicationPort sets the ApplicationPort field's value.
 14815  func (s *PortMapping) SetApplicationPort(v int64) *PortMapping {
 14816  	s.ApplicationPort = &v
 14817  	return s
 14818  }
 14819  
 14820  // SetEnableOnPublicIp sets the EnableOnPublicIp field's value.
 14821  func (s *PortMapping) SetEnableOnPublicIp(v bool) *PortMapping {
 14822  	s.EnableOnPublicIp = &v
 14823  	return s
 14824  }
 14825  
 14826  // SetJobPort sets the JobPort field's value.
 14827  func (s *PortMapping) SetJobPort(v int64) *PortMapping {
 14828  	s.JobPort = &v
 14829  	return s
 14830  }
 14831  
 14832  // Information about the progress of a deployment job.
 14833  type ProgressDetail struct {
 14834  	_ struct{} `type:"structure"`
 14835  
 14836  	// The current progress status.
 14837  	//
 14838  	// Validating
 14839  	//
 14840  	// Validating the deployment.
 14841  	//
 14842  	// DownloadingExtracting
 14843  	//
 14844  	// Downloading and extracting the bundle on the robot.
 14845  	//
 14846  	// ExecutingPreLaunch
 14847  	//
 14848  	// Executing pre-launch script(s) if provided.
 14849  	//
 14850  	// Launching
 14851  	//
 14852  	// Launching the robot application.
 14853  	//
 14854  	// ExecutingPostLaunch
 14855  	//
 14856  	// Executing post-launch script(s) if provided.
 14857  	//
 14858  	// Finished
 14859  	//
 14860  	// Deployment is complete.
 14861  	CurrentProgress *string `locationName:"currentProgress" type:"string" enum:"RobotDeploymentStep"`
 14862  
 14863  	// Estimated amount of time in seconds remaining in the step. This currently
 14864  	// only applies to the Downloading/Extracting step of the deployment. It is
 14865  	// empty for other steps.
 14866  	EstimatedTimeRemainingSeconds *int64 `locationName:"estimatedTimeRemainingSeconds" type:"integer"`
 14867  
 14868  	// Precentage of the step that is done. This currently only applies to the Downloading/Extracting
 14869  	// step of the deployment. It is empty for other steps.
 14870  	PercentDone *float64 `locationName:"percentDone" type:"float"`
 14871  
 14872  	// The Amazon Resource Name (ARN) of the deployment job.
 14873  	TargetResource *string `locationName:"targetResource" type:"string"`
 14874  }
 14875  
 14876  // String returns the string representation.
 14877  //
 14878  // API parameter values that are decorated as "sensitive" in the API will not
 14879  // be included in the string output. The member name will be present, but the
 14880  // value will be replaced with "sensitive".
 14881  func (s ProgressDetail) String() string {
 14882  	return awsutil.Prettify(s)
 14883  }
 14884  
 14885  // GoString returns the string representation.
 14886  //
 14887  // API parameter values that are decorated as "sensitive" in the API will not
 14888  // be included in the string output. The member name will be present, but the
 14889  // value will be replaced with "sensitive".
 14890  func (s ProgressDetail) GoString() string {
 14891  	return s.String()
 14892  }
 14893  
 14894  // SetCurrentProgress sets the CurrentProgress field's value.
 14895  func (s *ProgressDetail) SetCurrentProgress(v string) *ProgressDetail {
 14896  	s.CurrentProgress = &v
 14897  	return s
 14898  }
 14899  
 14900  // SetEstimatedTimeRemainingSeconds sets the EstimatedTimeRemainingSeconds field's value.
 14901  func (s *ProgressDetail) SetEstimatedTimeRemainingSeconds(v int64) *ProgressDetail {
 14902  	s.EstimatedTimeRemainingSeconds = &v
 14903  	return s
 14904  }
 14905  
 14906  // SetPercentDone sets the PercentDone field's value.
 14907  func (s *ProgressDetail) SetPercentDone(v float64) *ProgressDetail {
 14908  	s.PercentDone = &v
 14909  	return s
 14910  }
 14911  
 14912  // SetTargetResource sets the TargetResource field's value.
 14913  func (s *ProgressDetail) SetTargetResource(v string) *ProgressDetail {
 14914  	s.TargetResource = &v
 14915  	return s
 14916  }
 14917  
 14918  type RegisterRobotInput struct {
 14919  	_ struct{} `type:"structure"`
 14920  
 14921  	// The Amazon Resource Name (ARN) of the fleet.
 14922  	//
 14923  	// Fleet is a required field
 14924  	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
 14925  
 14926  	// The Amazon Resource Name (ARN) of the robot.
 14927  	//
 14928  	// Robot is a required field
 14929  	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
 14930  }
 14931  
 14932  // String returns the string representation.
 14933  //
 14934  // API parameter values that are decorated as "sensitive" in the API will not
 14935  // be included in the string output. The member name will be present, but the
 14936  // value will be replaced with "sensitive".
 14937  func (s RegisterRobotInput) String() string {
 14938  	return awsutil.Prettify(s)
 14939  }
 14940  
 14941  // GoString returns the string representation.
 14942  //
 14943  // API parameter values that are decorated as "sensitive" in the API will not
 14944  // be included in the string output. The member name will be present, but the
 14945  // value will be replaced with "sensitive".
 14946  func (s RegisterRobotInput) GoString() string {
 14947  	return s.String()
 14948  }
 14949  
 14950  // Validate inspects the fields of the type to determine if they are valid.
 14951  func (s *RegisterRobotInput) Validate() error {
 14952  	invalidParams := request.ErrInvalidParams{Context: "RegisterRobotInput"}
 14953  	if s.Fleet == nil {
 14954  		invalidParams.Add(request.NewErrParamRequired("Fleet"))
 14955  	}
 14956  	if s.Fleet != nil && len(*s.Fleet) < 1 {
 14957  		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
 14958  	}
 14959  	if s.Robot == nil {
 14960  		invalidParams.Add(request.NewErrParamRequired("Robot"))
 14961  	}
 14962  	if s.Robot != nil && len(*s.Robot) < 1 {
 14963  		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
 14964  	}
 14965  
 14966  	if invalidParams.Len() > 0 {
 14967  		return invalidParams
 14968  	}
 14969  	return nil
 14970  }
 14971  
 14972  // SetFleet sets the Fleet field's value.
 14973  func (s *RegisterRobotInput) SetFleet(v string) *RegisterRobotInput {
 14974  	s.Fleet = &v
 14975  	return s
 14976  }
 14977  
 14978  // SetRobot sets the Robot field's value.
 14979  func (s *RegisterRobotInput) SetRobot(v string) *RegisterRobotInput {
 14980  	s.Robot = &v
 14981  	return s
 14982  }
 14983  
 14984  type RegisterRobotOutput struct {
 14985  	_ struct{} `type:"structure"`
 14986  
 14987  	// The Amazon Resource Name (ARN) of the fleet that the robot will join.
 14988  	Fleet *string `locationName:"fleet" min:"1" type:"string"`
 14989  
 14990  	// Information about the robot registration.
 14991  	Robot *string `locationName:"robot" min:"1" type:"string"`
 14992  }
 14993  
 14994  // String returns the string representation.
 14995  //
 14996  // API parameter values that are decorated as "sensitive" in the API will not
 14997  // be included in the string output. The member name will be present, but the
 14998  // value will be replaced with "sensitive".
 14999  func (s RegisterRobotOutput) String() string {
 15000  	return awsutil.Prettify(s)
 15001  }
 15002  
 15003  // GoString returns the string representation.
 15004  //
 15005  // API parameter values that are decorated as "sensitive" in the API will not
 15006  // be included in the string output. The member name will be present, but the
 15007  // value will be replaced with "sensitive".
 15008  func (s RegisterRobotOutput) GoString() string {
 15009  	return s.String()
 15010  }
 15011  
 15012  // SetFleet sets the Fleet field's value.
 15013  func (s *RegisterRobotOutput) SetFleet(v string) *RegisterRobotOutput {
 15014  	s.Fleet = &v
 15015  	return s
 15016  }
 15017  
 15018  // SetRobot sets the Robot field's value.
 15019  func (s *RegisterRobotOutput) SetRobot(v string) *RegisterRobotOutput {
 15020  	s.Robot = &v
 15021  	return s
 15022  }
 15023  
 15024  // Information about a rendering engine.
 15025  type RenderingEngine struct {
 15026  	_ struct{} `type:"structure"`
 15027  
 15028  	// The name of the rendering engine.
 15029  	Name *string `locationName:"name" type:"string" enum:"RenderingEngineType"`
 15030  
 15031  	// The version of the rendering engine.
 15032  	Version *string `locationName:"version" min:"1" type:"string"`
 15033  }
 15034  
 15035  // String returns the string representation.
 15036  //
 15037  // API parameter values that are decorated as "sensitive" in the API will not
 15038  // be included in the string output. The member name will be present, but the
 15039  // value will be replaced with "sensitive".
 15040  func (s RenderingEngine) String() string {
 15041  	return awsutil.Prettify(s)
 15042  }
 15043  
 15044  // GoString returns the string representation.
 15045  //
 15046  // API parameter values that are decorated as "sensitive" in the API will not
 15047  // be included in the string output. The member name will be present, but the
 15048  // value will be replaced with "sensitive".
 15049  func (s RenderingEngine) GoString() string {
 15050  	return s.String()
 15051  }
 15052  
 15053  // Validate inspects the fields of the type to determine if they are valid.
 15054  func (s *RenderingEngine) Validate() error {
 15055  	invalidParams := request.ErrInvalidParams{Context: "RenderingEngine"}
 15056  	if s.Version != nil && len(*s.Version) < 1 {
 15057  		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
 15058  	}
 15059  
 15060  	if invalidParams.Len() > 0 {
 15061  		return invalidParams
 15062  	}
 15063  	return nil
 15064  }
 15065  
 15066  // SetName sets the Name field's value.
 15067  func (s *RenderingEngine) SetName(v string) *RenderingEngine {
 15068  	s.Name = &v
 15069  	return s
 15070  }
 15071  
 15072  // SetVersion sets the Version field's value.
 15073  func (s *RenderingEngine) SetVersion(v string) *RenderingEngine {
 15074  	s.Version = &v
 15075  	return s
 15076  }
 15077  
 15078  // The specified resource already exists.
 15079  type ResourceAlreadyExistsException struct {
 15080  	_            struct{}                  `type:"structure"`
 15081  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15082  
 15083  	Message_ *string `locationName:"message" type:"string"`
 15084  }
 15085  
 15086  // String returns the string representation.
 15087  //
 15088  // API parameter values that are decorated as "sensitive" in the API will not
 15089  // be included in the string output. The member name will be present, but the
 15090  // value will be replaced with "sensitive".
 15091  func (s ResourceAlreadyExistsException) String() string {
 15092  	return awsutil.Prettify(s)
 15093  }
 15094  
 15095  // GoString returns the string representation.
 15096  //
 15097  // API parameter values that are decorated as "sensitive" in the API will not
 15098  // be included in the string output. The member name will be present, but the
 15099  // value will be replaced with "sensitive".
 15100  func (s ResourceAlreadyExistsException) GoString() string {
 15101  	return s.String()
 15102  }
 15103  
 15104  func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
 15105  	return &ResourceAlreadyExistsException{
 15106  		RespMetadata: v,
 15107  	}
 15108  }
 15109  
 15110  // Code returns the exception type name.
 15111  func (s *ResourceAlreadyExistsException) Code() string {
 15112  	return "ResourceAlreadyExistsException"
 15113  }
 15114  
 15115  // Message returns the exception's message.
 15116  func (s *ResourceAlreadyExistsException) Message() string {
 15117  	if s.Message_ != nil {
 15118  		return *s.Message_
 15119  	}
 15120  	return ""
 15121  }
 15122  
 15123  // OrigErr always returns nil, satisfies awserr.Error interface.
 15124  func (s *ResourceAlreadyExistsException) OrigErr() error {
 15125  	return nil
 15126  }
 15127  
 15128  func (s *ResourceAlreadyExistsException) Error() string {
 15129  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15130  }
 15131  
 15132  // Status code returns the HTTP status code for the request's response error.
 15133  func (s *ResourceAlreadyExistsException) StatusCode() int {
 15134  	return s.RespMetadata.StatusCode
 15135  }
 15136  
 15137  // RequestID returns the service's response RequestID for request.
 15138  func (s *ResourceAlreadyExistsException) RequestID() string {
 15139  	return s.RespMetadata.RequestID
 15140  }
 15141  
 15142  // The specified resource does not exist.
 15143  type ResourceNotFoundException struct {
 15144  	_            struct{}                  `type:"structure"`
 15145  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15146  
 15147  	Message_ *string `locationName:"message" type:"string"`
 15148  }
 15149  
 15150  // String returns the string representation.
 15151  //
 15152  // API parameter values that are decorated as "sensitive" in the API will not
 15153  // be included in the string output. The member name will be present, but the
 15154  // value will be replaced with "sensitive".
 15155  func (s ResourceNotFoundException) String() string {
 15156  	return awsutil.Prettify(s)
 15157  }
 15158  
 15159  // GoString returns the string representation.
 15160  //
 15161  // API parameter values that are decorated as "sensitive" in the API will not
 15162  // be included in the string output. The member name will be present, but the
 15163  // value will be replaced with "sensitive".
 15164  func (s ResourceNotFoundException) GoString() string {
 15165  	return s.String()
 15166  }
 15167  
 15168  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
 15169  	return &ResourceNotFoundException{
 15170  		RespMetadata: v,
 15171  	}
 15172  }
 15173  
 15174  // Code returns the exception type name.
 15175  func (s *ResourceNotFoundException) Code() string {
 15176  	return "ResourceNotFoundException"
 15177  }
 15178  
 15179  // Message returns the exception's message.
 15180  func (s *ResourceNotFoundException) Message() string {
 15181  	if s.Message_ != nil {
 15182  		return *s.Message_
 15183  	}
 15184  	return ""
 15185  }
 15186  
 15187  // OrigErr always returns nil, satisfies awserr.Error interface.
 15188  func (s *ResourceNotFoundException) OrigErr() error {
 15189  	return nil
 15190  }
 15191  
 15192  func (s *ResourceNotFoundException) Error() string {
 15193  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15194  }
 15195  
 15196  // Status code returns the HTTP status code for the request's response error.
 15197  func (s *ResourceNotFoundException) StatusCode() int {
 15198  	return s.RespMetadata.StatusCode
 15199  }
 15200  
 15201  // RequestID returns the service's response RequestID for request.
 15202  func (s *ResourceNotFoundException) RequestID() string {
 15203  	return s.RespMetadata.RequestID
 15204  }
 15205  
 15206  type RestartSimulationJobInput struct {
 15207  	_ struct{} `type:"structure"`
 15208  
 15209  	// The Amazon Resource Name (ARN) of the simulation job.
 15210  	//
 15211  	// Job is a required field
 15212  	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
 15213  }
 15214  
 15215  // String returns the string representation.
 15216  //
 15217  // API parameter values that are decorated as "sensitive" in the API will not
 15218  // be included in the string output. The member name will be present, but the
 15219  // value will be replaced with "sensitive".
 15220  func (s RestartSimulationJobInput) String() string {
 15221  	return awsutil.Prettify(s)
 15222  }
 15223  
 15224  // GoString returns the string representation.
 15225  //
 15226  // API parameter values that are decorated as "sensitive" in the API will not
 15227  // be included in the string output. The member name will be present, but the
 15228  // value will be replaced with "sensitive".
 15229  func (s RestartSimulationJobInput) GoString() string {
 15230  	return s.String()
 15231  }
 15232  
 15233  // Validate inspects the fields of the type to determine if they are valid.
 15234  func (s *RestartSimulationJobInput) Validate() error {
 15235  	invalidParams := request.ErrInvalidParams{Context: "RestartSimulationJobInput"}
 15236  	if s.Job == nil {
 15237  		invalidParams.Add(request.NewErrParamRequired("Job"))
 15238  	}
 15239  	if s.Job != nil && len(*s.Job) < 1 {
 15240  		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
 15241  	}
 15242  
 15243  	if invalidParams.Len() > 0 {
 15244  		return invalidParams
 15245  	}
 15246  	return nil
 15247  }
 15248  
 15249  // SetJob sets the Job field's value.
 15250  func (s *RestartSimulationJobInput) SetJob(v string) *RestartSimulationJobInput {
 15251  	s.Job = &v
 15252  	return s
 15253  }
 15254  
 15255  type RestartSimulationJobOutput struct {
 15256  	_ struct{} `type:"structure" nopayload:"true"`
 15257  }
 15258  
 15259  // String returns the string representation.
 15260  //
 15261  // API parameter values that are decorated as "sensitive" in the API will not
 15262  // be included in the string output. The member name will be present, but the
 15263  // value will be replaced with "sensitive".
 15264  func (s RestartSimulationJobOutput) String() string {
 15265  	return awsutil.Prettify(s)
 15266  }
 15267  
 15268  // GoString returns the string representation.
 15269  //
 15270  // API parameter values that are decorated as "sensitive" in the API will not
 15271  // be included in the string output. The member name will be present, but the
 15272  // value will be replaced with "sensitive".
 15273  func (s RestartSimulationJobOutput) GoString() string {
 15274  	return s.String()
 15275  }
 15276  
 15277  // Information about a robot.
 15278  type Robot struct {
 15279  	_ struct{} `type:"structure"`
 15280  
 15281  	// The architecture of the robot.
 15282  	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
 15283  
 15284  	// The Amazon Resource Name (ARN) of the robot.
 15285  	Arn *string `locationName:"arn" min:"1" type:"string"`
 15286  
 15287  	// The time, in milliseconds since the epoch, when the robot was created.
 15288  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 15289  
 15290  	// The Amazon Resource Name (ARN) of the fleet.
 15291  	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
 15292  
 15293  	// The Greengrass group associated with the robot.
 15294  	GreenGrassGroupId *string `locationName:"greenGrassGroupId" min:"1" type:"string"`
 15295  
 15296  	// The Amazon Resource Name (ARN) of the last deployment job.
 15297  	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
 15298  
 15299  	// The time of the last deployment.
 15300  	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
 15301  
 15302  	// The name of the robot.
 15303  	Name *string `locationName:"name" min:"1" type:"string"`
 15304  
 15305  	// The status of the robot.
 15306  	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
 15307  }
 15308  
 15309  // String returns the string representation.
 15310  //
 15311  // API parameter values that are decorated as "sensitive" in the API will not
 15312  // be included in the string output. The member name will be present, but the
 15313  // value will be replaced with "sensitive".
 15314  func (s Robot) String() string {
 15315  	return awsutil.Prettify(s)
 15316  }
 15317  
 15318  // GoString returns the string representation.
 15319  //
 15320  // API parameter values that are decorated as "sensitive" in the API will not
 15321  // be included in the string output. The member name will be present, but the
 15322  // value will be replaced with "sensitive".
 15323  func (s Robot) GoString() string {
 15324  	return s.String()
 15325  }
 15326  
 15327  // SetArchitecture sets the Architecture field's value.
 15328  func (s *Robot) SetArchitecture(v string) *Robot {
 15329  	s.Architecture = &v
 15330  	return s
 15331  }
 15332  
 15333  // SetArn sets the Arn field's value.
 15334  func (s *Robot) SetArn(v string) *Robot {
 15335  	s.Arn = &v
 15336  	return s
 15337  }
 15338  
 15339  // SetCreatedAt sets the CreatedAt field's value.
 15340  func (s *Robot) SetCreatedAt(v time.Time) *Robot {
 15341  	s.CreatedAt = &v
 15342  	return s
 15343  }
 15344  
 15345  // SetFleetArn sets the FleetArn field's value.
 15346  func (s *Robot) SetFleetArn(v string) *Robot {
 15347  	s.FleetArn = &v
 15348  	return s
 15349  }
 15350  
 15351  // SetGreenGrassGroupId sets the GreenGrassGroupId field's value.
 15352  func (s *Robot) SetGreenGrassGroupId(v string) *Robot {
 15353  	s.GreenGrassGroupId = &v
 15354  	return s
 15355  }
 15356  
 15357  // SetLastDeploymentJob sets the LastDeploymentJob field's value.
 15358  func (s *Robot) SetLastDeploymentJob(v string) *Robot {
 15359  	s.LastDeploymentJob = &v
 15360  	return s
 15361  }
 15362  
 15363  // SetLastDeploymentTime sets the LastDeploymentTime field's value.
 15364  func (s *Robot) SetLastDeploymentTime(v time.Time) *Robot {
 15365  	s.LastDeploymentTime = &v
 15366  	return s
 15367  }
 15368  
 15369  // SetName sets the Name field's value.
 15370  func (s *Robot) SetName(v string) *Robot {
 15371  	s.Name = &v
 15372  	return s
 15373  }
 15374  
 15375  // SetStatus sets the Status field's value.
 15376  func (s *Robot) SetStatus(v string) *Robot {
 15377  	s.Status = &v
 15378  	return s
 15379  }
 15380  
 15381  // Application configuration information for a robot.
 15382  type RobotApplicationConfig struct {
 15383  	_ struct{} `type:"structure"`
 15384  
 15385  	// The application information for the robot application.
 15386  	//
 15387  	// Application is a required field
 15388  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
 15389  
 15390  	// The version of the robot application.
 15391  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
 15392  
 15393  	// The launch configuration for the robot application.
 15394  	//
 15395  	// LaunchConfig is a required field
 15396  	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
 15397  
 15398  	// Information about tools configured for the robot application.
 15399  	Tools []*Tool `locationName:"tools" type:"list"`
 15400  
 15401  	// The upload configurations for the robot application.
 15402  	UploadConfigurations []*UploadConfiguration `locationName:"uploadConfigurations" type:"list"`
 15403  
 15404  	// A Boolean indicating whether to use default robot application tools. The
 15405  	// default tools are rviz, rqt, terminal and rosbag record. The default is False.
 15406  	UseDefaultTools *bool `locationName:"useDefaultTools" type:"boolean"`
 15407  
 15408  	// A Boolean indicating whether to use default upload configurations. By default,
 15409  	// .ros and .gazebo files are uploaded when the application terminates and all
 15410  	// ROS topics will be recorded.
 15411  	//
 15412  	// If you set this value, you must specify an outputLocation.
 15413  	UseDefaultUploadConfigurations *bool `locationName:"useDefaultUploadConfigurations" type:"boolean"`
 15414  }
 15415  
 15416  // String returns the string representation.
 15417  //
 15418  // API parameter values that are decorated as "sensitive" in the API will not
 15419  // be included in the string output. The member name will be present, but the
 15420  // value will be replaced with "sensitive".
 15421  func (s RobotApplicationConfig) String() string {
 15422  	return awsutil.Prettify(s)
 15423  }
 15424  
 15425  // GoString returns the string representation.
 15426  //
 15427  // API parameter values that are decorated as "sensitive" in the API will not
 15428  // be included in the string output. The member name will be present, but the
 15429  // value will be replaced with "sensitive".
 15430  func (s RobotApplicationConfig) GoString() string {
 15431  	return s.String()
 15432  }
 15433  
 15434  // Validate inspects the fields of the type to determine if they are valid.
 15435  func (s *RobotApplicationConfig) Validate() error {
 15436  	invalidParams := request.ErrInvalidParams{Context: "RobotApplicationConfig"}
 15437  	if s.Application == nil {
 15438  		invalidParams.Add(request.NewErrParamRequired("Application"))
 15439  	}
 15440  	if s.Application != nil && len(*s.Application) < 1 {
 15441  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
 15442  	}
 15443  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
 15444  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
 15445  	}
 15446  	if s.LaunchConfig == nil {
 15447  		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
 15448  	}
 15449  	if s.LaunchConfig != nil {
 15450  		if err := s.LaunchConfig.Validate(); err != nil {
 15451  			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
 15452  		}
 15453  	}
 15454  	if s.Tools != nil {
 15455  		for i, v := range s.Tools {
 15456  			if v == nil {
 15457  				continue
 15458  			}
 15459  			if err := v.Validate(); err != nil {
 15460  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tools", i), err.(request.ErrInvalidParams))
 15461  			}
 15462  		}
 15463  	}
 15464  	if s.UploadConfigurations != nil {
 15465  		for i, v := range s.UploadConfigurations {
 15466  			if v == nil {
 15467  				continue
 15468  			}
 15469  			if err := v.Validate(); err != nil {
 15470  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UploadConfigurations", i), err.(request.ErrInvalidParams))
 15471  			}
 15472  		}
 15473  	}
 15474  
 15475  	if invalidParams.Len() > 0 {
 15476  		return invalidParams
 15477  	}
 15478  	return nil
 15479  }
 15480  
 15481  // SetApplication sets the Application field's value.
 15482  func (s *RobotApplicationConfig) SetApplication(v string) *RobotApplicationConfig {
 15483  	s.Application = &v
 15484  	return s
 15485  }
 15486  
 15487  // SetApplicationVersion sets the ApplicationVersion field's value.
 15488  func (s *RobotApplicationConfig) SetApplicationVersion(v string) *RobotApplicationConfig {
 15489  	s.ApplicationVersion = &v
 15490  	return s
 15491  }
 15492  
 15493  // SetLaunchConfig sets the LaunchConfig field's value.
 15494  func (s *RobotApplicationConfig) SetLaunchConfig(v *LaunchConfig) *RobotApplicationConfig {
 15495  	s.LaunchConfig = v
 15496  	return s
 15497  }
 15498  
 15499  // SetTools sets the Tools field's value.
 15500  func (s *RobotApplicationConfig) SetTools(v []*Tool) *RobotApplicationConfig {
 15501  	s.Tools = v
 15502  	return s
 15503  }
 15504  
 15505  // SetUploadConfigurations sets the UploadConfigurations field's value.
 15506  func (s *RobotApplicationConfig) SetUploadConfigurations(v []*UploadConfiguration) *RobotApplicationConfig {
 15507  	s.UploadConfigurations = v
 15508  	return s
 15509  }
 15510  
 15511  // SetUseDefaultTools sets the UseDefaultTools field's value.
 15512  func (s *RobotApplicationConfig) SetUseDefaultTools(v bool) *RobotApplicationConfig {
 15513  	s.UseDefaultTools = &v
 15514  	return s
 15515  }
 15516  
 15517  // SetUseDefaultUploadConfigurations sets the UseDefaultUploadConfigurations field's value.
 15518  func (s *RobotApplicationConfig) SetUseDefaultUploadConfigurations(v bool) *RobotApplicationConfig {
 15519  	s.UseDefaultUploadConfigurations = &v
 15520  	return s
 15521  }
 15522  
 15523  // Summary information for a robot application.
 15524  type RobotApplicationSummary struct {
 15525  	_ struct{} `type:"structure"`
 15526  
 15527  	// The Amazon Resource Name (ARN) of the robot.
 15528  	Arn *string `locationName:"arn" min:"1" type:"string"`
 15529  
 15530  	// The time, in milliseconds since the epoch, when the robot application was
 15531  	// last updated.
 15532  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 15533  
 15534  	// The name of the robot application.
 15535  	Name *string `locationName:"name" min:"1" type:"string"`
 15536  
 15537  	// Information about a robot software suite (ROS distribution).
 15538  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
 15539  
 15540  	// The version of the robot application.
 15541  	Version *string `locationName:"version" min:"1" type:"string"`
 15542  }
 15543  
 15544  // String returns the string representation.
 15545  //
 15546  // API parameter values that are decorated as "sensitive" in the API will not
 15547  // be included in the string output. The member name will be present, but the
 15548  // value will be replaced with "sensitive".
 15549  func (s RobotApplicationSummary) String() string {
 15550  	return awsutil.Prettify(s)
 15551  }
 15552  
 15553  // GoString returns the string representation.
 15554  //
 15555  // API parameter values that are decorated as "sensitive" in the API will not
 15556  // be included in the string output. The member name will be present, but the
 15557  // value will be replaced with "sensitive".
 15558  func (s RobotApplicationSummary) GoString() string {
 15559  	return s.String()
 15560  }
 15561  
 15562  // SetArn sets the Arn field's value.
 15563  func (s *RobotApplicationSummary) SetArn(v string) *RobotApplicationSummary {
 15564  	s.Arn = &v
 15565  	return s
 15566  }
 15567  
 15568  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 15569  func (s *RobotApplicationSummary) SetLastUpdatedAt(v time.Time) *RobotApplicationSummary {
 15570  	s.LastUpdatedAt = &v
 15571  	return s
 15572  }
 15573  
 15574  // SetName sets the Name field's value.
 15575  func (s *RobotApplicationSummary) SetName(v string) *RobotApplicationSummary {
 15576  	s.Name = &v
 15577  	return s
 15578  }
 15579  
 15580  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 15581  func (s *RobotApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *RobotApplicationSummary {
 15582  	s.RobotSoftwareSuite = v
 15583  	return s
 15584  }
 15585  
 15586  // SetVersion sets the Version field's value.
 15587  func (s *RobotApplicationSummary) SetVersion(v string) *RobotApplicationSummary {
 15588  	s.Version = &v
 15589  	return s
 15590  }
 15591  
 15592  // Information about a robot deployment.
 15593  type RobotDeployment struct {
 15594  	_ struct{} `type:"structure"`
 15595  
 15596  	// The robot deployment Amazon Resource Name (ARN).
 15597  	Arn *string `locationName:"arn" min:"1" type:"string"`
 15598  
 15599  	// The time, in milliseconds since the epoch, when the deployment finished.
 15600  	DeploymentFinishTime *time.Time `locationName:"deploymentFinishTime" type:"timestamp"`
 15601  
 15602  	// The time, in milliseconds since the epoch, when the deployment was started.
 15603  	DeploymentStartTime *time.Time `locationName:"deploymentStartTime" type:"timestamp"`
 15604  
 15605  	// The robot deployment failure code.
 15606  	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
 15607  
 15608  	// A short description of the reason why the robot deployment failed.
 15609  	FailureReason *string `locationName:"failureReason" type:"string"`
 15610  
 15611  	// Information about how the deployment is progressing.
 15612  	ProgressDetail *ProgressDetail `locationName:"progressDetail" type:"structure"`
 15613  
 15614  	// The status of the robot deployment.
 15615  	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
 15616  }
 15617  
 15618  // String returns the string representation.
 15619  //
 15620  // API parameter values that are decorated as "sensitive" in the API will not
 15621  // be included in the string output. The member name will be present, but the
 15622  // value will be replaced with "sensitive".
 15623  func (s RobotDeployment) String() string {
 15624  	return awsutil.Prettify(s)
 15625  }
 15626  
 15627  // GoString returns the string representation.
 15628  //
 15629  // API parameter values that are decorated as "sensitive" in the API will not
 15630  // be included in the string output. The member name will be present, but the
 15631  // value will be replaced with "sensitive".
 15632  func (s RobotDeployment) GoString() string {
 15633  	return s.String()
 15634  }
 15635  
 15636  // SetArn sets the Arn field's value.
 15637  func (s *RobotDeployment) SetArn(v string) *RobotDeployment {
 15638  	s.Arn = &v
 15639  	return s
 15640  }
 15641  
 15642  // SetDeploymentFinishTime sets the DeploymentFinishTime field's value.
 15643  func (s *RobotDeployment) SetDeploymentFinishTime(v time.Time) *RobotDeployment {
 15644  	s.DeploymentFinishTime = &v
 15645  	return s
 15646  }
 15647  
 15648  // SetDeploymentStartTime sets the DeploymentStartTime field's value.
 15649  func (s *RobotDeployment) SetDeploymentStartTime(v time.Time) *RobotDeployment {
 15650  	s.DeploymentStartTime = &v
 15651  	return s
 15652  }
 15653  
 15654  // SetFailureCode sets the FailureCode field's value.
 15655  func (s *RobotDeployment) SetFailureCode(v string) *RobotDeployment {
 15656  	s.FailureCode = &v
 15657  	return s
 15658  }
 15659  
 15660  // SetFailureReason sets the FailureReason field's value.
 15661  func (s *RobotDeployment) SetFailureReason(v string) *RobotDeployment {
 15662  	s.FailureReason = &v
 15663  	return s
 15664  }
 15665  
 15666  // SetProgressDetail sets the ProgressDetail field's value.
 15667  func (s *RobotDeployment) SetProgressDetail(v *ProgressDetail) *RobotDeployment {
 15668  	s.ProgressDetail = v
 15669  	return s
 15670  }
 15671  
 15672  // SetStatus sets the Status field's value.
 15673  func (s *RobotDeployment) SetStatus(v string) *RobotDeployment {
 15674  	s.Status = &v
 15675  	return s
 15676  }
 15677  
 15678  // Information about a robot software suite (ROS distribution).
 15679  type RobotSoftwareSuite struct {
 15680  	_ struct{} `type:"structure"`
 15681  
 15682  	// The name of the robot software suite (ROS distribution).
 15683  	Name *string `locationName:"name" type:"string" enum:"RobotSoftwareSuiteType"`
 15684  
 15685  	// The version of the robot software suite (ROS distribution).
 15686  	Version *string `locationName:"version" type:"string" enum:"RobotSoftwareSuiteVersionType"`
 15687  }
 15688  
 15689  // String returns the string representation.
 15690  //
 15691  // API parameter values that are decorated as "sensitive" in the API will not
 15692  // be included in the string output. The member name will be present, but the
 15693  // value will be replaced with "sensitive".
 15694  func (s RobotSoftwareSuite) String() string {
 15695  	return awsutil.Prettify(s)
 15696  }
 15697  
 15698  // GoString returns the string representation.
 15699  //
 15700  // API parameter values that are decorated as "sensitive" in the API will not
 15701  // be included in the string output. The member name will be present, but the
 15702  // value will be replaced with "sensitive".
 15703  func (s RobotSoftwareSuite) GoString() string {
 15704  	return s.String()
 15705  }
 15706  
 15707  // SetName sets the Name field's value.
 15708  func (s *RobotSoftwareSuite) SetName(v string) *RobotSoftwareSuite {
 15709  	s.Name = &v
 15710  	return s
 15711  }
 15712  
 15713  // SetVersion sets the Version field's value.
 15714  func (s *RobotSoftwareSuite) SetVersion(v string) *RobotSoftwareSuite {
 15715  	s.Version = &v
 15716  	return s
 15717  }
 15718  
 15719  // Information about S3 keys.
 15720  type S3KeyOutput struct {
 15721  	_ struct{} `type:"structure"`
 15722  
 15723  	// The etag for the object.
 15724  	Etag *string `locationName:"etag" type:"string"`
 15725  
 15726  	// The S3 key.
 15727  	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
 15728  }
 15729  
 15730  // String returns the string representation.
 15731  //
 15732  // API parameter values that are decorated as "sensitive" in the API will not
 15733  // be included in the string output. The member name will be present, but the
 15734  // value will be replaced with "sensitive".
 15735  func (s S3KeyOutput) String() string {
 15736  	return awsutil.Prettify(s)
 15737  }
 15738  
 15739  // GoString returns the string representation.
 15740  //
 15741  // API parameter values that are decorated as "sensitive" in the API will not
 15742  // be included in the string output. The member name will be present, but the
 15743  // value will be replaced with "sensitive".
 15744  func (s S3KeyOutput) GoString() string {
 15745  	return s.String()
 15746  }
 15747  
 15748  // SetEtag sets the Etag field's value.
 15749  func (s *S3KeyOutput) SetEtag(v string) *S3KeyOutput {
 15750  	s.Etag = &v
 15751  	return s
 15752  }
 15753  
 15754  // SetS3Key sets the S3Key field's value.
 15755  func (s *S3KeyOutput) SetS3Key(v string) *S3KeyOutput {
 15756  	s.S3Key = &v
 15757  	return s
 15758  }
 15759  
 15760  // Information about an S3 object.
 15761  type S3Object struct {
 15762  	_ struct{} `type:"structure"`
 15763  
 15764  	// The bucket containing the object.
 15765  	//
 15766  	// Bucket is a required field
 15767  	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
 15768  
 15769  	// The etag of the object.
 15770  	Etag *string `locationName:"etag" type:"string"`
 15771  
 15772  	// The key of the object.
 15773  	//
 15774  	// Key is a required field
 15775  	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
 15776  }
 15777  
 15778  // String returns the string representation.
 15779  //
 15780  // API parameter values that are decorated as "sensitive" in the API will not
 15781  // be included in the string output. The member name will be present, but the
 15782  // value will be replaced with "sensitive".
 15783  func (s S3Object) String() string {
 15784  	return awsutil.Prettify(s)
 15785  }
 15786  
 15787  // GoString returns the string representation.
 15788  //
 15789  // API parameter values that are decorated as "sensitive" in the API will not
 15790  // be included in the string output. The member name will be present, but the
 15791  // value will be replaced with "sensitive".
 15792  func (s S3Object) GoString() string {
 15793  	return s.String()
 15794  }
 15795  
 15796  // Validate inspects the fields of the type to determine if they are valid.
 15797  func (s *S3Object) Validate() error {
 15798  	invalidParams := request.ErrInvalidParams{Context: "S3Object"}
 15799  	if s.Bucket == nil {
 15800  		invalidParams.Add(request.NewErrParamRequired("Bucket"))
 15801  	}
 15802  	if s.Bucket != nil && len(*s.Bucket) < 3 {
 15803  		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
 15804  	}
 15805  	if s.Key == nil {
 15806  		invalidParams.Add(request.NewErrParamRequired("Key"))
 15807  	}
 15808  	if s.Key != nil && len(*s.Key) < 1 {
 15809  		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
 15810  	}
 15811  
 15812  	if invalidParams.Len() > 0 {
 15813  		return invalidParams
 15814  	}
 15815  	return nil
 15816  }
 15817  
 15818  // SetBucket sets the Bucket field's value.
 15819  func (s *S3Object) SetBucket(v string) *S3Object {
 15820  	s.Bucket = &v
 15821  	return s
 15822  }
 15823  
 15824  // SetEtag sets the Etag field's value.
 15825  func (s *S3Object) SetEtag(v string) *S3Object {
 15826  	s.Etag = &v
 15827  	return s
 15828  }
 15829  
 15830  // SetKey sets the Key field's value.
 15831  func (s *S3Object) SetKey(v string) *S3Object {
 15832  	s.Key = &v
 15833  	return s
 15834  }
 15835  
 15836  // The request has failed due to a temporary failure of the server.
 15837  type ServiceUnavailableException struct {
 15838  	_            struct{}                  `type:"structure"`
 15839  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 15840  
 15841  	Message_ *string `locationName:"message" type:"string"`
 15842  }
 15843  
 15844  // String returns the string representation.
 15845  //
 15846  // API parameter values that are decorated as "sensitive" in the API will not
 15847  // be included in the string output. The member name will be present, but the
 15848  // value will be replaced with "sensitive".
 15849  func (s ServiceUnavailableException) String() string {
 15850  	return awsutil.Prettify(s)
 15851  }
 15852  
 15853  // GoString returns the string representation.
 15854  //
 15855  // API parameter values that are decorated as "sensitive" in the API will not
 15856  // be included in the string output. The member name will be present, but the
 15857  // value will be replaced with "sensitive".
 15858  func (s ServiceUnavailableException) GoString() string {
 15859  	return s.String()
 15860  }
 15861  
 15862  func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
 15863  	return &ServiceUnavailableException{
 15864  		RespMetadata: v,
 15865  	}
 15866  }
 15867  
 15868  // Code returns the exception type name.
 15869  func (s *ServiceUnavailableException) Code() string {
 15870  	return "ServiceUnavailableException"
 15871  }
 15872  
 15873  // Message returns the exception's message.
 15874  func (s *ServiceUnavailableException) Message() string {
 15875  	if s.Message_ != nil {
 15876  		return *s.Message_
 15877  	}
 15878  	return ""
 15879  }
 15880  
 15881  // OrigErr always returns nil, satisfies awserr.Error interface.
 15882  func (s *ServiceUnavailableException) OrigErr() error {
 15883  	return nil
 15884  }
 15885  
 15886  func (s *ServiceUnavailableException) Error() string {
 15887  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 15888  }
 15889  
 15890  // Status code returns the HTTP status code for the request's response error.
 15891  func (s *ServiceUnavailableException) StatusCode() int {
 15892  	return s.RespMetadata.StatusCode
 15893  }
 15894  
 15895  // RequestID returns the service's response RequestID for request.
 15896  func (s *ServiceUnavailableException) RequestID() string {
 15897  	return s.RespMetadata.RequestID
 15898  }
 15899  
 15900  // Information about a simulation application configuration.
 15901  type SimulationApplicationConfig struct {
 15902  	_ struct{} `type:"structure"`
 15903  
 15904  	// The application information for the simulation application.
 15905  	//
 15906  	// Application is a required field
 15907  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
 15908  
 15909  	// The version of the simulation application.
 15910  	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
 15911  
 15912  	// The launch configuration for the simulation application.
 15913  	//
 15914  	// LaunchConfig is a required field
 15915  	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
 15916  
 15917  	// Information about tools configured for the simulation application.
 15918  	Tools []*Tool `locationName:"tools" type:"list"`
 15919  
 15920  	// Information about upload configurations for the simulation application.
 15921  	UploadConfigurations []*UploadConfiguration `locationName:"uploadConfigurations" type:"list"`
 15922  
 15923  	// A Boolean indicating whether to use default simulation application tools.
 15924  	// The default tools are rviz, rqt, terminal and rosbag record. The default
 15925  	// is False.
 15926  	UseDefaultTools *bool `locationName:"useDefaultTools" type:"boolean"`
 15927  
 15928  	// A Boolean indicating whether to use default upload configurations. By default,
 15929  	// .ros and .gazebo files are uploaded when the application terminates and all
 15930  	// ROS topics will be recorded.
 15931  	//
 15932  	// If you set this value, you must specify an outputLocation.
 15933  	UseDefaultUploadConfigurations *bool `locationName:"useDefaultUploadConfigurations" type:"boolean"`
 15934  
 15935  	// A list of world configurations.
 15936  	WorldConfigs []*WorldConfig `locationName:"worldConfigs" type:"list"`
 15937  }
 15938  
 15939  // String returns the string representation.
 15940  //
 15941  // API parameter values that are decorated as "sensitive" in the API will not
 15942  // be included in the string output. The member name will be present, but the
 15943  // value will be replaced with "sensitive".
 15944  func (s SimulationApplicationConfig) String() string {
 15945  	return awsutil.Prettify(s)
 15946  }
 15947  
 15948  // GoString returns the string representation.
 15949  //
 15950  // API parameter values that are decorated as "sensitive" in the API will not
 15951  // be included in the string output. The member name will be present, but the
 15952  // value will be replaced with "sensitive".
 15953  func (s SimulationApplicationConfig) GoString() string {
 15954  	return s.String()
 15955  }
 15956  
 15957  // Validate inspects the fields of the type to determine if they are valid.
 15958  func (s *SimulationApplicationConfig) Validate() error {
 15959  	invalidParams := request.ErrInvalidParams{Context: "SimulationApplicationConfig"}
 15960  	if s.Application == nil {
 15961  		invalidParams.Add(request.NewErrParamRequired("Application"))
 15962  	}
 15963  	if s.Application != nil && len(*s.Application) < 1 {
 15964  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
 15965  	}
 15966  	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
 15967  		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
 15968  	}
 15969  	if s.LaunchConfig == nil {
 15970  		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
 15971  	}
 15972  	if s.LaunchConfig != nil {
 15973  		if err := s.LaunchConfig.Validate(); err != nil {
 15974  			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
 15975  		}
 15976  	}
 15977  	if s.Tools != nil {
 15978  		for i, v := range s.Tools {
 15979  			if v == nil {
 15980  				continue
 15981  			}
 15982  			if err := v.Validate(); err != nil {
 15983  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tools", i), err.(request.ErrInvalidParams))
 15984  			}
 15985  		}
 15986  	}
 15987  	if s.UploadConfigurations != nil {
 15988  		for i, v := range s.UploadConfigurations {
 15989  			if v == nil {
 15990  				continue
 15991  			}
 15992  			if err := v.Validate(); err != nil {
 15993  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UploadConfigurations", i), err.(request.ErrInvalidParams))
 15994  			}
 15995  		}
 15996  	}
 15997  	if s.WorldConfigs != nil {
 15998  		for i, v := range s.WorldConfigs {
 15999  			if v == nil {
 16000  				continue
 16001  			}
 16002  			if err := v.Validate(); err != nil {
 16003  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WorldConfigs", i), err.(request.ErrInvalidParams))
 16004  			}
 16005  		}
 16006  	}
 16007  
 16008  	if invalidParams.Len() > 0 {
 16009  		return invalidParams
 16010  	}
 16011  	return nil
 16012  }
 16013  
 16014  // SetApplication sets the Application field's value.
 16015  func (s *SimulationApplicationConfig) SetApplication(v string) *SimulationApplicationConfig {
 16016  	s.Application = &v
 16017  	return s
 16018  }
 16019  
 16020  // SetApplicationVersion sets the ApplicationVersion field's value.
 16021  func (s *SimulationApplicationConfig) SetApplicationVersion(v string) *SimulationApplicationConfig {
 16022  	s.ApplicationVersion = &v
 16023  	return s
 16024  }
 16025  
 16026  // SetLaunchConfig sets the LaunchConfig field's value.
 16027  func (s *SimulationApplicationConfig) SetLaunchConfig(v *LaunchConfig) *SimulationApplicationConfig {
 16028  	s.LaunchConfig = v
 16029  	return s
 16030  }
 16031  
 16032  // SetTools sets the Tools field's value.
 16033  func (s *SimulationApplicationConfig) SetTools(v []*Tool) *SimulationApplicationConfig {
 16034  	s.Tools = v
 16035  	return s
 16036  }
 16037  
 16038  // SetUploadConfigurations sets the UploadConfigurations field's value.
 16039  func (s *SimulationApplicationConfig) SetUploadConfigurations(v []*UploadConfiguration) *SimulationApplicationConfig {
 16040  	s.UploadConfigurations = v
 16041  	return s
 16042  }
 16043  
 16044  // SetUseDefaultTools sets the UseDefaultTools field's value.
 16045  func (s *SimulationApplicationConfig) SetUseDefaultTools(v bool) *SimulationApplicationConfig {
 16046  	s.UseDefaultTools = &v
 16047  	return s
 16048  }
 16049  
 16050  // SetUseDefaultUploadConfigurations sets the UseDefaultUploadConfigurations field's value.
 16051  func (s *SimulationApplicationConfig) SetUseDefaultUploadConfigurations(v bool) *SimulationApplicationConfig {
 16052  	s.UseDefaultUploadConfigurations = &v
 16053  	return s
 16054  }
 16055  
 16056  // SetWorldConfigs sets the WorldConfigs field's value.
 16057  func (s *SimulationApplicationConfig) SetWorldConfigs(v []*WorldConfig) *SimulationApplicationConfig {
 16058  	s.WorldConfigs = v
 16059  	return s
 16060  }
 16061  
 16062  // Summary information for a simulation application.
 16063  type SimulationApplicationSummary struct {
 16064  	_ struct{} `type:"structure"`
 16065  
 16066  	// The Amazon Resource Name (ARN) of the simulation application.
 16067  	Arn *string `locationName:"arn" min:"1" type:"string"`
 16068  
 16069  	// The time, in milliseconds since the epoch, when the simulation application
 16070  	// was last updated.
 16071  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 16072  
 16073  	// The name of the simulation application.
 16074  	Name *string `locationName:"name" min:"1" type:"string"`
 16075  
 16076  	// Information about a robot software suite (ROS distribution).
 16077  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
 16078  
 16079  	// Information about a simulation software suite.
 16080  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
 16081  
 16082  	// The version of the simulation application.
 16083  	Version *string `locationName:"version" min:"1" type:"string"`
 16084  }
 16085  
 16086  // String returns the string representation.
 16087  //
 16088  // API parameter values that are decorated as "sensitive" in the API will not
 16089  // be included in the string output. The member name will be present, but the
 16090  // value will be replaced with "sensitive".
 16091  func (s SimulationApplicationSummary) String() string {
 16092  	return awsutil.Prettify(s)
 16093  }
 16094  
 16095  // GoString returns the string representation.
 16096  //
 16097  // API parameter values that are decorated as "sensitive" in the API will not
 16098  // be included in the string output. The member name will be present, but the
 16099  // value will be replaced with "sensitive".
 16100  func (s SimulationApplicationSummary) GoString() string {
 16101  	return s.String()
 16102  }
 16103  
 16104  // SetArn sets the Arn field's value.
 16105  func (s *SimulationApplicationSummary) SetArn(v string) *SimulationApplicationSummary {
 16106  	s.Arn = &v
 16107  	return s
 16108  }
 16109  
 16110  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 16111  func (s *SimulationApplicationSummary) SetLastUpdatedAt(v time.Time) *SimulationApplicationSummary {
 16112  	s.LastUpdatedAt = &v
 16113  	return s
 16114  }
 16115  
 16116  // SetName sets the Name field's value.
 16117  func (s *SimulationApplicationSummary) SetName(v string) *SimulationApplicationSummary {
 16118  	s.Name = &v
 16119  	return s
 16120  }
 16121  
 16122  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 16123  func (s *SimulationApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *SimulationApplicationSummary {
 16124  	s.RobotSoftwareSuite = v
 16125  	return s
 16126  }
 16127  
 16128  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
 16129  func (s *SimulationApplicationSummary) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *SimulationApplicationSummary {
 16130  	s.SimulationSoftwareSuite = v
 16131  	return s
 16132  }
 16133  
 16134  // SetVersion sets the Version field's value.
 16135  func (s *SimulationApplicationSummary) SetVersion(v string) *SimulationApplicationSummary {
 16136  	s.Version = &v
 16137  	return s
 16138  }
 16139  
 16140  // Information about a simulation job.
 16141  type SimulationJob struct {
 16142  	_ struct{} `type:"structure"`
 16143  
 16144  	// The Amazon Resource Name (ARN) of the simulation job.
 16145  	Arn *string `locationName:"arn" min:"1" type:"string"`
 16146  
 16147  	// A unique identifier for this SimulationJob request.
 16148  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 16149  
 16150  	// Compute information for the simulation job
 16151  	Compute *ComputeResponse `locationName:"compute" type:"structure"`
 16152  
 16153  	// The data sources for the simulation job.
 16154  	DataSources []*DataSource `locationName:"dataSources" type:"list"`
 16155  
 16156  	// The failure behavior the simulation job.
 16157  	//
 16158  	// Continue
 16159  	//
 16160  	// Leaves the host running for its maximum timeout duration after a 4XX error
 16161  	// code.
 16162  	//
 16163  	// Fail
 16164  	//
 16165  	// Stop the simulation job and terminate the instance.
 16166  	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
 16167  
 16168  	// The failure code of the simulation job if it failed.
 16169  	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
 16170  
 16171  	// The reason why the simulation job failed.
 16172  	FailureReason *string `locationName:"failureReason" type:"string"`
 16173  
 16174  	// The IAM role that allows the simulation instance to call the AWS APIs that
 16175  	// are specified in its associated policies on your behalf. This is how credentials
 16176  	// are passed in to your simulation job.
 16177  	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
 16178  
 16179  	// The time, in milliseconds since the epoch, when the simulation job was last
 16180  	// started.
 16181  	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
 16182  
 16183  	// The time, in milliseconds since the epoch, when the simulation job was last
 16184  	// updated.
 16185  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 16186  
 16187  	// The logging configuration.
 16188  	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
 16189  
 16190  	// The maximum simulation job duration in seconds. The value must be 8 days
 16191  	// (691,200 seconds) or less.
 16192  	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
 16193  
 16194  	// The name of the simulation job.
 16195  	Name *string `locationName:"name" min:"1" type:"string"`
 16196  
 16197  	// Information about a network interface.
 16198  	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
 16199  
 16200  	// Location for output files generated by the simulation job.
 16201  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
 16202  
 16203  	// A list of robot applications.
 16204  	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
 16205  
 16206  	// A list of simulation applications.
 16207  	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
 16208  
 16209  	// The simulation job execution duration in milliseconds.
 16210  	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
 16211  
 16212  	// Status of the simulation job.
 16213  	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
 16214  
 16215  	// A map that contains tag keys and tag values that are attached to the simulation
 16216  	// job.
 16217  	Tags map[string]*string `locationName:"tags" type:"map"`
 16218  
 16219  	// VPC configuration information.
 16220  	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
 16221  }
 16222  
 16223  // String returns the string representation.
 16224  //
 16225  // API parameter values that are decorated as "sensitive" in the API will not
 16226  // be included in the string output. The member name will be present, but the
 16227  // value will be replaced with "sensitive".
 16228  func (s SimulationJob) String() string {
 16229  	return awsutil.Prettify(s)
 16230  }
 16231  
 16232  // GoString returns the string representation.
 16233  //
 16234  // API parameter values that are decorated as "sensitive" in the API will not
 16235  // be included in the string output. The member name will be present, but the
 16236  // value will be replaced with "sensitive".
 16237  func (s SimulationJob) GoString() string {
 16238  	return s.String()
 16239  }
 16240  
 16241  // SetArn sets the Arn field's value.
 16242  func (s *SimulationJob) SetArn(v string) *SimulationJob {
 16243  	s.Arn = &v
 16244  	return s
 16245  }
 16246  
 16247  // SetClientRequestToken sets the ClientRequestToken field's value.
 16248  func (s *SimulationJob) SetClientRequestToken(v string) *SimulationJob {
 16249  	s.ClientRequestToken = &v
 16250  	return s
 16251  }
 16252  
 16253  // SetCompute sets the Compute field's value.
 16254  func (s *SimulationJob) SetCompute(v *ComputeResponse) *SimulationJob {
 16255  	s.Compute = v
 16256  	return s
 16257  }
 16258  
 16259  // SetDataSources sets the DataSources field's value.
 16260  func (s *SimulationJob) SetDataSources(v []*DataSource) *SimulationJob {
 16261  	s.DataSources = v
 16262  	return s
 16263  }
 16264  
 16265  // SetFailureBehavior sets the FailureBehavior field's value.
 16266  func (s *SimulationJob) SetFailureBehavior(v string) *SimulationJob {
 16267  	s.FailureBehavior = &v
 16268  	return s
 16269  }
 16270  
 16271  // SetFailureCode sets the FailureCode field's value.
 16272  func (s *SimulationJob) SetFailureCode(v string) *SimulationJob {
 16273  	s.FailureCode = &v
 16274  	return s
 16275  }
 16276  
 16277  // SetFailureReason sets the FailureReason field's value.
 16278  func (s *SimulationJob) SetFailureReason(v string) *SimulationJob {
 16279  	s.FailureReason = &v
 16280  	return s
 16281  }
 16282  
 16283  // SetIamRole sets the IamRole field's value.
 16284  func (s *SimulationJob) SetIamRole(v string) *SimulationJob {
 16285  	s.IamRole = &v
 16286  	return s
 16287  }
 16288  
 16289  // SetLastStartedAt sets the LastStartedAt field's value.
 16290  func (s *SimulationJob) SetLastStartedAt(v time.Time) *SimulationJob {
 16291  	s.LastStartedAt = &v
 16292  	return s
 16293  }
 16294  
 16295  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 16296  func (s *SimulationJob) SetLastUpdatedAt(v time.Time) *SimulationJob {
 16297  	s.LastUpdatedAt = &v
 16298  	return s
 16299  }
 16300  
 16301  // SetLoggingConfig sets the LoggingConfig field's value.
 16302  func (s *SimulationJob) SetLoggingConfig(v *LoggingConfig) *SimulationJob {
 16303  	s.LoggingConfig = v
 16304  	return s
 16305  }
 16306  
 16307  // SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
 16308  func (s *SimulationJob) SetMaxJobDurationInSeconds(v int64) *SimulationJob {
 16309  	s.MaxJobDurationInSeconds = &v
 16310  	return s
 16311  }
 16312  
 16313  // SetName sets the Name field's value.
 16314  func (s *SimulationJob) SetName(v string) *SimulationJob {
 16315  	s.Name = &v
 16316  	return s
 16317  }
 16318  
 16319  // SetNetworkInterface sets the NetworkInterface field's value.
 16320  func (s *SimulationJob) SetNetworkInterface(v *NetworkInterface) *SimulationJob {
 16321  	s.NetworkInterface = v
 16322  	return s
 16323  }
 16324  
 16325  // SetOutputLocation sets the OutputLocation field's value.
 16326  func (s *SimulationJob) SetOutputLocation(v *OutputLocation) *SimulationJob {
 16327  	s.OutputLocation = v
 16328  	return s
 16329  }
 16330  
 16331  // SetRobotApplications sets the RobotApplications field's value.
 16332  func (s *SimulationJob) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJob {
 16333  	s.RobotApplications = v
 16334  	return s
 16335  }
 16336  
 16337  // SetSimulationApplications sets the SimulationApplications field's value.
 16338  func (s *SimulationJob) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJob {
 16339  	s.SimulationApplications = v
 16340  	return s
 16341  }
 16342  
 16343  // SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
 16344  func (s *SimulationJob) SetSimulationTimeMillis(v int64) *SimulationJob {
 16345  	s.SimulationTimeMillis = &v
 16346  	return s
 16347  }
 16348  
 16349  // SetStatus sets the Status field's value.
 16350  func (s *SimulationJob) SetStatus(v string) *SimulationJob {
 16351  	s.Status = &v
 16352  	return s
 16353  }
 16354  
 16355  // SetTags sets the Tags field's value.
 16356  func (s *SimulationJob) SetTags(v map[string]*string) *SimulationJob {
 16357  	s.Tags = v
 16358  	return s
 16359  }
 16360  
 16361  // SetVpcConfig sets the VpcConfig field's value.
 16362  func (s *SimulationJob) SetVpcConfig(v *VPCConfigResponse) *SimulationJob {
 16363  	s.VpcConfig = v
 16364  	return s
 16365  }
 16366  
 16367  // Information about a simulation job batch.
 16368  type SimulationJobBatchSummary struct {
 16369  	_ struct{} `type:"structure"`
 16370  
 16371  	// The Amazon Resource Name (ARN) of the batch.
 16372  	Arn *string `locationName:"arn" min:"1" type:"string"`
 16373  
 16374  	// The time, in milliseconds since the epoch, when the simulation job batch
 16375  	// was created.
 16376  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 16377  
 16378  	// The number of created simulation job requests.
 16379  	CreatedRequestCount *int64 `locationName:"createdRequestCount" type:"integer"`
 16380  
 16381  	// The number of failed simulation job requests.
 16382  	FailedRequestCount *int64 `locationName:"failedRequestCount" type:"integer"`
 16383  
 16384  	// The time, in milliseconds since the epoch, when the simulation job batch
 16385  	// was last updated.
 16386  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 16387  
 16388  	// The number of pending simulation job requests.
 16389  	PendingRequestCount *int64 `locationName:"pendingRequestCount" type:"integer"`
 16390  
 16391  	// The status of the simulation job batch.
 16392  	//
 16393  	// Pending
 16394  	//
 16395  	// The simulation job batch request is pending.
 16396  	//
 16397  	// InProgress
 16398  	//
 16399  	// The simulation job batch is in progress.
 16400  	//
 16401  	// Failed
 16402  	//
 16403  	// The simulation job batch failed. One or more simulation job requests could
 16404  	// not be completed due to an internal failure (like InternalServiceError).
 16405  	// See failureCode and failureReason for more information.
 16406  	//
 16407  	// Completed
 16408  	//
 16409  	// The simulation batch job completed. A batch is complete when (1) there are
 16410  	// no pending simulation job requests in the batch and none of the failed simulation
 16411  	// job requests are due to InternalServiceError and (2) when all created simulation
 16412  	// jobs have reached a terminal state (for example, Completed or Failed).
 16413  	//
 16414  	// Canceled
 16415  	//
 16416  	// The simulation batch job was cancelled.
 16417  	//
 16418  	// Canceling
 16419  	//
 16420  	// The simulation batch job is being cancelled.
 16421  	//
 16422  	// Completing
 16423  	//
 16424  	// The simulation batch job is completing.
 16425  	//
 16426  	// TimingOut
 16427  	//
 16428  	// The simulation job batch is timing out.
 16429  	//
 16430  	// If a batch timing out, and there are pending requests that were failing due
 16431  	// to an internal failure (like InternalServiceError), the batch status will
 16432  	// be Failed. If there are no such failing request, the batch status will be
 16433  	// TimedOut.
 16434  	//
 16435  	// TimedOut
 16436  	//
 16437  	// The simulation batch job timed out.
 16438  	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
 16439  }
 16440  
 16441  // String returns the string representation.
 16442  //
 16443  // API parameter values that are decorated as "sensitive" in the API will not
 16444  // be included in the string output. The member name will be present, but the
 16445  // value will be replaced with "sensitive".
 16446  func (s SimulationJobBatchSummary) String() string {
 16447  	return awsutil.Prettify(s)
 16448  }
 16449  
 16450  // GoString returns the string representation.
 16451  //
 16452  // API parameter values that are decorated as "sensitive" in the API will not
 16453  // be included in the string output. The member name will be present, but the
 16454  // value will be replaced with "sensitive".
 16455  func (s SimulationJobBatchSummary) GoString() string {
 16456  	return s.String()
 16457  }
 16458  
 16459  // SetArn sets the Arn field's value.
 16460  func (s *SimulationJobBatchSummary) SetArn(v string) *SimulationJobBatchSummary {
 16461  	s.Arn = &v
 16462  	return s
 16463  }
 16464  
 16465  // SetCreatedAt sets the CreatedAt field's value.
 16466  func (s *SimulationJobBatchSummary) SetCreatedAt(v time.Time) *SimulationJobBatchSummary {
 16467  	s.CreatedAt = &v
 16468  	return s
 16469  }
 16470  
 16471  // SetCreatedRequestCount sets the CreatedRequestCount field's value.
 16472  func (s *SimulationJobBatchSummary) SetCreatedRequestCount(v int64) *SimulationJobBatchSummary {
 16473  	s.CreatedRequestCount = &v
 16474  	return s
 16475  }
 16476  
 16477  // SetFailedRequestCount sets the FailedRequestCount field's value.
 16478  func (s *SimulationJobBatchSummary) SetFailedRequestCount(v int64) *SimulationJobBatchSummary {
 16479  	s.FailedRequestCount = &v
 16480  	return s
 16481  }
 16482  
 16483  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 16484  func (s *SimulationJobBatchSummary) SetLastUpdatedAt(v time.Time) *SimulationJobBatchSummary {
 16485  	s.LastUpdatedAt = &v
 16486  	return s
 16487  }
 16488  
 16489  // SetPendingRequestCount sets the PendingRequestCount field's value.
 16490  func (s *SimulationJobBatchSummary) SetPendingRequestCount(v int64) *SimulationJobBatchSummary {
 16491  	s.PendingRequestCount = &v
 16492  	return s
 16493  }
 16494  
 16495  // SetStatus sets the Status field's value.
 16496  func (s *SimulationJobBatchSummary) SetStatus(v string) *SimulationJobBatchSummary {
 16497  	s.Status = &v
 16498  	return s
 16499  }
 16500  
 16501  // Information about a simulation job request.
 16502  type SimulationJobRequest struct {
 16503  	_ struct{} `type:"structure"`
 16504  
 16505  	// Compute information for the simulation job
 16506  	Compute *Compute `locationName:"compute" type:"structure"`
 16507  
 16508  	// Specify data sources to mount read-only files from S3 into your simulation.
 16509  	// These files are available under /opt/robomaker/datasources/data_source_name.
 16510  	//
 16511  	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
 16512  	// objects.
 16513  	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
 16514  
 16515  	// The failure behavior the simulation job.
 16516  	//
 16517  	// Continue
 16518  	//
 16519  	// Leaves the host running for its maximum timeout duration after a 4XX error
 16520  	// code.
 16521  	//
 16522  	// Fail
 16523  	//
 16524  	// Stop the simulation job and terminate the instance.
 16525  	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
 16526  
 16527  	// The IAM role name that allows the simulation instance to call the AWS APIs
 16528  	// that are specified in its associated policies on your behalf. This is how
 16529  	// credentials are passed in to your simulation job.
 16530  	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
 16531  
 16532  	// The logging configuration.
 16533  	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
 16534  
 16535  	// The maximum simulation job duration in seconds. The value must be 8 days
 16536  	// (691,200 seconds) or less.
 16537  	//
 16538  	// MaxJobDurationInSeconds is a required field
 16539  	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
 16540  
 16541  	// The output location.
 16542  	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
 16543  
 16544  	// The robot applications to use in the simulation job.
 16545  	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
 16546  
 16547  	// The simulation applications to use in the simulation job.
 16548  	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
 16549  
 16550  	// A map that contains tag keys and tag values that are attached to the simulation
 16551  	// job request.
 16552  	Tags map[string]*string `locationName:"tags" type:"map"`
 16553  
 16554  	// A Boolean indicating whether to use default applications in the simulation
 16555  	// job. Default applications include Gazebo, rqt, rviz and terminal access.
 16556  	UseDefaultApplications *bool `locationName:"useDefaultApplications" type:"boolean"`
 16557  
 16558  	// If your simulation job accesses resources in a VPC, you provide this parameter
 16559  	// identifying the list of security group IDs and subnet IDs. These must belong
 16560  	// to the same VPC. You must provide at least one security group and two subnet
 16561  	// IDs.
 16562  	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
 16563  }
 16564  
 16565  // String returns the string representation.
 16566  //
 16567  // API parameter values that are decorated as "sensitive" in the API will not
 16568  // be included in the string output. The member name will be present, but the
 16569  // value will be replaced with "sensitive".
 16570  func (s SimulationJobRequest) String() string {
 16571  	return awsutil.Prettify(s)
 16572  }
 16573  
 16574  // GoString returns the string representation.
 16575  //
 16576  // API parameter values that are decorated as "sensitive" in the API will not
 16577  // be included in the string output. The member name will be present, but the
 16578  // value will be replaced with "sensitive".
 16579  func (s SimulationJobRequest) GoString() string {
 16580  	return s.String()
 16581  }
 16582  
 16583  // Validate inspects the fields of the type to determine if they are valid.
 16584  func (s *SimulationJobRequest) Validate() error {
 16585  	invalidParams := request.ErrInvalidParams{Context: "SimulationJobRequest"}
 16586  	if s.DataSources != nil && len(s.DataSources) < 1 {
 16587  		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
 16588  	}
 16589  	if s.IamRole != nil && len(*s.IamRole) < 1 {
 16590  		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
 16591  	}
 16592  	if s.MaxJobDurationInSeconds == nil {
 16593  		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
 16594  	}
 16595  	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
 16596  		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
 16597  	}
 16598  	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
 16599  		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
 16600  	}
 16601  	if s.Compute != nil {
 16602  		if err := s.Compute.Validate(); err != nil {
 16603  			invalidParams.AddNested("Compute", err.(request.ErrInvalidParams))
 16604  		}
 16605  	}
 16606  	if s.DataSources != nil {
 16607  		for i, v := range s.DataSources {
 16608  			if v == nil {
 16609  				continue
 16610  			}
 16611  			if err := v.Validate(); err != nil {
 16612  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
 16613  			}
 16614  		}
 16615  	}
 16616  	if s.LoggingConfig != nil {
 16617  		if err := s.LoggingConfig.Validate(); err != nil {
 16618  			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
 16619  		}
 16620  	}
 16621  	if s.OutputLocation != nil {
 16622  		if err := s.OutputLocation.Validate(); err != nil {
 16623  			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
 16624  		}
 16625  	}
 16626  	if s.RobotApplications != nil {
 16627  		for i, v := range s.RobotApplications {
 16628  			if v == nil {
 16629  				continue
 16630  			}
 16631  			if err := v.Validate(); err != nil {
 16632  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
 16633  			}
 16634  		}
 16635  	}
 16636  	if s.SimulationApplications != nil {
 16637  		for i, v := range s.SimulationApplications {
 16638  			if v == nil {
 16639  				continue
 16640  			}
 16641  			if err := v.Validate(); err != nil {
 16642  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
 16643  			}
 16644  		}
 16645  	}
 16646  	if s.VpcConfig != nil {
 16647  		if err := s.VpcConfig.Validate(); err != nil {
 16648  			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
 16649  		}
 16650  	}
 16651  
 16652  	if invalidParams.Len() > 0 {
 16653  		return invalidParams
 16654  	}
 16655  	return nil
 16656  }
 16657  
 16658  // SetCompute sets the Compute field's value.
 16659  func (s *SimulationJobRequest) SetCompute(v *Compute) *SimulationJobRequest {
 16660  	s.Compute = v
 16661  	return s
 16662  }
 16663  
 16664  // SetDataSources sets the DataSources field's value.
 16665  func (s *SimulationJobRequest) SetDataSources(v []*DataSourceConfig) *SimulationJobRequest {
 16666  	s.DataSources = v
 16667  	return s
 16668  }
 16669  
 16670  // SetFailureBehavior sets the FailureBehavior field's value.
 16671  func (s *SimulationJobRequest) SetFailureBehavior(v string) *SimulationJobRequest {
 16672  	s.FailureBehavior = &v
 16673  	return s
 16674  }
 16675  
 16676  // SetIamRole sets the IamRole field's value.
 16677  func (s *SimulationJobRequest) SetIamRole(v string) *SimulationJobRequest {
 16678  	s.IamRole = &v
 16679  	return s
 16680  }
 16681  
 16682  // SetLoggingConfig sets the LoggingConfig field's value.
 16683  func (s *SimulationJobRequest) SetLoggingConfig(v *LoggingConfig) *SimulationJobRequest {
 16684  	s.LoggingConfig = v
 16685  	return s
 16686  }
 16687  
 16688  // SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
 16689  func (s *SimulationJobRequest) SetMaxJobDurationInSeconds(v int64) *SimulationJobRequest {
 16690  	s.MaxJobDurationInSeconds = &v
 16691  	return s
 16692  }
 16693  
 16694  // SetOutputLocation sets the OutputLocation field's value.
 16695  func (s *SimulationJobRequest) SetOutputLocation(v *OutputLocation) *SimulationJobRequest {
 16696  	s.OutputLocation = v
 16697  	return s
 16698  }
 16699  
 16700  // SetRobotApplications sets the RobotApplications field's value.
 16701  func (s *SimulationJobRequest) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJobRequest {
 16702  	s.RobotApplications = v
 16703  	return s
 16704  }
 16705  
 16706  // SetSimulationApplications sets the SimulationApplications field's value.
 16707  func (s *SimulationJobRequest) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJobRequest {
 16708  	s.SimulationApplications = v
 16709  	return s
 16710  }
 16711  
 16712  // SetTags sets the Tags field's value.
 16713  func (s *SimulationJobRequest) SetTags(v map[string]*string) *SimulationJobRequest {
 16714  	s.Tags = v
 16715  	return s
 16716  }
 16717  
 16718  // SetUseDefaultApplications sets the UseDefaultApplications field's value.
 16719  func (s *SimulationJobRequest) SetUseDefaultApplications(v bool) *SimulationJobRequest {
 16720  	s.UseDefaultApplications = &v
 16721  	return s
 16722  }
 16723  
 16724  // SetVpcConfig sets the VpcConfig field's value.
 16725  func (s *SimulationJobRequest) SetVpcConfig(v *VPCConfig) *SimulationJobRequest {
 16726  	s.VpcConfig = v
 16727  	return s
 16728  }
 16729  
 16730  // Summary information for a simulation job.
 16731  type SimulationJobSummary struct {
 16732  	_ struct{} `type:"structure"`
 16733  
 16734  	// The Amazon Resource Name (ARN) of the simulation job.
 16735  	Arn *string `locationName:"arn" min:"1" type:"string"`
 16736  
 16737  	// The names of the data sources.
 16738  	DataSourceNames []*string `locationName:"dataSourceNames" type:"list"`
 16739  
 16740  	// The time, in milliseconds since the epoch, when the simulation job was last
 16741  	// updated.
 16742  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 16743  
 16744  	// The name of the simulation job.
 16745  	Name *string `locationName:"name" min:"1" type:"string"`
 16746  
 16747  	// A list of simulation job robot application names.
 16748  	RobotApplicationNames []*string `locationName:"robotApplicationNames" type:"list"`
 16749  
 16750  	// A list of simulation job simulation application names.
 16751  	SimulationApplicationNames []*string `locationName:"simulationApplicationNames" type:"list"`
 16752  
 16753  	// The status of the simulation job.
 16754  	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
 16755  }
 16756  
 16757  // String returns the string representation.
 16758  //
 16759  // API parameter values that are decorated as "sensitive" in the API will not
 16760  // be included in the string output. The member name will be present, but the
 16761  // value will be replaced with "sensitive".
 16762  func (s SimulationJobSummary) String() string {
 16763  	return awsutil.Prettify(s)
 16764  }
 16765  
 16766  // GoString returns the string representation.
 16767  //
 16768  // API parameter values that are decorated as "sensitive" in the API will not
 16769  // be included in the string output. The member name will be present, but the
 16770  // value will be replaced with "sensitive".
 16771  func (s SimulationJobSummary) GoString() string {
 16772  	return s.String()
 16773  }
 16774  
 16775  // SetArn sets the Arn field's value.
 16776  func (s *SimulationJobSummary) SetArn(v string) *SimulationJobSummary {
 16777  	s.Arn = &v
 16778  	return s
 16779  }
 16780  
 16781  // SetDataSourceNames sets the DataSourceNames field's value.
 16782  func (s *SimulationJobSummary) SetDataSourceNames(v []*string) *SimulationJobSummary {
 16783  	s.DataSourceNames = v
 16784  	return s
 16785  }
 16786  
 16787  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 16788  func (s *SimulationJobSummary) SetLastUpdatedAt(v time.Time) *SimulationJobSummary {
 16789  	s.LastUpdatedAt = &v
 16790  	return s
 16791  }
 16792  
 16793  // SetName sets the Name field's value.
 16794  func (s *SimulationJobSummary) SetName(v string) *SimulationJobSummary {
 16795  	s.Name = &v
 16796  	return s
 16797  }
 16798  
 16799  // SetRobotApplicationNames sets the RobotApplicationNames field's value.
 16800  func (s *SimulationJobSummary) SetRobotApplicationNames(v []*string) *SimulationJobSummary {
 16801  	s.RobotApplicationNames = v
 16802  	return s
 16803  }
 16804  
 16805  // SetSimulationApplicationNames sets the SimulationApplicationNames field's value.
 16806  func (s *SimulationJobSummary) SetSimulationApplicationNames(v []*string) *SimulationJobSummary {
 16807  	s.SimulationApplicationNames = v
 16808  	return s
 16809  }
 16810  
 16811  // SetStatus sets the Status field's value.
 16812  func (s *SimulationJobSummary) SetStatus(v string) *SimulationJobSummary {
 16813  	s.Status = &v
 16814  	return s
 16815  }
 16816  
 16817  // Information about a simulation software suite.
 16818  type SimulationSoftwareSuite struct {
 16819  	_ struct{} `type:"structure"`
 16820  
 16821  	// The name of the simulation software suite.
 16822  	Name *string `locationName:"name" type:"string" enum:"SimulationSoftwareSuiteType"`
 16823  
 16824  	// The version of the simulation software suite.
 16825  	Version *string `locationName:"version" type:"string"`
 16826  }
 16827  
 16828  // String returns the string representation.
 16829  //
 16830  // API parameter values that are decorated as "sensitive" in the API will not
 16831  // be included in the string output. The member name will be present, but the
 16832  // value will be replaced with "sensitive".
 16833  func (s SimulationSoftwareSuite) String() string {
 16834  	return awsutil.Prettify(s)
 16835  }
 16836  
 16837  // GoString returns the string representation.
 16838  //
 16839  // API parameter values that are decorated as "sensitive" in the API will not
 16840  // be included in the string output. The member name will be present, but the
 16841  // value will be replaced with "sensitive".
 16842  func (s SimulationSoftwareSuite) GoString() string {
 16843  	return s.String()
 16844  }
 16845  
 16846  // SetName sets the Name field's value.
 16847  func (s *SimulationSoftwareSuite) SetName(v string) *SimulationSoftwareSuite {
 16848  	s.Name = &v
 16849  	return s
 16850  }
 16851  
 16852  // SetVersion sets the Version field's value.
 16853  func (s *SimulationSoftwareSuite) SetVersion(v string) *SimulationSoftwareSuite {
 16854  	s.Version = &v
 16855  	return s
 16856  }
 16857  
 16858  // Information about a source.
 16859  type Source struct {
 16860  	_ struct{} `type:"structure"`
 16861  
 16862  	// The taget processor architecture for the application.
 16863  	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
 16864  
 16865  	// A hash of the object specified by s3Bucket and s3Key.
 16866  	Etag *string `locationName:"etag" type:"string"`
 16867  
 16868  	// The s3 bucket name.
 16869  	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
 16870  
 16871  	// The s3 object key.
 16872  	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
 16873  }
 16874  
 16875  // String returns the string representation.
 16876  //
 16877  // API parameter values that are decorated as "sensitive" in the API will not
 16878  // be included in the string output. The member name will be present, but the
 16879  // value will be replaced with "sensitive".
 16880  func (s Source) String() string {
 16881  	return awsutil.Prettify(s)
 16882  }
 16883  
 16884  // GoString returns the string representation.
 16885  //
 16886  // API parameter values that are decorated as "sensitive" in the API will not
 16887  // be included in the string output. The member name will be present, but the
 16888  // value will be replaced with "sensitive".
 16889  func (s Source) GoString() string {
 16890  	return s.String()
 16891  }
 16892  
 16893  // SetArchitecture sets the Architecture field's value.
 16894  func (s *Source) SetArchitecture(v string) *Source {
 16895  	s.Architecture = &v
 16896  	return s
 16897  }
 16898  
 16899  // SetEtag sets the Etag field's value.
 16900  func (s *Source) SetEtag(v string) *Source {
 16901  	s.Etag = &v
 16902  	return s
 16903  }
 16904  
 16905  // SetS3Bucket sets the S3Bucket field's value.
 16906  func (s *Source) SetS3Bucket(v string) *Source {
 16907  	s.S3Bucket = &v
 16908  	return s
 16909  }
 16910  
 16911  // SetS3Key sets the S3Key field's value.
 16912  func (s *Source) SetS3Key(v string) *Source {
 16913  	s.S3Key = &v
 16914  	return s
 16915  }
 16916  
 16917  // Information about a source configuration.
 16918  type SourceConfig struct {
 16919  	_ struct{} `type:"structure"`
 16920  
 16921  	// The target processor architecture for the application.
 16922  	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
 16923  
 16924  	// The Amazon S3 bucket name.
 16925  	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
 16926  
 16927  	// The s3 object key.
 16928  	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
 16929  }
 16930  
 16931  // String returns the string representation.
 16932  //
 16933  // API parameter values that are decorated as "sensitive" in the API will not
 16934  // be included in the string output. The member name will be present, but the
 16935  // value will be replaced with "sensitive".
 16936  func (s SourceConfig) String() string {
 16937  	return awsutil.Prettify(s)
 16938  }
 16939  
 16940  // GoString returns the string representation.
 16941  //
 16942  // API parameter values that are decorated as "sensitive" in the API will not
 16943  // be included in the string output. The member name will be present, but the
 16944  // value will be replaced with "sensitive".
 16945  func (s SourceConfig) GoString() string {
 16946  	return s.String()
 16947  }
 16948  
 16949  // Validate inspects the fields of the type to determine if they are valid.
 16950  func (s *SourceConfig) Validate() error {
 16951  	invalidParams := request.ErrInvalidParams{Context: "SourceConfig"}
 16952  	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
 16953  		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
 16954  	}
 16955  	if s.S3Key != nil && len(*s.S3Key) < 1 {
 16956  		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
 16957  	}
 16958  
 16959  	if invalidParams.Len() > 0 {
 16960  		return invalidParams
 16961  	}
 16962  	return nil
 16963  }
 16964  
 16965  // SetArchitecture sets the Architecture field's value.
 16966  func (s *SourceConfig) SetArchitecture(v string) *SourceConfig {
 16967  	s.Architecture = &v
 16968  	return s
 16969  }
 16970  
 16971  // SetS3Bucket sets the S3Bucket field's value.
 16972  func (s *SourceConfig) SetS3Bucket(v string) *SourceConfig {
 16973  	s.S3Bucket = &v
 16974  	return s
 16975  }
 16976  
 16977  // SetS3Key sets the S3Key field's value.
 16978  func (s *SourceConfig) SetS3Key(v string) *SourceConfig {
 16979  	s.S3Key = &v
 16980  	return s
 16981  }
 16982  
 16983  type StartSimulationJobBatchInput struct {
 16984  	_ struct{} `type:"structure"`
 16985  
 16986  	// The batch policy.
 16987  	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
 16988  
 16989  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 16990  	// of the request.
 16991  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
 16992  
 16993  	// A list of simulation job requests to create in the batch.
 16994  	//
 16995  	// CreateSimulationJobRequests is a required field
 16996  	CreateSimulationJobRequests []*SimulationJobRequest `locationName:"createSimulationJobRequests" min:"1" type:"list" required:"true"`
 16997  
 16998  	// A map that contains tag keys and tag values that are attached to the deployment
 16999  	// job batch.
 17000  	Tags map[string]*string `locationName:"tags" type:"map"`
 17001  }
 17002  
 17003  // String returns the string representation.
 17004  //
 17005  // API parameter values that are decorated as "sensitive" in the API will not
 17006  // be included in the string output. The member name will be present, but the
 17007  // value will be replaced with "sensitive".
 17008  func (s StartSimulationJobBatchInput) String() string {
 17009  	return awsutil.Prettify(s)
 17010  }
 17011  
 17012  // GoString returns the string representation.
 17013  //
 17014  // API parameter values that are decorated as "sensitive" in the API will not
 17015  // be included in the string output. The member name will be present, but the
 17016  // value will be replaced with "sensitive".
 17017  func (s StartSimulationJobBatchInput) GoString() string {
 17018  	return s.String()
 17019  }
 17020  
 17021  // Validate inspects the fields of the type to determine if they are valid.
 17022  func (s *StartSimulationJobBatchInput) Validate() error {
 17023  	invalidParams := request.ErrInvalidParams{Context: "StartSimulationJobBatchInput"}
 17024  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 17025  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 17026  	}
 17027  	if s.CreateSimulationJobRequests == nil {
 17028  		invalidParams.Add(request.NewErrParamRequired("CreateSimulationJobRequests"))
 17029  	}
 17030  	if s.CreateSimulationJobRequests != nil && len(s.CreateSimulationJobRequests) < 1 {
 17031  		invalidParams.Add(request.NewErrParamMinLen("CreateSimulationJobRequests", 1))
 17032  	}
 17033  	if s.CreateSimulationJobRequests != nil {
 17034  		for i, v := range s.CreateSimulationJobRequests {
 17035  			if v == nil {
 17036  				continue
 17037  			}
 17038  			if err := v.Validate(); err != nil {
 17039  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateSimulationJobRequests", i), err.(request.ErrInvalidParams))
 17040  			}
 17041  		}
 17042  	}
 17043  
 17044  	if invalidParams.Len() > 0 {
 17045  		return invalidParams
 17046  	}
 17047  	return nil
 17048  }
 17049  
 17050  // SetBatchPolicy sets the BatchPolicy field's value.
 17051  func (s *StartSimulationJobBatchInput) SetBatchPolicy(v *BatchPolicy) *StartSimulationJobBatchInput {
 17052  	s.BatchPolicy = v
 17053  	return s
 17054  }
 17055  
 17056  // SetClientRequestToken sets the ClientRequestToken field's value.
 17057  func (s *StartSimulationJobBatchInput) SetClientRequestToken(v string) *StartSimulationJobBatchInput {
 17058  	s.ClientRequestToken = &v
 17059  	return s
 17060  }
 17061  
 17062  // SetCreateSimulationJobRequests sets the CreateSimulationJobRequests field's value.
 17063  func (s *StartSimulationJobBatchInput) SetCreateSimulationJobRequests(v []*SimulationJobRequest) *StartSimulationJobBatchInput {
 17064  	s.CreateSimulationJobRequests = v
 17065  	return s
 17066  }
 17067  
 17068  // SetTags sets the Tags field's value.
 17069  func (s *StartSimulationJobBatchInput) SetTags(v map[string]*string) *StartSimulationJobBatchInput {
 17070  	s.Tags = v
 17071  	return s
 17072  }
 17073  
 17074  type StartSimulationJobBatchOutput struct {
 17075  	_ struct{} `type:"structure"`
 17076  
 17077  	// The Amazon Resource Name (arn) of the batch.
 17078  	Arn *string `locationName:"arn" min:"1" type:"string"`
 17079  
 17080  	// The batch policy.
 17081  	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
 17082  
 17083  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 17084  	// of the request.
 17085  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
 17086  
 17087  	// The time, in milliseconds since the epoch, when the simulation job batch
 17088  	// was created.
 17089  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 17090  
 17091  	// A list of created simulation job request summaries.
 17092  	CreatedRequests []*SimulationJobSummary `locationName:"createdRequests" type:"list"`
 17093  
 17094  	// A list of failed simulation job requests. The request failed to be created
 17095  	// into a simulation job. Failed requests do not have a simulation job ID.
 17096  	FailedRequests []*FailedCreateSimulationJobRequest `locationName:"failedRequests" type:"list"`
 17097  
 17098  	// The failure code if the simulation job batch failed.
 17099  	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobBatchErrorCode"`
 17100  
 17101  	// The reason the simulation job batch failed.
 17102  	FailureReason *string `locationName:"failureReason" type:"string"`
 17103  
 17104  	// A list of pending simulation job requests. These requests have not yet been
 17105  	// created into simulation jobs.
 17106  	PendingRequests []*SimulationJobRequest `locationName:"pendingRequests" min:"1" type:"list"`
 17107  
 17108  	// The status of the simulation job batch.
 17109  	//
 17110  	// Pending
 17111  	//
 17112  	// The simulation job batch request is pending.
 17113  	//
 17114  	// InProgress
 17115  	//
 17116  	// The simulation job batch is in progress.
 17117  	//
 17118  	// Failed
 17119  	//
 17120  	// The simulation job batch failed. One or more simulation job requests could
 17121  	// not be completed due to an internal failure (like InternalServiceError).
 17122  	// See failureCode and failureReason for more information.
 17123  	//
 17124  	// Completed
 17125  	//
 17126  	// The simulation batch job completed. A batch is complete when (1) there are
 17127  	// no pending simulation job requests in the batch and none of the failed simulation
 17128  	// job requests are due to InternalServiceError and (2) when all created simulation
 17129  	// jobs have reached a terminal state (for example, Completed or Failed).
 17130  	//
 17131  	// Canceled
 17132  	//
 17133  	// The simulation batch job was cancelled.
 17134  	//
 17135  	// Canceling
 17136  	//
 17137  	// The simulation batch job is being cancelled.
 17138  	//
 17139  	// Completing
 17140  	//
 17141  	// The simulation batch job is completing.
 17142  	//
 17143  	// TimingOut
 17144  	//
 17145  	// The simulation job batch is timing out.
 17146  	//
 17147  	// If a batch timing out, and there are pending requests that were failing due
 17148  	// to an internal failure (like InternalServiceError), the batch status will
 17149  	// be Failed. If there are no such failing request, the batch status will be
 17150  	// TimedOut.
 17151  	//
 17152  	// TimedOut
 17153  	//
 17154  	// The simulation batch job timed out.
 17155  	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
 17156  
 17157  	// A map that contains tag keys and tag values that are attached to the deployment
 17158  	// job batch.
 17159  	Tags map[string]*string `locationName:"tags" type:"map"`
 17160  }
 17161  
 17162  // String returns the string representation.
 17163  //
 17164  // API parameter values that are decorated as "sensitive" in the API will not
 17165  // be included in the string output. The member name will be present, but the
 17166  // value will be replaced with "sensitive".
 17167  func (s StartSimulationJobBatchOutput) String() string {
 17168  	return awsutil.Prettify(s)
 17169  }
 17170  
 17171  // GoString returns the string representation.
 17172  //
 17173  // API parameter values that are decorated as "sensitive" in the API will not
 17174  // be included in the string output. The member name will be present, but the
 17175  // value will be replaced with "sensitive".
 17176  func (s StartSimulationJobBatchOutput) GoString() string {
 17177  	return s.String()
 17178  }
 17179  
 17180  // SetArn sets the Arn field's value.
 17181  func (s *StartSimulationJobBatchOutput) SetArn(v string) *StartSimulationJobBatchOutput {
 17182  	s.Arn = &v
 17183  	return s
 17184  }
 17185  
 17186  // SetBatchPolicy sets the BatchPolicy field's value.
 17187  func (s *StartSimulationJobBatchOutput) SetBatchPolicy(v *BatchPolicy) *StartSimulationJobBatchOutput {
 17188  	s.BatchPolicy = v
 17189  	return s
 17190  }
 17191  
 17192  // SetClientRequestToken sets the ClientRequestToken field's value.
 17193  func (s *StartSimulationJobBatchOutput) SetClientRequestToken(v string) *StartSimulationJobBatchOutput {
 17194  	s.ClientRequestToken = &v
 17195  	return s
 17196  }
 17197  
 17198  // SetCreatedAt sets the CreatedAt field's value.
 17199  func (s *StartSimulationJobBatchOutput) SetCreatedAt(v time.Time) *StartSimulationJobBatchOutput {
 17200  	s.CreatedAt = &v
 17201  	return s
 17202  }
 17203  
 17204  // SetCreatedRequests sets the CreatedRequests field's value.
 17205  func (s *StartSimulationJobBatchOutput) SetCreatedRequests(v []*SimulationJobSummary) *StartSimulationJobBatchOutput {
 17206  	s.CreatedRequests = v
 17207  	return s
 17208  }
 17209  
 17210  // SetFailedRequests sets the FailedRequests field's value.
 17211  func (s *StartSimulationJobBatchOutput) SetFailedRequests(v []*FailedCreateSimulationJobRequest) *StartSimulationJobBatchOutput {
 17212  	s.FailedRequests = v
 17213  	return s
 17214  }
 17215  
 17216  // SetFailureCode sets the FailureCode field's value.
 17217  func (s *StartSimulationJobBatchOutput) SetFailureCode(v string) *StartSimulationJobBatchOutput {
 17218  	s.FailureCode = &v
 17219  	return s
 17220  }
 17221  
 17222  // SetFailureReason sets the FailureReason field's value.
 17223  func (s *StartSimulationJobBatchOutput) SetFailureReason(v string) *StartSimulationJobBatchOutput {
 17224  	s.FailureReason = &v
 17225  	return s
 17226  }
 17227  
 17228  // SetPendingRequests sets the PendingRequests field's value.
 17229  func (s *StartSimulationJobBatchOutput) SetPendingRequests(v []*SimulationJobRequest) *StartSimulationJobBatchOutput {
 17230  	s.PendingRequests = v
 17231  	return s
 17232  }
 17233  
 17234  // SetStatus sets the Status field's value.
 17235  func (s *StartSimulationJobBatchOutput) SetStatus(v string) *StartSimulationJobBatchOutput {
 17236  	s.Status = &v
 17237  	return s
 17238  }
 17239  
 17240  // SetTags sets the Tags field's value.
 17241  func (s *StartSimulationJobBatchOutput) SetTags(v map[string]*string) *StartSimulationJobBatchOutput {
 17242  	s.Tags = v
 17243  	return s
 17244  }
 17245  
 17246  type SyncDeploymentJobInput struct {
 17247  	_ struct{} `type:"structure"`
 17248  
 17249  	// Unique, case-sensitive identifier that you provide to ensure the idempotency
 17250  	// of the request.
 17251  	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
 17252  
 17253  	// The target fleet for the synchronization.
 17254  	//
 17255  	// Fleet is a required field
 17256  	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
 17257  }
 17258  
 17259  // String returns the string representation.
 17260  //
 17261  // API parameter values that are decorated as "sensitive" in the API will not
 17262  // be included in the string output. The member name will be present, but the
 17263  // value will be replaced with "sensitive".
 17264  func (s SyncDeploymentJobInput) String() string {
 17265  	return awsutil.Prettify(s)
 17266  }
 17267  
 17268  // GoString returns the string representation.
 17269  //
 17270  // API parameter values that are decorated as "sensitive" in the API will not
 17271  // be included in the string output. The member name will be present, but the
 17272  // value will be replaced with "sensitive".
 17273  func (s SyncDeploymentJobInput) GoString() string {
 17274  	return s.String()
 17275  }
 17276  
 17277  // Validate inspects the fields of the type to determine if they are valid.
 17278  func (s *SyncDeploymentJobInput) Validate() error {
 17279  	invalidParams := request.ErrInvalidParams{Context: "SyncDeploymentJobInput"}
 17280  	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
 17281  		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
 17282  	}
 17283  	if s.Fleet == nil {
 17284  		invalidParams.Add(request.NewErrParamRequired("Fleet"))
 17285  	}
 17286  	if s.Fleet != nil && len(*s.Fleet) < 1 {
 17287  		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
 17288  	}
 17289  
 17290  	if invalidParams.Len() > 0 {
 17291  		return invalidParams
 17292  	}
 17293  	return nil
 17294  }
 17295  
 17296  // SetClientRequestToken sets the ClientRequestToken field's value.
 17297  func (s *SyncDeploymentJobInput) SetClientRequestToken(v string) *SyncDeploymentJobInput {
 17298  	s.ClientRequestToken = &v
 17299  	return s
 17300  }
 17301  
 17302  // SetFleet sets the Fleet field's value.
 17303  func (s *SyncDeploymentJobInput) SetFleet(v string) *SyncDeploymentJobInput {
 17304  	s.Fleet = &v
 17305  	return s
 17306  }
 17307  
 17308  type SyncDeploymentJobOutput struct {
 17309  	_ struct{} `type:"structure"`
 17310  
 17311  	// The Amazon Resource Name (ARN) of the synchronization request.
 17312  	Arn *string `locationName:"arn" min:"1" type:"string"`
 17313  
 17314  	// The time, in milliseconds since the epoch, when the fleet was created.
 17315  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 17316  
 17317  	// Information about the deployment application configurations.
 17318  	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
 17319  
 17320  	// Information about the deployment configuration.
 17321  	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
 17322  
 17323  	// The failure code if the job fails:
 17324  	//
 17325  	// InternalServiceError
 17326  	//
 17327  	// Internal service error.
 17328  	//
 17329  	// RobotApplicationCrash
 17330  	//
 17331  	// Robot application exited abnormally.
 17332  	//
 17333  	// SimulationApplicationCrash
 17334  	//
 17335  	// Simulation application exited abnormally.
 17336  	//
 17337  	// BadPermissionsRobotApplication
 17338  	//
 17339  	// Robot application bundle could not be downloaded.
 17340  	//
 17341  	// BadPermissionsSimulationApplication
 17342  	//
 17343  	// Simulation application bundle could not be downloaded.
 17344  	//
 17345  	// BadPermissionsS3Output
 17346  	//
 17347  	// Unable to publish outputs to customer-provided S3 bucket.
 17348  	//
 17349  	// BadPermissionsCloudwatchLogs
 17350  	//
 17351  	// Unable to publish logs to customer-provided CloudWatch Logs resource.
 17352  	//
 17353  	// SubnetIpLimitExceeded
 17354  	//
 17355  	// Subnet IP limit exceeded.
 17356  	//
 17357  	// ENILimitExceeded
 17358  	//
 17359  	// ENI limit exceeded.
 17360  	//
 17361  	// BadPermissionsUserCredentials
 17362  	//
 17363  	// Unable to use the Role provided.
 17364  	//
 17365  	// InvalidBundleRobotApplication
 17366  	//
 17367  	// Robot bundle cannot be extracted (invalid format, bundling error, or other
 17368  	// issue).
 17369  	//
 17370  	// InvalidBundleSimulationApplication
 17371  	//
 17372  	// Simulation bundle cannot be extracted (invalid format, bundling error, or
 17373  	// other issue).
 17374  	//
 17375  	// RobotApplicationVersionMismatchedEtag
 17376  	//
 17377  	// Etag for RobotApplication does not match value during version creation.
 17378  	//
 17379  	// SimulationApplicationVersionMismatchedEtag
 17380  	//
 17381  	// Etag for SimulationApplication does not match value during version creation.
 17382  	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
 17383  
 17384  	// The failure reason if the job fails.
 17385  	FailureReason *string `locationName:"failureReason" type:"string"`
 17386  
 17387  	// The Amazon Resource Name (ARN) of the fleet.
 17388  	Fleet *string `locationName:"fleet" min:"1" type:"string"`
 17389  
 17390  	// The status of the synchronization job.
 17391  	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
 17392  }
 17393  
 17394  // String returns the string representation.
 17395  //
 17396  // API parameter values that are decorated as "sensitive" in the API will not
 17397  // be included in the string output. The member name will be present, but the
 17398  // value will be replaced with "sensitive".
 17399  func (s SyncDeploymentJobOutput) String() string {
 17400  	return awsutil.Prettify(s)
 17401  }
 17402  
 17403  // GoString returns the string representation.
 17404  //
 17405  // API parameter values that are decorated as "sensitive" in the API will not
 17406  // be included in the string output. The member name will be present, but the
 17407  // value will be replaced with "sensitive".
 17408  func (s SyncDeploymentJobOutput) GoString() string {
 17409  	return s.String()
 17410  }
 17411  
 17412  // SetArn sets the Arn field's value.
 17413  func (s *SyncDeploymentJobOutput) SetArn(v string) *SyncDeploymentJobOutput {
 17414  	s.Arn = &v
 17415  	return s
 17416  }
 17417  
 17418  // SetCreatedAt sets the CreatedAt field's value.
 17419  func (s *SyncDeploymentJobOutput) SetCreatedAt(v time.Time) *SyncDeploymentJobOutput {
 17420  	s.CreatedAt = &v
 17421  	return s
 17422  }
 17423  
 17424  // SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
 17425  func (s *SyncDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *SyncDeploymentJobOutput {
 17426  	s.DeploymentApplicationConfigs = v
 17427  	return s
 17428  }
 17429  
 17430  // SetDeploymentConfig sets the DeploymentConfig field's value.
 17431  func (s *SyncDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *SyncDeploymentJobOutput {
 17432  	s.DeploymentConfig = v
 17433  	return s
 17434  }
 17435  
 17436  // SetFailureCode sets the FailureCode field's value.
 17437  func (s *SyncDeploymentJobOutput) SetFailureCode(v string) *SyncDeploymentJobOutput {
 17438  	s.FailureCode = &v
 17439  	return s
 17440  }
 17441  
 17442  // SetFailureReason sets the FailureReason field's value.
 17443  func (s *SyncDeploymentJobOutput) SetFailureReason(v string) *SyncDeploymentJobOutput {
 17444  	s.FailureReason = &v
 17445  	return s
 17446  }
 17447  
 17448  // SetFleet sets the Fleet field's value.
 17449  func (s *SyncDeploymentJobOutput) SetFleet(v string) *SyncDeploymentJobOutput {
 17450  	s.Fleet = &v
 17451  	return s
 17452  }
 17453  
 17454  // SetStatus sets the Status field's value.
 17455  func (s *SyncDeploymentJobOutput) SetStatus(v string) *SyncDeploymentJobOutput {
 17456  	s.Status = &v
 17457  	return s
 17458  }
 17459  
 17460  type TagResourceInput struct {
 17461  	_ struct{} `type:"structure"`
 17462  
 17463  	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.
 17464  	//
 17465  	// ResourceArn is a required field
 17466  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 17467  
 17468  	// A map that contains tag keys and tag values that are attached to the resource.
 17469  	//
 17470  	// Tags is a required field
 17471  	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
 17472  }
 17473  
 17474  // String returns the string representation.
 17475  //
 17476  // API parameter values that are decorated as "sensitive" in the API will not
 17477  // be included in the string output. The member name will be present, but the
 17478  // value will be replaced with "sensitive".
 17479  func (s TagResourceInput) String() string {
 17480  	return awsutil.Prettify(s)
 17481  }
 17482  
 17483  // GoString returns the string representation.
 17484  //
 17485  // API parameter values that are decorated as "sensitive" in the API will not
 17486  // be included in the string output. The member name will be present, but the
 17487  // value will be replaced with "sensitive".
 17488  func (s TagResourceInput) GoString() string {
 17489  	return s.String()
 17490  }
 17491  
 17492  // Validate inspects the fields of the type to determine if they are valid.
 17493  func (s *TagResourceInput) Validate() error {
 17494  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 17495  	if s.ResourceArn == nil {
 17496  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 17497  	}
 17498  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 17499  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 17500  	}
 17501  	if s.Tags == nil {
 17502  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 17503  	}
 17504  
 17505  	if invalidParams.Len() > 0 {
 17506  		return invalidParams
 17507  	}
 17508  	return nil
 17509  }
 17510  
 17511  // SetResourceArn sets the ResourceArn field's value.
 17512  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 17513  	s.ResourceArn = &v
 17514  	return s
 17515  }
 17516  
 17517  // SetTags sets the Tags field's value.
 17518  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 17519  	s.Tags = v
 17520  	return s
 17521  }
 17522  
 17523  type TagResourceOutput struct {
 17524  	_ struct{} `type:"structure" nopayload:"true"`
 17525  }
 17526  
 17527  // String returns the string representation.
 17528  //
 17529  // API parameter values that are decorated as "sensitive" in the API will not
 17530  // be included in the string output. The member name will be present, but the
 17531  // value will be replaced with "sensitive".
 17532  func (s TagResourceOutput) String() string {
 17533  	return awsutil.Prettify(s)
 17534  }
 17535  
 17536  // GoString returns the string representation.
 17537  //
 17538  // API parameter values that are decorated as "sensitive" in the API will not
 17539  // be included in the string output. The member name will be present, but the
 17540  // value will be replaced with "sensitive".
 17541  func (s TagResourceOutput) GoString() string {
 17542  	return s.String()
 17543  }
 17544  
 17545  // Information about a template location.
 17546  type TemplateLocation struct {
 17547  	_ struct{} `type:"structure"`
 17548  
 17549  	// The Amazon S3 bucket name.
 17550  	//
 17551  	// S3Bucket is a required field
 17552  	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string" required:"true"`
 17553  
 17554  	// The list of S3 keys identifying the data source files.
 17555  	//
 17556  	// S3Key is a required field
 17557  	S3Key *string `locationName:"s3Key" min:"1" type:"string" required:"true"`
 17558  }
 17559  
 17560  // String returns the string representation.
 17561  //
 17562  // API parameter values that are decorated as "sensitive" in the API will not
 17563  // be included in the string output. The member name will be present, but the
 17564  // value will be replaced with "sensitive".
 17565  func (s TemplateLocation) String() string {
 17566  	return awsutil.Prettify(s)
 17567  }
 17568  
 17569  // GoString returns the string representation.
 17570  //
 17571  // API parameter values that are decorated as "sensitive" in the API will not
 17572  // be included in the string output. The member name will be present, but the
 17573  // value will be replaced with "sensitive".
 17574  func (s TemplateLocation) GoString() string {
 17575  	return s.String()
 17576  }
 17577  
 17578  // Validate inspects the fields of the type to determine if they are valid.
 17579  func (s *TemplateLocation) Validate() error {
 17580  	invalidParams := request.ErrInvalidParams{Context: "TemplateLocation"}
 17581  	if s.S3Bucket == nil {
 17582  		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
 17583  	}
 17584  	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
 17585  		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
 17586  	}
 17587  	if s.S3Key == nil {
 17588  		invalidParams.Add(request.NewErrParamRequired("S3Key"))
 17589  	}
 17590  	if s.S3Key != nil && len(*s.S3Key) < 1 {
 17591  		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
 17592  	}
 17593  
 17594  	if invalidParams.Len() > 0 {
 17595  		return invalidParams
 17596  	}
 17597  	return nil
 17598  }
 17599  
 17600  // SetS3Bucket sets the S3Bucket field's value.
 17601  func (s *TemplateLocation) SetS3Bucket(v string) *TemplateLocation {
 17602  	s.S3Bucket = &v
 17603  	return s
 17604  }
 17605  
 17606  // SetS3Key sets the S3Key field's value.
 17607  func (s *TemplateLocation) SetS3Key(v string) *TemplateLocation {
 17608  	s.S3Key = &v
 17609  	return s
 17610  }
 17611  
 17612  // Summary information for a template.
 17613  type TemplateSummary struct {
 17614  	_ struct{} `type:"structure"`
 17615  
 17616  	// The Amazon Resource Name (ARN) of the template.
 17617  	Arn *string `locationName:"arn" min:"1" type:"string"`
 17618  
 17619  	// The time, in milliseconds since the epoch, when the template was created.
 17620  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 17621  
 17622  	// The time, in milliseconds since the epoch, when the template was last updated.
 17623  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 17624  
 17625  	// The name of the template.
 17626  	Name *string `locationName:"name" type:"string"`
 17627  
 17628  	// The version of the template that you're using.
 17629  	Version *string `locationName:"version" type:"string"`
 17630  }
 17631  
 17632  // String returns the string representation.
 17633  //
 17634  // API parameter values that are decorated as "sensitive" in the API will not
 17635  // be included in the string output. The member name will be present, but the
 17636  // value will be replaced with "sensitive".
 17637  func (s TemplateSummary) String() string {
 17638  	return awsutil.Prettify(s)
 17639  }
 17640  
 17641  // GoString returns the string representation.
 17642  //
 17643  // API parameter values that are decorated as "sensitive" in the API will not
 17644  // be included in the string output. The member name will be present, but the
 17645  // value will be replaced with "sensitive".
 17646  func (s TemplateSummary) GoString() string {
 17647  	return s.String()
 17648  }
 17649  
 17650  // SetArn sets the Arn field's value.
 17651  func (s *TemplateSummary) SetArn(v string) *TemplateSummary {
 17652  	s.Arn = &v
 17653  	return s
 17654  }
 17655  
 17656  // SetCreatedAt sets the CreatedAt field's value.
 17657  func (s *TemplateSummary) SetCreatedAt(v time.Time) *TemplateSummary {
 17658  	s.CreatedAt = &v
 17659  	return s
 17660  }
 17661  
 17662  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 17663  func (s *TemplateSummary) SetLastUpdatedAt(v time.Time) *TemplateSummary {
 17664  	s.LastUpdatedAt = &v
 17665  	return s
 17666  }
 17667  
 17668  // SetName sets the Name field's value.
 17669  func (s *TemplateSummary) SetName(v string) *TemplateSummary {
 17670  	s.Name = &v
 17671  	return s
 17672  }
 17673  
 17674  // SetVersion sets the Version field's value.
 17675  func (s *TemplateSummary) SetVersion(v string) *TemplateSummary {
 17676  	s.Version = &v
 17677  	return s
 17678  }
 17679  
 17680  // AWS RoboMaker is temporarily unable to process the request. Try your call
 17681  // again.
 17682  type ThrottlingException struct {
 17683  	_            struct{}                  `type:"structure"`
 17684  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 17685  
 17686  	Message_ *string `locationName:"message" type:"string"`
 17687  }
 17688  
 17689  // String returns the string representation.
 17690  //
 17691  // API parameter values that are decorated as "sensitive" in the API will not
 17692  // be included in the string output. The member name will be present, but the
 17693  // value will be replaced with "sensitive".
 17694  func (s ThrottlingException) String() string {
 17695  	return awsutil.Prettify(s)
 17696  }
 17697  
 17698  // GoString returns the string representation.
 17699  //
 17700  // API parameter values that are decorated as "sensitive" in the API will not
 17701  // be included in the string output. The member name will be present, but the
 17702  // value will be replaced with "sensitive".
 17703  func (s ThrottlingException) GoString() string {
 17704  	return s.String()
 17705  }
 17706  
 17707  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
 17708  	return &ThrottlingException{
 17709  		RespMetadata: v,
 17710  	}
 17711  }
 17712  
 17713  // Code returns the exception type name.
 17714  func (s *ThrottlingException) Code() string {
 17715  	return "ThrottlingException"
 17716  }
 17717  
 17718  // Message returns the exception's message.
 17719  func (s *ThrottlingException) Message() string {
 17720  	if s.Message_ != nil {
 17721  		return *s.Message_
 17722  	}
 17723  	return ""
 17724  }
 17725  
 17726  // OrigErr always returns nil, satisfies awserr.Error interface.
 17727  func (s *ThrottlingException) OrigErr() error {
 17728  	return nil
 17729  }
 17730  
 17731  func (s *ThrottlingException) Error() string {
 17732  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
 17733  }
 17734  
 17735  // Status code returns the HTTP status code for the request's response error.
 17736  func (s *ThrottlingException) StatusCode() int {
 17737  	return s.RespMetadata.StatusCode
 17738  }
 17739  
 17740  // RequestID returns the service's response RequestID for request.
 17741  func (s *ThrottlingException) RequestID() string {
 17742  	return s.RespMetadata.RequestID
 17743  }
 17744  
 17745  // Information about a tool. Tools are used in a simulation job.
 17746  type Tool struct {
 17747  	_ struct{} `type:"structure"`
 17748  
 17749  	// Command-line arguments for the tool. It must include the tool executable
 17750  	// name.
 17751  	//
 17752  	// Command is a required field
 17753  	Command *string `locationName:"command" min:"1" type:"string" required:"true"`
 17754  
 17755  	// Exit behavior determines what happens when your tool quits running. RESTART
 17756  	// will cause your tool to be restarted. FAIL will cause your job to exit. The
 17757  	// default is RESTART.
 17758  	ExitBehavior *string `locationName:"exitBehavior" type:"string" enum:"ExitBehavior"`
 17759  
 17760  	// The name of the tool.
 17761  	//
 17762  	// Name is a required field
 17763  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 17764  
 17765  	// Boolean indicating whether logs will be recorded in CloudWatch for the tool.
 17766  	// The default is False.
 17767  	StreamOutputToCloudWatch *bool `locationName:"streamOutputToCloudWatch" type:"boolean"`
 17768  
 17769  	// Boolean indicating whether a streaming session will be configured for the
 17770  	// tool. If True, AWS RoboMaker will configure a connection so you can interact
 17771  	// with the tool as it is running in the simulation. It must have a graphical
 17772  	// user interface. The default is False.
 17773  	StreamUI *bool `locationName:"streamUI" type:"boolean"`
 17774  }
 17775  
 17776  // String returns the string representation.
 17777  //
 17778  // API parameter values that are decorated as "sensitive" in the API will not
 17779  // be included in the string output. The member name will be present, but the
 17780  // value will be replaced with "sensitive".
 17781  func (s Tool) String() string {
 17782  	return awsutil.Prettify(s)
 17783  }
 17784  
 17785  // GoString returns the string representation.
 17786  //
 17787  // API parameter values that are decorated as "sensitive" in the API will not
 17788  // be included in the string output. The member name will be present, but the
 17789  // value will be replaced with "sensitive".
 17790  func (s Tool) GoString() string {
 17791  	return s.String()
 17792  }
 17793  
 17794  // Validate inspects the fields of the type to determine if they are valid.
 17795  func (s *Tool) Validate() error {
 17796  	invalidParams := request.ErrInvalidParams{Context: "Tool"}
 17797  	if s.Command == nil {
 17798  		invalidParams.Add(request.NewErrParamRequired("Command"))
 17799  	}
 17800  	if s.Command != nil && len(*s.Command) < 1 {
 17801  		invalidParams.Add(request.NewErrParamMinLen("Command", 1))
 17802  	}
 17803  	if s.Name == nil {
 17804  		invalidParams.Add(request.NewErrParamRequired("Name"))
 17805  	}
 17806  	if s.Name != nil && len(*s.Name) < 1 {
 17807  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 17808  	}
 17809  
 17810  	if invalidParams.Len() > 0 {
 17811  		return invalidParams
 17812  	}
 17813  	return nil
 17814  }
 17815  
 17816  // SetCommand sets the Command field's value.
 17817  func (s *Tool) SetCommand(v string) *Tool {
 17818  	s.Command = &v
 17819  	return s
 17820  }
 17821  
 17822  // SetExitBehavior sets the ExitBehavior field's value.
 17823  func (s *Tool) SetExitBehavior(v string) *Tool {
 17824  	s.ExitBehavior = &v
 17825  	return s
 17826  }
 17827  
 17828  // SetName sets the Name field's value.
 17829  func (s *Tool) SetName(v string) *Tool {
 17830  	s.Name = &v
 17831  	return s
 17832  }
 17833  
 17834  // SetStreamOutputToCloudWatch sets the StreamOutputToCloudWatch field's value.
 17835  func (s *Tool) SetStreamOutputToCloudWatch(v bool) *Tool {
 17836  	s.StreamOutputToCloudWatch = &v
 17837  	return s
 17838  }
 17839  
 17840  // SetStreamUI sets the StreamUI field's value.
 17841  func (s *Tool) SetStreamUI(v bool) *Tool {
 17842  	s.StreamUI = &v
 17843  	return s
 17844  }
 17845  
 17846  type UntagResourceInput struct {
 17847  	_ struct{} `type:"structure" nopayload:"true"`
 17848  
 17849  	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing
 17850  	// tags.
 17851  	//
 17852  	// ResourceArn is a required field
 17853  	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
 17854  
 17855  	// A map that contains tag keys and tag values that will be unattached from
 17856  	// the resource.
 17857  	//
 17858  	// TagKeys is a required field
 17859  	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
 17860  }
 17861  
 17862  // String returns the string representation.
 17863  //
 17864  // API parameter values that are decorated as "sensitive" in the API will not
 17865  // be included in the string output. The member name will be present, but the
 17866  // value will be replaced with "sensitive".
 17867  func (s UntagResourceInput) String() string {
 17868  	return awsutil.Prettify(s)
 17869  }
 17870  
 17871  // GoString returns the string representation.
 17872  //
 17873  // API parameter values that are decorated as "sensitive" in the API will not
 17874  // be included in the string output. The member name will be present, but the
 17875  // value will be replaced with "sensitive".
 17876  func (s UntagResourceInput) GoString() string {
 17877  	return s.String()
 17878  }
 17879  
 17880  // Validate inspects the fields of the type to determine if they are valid.
 17881  func (s *UntagResourceInput) Validate() error {
 17882  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 17883  	if s.ResourceArn == nil {
 17884  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 17885  	}
 17886  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 17887  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 17888  	}
 17889  	if s.TagKeys == nil {
 17890  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 17891  	}
 17892  
 17893  	if invalidParams.Len() > 0 {
 17894  		return invalidParams
 17895  	}
 17896  	return nil
 17897  }
 17898  
 17899  // SetResourceArn sets the ResourceArn field's value.
 17900  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 17901  	s.ResourceArn = &v
 17902  	return s
 17903  }
 17904  
 17905  // SetTagKeys sets the TagKeys field's value.
 17906  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 17907  	s.TagKeys = v
 17908  	return s
 17909  }
 17910  
 17911  type UntagResourceOutput struct {
 17912  	_ struct{} `type:"structure" nopayload:"true"`
 17913  }
 17914  
 17915  // String returns the string representation.
 17916  //
 17917  // API parameter values that are decorated as "sensitive" in the API will not
 17918  // be included in the string output. The member name will be present, but the
 17919  // value will be replaced with "sensitive".
 17920  func (s UntagResourceOutput) String() string {
 17921  	return awsutil.Prettify(s)
 17922  }
 17923  
 17924  // GoString returns the string representation.
 17925  //
 17926  // API parameter values that are decorated as "sensitive" in the API will not
 17927  // be included in the string output. The member name will be present, but the
 17928  // value will be replaced with "sensitive".
 17929  func (s UntagResourceOutput) GoString() string {
 17930  	return s.String()
 17931  }
 17932  
 17933  type UpdateRobotApplicationInput struct {
 17934  	_ struct{} `type:"structure"`
 17935  
 17936  	// The application information for the robot application.
 17937  	//
 17938  	// Application is a required field
 17939  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
 17940  
 17941  	// The revision id for the robot application.
 17942  	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
 17943  
 17944  	// The object that contains the Docker image URI for your robot application.
 17945  	Environment *Environment `locationName:"environment" type:"structure"`
 17946  
 17947  	// The robot software suite (ROS distribution) used by the robot application.
 17948  	//
 17949  	// RobotSoftwareSuite is a required field
 17950  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
 17951  
 17952  	// The sources of the robot application.
 17953  	Sources []*SourceConfig `locationName:"sources" type:"list"`
 17954  }
 17955  
 17956  // String returns the string representation.
 17957  //
 17958  // API parameter values that are decorated as "sensitive" in the API will not
 17959  // be included in the string output. The member name will be present, but the
 17960  // value will be replaced with "sensitive".
 17961  func (s UpdateRobotApplicationInput) String() string {
 17962  	return awsutil.Prettify(s)
 17963  }
 17964  
 17965  // GoString returns the string representation.
 17966  //
 17967  // API parameter values that are decorated as "sensitive" in the API will not
 17968  // be included in the string output. The member name will be present, but the
 17969  // value will be replaced with "sensitive".
 17970  func (s UpdateRobotApplicationInput) GoString() string {
 17971  	return s.String()
 17972  }
 17973  
 17974  // Validate inspects the fields of the type to determine if they are valid.
 17975  func (s *UpdateRobotApplicationInput) Validate() error {
 17976  	invalidParams := request.ErrInvalidParams{Context: "UpdateRobotApplicationInput"}
 17977  	if s.Application == nil {
 17978  		invalidParams.Add(request.NewErrParamRequired("Application"))
 17979  	}
 17980  	if s.Application != nil && len(*s.Application) < 1 {
 17981  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
 17982  	}
 17983  	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
 17984  		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
 17985  	}
 17986  	if s.RobotSoftwareSuite == nil {
 17987  		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
 17988  	}
 17989  	if s.Environment != nil {
 17990  		if err := s.Environment.Validate(); err != nil {
 17991  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
 17992  		}
 17993  	}
 17994  	if s.Sources != nil {
 17995  		for i, v := range s.Sources {
 17996  			if v == nil {
 17997  				continue
 17998  			}
 17999  			if err := v.Validate(); err != nil {
 18000  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
 18001  			}
 18002  		}
 18003  	}
 18004  
 18005  	if invalidParams.Len() > 0 {
 18006  		return invalidParams
 18007  	}
 18008  	return nil
 18009  }
 18010  
 18011  // SetApplication sets the Application field's value.
 18012  func (s *UpdateRobotApplicationInput) SetApplication(v string) *UpdateRobotApplicationInput {
 18013  	s.Application = &v
 18014  	return s
 18015  }
 18016  
 18017  // SetCurrentRevisionId sets the CurrentRevisionId field's value.
 18018  func (s *UpdateRobotApplicationInput) SetCurrentRevisionId(v string) *UpdateRobotApplicationInput {
 18019  	s.CurrentRevisionId = &v
 18020  	return s
 18021  }
 18022  
 18023  // SetEnvironment sets the Environment field's value.
 18024  func (s *UpdateRobotApplicationInput) SetEnvironment(v *Environment) *UpdateRobotApplicationInput {
 18025  	s.Environment = v
 18026  	return s
 18027  }
 18028  
 18029  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 18030  func (s *UpdateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationInput {
 18031  	s.RobotSoftwareSuite = v
 18032  	return s
 18033  }
 18034  
 18035  // SetSources sets the Sources field's value.
 18036  func (s *UpdateRobotApplicationInput) SetSources(v []*SourceConfig) *UpdateRobotApplicationInput {
 18037  	s.Sources = v
 18038  	return s
 18039  }
 18040  
 18041  type UpdateRobotApplicationOutput struct {
 18042  	_ struct{} `type:"structure"`
 18043  
 18044  	// The Amazon Resource Name (ARN) of the updated robot application.
 18045  	Arn *string `locationName:"arn" min:"1" type:"string"`
 18046  
 18047  	// The object that contains the Docker image URI for your robot application.
 18048  	Environment *Environment `locationName:"environment" type:"structure"`
 18049  
 18050  	// The time, in milliseconds since the epoch, when the robot application was
 18051  	// last updated.
 18052  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 18053  
 18054  	// The name of the robot application.
 18055  	Name *string `locationName:"name" min:"1" type:"string"`
 18056  
 18057  	// The revision id of the robot application.
 18058  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 18059  
 18060  	// The robot software suite (ROS distribution) used by the robot application.
 18061  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
 18062  
 18063  	// The sources of the robot application.
 18064  	Sources []*Source `locationName:"sources" type:"list"`
 18065  
 18066  	// The version of the robot application.
 18067  	Version *string `locationName:"version" min:"1" type:"string"`
 18068  }
 18069  
 18070  // String returns the string representation.
 18071  //
 18072  // API parameter values that are decorated as "sensitive" in the API will not
 18073  // be included in the string output. The member name will be present, but the
 18074  // value will be replaced with "sensitive".
 18075  func (s UpdateRobotApplicationOutput) String() string {
 18076  	return awsutil.Prettify(s)
 18077  }
 18078  
 18079  // GoString returns the string representation.
 18080  //
 18081  // API parameter values that are decorated as "sensitive" in the API will not
 18082  // be included in the string output. The member name will be present, but the
 18083  // value will be replaced with "sensitive".
 18084  func (s UpdateRobotApplicationOutput) GoString() string {
 18085  	return s.String()
 18086  }
 18087  
 18088  // SetArn sets the Arn field's value.
 18089  func (s *UpdateRobotApplicationOutput) SetArn(v string) *UpdateRobotApplicationOutput {
 18090  	s.Arn = &v
 18091  	return s
 18092  }
 18093  
 18094  // SetEnvironment sets the Environment field's value.
 18095  func (s *UpdateRobotApplicationOutput) SetEnvironment(v *Environment) *UpdateRobotApplicationOutput {
 18096  	s.Environment = v
 18097  	return s
 18098  }
 18099  
 18100  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 18101  func (s *UpdateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateRobotApplicationOutput {
 18102  	s.LastUpdatedAt = &v
 18103  	return s
 18104  }
 18105  
 18106  // SetName sets the Name field's value.
 18107  func (s *UpdateRobotApplicationOutput) SetName(v string) *UpdateRobotApplicationOutput {
 18108  	s.Name = &v
 18109  	return s
 18110  }
 18111  
 18112  // SetRevisionId sets the RevisionId field's value.
 18113  func (s *UpdateRobotApplicationOutput) SetRevisionId(v string) *UpdateRobotApplicationOutput {
 18114  	s.RevisionId = &v
 18115  	return s
 18116  }
 18117  
 18118  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 18119  func (s *UpdateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationOutput {
 18120  	s.RobotSoftwareSuite = v
 18121  	return s
 18122  }
 18123  
 18124  // SetSources sets the Sources field's value.
 18125  func (s *UpdateRobotApplicationOutput) SetSources(v []*Source) *UpdateRobotApplicationOutput {
 18126  	s.Sources = v
 18127  	return s
 18128  }
 18129  
 18130  // SetVersion sets the Version field's value.
 18131  func (s *UpdateRobotApplicationOutput) SetVersion(v string) *UpdateRobotApplicationOutput {
 18132  	s.Version = &v
 18133  	return s
 18134  }
 18135  
 18136  type UpdateSimulationApplicationInput struct {
 18137  	_ struct{} `type:"structure"`
 18138  
 18139  	// The application information for the simulation application.
 18140  	//
 18141  	// Application is a required field
 18142  	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
 18143  
 18144  	// The revision id for the robot application.
 18145  	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
 18146  
 18147  	// The object that contains the Docker image URI for your simulation application.
 18148  	Environment *Environment `locationName:"environment" type:"structure"`
 18149  
 18150  	// The rendering engine for the simulation application.
 18151  	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
 18152  
 18153  	// Information about the robot software suite (ROS distribution).
 18154  	//
 18155  	// RobotSoftwareSuite is a required field
 18156  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
 18157  
 18158  	// The simulation software suite used by the simulation application.
 18159  	//
 18160  	// SimulationSoftwareSuite is a required field
 18161  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
 18162  
 18163  	// The sources of the simulation application.
 18164  	Sources []*SourceConfig `locationName:"sources" type:"list"`
 18165  }
 18166  
 18167  // String returns the string representation.
 18168  //
 18169  // API parameter values that are decorated as "sensitive" in the API will not
 18170  // be included in the string output. The member name will be present, but the
 18171  // value will be replaced with "sensitive".
 18172  func (s UpdateSimulationApplicationInput) String() string {
 18173  	return awsutil.Prettify(s)
 18174  }
 18175  
 18176  // GoString returns the string representation.
 18177  //
 18178  // API parameter values that are decorated as "sensitive" in the API will not
 18179  // be included in the string output. The member name will be present, but the
 18180  // value will be replaced with "sensitive".
 18181  func (s UpdateSimulationApplicationInput) GoString() string {
 18182  	return s.String()
 18183  }
 18184  
 18185  // Validate inspects the fields of the type to determine if they are valid.
 18186  func (s *UpdateSimulationApplicationInput) Validate() error {
 18187  	invalidParams := request.ErrInvalidParams{Context: "UpdateSimulationApplicationInput"}
 18188  	if s.Application == nil {
 18189  		invalidParams.Add(request.NewErrParamRequired("Application"))
 18190  	}
 18191  	if s.Application != nil && len(*s.Application) < 1 {
 18192  		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
 18193  	}
 18194  	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
 18195  		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
 18196  	}
 18197  	if s.RobotSoftwareSuite == nil {
 18198  		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
 18199  	}
 18200  	if s.SimulationSoftwareSuite == nil {
 18201  		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
 18202  	}
 18203  	if s.Environment != nil {
 18204  		if err := s.Environment.Validate(); err != nil {
 18205  			invalidParams.AddNested("Environment", err.(request.ErrInvalidParams))
 18206  		}
 18207  	}
 18208  	if s.RenderingEngine != nil {
 18209  		if err := s.RenderingEngine.Validate(); err != nil {
 18210  			invalidParams.AddNested("RenderingEngine", err.(request.ErrInvalidParams))
 18211  		}
 18212  	}
 18213  	if s.Sources != nil {
 18214  		for i, v := range s.Sources {
 18215  			if v == nil {
 18216  				continue
 18217  			}
 18218  			if err := v.Validate(); err != nil {
 18219  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
 18220  			}
 18221  		}
 18222  	}
 18223  
 18224  	if invalidParams.Len() > 0 {
 18225  		return invalidParams
 18226  	}
 18227  	return nil
 18228  }
 18229  
 18230  // SetApplication sets the Application field's value.
 18231  func (s *UpdateSimulationApplicationInput) SetApplication(v string) *UpdateSimulationApplicationInput {
 18232  	s.Application = &v
 18233  	return s
 18234  }
 18235  
 18236  // SetCurrentRevisionId sets the CurrentRevisionId field's value.
 18237  func (s *UpdateSimulationApplicationInput) SetCurrentRevisionId(v string) *UpdateSimulationApplicationInput {
 18238  	s.CurrentRevisionId = &v
 18239  	return s
 18240  }
 18241  
 18242  // SetEnvironment sets the Environment field's value.
 18243  func (s *UpdateSimulationApplicationInput) SetEnvironment(v *Environment) *UpdateSimulationApplicationInput {
 18244  	s.Environment = v
 18245  	return s
 18246  }
 18247  
 18248  // SetRenderingEngine sets the RenderingEngine field's value.
 18249  func (s *UpdateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationInput {
 18250  	s.RenderingEngine = v
 18251  	return s
 18252  }
 18253  
 18254  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 18255  func (s *UpdateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationInput {
 18256  	s.RobotSoftwareSuite = v
 18257  	return s
 18258  }
 18259  
 18260  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
 18261  func (s *UpdateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationInput {
 18262  	s.SimulationSoftwareSuite = v
 18263  	return s
 18264  }
 18265  
 18266  // SetSources sets the Sources field's value.
 18267  func (s *UpdateSimulationApplicationInput) SetSources(v []*SourceConfig) *UpdateSimulationApplicationInput {
 18268  	s.Sources = v
 18269  	return s
 18270  }
 18271  
 18272  type UpdateSimulationApplicationOutput struct {
 18273  	_ struct{} `type:"structure"`
 18274  
 18275  	// The Amazon Resource Name (ARN) of the updated simulation application.
 18276  	Arn *string `locationName:"arn" min:"1" type:"string"`
 18277  
 18278  	// The object that contains the Docker image URI used for your simulation application.
 18279  	Environment *Environment `locationName:"environment" type:"structure"`
 18280  
 18281  	// The time, in milliseconds since the epoch, when the simulation application
 18282  	// was last updated.
 18283  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 18284  
 18285  	// The name of the simulation application.
 18286  	Name *string `locationName:"name" min:"1" type:"string"`
 18287  
 18288  	// The rendering engine for the simulation application.
 18289  	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
 18290  
 18291  	// The revision id of the simulation application.
 18292  	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
 18293  
 18294  	// Information about the robot software suite (ROS distribution).
 18295  	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
 18296  
 18297  	// The simulation software suite used by the simulation application.
 18298  	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
 18299  
 18300  	// The sources of the simulation application.
 18301  	Sources []*Source `locationName:"sources" type:"list"`
 18302  
 18303  	// The version of the robot application.
 18304  	Version *string `locationName:"version" min:"1" type:"string"`
 18305  }
 18306  
 18307  // String returns the string representation.
 18308  //
 18309  // API parameter values that are decorated as "sensitive" in the API will not
 18310  // be included in the string output. The member name will be present, but the
 18311  // value will be replaced with "sensitive".
 18312  func (s UpdateSimulationApplicationOutput) String() string {
 18313  	return awsutil.Prettify(s)
 18314  }
 18315  
 18316  // GoString returns the string representation.
 18317  //
 18318  // API parameter values that are decorated as "sensitive" in the API will not
 18319  // be included in the string output. The member name will be present, but the
 18320  // value will be replaced with "sensitive".
 18321  func (s UpdateSimulationApplicationOutput) GoString() string {
 18322  	return s.String()
 18323  }
 18324  
 18325  // SetArn sets the Arn field's value.
 18326  func (s *UpdateSimulationApplicationOutput) SetArn(v string) *UpdateSimulationApplicationOutput {
 18327  	s.Arn = &v
 18328  	return s
 18329  }
 18330  
 18331  // SetEnvironment sets the Environment field's value.
 18332  func (s *UpdateSimulationApplicationOutput) SetEnvironment(v *Environment) *UpdateSimulationApplicationOutput {
 18333  	s.Environment = v
 18334  	return s
 18335  }
 18336  
 18337  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 18338  func (s *UpdateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateSimulationApplicationOutput {
 18339  	s.LastUpdatedAt = &v
 18340  	return s
 18341  }
 18342  
 18343  // SetName sets the Name field's value.
 18344  func (s *UpdateSimulationApplicationOutput) SetName(v string) *UpdateSimulationApplicationOutput {
 18345  	s.Name = &v
 18346  	return s
 18347  }
 18348  
 18349  // SetRenderingEngine sets the RenderingEngine field's value.
 18350  func (s *UpdateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationOutput {
 18351  	s.RenderingEngine = v
 18352  	return s
 18353  }
 18354  
 18355  // SetRevisionId sets the RevisionId field's value.
 18356  func (s *UpdateSimulationApplicationOutput) SetRevisionId(v string) *UpdateSimulationApplicationOutput {
 18357  	s.RevisionId = &v
 18358  	return s
 18359  }
 18360  
 18361  // SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
 18362  func (s *UpdateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationOutput {
 18363  	s.RobotSoftwareSuite = v
 18364  	return s
 18365  }
 18366  
 18367  // SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
 18368  func (s *UpdateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationOutput {
 18369  	s.SimulationSoftwareSuite = v
 18370  	return s
 18371  }
 18372  
 18373  // SetSources sets the Sources field's value.
 18374  func (s *UpdateSimulationApplicationOutput) SetSources(v []*Source) *UpdateSimulationApplicationOutput {
 18375  	s.Sources = v
 18376  	return s
 18377  }
 18378  
 18379  // SetVersion sets the Version field's value.
 18380  func (s *UpdateSimulationApplicationOutput) SetVersion(v string) *UpdateSimulationApplicationOutput {
 18381  	s.Version = &v
 18382  	return s
 18383  }
 18384  
 18385  type UpdateWorldTemplateInput struct {
 18386  	_ struct{} `type:"structure"`
 18387  
 18388  	// The name of the template.
 18389  	Name *string `locationName:"name" type:"string"`
 18390  
 18391  	// The Amazon Resource Name (arn) of the world template to update.
 18392  	//
 18393  	// Template is a required field
 18394  	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
 18395  
 18396  	// The world template body.
 18397  	TemplateBody *string `locationName:"templateBody" min:"1" type:"string"`
 18398  
 18399  	// The location of the world template.
 18400  	TemplateLocation *TemplateLocation `locationName:"templateLocation" type:"structure"`
 18401  }
 18402  
 18403  // String returns the string representation.
 18404  //
 18405  // API parameter values that are decorated as "sensitive" in the API will not
 18406  // be included in the string output. The member name will be present, but the
 18407  // value will be replaced with "sensitive".
 18408  func (s UpdateWorldTemplateInput) String() string {
 18409  	return awsutil.Prettify(s)
 18410  }
 18411  
 18412  // GoString returns the string representation.
 18413  //
 18414  // API parameter values that are decorated as "sensitive" in the API will not
 18415  // be included in the string output. The member name will be present, but the
 18416  // value will be replaced with "sensitive".
 18417  func (s UpdateWorldTemplateInput) GoString() string {
 18418  	return s.String()
 18419  }
 18420  
 18421  // Validate inspects the fields of the type to determine if they are valid.
 18422  func (s *UpdateWorldTemplateInput) Validate() error {
 18423  	invalidParams := request.ErrInvalidParams{Context: "UpdateWorldTemplateInput"}
 18424  	if s.Template == nil {
 18425  		invalidParams.Add(request.NewErrParamRequired("Template"))
 18426  	}
 18427  	if s.Template != nil && len(*s.Template) < 1 {
 18428  		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
 18429  	}
 18430  	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
 18431  		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
 18432  	}
 18433  	if s.TemplateLocation != nil {
 18434  		if err := s.TemplateLocation.Validate(); err != nil {
 18435  			invalidParams.AddNested("TemplateLocation", err.(request.ErrInvalidParams))
 18436  		}
 18437  	}
 18438  
 18439  	if invalidParams.Len() > 0 {
 18440  		return invalidParams
 18441  	}
 18442  	return nil
 18443  }
 18444  
 18445  // SetName sets the Name field's value.
 18446  func (s *UpdateWorldTemplateInput) SetName(v string) *UpdateWorldTemplateInput {
 18447  	s.Name = &v
 18448  	return s
 18449  }
 18450  
 18451  // SetTemplate sets the Template field's value.
 18452  func (s *UpdateWorldTemplateInput) SetTemplate(v string) *UpdateWorldTemplateInput {
 18453  	s.Template = &v
 18454  	return s
 18455  }
 18456  
 18457  // SetTemplateBody sets the TemplateBody field's value.
 18458  func (s *UpdateWorldTemplateInput) SetTemplateBody(v string) *UpdateWorldTemplateInput {
 18459  	s.TemplateBody = &v
 18460  	return s
 18461  }
 18462  
 18463  // SetTemplateLocation sets the TemplateLocation field's value.
 18464  func (s *UpdateWorldTemplateInput) SetTemplateLocation(v *TemplateLocation) *UpdateWorldTemplateInput {
 18465  	s.TemplateLocation = v
 18466  	return s
 18467  }
 18468  
 18469  type UpdateWorldTemplateOutput struct {
 18470  	_ struct{} `type:"structure"`
 18471  
 18472  	// The Amazon Resource Name (arn) of the world template.
 18473  	Arn *string `locationName:"arn" min:"1" type:"string"`
 18474  
 18475  	// The time, in milliseconds since the epoch, when the world template was created.
 18476  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 18477  
 18478  	// The time, in milliseconds since the epoch, when the world template was last
 18479  	// updated.
 18480  	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
 18481  
 18482  	// The name of the world template.
 18483  	Name *string `locationName:"name" type:"string"`
 18484  }
 18485  
 18486  // String returns the string representation.
 18487  //
 18488  // API parameter values that are decorated as "sensitive" in the API will not
 18489  // be included in the string output. The member name will be present, but the
 18490  // value will be replaced with "sensitive".
 18491  func (s UpdateWorldTemplateOutput) String() string {
 18492  	return awsutil.Prettify(s)
 18493  }
 18494  
 18495  // GoString returns the string representation.
 18496  //
 18497  // API parameter values that are decorated as "sensitive" in the API will not
 18498  // be included in the string output. The member name will be present, but the
 18499  // value will be replaced with "sensitive".
 18500  func (s UpdateWorldTemplateOutput) GoString() string {
 18501  	return s.String()
 18502  }
 18503  
 18504  // SetArn sets the Arn field's value.
 18505  func (s *UpdateWorldTemplateOutput) SetArn(v string) *UpdateWorldTemplateOutput {
 18506  	s.Arn = &v
 18507  	return s
 18508  }
 18509  
 18510  // SetCreatedAt sets the CreatedAt field's value.
 18511  func (s *UpdateWorldTemplateOutput) SetCreatedAt(v time.Time) *UpdateWorldTemplateOutput {
 18512  	s.CreatedAt = &v
 18513  	return s
 18514  }
 18515  
 18516  // SetLastUpdatedAt sets the LastUpdatedAt field's value.
 18517  func (s *UpdateWorldTemplateOutput) SetLastUpdatedAt(v time.Time) *UpdateWorldTemplateOutput {
 18518  	s.LastUpdatedAt = &v
 18519  	return s
 18520  }
 18521  
 18522  // SetName sets the Name field's value.
 18523  func (s *UpdateWorldTemplateOutput) SetName(v string) *UpdateWorldTemplateOutput {
 18524  	s.Name = &v
 18525  	return s
 18526  }
 18527  
 18528  // Provides upload configuration information. Files are uploaded from the simulation
 18529  // job to a location you specify.
 18530  type UploadConfiguration struct {
 18531  	_ struct{} `type:"structure"`
 18532  
 18533  	// A prefix that specifies where files will be uploaded in Amazon S3. It is
 18534  	// appended to the simulation output location to determine the final path.
 18535  	//
 18536  	// For example, if your simulation output location is s3://my-bucket and your
 18537  	// upload configuration name is robot-test, your files will be uploaded to s3://my-bucket/<simid>/<runid>/robot-test.
 18538  	//
 18539  	// Name is a required field
 18540  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 18541  
 18542  	// Specifies the path of the file(s) to upload. Standard Unix glob matching
 18543  	// rules are accepted, with the addition of ** as a super asterisk. For example,
 18544  	// specifying /var/log/**.log causes all .log files in the /var/log directory
 18545  	// tree to be collected. For more examples, see Glob Library (https://github.com/gobwas/glob).
 18546  	//
 18547  	// Path is a required field
 18548  	Path *string `locationName:"path" min:"1" type:"string" required:"true"`
 18549  
 18550  	// Specifies when to upload the files:
 18551  	//
 18552  	// UPLOAD_ON_TERMINATE
 18553  	//
 18554  	// Matching files are uploaded once the simulation enters the TERMINATING state.
 18555  	// Matching files are not uploaded until all of your code (including tools)
 18556  	// have stopped.
 18557  	//
 18558  	// If there is a problem uploading a file, the upload is retried. If problems
 18559  	// persist, no further upload attempts will be made.
 18560  	//
 18561  	// UPLOAD_ROLLING_AUTO_REMOVE
 18562  	//
 18563  	// Matching files are uploaded as they are created. They are deleted after they
 18564  	// are uploaded. The specified path is checked every 5 seconds. A final check
 18565  	// is made when all of your code (including tools) have stopped.
 18566  	//
 18567  	// UploadBehavior is a required field
 18568  	UploadBehavior *string `locationName:"uploadBehavior" type:"string" required:"true" enum:"UploadBehavior"`
 18569  }
 18570  
 18571  // String returns the string representation.
 18572  //
 18573  // API parameter values that are decorated as "sensitive" in the API will not
 18574  // be included in the string output. The member name will be present, but the
 18575  // value will be replaced with "sensitive".
 18576  func (s UploadConfiguration) String() string {
 18577  	return awsutil.Prettify(s)
 18578  }
 18579  
 18580  // GoString returns the string representation.
 18581  //
 18582  // API parameter values that are decorated as "sensitive" in the API will not
 18583  // be included in the string output. The member name will be present, but the
 18584  // value will be replaced with "sensitive".
 18585  func (s UploadConfiguration) GoString() string {
 18586  	return s.String()
 18587  }
 18588  
 18589  // Validate inspects the fields of the type to determine if they are valid.
 18590  func (s *UploadConfiguration) Validate() error {
 18591  	invalidParams := request.ErrInvalidParams{Context: "UploadConfiguration"}
 18592  	if s.Name == nil {
 18593  		invalidParams.Add(request.NewErrParamRequired("Name"))
 18594  	}
 18595  	if s.Name != nil && len(*s.Name) < 1 {
 18596  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 18597  	}
 18598  	if s.Path == nil {
 18599  		invalidParams.Add(request.NewErrParamRequired("Path"))
 18600  	}
 18601  	if s.Path != nil && len(*s.Path) < 1 {
 18602  		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
 18603  	}
 18604  	if s.UploadBehavior == nil {
 18605  		invalidParams.Add(request.NewErrParamRequired("UploadBehavior"))
 18606  	}
 18607  
 18608  	if invalidParams.Len() > 0 {
 18609  		return invalidParams
 18610  	}
 18611  	return nil
 18612  }
 18613  
 18614  // SetName sets the Name field's value.
 18615  func (s *UploadConfiguration) SetName(v string) *UploadConfiguration {
 18616  	s.Name = &v
 18617  	return s
 18618  }
 18619  
 18620  // SetPath sets the Path field's value.
 18621  func (s *UploadConfiguration) SetPath(v string) *UploadConfiguration {
 18622  	s.Path = &v
 18623  	return s
 18624  }
 18625  
 18626  // SetUploadBehavior sets the UploadBehavior field's value.
 18627  func (s *UploadConfiguration) SetUploadBehavior(v string) *UploadConfiguration {
 18628  	s.UploadBehavior = &v
 18629  	return s
 18630  }
 18631  
 18632  // If your simulation job accesses resources in a VPC, you provide this parameter
 18633  // identifying the list of security group IDs and subnet IDs. These must belong
 18634  // to the same VPC. You must provide at least one security group and two subnet
 18635  // IDs.
 18636  type VPCConfig struct {
 18637  	_ struct{} `type:"structure"`
 18638  
 18639  	// A boolean indicating whether to assign a public IP address.
 18640  	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
 18641  
 18642  	// A list of one or more security groups IDs in your VPC.
 18643  	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
 18644  
 18645  	// A list of one or more subnet IDs in your VPC.
 18646  	//
 18647  	// Subnets is a required field
 18648  	Subnets []*string `locationName:"subnets" min:"1" type:"list" required:"true"`
 18649  }
 18650  
 18651  // String returns the string representation.
 18652  //
 18653  // API parameter values that are decorated as "sensitive" in the API will not
 18654  // be included in the string output. The member name will be present, but the
 18655  // value will be replaced with "sensitive".
 18656  func (s VPCConfig) String() string {
 18657  	return awsutil.Prettify(s)
 18658  }
 18659  
 18660  // GoString returns the string representation.
 18661  //
 18662  // API parameter values that are decorated as "sensitive" in the API will not
 18663  // be included in the string output. The member name will be present, but the
 18664  // value will be replaced with "sensitive".
 18665  func (s VPCConfig) GoString() string {
 18666  	return s.String()
 18667  }
 18668  
 18669  // Validate inspects the fields of the type to determine if they are valid.
 18670  func (s *VPCConfig) Validate() error {
 18671  	invalidParams := request.ErrInvalidParams{Context: "VPCConfig"}
 18672  	if s.SecurityGroups != nil && len(s.SecurityGroups) < 1 {
 18673  		invalidParams.Add(request.NewErrParamMinLen("SecurityGroups", 1))
 18674  	}
 18675  	if s.Subnets == nil {
 18676  		invalidParams.Add(request.NewErrParamRequired("Subnets"))
 18677  	}
 18678  	if s.Subnets != nil && len(s.Subnets) < 1 {
 18679  		invalidParams.Add(request.NewErrParamMinLen("Subnets", 1))
 18680  	}
 18681  
 18682  	if invalidParams.Len() > 0 {
 18683  		return invalidParams
 18684  	}
 18685  	return nil
 18686  }
 18687  
 18688  // SetAssignPublicIp sets the AssignPublicIp field's value.
 18689  func (s *VPCConfig) SetAssignPublicIp(v bool) *VPCConfig {
 18690  	s.AssignPublicIp = &v
 18691  	return s
 18692  }
 18693  
 18694  // SetSecurityGroups sets the SecurityGroups field's value.
 18695  func (s *VPCConfig) SetSecurityGroups(v []*string) *VPCConfig {
 18696  	s.SecurityGroups = v
 18697  	return s
 18698  }
 18699  
 18700  // SetSubnets sets the Subnets field's value.
 18701  func (s *VPCConfig) SetSubnets(v []*string) *VPCConfig {
 18702  	s.Subnets = v
 18703  	return s
 18704  }
 18705  
 18706  // VPC configuration associated with your simulation job.
 18707  type VPCConfigResponse struct {
 18708  	_ struct{} `type:"structure"`
 18709  
 18710  	// A boolean indicating if a public IP was assigned.
 18711  	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
 18712  
 18713  	// A list of security group IDs associated with the simulation job.
 18714  	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
 18715  
 18716  	// A list of subnet IDs associated with the simulation job.
 18717  	Subnets []*string `locationName:"subnets" min:"1" type:"list"`
 18718  
 18719  	// The VPC ID associated with your simulation job.
 18720  	VpcId *string `locationName:"vpcId" type:"string"`
 18721  }
 18722  
 18723  // String returns the string representation.
 18724  //
 18725  // API parameter values that are decorated as "sensitive" in the API will not
 18726  // be included in the string output. The member name will be present, but the
 18727  // value will be replaced with "sensitive".
 18728  func (s VPCConfigResponse) String() string {
 18729  	return awsutil.Prettify(s)
 18730  }
 18731  
 18732  // GoString returns the string representation.
 18733  //
 18734  // API parameter values that are decorated as "sensitive" in the API will not
 18735  // be included in the string output. The member name will be present, but the
 18736  // value will be replaced with "sensitive".
 18737  func (s VPCConfigResponse) GoString() string {
 18738  	return s.String()
 18739  }
 18740  
 18741  // SetAssignPublicIp sets the AssignPublicIp field's value.
 18742  func (s *VPCConfigResponse) SetAssignPublicIp(v bool) *VPCConfigResponse {
 18743  	s.AssignPublicIp = &v
 18744  	return s
 18745  }
 18746  
 18747  // SetSecurityGroups sets the SecurityGroups field's value.
 18748  func (s *VPCConfigResponse) SetSecurityGroups(v []*string) *VPCConfigResponse {
 18749  	s.SecurityGroups = v
 18750  	return s
 18751  }
 18752  
 18753  // SetSubnets sets the Subnets field's value.
 18754  func (s *VPCConfigResponse) SetSubnets(v []*string) *VPCConfigResponse {
 18755  	s.Subnets = v
 18756  	return s
 18757  }
 18758  
 18759  // SetVpcId sets the VpcId field's value.
 18760  func (s *VPCConfigResponse) SetVpcId(v string) *VPCConfigResponse {
 18761  	s.VpcId = &v
 18762  	return s
 18763  }
 18764  
 18765  // Configuration information for a world.
 18766  type WorldConfig struct {
 18767  	_ struct{} `type:"structure"`
 18768  
 18769  	// The world generated by Simulation WorldForge.
 18770  	World *string `locationName:"world" min:"1" type:"string"`
 18771  }
 18772  
 18773  // String returns the string representation.
 18774  //
 18775  // API parameter values that are decorated as "sensitive" in the API will not
 18776  // be included in the string output. The member name will be present, but the
 18777  // value will be replaced with "sensitive".
 18778  func (s WorldConfig) String() string {
 18779  	return awsutil.Prettify(s)
 18780  }
 18781  
 18782  // GoString returns the string representation.
 18783  //
 18784  // API parameter values that are decorated as "sensitive" in the API will not
 18785  // be included in the string output. The member name will be present, but the
 18786  // value will be replaced with "sensitive".
 18787  func (s WorldConfig) GoString() string {
 18788  	return s.String()
 18789  }
 18790  
 18791  // Validate inspects the fields of the type to determine if they are valid.
 18792  func (s *WorldConfig) Validate() error {
 18793  	invalidParams := request.ErrInvalidParams{Context: "WorldConfig"}
 18794  	if s.World != nil && len(*s.World) < 1 {
 18795  		invalidParams.Add(request.NewErrParamMinLen("World", 1))
 18796  	}
 18797  
 18798  	if invalidParams.Len() > 0 {
 18799  		return invalidParams
 18800  	}
 18801  	return nil
 18802  }
 18803  
 18804  // SetWorld sets the World field's value.
 18805  func (s *WorldConfig) SetWorld(v string) *WorldConfig {
 18806  	s.World = &v
 18807  	return s
 18808  }
 18809  
 18810  // The number of worlds that will be created. You can configure the number of
 18811  // unique floorplans and the number of unique interiors for each floor plan.
 18812  // For example, if you want 1 world with 20 unique interiors, you set floorplanCount
 18813  // = 1 and interiorCountPerFloorplan = 20. This will result in 20 worlds (floorplanCount
 18814  // * interiorCountPerFloorplan).
 18815  //
 18816  // If you set floorplanCount = 4 and interiorCountPerFloorplan = 5, there will
 18817  // be 20 worlds with 5 unique floor plans.
 18818  type WorldCount struct {
 18819  	_ struct{} `type:"structure"`
 18820  
 18821  	// The number of unique floorplans.
 18822  	FloorplanCount *int64 `locationName:"floorplanCount" type:"integer"`
 18823  
 18824  	// The number of unique interiors per floorplan.
 18825  	InteriorCountPerFloorplan *int64 `locationName:"interiorCountPerFloorplan" type:"integer"`
 18826  }
 18827  
 18828  // String returns the string representation.
 18829  //
 18830  // API parameter values that are decorated as "sensitive" in the API will not
 18831  // be included in the string output. The member name will be present, but the
 18832  // value will be replaced with "sensitive".
 18833  func (s WorldCount) String() string {
 18834  	return awsutil.Prettify(s)
 18835  }
 18836  
 18837  // GoString returns the string representation.
 18838  //
 18839  // API parameter values that are decorated as "sensitive" in the API will not
 18840  // be included in the string output. The member name will be present, but the
 18841  // value will be replaced with "sensitive".
 18842  func (s WorldCount) GoString() string {
 18843  	return s.String()
 18844  }
 18845  
 18846  // SetFloorplanCount sets the FloorplanCount field's value.
 18847  func (s *WorldCount) SetFloorplanCount(v int64) *WorldCount {
 18848  	s.FloorplanCount = &v
 18849  	return s
 18850  }
 18851  
 18852  // SetInteriorCountPerFloorplan sets the InteriorCountPerFloorplan field's value.
 18853  func (s *WorldCount) SetInteriorCountPerFloorplan(v int64) *WorldCount {
 18854  	s.InteriorCountPerFloorplan = &v
 18855  	return s
 18856  }
 18857  
 18858  // Information about a world export job.
 18859  type WorldExportJobSummary struct {
 18860  	_ struct{} `type:"structure"`
 18861  
 18862  	// The Amazon Resource Name (ARN) of the world export job.
 18863  	Arn *string `locationName:"arn" min:"1" type:"string"`
 18864  
 18865  	// The time, in milliseconds since the epoch, when the world export job was
 18866  	// created.
 18867  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 18868  
 18869  	// The status of the world export job.
 18870  	//
 18871  	// Pending
 18872  	//
 18873  	// The world export job request is pending.
 18874  	//
 18875  	// Running
 18876  	//
 18877  	// The world export job is running.
 18878  	//
 18879  	// Completed
 18880  	//
 18881  	// The world export job completed.
 18882  	//
 18883  	// Failed
 18884  	//
 18885  	// The world export job failed. See failureCode for more information.
 18886  	//
 18887  	// Canceled
 18888  	//
 18889  	// The world export job was cancelled.
 18890  	//
 18891  	// Canceling
 18892  	//
 18893  	// The world export job is being cancelled.
 18894  	Status *string `locationName:"status" type:"string" enum:"WorldExportJobStatus"`
 18895  
 18896  	// A list of worlds.
 18897  	Worlds []*string `locationName:"worlds" min:"1" type:"list"`
 18898  }
 18899  
 18900  // String returns the string representation.
 18901  //
 18902  // API parameter values that are decorated as "sensitive" in the API will not
 18903  // be included in the string output. The member name will be present, but the
 18904  // value will be replaced with "sensitive".
 18905  func (s WorldExportJobSummary) String() string {
 18906  	return awsutil.Prettify(s)
 18907  }
 18908  
 18909  // GoString returns the string representation.
 18910  //
 18911  // API parameter values that are decorated as "sensitive" in the API will not
 18912  // be included in the string output. The member name will be present, but the
 18913  // value will be replaced with "sensitive".
 18914  func (s WorldExportJobSummary) GoString() string {
 18915  	return s.String()
 18916  }
 18917  
 18918  // SetArn sets the Arn field's value.
 18919  func (s *WorldExportJobSummary) SetArn(v string) *WorldExportJobSummary {
 18920  	s.Arn = &v
 18921  	return s
 18922  }
 18923  
 18924  // SetCreatedAt sets the CreatedAt field's value.
 18925  func (s *WorldExportJobSummary) SetCreatedAt(v time.Time) *WorldExportJobSummary {
 18926  	s.CreatedAt = &v
 18927  	return s
 18928  }
 18929  
 18930  // SetStatus sets the Status field's value.
 18931  func (s *WorldExportJobSummary) SetStatus(v string) *WorldExportJobSummary {
 18932  	s.Status = &v
 18933  	return s
 18934  }
 18935  
 18936  // SetWorlds sets the Worlds field's value.
 18937  func (s *WorldExportJobSummary) SetWorlds(v []*string) *WorldExportJobSummary {
 18938  	s.Worlds = v
 18939  	return s
 18940  }
 18941  
 18942  // Information about a failed world.
 18943  type WorldFailure struct {
 18944  	_ struct{} `type:"structure"`
 18945  
 18946  	// The failure code of the world export job if it failed:
 18947  	//
 18948  	// InternalServiceError
 18949  	//
 18950  	// Internal service error.
 18951  	//
 18952  	// LimitExceeded
 18953  	//
 18954  	// The requested resource exceeds the maximum number allowed, or the number
 18955  	// of concurrent stream requests exceeds the maximum number allowed.
 18956  	//
 18957  	// ResourceNotFound
 18958  	//
 18959  	// The specified resource could not be found.
 18960  	//
 18961  	// RequestThrottled
 18962  	//
 18963  	// The request was throttled.
 18964  	//
 18965  	// InvalidInput
 18966  	//
 18967  	// An input parameter in the request is not valid.
 18968  	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldGenerationJobErrorCode"`
 18969  
 18970  	// The number of failed worlds.
 18971  	FailureCount *int64 `locationName:"failureCount" type:"integer"`
 18972  
 18973  	// The sample reason why the world failed. World errors are aggregated. A sample
 18974  	// is used as the sampleFailureReason.
 18975  	SampleFailureReason *string `locationName:"sampleFailureReason" type:"string"`
 18976  }
 18977  
 18978  // String returns the string representation.
 18979  //
 18980  // API parameter values that are decorated as "sensitive" in the API will not
 18981  // be included in the string output. The member name will be present, but the
 18982  // value will be replaced with "sensitive".
 18983  func (s WorldFailure) String() string {
 18984  	return awsutil.Prettify(s)
 18985  }
 18986  
 18987  // GoString returns the string representation.
 18988  //
 18989  // API parameter values that are decorated as "sensitive" in the API will not
 18990  // be included in the string output. The member name will be present, but the
 18991  // value will be replaced with "sensitive".
 18992  func (s WorldFailure) GoString() string {
 18993  	return s.String()
 18994  }
 18995  
 18996  // SetFailureCode sets the FailureCode field's value.
 18997  func (s *WorldFailure) SetFailureCode(v string) *WorldFailure {
 18998  	s.FailureCode = &v
 18999  	return s
 19000  }
 19001  
 19002  // SetFailureCount sets the FailureCount field's value.
 19003  func (s *WorldFailure) SetFailureCount(v int64) *WorldFailure {
 19004  	s.FailureCount = &v
 19005  	return s
 19006  }
 19007  
 19008  // SetSampleFailureReason sets the SampleFailureReason field's value.
 19009  func (s *WorldFailure) SetSampleFailureReason(v string) *WorldFailure {
 19010  	s.SampleFailureReason = &v
 19011  	return s
 19012  }
 19013  
 19014  // Information about a world generator job.
 19015  type WorldGenerationJobSummary struct {
 19016  	_ struct{} `type:"structure"`
 19017  
 19018  	// The Amazon Resource Name (ARN) of the world generator job.
 19019  	Arn *string `locationName:"arn" min:"1" type:"string"`
 19020  
 19021  	// The time, in milliseconds since the epoch, when the world generator job was
 19022  	// created.
 19023  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19024  
 19025  	// The number of worlds that failed.
 19026  	FailedWorldCount *int64 `locationName:"failedWorldCount" type:"integer"`
 19027  
 19028  	// The status of the world generator job:
 19029  	//
 19030  	// Pending
 19031  	//
 19032  	// The world generator job request is pending.
 19033  	//
 19034  	// Running
 19035  	//
 19036  	// The world generator job is running.
 19037  	//
 19038  	// Completed
 19039  	//
 19040  	// The world generator job completed.
 19041  	//
 19042  	// Failed
 19043  	//
 19044  	// The world generator job failed. See failureCode for more information.
 19045  	//
 19046  	// PartialFailed
 19047  	//
 19048  	// Some worlds did not generate.
 19049  	//
 19050  	// Canceled
 19051  	//
 19052  	// The world generator job was cancelled.
 19053  	//
 19054  	// Canceling
 19055  	//
 19056  	// The world generator job is being cancelled.
 19057  	Status *string `locationName:"status" type:"string" enum:"WorldGenerationJobStatus"`
 19058  
 19059  	// The number of worlds that were generated.
 19060  	SucceededWorldCount *int64 `locationName:"succeededWorldCount" type:"integer"`
 19061  
 19062  	// The Amazon Resource Name (arn) of the world template.
 19063  	Template *string `locationName:"template" min:"1" type:"string"`
 19064  
 19065  	// Information about the world count.
 19066  	WorldCount *WorldCount `locationName:"worldCount" type:"structure"`
 19067  }
 19068  
 19069  // String returns the string representation.
 19070  //
 19071  // API parameter values that are decorated as "sensitive" in the API will not
 19072  // be included in the string output. The member name will be present, but the
 19073  // value will be replaced with "sensitive".
 19074  func (s WorldGenerationJobSummary) String() string {
 19075  	return awsutil.Prettify(s)
 19076  }
 19077  
 19078  // GoString returns the string representation.
 19079  //
 19080  // API parameter values that are decorated as "sensitive" in the API will not
 19081  // be included in the string output. The member name will be present, but the
 19082  // value will be replaced with "sensitive".
 19083  func (s WorldGenerationJobSummary) GoString() string {
 19084  	return s.String()
 19085  }
 19086  
 19087  // SetArn sets the Arn field's value.
 19088  func (s *WorldGenerationJobSummary) SetArn(v string) *WorldGenerationJobSummary {
 19089  	s.Arn = &v
 19090  	return s
 19091  }
 19092  
 19093  // SetCreatedAt sets the CreatedAt field's value.
 19094  func (s *WorldGenerationJobSummary) SetCreatedAt(v time.Time) *WorldGenerationJobSummary {
 19095  	s.CreatedAt = &v
 19096  	return s
 19097  }
 19098  
 19099  // SetFailedWorldCount sets the FailedWorldCount field's value.
 19100  func (s *WorldGenerationJobSummary) SetFailedWorldCount(v int64) *WorldGenerationJobSummary {
 19101  	s.FailedWorldCount = &v
 19102  	return s
 19103  }
 19104  
 19105  // SetStatus sets the Status field's value.
 19106  func (s *WorldGenerationJobSummary) SetStatus(v string) *WorldGenerationJobSummary {
 19107  	s.Status = &v
 19108  	return s
 19109  }
 19110  
 19111  // SetSucceededWorldCount sets the SucceededWorldCount field's value.
 19112  func (s *WorldGenerationJobSummary) SetSucceededWorldCount(v int64) *WorldGenerationJobSummary {
 19113  	s.SucceededWorldCount = &v
 19114  	return s
 19115  }
 19116  
 19117  // SetTemplate sets the Template field's value.
 19118  func (s *WorldGenerationJobSummary) SetTemplate(v string) *WorldGenerationJobSummary {
 19119  	s.Template = &v
 19120  	return s
 19121  }
 19122  
 19123  // SetWorldCount sets the WorldCount field's value.
 19124  func (s *WorldGenerationJobSummary) SetWorldCount(v *WorldCount) *WorldGenerationJobSummary {
 19125  	s.WorldCount = v
 19126  	return s
 19127  }
 19128  
 19129  // Information about a world.
 19130  type WorldSummary struct {
 19131  	_ struct{} `type:"structure"`
 19132  
 19133  	// The Amazon Resource Name (ARN) of the world.
 19134  	Arn *string `locationName:"arn" min:"1" type:"string"`
 19135  
 19136  	// The time, in milliseconds since the epoch, when the world was created.
 19137  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 19138  
 19139  	// The Amazon Resource Name (arn) of the world generation job.
 19140  	GenerationJob *string `locationName:"generationJob" min:"1" type:"string"`
 19141  
 19142  	// The Amazon Resource Name (arn) of the world template.
 19143  	Template *string `locationName:"template" min:"1" type:"string"`
 19144  }
 19145  
 19146  // String returns the string representation.
 19147  //
 19148  // API parameter values that are decorated as "sensitive" in the API will not
 19149  // be included in the string output. The member name will be present, but the
 19150  // value will be replaced with "sensitive".
 19151  func (s WorldSummary) String() string {
 19152  	return awsutil.Prettify(s)
 19153  }
 19154  
 19155  // GoString returns the string representation.
 19156  //
 19157  // API parameter values that are decorated as "sensitive" in the API will not
 19158  // be included in the string output. The member name will be present, but the
 19159  // value will be replaced with "sensitive".
 19160  func (s WorldSummary) GoString() string {
 19161  	return s.String()
 19162  }
 19163  
 19164  // SetArn sets the Arn field's value.
 19165  func (s *WorldSummary) SetArn(v string) *WorldSummary {
 19166  	s.Arn = &v
 19167  	return s
 19168  }
 19169  
 19170  // SetCreatedAt sets the CreatedAt field's value.
 19171  func (s *WorldSummary) SetCreatedAt(v time.Time) *WorldSummary {
 19172  	s.CreatedAt = &v
 19173  	return s
 19174  }
 19175  
 19176  // SetGenerationJob sets the GenerationJob field's value.
 19177  func (s *WorldSummary) SetGenerationJob(v string) *WorldSummary {
 19178  	s.GenerationJob = &v
 19179  	return s
 19180  }
 19181  
 19182  // SetTemplate sets the Template field's value.
 19183  func (s *WorldSummary) SetTemplate(v string) *WorldSummary {
 19184  	s.Template = &v
 19185  	return s
 19186  }
 19187  
 19188  const (
 19189  	// ArchitectureX8664 is a Architecture enum value
 19190  	ArchitectureX8664 = "X86_64"
 19191  
 19192  	// ArchitectureArm64 is a Architecture enum value
 19193  	ArchitectureArm64 = "ARM64"
 19194  
 19195  	// ArchitectureArmhf is a Architecture enum value
 19196  	ArchitectureArmhf = "ARMHF"
 19197  )
 19198  
 19199  // Architecture_Values returns all elements of the Architecture enum
 19200  func Architecture_Values() []string {
 19201  	return []string{
 19202  		ArchitectureX8664,
 19203  		ArchitectureArm64,
 19204  		ArchitectureArmhf,
 19205  	}
 19206  }
 19207  
 19208  const (
 19209  	// DeploymentJobErrorCodeResourceNotFound is a DeploymentJobErrorCode enum value
 19210  	DeploymentJobErrorCodeResourceNotFound = "ResourceNotFound"
 19211  
 19212  	// DeploymentJobErrorCodeEnvironmentSetupError is a DeploymentJobErrorCode enum value
 19213  	DeploymentJobErrorCodeEnvironmentSetupError = "EnvironmentSetupError"
 19214  
 19215  	// DeploymentJobErrorCodeEtagMismatch is a DeploymentJobErrorCode enum value
 19216  	DeploymentJobErrorCodeEtagMismatch = "EtagMismatch"
 19217  
 19218  	// DeploymentJobErrorCodeFailureThresholdBreached is a DeploymentJobErrorCode enum value
 19219  	DeploymentJobErrorCodeFailureThresholdBreached = "FailureThresholdBreached"
 19220  
 19221  	// DeploymentJobErrorCodeRobotDeploymentAborted is a DeploymentJobErrorCode enum value
 19222  	DeploymentJobErrorCodeRobotDeploymentAborted = "RobotDeploymentAborted"
 19223  
 19224  	// DeploymentJobErrorCodeRobotDeploymentNoResponse is a DeploymentJobErrorCode enum value
 19225  	DeploymentJobErrorCodeRobotDeploymentNoResponse = "RobotDeploymentNoResponse"
 19226  
 19227  	// DeploymentJobErrorCodeRobotAgentConnectionTimeout is a DeploymentJobErrorCode enum value
 19228  	DeploymentJobErrorCodeRobotAgentConnectionTimeout = "RobotAgentConnectionTimeout"
 19229  
 19230  	// DeploymentJobErrorCodeGreengrassDeploymentFailed is a DeploymentJobErrorCode enum value
 19231  	DeploymentJobErrorCodeGreengrassDeploymentFailed = "GreengrassDeploymentFailed"
 19232  
 19233  	// DeploymentJobErrorCodeInvalidGreengrassGroup is a DeploymentJobErrorCode enum value
 19234  	DeploymentJobErrorCodeInvalidGreengrassGroup = "InvalidGreengrassGroup"
 19235  
 19236  	// DeploymentJobErrorCodeMissingRobotArchitecture is a DeploymentJobErrorCode enum value
 19237  	DeploymentJobErrorCodeMissingRobotArchitecture = "MissingRobotArchitecture"
 19238  
 19239  	// DeploymentJobErrorCodeMissingRobotApplicationArchitecture is a DeploymentJobErrorCode enum value
 19240  	DeploymentJobErrorCodeMissingRobotApplicationArchitecture = "MissingRobotApplicationArchitecture"
 19241  
 19242  	// DeploymentJobErrorCodeMissingRobotDeploymentResource is a DeploymentJobErrorCode enum value
 19243  	DeploymentJobErrorCodeMissingRobotDeploymentResource = "MissingRobotDeploymentResource"
 19244  
 19245  	// DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist is a DeploymentJobErrorCode enum value
 19246  	DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist = "GreengrassGroupVersionDoesNotExist"
 19247  
 19248  	// DeploymentJobErrorCodeLambdaDeleted is a DeploymentJobErrorCode enum value
 19249  	DeploymentJobErrorCodeLambdaDeleted = "LambdaDeleted"
 19250  
 19251  	// DeploymentJobErrorCodeExtractingBundleFailure is a DeploymentJobErrorCode enum value
 19252  	DeploymentJobErrorCodeExtractingBundleFailure = "ExtractingBundleFailure"
 19253  
 19254  	// DeploymentJobErrorCodePreLaunchFileFailure is a DeploymentJobErrorCode enum value
 19255  	DeploymentJobErrorCodePreLaunchFileFailure = "PreLaunchFileFailure"
 19256  
 19257  	// DeploymentJobErrorCodePostLaunchFileFailure is a DeploymentJobErrorCode enum value
 19258  	DeploymentJobErrorCodePostLaunchFileFailure = "PostLaunchFileFailure"
 19259  
 19260  	// DeploymentJobErrorCodeBadPermissionError is a DeploymentJobErrorCode enum value
 19261  	DeploymentJobErrorCodeBadPermissionError = "BadPermissionError"
 19262  
 19263  	// DeploymentJobErrorCodeDownloadConditionFailed is a DeploymentJobErrorCode enum value
 19264  	DeploymentJobErrorCodeDownloadConditionFailed = "DownloadConditionFailed"
 19265  
 19266  	// DeploymentJobErrorCodeBadLambdaAssociated is a DeploymentJobErrorCode enum value
 19267  	DeploymentJobErrorCodeBadLambdaAssociated = "BadLambdaAssociated"
 19268  
 19269  	// DeploymentJobErrorCodeInternalServerError is a DeploymentJobErrorCode enum value
 19270  	DeploymentJobErrorCodeInternalServerError = "InternalServerError"
 19271  
 19272  	// DeploymentJobErrorCodeRobotApplicationDoesNotExist is a DeploymentJobErrorCode enum value
 19273  	DeploymentJobErrorCodeRobotApplicationDoesNotExist = "RobotApplicationDoesNotExist"
 19274  
 19275  	// DeploymentJobErrorCodeDeploymentFleetDoesNotExist is a DeploymentJobErrorCode enum value
 19276  	DeploymentJobErrorCodeDeploymentFleetDoesNotExist = "DeploymentFleetDoesNotExist"
 19277  
 19278  	// DeploymentJobErrorCodeFleetDeploymentTimeout is a DeploymentJobErrorCode enum value
 19279  	DeploymentJobErrorCodeFleetDeploymentTimeout = "FleetDeploymentTimeout"
 19280  )
 19281  
 19282  // DeploymentJobErrorCode_Values returns all elements of the DeploymentJobErrorCode enum
 19283  func DeploymentJobErrorCode_Values() []string {
 19284  	return []string{
 19285  		DeploymentJobErrorCodeResourceNotFound,
 19286  		DeploymentJobErrorCodeEnvironmentSetupError,
 19287  		DeploymentJobErrorCodeEtagMismatch,
 19288  		DeploymentJobErrorCodeFailureThresholdBreached,
 19289  		DeploymentJobErrorCodeRobotDeploymentAborted,
 19290  		DeploymentJobErrorCodeRobotDeploymentNoResponse,
 19291  		DeploymentJobErrorCodeRobotAgentConnectionTimeout,
 19292  		DeploymentJobErrorCodeGreengrassDeploymentFailed,
 19293  		DeploymentJobErrorCodeInvalidGreengrassGroup,
 19294  		DeploymentJobErrorCodeMissingRobotArchitecture,
 19295  		DeploymentJobErrorCodeMissingRobotApplicationArchitecture,
 19296  		DeploymentJobErrorCodeMissingRobotDeploymentResource,
 19297  		DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist,
 19298  		DeploymentJobErrorCodeLambdaDeleted,
 19299  		DeploymentJobErrorCodeExtractingBundleFailure,
 19300  		DeploymentJobErrorCodePreLaunchFileFailure,
 19301  		DeploymentJobErrorCodePostLaunchFileFailure,
 19302  		DeploymentJobErrorCodeBadPermissionError,
 19303  		DeploymentJobErrorCodeDownloadConditionFailed,
 19304  		DeploymentJobErrorCodeBadLambdaAssociated,
 19305  		DeploymentJobErrorCodeInternalServerError,
 19306  		DeploymentJobErrorCodeRobotApplicationDoesNotExist,
 19307  		DeploymentJobErrorCodeDeploymentFleetDoesNotExist,
 19308  		DeploymentJobErrorCodeFleetDeploymentTimeout,
 19309  	}
 19310  }
 19311  
 19312  const (
 19313  	// DeploymentStatusPending is a DeploymentStatus enum value
 19314  	DeploymentStatusPending = "Pending"
 19315  
 19316  	// DeploymentStatusPreparing is a DeploymentStatus enum value
 19317  	DeploymentStatusPreparing = "Preparing"
 19318  
 19319  	// DeploymentStatusInProgress is a DeploymentStatus enum value
 19320  	DeploymentStatusInProgress = "InProgress"
 19321  
 19322  	// DeploymentStatusFailed is a DeploymentStatus enum value
 19323  	DeploymentStatusFailed = "Failed"
 19324  
 19325  	// DeploymentStatusSucceeded is a DeploymentStatus enum value
 19326  	DeploymentStatusSucceeded = "Succeeded"
 19327  
 19328  	// DeploymentStatusCanceled is a DeploymentStatus enum value
 19329  	DeploymentStatusCanceled = "Canceled"
 19330  )
 19331  
 19332  // DeploymentStatus_Values returns all elements of the DeploymentStatus enum
 19333  func DeploymentStatus_Values() []string {
 19334  	return []string{
 19335  		DeploymentStatusPending,
 19336  		DeploymentStatusPreparing,
 19337  		DeploymentStatusInProgress,
 19338  		DeploymentStatusFailed,
 19339  		DeploymentStatusSucceeded,
 19340  		DeploymentStatusCanceled,
 19341  	}
 19342  }
 19343  
 19344  const (
 19345  	// ExitBehaviorFail is a ExitBehavior enum value
 19346  	ExitBehaviorFail = "FAIL"
 19347  
 19348  	// ExitBehaviorRestart is a ExitBehavior enum value
 19349  	ExitBehaviorRestart = "RESTART"
 19350  )
 19351  
 19352  // ExitBehavior_Values returns all elements of the ExitBehavior enum
 19353  func ExitBehavior_Values() []string {
 19354  	return []string{
 19355  		ExitBehaviorFail,
 19356  		ExitBehaviorRestart,
 19357  	}
 19358  }
 19359  
 19360  const (
 19361  	// FailureBehaviorFail is a FailureBehavior enum value
 19362  	FailureBehaviorFail = "Fail"
 19363  
 19364  	// FailureBehaviorContinue is a FailureBehavior enum value
 19365  	FailureBehaviorContinue = "Continue"
 19366  )
 19367  
 19368  // FailureBehavior_Values returns all elements of the FailureBehavior enum
 19369  func FailureBehavior_Values() []string {
 19370  	return []string{
 19371  		FailureBehaviorFail,
 19372  		FailureBehaviorContinue,
 19373  	}
 19374  }
 19375  
 19376  const (
 19377  	// RenderingEngineTypeOgre is a RenderingEngineType enum value
 19378  	RenderingEngineTypeOgre = "OGRE"
 19379  )
 19380  
 19381  // RenderingEngineType_Values returns all elements of the RenderingEngineType enum
 19382  func RenderingEngineType_Values() []string {
 19383  	return []string{
 19384  		RenderingEngineTypeOgre,
 19385  	}
 19386  }
 19387  
 19388  const (
 19389  	// RobotDeploymentStepValidating is a RobotDeploymentStep enum value
 19390  	RobotDeploymentStepValidating = "Validating"
 19391  
 19392  	// RobotDeploymentStepDownloadingExtracting is a RobotDeploymentStep enum value
 19393  	RobotDeploymentStepDownloadingExtracting = "DownloadingExtracting"
 19394  
 19395  	// RobotDeploymentStepExecutingDownloadCondition is a RobotDeploymentStep enum value
 19396  	RobotDeploymentStepExecutingDownloadCondition = "ExecutingDownloadCondition"
 19397  
 19398  	// RobotDeploymentStepExecutingPreLaunch is a RobotDeploymentStep enum value
 19399  	RobotDeploymentStepExecutingPreLaunch = "ExecutingPreLaunch"
 19400  
 19401  	// RobotDeploymentStepLaunching is a RobotDeploymentStep enum value
 19402  	RobotDeploymentStepLaunching = "Launching"
 19403  
 19404  	// RobotDeploymentStepExecutingPostLaunch is a RobotDeploymentStep enum value
 19405  	RobotDeploymentStepExecutingPostLaunch = "ExecutingPostLaunch"
 19406  
 19407  	// RobotDeploymentStepFinished is a RobotDeploymentStep enum value
 19408  	RobotDeploymentStepFinished = "Finished"
 19409  )
 19410  
 19411  // RobotDeploymentStep_Values returns all elements of the RobotDeploymentStep enum
 19412  func RobotDeploymentStep_Values() []string {
 19413  	return []string{
 19414  		RobotDeploymentStepValidating,
 19415  		RobotDeploymentStepDownloadingExtracting,
 19416  		RobotDeploymentStepExecutingDownloadCondition,
 19417  		RobotDeploymentStepExecutingPreLaunch,
 19418  		RobotDeploymentStepLaunching,
 19419  		RobotDeploymentStepExecutingPostLaunch,
 19420  		RobotDeploymentStepFinished,
 19421  	}
 19422  }
 19423  
 19424  const (
 19425  	// RobotSoftwareSuiteTypeRos is a RobotSoftwareSuiteType enum value
 19426  	RobotSoftwareSuiteTypeRos = "ROS"
 19427  
 19428  	// RobotSoftwareSuiteTypeRos2 is a RobotSoftwareSuiteType enum value
 19429  	RobotSoftwareSuiteTypeRos2 = "ROS2"
 19430  )
 19431  
 19432  // RobotSoftwareSuiteType_Values returns all elements of the RobotSoftwareSuiteType enum
 19433  func RobotSoftwareSuiteType_Values() []string {
 19434  	return []string{
 19435  		RobotSoftwareSuiteTypeRos,
 19436  		RobotSoftwareSuiteTypeRos2,
 19437  	}
 19438  }
 19439  
 19440  const (
 19441  	// RobotSoftwareSuiteVersionTypeKinetic is a RobotSoftwareSuiteVersionType enum value
 19442  	RobotSoftwareSuiteVersionTypeKinetic = "Kinetic"
 19443  
 19444  	// RobotSoftwareSuiteVersionTypeMelodic is a RobotSoftwareSuiteVersionType enum value
 19445  	RobotSoftwareSuiteVersionTypeMelodic = "Melodic"
 19446  
 19447  	// RobotSoftwareSuiteVersionTypeDashing is a RobotSoftwareSuiteVersionType enum value
 19448  	RobotSoftwareSuiteVersionTypeDashing = "Dashing"
 19449  
 19450  	// RobotSoftwareSuiteVersionTypeFoxy is a RobotSoftwareSuiteVersionType enum value
 19451  	RobotSoftwareSuiteVersionTypeFoxy = "Foxy"
 19452  )
 19453  
 19454  // RobotSoftwareSuiteVersionType_Values returns all elements of the RobotSoftwareSuiteVersionType enum
 19455  func RobotSoftwareSuiteVersionType_Values() []string {
 19456  	return []string{
 19457  		RobotSoftwareSuiteVersionTypeKinetic,
 19458  		RobotSoftwareSuiteVersionTypeMelodic,
 19459  		RobotSoftwareSuiteVersionTypeDashing,
 19460  		RobotSoftwareSuiteVersionTypeFoxy,
 19461  	}
 19462  }
 19463  
 19464  const (
 19465  	// RobotStatusAvailable is a RobotStatus enum value
 19466  	RobotStatusAvailable = "Available"
 19467  
 19468  	// RobotStatusRegistered is a RobotStatus enum value
 19469  	RobotStatusRegistered = "Registered"
 19470  
 19471  	// RobotStatusPendingNewDeployment is a RobotStatus enum value
 19472  	RobotStatusPendingNewDeployment = "PendingNewDeployment"
 19473  
 19474  	// RobotStatusDeploying is a RobotStatus enum value
 19475  	RobotStatusDeploying = "Deploying"
 19476  
 19477  	// RobotStatusFailed is a RobotStatus enum value
 19478  	RobotStatusFailed = "Failed"
 19479  
 19480  	// RobotStatusInSync is a RobotStatus enum value
 19481  	RobotStatusInSync = "InSync"
 19482  
 19483  	// RobotStatusNoResponse is a RobotStatus enum value
 19484  	RobotStatusNoResponse = "NoResponse"
 19485  )
 19486  
 19487  // RobotStatus_Values returns all elements of the RobotStatus enum
 19488  func RobotStatus_Values() []string {
 19489  	return []string{
 19490  		RobotStatusAvailable,
 19491  		RobotStatusRegistered,
 19492  		RobotStatusPendingNewDeployment,
 19493  		RobotStatusDeploying,
 19494  		RobotStatusFailed,
 19495  		RobotStatusInSync,
 19496  		RobotStatusNoResponse,
 19497  	}
 19498  }
 19499  
 19500  const (
 19501  	// SimulationJobBatchErrorCodeInternalServiceError is a SimulationJobBatchErrorCode enum value
 19502  	SimulationJobBatchErrorCodeInternalServiceError = "InternalServiceError"
 19503  )
 19504  
 19505  // SimulationJobBatchErrorCode_Values returns all elements of the SimulationJobBatchErrorCode enum
 19506  func SimulationJobBatchErrorCode_Values() []string {
 19507  	return []string{
 19508  		SimulationJobBatchErrorCodeInternalServiceError,
 19509  	}
 19510  }
 19511  
 19512  const (
 19513  	// SimulationJobBatchStatusPending is a SimulationJobBatchStatus enum value
 19514  	SimulationJobBatchStatusPending = "Pending"
 19515  
 19516  	// SimulationJobBatchStatusInProgress is a SimulationJobBatchStatus enum value
 19517  	SimulationJobBatchStatusInProgress = "InProgress"
 19518  
 19519  	// SimulationJobBatchStatusFailed is a SimulationJobBatchStatus enum value
 19520  	SimulationJobBatchStatusFailed = "Failed"
 19521  
 19522  	// SimulationJobBatchStatusCompleted is a SimulationJobBatchStatus enum value
 19523  	SimulationJobBatchStatusCompleted = "Completed"
 19524  
 19525  	// SimulationJobBatchStatusCanceled is a SimulationJobBatchStatus enum value
 19526  	SimulationJobBatchStatusCanceled = "Canceled"
 19527  
 19528  	// SimulationJobBatchStatusCanceling is a SimulationJobBatchStatus enum value
 19529  	SimulationJobBatchStatusCanceling = "Canceling"
 19530  
 19531  	// SimulationJobBatchStatusCompleting is a SimulationJobBatchStatus enum value
 19532  	SimulationJobBatchStatusCompleting = "Completing"
 19533  
 19534  	// SimulationJobBatchStatusTimingOut is a SimulationJobBatchStatus enum value
 19535  	SimulationJobBatchStatusTimingOut = "TimingOut"
 19536  
 19537  	// SimulationJobBatchStatusTimedOut is a SimulationJobBatchStatus enum value
 19538  	SimulationJobBatchStatusTimedOut = "TimedOut"
 19539  )
 19540  
 19541  // SimulationJobBatchStatus_Values returns all elements of the SimulationJobBatchStatus enum
 19542  func SimulationJobBatchStatus_Values() []string {
 19543  	return []string{
 19544  		SimulationJobBatchStatusPending,
 19545  		SimulationJobBatchStatusInProgress,
 19546  		SimulationJobBatchStatusFailed,
 19547  		SimulationJobBatchStatusCompleted,
 19548  		SimulationJobBatchStatusCanceled,
 19549  		SimulationJobBatchStatusCanceling,
 19550  		SimulationJobBatchStatusCompleting,
 19551  		SimulationJobBatchStatusTimingOut,
 19552  		SimulationJobBatchStatusTimedOut,
 19553  	}
 19554  }
 19555  
 19556  const (
 19557  	// SimulationJobErrorCodeInternalServiceError is a SimulationJobErrorCode enum value
 19558  	SimulationJobErrorCodeInternalServiceError = "InternalServiceError"
 19559  
 19560  	// SimulationJobErrorCodeRobotApplicationCrash is a SimulationJobErrorCode enum value
 19561  	SimulationJobErrorCodeRobotApplicationCrash = "RobotApplicationCrash"
 19562  
 19563  	// SimulationJobErrorCodeSimulationApplicationCrash is a SimulationJobErrorCode enum value
 19564  	SimulationJobErrorCodeSimulationApplicationCrash = "SimulationApplicationCrash"
 19565  
 19566  	// SimulationJobErrorCodeRobotApplicationHealthCheckFailure is a SimulationJobErrorCode enum value
 19567  	SimulationJobErrorCodeRobotApplicationHealthCheckFailure = "RobotApplicationHealthCheckFailure"
 19568  
 19569  	// SimulationJobErrorCodeSimulationApplicationHealthCheckFailure is a SimulationJobErrorCode enum value
 19570  	SimulationJobErrorCodeSimulationApplicationHealthCheckFailure = "SimulationApplicationHealthCheckFailure"
 19571  
 19572  	// SimulationJobErrorCodeBadPermissionsRobotApplication is a SimulationJobErrorCode enum value
 19573  	SimulationJobErrorCodeBadPermissionsRobotApplication = "BadPermissionsRobotApplication"
 19574  
 19575  	// SimulationJobErrorCodeBadPermissionsSimulationApplication is a SimulationJobErrorCode enum value
 19576  	SimulationJobErrorCodeBadPermissionsSimulationApplication = "BadPermissionsSimulationApplication"
 19577  
 19578  	// SimulationJobErrorCodeBadPermissionsS3object is a SimulationJobErrorCode enum value
 19579  	SimulationJobErrorCodeBadPermissionsS3object = "BadPermissionsS3Object"
 19580  
 19581  	// SimulationJobErrorCodeBadPermissionsS3output is a SimulationJobErrorCode enum value
 19582  	SimulationJobErrorCodeBadPermissionsS3output = "BadPermissionsS3Output"
 19583  
 19584  	// SimulationJobErrorCodeBadPermissionsCloudwatchLogs is a SimulationJobErrorCode enum value
 19585  	SimulationJobErrorCodeBadPermissionsCloudwatchLogs = "BadPermissionsCloudwatchLogs"
 19586  
 19587  	// SimulationJobErrorCodeSubnetIpLimitExceeded is a SimulationJobErrorCode enum value
 19588  	SimulationJobErrorCodeSubnetIpLimitExceeded = "SubnetIpLimitExceeded"
 19589  
 19590  	// SimulationJobErrorCodeEnilimitExceeded is a SimulationJobErrorCode enum value
 19591  	SimulationJobErrorCodeEnilimitExceeded = "ENILimitExceeded"
 19592  
 19593  	// SimulationJobErrorCodeBadPermissionsUserCredentials is a SimulationJobErrorCode enum value
 19594  	SimulationJobErrorCodeBadPermissionsUserCredentials = "BadPermissionsUserCredentials"
 19595  
 19596  	// SimulationJobErrorCodeInvalidBundleRobotApplication is a SimulationJobErrorCode enum value
 19597  	SimulationJobErrorCodeInvalidBundleRobotApplication = "InvalidBundleRobotApplication"
 19598  
 19599  	// SimulationJobErrorCodeInvalidBundleSimulationApplication is a SimulationJobErrorCode enum value
 19600  	SimulationJobErrorCodeInvalidBundleSimulationApplication = "InvalidBundleSimulationApplication"
 19601  
 19602  	// SimulationJobErrorCodeInvalidS3resource is a SimulationJobErrorCode enum value
 19603  	SimulationJobErrorCodeInvalidS3resource = "InvalidS3Resource"
 19604  
 19605  	// SimulationJobErrorCodeThrottlingError is a SimulationJobErrorCode enum value
 19606  	SimulationJobErrorCodeThrottlingError = "ThrottlingError"
 19607  
 19608  	// SimulationJobErrorCodeLimitExceeded is a SimulationJobErrorCode enum value
 19609  	SimulationJobErrorCodeLimitExceeded = "LimitExceeded"
 19610  
 19611  	// SimulationJobErrorCodeMismatchedEtag is a SimulationJobErrorCode enum value
 19612  	SimulationJobErrorCodeMismatchedEtag = "MismatchedEtag"
 19613  
 19614  	// SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
 19615  	SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag = "RobotApplicationVersionMismatchedEtag"
 19616  
 19617  	// SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
 19618  	SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag = "SimulationApplicationVersionMismatchedEtag"
 19619  
 19620  	// SimulationJobErrorCodeResourceNotFound is a SimulationJobErrorCode enum value
 19621  	SimulationJobErrorCodeResourceNotFound = "ResourceNotFound"
 19622  
 19623  	// SimulationJobErrorCodeRequestThrottled is a SimulationJobErrorCode enum value
 19624  	SimulationJobErrorCodeRequestThrottled = "RequestThrottled"
 19625  
 19626  	// SimulationJobErrorCodeBatchTimedOut is a SimulationJobErrorCode enum value
 19627  	SimulationJobErrorCodeBatchTimedOut = "BatchTimedOut"
 19628  
 19629  	// SimulationJobErrorCodeBatchCanceled is a SimulationJobErrorCode enum value
 19630  	SimulationJobErrorCodeBatchCanceled = "BatchCanceled"
 19631  
 19632  	// SimulationJobErrorCodeInvalidInput is a SimulationJobErrorCode enum value
 19633  	SimulationJobErrorCodeInvalidInput = "InvalidInput"
 19634  
 19635  	// SimulationJobErrorCodeWrongRegionS3bucket is a SimulationJobErrorCode enum value
 19636  	SimulationJobErrorCodeWrongRegionS3bucket = "WrongRegionS3Bucket"
 19637  
 19638  	// SimulationJobErrorCodeWrongRegionS3output is a SimulationJobErrorCode enum value
 19639  	SimulationJobErrorCodeWrongRegionS3output = "WrongRegionS3Output"
 19640  
 19641  	// SimulationJobErrorCodeWrongRegionRobotApplication is a SimulationJobErrorCode enum value
 19642  	SimulationJobErrorCodeWrongRegionRobotApplication = "WrongRegionRobotApplication"
 19643  
 19644  	// SimulationJobErrorCodeWrongRegionSimulationApplication is a SimulationJobErrorCode enum value
 19645  	SimulationJobErrorCodeWrongRegionSimulationApplication = "WrongRegionSimulationApplication"
 19646  
 19647  	// SimulationJobErrorCodeUploadContentMismatchError is a SimulationJobErrorCode enum value
 19648  	SimulationJobErrorCodeUploadContentMismatchError = "UploadContentMismatchError"
 19649  )
 19650  
 19651  // SimulationJobErrorCode_Values returns all elements of the SimulationJobErrorCode enum
 19652  func SimulationJobErrorCode_Values() []string {
 19653  	return []string{
 19654  		SimulationJobErrorCodeInternalServiceError,
 19655  		SimulationJobErrorCodeRobotApplicationCrash,
 19656  		SimulationJobErrorCodeSimulationApplicationCrash,
 19657  		SimulationJobErrorCodeRobotApplicationHealthCheckFailure,
 19658  		SimulationJobErrorCodeSimulationApplicationHealthCheckFailure,
 19659  		SimulationJobErrorCodeBadPermissionsRobotApplication,
 19660  		SimulationJobErrorCodeBadPermissionsSimulationApplication,
 19661  		SimulationJobErrorCodeBadPermissionsS3object,
 19662  		SimulationJobErrorCodeBadPermissionsS3output,
 19663  		SimulationJobErrorCodeBadPermissionsCloudwatchLogs,
 19664  		SimulationJobErrorCodeSubnetIpLimitExceeded,
 19665  		SimulationJobErrorCodeEnilimitExceeded,
 19666  		SimulationJobErrorCodeBadPermissionsUserCredentials,
 19667  		SimulationJobErrorCodeInvalidBundleRobotApplication,
 19668  		SimulationJobErrorCodeInvalidBundleSimulationApplication,
 19669  		SimulationJobErrorCodeInvalidS3resource,
 19670  		SimulationJobErrorCodeThrottlingError,
 19671  		SimulationJobErrorCodeLimitExceeded,
 19672  		SimulationJobErrorCodeMismatchedEtag,
 19673  		SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag,
 19674  		SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag,
 19675  		SimulationJobErrorCodeResourceNotFound,
 19676  		SimulationJobErrorCodeRequestThrottled,
 19677  		SimulationJobErrorCodeBatchTimedOut,
 19678  		SimulationJobErrorCodeBatchCanceled,
 19679  		SimulationJobErrorCodeInvalidInput,
 19680  		SimulationJobErrorCodeWrongRegionS3bucket,
 19681  		SimulationJobErrorCodeWrongRegionS3output,
 19682  		SimulationJobErrorCodeWrongRegionRobotApplication,
 19683  		SimulationJobErrorCodeWrongRegionSimulationApplication,
 19684  		SimulationJobErrorCodeUploadContentMismatchError,
 19685  	}
 19686  }
 19687  
 19688  const (
 19689  	// SimulationJobStatusPending is a SimulationJobStatus enum value
 19690  	SimulationJobStatusPending = "Pending"
 19691  
 19692  	// SimulationJobStatusPreparing is a SimulationJobStatus enum value
 19693  	SimulationJobStatusPreparing = "Preparing"
 19694  
 19695  	// SimulationJobStatusRunning is a SimulationJobStatus enum value
 19696  	SimulationJobStatusRunning = "Running"
 19697  
 19698  	// SimulationJobStatusRestarting is a SimulationJobStatus enum value
 19699  	SimulationJobStatusRestarting = "Restarting"
 19700  
 19701  	// SimulationJobStatusCompleted is a SimulationJobStatus enum value
 19702  	SimulationJobStatusCompleted = "Completed"
 19703  
 19704  	// SimulationJobStatusFailed is a SimulationJobStatus enum value
 19705  	SimulationJobStatusFailed = "Failed"
 19706  
 19707  	// SimulationJobStatusRunningFailed is a SimulationJobStatus enum value
 19708  	SimulationJobStatusRunningFailed = "RunningFailed"
 19709  
 19710  	// SimulationJobStatusTerminating is a SimulationJobStatus enum value
 19711  	SimulationJobStatusTerminating = "Terminating"
 19712  
 19713  	// SimulationJobStatusTerminated is a SimulationJobStatus enum value
 19714  	SimulationJobStatusTerminated = "Terminated"
 19715  
 19716  	// SimulationJobStatusCanceled is a SimulationJobStatus enum value
 19717  	SimulationJobStatusCanceled = "Canceled"
 19718  )
 19719  
 19720  // SimulationJobStatus_Values returns all elements of the SimulationJobStatus enum
 19721  func SimulationJobStatus_Values() []string {
 19722  	return []string{
 19723  		SimulationJobStatusPending,
 19724  		SimulationJobStatusPreparing,
 19725  		SimulationJobStatusRunning,
 19726  		SimulationJobStatusRestarting,
 19727  		SimulationJobStatusCompleted,
 19728  		SimulationJobStatusFailed,
 19729  		SimulationJobStatusRunningFailed,
 19730  		SimulationJobStatusTerminating,
 19731  		SimulationJobStatusTerminated,
 19732  		SimulationJobStatusCanceled,
 19733  	}
 19734  }
 19735  
 19736  const (
 19737  	// SimulationSoftwareSuiteTypeGazebo is a SimulationSoftwareSuiteType enum value
 19738  	SimulationSoftwareSuiteTypeGazebo = "Gazebo"
 19739  
 19740  	// SimulationSoftwareSuiteTypeRosbagPlay is a SimulationSoftwareSuiteType enum value
 19741  	SimulationSoftwareSuiteTypeRosbagPlay = "RosbagPlay"
 19742  )
 19743  
 19744  // SimulationSoftwareSuiteType_Values returns all elements of the SimulationSoftwareSuiteType enum
 19745  func SimulationSoftwareSuiteType_Values() []string {
 19746  	return []string{
 19747  		SimulationSoftwareSuiteTypeGazebo,
 19748  		SimulationSoftwareSuiteTypeRosbagPlay,
 19749  	}
 19750  }
 19751  
 19752  const (
 19753  	// UploadBehaviorUploadOnTerminate is a UploadBehavior enum value
 19754  	UploadBehaviorUploadOnTerminate = "UPLOAD_ON_TERMINATE"
 19755  
 19756  	// UploadBehaviorUploadRollingAutoRemove is a UploadBehavior enum value
 19757  	UploadBehaviorUploadRollingAutoRemove = "UPLOAD_ROLLING_AUTO_REMOVE"
 19758  )
 19759  
 19760  // UploadBehavior_Values returns all elements of the UploadBehavior enum
 19761  func UploadBehavior_Values() []string {
 19762  	return []string{
 19763  		UploadBehaviorUploadOnTerminate,
 19764  		UploadBehaviorUploadRollingAutoRemove,
 19765  	}
 19766  }
 19767  
 19768  const (
 19769  	// WorldExportJobErrorCodeInternalServiceError is a WorldExportJobErrorCode enum value
 19770  	WorldExportJobErrorCodeInternalServiceError = "InternalServiceError"
 19771  
 19772  	// WorldExportJobErrorCodeLimitExceeded is a WorldExportJobErrorCode enum value
 19773  	WorldExportJobErrorCodeLimitExceeded = "LimitExceeded"
 19774  
 19775  	// WorldExportJobErrorCodeResourceNotFound is a WorldExportJobErrorCode enum value
 19776  	WorldExportJobErrorCodeResourceNotFound = "ResourceNotFound"
 19777  
 19778  	// WorldExportJobErrorCodeRequestThrottled is a WorldExportJobErrorCode enum value
 19779  	WorldExportJobErrorCodeRequestThrottled = "RequestThrottled"
 19780  
 19781  	// WorldExportJobErrorCodeInvalidInput is a WorldExportJobErrorCode enum value
 19782  	WorldExportJobErrorCodeInvalidInput = "InvalidInput"
 19783  
 19784  	// WorldExportJobErrorCodeAccessDenied is a WorldExportJobErrorCode enum value
 19785  	WorldExportJobErrorCodeAccessDenied = "AccessDenied"
 19786  )
 19787  
 19788  // WorldExportJobErrorCode_Values returns all elements of the WorldExportJobErrorCode enum
 19789  func WorldExportJobErrorCode_Values() []string {
 19790  	return []string{
 19791  		WorldExportJobErrorCodeInternalServiceError,
 19792  		WorldExportJobErrorCodeLimitExceeded,
 19793  		WorldExportJobErrorCodeResourceNotFound,
 19794  		WorldExportJobErrorCodeRequestThrottled,
 19795  		WorldExportJobErrorCodeInvalidInput,
 19796  		WorldExportJobErrorCodeAccessDenied,
 19797  	}
 19798  }
 19799  
 19800  const (
 19801  	// WorldExportJobStatusPending is a WorldExportJobStatus enum value
 19802  	WorldExportJobStatusPending = "Pending"
 19803  
 19804  	// WorldExportJobStatusRunning is a WorldExportJobStatus enum value
 19805  	WorldExportJobStatusRunning = "Running"
 19806  
 19807  	// WorldExportJobStatusCompleted is a WorldExportJobStatus enum value
 19808  	WorldExportJobStatusCompleted = "Completed"
 19809  
 19810  	// WorldExportJobStatusFailed is a WorldExportJobStatus enum value
 19811  	WorldExportJobStatusFailed = "Failed"
 19812  
 19813  	// WorldExportJobStatusCanceling is a WorldExportJobStatus enum value
 19814  	WorldExportJobStatusCanceling = "Canceling"
 19815  
 19816  	// WorldExportJobStatusCanceled is a WorldExportJobStatus enum value
 19817  	WorldExportJobStatusCanceled = "Canceled"
 19818  )
 19819  
 19820  // WorldExportJobStatus_Values returns all elements of the WorldExportJobStatus enum
 19821  func WorldExportJobStatus_Values() []string {
 19822  	return []string{
 19823  		WorldExportJobStatusPending,
 19824  		WorldExportJobStatusRunning,
 19825  		WorldExportJobStatusCompleted,
 19826  		WorldExportJobStatusFailed,
 19827  		WorldExportJobStatusCanceling,
 19828  		WorldExportJobStatusCanceled,
 19829  	}
 19830  }
 19831  
 19832  const (
 19833  	// WorldGenerationJobErrorCodeInternalServiceError is a WorldGenerationJobErrorCode enum value
 19834  	WorldGenerationJobErrorCodeInternalServiceError = "InternalServiceError"
 19835  
 19836  	// WorldGenerationJobErrorCodeLimitExceeded is a WorldGenerationJobErrorCode enum value
 19837  	WorldGenerationJobErrorCodeLimitExceeded = "LimitExceeded"
 19838  
 19839  	// WorldGenerationJobErrorCodeResourceNotFound is a WorldGenerationJobErrorCode enum value
 19840  	WorldGenerationJobErrorCodeResourceNotFound = "ResourceNotFound"
 19841  
 19842  	// WorldGenerationJobErrorCodeRequestThrottled is a WorldGenerationJobErrorCode enum value
 19843  	WorldGenerationJobErrorCodeRequestThrottled = "RequestThrottled"
 19844  
 19845  	// WorldGenerationJobErrorCodeInvalidInput is a WorldGenerationJobErrorCode enum value
 19846  	WorldGenerationJobErrorCodeInvalidInput = "InvalidInput"
 19847  
 19848  	// WorldGenerationJobErrorCodeAllWorldGenerationFailed is a WorldGenerationJobErrorCode enum value
 19849  	WorldGenerationJobErrorCodeAllWorldGenerationFailed = "AllWorldGenerationFailed"
 19850  )
 19851  
 19852  // WorldGenerationJobErrorCode_Values returns all elements of the WorldGenerationJobErrorCode enum
 19853  func WorldGenerationJobErrorCode_Values() []string {
 19854  	return []string{
 19855  		WorldGenerationJobErrorCodeInternalServiceError,
 19856  		WorldGenerationJobErrorCodeLimitExceeded,
 19857  		WorldGenerationJobErrorCodeResourceNotFound,
 19858  		WorldGenerationJobErrorCodeRequestThrottled,
 19859  		WorldGenerationJobErrorCodeInvalidInput,
 19860  		WorldGenerationJobErrorCodeAllWorldGenerationFailed,
 19861  	}
 19862  }
 19863  
 19864  const (
 19865  	// WorldGenerationJobStatusPending is a WorldGenerationJobStatus enum value
 19866  	WorldGenerationJobStatusPending = "Pending"
 19867  
 19868  	// WorldGenerationJobStatusRunning is a WorldGenerationJobStatus enum value
 19869  	WorldGenerationJobStatusRunning = "Running"
 19870  
 19871  	// WorldGenerationJobStatusCompleted is a WorldGenerationJobStatus enum value
 19872  	WorldGenerationJobStatusCompleted = "Completed"
 19873  
 19874  	// WorldGenerationJobStatusFailed is a WorldGenerationJobStatus enum value
 19875  	WorldGenerationJobStatusFailed = "Failed"
 19876  
 19877  	// WorldGenerationJobStatusPartialFailed is a WorldGenerationJobStatus enum value
 19878  	WorldGenerationJobStatusPartialFailed = "PartialFailed"
 19879  
 19880  	// WorldGenerationJobStatusCanceling is a WorldGenerationJobStatus enum value
 19881  	WorldGenerationJobStatusCanceling = "Canceling"
 19882  
 19883  	// WorldGenerationJobStatusCanceled is a WorldGenerationJobStatus enum value
 19884  	WorldGenerationJobStatusCanceled = "Canceled"
 19885  )
 19886  
 19887  // WorldGenerationJobStatus_Values returns all elements of the WorldGenerationJobStatus enum
 19888  func WorldGenerationJobStatus_Values() []string {
 19889  	return []string{
 19890  		WorldGenerationJobStatusPending,
 19891  		WorldGenerationJobStatusRunning,
 19892  		WorldGenerationJobStatusCompleted,
 19893  		WorldGenerationJobStatusFailed,
 19894  		WorldGenerationJobStatusPartialFailed,
 19895  		WorldGenerationJobStatusCanceling,
 19896  		WorldGenerationJobStatusCanceled,
 19897  	}
 19898  }