1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package robomaker
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opBatchDescribeSimulationJob = "BatchDescribeSimulationJob"
17
18// BatchDescribeSimulationJobRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDescribeSimulationJob 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 BatchDescribeSimulationJob for more information on using the BatchDescribeSimulationJob
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 BatchDescribeSimulationJobRequest method.
34//    req, resp := client.BatchDescribeSimulationJobRequest(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/BatchDescribeSimulationJob
42func (c *RoboMaker) BatchDescribeSimulationJobRequest(input *BatchDescribeSimulationJobInput) (req *request.Request, output *BatchDescribeSimulationJobOutput) {
43	op := &request.Operation{
44		Name:       opBatchDescribeSimulationJob,
45		HTTPMethod: "POST",
46		HTTPPath:   "/batchDescribeSimulationJob",
47	}
48
49	if input == nil {
50		input = &BatchDescribeSimulationJobInput{}
51	}
52
53	output = &BatchDescribeSimulationJobOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDescribeSimulationJob API operation for AWS RoboMaker.
59//
60// Describes one or more simulation jobs.
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 BatchDescribeSimulationJob for usage and error information.
68//
69// Returned Error Types:
70//   * ResourceNotFoundException
71//   The specified resource does not exist.
72//
73//   * InvalidParameterException
74//   A parameter specified in a request is not valid, is unsupported, or cannot
75//   be used. The returned message provides an explanation of the error value.
76//
77//   * InternalServerException
78//   AWS RoboMaker experienced a service issue. Try your call again.
79//
80//   * ThrottlingException
81//   AWS RoboMaker is temporarily unable to process the request. Try your call
82//   again.
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
85func (c *RoboMaker) BatchDescribeSimulationJob(input *BatchDescribeSimulationJobInput) (*BatchDescribeSimulationJobOutput, error) {
86	req, out := c.BatchDescribeSimulationJobRequest(input)
87	return out, req.Send()
88}
89
90// BatchDescribeSimulationJobWithContext is the same as BatchDescribeSimulationJob with the addition of
91// the ability to pass a context and additional request options.
92//
93// See BatchDescribeSimulationJob for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *RoboMaker) BatchDescribeSimulationJobWithContext(ctx aws.Context, input *BatchDescribeSimulationJobInput, opts ...request.Option) (*BatchDescribeSimulationJobOutput, error) {
100	req, out := c.BatchDescribeSimulationJobRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106const opCancelDeploymentJob = "CancelDeploymentJob"
107
108// CancelDeploymentJobRequest generates a "aws/request.Request" representing the
109// client's request for the CancelDeploymentJob operation. The "output" return
110// value will be populated with the request's response once the request completes
111// successfully.
112//
113// Use "Send" method on the returned Request to send the API call to the service.
114// the "output" return value is not valid until after Send returns without error.
115//
116// See CancelDeploymentJob for more information on using the CancelDeploymentJob
117// API call, and error handling.
118//
119// This method is useful when you want to inject custom logic or configuration
120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
121//
122//
123//    // Example sending a request using the CancelDeploymentJobRequest method.
124//    req, resp := client.CancelDeploymentJobRequest(params)
125//
126//    err := req.Send()
127//    if err == nil { // resp is now filled
128//        fmt.Println(resp)
129//    }
130//
131// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
132func (c *RoboMaker) CancelDeploymentJobRequest(input *CancelDeploymentJobInput) (req *request.Request, output *CancelDeploymentJobOutput) {
133	op := &request.Operation{
134		Name:       opCancelDeploymentJob,
135		HTTPMethod: "POST",
136		HTTPPath:   "/cancelDeploymentJob",
137	}
138
139	if input == nil {
140		input = &CancelDeploymentJobInput{}
141	}
142
143	output = &CancelDeploymentJobOutput{}
144	req = c.newRequest(op, input, output)
145	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
146	return
147}
148
149// CancelDeploymentJob API operation for AWS RoboMaker.
150//
151// Cancels the specified deployment job.
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for AWS RoboMaker's
158// API operation CancelDeploymentJob for usage and error information.
159//
160// Returned Error Types:
161//   * ResourceNotFoundException
162//   The specified resource does not exist.
163//
164//   * InvalidParameterException
165//   A parameter specified in a request is not valid, is unsupported, or cannot
166//   be used. The returned message provides an explanation of the error value.
167//
168//   * InternalServerException
169//   AWS RoboMaker experienced a service issue. Try your call again.
170//
171//   * ThrottlingException
172//   AWS RoboMaker is temporarily unable to process the request. Try your call
173//   again.
174//
175// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
176func (c *RoboMaker) CancelDeploymentJob(input *CancelDeploymentJobInput) (*CancelDeploymentJobOutput, error) {
177	req, out := c.CancelDeploymentJobRequest(input)
178	return out, req.Send()
179}
180
181// CancelDeploymentJobWithContext is the same as CancelDeploymentJob with the addition of
182// the ability to pass a context and additional request options.
183//
184// See CancelDeploymentJob for details on how to use this API operation.
185//
186// The context must be non-nil and will be used for request cancellation. If
187// the context is nil a panic will occur. In the future the SDK may create
188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
189// for more information on using Contexts.
190func (c *RoboMaker) CancelDeploymentJobWithContext(ctx aws.Context, input *CancelDeploymentJobInput, opts ...request.Option) (*CancelDeploymentJobOutput, error) {
191	req, out := c.CancelDeploymentJobRequest(input)
192	req.SetContext(ctx)
193	req.ApplyOptions(opts...)
194	return out, req.Send()
195}
196
197const opCancelSimulationJob = "CancelSimulationJob"
198
199// CancelSimulationJobRequest generates a "aws/request.Request" representing the
200// client's request for the CancelSimulationJob operation. The "output" return
201// value will be populated with the request's response once the request completes
202// successfully.
203//
204// Use "Send" method on the returned Request to send the API call to the service.
205// the "output" return value is not valid until after Send returns without error.
206//
207// See CancelSimulationJob for more information on using the CancelSimulationJob
208// API call, and error handling.
209//
210// This method is useful when you want to inject custom logic or configuration
211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
212//
213//
214//    // Example sending a request using the CancelSimulationJobRequest method.
215//    req, resp := client.CancelSimulationJobRequest(params)
216//
217//    err := req.Send()
218//    if err == nil { // resp is now filled
219//        fmt.Println(resp)
220//    }
221//
222// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
223func (c *RoboMaker) CancelSimulationJobRequest(input *CancelSimulationJobInput) (req *request.Request, output *CancelSimulationJobOutput) {
224	op := &request.Operation{
225		Name:       opCancelSimulationJob,
226		HTTPMethod: "POST",
227		HTTPPath:   "/cancelSimulationJob",
228	}
229
230	if input == nil {
231		input = &CancelSimulationJobInput{}
232	}
233
234	output = &CancelSimulationJobOutput{}
235	req = c.newRequest(op, input, output)
236	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
237	return
238}
239
240// CancelSimulationJob API operation for AWS RoboMaker.
241//
242// Cancels the specified simulation job.
243//
244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
245// with awserr.Error's Code and Message methods to get detailed information about
246// the error.
247//
248// See the AWS API reference guide for AWS RoboMaker's
249// API operation CancelSimulationJob for usage and error information.
250//
251// Returned Error Types:
252//   * ResourceNotFoundException
253//   The specified resource does not exist.
254//
255//   * InvalidParameterException
256//   A parameter specified in a request is not valid, is unsupported, or cannot
257//   be used. The returned message provides an explanation of the error value.
258//
259//   * InternalServerException
260//   AWS RoboMaker experienced a service issue. Try your call again.
261//
262//   * ThrottlingException
263//   AWS RoboMaker is temporarily unable to process the request. Try your call
264//   again.
265//
266// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
267func (c *RoboMaker) CancelSimulationJob(input *CancelSimulationJobInput) (*CancelSimulationJobOutput, error) {
268	req, out := c.CancelSimulationJobRequest(input)
269	return out, req.Send()
270}
271
272// CancelSimulationJobWithContext is the same as CancelSimulationJob with the addition of
273// the ability to pass a context and additional request options.
274//
275// See CancelSimulationJob for details on how to use this API operation.
276//
277// The context must be non-nil and will be used for request cancellation. If
278// the context is nil a panic will occur. In the future the SDK may create
279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
280// for more information on using Contexts.
281func (c *RoboMaker) CancelSimulationJobWithContext(ctx aws.Context, input *CancelSimulationJobInput, opts ...request.Option) (*CancelSimulationJobOutput, error) {
282	req, out := c.CancelSimulationJobRequest(input)
283	req.SetContext(ctx)
284	req.ApplyOptions(opts...)
285	return out, req.Send()
286}
287
288const opCancelSimulationJobBatch = "CancelSimulationJobBatch"
289
290// CancelSimulationJobBatchRequest generates a "aws/request.Request" representing the
291// client's request for the CancelSimulationJobBatch operation. The "output" return
292// value will be populated with the request's response once the request completes
293// successfully.
294//
295// Use "Send" method on the returned Request to send the API call to the service.
296// the "output" return value is not valid until after Send returns without error.
297//
298// See CancelSimulationJobBatch for more information on using the CancelSimulationJobBatch
299// API call, and error handling.
300//
301// This method is useful when you want to inject custom logic or configuration
302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
303//
304//
305//    // Example sending a request using the CancelSimulationJobBatchRequest method.
306//    req, resp := client.CancelSimulationJobBatchRequest(params)
307//
308//    err := req.Send()
309//    if err == nil { // resp is now filled
310//        fmt.Println(resp)
311//    }
312//
313// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJobBatch
314func (c *RoboMaker) CancelSimulationJobBatchRequest(input *CancelSimulationJobBatchInput) (req *request.Request, output *CancelSimulationJobBatchOutput) {
315	op := &request.Operation{
316		Name:       opCancelSimulationJobBatch,
317		HTTPMethod: "POST",
318		HTTPPath:   "/cancelSimulationJobBatch",
319	}
320
321	if input == nil {
322		input = &CancelSimulationJobBatchInput{}
323	}
324
325	output = &CancelSimulationJobBatchOutput{}
326	req = c.newRequest(op, input, output)
327	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
328	return
329}
330
331// CancelSimulationJobBatch API operation for AWS RoboMaker.
332//
333// Cancels a simulation job batch. When you cancel a simulation job batch, you
334// are also cancelling all of the active simulation jobs created as part of
335// the batch.
336//
337// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
338// with awserr.Error's Code and Message methods to get detailed information about
339// the error.
340//
341// See the AWS API reference guide for AWS RoboMaker's
342// API operation CancelSimulationJobBatch for usage and error information.
343//
344// Returned Error Types:
345//   * ResourceNotFoundException
346//   The specified resource does not exist.
347//
348//   * InvalidParameterException
349//   A parameter specified in a request is not valid, is unsupported, or cannot
350//   be used. The returned message provides an explanation of the error value.
351//
352//   * InternalServerException
353//   AWS RoboMaker experienced a service issue. Try your call again.
354//
355//   * ThrottlingException
356//   AWS RoboMaker is temporarily unable to process the request. Try your call
357//   again.
358//
359// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJobBatch
360func (c *RoboMaker) CancelSimulationJobBatch(input *CancelSimulationJobBatchInput) (*CancelSimulationJobBatchOutput, error) {
361	req, out := c.CancelSimulationJobBatchRequest(input)
362	return out, req.Send()
363}
364
365// CancelSimulationJobBatchWithContext is the same as CancelSimulationJobBatch with the addition of
366// the ability to pass a context and additional request options.
367//
368// See CancelSimulationJobBatch for details on how to use this API operation.
369//
370// The context must be non-nil and will be used for request cancellation. If
371// the context is nil a panic will occur. In the future the SDK may create
372// sub-contexts for http.Requests. See https://golang.org/pkg/context/
373// for more information on using Contexts.
374func (c *RoboMaker) CancelSimulationJobBatchWithContext(ctx aws.Context, input *CancelSimulationJobBatchInput, opts ...request.Option) (*CancelSimulationJobBatchOutput, error) {
375	req, out := c.CancelSimulationJobBatchRequest(input)
376	req.SetContext(ctx)
377	req.ApplyOptions(opts...)
378	return out, req.Send()
379}
380
381const opCreateDeploymentJob = "CreateDeploymentJob"
382
383// CreateDeploymentJobRequest generates a "aws/request.Request" representing the
384// client's request for the CreateDeploymentJob operation. The "output" return
385// value will be populated with the request's response once the request completes
386// successfully.
387//
388// Use "Send" method on the returned Request to send the API call to the service.
389// the "output" return value is not valid until after Send returns without error.
390//
391// See CreateDeploymentJob for more information on using the CreateDeploymentJob
392// API call, and error handling.
393//
394// This method is useful when you want to inject custom logic or configuration
395// into the SDK's request lifecycle. Such as custom headers, or retry logic.
396//
397//
398//    // Example sending a request using the CreateDeploymentJobRequest method.
399//    req, resp := client.CreateDeploymentJobRequest(params)
400//
401//    err := req.Send()
402//    if err == nil { // resp is now filled
403//        fmt.Println(resp)
404//    }
405//
406// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
407func (c *RoboMaker) CreateDeploymentJobRequest(input *CreateDeploymentJobInput) (req *request.Request, output *CreateDeploymentJobOutput) {
408	op := &request.Operation{
409		Name:       opCreateDeploymentJob,
410		HTTPMethod: "POST",
411		HTTPPath:   "/createDeploymentJob",
412	}
413
414	if input == nil {
415		input = &CreateDeploymentJobInput{}
416	}
417
418	output = &CreateDeploymentJobOutput{}
419	req = c.newRequest(op, input, output)
420	return
421}
422
423// CreateDeploymentJob API operation for AWS RoboMaker.
424//
425// Deploys a specific version of a robot application to robots in a fleet.
426//
427// The robot application must have a numbered applicationVersion for consistency
428// reasons. To create a new version, use CreateRobotApplicationVersion or see
429// Creating a Robot Application Version (https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html).
430//
431// After 90 days, deployment jobs expire and will be deleted. They will no longer
432// be accessible.
433//
434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
435// with awserr.Error's Code and Message methods to get detailed information about
436// the error.
437//
438// See the AWS API reference guide for AWS RoboMaker's
439// API operation CreateDeploymentJob for usage and error information.
440//
441// Returned Error Types:
442//   * ResourceNotFoundException
443//   The specified resource does not exist.
444//
445//   * InvalidParameterException
446//   A parameter specified in a request is not valid, is unsupported, or cannot
447//   be used. The returned message provides an explanation of the error value.
448//
449//   * InternalServerException
450//   AWS RoboMaker experienced a service issue. Try your call again.
451//
452//   * ThrottlingException
453//   AWS RoboMaker is temporarily unable to process the request. Try your call
454//   again.
455//
456//   * LimitExceededException
457//   The requested resource exceeds the maximum number allowed, or the number
458//   of concurrent stream requests exceeds the maximum number allowed.
459//
460//   * ConcurrentDeploymentException
461//   The failure percentage threshold percentage was met.
462//
463//   * IdempotentParameterMismatchException
464//   The request uses the same client token as a previous, but non-identical request.
465//   Do not reuse a client token with different requests, unless the requests
466//   are identical.
467//
468// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
469func (c *RoboMaker) CreateDeploymentJob(input *CreateDeploymentJobInput) (*CreateDeploymentJobOutput, error) {
470	req, out := c.CreateDeploymentJobRequest(input)
471	return out, req.Send()
472}
473
474// CreateDeploymentJobWithContext is the same as CreateDeploymentJob with the addition of
475// the ability to pass a context and additional request options.
476//
477// See CreateDeploymentJob for details on how to use this API operation.
478//
479// The context must be non-nil and will be used for request cancellation. If
480// the context is nil a panic will occur. In the future the SDK may create
481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
482// for more information on using Contexts.
483func (c *RoboMaker) CreateDeploymentJobWithContext(ctx aws.Context, input *CreateDeploymentJobInput, opts ...request.Option) (*CreateDeploymentJobOutput, error) {
484	req, out := c.CreateDeploymentJobRequest(input)
485	req.SetContext(ctx)
486	req.ApplyOptions(opts...)
487	return out, req.Send()
488}
489
490const opCreateFleet = "CreateFleet"
491
492// CreateFleetRequest generates a "aws/request.Request" representing the
493// client's request for the CreateFleet operation. The "output" return
494// value will be populated with the request's response once the request completes
495// successfully.
496//
497// Use "Send" method on the returned Request to send the API call to the service.
498// the "output" return value is not valid until after Send returns without error.
499//
500// See CreateFleet for more information on using the CreateFleet
501// API call, and error handling.
502//
503// This method is useful when you want to inject custom logic or configuration
504// into the SDK's request lifecycle. Such as custom headers, or retry logic.
505//
506//
507//    // Example sending a request using the CreateFleetRequest method.
508//    req, resp := client.CreateFleetRequest(params)
509//
510//    err := req.Send()
511//    if err == nil { // resp is now filled
512//        fmt.Println(resp)
513//    }
514//
515// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
516func (c *RoboMaker) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
517	op := &request.Operation{
518		Name:       opCreateFleet,
519		HTTPMethod: "POST",
520		HTTPPath:   "/createFleet",
521	}
522
523	if input == nil {
524		input = &CreateFleetInput{}
525	}
526
527	output = &CreateFleetOutput{}
528	req = c.newRequest(op, input, output)
529	return
530}
531
532// CreateFleet API operation for AWS RoboMaker.
533//
534// Creates a fleet, a logical group of robots running the same robot application.
535//
536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
537// with awserr.Error's Code and Message methods to get detailed information about
538// the error.
539//
540// See the AWS API reference guide for AWS RoboMaker's
541// API operation CreateFleet for usage and error information.
542//
543// Returned Error Types:
544//   * InvalidParameterException
545//   A parameter specified in a request is not valid, is unsupported, or cannot
546//   be used. The returned message provides an explanation of the error value.
547//
548//   * InternalServerException
549//   AWS RoboMaker experienced a service issue. Try your call again.
550//
551//   * ThrottlingException
552//   AWS RoboMaker is temporarily unable to process the request. Try your call
553//   again.
554//
555//   * LimitExceededException
556//   The requested resource exceeds the maximum number allowed, or the number
557//   of concurrent stream requests exceeds the maximum number allowed.
558//
559// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
560func (c *RoboMaker) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
561	req, out := c.CreateFleetRequest(input)
562	return out, req.Send()
563}
564
565// CreateFleetWithContext is the same as CreateFleet with the addition of
566// the ability to pass a context and additional request options.
567//
568// See CreateFleet for details on how to use this API operation.
569//
570// The context must be non-nil and will be used for request cancellation. If
571// the context is nil a panic will occur. In the future the SDK may create
572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
573// for more information on using Contexts.
574func (c *RoboMaker) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
575	req, out := c.CreateFleetRequest(input)
576	req.SetContext(ctx)
577	req.ApplyOptions(opts...)
578	return out, req.Send()
579}
580
581const opCreateRobot = "CreateRobot"
582
583// CreateRobotRequest generates a "aws/request.Request" representing the
584// client's request for the CreateRobot operation. The "output" return
585// value will be populated with the request's response once the request completes
586// successfully.
587//
588// Use "Send" method on the returned Request to send the API call to the service.
589// the "output" return value is not valid until after Send returns without error.
590//
591// See CreateRobot for more information on using the CreateRobot
592// API call, and error handling.
593//
594// This method is useful when you want to inject custom logic or configuration
595// into the SDK's request lifecycle. Such as custom headers, or retry logic.
596//
597//
598//    // Example sending a request using the CreateRobotRequest method.
599//    req, resp := client.CreateRobotRequest(params)
600//
601//    err := req.Send()
602//    if err == nil { // resp is now filled
603//        fmt.Println(resp)
604//    }
605//
606// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
607func (c *RoboMaker) CreateRobotRequest(input *CreateRobotInput) (req *request.Request, output *CreateRobotOutput) {
608	op := &request.Operation{
609		Name:       opCreateRobot,
610		HTTPMethod: "POST",
611		HTTPPath:   "/createRobot",
612	}
613
614	if input == nil {
615		input = &CreateRobotInput{}
616	}
617
618	output = &CreateRobotOutput{}
619	req = c.newRequest(op, input, output)
620	return
621}
622
623// CreateRobot API operation for AWS RoboMaker.
624//
625// Creates a robot.
626//
627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
628// with awserr.Error's Code and Message methods to get detailed information about
629// the error.
630//
631// See the AWS API reference guide for AWS RoboMaker's
632// API operation CreateRobot for usage and error information.
633//
634// Returned Error Types:
635//   * InvalidParameterException
636//   A parameter specified in a request is not valid, is unsupported, or cannot
637//   be used. The returned message provides an explanation of the error value.
638//
639//   * InternalServerException
640//   AWS RoboMaker experienced a service issue. Try your call again.
641//
642//   * ThrottlingException
643//   AWS RoboMaker is temporarily unable to process the request. Try your call
644//   again.
645//
646//   * LimitExceededException
647//   The requested resource exceeds the maximum number allowed, or the number
648//   of concurrent stream requests exceeds the maximum number allowed.
649//
650//   * ResourceAlreadyExistsException
651//   The specified resource already exists.
652//
653// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
654func (c *RoboMaker) CreateRobot(input *CreateRobotInput) (*CreateRobotOutput, error) {
655	req, out := c.CreateRobotRequest(input)
656	return out, req.Send()
657}
658
659// CreateRobotWithContext is the same as CreateRobot with the addition of
660// the ability to pass a context and additional request options.
661//
662// See CreateRobot for details on how to use this API operation.
663//
664// The context must be non-nil and will be used for request cancellation. If
665// the context is nil a panic will occur. In the future the SDK may create
666// sub-contexts for http.Requests. See https://golang.org/pkg/context/
667// for more information on using Contexts.
668func (c *RoboMaker) CreateRobotWithContext(ctx aws.Context, input *CreateRobotInput, opts ...request.Option) (*CreateRobotOutput, error) {
669	req, out := c.CreateRobotRequest(input)
670	req.SetContext(ctx)
671	req.ApplyOptions(opts...)
672	return out, req.Send()
673}
674
675const opCreateRobotApplication = "CreateRobotApplication"
676
677// CreateRobotApplicationRequest generates a "aws/request.Request" representing the
678// client's request for the CreateRobotApplication operation. The "output" return
679// value will be populated with the request's response once the request completes
680// successfully.
681//
682// Use "Send" method on the returned Request to send the API call to the service.
683// the "output" return value is not valid until after Send returns without error.
684//
685// See CreateRobotApplication for more information on using the CreateRobotApplication
686// API call, and error handling.
687//
688// This method is useful when you want to inject custom logic or configuration
689// into the SDK's request lifecycle. Such as custom headers, or retry logic.
690//
691//
692//    // Example sending a request using the CreateRobotApplicationRequest method.
693//    req, resp := client.CreateRobotApplicationRequest(params)
694//
695//    err := req.Send()
696//    if err == nil { // resp is now filled
697//        fmt.Println(resp)
698//    }
699//
700// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
701func (c *RoboMaker) CreateRobotApplicationRequest(input *CreateRobotApplicationInput) (req *request.Request, output *CreateRobotApplicationOutput) {
702	op := &request.Operation{
703		Name:       opCreateRobotApplication,
704		HTTPMethod: "POST",
705		HTTPPath:   "/createRobotApplication",
706	}
707
708	if input == nil {
709		input = &CreateRobotApplicationInput{}
710	}
711
712	output = &CreateRobotApplicationOutput{}
713	req = c.newRequest(op, input, output)
714	return
715}
716
717// CreateRobotApplication API operation for AWS RoboMaker.
718//
719// Creates a robot application.
720//
721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
722// with awserr.Error's Code and Message methods to get detailed information about
723// the error.
724//
725// See the AWS API reference guide for AWS RoboMaker's
726// API operation CreateRobotApplication for usage and error information.
727//
728// Returned Error Types:
729//   * InvalidParameterException
730//   A parameter specified in a request is not valid, is unsupported, or cannot
731//   be used. The returned message provides an explanation of the error value.
732//
733//   * ResourceAlreadyExistsException
734//   The specified resource already exists.
735//
736//   * LimitExceededException
737//   The requested resource exceeds the maximum number allowed, or the number
738//   of concurrent stream requests exceeds the maximum number allowed.
739//
740//   * ThrottlingException
741//   AWS RoboMaker is temporarily unable to process the request. Try your call
742//   again.
743//
744//   * InternalServerException
745//   AWS RoboMaker experienced a service issue. Try your call again.
746//
747//   * IdempotentParameterMismatchException
748//   The request uses the same client token as a previous, but non-identical request.
749//   Do not reuse a client token with different requests, unless the requests
750//   are identical.
751//
752// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
753func (c *RoboMaker) CreateRobotApplication(input *CreateRobotApplicationInput) (*CreateRobotApplicationOutput, error) {
754	req, out := c.CreateRobotApplicationRequest(input)
755	return out, req.Send()
756}
757
758// CreateRobotApplicationWithContext is the same as CreateRobotApplication with the addition of
759// the ability to pass a context and additional request options.
760//
761// See CreateRobotApplication for details on how to use this API operation.
762//
763// The context must be non-nil and will be used for request cancellation. If
764// the context is nil a panic will occur. In the future the SDK may create
765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
766// for more information on using Contexts.
767func (c *RoboMaker) CreateRobotApplicationWithContext(ctx aws.Context, input *CreateRobotApplicationInput, opts ...request.Option) (*CreateRobotApplicationOutput, error) {
768	req, out := c.CreateRobotApplicationRequest(input)
769	req.SetContext(ctx)
770	req.ApplyOptions(opts...)
771	return out, req.Send()
772}
773
774const opCreateRobotApplicationVersion = "CreateRobotApplicationVersion"
775
776// CreateRobotApplicationVersionRequest generates a "aws/request.Request" representing the
777// client's request for the CreateRobotApplicationVersion operation. The "output" return
778// value will be populated with the request's response once the request completes
779// successfully.
780//
781// Use "Send" method on the returned Request to send the API call to the service.
782// the "output" return value is not valid until after Send returns without error.
783//
784// See CreateRobotApplicationVersion for more information on using the CreateRobotApplicationVersion
785// API call, and error handling.
786//
787// This method is useful when you want to inject custom logic or configuration
788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
789//
790//
791//    // Example sending a request using the CreateRobotApplicationVersionRequest method.
792//    req, resp := client.CreateRobotApplicationVersionRequest(params)
793//
794//    err := req.Send()
795//    if err == nil { // resp is now filled
796//        fmt.Println(resp)
797//    }
798//
799// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
800func (c *RoboMaker) CreateRobotApplicationVersionRequest(input *CreateRobotApplicationVersionInput) (req *request.Request, output *CreateRobotApplicationVersionOutput) {
801	op := &request.Operation{
802		Name:       opCreateRobotApplicationVersion,
803		HTTPMethod: "POST",
804		HTTPPath:   "/createRobotApplicationVersion",
805	}
806
807	if input == nil {
808		input = &CreateRobotApplicationVersionInput{}
809	}
810
811	output = &CreateRobotApplicationVersionOutput{}
812	req = c.newRequest(op, input, output)
813	return
814}
815
816// CreateRobotApplicationVersion API operation for AWS RoboMaker.
817//
818// Creates a version of a robot application.
819//
820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
821// with awserr.Error's Code and Message methods to get detailed information about
822// the error.
823//
824// See the AWS API reference guide for AWS RoboMaker's
825// API operation CreateRobotApplicationVersion for usage and error information.
826//
827// Returned Error Types:
828//   * InvalidParameterException
829//   A parameter specified in a request is not valid, is unsupported, or cannot
830//   be used. The returned message provides an explanation of the error value.
831//
832//   * IdempotentParameterMismatchException
833//   The request uses the same client token as a previous, but non-identical request.
834//   Do not reuse a client token with different requests, unless the requests
835//   are identical.
836//
837//   * LimitExceededException
838//   The requested resource exceeds the maximum number allowed, or the number
839//   of concurrent stream requests exceeds the maximum number allowed.
840//
841//   * ThrottlingException
842//   AWS RoboMaker is temporarily unable to process the request. Try your call
843//   again.
844//
845//   * InternalServerException
846//   AWS RoboMaker experienced a service issue. Try your call again.
847//
848// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
849func (c *RoboMaker) CreateRobotApplicationVersion(input *CreateRobotApplicationVersionInput) (*CreateRobotApplicationVersionOutput, error) {
850	req, out := c.CreateRobotApplicationVersionRequest(input)
851	return out, req.Send()
852}
853
854// CreateRobotApplicationVersionWithContext is the same as CreateRobotApplicationVersion with the addition of
855// the ability to pass a context and additional request options.
856//
857// See CreateRobotApplicationVersion for details on how to use this API operation.
858//
859// The context must be non-nil and will be used for request cancellation. If
860// the context is nil a panic will occur. In the future the SDK may create
861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
862// for more information on using Contexts.
863func (c *RoboMaker) CreateRobotApplicationVersionWithContext(ctx aws.Context, input *CreateRobotApplicationVersionInput, opts ...request.Option) (*CreateRobotApplicationVersionOutput, error) {
864	req, out := c.CreateRobotApplicationVersionRequest(input)
865	req.SetContext(ctx)
866	req.ApplyOptions(opts...)
867	return out, req.Send()
868}
869
870const opCreateSimulationApplication = "CreateSimulationApplication"
871
872// CreateSimulationApplicationRequest generates a "aws/request.Request" representing the
873// client's request for the CreateSimulationApplication operation. The "output" return
874// value will be populated with the request's response once the request completes
875// successfully.
876//
877// Use "Send" method on the returned Request to send the API call to the service.
878// the "output" return value is not valid until after Send returns without error.
879//
880// See CreateSimulationApplication for more information on using the CreateSimulationApplication
881// API call, and error handling.
882//
883// This method is useful when you want to inject custom logic or configuration
884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
885//
886//
887//    // Example sending a request using the CreateSimulationApplicationRequest method.
888//    req, resp := client.CreateSimulationApplicationRequest(params)
889//
890//    err := req.Send()
891//    if err == nil { // resp is now filled
892//        fmt.Println(resp)
893//    }
894//
895// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
896func (c *RoboMaker) CreateSimulationApplicationRequest(input *CreateSimulationApplicationInput) (req *request.Request, output *CreateSimulationApplicationOutput) {
897	op := &request.Operation{
898		Name:       opCreateSimulationApplication,
899		HTTPMethod: "POST",
900		HTTPPath:   "/createSimulationApplication",
901	}
902
903	if input == nil {
904		input = &CreateSimulationApplicationInput{}
905	}
906
907	output = &CreateSimulationApplicationOutput{}
908	req = c.newRequest(op, input, output)
909	return
910}
911
912// CreateSimulationApplication API operation for AWS RoboMaker.
913//
914// Creates a simulation application.
915//
916// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
917// with awserr.Error's Code and Message methods to get detailed information about
918// the error.
919//
920// See the AWS API reference guide for AWS RoboMaker's
921// API operation CreateSimulationApplication for usage and error information.
922//
923// Returned Error Types:
924//   * InvalidParameterException
925//   A parameter specified in a request is not valid, is unsupported, or cannot
926//   be used. The returned message provides an explanation of the error value.
927//
928//   * ResourceAlreadyExistsException
929//   The specified resource already exists.
930//
931//   * LimitExceededException
932//   The requested resource exceeds the maximum number allowed, or the number
933//   of concurrent stream requests exceeds the maximum number allowed.
934//
935//   * ThrottlingException
936//   AWS RoboMaker is temporarily unable to process the request. Try your call
937//   again.
938//
939//   * InternalServerException
940//   AWS RoboMaker experienced a service issue. Try your call again.
941//
942//   * IdempotentParameterMismatchException
943//   The request uses the same client token as a previous, but non-identical request.
944//   Do not reuse a client token with different requests, unless the requests
945//   are identical.
946//
947// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
948func (c *RoboMaker) CreateSimulationApplication(input *CreateSimulationApplicationInput) (*CreateSimulationApplicationOutput, error) {
949	req, out := c.CreateSimulationApplicationRequest(input)
950	return out, req.Send()
951}
952
953// CreateSimulationApplicationWithContext is the same as CreateSimulationApplication with the addition of
954// the ability to pass a context and additional request options.
955//
956// See CreateSimulationApplication for details on how to use this API operation.
957//
958// The context must be non-nil and will be used for request cancellation. If
959// the context is nil a panic will occur. In the future the SDK may create
960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
961// for more information on using Contexts.
962func (c *RoboMaker) CreateSimulationApplicationWithContext(ctx aws.Context, input *CreateSimulationApplicationInput, opts ...request.Option) (*CreateSimulationApplicationOutput, error) {
963	req, out := c.CreateSimulationApplicationRequest(input)
964	req.SetContext(ctx)
965	req.ApplyOptions(opts...)
966	return out, req.Send()
967}
968
969const opCreateSimulationApplicationVersion = "CreateSimulationApplicationVersion"
970
971// CreateSimulationApplicationVersionRequest generates a "aws/request.Request" representing the
972// client's request for the CreateSimulationApplicationVersion operation. The "output" return
973// value will be populated with the request's response once the request completes
974// successfully.
975//
976// Use "Send" method on the returned Request to send the API call to the service.
977// the "output" return value is not valid until after Send returns without error.
978//
979// See CreateSimulationApplicationVersion for more information on using the CreateSimulationApplicationVersion
980// API call, and error handling.
981//
982// This method is useful when you want to inject custom logic or configuration
983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
984//
985//
986//    // Example sending a request using the CreateSimulationApplicationVersionRequest method.
987//    req, resp := client.CreateSimulationApplicationVersionRequest(params)
988//
989//    err := req.Send()
990//    if err == nil { // resp is now filled
991//        fmt.Println(resp)
992//    }
993//
994// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
995func (c *RoboMaker) CreateSimulationApplicationVersionRequest(input *CreateSimulationApplicationVersionInput) (req *request.Request, output *CreateSimulationApplicationVersionOutput) {
996	op := &request.Operation{
997		Name:       opCreateSimulationApplicationVersion,
998		HTTPMethod: "POST",
999		HTTPPath:   "/createSimulationApplicationVersion",
1000	}
1001
1002	if input == nil {
1003		input = &CreateSimulationApplicationVersionInput{}
1004	}
1005
1006	output = &CreateSimulationApplicationVersionOutput{}
1007	req = c.newRequest(op, input, output)
1008	return
1009}
1010
1011// CreateSimulationApplicationVersion API operation for AWS RoboMaker.
1012//
1013// Creates a simulation application with a specific revision id.
1014//
1015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1016// with awserr.Error's Code and Message methods to get detailed information about
1017// the error.
1018//
1019// See the AWS API reference guide for AWS RoboMaker's
1020// API operation CreateSimulationApplicationVersion for usage and error information.
1021//
1022// Returned Error Types:
1023//   * InvalidParameterException
1024//   A parameter specified in a request is not valid, is unsupported, or cannot
1025//   be used. The returned message provides an explanation of the error value.
1026//
1027//   * IdempotentParameterMismatchException
1028//   The request uses the same client token as a previous, but non-identical request.
1029//   Do not reuse a client token with different requests, unless the requests
1030//   are identical.
1031//
1032//   * LimitExceededException
1033//   The requested resource exceeds the maximum number allowed, or the number
1034//   of concurrent stream requests exceeds the maximum number allowed.
1035//
1036//   * ThrottlingException
1037//   AWS RoboMaker is temporarily unable to process the request. Try your call
1038//   again.
1039//
1040//   * InternalServerException
1041//   AWS RoboMaker experienced a service issue. Try your call again.
1042//
1043// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
1044func (c *RoboMaker) CreateSimulationApplicationVersion(input *CreateSimulationApplicationVersionInput) (*CreateSimulationApplicationVersionOutput, error) {
1045	req, out := c.CreateSimulationApplicationVersionRequest(input)
1046	return out, req.Send()
1047}
1048
1049// CreateSimulationApplicationVersionWithContext is the same as CreateSimulationApplicationVersion with the addition of
1050// the ability to pass a context and additional request options.
1051//
1052// See CreateSimulationApplicationVersion for details on how to use this API operation.
1053//
1054// The context must be non-nil and will be used for request cancellation. If
1055// the context is nil a panic will occur. In the future the SDK may create
1056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1057// for more information on using Contexts.
1058func (c *RoboMaker) CreateSimulationApplicationVersionWithContext(ctx aws.Context, input *CreateSimulationApplicationVersionInput, opts ...request.Option) (*CreateSimulationApplicationVersionOutput, error) {
1059	req, out := c.CreateSimulationApplicationVersionRequest(input)
1060	req.SetContext(ctx)
1061	req.ApplyOptions(opts...)
1062	return out, req.Send()
1063}
1064
1065const opCreateSimulationJob = "CreateSimulationJob"
1066
1067// CreateSimulationJobRequest generates a "aws/request.Request" representing the
1068// client's request for the CreateSimulationJob operation. The "output" return
1069// value will be populated with the request's response once the request completes
1070// successfully.
1071//
1072// Use "Send" method on the returned Request to send the API call to the service.
1073// the "output" return value is not valid until after Send returns without error.
1074//
1075// See CreateSimulationJob for more information on using the CreateSimulationJob
1076// API call, and error handling.
1077//
1078// This method is useful when you want to inject custom logic or configuration
1079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1080//
1081//
1082//    // Example sending a request using the CreateSimulationJobRequest method.
1083//    req, resp := client.CreateSimulationJobRequest(params)
1084//
1085//    err := req.Send()
1086//    if err == nil { // resp is now filled
1087//        fmt.Println(resp)
1088//    }
1089//
1090// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
1091func (c *RoboMaker) CreateSimulationJobRequest(input *CreateSimulationJobInput) (req *request.Request, output *CreateSimulationJobOutput) {
1092	op := &request.Operation{
1093		Name:       opCreateSimulationJob,
1094		HTTPMethod: "POST",
1095		HTTPPath:   "/createSimulationJob",
1096	}
1097
1098	if input == nil {
1099		input = &CreateSimulationJobInput{}
1100	}
1101
1102	output = &CreateSimulationJobOutput{}
1103	req = c.newRequest(op, input, output)
1104	return
1105}
1106
1107// CreateSimulationJob API operation for AWS RoboMaker.
1108//
1109// Creates a simulation job.
1110//
1111// After 90 days, simulation jobs expire and will be deleted. They will no longer
1112// be accessible.
1113//
1114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1115// with awserr.Error's Code and Message methods to get detailed information about
1116// the error.
1117//
1118// See the AWS API reference guide for AWS RoboMaker's
1119// API operation CreateSimulationJob for usage and error information.
1120//
1121// Returned Error Types:
1122//   * ResourceNotFoundException
1123//   The specified resource does not exist.
1124//
1125//   * InvalidParameterException
1126//   A parameter specified in a request is not valid, is unsupported, or cannot
1127//   be used. The returned message provides an explanation of the error value.
1128//
1129//   * InternalServerException
1130//   AWS RoboMaker experienced a service issue. Try your call again.
1131//
1132//   * ThrottlingException
1133//   AWS RoboMaker is temporarily unable to process the request. Try your call
1134//   again.
1135//
1136//   * LimitExceededException
1137//   The requested resource exceeds the maximum number allowed, or the number
1138//   of concurrent stream requests exceeds the maximum number allowed.
1139//
1140//   * IdempotentParameterMismatchException
1141//   The request uses the same client token as a previous, but non-identical request.
1142//   Do not reuse a client token with different requests, unless the requests
1143//   are identical.
1144//
1145//   * ServiceUnavailableException
1146//   The request has failed due to a temporary failure of the server.
1147//
1148// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
1149func (c *RoboMaker) CreateSimulationJob(input *CreateSimulationJobInput) (*CreateSimulationJobOutput, error) {
1150	req, out := c.CreateSimulationJobRequest(input)
1151	return out, req.Send()
1152}
1153
1154// CreateSimulationJobWithContext is the same as CreateSimulationJob with the addition of
1155// the ability to pass a context and additional request options.
1156//
1157// See CreateSimulationJob for details on how to use this API operation.
1158//
1159// The context must be non-nil and will be used for request cancellation. If
1160// the context is nil a panic will occur. In the future the SDK may create
1161// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1162// for more information on using Contexts.
1163func (c *RoboMaker) CreateSimulationJobWithContext(ctx aws.Context, input *CreateSimulationJobInput, opts ...request.Option) (*CreateSimulationJobOutput, error) {
1164	req, out := c.CreateSimulationJobRequest(input)
1165	req.SetContext(ctx)
1166	req.ApplyOptions(opts...)
1167	return out, req.Send()
1168}
1169
1170const opDeleteFleet = "DeleteFleet"
1171
1172// DeleteFleetRequest generates a "aws/request.Request" representing the
1173// client's request for the DeleteFleet operation. The "output" return
1174// value will be populated with the request's response once the request completes
1175// successfully.
1176//
1177// Use "Send" method on the returned Request to send the API call to the service.
1178// the "output" return value is not valid until after Send returns without error.
1179//
1180// See DeleteFleet for more information on using the DeleteFleet
1181// API call, and error handling.
1182//
1183// This method is useful when you want to inject custom logic or configuration
1184// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1185//
1186//
1187//    // Example sending a request using the DeleteFleetRequest method.
1188//    req, resp := client.DeleteFleetRequest(params)
1189//
1190//    err := req.Send()
1191//    if err == nil { // resp is now filled
1192//        fmt.Println(resp)
1193//    }
1194//
1195// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
1196func (c *RoboMaker) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
1197	op := &request.Operation{
1198		Name:       opDeleteFleet,
1199		HTTPMethod: "POST",
1200		HTTPPath:   "/deleteFleet",
1201	}
1202
1203	if input == nil {
1204		input = &DeleteFleetInput{}
1205	}
1206
1207	output = &DeleteFleetOutput{}
1208	req = c.newRequest(op, input, output)
1209	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1210	return
1211}
1212
1213// DeleteFleet API operation for AWS RoboMaker.
1214//
1215// Deletes a fleet.
1216//
1217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1218// with awserr.Error's Code and Message methods to get detailed information about
1219// the error.
1220//
1221// See the AWS API reference guide for AWS RoboMaker's
1222// API operation DeleteFleet for usage and error information.
1223//
1224// Returned Error Types:
1225//   * InvalidParameterException
1226//   A parameter specified in a request is not valid, is unsupported, or cannot
1227//   be used. The returned message provides an explanation of the error value.
1228//
1229//   * InternalServerException
1230//   AWS RoboMaker experienced a service issue. Try your call again.
1231//
1232//   * ThrottlingException
1233//   AWS RoboMaker is temporarily unable to process the request. Try your call
1234//   again.
1235//
1236// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
1237func (c *RoboMaker) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
1238	req, out := c.DeleteFleetRequest(input)
1239	return out, req.Send()
1240}
1241
1242// DeleteFleetWithContext is the same as DeleteFleet with the addition of
1243// the ability to pass a context and additional request options.
1244//
1245// See DeleteFleet for details on how to use this API operation.
1246//
1247// The context must be non-nil and will be used for request cancellation. If
1248// the context is nil a panic will occur. In the future the SDK may create
1249// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1250// for more information on using Contexts.
1251func (c *RoboMaker) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
1252	req, out := c.DeleteFleetRequest(input)
1253	req.SetContext(ctx)
1254	req.ApplyOptions(opts...)
1255	return out, req.Send()
1256}
1257
1258const opDeleteRobot = "DeleteRobot"
1259
1260// DeleteRobotRequest generates a "aws/request.Request" representing the
1261// client's request for the DeleteRobot operation. The "output" return
1262// value will be populated with the request's response once the request completes
1263// successfully.
1264//
1265// Use "Send" method on the returned Request to send the API call to the service.
1266// the "output" return value is not valid until after Send returns without error.
1267//
1268// See DeleteRobot for more information on using the DeleteRobot
1269// API call, and error handling.
1270//
1271// This method is useful when you want to inject custom logic or configuration
1272// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1273//
1274//
1275//    // Example sending a request using the DeleteRobotRequest method.
1276//    req, resp := client.DeleteRobotRequest(params)
1277//
1278//    err := req.Send()
1279//    if err == nil { // resp is now filled
1280//        fmt.Println(resp)
1281//    }
1282//
1283// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
1284func (c *RoboMaker) DeleteRobotRequest(input *DeleteRobotInput) (req *request.Request, output *DeleteRobotOutput) {
1285	op := &request.Operation{
1286		Name:       opDeleteRobot,
1287		HTTPMethod: "POST",
1288		HTTPPath:   "/deleteRobot",
1289	}
1290
1291	if input == nil {
1292		input = &DeleteRobotInput{}
1293	}
1294
1295	output = &DeleteRobotOutput{}
1296	req = c.newRequest(op, input, output)
1297	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1298	return
1299}
1300
1301// DeleteRobot API operation for AWS RoboMaker.
1302//
1303// Deletes a robot.
1304//
1305// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1306// with awserr.Error's Code and Message methods to get detailed information about
1307// the error.
1308//
1309// See the AWS API reference guide for AWS RoboMaker's
1310// API operation DeleteRobot for usage and error information.
1311//
1312// Returned Error Types:
1313//   * InvalidParameterException
1314//   A parameter specified in a request is not valid, is unsupported, or cannot
1315//   be used. The returned message provides an explanation of the error value.
1316//
1317//   * InternalServerException
1318//   AWS RoboMaker experienced a service issue. Try your call again.
1319//
1320//   * ThrottlingException
1321//   AWS RoboMaker is temporarily unable to process the request. Try your call
1322//   again.
1323//
1324// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
1325func (c *RoboMaker) DeleteRobot(input *DeleteRobotInput) (*DeleteRobotOutput, error) {
1326	req, out := c.DeleteRobotRequest(input)
1327	return out, req.Send()
1328}
1329
1330// DeleteRobotWithContext is the same as DeleteRobot with the addition of
1331// the ability to pass a context and additional request options.
1332//
1333// See DeleteRobot for details on how to use this API operation.
1334//
1335// The context must be non-nil and will be used for request cancellation. If
1336// the context is nil a panic will occur. In the future the SDK may create
1337// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1338// for more information on using Contexts.
1339func (c *RoboMaker) DeleteRobotWithContext(ctx aws.Context, input *DeleteRobotInput, opts ...request.Option) (*DeleteRobotOutput, error) {
1340	req, out := c.DeleteRobotRequest(input)
1341	req.SetContext(ctx)
1342	req.ApplyOptions(opts...)
1343	return out, req.Send()
1344}
1345
1346const opDeleteRobotApplication = "DeleteRobotApplication"
1347
1348// DeleteRobotApplicationRequest generates a "aws/request.Request" representing the
1349// client's request for the DeleteRobotApplication operation. The "output" return
1350// value will be populated with the request's response once the request completes
1351// successfully.
1352//
1353// Use "Send" method on the returned Request to send the API call to the service.
1354// the "output" return value is not valid until after Send returns without error.
1355//
1356// See DeleteRobotApplication for more information on using the DeleteRobotApplication
1357// API call, and error handling.
1358//
1359// This method is useful when you want to inject custom logic or configuration
1360// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1361//
1362//
1363//    // Example sending a request using the DeleteRobotApplicationRequest method.
1364//    req, resp := client.DeleteRobotApplicationRequest(params)
1365//
1366//    err := req.Send()
1367//    if err == nil { // resp is now filled
1368//        fmt.Println(resp)
1369//    }
1370//
1371// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
1372func (c *RoboMaker) DeleteRobotApplicationRequest(input *DeleteRobotApplicationInput) (req *request.Request, output *DeleteRobotApplicationOutput) {
1373	op := &request.Operation{
1374		Name:       opDeleteRobotApplication,
1375		HTTPMethod: "POST",
1376		HTTPPath:   "/deleteRobotApplication",
1377	}
1378
1379	if input == nil {
1380		input = &DeleteRobotApplicationInput{}
1381	}
1382
1383	output = &DeleteRobotApplicationOutput{}
1384	req = c.newRequest(op, input, output)
1385	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1386	return
1387}
1388
1389// DeleteRobotApplication API operation for AWS RoboMaker.
1390//
1391// Deletes a robot application.
1392//
1393// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1394// with awserr.Error's Code and Message methods to get detailed information about
1395// the error.
1396//
1397// See the AWS API reference guide for AWS RoboMaker's
1398// API operation DeleteRobotApplication for usage and error information.
1399//
1400// Returned Error Types:
1401//   * InvalidParameterException
1402//   A parameter specified in a request is not valid, is unsupported, or cannot
1403//   be used. The returned message provides an explanation of the error value.
1404//
1405//   * ThrottlingException
1406//   AWS RoboMaker is temporarily unable to process the request. Try your call
1407//   again.
1408//
1409//   * InternalServerException
1410//   AWS RoboMaker experienced a service issue. Try your call again.
1411//
1412// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
1413func (c *RoboMaker) DeleteRobotApplication(input *DeleteRobotApplicationInput) (*DeleteRobotApplicationOutput, error) {
1414	req, out := c.DeleteRobotApplicationRequest(input)
1415	return out, req.Send()
1416}
1417
1418// DeleteRobotApplicationWithContext is the same as DeleteRobotApplication with the addition of
1419// the ability to pass a context and additional request options.
1420//
1421// See DeleteRobotApplication for details on how to use this API operation.
1422//
1423// The context must be non-nil and will be used for request cancellation. If
1424// the context is nil a panic will occur. In the future the SDK may create
1425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1426// for more information on using Contexts.
1427func (c *RoboMaker) DeleteRobotApplicationWithContext(ctx aws.Context, input *DeleteRobotApplicationInput, opts ...request.Option) (*DeleteRobotApplicationOutput, error) {
1428	req, out := c.DeleteRobotApplicationRequest(input)
1429	req.SetContext(ctx)
1430	req.ApplyOptions(opts...)
1431	return out, req.Send()
1432}
1433
1434const opDeleteSimulationApplication = "DeleteSimulationApplication"
1435
1436// DeleteSimulationApplicationRequest generates a "aws/request.Request" representing the
1437// client's request for the DeleteSimulationApplication operation. The "output" return
1438// value will be populated with the request's response once the request completes
1439// successfully.
1440//
1441// Use "Send" method on the returned Request to send the API call to the service.
1442// the "output" return value is not valid until after Send returns without error.
1443//
1444// See DeleteSimulationApplication for more information on using the DeleteSimulationApplication
1445// API call, and error handling.
1446//
1447// This method is useful when you want to inject custom logic or configuration
1448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1449//
1450//
1451//    // Example sending a request using the DeleteSimulationApplicationRequest method.
1452//    req, resp := client.DeleteSimulationApplicationRequest(params)
1453//
1454//    err := req.Send()
1455//    if err == nil { // resp is now filled
1456//        fmt.Println(resp)
1457//    }
1458//
1459// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
1460func (c *RoboMaker) DeleteSimulationApplicationRequest(input *DeleteSimulationApplicationInput) (req *request.Request, output *DeleteSimulationApplicationOutput) {
1461	op := &request.Operation{
1462		Name:       opDeleteSimulationApplication,
1463		HTTPMethod: "POST",
1464		HTTPPath:   "/deleteSimulationApplication",
1465	}
1466
1467	if input == nil {
1468		input = &DeleteSimulationApplicationInput{}
1469	}
1470
1471	output = &DeleteSimulationApplicationOutput{}
1472	req = c.newRequest(op, input, output)
1473	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1474	return
1475}
1476
1477// DeleteSimulationApplication API operation for AWS RoboMaker.
1478//
1479// Deletes a simulation application.
1480//
1481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1482// with awserr.Error's Code and Message methods to get detailed information about
1483// the error.
1484//
1485// See the AWS API reference guide for AWS RoboMaker's
1486// API operation DeleteSimulationApplication for usage and error information.
1487//
1488// Returned Error Types:
1489//   * InvalidParameterException
1490//   A parameter specified in a request is not valid, is unsupported, or cannot
1491//   be used. The returned message provides an explanation of the error value.
1492//
1493//   * ThrottlingException
1494//   AWS RoboMaker is temporarily unable to process the request. Try your call
1495//   again.
1496//
1497//   * InternalServerException
1498//   AWS RoboMaker experienced a service issue. Try your call again.
1499//
1500// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
1501func (c *RoboMaker) DeleteSimulationApplication(input *DeleteSimulationApplicationInput) (*DeleteSimulationApplicationOutput, error) {
1502	req, out := c.DeleteSimulationApplicationRequest(input)
1503	return out, req.Send()
1504}
1505
1506// DeleteSimulationApplicationWithContext is the same as DeleteSimulationApplication with the addition of
1507// the ability to pass a context and additional request options.
1508//
1509// See DeleteSimulationApplication for details on how to use this API operation.
1510//
1511// The context must be non-nil and will be used for request cancellation. If
1512// the context is nil a panic will occur. In the future the SDK may create
1513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1514// for more information on using Contexts.
1515func (c *RoboMaker) DeleteSimulationApplicationWithContext(ctx aws.Context, input *DeleteSimulationApplicationInput, opts ...request.Option) (*DeleteSimulationApplicationOutput, error) {
1516	req, out := c.DeleteSimulationApplicationRequest(input)
1517	req.SetContext(ctx)
1518	req.ApplyOptions(opts...)
1519	return out, req.Send()
1520}
1521
1522const opDeregisterRobot = "DeregisterRobot"
1523
1524// DeregisterRobotRequest generates a "aws/request.Request" representing the
1525// client's request for the DeregisterRobot operation. The "output" return
1526// value will be populated with the request's response once the request completes
1527// successfully.
1528//
1529// Use "Send" method on the returned Request to send the API call to the service.
1530// the "output" return value is not valid until after Send returns without error.
1531//
1532// See DeregisterRobot for more information on using the DeregisterRobot
1533// API call, and error handling.
1534//
1535// This method is useful when you want to inject custom logic or configuration
1536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1537//
1538//
1539//    // Example sending a request using the DeregisterRobotRequest method.
1540//    req, resp := client.DeregisterRobotRequest(params)
1541//
1542//    err := req.Send()
1543//    if err == nil { // resp is now filled
1544//        fmt.Println(resp)
1545//    }
1546//
1547// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
1548func (c *RoboMaker) DeregisterRobotRequest(input *DeregisterRobotInput) (req *request.Request, output *DeregisterRobotOutput) {
1549	op := &request.Operation{
1550		Name:       opDeregisterRobot,
1551		HTTPMethod: "POST",
1552		HTTPPath:   "/deregisterRobot",
1553	}
1554
1555	if input == nil {
1556		input = &DeregisterRobotInput{}
1557	}
1558
1559	output = &DeregisterRobotOutput{}
1560	req = c.newRequest(op, input, output)
1561	return
1562}
1563
1564// DeregisterRobot API operation for AWS RoboMaker.
1565//
1566// Deregisters a robot.
1567//
1568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1569// with awserr.Error's Code and Message methods to get detailed information about
1570// the error.
1571//
1572// See the AWS API reference guide for AWS RoboMaker's
1573// API operation DeregisterRobot for usage and error information.
1574//
1575// Returned Error Types:
1576//   * InvalidParameterException
1577//   A parameter specified in a request is not valid, is unsupported, or cannot
1578//   be used. The returned message provides an explanation of the error value.
1579//
1580//   * InternalServerException
1581//   AWS RoboMaker experienced a service issue. Try your call again.
1582//
1583//   * ThrottlingException
1584//   AWS RoboMaker is temporarily unable to process the request. Try your call
1585//   again.
1586//
1587//   * ResourceNotFoundException
1588//   The specified resource does not exist.
1589//
1590// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
1591func (c *RoboMaker) DeregisterRobot(input *DeregisterRobotInput) (*DeregisterRobotOutput, error) {
1592	req, out := c.DeregisterRobotRequest(input)
1593	return out, req.Send()
1594}
1595
1596// DeregisterRobotWithContext is the same as DeregisterRobot with the addition of
1597// the ability to pass a context and additional request options.
1598//
1599// See DeregisterRobot for details on how to use this API operation.
1600//
1601// The context must be non-nil and will be used for request cancellation. If
1602// the context is nil a panic will occur. In the future the SDK may create
1603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1604// for more information on using Contexts.
1605func (c *RoboMaker) DeregisterRobotWithContext(ctx aws.Context, input *DeregisterRobotInput, opts ...request.Option) (*DeregisterRobotOutput, error) {
1606	req, out := c.DeregisterRobotRequest(input)
1607	req.SetContext(ctx)
1608	req.ApplyOptions(opts...)
1609	return out, req.Send()
1610}
1611
1612const opDescribeDeploymentJob = "DescribeDeploymentJob"
1613
1614// DescribeDeploymentJobRequest generates a "aws/request.Request" representing the
1615// client's request for the DescribeDeploymentJob operation. The "output" return
1616// value will be populated with the request's response once the request completes
1617// successfully.
1618//
1619// Use "Send" method on the returned Request to send the API call to the service.
1620// the "output" return value is not valid until after Send returns without error.
1621//
1622// See DescribeDeploymentJob for more information on using the DescribeDeploymentJob
1623// API call, and error handling.
1624//
1625// This method is useful when you want to inject custom logic or configuration
1626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1627//
1628//
1629//    // Example sending a request using the DescribeDeploymentJobRequest method.
1630//    req, resp := client.DescribeDeploymentJobRequest(params)
1631//
1632//    err := req.Send()
1633//    if err == nil { // resp is now filled
1634//        fmt.Println(resp)
1635//    }
1636//
1637// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
1638func (c *RoboMaker) DescribeDeploymentJobRequest(input *DescribeDeploymentJobInput) (req *request.Request, output *DescribeDeploymentJobOutput) {
1639	op := &request.Operation{
1640		Name:       opDescribeDeploymentJob,
1641		HTTPMethod: "POST",
1642		HTTPPath:   "/describeDeploymentJob",
1643	}
1644
1645	if input == nil {
1646		input = &DescribeDeploymentJobInput{}
1647	}
1648
1649	output = &DescribeDeploymentJobOutput{}
1650	req = c.newRequest(op, input, output)
1651	return
1652}
1653
1654// DescribeDeploymentJob API operation for AWS RoboMaker.
1655//
1656// Describes a deployment job.
1657//
1658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1659// with awserr.Error's Code and Message methods to get detailed information about
1660// the error.
1661//
1662// See the AWS API reference guide for AWS RoboMaker's
1663// API operation DescribeDeploymentJob for usage and error information.
1664//
1665// Returned Error Types:
1666//   * ResourceNotFoundException
1667//   The specified resource does not exist.
1668//
1669//   * InvalidParameterException
1670//   A parameter specified in a request is not valid, is unsupported, or cannot
1671//   be used. The returned message provides an explanation of the error value.
1672//
1673//   * InternalServerException
1674//   AWS RoboMaker experienced a service issue. Try your call again.
1675//
1676//   * ThrottlingException
1677//   AWS RoboMaker is temporarily unable to process the request. Try your call
1678//   again.
1679//
1680// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
1681func (c *RoboMaker) DescribeDeploymentJob(input *DescribeDeploymentJobInput) (*DescribeDeploymentJobOutput, error) {
1682	req, out := c.DescribeDeploymentJobRequest(input)
1683	return out, req.Send()
1684}
1685
1686// DescribeDeploymentJobWithContext is the same as DescribeDeploymentJob with the addition of
1687// the ability to pass a context and additional request options.
1688//
1689// See DescribeDeploymentJob for details on how to use this API operation.
1690//
1691// The context must be non-nil and will be used for request cancellation. If
1692// the context is nil a panic will occur. In the future the SDK may create
1693// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1694// for more information on using Contexts.
1695func (c *RoboMaker) DescribeDeploymentJobWithContext(ctx aws.Context, input *DescribeDeploymentJobInput, opts ...request.Option) (*DescribeDeploymentJobOutput, error) {
1696	req, out := c.DescribeDeploymentJobRequest(input)
1697	req.SetContext(ctx)
1698	req.ApplyOptions(opts...)
1699	return out, req.Send()
1700}
1701
1702const opDescribeFleet = "DescribeFleet"
1703
1704// DescribeFleetRequest generates a "aws/request.Request" representing the
1705// client's request for the DescribeFleet operation. The "output" return
1706// value will be populated with the request's response once the request completes
1707// successfully.
1708//
1709// Use "Send" method on the returned Request to send the API call to the service.
1710// the "output" return value is not valid until after Send returns without error.
1711//
1712// See DescribeFleet for more information on using the DescribeFleet
1713// API call, and error handling.
1714//
1715// This method is useful when you want to inject custom logic or configuration
1716// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1717//
1718//
1719//    // Example sending a request using the DescribeFleetRequest method.
1720//    req, resp := client.DescribeFleetRequest(params)
1721//
1722//    err := req.Send()
1723//    if err == nil { // resp is now filled
1724//        fmt.Println(resp)
1725//    }
1726//
1727// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
1728func (c *RoboMaker) DescribeFleetRequest(input *DescribeFleetInput) (req *request.Request, output *DescribeFleetOutput) {
1729	op := &request.Operation{
1730		Name:       opDescribeFleet,
1731		HTTPMethod: "POST",
1732		HTTPPath:   "/describeFleet",
1733	}
1734
1735	if input == nil {
1736		input = &DescribeFleetInput{}
1737	}
1738
1739	output = &DescribeFleetOutput{}
1740	req = c.newRequest(op, input, output)
1741	return
1742}
1743
1744// DescribeFleet API operation for AWS RoboMaker.
1745//
1746// Describes a fleet.
1747//
1748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1749// with awserr.Error's Code and Message methods to get detailed information about
1750// the error.
1751//
1752// See the AWS API reference guide for AWS RoboMaker's
1753// API operation DescribeFleet for usage and error information.
1754//
1755// Returned Error Types:
1756//   * ResourceNotFoundException
1757//   The specified resource does not exist.
1758//
1759//   * InvalidParameterException
1760//   A parameter specified in a request is not valid, is unsupported, or cannot
1761//   be used. The returned message provides an explanation of the error value.
1762//
1763//   * InternalServerException
1764//   AWS RoboMaker experienced a service issue. Try your call again.
1765//
1766//   * ThrottlingException
1767//   AWS RoboMaker is temporarily unable to process the request. Try your call
1768//   again.
1769//
1770// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
1771func (c *RoboMaker) DescribeFleet(input *DescribeFleetInput) (*DescribeFleetOutput, error) {
1772	req, out := c.DescribeFleetRequest(input)
1773	return out, req.Send()
1774}
1775
1776// DescribeFleetWithContext is the same as DescribeFleet with the addition of
1777// the ability to pass a context and additional request options.
1778//
1779// See DescribeFleet for details on how to use this API operation.
1780//
1781// The context must be non-nil and will be used for request cancellation. If
1782// the context is nil a panic will occur. In the future the SDK may create
1783// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1784// for more information on using Contexts.
1785func (c *RoboMaker) DescribeFleetWithContext(ctx aws.Context, input *DescribeFleetInput, opts ...request.Option) (*DescribeFleetOutput, error) {
1786	req, out := c.DescribeFleetRequest(input)
1787	req.SetContext(ctx)
1788	req.ApplyOptions(opts...)
1789	return out, req.Send()
1790}
1791
1792const opDescribeRobot = "DescribeRobot"
1793
1794// DescribeRobotRequest generates a "aws/request.Request" representing the
1795// client's request for the DescribeRobot operation. The "output" return
1796// value will be populated with the request's response once the request completes
1797// successfully.
1798//
1799// Use "Send" method on the returned Request to send the API call to the service.
1800// the "output" return value is not valid until after Send returns without error.
1801//
1802// See DescribeRobot for more information on using the DescribeRobot
1803// API call, and error handling.
1804//
1805// This method is useful when you want to inject custom logic or configuration
1806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1807//
1808//
1809//    // Example sending a request using the DescribeRobotRequest method.
1810//    req, resp := client.DescribeRobotRequest(params)
1811//
1812//    err := req.Send()
1813//    if err == nil { // resp is now filled
1814//        fmt.Println(resp)
1815//    }
1816//
1817// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
1818func (c *RoboMaker) DescribeRobotRequest(input *DescribeRobotInput) (req *request.Request, output *DescribeRobotOutput) {
1819	op := &request.Operation{
1820		Name:       opDescribeRobot,
1821		HTTPMethod: "POST",
1822		HTTPPath:   "/describeRobot",
1823	}
1824
1825	if input == nil {
1826		input = &DescribeRobotInput{}
1827	}
1828
1829	output = &DescribeRobotOutput{}
1830	req = c.newRequest(op, input, output)
1831	return
1832}
1833
1834// DescribeRobot API operation for AWS RoboMaker.
1835//
1836// Describes a robot.
1837//
1838// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1839// with awserr.Error's Code and Message methods to get detailed information about
1840// the error.
1841//
1842// See the AWS API reference guide for AWS RoboMaker's
1843// API operation DescribeRobot for usage and error information.
1844//
1845// Returned Error Types:
1846//   * ResourceNotFoundException
1847//   The specified resource does not exist.
1848//
1849//   * InvalidParameterException
1850//   A parameter specified in a request is not valid, is unsupported, or cannot
1851//   be used. The returned message provides an explanation of the error value.
1852//
1853//   * InternalServerException
1854//   AWS RoboMaker experienced a service issue. Try your call again.
1855//
1856//   * ThrottlingException
1857//   AWS RoboMaker is temporarily unable to process the request. Try your call
1858//   again.
1859//
1860// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
1861func (c *RoboMaker) DescribeRobot(input *DescribeRobotInput) (*DescribeRobotOutput, error) {
1862	req, out := c.DescribeRobotRequest(input)
1863	return out, req.Send()
1864}
1865
1866// DescribeRobotWithContext is the same as DescribeRobot with the addition of
1867// the ability to pass a context and additional request options.
1868//
1869// See DescribeRobot for details on how to use this API operation.
1870//
1871// The context must be non-nil and will be used for request cancellation. If
1872// the context is nil a panic will occur. In the future the SDK may create
1873// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1874// for more information on using Contexts.
1875func (c *RoboMaker) DescribeRobotWithContext(ctx aws.Context, input *DescribeRobotInput, opts ...request.Option) (*DescribeRobotOutput, error) {
1876	req, out := c.DescribeRobotRequest(input)
1877	req.SetContext(ctx)
1878	req.ApplyOptions(opts...)
1879	return out, req.Send()
1880}
1881
1882const opDescribeRobotApplication = "DescribeRobotApplication"
1883
1884// DescribeRobotApplicationRequest generates a "aws/request.Request" representing the
1885// client's request for the DescribeRobotApplication operation. The "output" return
1886// value will be populated with the request's response once the request completes
1887// successfully.
1888//
1889// Use "Send" method on the returned Request to send the API call to the service.
1890// the "output" return value is not valid until after Send returns without error.
1891//
1892// See DescribeRobotApplication for more information on using the DescribeRobotApplication
1893// API call, and error handling.
1894//
1895// This method is useful when you want to inject custom logic or configuration
1896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1897//
1898//
1899//    // Example sending a request using the DescribeRobotApplicationRequest method.
1900//    req, resp := client.DescribeRobotApplicationRequest(params)
1901//
1902//    err := req.Send()
1903//    if err == nil { // resp is now filled
1904//        fmt.Println(resp)
1905//    }
1906//
1907// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
1908func (c *RoboMaker) DescribeRobotApplicationRequest(input *DescribeRobotApplicationInput) (req *request.Request, output *DescribeRobotApplicationOutput) {
1909	op := &request.Operation{
1910		Name:       opDescribeRobotApplication,
1911		HTTPMethod: "POST",
1912		HTTPPath:   "/describeRobotApplication",
1913	}
1914
1915	if input == nil {
1916		input = &DescribeRobotApplicationInput{}
1917	}
1918
1919	output = &DescribeRobotApplicationOutput{}
1920	req = c.newRequest(op, input, output)
1921	return
1922}
1923
1924// DescribeRobotApplication API operation for AWS RoboMaker.
1925//
1926// Describes a robot application.
1927//
1928// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1929// with awserr.Error's Code and Message methods to get detailed information about
1930// the error.
1931//
1932// See the AWS API reference guide for AWS RoboMaker's
1933// API operation DescribeRobotApplication for usage and error information.
1934//
1935// Returned Error Types:
1936//   * InvalidParameterException
1937//   A parameter specified in a request is not valid, is unsupported, or cannot
1938//   be used. The returned message provides an explanation of the error value.
1939//
1940//   * ResourceNotFoundException
1941//   The specified resource does not exist.
1942//
1943//   * ThrottlingException
1944//   AWS RoboMaker is temporarily unable to process the request. Try your call
1945//   again.
1946//
1947//   * InternalServerException
1948//   AWS RoboMaker experienced a service issue. Try your call again.
1949//
1950// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
1951func (c *RoboMaker) DescribeRobotApplication(input *DescribeRobotApplicationInput) (*DescribeRobotApplicationOutput, error) {
1952	req, out := c.DescribeRobotApplicationRequest(input)
1953	return out, req.Send()
1954}
1955
1956// DescribeRobotApplicationWithContext is the same as DescribeRobotApplication with the addition of
1957// the ability to pass a context and additional request options.
1958//
1959// See DescribeRobotApplication for details on how to use this API operation.
1960//
1961// The context must be non-nil and will be used for request cancellation. If
1962// the context is nil a panic will occur. In the future the SDK may create
1963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1964// for more information on using Contexts.
1965func (c *RoboMaker) DescribeRobotApplicationWithContext(ctx aws.Context, input *DescribeRobotApplicationInput, opts ...request.Option) (*DescribeRobotApplicationOutput, error) {
1966	req, out := c.DescribeRobotApplicationRequest(input)
1967	req.SetContext(ctx)
1968	req.ApplyOptions(opts...)
1969	return out, req.Send()
1970}
1971
1972const opDescribeSimulationApplication = "DescribeSimulationApplication"
1973
1974// DescribeSimulationApplicationRequest generates a "aws/request.Request" representing the
1975// client's request for the DescribeSimulationApplication operation. The "output" return
1976// value will be populated with the request's response once the request completes
1977// successfully.
1978//
1979// Use "Send" method on the returned Request to send the API call to the service.
1980// the "output" return value is not valid until after Send returns without error.
1981//
1982// See DescribeSimulationApplication for more information on using the DescribeSimulationApplication
1983// API call, and error handling.
1984//
1985// This method is useful when you want to inject custom logic or configuration
1986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1987//
1988//
1989//    // Example sending a request using the DescribeSimulationApplicationRequest method.
1990//    req, resp := client.DescribeSimulationApplicationRequest(params)
1991//
1992//    err := req.Send()
1993//    if err == nil { // resp is now filled
1994//        fmt.Println(resp)
1995//    }
1996//
1997// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
1998func (c *RoboMaker) DescribeSimulationApplicationRequest(input *DescribeSimulationApplicationInput) (req *request.Request, output *DescribeSimulationApplicationOutput) {
1999	op := &request.Operation{
2000		Name:       opDescribeSimulationApplication,
2001		HTTPMethod: "POST",
2002		HTTPPath:   "/describeSimulationApplication",
2003	}
2004
2005	if input == nil {
2006		input = &DescribeSimulationApplicationInput{}
2007	}
2008
2009	output = &DescribeSimulationApplicationOutput{}
2010	req = c.newRequest(op, input, output)
2011	return
2012}
2013
2014// DescribeSimulationApplication API operation for AWS RoboMaker.
2015//
2016// Describes a simulation application.
2017//
2018// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2019// with awserr.Error's Code and Message methods to get detailed information about
2020// the error.
2021//
2022// See the AWS API reference guide for AWS RoboMaker's
2023// API operation DescribeSimulationApplication for usage and error information.
2024//
2025// Returned Error Types:
2026//   * InvalidParameterException
2027//   A parameter specified in a request is not valid, is unsupported, or cannot
2028//   be used. The returned message provides an explanation of the error value.
2029//
2030//   * ResourceNotFoundException
2031//   The specified resource does not exist.
2032//
2033//   * ThrottlingException
2034//   AWS RoboMaker is temporarily unable to process the request. Try your call
2035//   again.
2036//
2037//   * InternalServerException
2038//   AWS RoboMaker experienced a service issue. Try your call again.
2039//
2040// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
2041func (c *RoboMaker) DescribeSimulationApplication(input *DescribeSimulationApplicationInput) (*DescribeSimulationApplicationOutput, error) {
2042	req, out := c.DescribeSimulationApplicationRequest(input)
2043	return out, req.Send()
2044}
2045
2046// DescribeSimulationApplicationWithContext is the same as DescribeSimulationApplication with the addition of
2047// the ability to pass a context and additional request options.
2048//
2049// See DescribeSimulationApplication for details on how to use this API operation.
2050//
2051// The context must be non-nil and will be used for request cancellation. If
2052// the context is nil a panic will occur. In the future the SDK may create
2053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2054// for more information on using Contexts.
2055func (c *RoboMaker) DescribeSimulationApplicationWithContext(ctx aws.Context, input *DescribeSimulationApplicationInput, opts ...request.Option) (*DescribeSimulationApplicationOutput, error) {
2056	req, out := c.DescribeSimulationApplicationRequest(input)
2057	req.SetContext(ctx)
2058	req.ApplyOptions(opts...)
2059	return out, req.Send()
2060}
2061
2062const opDescribeSimulationJob = "DescribeSimulationJob"
2063
2064// DescribeSimulationJobRequest generates a "aws/request.Request" representing the
2065// client's request for the DescribeSimulationJob operation. The "output" return
2066// value will be populated with the request's response once the request completes
2067// successfully.
2068//
2069// Use "Send" method on the returned Request to send the API call to the service.
2070// the "output" return value is not valid until after Send returns without error.
2071//
2072// See DescribeSimulationJob for more information on using the DescribeSimulationJob
2073// API call, and error handling.
2074//
2075// This method is useful when you want to inject custom logic or configuration
2076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2077//
2078//
2079//    // Example sending a request using the DescribeSimulationJobRequest method.
2080//    req, resp := client.DescribeSimulationJobRequest(params)
2081//
2082//    err := req.Send()
2083//    if err == nil { // resp is now filled
2084//        fmt.Println(resp)
2085//    }
2086//
2087// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
2088func (c *RoboMaker) DescribeSimulationJobRequest(input *DescribeSimulationJobInput) (req *request.Request, output *DescribeSimulationJobOutput) {
2089	op := &request.Operation{
2090		Name:       opDescribeSimulationJob,
2091		HTTPMethod: "POST",
2092		HTTPPath:   "/describeSimulationJob",
2093	}
2094
2095	if input == nil {
2096		input = &DescribeSimulationJobInput{}
2097	}
2098
2099	output = &DescribeSimulationJobOutput{}
2100	req = c.newRequest(op, input, output)
2101	return
2102}
2103
2104// DescribeSimulationJob API operation for AWS RoboMaker.
2105//
2106// Describes a simulation job.
2107//
2108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2109// with awserr.Error's Code and Message methods to get detailed information about
2110// the error.
2111//
2112// See the AWS API reference guide for AWS RoboMaker's
2113// API operation DescribeSimulationJob for usage and error information.
2114//
2115// Returned Error Types:
2116//   * ResourceNotFoundException
2117//   The specified resource does not exist.
2118//
2119//   * InvalidParameterException
2120//   A parameter specified in a request is not valid, is unsupported, or cannot
2121//   be used. The returned message provides an explanation of the error value.
2122//
2123//   * InternalServerException
2124//   AWS RoboMaker experienced a service issue. Try your call again.
2125//
2126//   * ThrottlingException
2127//   AWS RoboMaker is temporarily unable to process the request. Try your call
2128//   again.
2129//
2130// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
2131func (c *RoboMaker) DescribeSimulationJob(input *DescribeSimulationJobInput) (*DescribeSimulationJobOutput, error) {
2132	req, out := c.DescribeSimulationJobRequest(input)
2133	return out, req.Send()
2134}
2135
2136// DescribeSimulationJobWithContext is the same as DescribeSimulationJob with the addition of
2137// the ability to pass a context and additional request options.
2138//
2139// See DescribeSimulationJob for details on how to use this API operation.
2140//
2141// The context must be non-nil and will be used for request cancellation. If
2142// the context is nil a panic will occur. In the future the SDK may create
2143// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2144// for more information on using Contexts.
2145func (c *RoboMaker) DescribeSimulationJobWithContext(ctx aws.Context, input *DescribeSimulationJobInput, opts ...request.Option) (*DescribeSimulationJobOutput, error) {
2146	req, out := c.DescribeSimulationJobRequest(input)
2147	req.SetContext(ctx)
2148	req.ApplyOptions(opts...)
2149	return out, req.Send()
2150}
2151
2152const opDescribeSimulationJobBatch = "DescribeSimulationJobBatch"
2153
2154// DescribeSimulationJobBatchRequest generates a "aws/request.Request" representing the
2155// client's request for the DescribeSimulationJobBatch operation. The "output" return
2156// value will be populated with the request's response once the request completes
2157// successfully.
2158//
2159// Use "Send" method on the returned Request to send the API call to the service.
2160// the "output" return value is not valid until after Send returns without error.
2161//
2162// See DescribeSimulationJobBatch for more information on using the DescribeSimulationJobBatch
2163// API call, and error handling.
2164//
2165// This method is useful when you want to inject custom logic or configuration
2166// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2167//
2168//
2169//    // Example sending a request using the DescribeSimulationJobBatchRequest method.
2170//    req, resp := client.DescribeSimulationJobBatchRequest(params)
2171//
2172//    err := req.Send()
2173//    if err == nil { // resp is now filled
2174//        fmt.Println(resp)
2175//    }
2176//
2177// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJobBatch
2178func (c *RoboMaker) DescribeSimulationJobBatchRequest(input *DescribeSimulationJobBatchInput) (req *request.Request, output *DescribeSimulationJobBatchOutput) {
2179	op := &request.Operation{
2180		Name:       opDescribeSimulationJobBatch,
2181		HTTPMethod: "POST",
2182		HTTPPath:   "/describeSimulationJobBatch",
2183	}
2184
2185	if input == nil {
2186		input = &DescribeSimulationJobBatchInput{}
2187	}
2188
2189	output = &DescribeSimulationJobBatchOutput{}
2190	req = c.newRequest(op, input, output)
2191	return
2192}
2193
2194// DescribeSimulationJobBatch API operation for AWS RoboMaker.
2195//
2196// Describes a simulation job batch.
2197//
2198// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2199// with awserr.Error's Code and Message methods to get detailed information about
2200// the error.
2201//
2202// See the AWS API reference guide for AWS RoboMaker's
2203// API operation DescribeSimulationJobBatch for usage and error information.
2204//
2205// Returned Error Types:
2206//   * ResourceNotFoundException
2207//   The specified resource does not exist.
2208//
2209//   * InvalidParameterException
2210//   A parameter specified in a request is not valid, is unsupported, or cannot
2211//   be used. The returned message provides an explanation of the error value.
2212//
2213//   * InternalServerException
2214//   AWS RoboMaker experienced a service issue. Try your call again.
2215//
2216// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJobBatch
2217func (c *RoboMaker) DescribeSimulationJobBatch(input *DescribeSimulationJobBatchInput) (*DescribeSimulationJobBatchOutput, error) {
2218	req, out := c.DescribeSimulationJobBatchRequest(input)
2219	return out, req.Send()
2220}
2221
2222// DescribeSimulationJobBatchWithContext is the same as DescribeSimulationJobBatch with the addition of
2223// the ability to pass a context and additional request options.
2224//
2225// See DescribeSimulationJobBatch for details on how to use this API operation.
2226//
2227// The context must be non-nil and will be used for request cancellation. If
2228// the context is nil a panic will occur. In the future the SDK may create
2229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2230// for more information on using Contexts.
2231func (c *RoboMaker) DescribeSimulationJobBatchWithContext(ctx aws.Context, input *DescribeSimulationJobBatchInput, opts ...request.Option) (*DescribeSimulationJobBatchOutput, error) {
2232	req, out := c.DescribeSimulationJobBatchRequest(input)
2233	req.SetContext(ctx)
2234	req.ApplyOptions(opts...)
2235	return out, req.Send()
2236}
2237
2238const opListDeploymentJobs = "ListDeploymentJobs"
2239
2240// ListDeploymentJobsRequest generates a "aws/request.Request" representing the
2241// client's request for the ListDeploymentJobs operation. The "output" return
2242// value will be populated with the request's response once the request completes
2243// successfully.
2244//
2245// Use "Send" method on the returned Request to send the API call to the service.
2246// the "output" return value is not valid until after Send returns without error.
2247//
2248// See ListDeploymentJobs for more information on using the ListDeploymentJobs
2249// API call, and error handling.
2250//
2251// This method is useful when you want to inject custom logic or configuration
2252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2253//
2254//
2255//    // Example sending a request using the ListDeploymentJobsRequest method.
2256//    req, resp := client.ListDeploymentJobsRequest(params)
2257//
2258//    err := req.Send()
2259//    if err == nil { // resp is now filled
2260//        fmt.Println(resp)
2261//    }
2262//
2263// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
2264func (c *RoboMaker) ListDeploymentJobsRequest(input *ListDeploymentJobsInput) (req *request.Request, output *ListDeploymentJobsOutput) {
2265	op := &request.Operation{
2266		Name:       opListDeploymentJobs,
2267		HTTPMethod: "POST",
2268		HTTPPath:   "/listDeploymentJobs",
2269		Paginator: &request.Paginator{
2270			InputTokens:     []string{"nextToken"},
2271			OutputTokens:    []string{"nextToken"},
2272			LimitToken:      "maxResults",
2273			TruncationToken: "",
2274		},
2275	}
2276
2277	if input == nil {
2278		input = &ListDeploymentJobsInput{}
2279	}
2280
2281	output = &ListDeploymentJobsOutput{}
2282	req = c.newRequest(op, input, output)
2283	return
2284}
2285
2286// ListDeploymentJobs API operation for AWS RoboMaker.
2287//
2288// Returns a list of deployment jobs for a fleet. You can optionally provide
2289// filters to retrieve specific deployment jobs.
2290//
2291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2292// with awserr.Error's Code and Message methods to get detailed information about
2293// the error.
2294//
2295// See the AWS API reference guide for AWS RoboMaker's
2296// API operation ListDeploymentJobs for usage and error information.
2297//
2298// Returned Error Types:
2299//   * ResourceNotFoundException
2300//   The specified resource does not exist.
2301//
2302//   * InvalidParameterException
2303//   A parameter specified in a request is not valid, is unsupported, or cannot
2304//   be used. The returned message provides an explanation of the error value.
2305//
2306//   * InternalServerException
2307//   AWS RoboMaker experienced a service issue. Try your call again.
2308//
2309//   * ThrottlingException
2310//   AWS RoboMaker is temporarily unable to process the request. Try your call
2311//   again.
2312//
2313// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
2314func (c *RoboMaker) ListDeploymentJobs(input *ListDeploymentJobsInput) (*ListDeploymentJobsOutput, error) {
2315	req, out := c.ListDeploymentJobsRequest(input)
2316	return out, req.Send()
2317}
2318
2319// ListDeploymentJobsWithContext is the same as ListDeploymentJobs with the addition of
2320// the ability to pass a context and additional request options.
2321//
2322// See ListDeploymentJobs for details on how to use this API operation.
2323//
2324// The context must be non-nil and will be used for request cancellation. If
2325// the context is nil a panic will occur. In the future the SDK may create
2326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2327// for more information on using Contexts.
2328func (c *RoboMaker) ListDeploymentJobsWithContext(ctx aws.Context, input *ListDeploymentJobsInput, opts ...request.Option) (*ListDeploymentJobsOutput, error) {
2329	req, out := c.ListDeploymentJobsRequest(input)
2330	req.SetContext(ctx)
2331	req.ApplyOptions(opts...)
2332	return out, req.Send()
2333}
2334
2335// ListDeploymentJobsPages iterates over the pages of a ListDeploymentJobs operation,
2336// calling the "fn" function with the response data for each page. To stop
2337// iterating, return false from the fn function.
2338//
2339// See ListDeploymentJobs method for more information on how to use this operation.
2340//
2341// Note: This operation can generate multiple requests to a service.
2342//
2343//    // Example iterating over at most 3 pages of a ListDeploymentJobs operation.
2344//    pageNum := 0
2345//    err := client.ListDeploymentJobsPages(params,
2346//        func(page *robomaker.ListDeploymentJobsOutput, lastPage bool) bool {
2347//            pageNum++
2348//            fmt.Println(page)
2349//            return pageNum <= 3
2350//        })
2351//
2352func (c *RoboMaker) ListDeploymentJobsPages(input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool) error {
2353	return c.ListDeploymentJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2354}
2355
2356// ListDeploymentJobsPagesWithContext same as ListDeploymentJobsPages except
2357// it takes a Context and allows setting request options on the pages.
2358//
2359// The context must be non-nil and will be used for request cancellation. If
2360// the context is nil a panic will occur. In the future the SDK may create
2361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2362// for more information on using Contexts.
2363func (c *RoboMaker) ListDeploymentJobsPagesWithContext(ctx aws.Context, input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool, opts ...request.Option) error {
2364	p := request.Pagination{
2365		NewRequest: func() (*request.Request, error) {
2366			var inCpy *ListDeploymentJobsInput
2367			if input != nil {
2368				tmp := *input
2369				inCpy = &tmp
2370			}
2371			req, _ := c.ListDeploymentJobsRequest(inCpy)
2372			req.SetContext(ctx)
2373			req.ApplyOptions(opts...)
2374			return req, nil
2375		},
2376	}
2377
2378	for p.Next() {
2379		if !fn(p.Page().(*ListDeploymentJobsOutput), !p.HasNextPage()) {
2380			break
2381		}
2382	}
2383
2384	return p.Err()
2385}
2386
2387const opListFleets = "ListFleets"
2388
2389// ListFleetsRequest generates a "aws/request.Request" representing the
2390// client's request for the ListFleets operation. The "output" return
2391// value will be populated with the request's response once the request completes
2392// successfully.
2393//
2394// Use "Send" method on the returned Request to send the API call to the service.
2395// the "output" return value is not valid until after Send returns without error.
2396//
2397// See ListFleets for more information on using the ListFleets
2398// API call, and error handling.
2399//
2400// This method is useful when you want to inject custom logic or configuration
2401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2402//
2403//
2404//    // Example sending a request using the ListFleetsRequest method.
2405//    req, resp := client.ListFleetsRequest(params)
2406//
2407//    err := req.Send()
2408//    if err == nil { // resp is now filled
2409//        fmt.Println(resp)
2410//    }
2411//
2412// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
2413func (c *RoboMaker) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
2414	op := &request.Operation{
2415		Name:       opListFleets,
2416		HTTPMethod: "POST",
2417		HTTPPath:   "/listFleets",
2418		Paginator: &request.Paginator{
2419			InputTokens:     []string{"nextToken"},
2420			OutputTokens:    []string{"nextToken"},
2421			LimitToken:      "maxResults",
2422			TruncationToken: "",
2423		},
2424	}
2425
2426	if input == nil {
2427		input = &ListFleetsInput{}
2428	}
2429
2430	output = &ListFleetsOutput{}
2431	req = c.newRequest(op, input, output)
2432	return
2433}
2434
2435// ListFleets API operation for AWS RoboMaker.
2436//
2437// Returns a list of fleets. You can optionally provide filters to retrieve
2438// specific fleets.
2439//
2440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2441// with awserr.Error's Code and Message methods to get detailed information about
2442// the error.
2443//
2444// See the AWS API reference guide for AWS RoboMaker's
2445// API operation ListFleets for usage and error information.
2446//
2447// Returned Error Types:
2448//   * ResourceNotFoundException
2449//   The specified resource does not exist.
2450//
2451//   * InvalidParameterException
2452//   A parameter specified in a request is not valid, is unsupported, or cannot
2453//   be used. The returned message provides an explanation of the error value.
2454//
2455//   * InternalServerException
2456//   AWS RoboMaker experienced a service issue. Try your call again.
2457//
2458//   * ThrottlingException
2459//   AWS RoboMaker is temporarily unable to process the request. Try your call
2460//   again.
2461//
2462// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
2463func (c *RoboMaker) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
2464	req, out := c.ListFleetsRequest(input)
2465	return out, req.Send()
2466}
2467
2468// ListFleetsWithContext is the same as ListFleets with the addition of
2469// the ability to pass a context and additional request options.
2470//
2471// See ListFleets for details on how to use this API operation.
2472//
2473// The context must be non-nil and will be used for request cancellation. If
2474// the context is nil a panic will occur. In the future the SDK may create
2475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2476// for more information on using Contexts.
2477func (c *RoboMaker) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
2478	req, out := c.ListFleetsRequest(input)
2479	req.SetContext(ctx)
2480	req.ApplyOptions(opts...)
2481	return out, req.Send()
2482}
2483
2484// ListFleetsPages iterates over the pages of a ListFleets operation,
2485// calling the "fn" function with the response data for each page. To stop
2486// iterating, return false from the fn function.
2487//
2488// See ListFleets method for more information on how to use this operation.
2489//
2490// Note: This operation can generate multiple requests to a service.
2491//
2492//    // Example iterating over at most 3 pages of a ListFleets operation.
2493//    pageNum := 0
2494//    err := client.ListFleetsPages(params,
2495//        func(page *robomaker.ListFleetsOutput, lastPage bool) bool {
2496//            pageNum++
2497//            fmt.Println(page)
2498//            return pageNum <= 3
2499//        })
2500//
2501func (c *RoboMaker) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
2502	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
2503}
2504
2505// ListFleetsPagesWithContext same as ListFleetsPages except
2506// it takes a Context and allows setting request options on the pages.
2507//
2508// The context must be non-nil and will be used for request cancellation. If
2509// the context is nil a panic will occur. In the future the SDK may create
2510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2511// for more information on using Contexts.
2512func (c *RoboMaker) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
2513	p := request.Pagination{
2514		NewRequest: func() (*request.Request, error) {
2515			var inCpy *ListFleetsInput
2516			if input != nil {
2517				tmp := *input
2518				inCpy = &tmp
2519			}
2520			req, _ := c.ListFleetsRequest(inCpy)
2521			req.SetContext(ctx)
2522			req.ApplyOptions(opts...)
2523			return req, nil
2524		},
2525	}
2526
2527	for p.Next() {
2528		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
2529			break
2530		}
2531	}
2532
2533	return p.Err()
2534}
2535
2536const opListRobotApplications = "ListRobotApplications"
2537
2538// ListRobotApplicationsRequest generates a "aws/request.Request" representing the
2539// client's request for the ListRobotApplications operation. The "output" return
2540// value will be populated with the request's response once the request completes
2541// successfully.
2542//
2543// Use "Send" method on the returned Request to send the API call to the service.
2544// the "output" return value is not valid until after Send returns without error.
2545//
2546// See ListRobotApplications for more information on using the ListRobotApplications
2547// API call, and error handling.
2548//
2549// This method is useful when you want to inject custom logic or configuration
2550// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2551//
2552//
2553//    // Example sending a request using the ListRobotApplicationsRequest method.
2554//    req, resp := client.ListRobotApplicationsRequest(params)
2555//
2556//    err := req.Send()
2557//    if err == nil { // resp is now filled
2558//        fmt.Println(resp)
2559//    }
2560//
2561// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
2562func (c *RoboMaker) ListRobotApplicationsRequest(input *ListRobotApplicationsInput) (req *request.Request, output *ListRobotApplicationsOutput) {
2563	op := &request.Operation{
2564		Name:       opListRobotApplications,
2565		HTTPMethod: "POST",
2566		HTTPPath:   "/listRobotApplications",
2567		Paginator: &request.Paginator{
2568			InputTokens:     []string{"nextToken"},
2569			OutputTokens:    []string{"nextToken"},
2570			LimitToken:      "maxResults",
2571			TruncationToken: "",
2572		},
2573	}
2574
2575	if input == nil {
2576		input = &ListRobotApplicationsInput{}
2577	}
2578
2579	output = &ListRobotApplicationsOutput{}
2580	req = c.newRequest(op, input, output)
2581	return
2582}
2583
2584// ListRobotApplications API operation for AWS RoboMaker.
2585//
2586// Returns a list of robot application. You can optionally provide filters to
2587// retrieve specific robot applications.
2588//
2589// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2590// with awserr.Error's Code and Message methods to get detailed information about
2591// the error.
2592//
2593// See the AWS API reference guide for AWS RoboMaker's
2594// API operation ListRobotApplications for usage and error information.
2595//
2596// Returned Error Types:
2597//   * InvalidParameterException
2598//   A parameter specified in a request is not valid, is unsupported, or cannot
2599//   be used. The returned message provides an explanation of the error value.
2600//
2601//   * ThrottlingException
2602//   AWS RoboMaker is temporarily unable to process the request. Try your call
2603//   again.
2604//
2605//   * InternalServerException
2606//   AWS RoboMaker experienced a service issue. Try your call again.
2607//
2608// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
2609func (c *RoboMaker) ListRobotApplications(input *ListRobotApplicationsInput) (*ListRobotApplicationsOutput, error) {
2610	req, out := c.ListRobotApplicationsRequest(input)
2611	return out, req.Send()
2612}
2613
2614// ListRobotApplicationsWithContext is the same as ListRobotApplications with the addition of
2615// the ability to pass a context and additional request options.
2616//
2617// See ListRobotApplications for details on how to use this API operation.
2618//
2619// The context must be non-nil and will be used for request cancellation. If
2620// the context is nil a panic will occur. In the future the SDK may create
2621// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2622// for more information on using Contexts.
2623func (c *RoboMaker) ListRobotApplicationsWithContext(ctx aws.Context, input *ListRobotApplicationsInput, opts ...request.Option) (*ListRobotApplicationsOutput, error) {
2624	req, out := c.ListRobotApplicationsRequest(input)
2625	req.SetContext(ctx)
2626	req.ApplyOptions(opts...)
2627	return out, req.Send()
2628}
2629
2630// ListRobotApplicationsPages iterates over the pages of a ListRobotApplications operation,
2631// calling the "fn" function with the response data for each page. To stop
2632// iterating, return false from the fn function.
2633//
2634// See ListRobotApplications method for more information on how to use this operation.
2635//
2636// Note: This operation can generate multiple requests to a service.
2637//
2638//    // Example iterating over at most 3 pages of a ListRobotApplications operation.
2639//    pageNum := 0
2640//    err := client.ListRobotApplicationsPages(params,
2641//        func(page *robomaker.ListRobotApplicationsOutput, lastPage bool) bool {
2642//            pageNum++
2643//            fmt.Println(page)
2644//            return pageNum <= 3
2645//        })
2646//
2647func (c *RoboMaker) ListRobotApplicationsPages(input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool) error {
2648	return c.ListRobotApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
2649}
2650
2651// ListRobotApplicationsPagesWithContext same as ListRobotApplicationsPages except
2652// it takes a Context and allows setting request options on the pages.
2653//
2654// The context must be non-nil and will be used for request cancellation. If
2655// the context is nil a panic will occur. In the future the SDK may create
2656// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2657// for more information on using Contexts.
2658func (c *RoboMaker) ListRobotApplicationsPagesWithContext(ctx aws.Context, input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool, opts ...request.Option) error {
2659	p := request.Pagination{
2660		NewRequest: func() (*request.Request, error) {
2661			var inCpy *ListRobotApplicationsInput
2662			if input != nil {
2663				tmp := *input
2664				inCpy = &tmp
2665			}
2666			req, _ := c.ListRobotApplicationsRequest(inCpy)
2667			req.SetContext(ctx)
2668			req.ApplyOptions(opts...)
2669			return req, nil
2670		},
2671	}
2672
2673	for p.Next() {
2674		if !fn(p.Page().(*ListRobotApplicationsOutput), !p.HasNextPage()) {
2675			break
2676		}
2677	}
2678
2679	return p.Err()
2680}
2681
2682const opListRobots = "ListRobots"
2683
2684// ListRobotsRequest generates a "aws/request.Request" representing the
2685// client's request for the ListRobots operation. The "output" return
2686// value will be populated with the request's response once the request completes
2687// successfully.
2688//
2689// Use "Send" method on the returned Request to send the API call to the service.
2690// the "output" return value is not valid until after Send returns without error.
2691//
2692// See ListRobots for more information on using the ListRobots
2693// API call, and error handling.
2694//
2695// This method is useful when you want to inject custom logic or configuration
2696// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2697//
2698//
2699//    // Example sending a request using the ListRobotsRequest method.
2700//    req, resp := client.ListRobotsRequest(params)
2701//
2702//    err := req.Send()
2703//    if err == nil { // resp is now filled
2704//        fmt.Println(resp)
2705//    }
2706//
2707// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
2708func (c *RoboMaker) ListRobotsRequest(input *ListRobotsInput) (req *request.Request, output *ListRobotsOutput) {
2709	op := &request.Operation{
2710		Name:       opListRobots,
2711		HTTPMethod: "POST",
2712		HTTPPath:   "/listRobots",
2713		Paginator: &request.Paginator{
2714			InputTokens:     []string{"nextToken"},
2715			OutputTokens:    []string{"nextToken"},
2716			LimitToken:      "maxResults",
2717			TruncationToken: "",
2718		},
2719	}
2720
2721	if input == nil {
2722		input = &ListRobotsInput{}
2723	}
2724
2725	output = &ListRobotsOutput{}
2726	req = c.newRequest(op, input, output)
2727	return
2728}
2729
2730// ListRobots API operation for AWS RoboMaker.
2731//
2732// Returns a list of robots. You can optionally provide filters to retrieve
2733// specific robots.
2734//
2735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2736// with awserr.Error's Code and Message methods to get detailed information about
2737// the error.
2738//
2739// See the AWS API reference guide for AWS RoboMaker's
2740// API operation ListRobots for usage and error information.
2741//
2742// Returned Error Types:
2743//   * ResourceNotFoundException
2744//   The specified resource does not exist.
2745//
2746//   * InvalidParameterException
2747//   A parameter specified in a request is not valid, is unsupported, or cannot
2748//   be used. The returned message provides an explanation of the error value.
2749//
2750//   * InternalServerException
2751//   AWS RoboMaker experienced a service issue. Try your call again.
2752//
2753//   * ThrottlingException
2754//   AWS RoboMaker is temporarily unable to process the request. Try your call
2755//   again.
2756//
2757// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
2758func (c *RoboMaker) ListRobots(input *ListRobotsInput) (*ListRobotsOutput, error) {
2759	req, out := c.ListRobotsRequest(input)
2760	return out, req.Send()
2761}
2762
2763// ListRobotsWithContext is the same as ListRobots with the addition of
2764// the ability to pass a context and additional request options.
2765//
2766// See ListRobots for details on how to use this API operation.
2767//
2768// The context must be non-nil and will be used for request cancellation. If
2769// the context is nil a panic will occur. In the future the SDK may create
2770// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2771// for more information on using Contexts.
2772func (c *RoboMaker) ListRobotsWithContext(ctx aws.Context, input *ListRobotsInput, opts ...request.Option) (*ListRobotsOutput, error) {
2773	req, out := c.ListRobotsRequest(input)
2774	req.SetContext(ctx)
2775	req.ApplyOptions(opts...)
2776	return out, req.Send()
2777}
2778
2779// ListRobotsPages iterates over the pages of a ListRobots operation,
2780// calling the "fn" function with the response data for each page. To stop
2781// iterating, return false from the fn function.
2782//
2783// See ListRobots method for more information on how to use this operation.
2784//
2785// Note: This operation can generate multiple requests to a service.
2786//
2787//    // Example iterating over at most 3 pages of a ListRobots operation.
2788//    pageNum := 0
2789//    err := client.ListRobotsPages(params,
2790//        func(page *robomaker.ListRobotsOutput, lastPage bool) bool {
2791//            pageNum++
2792//            fmt.Println(page)
2793//            return pageNum <= 3
2794//        })
2795//
2796func (c *RoboMaker) ListRobotsPages(input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool) error {
2797	return c.ListRobotsPagesWithContext(aws.BackgroundContext(), input, fn)
2798}
2799
2800// ListRobotsPagesWithContext same as ListRobotsPages except
2801// it takes a Context and allows setting request options on the pages.
2802//
2803// The context must be non-nil and will be used for request cancellation. If
2804// the context is nil a panic will occur. In the future the SDK may create
2805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2806// for more information on using Contexts.
2807func (c *RoboMaker) ListRobotsPagesWithContext(ctx aws.Context, input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool, opts ...request.Option) error {
2808	p := request.Pagination{
2809		NewRequest: func() (*request.Request, error) {
2810			var inCpy *ListRobotsInput
2811			if input != nil {
2812				tmp := *input
2813				inCpy = &tmp
2814			}
2815			req, _ := c.ListRobotsRequest(inCpy)
2816			req.SetContext(ctx)
2817			req.ApplyOptions(opts...)
2818			return req, nil
2819		},
2820	}
2821
2822	for p.Next() {
2823		if !fn(p.Page().(*ListRobotsOutput), !p.HasNextPage()) {
2824			break
2825		}
2826	}
2827
2828	return p.Err()
2829}
2830
2831const opListSimulationApplications = "ListSimulationApplications"
2832
2833// ListSimulationApplicationsRequest generates a "aws/request.Request" representing the
2834// client's request for the ListSimulationApplications operation. The "output" return
2835// value will be populated with the request's response once the request completes
2836// successfully.
2837//
2838// Use "Send" method on the returned Request to send the API call to the service.
2839// the "output" return value is not valid until after Send returns without error.
2840//
2841// See ListSimulationApplications for more information on using the ListSimulationApplications
2842// API call, and error handling.
2843//
2844// This method is useful when you want to inject custom logic or configuration
2845// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2846//
2847//
2848//    // Example sending a request using the ListSimulationApplicationsRequest method.
2849//    req, resp := client.ListSimulationApplicationsRequest(params)
2850//
2851//    err := req.Send()
2852//    if err == nil { // resp is now filled
2853//        fmt.Println(resp)
2854//    }
2855//
2856// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
2857func (c *RoboMaker) ListSimulationApplicationsRequest(input *ListSimulationApplicationsInput) (req *request.Request, output *ListSimulationApplicationsOutput) {
2858	op := &request.Operation{
2859		Name:       opListSimulationApplications,
2860		HTTPMethod: "POST",
2861		HTTPPath:   "/listSimulationApplications",
2862		Paginator: &request.Paginator{
2863			InputTokens:     []string{"nextToken"},
2864			OutputTokens:    []string{"nextToken"},
2865			LimitToken:      "maxResults",
2866			TruncationToken: "",
2867		},
2868	}
2869
2870	if input == nil {
2871		input = &ListSimulationApplicationsInput{}
2872	}
2873
2874	output = &ListSimulationApplicationsOutput{}
2875	req = c.newRequest(op, input, output)
2876	return
2877}
2878
2879// ListSimulationApplications API operation for AWS RoboMaker.
2880//
2881// Returns a list of simulation applications. You can optionally provide filters
2882// to retrieve specific simulation applications.
2883//
2884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2885// with awserr.Error's Code and Message methods to get detailed information about
2886// the error.
2887//
2888// See the AWS API reference guide for AWS RoboMaker's
2889// API operation ListSimulationApplications for usage and error information.
2890//
2891// Returned Error Types:
2892//   * InvalidParameterException
2893//   A parameter specified in a request is not valid, is unsupported, or cannot
2894//   be used. The returned message provides an explanation of the error value.
2895//
2896//   * ThrottlingException
2897//   AWS RoboMaker is temporarily unable to process the request. Try your call
2898//   again.
2899//
2900//   * InternalServerException
2901//   AWS RoboMaker experienced a service issue. Try your call again.
2902//
2903// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
2904func (c *RoboMaker) ListSimulationApplications(input *ListSimulationApplicationsInput) (*ListSimulationApplicationsOutput, error) {
2905	req, out := c.ListSimulationApplicationsRequest(input)
2906	return out, req.Send()
2907}
2908
2909// ListSimulationApplicationsWithContext is the same as ListSimulationApplications with the addition of
2910// the ability to pass a context and additional request options.
2911//
2912// See ListSimulationApplications for details on how to use this API operation.
2913//
2914// The context must be non-nil and will be used for request cancellation. If
2915// the context is nil a panic will occur. In the future the SDK may create
2916// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2917// for more information on using Contexts.
2918func (c *RoboMaker) ListSimulationApplicationsWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, opts ...request.Option) (*ListSimulationApplicationsOutput, error) {
2919	req, out := c.ListSimulationApplicationsRequest(input)
2920	req.SetContext(ctx)
2921	req.ApplyOptions(opts...)
2922	return out, req.Send()
2923}
2924
2925// ListSimulationApplicationsPages iterates over the pages of a ListSimulationApplications operation,
2926// calling the "fn" function with the response data for each page. To stop
2927// iterating, return false from the fn function.
2928//
2929// See ListSimulationApplications method for more information on how to use this operation.
2930//
2931// Note: This operation can generate multiple requests to a service.
2932//
2933//    // Example iterating over at most 3 pages of a ListSimulationApplications operation.
2934//    pageNum := 0
2935//    err := client.ListSimulationApplicationsPages(params,
2936//        func(page *robomaker.ListSimulationApplicationsOutput, lastPage bool) bool {
2937//            pageNum++
2938//            fmt.Println(page)
2939//            return pageNum <= 3
2940//        })
2941//
2942func (c *RoboMaker) ListSimulationApplicationsPages(input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool) error {
2943	return c.ListSimulationApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
2944}
2945
2946// ListSimulationApplicationsPagesWithContext same as ListSimulationApplicationsPages except
2947// it takes a Context and allows setting request options on the pages.
2948//
2949// The context must be non-nil and will be used for request cancellation. If
2950// the context is nil a panic will occur. In the future the SDK may create
2951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2952// for more information on using Contexts.
2953func (c *RoboMaker) ListSimulationApplicationsPagesWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool, opts ...request.Option) error {
2954	p := request.Pagination{
2955		NewRequest: func() (*request.Request, error) {
2956			var inCpy *ListSimulationApplicationsInput
2957			if input != nil {
2958				tmp := *input
2959				inCpy = &tmp
2960			}
2961			req, _ := c.ListSimulationApplicationsRequest(inCpy)
2962			req.SetContext(ctx)
2963			req.ApplyOptions(opts...)
2964			return req, nil
2965		},
2966	}
2967
2968	for p.Next() {
2969		if !fn(p.Page().(*ListSimulationApplicationsOutput), !p.HasNextPage()) {
2970			break
2971		}
2972	}
2973
2974	return p.Err()
2975}
2976
2977const opListSimulationJobBatches = "ListSimulationJobBatches"
2978
2979// ListSimulationJobBatchesRequest generates a "aws/request.Request" representing the
2980// client's request for the ListSimulationJobBatches operation. The "output" return
2981// value will be populated with the request's response once the request completes
2982// successfully.
2983//
2984// Use "Send" method on the returned Request to send the API call to the service.
2985// the "output" return value is not valid until after Send returns without error.
2986//
2987// See ListSimulationJobBatches for more information on using the ListSimulationJobBatches
2988// API call, and error handling.
2989//
2990// This method is useful when you want to inject custom logic or configuration
2991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2992//
2993//
2994//    // Example sending a request using the ListSimulationJobBatchesRequest method.
2995//    req, resp := client.ListSimulationJobBatchesRequest(params)
2996//
2997//    err := req.Send()
2998//    if err == nil { // resp is now filled
2999//        fmt.Println(resp)
3000//    }
3001//
3002// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobBatches
3003func (c *RoboMaker) ListSimulationJobBatchesRequest(input *ListSimulationJobBatchesInput) (req *request.Request, output *ListSimulationJobBatchesOutput) {
3004	op := &request.Operation{
3005		Name:       opListSimulationJobBatches,
3006		HTTPMethod: "POST",
3007		HTTPPath:   "/listSimulationJobBatches",
3008		Paginator: &request.Paginator{
3009			InputTokens:     []string{"nextToken"},
3010			OutputTokens:    []string{"nextToken"},
3011			LimitToken:      "maxResults",
3012			TruncationToken: "",
3013		},
3014	}
3015
3016	if input == nil {
3017		input = &ListSimulationJobBatchesInput{}
3018	}
3019
3020	output = &ListSimulationJobBatchesOutput{}
3021	req = c.newRequest(op, input, output)
3022	return
3023}
3024
3025// ListSimulationJobBatches API operation for AWS RoboMaker.
3026//
3027// Returns a list simulation job batches. You can optionally provide filters
3028// to retrieve specific simulation batch jobs.
3029//
3030// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3031// with awserr.Error's Code and Message methods to get detailed information about
3032// the error.
3033//
3034// See the AWS API reference guide for AWS RoboMaker's
3035// API operation ListSimulationJobBatches for usage and error information.
3036//
3037// Returned Error Types:
3038//   * InvalidParameterException
3039//   A parameter specified in a request is not valid, is unsupported, or cannot
3040//   be used. The returned message provides an explanation of the error value.
3041//
3042//   * InternalServerException
3043//   AWS RoboMaker experienced a service issue. Try your call again.
3044//
3045// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobBatches
3046func (c *RoboMaker) ListSimulationJobBatches(input *ListSimulationJobBatchesInput) (*ListSimulationJobBatchesOutput, error) {
3047	req, out := c.ListSimulationJobBatchesRequest(input)
3048	return out, req.Send()
3049}
3050
3051// ListSimulationJobBatchesWithContext is the same as ListSimulationJobBatches with the addition of
3052// the ability to pass a context and additional request options.
3053//
3054// See ListSimulationJobBatches for details on how to use this API operation.
3055//
3056// The context must be non-nil and will be used for request cancellation. If
3057// the context is nil a panic will occur. In the future the SDK may create
3058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3059// for more information on using Contexts.
3060func (c *RoboMaker) ListSimulationJobBatchesWithContext(ctx aws.Context, input *ListSimulationJobBatchesInput, opts ...request.Option) (*ListSimulationJobBatchesOutput, error) {
3061	req, out := c.ListSimulationJobBatchesRequest(input)
3062	req.SetContext(ctx)
3063	req.ApplyOptions(opts...)
3064	return out, req.Send()
3065}
3066
3067// ListSimulationJobBatchesPages iterates over the pages of a ListSimulationJobBatches operation,
3068// calling the "fn" function with the response data for each page. To stop
3069// iterating, return false from the fn function.
3070//
3071// See ListSimulationJobBatches method for more information on how to use this operation.
3072//
3073// Note: This operation can generate multiple requests to a service.
3074//
3075//    // Example iterating over at most 3 pages of a ListSimulationJobBatches operation.
3076//    pageNum := 0
3077//    err := client.ListSimulationJobBatchesPages(params,
3078//        func(page *robomaker.ListSimulationJobBatchesOutput, lastPage bool) bool {
3079//            pageNum++
3080//            fmt.Println(page)
3081//            return pageNum <= 3
3082//        })
3083//
3084func (c *RoboMaker) ListSimulationJobBatchesPages(input *ListSimulationJobBatchesInput, fn func(*ListSimulationJobBatchesOutput, bool) bool) error {
3085	return c.ListSimulationJobBatchesPagesWithContext(aws.BackgroundContext(), input, fn)
3086}
3087
3088// ListSimulationJobBatchesPagesWithContext same as ListSimulationJobBatchesPages except
3089// it takes a Context and allows setting request options on the pages.
3090//
3091// The context must be non-nil and will be used for request cancellation. If
3092// the context is nil a panic will occur. In the future the SDK may create
3093// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3094// for more information on using Contexts.
3095func (c *RoboMaker) ListSimulationJobBatchesPagesWithContext(ctx aws.Context, input *ListSimulationJobBatchesInput, fn func(*ListSimulationJobBatchesOutput, bool) bool, opts ...request.Option) error {
3096	p := request.Pagination{
3097		NewRequest: func() (*request.Request, error) {
3098			var inCpy *ListSimulationJobBatchesInput
3099			if input != nil {
3100				tmp := *input
3101				inCpy = &tmp
3102			}
3103			req, _ := c.ListSimulationJobBatchesRequest(inCpy)
3104			req.SetContext(ctx)
3105			req.ApplyOptions(opts...)
3106			return req, nil
3107		},
3108	}
3109
3110	for p.Next() {
3111		if !fn(p.Page().(*ListSimulationJobBatchesOutput), !p.HasNextPage()) {
3112			break
3113		}
3114	}
3115
3116	return p.Err()
3117}
3118
3119const opListSimulationJobs = "ListSimulationJobs"
3120
3121// ListSimulationJobsRequest generates a "aws/request.Request" representing the
3122// client's request for the ListSimulationJobs operation. The "output" return
3123// value will be populated with the request's response once the request completes
3124// successfully.
3125//
3126// Use "Send" method on the returned Request to send the API call to the service.
3127// the "output" return value is not valid until after Send returns without error.
3128//
3129// See ListSimulationJobs for more information on using the ListSimulationJobs
3130// API call, and error handling.
3131//
3132// This method is useful when you want to inject custom logic or configuration
3133// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3134//
3135//
3136//    // Example sending a request using the ListSimulationJobsRequest method.
3137//    req, resp := client.ListSimulationJobsRequest(params)
3138//
3139//    err := req.Send()
3140//    if err == nil { // resp is now filled
3141//        fmt.Println(resp)
3142//    }
3143//
3144// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
3145func (c *RoboMaker) ListSimulationJobsRequest(input *ListSimulationJobsInput) (req *request.Request, output *ListSimulationJobsOutput) {
3146	op := &request.Operation{
3147		Name:       opListSimulationJobs,
3148		HTTPMethod: "POST",
3149		HTTPPath:   "/listSimulationJobs",
3150		Paginator: &request.Paginator{
3151			InputTokens:     []string{"nextToken"},
3152			OutputTokens:    []string{"nextToken"},
3153			LimitToken:      "maxResults",
3154			TruncationToken: "",
3155		},
3156	}
3157
3158	if input == nil {
3159		input = &ListSimulationJobsInput{}
3160	}
3161
3162	output = &ListSimulationJobsOutput{}
3163	req = c.newRequest(op, input, output)
3164	return
3165}
3166
3167// ListSimulationJobs API operation for AWS RoboMaker.
3168//
3169// Returns a list of simulation jobs. You can optionally provide filters to
3170// retrieve specific simulation jobs.
3171//
3172// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3173// with awserr.Error's Code and Message methods to get detailed information about
3174// the error.
3175//
3176// See the AWS API reference guide for AWS RoboMaker's
3177// API operation ListSimulationJobs for usage and error information.
3178//
3179// Returned Error Types:
3180//   * InvalidParameterException
3181//   A parameter specified in a request is not valid, is unsupported, or cannot
3182//   be used. The returned message provides an explanation of the error value.
3183//
3184//   * InternalServerException
3185//   AWS RoboMaker experienced a service issue. Try your call again.
3186//
3187//   * ThrottlingException
3188//   AWS RoboMaker is temporarily unable to process the request. Try your call
3189//   again.
3190//
3191// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
3192func (c *RoboMaker) ListSimulationJobs(input *ListSimulationJobsInput) (*ListSimulationJobsOutput, error) {
3193	req, out := c.ListSimulationJobsRequest(input)
3194	return out, req.Send()
3195}
3196
3197// ListSimulationJobsWithContext is the same as ListSimulationJobs with the addition of
3198// the ability to pass a context and additional request options.
3199//
3200// See ListSimulationJobs for details on how to use this API operation.
3201//
3202// The context must be non-nil and will be used for request cancellation. If
3203// the context is nil a panic will occur. In the future the SDK may create
3204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3205// for more information on using Contexts.
3206func (c *RoboMaker) ListSimulationJobsWithContext(ctx aws.Context, input *ListSimulationJobsInput, opts ...request.Option) (*ListSimulationJobsOutput, error) {
3207	req, out := c.ListSimulationJobsRequest(input)
3208	req.SetContext(ctx)
3209	req.ApplyOptions(opts...)
3210	return out, req.Send()
3211}
3212
3213// ListSimulationJobsPages iterates over the pages of a ListSimulationJobs operation,
3214// calling the "fn" function with the response data for each page. To stop
3215// iterating, return false from the fn function.
3216//
3217// See ListSimulationJobs method for more information on how to use this operation.
3218//
3219// Note: This operation can generate multiple requests to a service.
3220//
3221//    // Example iterating over at most 3 pages of a ListSimulationJobs operation.
3222//    pageNum := 0
3223//    err := client.ListSimulationJobsPages(params,
3224//        func(page *robomaker.ListSimulationJobsOutput, lastPage bool) bool {
3225//            pageNum++
3226//            fmt.Println(page)
3227//            return pageNum <= 3
3228//        })
3229//
3230func (c *RoboMaker) ListSimulationJobsPages(input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool) error {
3231	return c.ListSimulationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3232}
3233
3234// ListSimulationJobsPagesWithContext same as ListSimulationJobsPages except
3235// it takes a Context and allows setting request options on the pages.
3236//
3237// The context must be non-nil and will be used for request cancellation. If
3238// the context is nil a panic will occur. In the future the SDK may create
3239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3240// for more information on using Contexts.
3241func (c *RoboMaker) ListSimulationJobsPagesWithContext(ctx aws.Context, input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool, opts ...request.Option) error {
3242	p := request.Pagination{
3243		NewRequest: func() (*request.Request, error) {
3244			var inCpy *ListSimulationJobsInput
3245			if input != nil {
3246				tmp := *input
3247				inCpy = &tmp
3248			}
3249			req, _ := c.ListSimulationJobsRequest(inCpy)
3250			req.SetContext(ctx)
3251			req.ApplyOptions(opts...)
3252			return req, nil
3253		},
3254	}
3255
3256	for p.Next() {
3257		if !fn(p.Page().(*ListSimulationJobsOutput), !p.HasNextPage()) {
3258			break
3259		}
3260	}
3261
3262	return p.Err()
3263}
3264
3265const opListTagsForResource = "ListTagsForResource"
3266
3267// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3268// client's request for the ListTagsForResource operation. The "output" return
3269// value will be populated with the request's response once the request completes
3270// successfully.
3271//
3272// Use "Send" method on the returned Request to send the API call to the service.
3273// the "output" return value is not valid until after Send returns without error.
3274//
3275// See ListTagsForResource for more information on using the ListTagsForResource
3276// API call, and error handling.
3277//
3278// This method is useful when you want to inject custom logic or configuration
3279// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3280//
3281//
3282//    // Example sending a request using the ListTagsForResourceRequest method.
3283//    req, resp := client.ListTagsForResourceRequest(params)
3284//
3285//    err := req.Send()
3286//    if err == nil { // resp is now filled
3287//        fmt.Println(resp)
3288//    }
3289//
3290// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
3291func (c *RoboMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3292	op := &request.Operation{
3293		Name:       opListTagsForResource,
3294		HTTPMethod: "GET",
3295		HTTPPath:   "/tags/{resourceArn}",
3296	}
3297
3298	if input == nil {
3299		input = &ListTagsForResourceInput{}
3300	}
3301
3302	output = &ListTagsForResourceOutput{}
3303	req = c.newRequest(op, input, output)
3304	return
3305}
3306
3307// ListTagsForResource API operation for AWS RoboMaker.
3308//
3309// Lists all tags on a AWS RoboMaker resource.
3310//
3311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3312// with awserr.Error's Code and Message methods to get detailed information about
3313// the error.
3314//
3315// See the AWS API reference guide for AWS RoboMaker's
3316// API operation ListTagsForResource for usage and error information.
3317//
3318// Returned Error Types:
3319//   * InternalServerException
3320//   AWS RoboMaker experienced a service issue. Try your call again.
3321//
3322//   * ResourceNotFoundException
3323//   The specified resource does not exist.
3324//
3325//   * InvalidParameterException
3326//   A parameter specified in a request is not valid, is unsupported, or cannot
3327//   be used. The returned message provides an explanation of the error value.
3328//
3329//   * ThrottlingException
3330//   AWS RoboMaker is temporarily unable to process the request. Try your call
3331//   again.
3332//
3333// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
3334func (c *RoboMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3335	req, out := c.ListTagsForResourceRequest(input)
3336	return out, req.Send()
3337}
3338
3339// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3340// the ability to pass a context and additional request options.
3341//
3342// See ListTagsForResource for details on how to use this API operation.
3343//
3344// The context must be non-nil and will be used for request cancellation. If
3345// the context is nil a panic will occur. In the future the SDK may create
3346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3347// for more information on using Contexts.
3348func (c *RoboMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3349	req, out := c.ListTagsForResourceRequest(input)
3350	req.SetContext(ctx)
3351	req.ApplyOptions(opts...)
3352	return out, req.Send()
3353}
3354
3355const opRegisterRobot = "RegisterRobot"
3356
3357// RegisterRobotRequest generates a "aws/request.Request" representing the
3358// client's request for the RegisterRobot operation. The "output" return
3359// value will be populated with the request's response once the request completes
3360// successfully.
3361//
3362// Use "Send" method on the returned Request to send the API call to the service.
3363// the "output" return value is not valid until after Send returns without error.
3364//
3365// See RegisterRobot for more information on using the RegisterRobot
3366// API call, and error handling.
3367//
3368// This method is useful when you want to inject custom logic or configuration
3369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3370//
3371//
3372//    // Example sending a request using the RegisterRobotRequest method.
3373//    req, resp := client.RegisterRobotRequest(params)
3374//
3375//    err := req.Send()
3376//    if err == nil { // resp is now filled
3377//        fmt.Println(resp)
3378//    }
3379//
3380// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
3381func (c *RoboMaker) RegisterRobotRequest(input *RegisterRobotInput) (req *request.Request, output *RegisterRobotOutput) {
3382	op := &request.Operation{
3383		Name:       opRegisterRobot,
3384		HTTPMethod: "POST",
3385		HTTPPath:   "/registerRobot",
3386	}
3387
3388	if input == nil {
3389		input = &RegisterRobotInput{}
3390	}
3391
3392	output = &RegisterRobotOutput{}
3393	req = c.newRequest(op, input, output)
3394	return
3395}
3396
3397// RegisterRobot API operation for AWS RoboMaker.
3398//
3399// Registers a robot with a fleet.
3400//
3401// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3402// with awserr.Error's Code and Message methods to get detailed information about
3403// the error.
3404//
3405// See the AWS API reference guide for AWS RoboMaker's
3406// API operation RegisterRobot for usage and error information.
3407//
3408// Returned Error Types:
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//   * LimitExceededException
3421//   The requested resource exceeds the maximum number allowed, or the number
3422//   of concurrent stream requests exceeds the maximum number allowed.
3423//
3424//   * ResourceNotFoundException
3425//   The specified resource does not exist.
3426//
3427// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
3428func (c *RoboMaker) RegisterRobot(input *RegisterRobotInput) (*RegisterRobotOutput, error) {
3429	req, out := c.RegisterRobotRequest(input)
3430	return out, req.Send()
3431}
3432
3433// RegisterRobotWithContext is the same as RegisterRobot with the addition of
3434// the ability to pass a context and additional request options.
3435//
3436// See RegisterRobot for details on how to use this API operation.
3437//
3438// The context must be non-nil and will be used for request cancellation. If
3439// the context is nil a panic will occur. In the future the SDK may create
3440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3441// for more information on using Contexts.
3442func (c *RoboMaker) RegisterRobotWithContext(ctx aws.Context, input *RegisterRobotInput, opts ...request.Option) (*RegisterRobotOutput, error) {
3443	req, out := c.RegisterRobotRequest(input)
3444	req.SetContext(ctx)
3445	req.ApplyOptions(opts...)
3446	return out, req.Send()
3447}
3448
3449const opRestartSimulationJob = "RestartSimulationJob"
3450
3451// RestartSimulationJobRequest generates a "aws/request.Request" representing the
3452// client's request for the RestartSimulationJob operation. The "output" return
3453// value will be populated with the request's response once the request completes
3454// successfully.
3455//
3456// Use "Send" method on the returned Request to send the API call to the service.
3457// the "output" return value is not valid until after Send returns without error.
3458//
3459// See RestartSimulationJob for more information on using the RestartSimulationJob
3460// API call, and error handling.
3461//
3462// This method is useful when you want to inject custom logic or configuration
3463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3464//
3465//
3466//    // Example sending a request using the RestartSimulationJobRequest method.
3467//    req, resp := client.RestartSimulationJobRequest(params)
3468//
3469//    err := req.Send()
3470//    if err == nil { // resp is now filled
3471//        fmt.Println(resp)
3472//    }
3473//
3474// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
3475func (c *RoboMaker) RestartSimulationJobRequest(input *RestartSimulationJobInput) (req *request.Request, output *RestartSimulationJobOutput) {
3476	op := &request.Operation{
3477		Name:       opRestartSimulationJob,
3478		HTTPMethod: "POST",
3479		HTTPPath:   "/restartSimulationJob",
3480	}
3481
3482	if input == nil {
3483		input = &RestartSimulationJobInput{}
3484	}
3485
3486	output = &RestartSimulationJobOutput{}
3487	req = c.newRequest(op, input, output)
3488	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3489	return
3490}
3491
3492// RestartSimulationJob API operation for AWS RoboMaker.
3493//
3494// Restarts a running simulation job.
3495//
3496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3497// with awserr.Error's Code and Message methods to get detailed information about
3498// the error.
3499//
3500// See the AWS API reference guide for AWS RoboMaker's
3501// API operation RestartSimulationJob for usage and error information.
3502//
3503// Returned Error Types:
3504//   * ResourceNotFoundException
3505//   The specified resource does not exist.
3506//
3507//   * ThrottlingException
3508//   AWS RoboMaker is temporarily unable to process the request. Try your call
3509//   again.
3510//
3511//   * LimitExceededException
3512//   The requested resource exceeds the maximum number allowed, or the number
3513//   of concurrent stream requests exceeds the maximum number allowed.
3514//
3515//   * InvalidParameterException
3516//   A parameter specified in a request is not valid, is unsupported, or cannot
3517//   be used. The returned message provides an explanation of the error value.
3518//
3519//   * InternalServerException
3520//   AWS RoboMaker experienced a service issue. Try your call again.
3521//
3522// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
3523func (c *RoboMaker) RestartSimulationJob(input *RestartSimulationJobInput) (*RestartSimulationJobOutput, error) {
3524	req, out := c.RestartSimulationJobRequest(input)
3525	return out, req.Send()
3526}
3527
3528// RestartSimulationJobWithContext is the same as RestartSimulationJob with the addition of
3529// the ability to pass a context and additional request options.
3530//
3531// See RestartSimulationJob for details on how to use this API operation.
3532//
3533// The context must be non-nil and will be used for request cancellation. If
3534// the context is nil a panic will occur. In the future the SDK may create
3535// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3536// for more information on using Contexts.
3537func (c *RoboMaker) RestartSimulationJobWithContext(ctx aws.Context, input *RestartSimulationJobInput, opts ...request.Option) (*RestartSimulationJobOutput, error) {
3538	req, out := c.RestartSimulationJobRequest(input)
3539	req.SetContext(ctx)
3540	req.ApplyOptions(opts...)
3541	return out, req.Send()
3542}
3543
3544const opStartSimulationJobBatch = "StartSimulationJobBatch"
3545
3546// StartSimulationJobBatchRequest generates a "aws/request.Request" representing the
3547// client's request for the StartSimulationJobBatch operation. The "output" return
3548// value will be populated with the request's response once the request completes
3549// successfully.
3550//
3551// Use "Send" method on the returned Request to send the API call to the service.
3552// the "output" return value is not valid until after Send returns without error.
3553//
3554// See StartSimulationJobBatch for more information on using the StartSimulationJobBatch
3555// API call, and error handling.
3556//
3557// This method is useful when you want to inject custom logic or configuration
3558// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3559//
3560//
3561//    // Example sending a request using the StartSimulationJobBatchRequest method.
3562//    req, resp := client.StartSimulationJobBatchRequest(params)
3563//
3564//    err := req.Send()
3565//    if err == nil { // resp is now filled
3566//        fmt.Println(resp)
3567//    }
3568//
3569// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/StartSimulationJobBatch
3570func (c *RoboMaker) StartSimulationJobBatchRequest(input *StartSimulationJobBatchInput) (req *request.Request, output *StartSimulationJobBatchOutput) {
3571	op := &request.Operation{
3572		Name:       opStartSimulationJobBatch,
3573		HTTPMethod: "POST",
3574		HTTPPath:   "/startSimulationJobBatch",
3575	}
3576
3577	if input == nil {
3578		input = &StartSimulationJobBatchInput{}
3579	}
3580
3581	output = &StartSimulationJobBatchOutput{}
3582	req = c.newRequest(op, input, output)
3583	return
3584}
3585
3586// StartSimulationJobBatch API operation for AWS RoboMaker.
3587//
3588// Starts a new simulation job batch. The batch is defined using one or more
3589// SimulationJobRequest objects.
3590//
3591// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3592// with awserr.Error's Code and Message methods to get detailed information about
3593// the error.
3594//
3595// See the AWS API reference guide for AWS RoboMaker's
3596// API operation StartSimulationJobBatch for usage and error information.
3597//
3598// Returned Error Types:
3599//   * InvalidParameterException
3600//   A parameter specified in a request is not valid, is unsupported, or cannot
3601//   be used. The returned message provides an explanation of the error value.
3602//
3603//   * LimitExceededException
3604//   The requested resource exceeds the maximum number allowed, or the number
3605//   of concurrent stream requests exceeds the maximum number allowed.
3606//
3607//   * ThrottlingException
3608//   AWS RoboMaker is temporarily unable to process the request. Try your call
3609//   again.
3610//
3611//   * IdempotentParameterMismatchException
3612//   The request uses the same client token as a previous, but non-identical request.
3613//   Do not reuse a client token with different requests, unless the requests
3614//   are identical.
3615//
3616//   * InternalServerException
3617//   AWS RoboMaker experienced a service issue. Try your call again.
3618//
3619// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/StartSimulationJobBatch
3620func (c *RoboMaker) StartSimulationJobBatch(input *StartSimulationJobBatchInput) (*StartSimulationJobBatchOutput, error) {
3621	req, out := c.StartSimulationJobBatchRequest(input)
3622	return out, req.Send()
3623}
3624
3625// StartSimulationJobBatchWithContext is the same as StartSimulationJobBatch with the addition of
3626// the ability to pass a context and additional request options.
3627//
3628// See StartSimulationJobBatch for details on how to use this API operation.
3629//
3630// The context must be non-nil and will be used for request cancellation. If
3631// the context is nil a panic will occur. In the future the SDK may create
3632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3633// for more information on using Contexts.
3634func (c *RoboMaker) StartSimulationJobBatchWithContext(ctx aws.Context, input *StartSimulationJobBatchInput, opts ...request.Option) (*StartSimulationJobBatchOutput, error) {
3635	req, out := c.StartSimulationJobBatchRequest(input)
3636	req.SetContext(ctx)
3637	req.ApplyOptions(opts...)
3638	return out, req.Send()
3639}
3640
3641const opSyncDeploymentJob = "SyncDeploymentJob"
3642
3643// SyncDeploymentJobRequest generates a "aws/request.Request" representing the
3644// client's request for the SyncDeploymentJob operation. The "output" return
3645// value will be populated with the request's response once the request completes
3646// successfully.
3647//
3648// Use "Send" method on the returned Request to send the API call to the service.
3649// the "output" return value is not valid until after Send returns without error.
3650//
3651// See SyncDeploymentJob for more information on using the SyncDeploymentJob
3652// API call, and error handling.
3653//
3654// This method is useful when you want to inject custom logic or configuration
3655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3656//
3657//
3658//    // Example sending a request using the SyncDeploymentJobRequest method.
3659//    req, resp := client.SyncDeploymentJobRequest(params)
3660//
3661//    err := req.Send()
3662//    if err == nil { // resp is now filled
3663//        fmt.Println(resp)
3664//    }
3665//
3666// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
3667func (c *RoboMaker) SyncDeploymentJobRequest(input *SyncDeploymentJobInput) (req *request.Request, output *SyncDeploymentJobOutput) {
3668	op := &request.Operation{
3669		Name:       opSyncDeploymentJob,
3670		HTTPMethod: "POST",
3671		HTTPPath:   "/syncDeploymentJob",
3672	}
3673
3674	if input == nil {
3675		input = &SyncDeploymentJobInput{}
3676	}
3677
3678	output = &SyncDeploymentJobOutput{}
3679	req = c.newRequest(op, input, output)
3680	return
3681}
3682
3683// SyncDeploymentJob API operation for AWS RoboMaker.
3684//
3685// Syncrhonizes robots in a fleet to the latest deployment. This is helpful
3686// if robots were added after a deployment.
3687//
3688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3689// with awserr.Error's Code and Message methods to get detailed information about
3690// the error.
3691//
3692// See the AWS API reference guide for AWS RoboMaker's
3693// API operation SyncDeploymentJob for usage and error information.
3694//
3695// Returned Error Types:
3696//   * ResourceNotFoundException
3697//   The specified resource does not exist.
3698//
3699//   * InvalidParameterException
3700//   A parameter specified in a request is not valid, is unsupported, or cannot
3701//   be used. The returned message provides an explanation of the error value.
3702//
3703//   * InternalServerException
3704//   AWS RoboMaker experienced a service issue. Try your call again.
3705//
3706//   * ThrottlingException
3707//   AWS RoboMaker is temporarily unable to process the request. Try your call
3708//   again.
3709//
3710//   * LimitExceededException
3711//   The requested resource exceeds the maximum number allowed, or the number
3712//   of concurrent stream requests exceeds the maximum number allowed.
3713//
3714//   * ConcurrentDeploymentException
3715//   The failure percentage threshold percentage was met.
3716//
3717//   * IdempotentParameterMismatchException
3718//   The request uses the same client token as a previous, but non-identical request.
3719//   Do not reuse a client token with different requests, unless the requests
3720//   are identical.
3721//
3722// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
3723func (c *RoboMaker) SyncDeploymentJob(input *SyncDeploymentJobInput) (*SyncDeploymentJobOutput, error) {
3724	req, out := c.SyncDeploymentJobRequest(input)
3725	return out, req.Send()
3726}
3727
3728// SyncDeploymentJobWithContext is the same as SyncDeploymentJob with the addition of
3729// the ability to pass a context and additional request options.
3730//
3731// See SyncDeploymentJob for details on how to use this API operation.
3732//
3733// The context must be non-nil and will be used for request cancellation. If
3734// the context is nil a panic will occur. In the future the SDK may create
3735// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3736// for more information on using Contexts.
3737func (c *RoboMaker) SyncDeploymentJobWithContext(ctx aws.Context, input *SyncDeploymentJobInput, opts ...request.Option) (*SyncDeploymentJobOutput, error) {
3738	req, out := c.SyncDeploymentJobRequest(input)
3739	req.SetContext(ctx)
3740	req.ApplyOptions(opts...)
3741	return out, req.Send()
3742}
3743
3744const opTagResource = "TagResource"
3745
3746// TagResourceRequest generates a "aws/request.Request" representing the
3747// client's request for the TagResource operation. The "output" return
3748// value will be populated with the request's response once the request completes
3749// successfully.
3750//
3751// Use "Send" method on the returned Request to send the API call to the service.
3752// the "output" return value is not valid until after Send returns without error.
3753//
3754// See TagResource for more information on using the TagResource
3755// API call, and error handling.
3756//
3757// This method is useful when you want to inject custom logic or configuration
3758// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3759//
3760//
3761//    // Example sending a request using the TagResourceRequest method.
3762//    req, resp := client.TagResourceRequest(params)
3763//
3764//    err := req.Send()
3765//    if err == nil { // resp is now filled
3766//        fmt.Println(resp)
3767//    }
3768//
3769// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
3770func (c *RoboMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3771	op := &request.Operation{
3772		Name:       opTagResource,
3773		HTTPMethod: "POST",
3774		HTTPPath:   "/tags/{resourceArn}",
3775	}
3776
3777	if input == nil {
3778		input = &TagResourceInput{}
3779	}
3780
3781	output = &TagResourceOutput{}
3782	req = c.newRequest(op, input, output)
3783	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3784	return
3785}
3786
3787// TagResource API operation for AWS RoboMaker.
3788//
3789// Adds or edits tags for a AWS RoboMaker resource.
3790//
3791// Each tag consists of a tag key and a tag value. Tag keys and tag values are
3792// both required, but tag values can be empty strings.
3793//
3794// For information about the rules that apply to tag keys and tag values, see
3795// User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
3796// in the AWS Billing and Cost Management User Guide.
3797//
3798// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3799// with awserr.Error's Code and Message methods to get detailed information about
3800// the error.
3801//
3802// See the AWS API reference guide for AWS RoboMaker's
3803// API operation TagResource for usage and error information.
3804//
3805// Returned Error Types:
3806//   * InternalServerException
3807//   AWS RoboMaker experienced a service issue. Try your call again.
3808//
3809//   * ResourceNotFoundException
3810//   The specified resource does not exist.
3811//
3812//   * InvalidParameterException
3813//   A parameter specified in a request is not valid, is unsupported, or cannot
3814//   be used. The returned message provides an explanation of the error value.
3815//
3816//   * ThrottlingException
3817//   AWS RoboMaker is temporarily unable to process the request. Try your call
3818//   again.
3819//
3820// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
3821func (c *RoboMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3822	req, out := c.TagResourceRequest(input)
3823	return out, req.Send()
3824}
3825
3826// TagResourceWithContext is the same as TagResource with the addition of
3827// the ability to pass a context and additional request options.
3828//
3829// See TagResource for details on how to use this API operation.
3830//
3831// The context must be non-nil and will be used for request cancellation. If
3832// the context is nil a panic will occur. In the future the SDK may create
3833// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3834// for more information on using Contexts.
3835func (c *RoboMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3836	req, out := c.TagResourceRequest(input)
3837	req.SetContext(ctx)
3838	req.ApplyOptions(opts...)
3839	return out, req.Send()
3840}
3841
3842const opUntagResource = "UntagResource"
3843
3844// UntagResourceRequest generates a "aws/request.Request" representing the
3845// client's request for the UntagResource operation. The "output" return
3846// value will be populated with the request's response once the request completes
3847// successfully.
3848//
3849// Use "Send" method on the returned Request to send the API call to the service.
3850// the "output" return value is not valid until after Send returns without error.
3851//
3852// See UntagResource for more information on using the UntagResource
3853// API call, and error handling.
3854//
3855// This method is useful when you want to inject custom logic or configuration
3856// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3857//
3858//
3859//    // Example sending a request using the UntagResourceRequest method.
3860//    req, resp := client.UntagResourceRequest(params)
3861//
3862//    err := req.Send()
3863//    if err == nil { // resp is now filled
3864//        fmt.Println(resp)
3865//    }
3866//
3867// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
3868func (c *RoboMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3869	op := &request.Operation{
3870		Name:       opUntagResource,
3871		HTTPMethod: "DELETE",
3872		HTTPPath:   "/tags/{resourceArn}",
3873	}
3874
3875	if input == nil {
3876		input = &UntagResourceInput{}
3877	}
3878
3879	output = &UntagResourceOutput{}
3880	req = c.newRequest(op, input, output)
3881	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3882	return
3883}
3884
3885// UntagResource API operation for AWS RoboMaker.
3886//
3887// Removes the specified tags from the specified AWS RoboMaker resource.
3888//
3889// To remove a tag, specify the tag key. To change the tag value of an existing
3890// tag key, use TagResource (https://docs.aws.amazon.com/robomaker/latest/dg/API_TagResource.html).
3891//
3892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3893// with awserr.Error's Code and Message methods to get detailed information about
3894// the error.
3895//
3896// See the AWS API reference guide for AWS RoboMaker's
3897// API operation UntagResource for usage and error information.
3898//
3899// Returned Error Types:
3900//   * InternalServerException
3901//   AWS RoboMaker experienced a service issue. Try your call again.
3902//
3903//   * ResourceNotFoundException
3904//   The specified resource does not exist.
3905//
3906//   * InvalidParameterException
3907//   A parameter specified in a request is not valid, is unsupported, or cannot
3908//   be used. The returned message provides an explanation of the error value.
3909//
3910//   * ThrottlingException
3911//   AWS RoboMaker is temporarily unable to process the request. Try your call
3912//   again.
3913//
3914// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
3915func (c *RoboMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3916	req, out := c.UntagResourceRequest(input)
3917	return out, req.Send()
3918}
3919
3920// UntagResourceWithContext is the same as UntagResource with the addition of
3921// the ability to pass a context and additional request options.
3922//
3923// See UntagResource for details on how to use this API operation.
3924//
3925// The context must be non-nil and will be used for request cancellation. If
3926// the context is nil a panic will occur. In the future the SDK may create
3927// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3928// for more information on using Contexts.
3929func (c *RoboMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3930	req, out := c.UntagResourceRequest(input)
3931	req.SetContext(ctx)
3932	req.ApplyOptions(opts...)
3933	return out, req.Send()
3934}
3935
3936const opUpdateRobotApplication = "UpdateRobotApplication"
3937
3938// UpdateRobotApplicationRequest generates a "aws/request.Request" representing the
3939// client's request for the UpdateRobotApplication operation. The "output" return
3940// value will be populated with the request's response once the request completes
3941// successfully.
3942//
3943// Use "Send" method on the returned Request to send the API call to the service.
3944// the "output" return value is not valid until after Send returns without error.
3945//
3946// See UpdateRobotApplication for more information on using the UpdateRobotApplication
3947// API call, and error handling.
3948//
3949// This method is useful when you want to inject custom logic or configuration
3950// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3951//
3952//
3953//    // Example sending a request using the UpdateRobotApplicationRequest method.
3954//    req, resp := client.UpdateRobotApplicationRequest(params)
3955//
3956//    err := req.Send()
3957//    if err == nil { // resp is now filled
3958//        fmt.Println(resp)
3959//    }
3960//
3961// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
3962func (c *RoboMaker) UpdateRobotApplicationRequest(input *UpdateRobotApplicationInput) (req *request.Request, output *UpdateRobotApplicationOutput) {
3963	op := &request.Operation{
3964		Name:       opUpdateRobotApplication,
3965		HTTPMethod: "POST",
3966		HTTPPath:   "/updateRobotApplication",
3967	}
3968
3969	if input == nil {
3970		input = &UpdateRobotApplicationInput{}
3971	}
3972
3973	output = &UpdateRobotApplicationOutput{}
3974	req = c.newRequest(op, input, output)
3975	return
3976}
3977
3978// UpdateRobotApplication API operation for AWS RoboMaker.
3979//
3980// Updates a robot application.
3981//
3982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3983// with awserr.Error's Code and Message methods to get detailed information about
3984// the error.
3985//
3986// See the AWS API reference guide for AWS RoboMaker's
3987// API operation UpdateRobotApplication for usage and error information.
3988//
3989// Returned Error Types:
3990//   * InvalidParameterException
3991//   A parameter specified in a request is not valid, is unsupported, or cannot
3992//   be used. The returned message provides an explanation of the error value.
3993//
3994//   * ResourceNotFoundException
3995//   The specified resource does not exist.
3996//
3997//   * LimitExceededException
3998//   The requested resource exceeds the maximum number allowed, or the number
3999//   of concurrent stream requests exceeds the maximum number allowed.
4000//
4001//   * ThrottlingException
4002//   AWS RoboMaker is temporarily unable to process the request. Try your call
4003//   again.
4004//
4005//   * InternalServerException
4006//   AWS RoboMaker experienced a service issue. Try your call again.
4007//
4008// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
4009func (c *RoboMaker) UpdateRobotApplication(input *UpdateRobotApplicationInput) (*UpdateRobotApplicationOutput, error) {
4010	req, out := c.UpdateRobotApplicationRequest(input)
4011	return out, req.Send()
4012}
4013
4014// UpdateRobotApplicationWithContext is the same as UpdateRobotApplication with the addition of
4015// the ability to pass a context and additional request options.
4016//
4017// See UpdateRobotApplication for details on how to use this API operation.
4018//
4019// The context must be non-nil and will be used for request cancellation. If
4020// the context is nil a panic will occur. In the future the SDK may create
4021// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4022// for more information on using Contexts.
4023func (c *RoboMaker) UpdateRobotApplicationWithContext(ctx aws.Context, input *UpdateRobotApplicationInput, opts ...request.Option) (*UpdateRobotApplicationOutput, error) {
4024	req, out := c.UpdateRobotApplicationRequest(input)
4025	req.SetContext(ctx)
4026	req.ApplyOptions(opts...)
4027	return out, req.Send()
4028}
4029
4030const opUpdateSimulationApplication = "UpdateSimulationApplication"
4031
4032// UpdateSimulationApplicationRequest generates a "aws/request.Request" representing the
4033// client's request for the UpdateSimulationApplication operation. The "output" return
4034// value will be populated with the request's response once the request completes
4035// successfully.
4036//
4037// Use "Send" method on the returned Request to send the API call to the service.
4038// the "output" return value is not valid until after Send returns without error.
4039//
4040// See UpdateSimulationApplication for more information on using the UpdateSimulationApplication
4041// API call, and error handling.
4042//
4043// This method is useful when you want to inject custom logic or configuration
4044// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4045//
4046//
4047//    // Example sending a request using the UpdateSimulationApplicationRequest method.
4048//    req, resp := client.UpdateSimulationApplicationRequest(params)
4049//
4050//    err := req.Send()
4051//    if err == nil { // resp is now filled
4052//        fmt.Println(resp)
4053//    }
4054//
4055// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
4056func (c *RoboMaker) UpdateSimulationApplicationRequest(input *UpdateSimulationApplicationInput) (req *request.Request, output *UpdateSimulationApplicationOutput) {
4057	op := &request.Operation{
4058		Name:       opUpdateSimulationApplication,
4059		HTTPMethod: "POST",
4060		HTTPPath:   "/updateSimulationApplication",
4061	}
4062
4063	if input == nil {
4064		input = &UpdateSimulationApplicationInput{}
4065	}
4066
4067	output = &UpdateSimulationApplicationOutput{}
4068	req = c.newRequest(op, input, output)
4069	return
4070}
4071
4072// UpdateSimulationApplication API operation for AWS RoboMaker.
4073//
4074// Updates a simulation application.
4075//
4076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4077// with awserr.Error's Code and Message methods to get detailed information about
4078// the error.
4079//
4080// See the AWS API reference guide for AWS RoboMaker's
4081// API operation UpdateSimulationApplication for usage and error information.
4082//
4083// Returned Error Types:
4084//   * InvalidParameterException
4085//   A parameter specified in a request is not valid, is unsupported, or cannot
4086//   be used. The returned message provides an explanation of the error value.
4087//
4088//   * ResourceNotFoundException
4089//   The specified resource does not exist.
4090//
4091//   * LimitExceededException
4092//   The requested resource exceeds the maximum number allowed, or the number
4093//   of concurrent stream requests exceeds the maximum number allowed.
4094//
4095//   * ThrottlingException
4096//   AWS RoboMaker is temporarily unable to process the request. Try your call
4097//   again.
4098//
4099//   * InternalServerException
4100//   AWS RoboMaker experienced a service issue. Try your call again.
4101//
4102// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
4103func (c *RoboMaker) UpdateSimulationApplication(input *UpdateSimulationApplicationInput) (*UpdateSimulationApplicationOutput, error) {
4104	req, out := c.UpdateSimulationApplicationRequest(input)
4105	return out, req.Send()
4106}
4107
4108// UpdateSimulationApplicationWithContext is the same as UpdateSimulationApplication with the addition of
4109// the ability to pass a context and additional request options.
4110//
4111// See UpdateSimulationApplication for details on how to use this API operation.
4112//
4113// The context must be non-nil and will be used for request cancellation. If
4114// the context is nil a panic will occur. In the future the SDK may create
4115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4116// for more information on using Contexts.
4117func (c *RoboMaker) UpdateSimulationApplicationWithContext(ctx aws.Context, input *UpdateSimulationApplicationInput, opts ...request.Option) (*UpdateSimulationApplicationOutput, error) {
4118	req, out := c.UpdateSimulationApplicationRequest(input)
4119	req.SetContext(ctx)
4120	req.ApplyOptions(opts...)
4121	return out, req.Send()
4122}
4123
4124type BatchDescribeSimulationJobInput struct {
4125	_ struct{} `type:"structure"`
4126
4127	// A list of Amazon Resource Names (ARNs) of simulation jobs to describe.
4128	//
4129	// Jobs is a required field
4130	Jobs []*string `locationName:"jobs" min:"1" type:"list" required:"true"`
4131}
4132
4133// String returns the string representation
4134func (s BatchDescribeSimulationJobInput) String() string {
4135	return awsutil.Prettify(s)
4136}
4137
4138// GoString returns the string representation
4139func (s BatchDescribeSimulationJobInput) GoString() string {
4140	return s.String()
4141}
4142
4143// Validate inspects the fields of the type to determine if they are valid.
4144func (s *BatchDescribeSimulationJobInput) Validate() error {
4145	invalidParams := request.ErrInvalidParams{Context: "BatchDescribeSimulationJobInput"}
4146	if s.Jobs == nil {
4147		invalidParams.Add(request.NewErrParamRequired("Jobs"))
4148	}
4149	if s.Jobs != nil && len(s.Jobs) < 1 {
4150		invalidParams.Add(request.NewErrParamMinLen("Jobs", 1))
4151	}
4152
4153	if invalidParams.Len() > 0 {
4154		return invalidParams
4155	}
4156	return nil
4157}
4158
4159// SetJobs sets the Jobs field's value.
4160func (s *BatchDescribeSimulationJobInput) SetJobs(v []*string) *BatchDescribeSimulationJobInput {
4161	s.Jobs = v
4162	return s
4163}
4164
4165type BatchDescribeSimulationJobOutput struct {
4166	_ struct{} `type:"structure"`
4167
4168	// A list of simulation jobs.
4169	Jobs []*SimulationJob `locationName:"jobs" type:"list"`
4170
4171	// A list of unprocessed simulation job Amazon Resource Names (ARNs).
4172	UnprocessedJobs []*string `locationName:"unprocessedJobs" min:"1" type:"list"`
4173}
4174
4175// String returns the string representation
4176func (s BatchDescribeSimulationJobOutput) String() string {
4177	return awsutil.Prettify(s)
4178}
4179
4180// GoString returns the string representation
4181func (s BatchDescribeSimulationJobOutput) GoString() string {
4182	return s.String()
4183}
4184
4185// SetJobs sets the Jobs field's value.
4186func (s *BatchDescribeSimulationJobOutput) SetJobs(v []*SimulationJob) *BatchDescribeSimulationJobOutput {
4187	s.Jobs = v
4188	return s
4189}
4190
4191// SetUnprocessedJobs sets the UnprocessedJobs field's value.
4192func (s *BatchDescribeSimulationJobOutput) SetUnprocessedJobs(v []*string) *BatchDescribeSimulationJobOutput {
4193	s.UnprocessedJobs = v
4194	return s
4195}
4196
4197// Information about the batch policy.
4198type BatchPolicy struct {
4199	_ struct{} `type:"structure"`
4200
4201	// The number of active simulation jobs create as part of the batch that can
4202	// be in an active state at the same time.
4203	//
4204	// Active states include: Pending,Preparing, Running, Restarting, RunningFailed
4205	// and Terminating. All other states are terminal states.
4206	MaxConcurrency *int64 `locationName:"maxConcurrency" type:"integer"`
4207
4208	// The amount of time, in seconds, to wait for the batch to complete.
4209	//
4210	// If a batch times out, and there are pending requests that were failing due
4211	// to an internal failure (like InternalServiceError), they will be moved to
4212	// the failed list and the batch status will be Failed. If the pending requests
4213	// were failing for any other reason, the failed pending requests will be moved
4214	// to the failed list and the batch status will be TimedOut.
4215	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"long"`
4216}
4217
4218// String returns the string representation
4219func (s BatchPolicy) String() string {
4220	return awsutil.Prettify(s)
4221}
4222
4223// GoString returns the string representation
4224func (s BatchPolicy) GoString() string {
4225	return s.String()
4226}
4227
4228// SetMaxConcurrency sets the MaxConcurrency field's value.
4229func (s *BatchPolicy) SetMaxConcurrency(v int64) *BatchPolicy {
4230	s.MaxConcurrency = &v
4231	return s
4232}
4233
4234// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
4235func (s *BatchPolicy) SetTimeoutInSeconds(v int64) *BatchPolicy {
4236	s.TimeoutInSeconds = &v
4237	return s
4238}
4239
4240type CancelDeploymentJobInput struct {
4241	_ struct{} `type:"structure"`
4242
4243	// The deployment job ARN to cancel.
4244	//
4245	// Job is a required field
4246	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
4247}
4248
4249// String returns the string representation
4250func (s CancelDeploymentJobInput) String() string {
4251	return awsutil.Prettify(s)
4252}
4253
4254// GoString returns the string representation
4255func (s CancelDeploymentJobInput) GoString() string {
4256	return s.String()
4257}
4258
4259// Validate inspects the fields of the type to determine if they are valid.
4260func (s *CancelDeploymentJobInput) Validate() error {
4261	invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentJobInput"}
4262	if s.Job == nil {
4263		invalidParams.Add(request.NewErrParamRequired("Job"))
4264	}
4265	if s.Job != nil && len(*s.Job) < 1 {
4266		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
4267	}
4268
4269	if invalidParams.Len() > 0 {
4270		return invalidParams
4271	}
4272	return nil
4273}
4274
4275// SetJob sets the Job field's value.
4276func (s *CancelDeploymentJobInput) SetJob(v string) *CancelDeploymentJobInput {
4277	s.Job = &v
4278	return s
4279}
4280
4281type CancelDeploymentJobOutput struct {
4282	_ struct{} `type:"structure"`
4283}
4284
4285// String returns the string representation
4286func (s CancelDeploymentJobOutput) String() string {
4287	return awsutil.Prettify(s)
4288}
4289
4290// GoString returns the string representation
4291func (s CancelDeploymentJobOutput) GoString() string {
4292	return s.String()
4293}
4294
4295type CancelSimulationJobBatchInput struct {
4296	_ struct{} `type:"structure"`
4297
4298	// The id of the batch to cancel.
4299	//
4300	// Batch is a required field
4301	Batch *string `locationName:"batch" min:"1" type:"string" required:"true"`
4302}
4303
4304// String returns the string representation
4305func (s CancelSimulationJobBatchInput) String() string {
4306	return awsutil.Prettify(s)
4307}
4308
4309// GoString returns the string representation
4310func (s CancelSimulationJobBatchInput) GoString() string {
4311	return s.String()
4312}
4313
4314// Validate inspects the fields of the type to determine if they are valid.
4315func (s *CancelSimulationJobBatchInput) Validate() error {
4316	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobBatchInput"}
4317	if s.Batch == nil {
4318		invalidParams.Add(request.NewErrParamRequired("Batch"))
4319	}
4320	if s.Batch != nil && len(*s.Batch) < 1 {
4321		invalidParams.Add(request.NewErrParamMinLen("Batch", 1))
4322	}
4323
4324	if invalidParams.Len() > 0 {
4325		return invalidParams
4326	}
4327	return nil
4328}
4329
4330// SetBatch sets the Batch field's value.
4331func (s *CancelSimulationJobBatchInput) SetBatch(v string) *CancelSimulationJobBatchInput {
4332	s.Batch = &v
4333	return s
4334}
4335
4336type CancelSimulationJobBatchOutput struct {
4337	_ struct{} `type:"structure"`
4338}
4339
4340// String returns the string representation
4341func (s CancelSimulationJobBatchOutput) String() string {
4342	return awsutil.Prettify(s)
4343}
4344
4345// GoString returns the string representation
4346func (s CancelSimulationJobBatchOutput) GoString() string {
4347	return s.String()
4348}
4349
4350type CancelSimulationJobInput struct {
4351	_ struct{} `type:"structure"`
4352
4353	// The simulation job ARN to cancel.
4354	//
4355	// Job is a required field
4356	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
4357}
4358
4359// String returns the string representation
4360func (s CancelSimulationJobInput) String() string {
4361	return awsutil.Prettify(s)
4362}
4363
4364// GoString returns the string representation
4365func (s CancelSimulationJobInput) GoString() string {
4366	return s.String()
4367}
4368
4369// Validate inspects the fields of the type to determine if they are valid.
4370func (s *CancelSimulationJobInput) Validate() error {
4371	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobInput"}
4372	if s.Job == nil {
4373		invalidParams.Add(request.NewErrParamRequired("Job"))
4374	}
4375	if s.Job != nil && len(*s.Job) < 1 {
4376		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
4377	}
4378
4379	if invalidParams.Len() > 0 {
4380		return invalidParams
4381	}
4382	return nil
4383}
4384
4385// SetJob sets the Job field's value.
4386func (s *CancelSimulationJobInput) SetJob(v string) *CancelSimulationJobInput {
4387	s.Job = &v
4388	return s
4389}
4390
4391type CancelSimulationJobOutput struct {
4392	_ struct{} `type:"structure"`
4393}
4394
4395// String returns the string representation
4396func (s CancelSimulationJobOutput) String() string {
4397	return awsutil.Prettify(s)
4398}
4399
4400// GoString returns the string representation
4401func (s CancelSimulationJobOutput) GoString() string {
4402	return s.String()
4403}
4404
4405// Compute information for the simulation job.
4406type Compute struct {
4407	_ struct{} `type:"structure"`
4408
4409	// The simulation unit limit. Your simulation is allocated CPU and memory proportional
4410	// to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB
4411	// of memory. You are only billed for the SU utilization you consume up to the
4412	// maximim value provided.
4413	SimulationUnitLimit *int64 `locationName:"simulationUnitLimit" min:"1" type:"integer"`
4414}
4415
4416// String returns the string representation
4417func (s Compute) String() string {
4418	return awsutil.Prettify(s)
4419}
4420
4421// GoString returns the string representation
4422func (s Compute) GoString() string {
4423	return s.String()
4424}
4425
4426// Validate inspects the fields of the type to determine if they are valid.
4427func (s *Compute) Validate() error {
4428	invalidParams := request.ErrInvalidParams{Context: "Compute"}
4429	if s.SimulationUnitLimit != nil && *s.SimulationUnitLimit < 1 {
4430		invalidParams.Add(request.NewErrParamMinValue("SimulationUnitLimit", 1))
4431	}
4432
4433	if invalidParams.Len() > 0 {
4434		return invalidParams
4435	}
4436	return nil
4437}
4438
4439// SetSimulationUnitLimit sets the SimulationUnitLimit field's value.
4440func (s *Compute) SetSimulationUnitLimit(v int64) *Compute {
4441	s.SimulationUnitLimit = &v
4442	return s
4443}
4444
4445// Compute information for the simulation job
4446type ComputeResponse struct {
4447	_ struct{} `type:"structure"`
4448
4449	// The simulation unit limit. Your simulation is allocated CPU and memory proportional
4450	// to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB
4451	// of memory. You are only billed for the SU utilization you consume up to the
4452	// maximim value provided.
4453	SimulationUnitLimit *int64 `locationName:"simulationUnitLimit" min:"1" type:"integer"`
4454}
4455
4456// String returns the string representation
4457func (s ComputeResponse) String() string {
4458	return awsutil.Prettify(s)
4459}
4460
4461// GoString returns the string representation
4462func (s ComputeResponse) GoString() string {
4463	return s.String()
4464}
4465
4466// SetSimulationUnitLimit sets the SimulationUnitLimit field's value.
4467func (s *ComputeResponse) SetSimulationUnitLimit(v int64) *ComputeResponse {
4468	s.SimulationUnitLimit = &v
4469	return s
4470}
4471
4472// The failure percentage threshold percentage was met.
4473type ConcurrentDeploymentException struct {
4474	_            struct{}                  `type:"structure"`
4475	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
4476
4477	Message_ *string `locationName:"message" type:"string"`
4478}
4479
4480// String returns the string representation
4481func (s ConcurrentDeploymentException) String() string {
4482	return awsutil.Prettify(s)
4483}
4484
4485// GoString returns the string representation
4486func (s ConcurrentDeploymentException) GoString() string {
4487	return s.String()
4488}
4489
4490func newErrorConcurrentDeploymentException(v protocol.ResponseMetadata) error {
4491	return &ConcurrentDeploymentException{
4492		RespMetadata: v,
4493	}
4494}
4495
4496// Code returns the exception type name.
4497func (s *ConcurrentDeploymentException) Code() string {
4498	return "ConcurrentDeploymentException"
4499}
4500
4501// Message returns the exception's message.
4502func (s *ConcurrentDeploymentException) Message() string {
4503	if s.Message_ != nil {
4504		return *s.Message_
4505	}
4506	return ""
4507}
4508
4509// OrigErr always returns nil, satisfies awserr.Error interface.
4510func (s *ConcurrentDeploymentException) OrigErr() error {
4511	return nil
4512}
4513
4514func (s *ConcurrentDeploymentException) Error() string {
4515	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
4516}
4517
4518// Status code returns the HTTP status code for the request's response error.
4519func (s *ConcurrentDeploymentException) StatusCode() int {
4520	return s.RespMetadata.StatusCode
4521}
4522
4523// RequestID returns the service's response RequestID for request.
4524func (s *ConcurrentDeploymentException) RequestID() string {
4525	return s.RespMetadata.RequestID
4526}
4527
4528type CreateDeploymentJobInput struct {
4529	_ struct{} `type:"structure"`
4530
4531	// Unique, case-sensitive identifier that you provide to ensure the idempotency
4532	// of the request.
4533	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
4534
4535	// The deployment application configuration.
4536	//
4537	// DeploymentApplicationConfigs is a required field
4538	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list" required:"true"`
4539
4540	// The requested deployment configuration.
4541	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
4542
4543	// The Amazon Resource Name (ARN) of the fleet to deploy.
4544	//
4545	// Fleet is a required field
4546	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
4547
4548	// A map that contains tag keys and tag values that are attached to the deployment
4549	// job.
4550	Tags map[string]*string `locationName:"tags" type:"map"`
4551}
4552
4553// String returns the string representation
4554func (s CreateDeploymentJobInput) String() string {
4555	return awsutil.Prettify(s)
4556}
4557
4558// GoString returns the string representation
4559func (s CreateDeploymentJobInput) GoString() string {
4560	return s.String()
4561}
4562
4563// Validate inspects the fields of the type to determine if they are valid.
4564func (s *CreateDeploymentJobInput) Validate() error {
4565	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentJobInput"}
4566	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
4567		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
4568	}
4569	if s.DeploymentApplicationConfigs == nil {
4570		invalidParams.Add(request.NewErrParamRequired("DeploymentApplicationConfigs"))
4571	}
4572	if s.DeploymentApplicationConfigs != nil && len(s.DeploymentApplicationConfigs) < 1 {
4573		invalidParams.Add(request.NewErrParamMinLen("DeploymentApplicationConfigs", 1))
4574	}
4575	if s.Fleet == nil {
4576		invalidParams.Add(request.NewErrParamRequired("Fleet"))
4577	}
4578	if s.Fleet != nil && len(*s.Fleet) < 1 {
4579		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
4580	}
4581	if s.DeploymentApplicationConfigs != nil {
4582		for i, v := range s.DeploymentApplicationConfigs {
4583			if v == nil {
4584				continue
4585			}
4586			if err := v.Validate(); err != nil {
4587				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeploymentApplicationConfigs", i), err.(request.ErrInvalidParams))
4588			}
4589		}
4590	}
4591	if s.DeploymentConfig != nil {
4592		if err := s.DeploymentConfig.Validate(); err != nil {
4593			invalidParams.AddNested("DeploymentConfig", err.(request.ErrInvalidParams))
4594		}
4595	}
4596
4597	if invalidParams.Len() > 0 {
4598		return invalidParams
4599	}
4600	return nil
4601}
4602
4603// SetClientRequestToken sets the ClientRequestToken field's value.
4604func (s *CreateDeploymentJobInput) SetClientRequestToken(v string) *CreateDeploymentJobInput {
4605	s.ClientRequestToken = &v
4606	return s
4607}
4608
4609// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
4610func (s *CreateDeploymentJobInput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobInput {
4611	s.DeploymentApplicationConfigs = v
4612	return s
4613}
4614
4615// SetDeploymentConfig sets the DeploymentConfig field's value.
4616func (s *CreateDeploymentJobInput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobInput {
4617	s.DeploymentConfig = v
4618	return s
4619}
4620
4621// SetFleet sets the Fleet field's value.
4622func (s *CreateDeploymentJobInput) SetFleet(v string) *CreateDeploymentJobInput {
4623	s.Fleet = &v
4624	return s
4625}
4626
4627// SetTags sets the Tags field's value.
4628func (s *CreateDeploymentJobInput) SetTags(v map[string]*string) *CreateDeploymentJobInput {
4629	s.Tags = v
4630	return s
4631}
4632
4633type CreateDeploymentJobOutput struct {
4634	_ struct{} `type:"structure"`
4635
4636	// The Amazon Resource Name (ARN) of the deployment job.
4637	Arn *string `locationName:"arn" min:"1" type:"string"`
4638
4639	// The time, in milliseconds since the epoch, when the fleet was created.
4640	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4641
4642	// The deployment application configuration.
4643	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
4644
4645	// The deployment configuration.
4646	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
4647
4648	// The failure code of the simulation job if it failed:
4649	//
4650	// BadPermissionError
4651	//
4652	// AWS Greengrass requires a service-level role permission to access other services.
4653	// The role must include the AWSGreengrassResourceAccessRolePolicy managed policy
4654	// (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor).
4655	//
4656	// ExtractingBundleFailure
4657	//
4658	// The robot application could not be extracted from the bundle.
4659	//
4660	// FailureThresholdBreached
4661	//
4662	// The percentage of robots that could not be updated exceeded the percentage
4663	// set for the deployment.
4664	//
4665	// GreengrassDeploymentFailed
4666	//
4667	// The robot application could not be deployed to the robot.
4668	//
4669	// GreengrassGroupVersionDoesNotExist
4670	//
4671	// The AWS Greengrass group or version associated with a robot is missing.
4672	//
4673	// InternalServerError
4674	//
4675	// An internal error has occurred. Retry your request, but if the problem persists,
4676	// contact us with details.
4677	//
4678	// MissingRobotApplicationArchitecture
4679	//
4680	// The robot application does not have a source that matches the architecture
4681	// of the robot.
4682	//
4683	// MissingRobotDeploymentResource
4684	//
4685	// One or more of the resources specified for the robot application are missing.
4686	// For example, does the robot application have the correct launch package and
4687	// launch file?
4688	//
4689	// PostLaunchFileFailure
4690	//
4691	// The post-launch script failed.
4692	//
4693	// PreLaunchFileFailure
4694	//
4695	// The pre-launch script failed.
4696	//
4697	// ResourceNotFound
4698	//
4699	// One or more deployment resources are missing. For example, do robot application
4700	// source bundles still exist?
4701	//
4702	// RobotDeploymentNoResponse
4703	//
4704	// There is no response from the robot. It might not be powered on or connected
4705	// to the internet.
4706	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
4707
4708	// The failure reason of the deployment job if it failed.
4709	FailureReason *string `locationName:"failureReason" type:"string"`
4710
4711	// The target fleet for the deployment job.
4712	Fleet *string `locationName:"fleet" min:"1" type:"string"`
4713
4714	// The status of the deployment job.
4715	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
4716
4717	// The list of all tags added to the deployment job.
4718	Tags map[string]*string `locationName:"tags" type:"map"`
4719}
4720
4721// String returns the string representation
4722func (s CreateDeploymentJobOutput) String() string {
4723	return awsutil.Prettify(s)
4724}
4725
4726// GoString returns the string representation
4727func (s CreateDeploymentJobOutput) GoString() string {
4728	return s.String()
4729}
4730
4731// SetArn sets the Arn field's value.
4732func (s *CreateDeploymentJobOutput) SetArn(v string) *CreateDeploymentJobOutput {
4733	s.Arn = &v
4734	return s
4735}
4736
4737// SetCreatedAt sets the CreatedAt field's value.
4738func (s *CreateDeploymentJobOutput) SetCreatedAt(v time.Time) *CreateDeploymentJobOutput {
4739	s.CreatedAt = &v
4740	return s
4741}
4742
4743// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
4744func (s *CreateDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobOutput {
4745	s.DeploymentApplicationConfigs = v
4746	return s
4747}
4748
4749// SetDeploymentConfig sets the DeploymentConfig field's value.
4750func (s *CreateDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobOutput {
4751	s.DeploymentConfig = v
4752	return s
4753}
4754
4755// SetFailureCode sets the FailureCode field's value.
4756func (s *CreateDeploymentJobOutput) SetFailureCode(v string) *CreateDeploymentJobOutput {
4757	s.FailureCode = &v
4758	return s
4759}
4760
4761// SetFailureReason sets the FailureReason field's value.
4762func (s *CreateDeploymentJobOutput) SetFailureReason(v string) *CreateDeploymentJobOutput {
4763	s.FailureReason = &v
4764	return s
4765}
4766
4767// SetFleet sets the Fleet field's value.
4768func (s *CreateDeploymentJobOutput) SetFleet(v string) *CreateDeploymentJobOutput {
4769	s.Fleet = &v
4770	return s
4771}
4772
4773// SetStatus sets the Status field's value.
4774func (s *CreateDeploymentJobOutput) SetStatus(v string) *CreateDeploymentJobOutput {
4775	s.Status = &v
4776	return s
4777}
4778
4779// SetTags sets the Tags field's value.
4780func (s *CreateDeploymentJobOutput) SetTags(v map[string]*string) *CreateDeploymentJobOutput {
4781	s.Tags = v
4782	return s
4783}
4784
4785type CreateFleetInput struct {
4786	_ struct{} `type:"structure"`
4787
4788	// The name of the fleet.
4789	//
4790	// Name is a required field
4791	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4792
4793	// A map that contains tag keys and tag values that are attached to the fleet.
4794	Tags map[string]*string `locationName:"tags" type:"map"`
4795}
4796
4797// String returns the string representation
4798func (s CreateFleetInput) String() string {
4799	return awsutil.Prettify(s)
4800}
4801
4802// GoString returns the string representation
4803func (s CreateFleetInput) GoString() string {
4804	return s.String()
4805}
4806
4807// Validate inspects the fields of the type to determine if they are valid.
4808func (s *CreateFleetInput) Validate() error {
4809	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
4810	if s.Name == nil {
4811		invalidParams.Add(request.NewErrParamRequired("Name"))
4812	}
4813	if s.Name != nil && len(*s.Name) < 1 {
4814		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4815	}
4816
4817	if invalidParams.Len() > 0 {
4818		return invalidParams
4819	}
4820	return nil
4821}
4822
4823// SetName sets the Name field's value.
4824func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
4825	s.Name = &v
4826	return s
4827}
4828
4829// SetTags sets the Tags field's value.
4830func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
4831	s.Tags = v
4832	return s
4833}
4834
4835type CreateFleetOutput struct {
4836	_ struct{} `type:"structure"`
4837
4838	// The Amazon Resource Name (ARN) of the fleet.
4839	Arn *string `locationName:"arn" min:"1" type:"string"`
4840
4841	// The time, in milliseconds since the epoch, when the fleet was created.
4842	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4843
4844	// The name of the fleet.
4845	Name *string `locationName:"name" min:"1" type:"string"`
4846
4847	// The list of all tags added to the fleet.
4848	Tags map[string]*string `locationName:"tags" type:"map"`
4849}
4850
4851// String returns the string representation
4852func (s CreateFleetOutput) String() string {
4853	return awsutil.Prettify(s)
4854}
4855
4856// GoString returns the string representation
4857func (s CreateFleetOutput) GoString() string {
4858	return s.String()
4859}
4860
4861// SetArn sets the Arn field's value.
4862func (s *CreateFleetOutput) SetArn(v string) *CreateFleetOutput {
4863	s.Arn = &v
4864	return s
4865}
4866
4867// SetCreatedAt sets the CreatedAt field's value.
4868func (s *CreateFleetOutput) SetCreatedAt(v time.Time) *CreateFleetOutput {
4869	s.CreatedAt = &v
4870	return s
4871}
4872
4873// SetName sets the Name field's value.
4874func (s *CreateFleetOutput) SetName(v string) *CreateFleetOutput {
4875	s.Name = &v
4876	return s
4877}
4878
4879// SetTags sets the Tags field's value.
4880func (s *CreateFleetOutput) SetTags(v map[string]*string) *CreateFleetOutput {
4881	s.Tags = v
4882	return s
4883}
4884
4885type CreateRobotApplicationInput struct {
4886	_ struct{} `type:"structure"`
4887
4888	// The name of the robot application.
4889	//
4890	// Name is a required field
4891	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4892
4893	// The robot software suite (ROS distribuition) used by the robot application.
4894	//
4895	// RobotSoftwareSuite is a required field
4896	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
4897
4898	// The sources of the robot application.
4899	//
4900	// Sources is a required field
4901	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
4902
4903	// A map that contains tag keys and tag values that are attached to the robot
4904	// application.
4905	Tags map[string]*string `locationName:"tags" type:"map"`
4906}
4907
4908// String returns the string representation
4909func (s CreateRobotApplicationInput) String() string {
4910	return awsutil.Prettify(s)
4911}
4912
4913// GoString returns the string representation
4914func (s CreateRobotApplicationInput) GoString() string {
4915	return s.String()
4916}
4917
4918// Validate inspects the fields of the type to determine if they are valid.
4919func (s *CreateRobotApplicationInput) Validate() error {
4920	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationInput"}
4921	if s.Name == nil {
4922		invalidParams.Add(request.NewErrParamRequired("Name"))
4923	}
4924	if s.Name != nil && len(*s.Name) < 1 {
4925		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4926	}
4927	if s.RobotSoftwareSuite == nil {
4928		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
4929	}
4930	if s.Sources == nil {
4931		invalidParams.Add(request.NewErrParamRequired("Sources"))
4932	}
4933	if s.Sources != nil {
4934		for i, v := range s.Sources {
4935			if v == nil {
4936				continue
4937			}
4938			if err := v.Validate(); err != nil {
4939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
4940			}
4941		}
4942	}
4943
4944	if invalidParams.Len() > 0 {
4945		return invalidParams
4946	}
4947	return nil
4948}
4949
4950// SetName sets the Name field's value.
4951func (s *CreateRobotApplicationInput) SetName(v string) *CreateRobotApplicationInput {
4952	s.Name = &v
4953	return s
4954}
4955
4956// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
4957func (s *CreateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationInput {
4958	s.RobotSoftwareSuite = v
4959	return s
4960}
4961
4962// SetSources sets the Sources field's value.
4963func (s *CreateRobotApplicationInput) SetSources(v []*SourceConfig) *CreateRobotApplicationInput {
4964	s.Sources = v
4965	return s
4966}
4967
4968// SetTags sets the Tags field's value.
4969func (s *CreateRobotApplicationInput) SetTags(v map[string]*string) *CreateRobotApplicationInput {
4970	s.Tags = v
4971	return s
4972}
4973
4974type CreateRobotApplicationOutput struct {
4975	_ struct{} `type:"structure"`
4976
4977	// The Amazon Resource Name (ARN) of the robot application.
4978	Arn *string `locationName:"arn" min:"1" type:"string"`
4979
4980	// The time, in milliseconds since the epoch, when the robot application was
4981	// last updated.
4982	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
4983
4984	// The name of the robot application.
4985	Name *string `locationName:"name" min:"1" type:"string"`
4986
4987	// The revision id of the robot application.
4988	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
4989
4990	// The robot software suite (ROS distribution) used by the robot application.
4991	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
4992
4993	// The sources of the robot application.
4994	Sources []*Source `locationName:"sources" type:"list"`
4995
4996	// The list of all tags added to the robot application.
4997	Tags map[string]*string `locationName:"tags" type:"map"`
4998
4999	// The version of the robot application.
5000	Version *string `locationName:"version" min:"1" type:"string"`
5001}
5002
5003// String returns the string representation
5004func (s CreateRobotApplicationOutput) String() string {
5005	return awsutil.Prettify(s)
5006}
5007
5008// GoString returns the string representation
5009func (s CreateRobotApplicationOutput) GoString() string {
5010	return s.String()
5011}
5012
5013// SetArn sets the Arn field's value.
5014func (s *CreateRobotApplicationOutput) SetArn(v string) *CreateRobotApplicationOutput {
5015	s.Arn = &v
5016	return s
5017}
5018
5019// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5020func (s *CreateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationOutput {
5021	s.LastUpdatedAt = &v
5022	return s
5023}
5024
5025// SetName sets the Name field's value.
5026func (s *CreateRobotApplicationOutput) SetName(v string) *CreateRobotApplicationOutput {
5027	s.Name = &v
5028	return s
5029}
5030
5031// SetRevisionId sets the RevisionId field's value.
5032func (s *CreateRobotApplicationOutput) SetRevisionId(v string) *CreateRobotApplicationOutput {
5033	s.RevisionId = &v
5034	return s
5035}
5036
5037// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
5038func (s *CreateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationOutput {
5039	s.RobotSoftwareSuite = v
5040	return s
5041}
5042
5043// SetSources sets the Sources field's value.
5044func (s *CreateRobotApplicationOutput) SetSources(v []*Source) *CreateRobotApplicationOutput {
5045	s.Sources = v
5046	return s
5047}
5048
5049// SetTags sets the Tags field's value.
5050func (s *CreateRobotApplicationOutput) SetTags(v map[string]*string) *CreateRobotApplicationOutput {
5051	s.Tags = v
5052	return s
5053}
5054
5055// SetVersion sets the Version field's value.
5056func (s *CreateRobotApplicationOutput) SetVersion(v string) *CreateRobotApplicationOutput {
5057	s.Version = &v
5058	return s
5059}
5060
5061type CreateRobotApplicationVersionInput struct {
5062	_ struct{} `type:"structure"`
5063
5064	// The application information for the robot application.
5065	//
5066	// Application is a required field
5067	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
5068
5069	// The current revision id for the robot application. If you provide a value
5070	// and it matches the latest revision ID, a new version will be created.
5071	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
5072}
5073
5074// String returns the string representation
5075func (s CreateRobotApplicationVersionInput) String() string {
5076	return awsutil.Prettify(s)
5077}
5078
5079// GoString returns the string representation
5080func (s CreateRobotApplicationVersionInput) GoString() string {
5081	return s.String()
5082}
5083
5084// Validate inspects the fields of the type to determine if they are valid.
5085func (s *CreateRobotApplicationVersionInput) Validate() error {
5086	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationVersionInput"}
5087	if s.Application == nil {
5088		invalidParams.Add(request.NewErrParamRequired("Application"))
5089	}
5090	if s.Application != nil && len(*s.Application) < 1 {
5091		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
5092	}
5093	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
5094		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
5095	}
5096
5097	if invalidParams.Len() > 0 {
5098		return invalidParams
5099	}
5100	return nil
5101}
5102
5103// SetApplication sets the Application field's value.
5104func (s *CreateRobotApplicationVersionInput) SetApplication(v string) *CreateRobotApplicationVersionInput {
5105	s.Application = &v
5106	return s
5107}
5108
5109// SetCurrentRevisionId sets the CurrentRevisionId field's value.
5110func (s *CreateRobotApplicationVersionInput) SetCurrentRevisionId(v string) *CreateRobotApplicationVersionInput {
5111	s.CurrentRevisionId = &v
5112	return s
5113}
5114
5115type CreateRobotApplicationVersionOutput struct {
5116	_ struct{} `type:"structure"`
5117
5118	// The Amazon Resource Name (ARN) of the robot application.
5119	Arn *string `locationName:"arn" min:"1" type:"string"`
5120
5121	// The time, in milliseconds since the epoch, when the robot application was
5122	// last updated.
5123	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
5124
5125	// The name of the robot application.
5126	Name *string `locationName:"name" min:"1" type:"string"`
5127
5128	// The revision id of the robot application.
5129	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
5130
5131	// The robot software suite (ROS distribution) used by the robot application.
5132	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
5133
5134	// The sources of the robot application.
5135	Sources []*Source `locationName:"sources" type:"list"`
5136
5137	// The version of the robot application.
5138	Version *string `locationName:"version" min:"1" type:"string"`
5139}
5140
5141// String returns the string representation
5142func (s CreateRobotApplicationVersionOutput) String() string {
5143	return awsutil.Prettify(s)
5144}
5145
5146// GoString returns the string representation
5147func (s CreateRobotApplicationVersionOutput) GoString() string {
5148	return s.String()
5149}
5150
5151// SetArn sets the Arn field's value.
5152func (s *CreateRobotApplicationVersionOutput) SetArn(v string) *CreateRobotApplicationVersionOutput {
5153	s.Arn = &v
5154	return s
5155}
5156
5157// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5158func (s *CreateRobotApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationVersionOutput {
5159	s.LastUpdatedAt = &v
5160	return s
5161}
5162
5163// SetName sets the Name field's value.
5164func (s *CreateRobotApplicationVersionOutput) SetName(v string) *CreateRobotApplicationVersionOutput {
5165	s.Name = &v
5166	return s
5167}
5168
5169// SetRevisionId sets the RevisionId field's value.
5170func (s *CreateRobotApplicationVersionOutput) SetRevisionId(v string) *CreateRobotApplicationVersionOutput {
5171	s.RevisionId = &v
5172	return s
5173}
5174
5175// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
5176func (s *CreateRobotApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationVersionOutput {
5177	s.RobotSoftwareSuite = v
5178	return s
5179}
5180
5181// SetSources sets the Sources field's value.
5182func (s *CreateRobotApplicationVersionOutput) SetSources(v []*Source) *CreateRobotApplicationVersionOutput {
5183	s.Sources = v
5184	return s
5185}
5186
5187// SetVersion sets the Version field's value.
5188func (s *CreateRobotApplicationVersionOutput) SetVersion(v string) *CreateRobotApplicationVersionOutput {
5189	s.Version = &v
5190	return s
5191}
5192
5193type CreateRobotInput struct {
5194	_ struct{} `type:"structure"`
5195
5196	// The target architecture of the robot.
5197	//
5198	// Architecture is a required field
5199	Architecture *string `locationName:"architecture" type:"string" required:"true" enum:"Architecture"`
5200
5201	// The Greengrass group id.
5202	//
5203	// GreengrassGroupId is a required field
5204	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string" required:"true"`
5205
5206	// The name for the robot.
5207	//
5208	// Name is a required field
5209	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5210
5211	// A map that contains tag keys and tag values that are attached to the robot.
5212	Tags map[string]*string `locationName:"tags" type:"map"`
5213}
5214
5215// String returns the string representation
5216func (s CreateRobotInput) String() string {
5217	return awsutil.Prettify(s)
5218}
5219
5220// GoString returns the string representation
5221func (s CreateRobotInput) GoString() string {
5222	return s.String()
5223}
5224
5225// Validate inspects the fields of the type to determine if they are valid.
5226func (s *CreateRobotInput) Validate() error {
5227	invalidParams := request.ErrInvalidParams{Context: "CreateRobotInput"}
5228	if s.Architecture == nil {
5229		invalidParams.Add(request.NewErrParamRequired("Architecture"))
5230	}
5231	if s.GreengrassGroupId == nil {
5232		invalidParams.Add(request.NewErrParamRequired("GreengrassGroupId"))
5233	}
5234	if s.GreengrassGroupId != nil && len(*s.GreengrassGroupId) < 1 {
5235		invalidParams.Add(request.NewErrParamMinLen("GreengrassGroupId", 1))
5236	}
5237	if s.Name == nil {
5238		invalidParams.Add(request.NewErrParamRequired("Name"))
5239	}
5240	if s.Name != nil && len(*s.Name) < 1 {
5241		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5242	}
5243
5244	if invalidParams.Len() > 0 {
5245		return invalidParams
5246	}
5247	return nil
5248}
5249
5250// SetArchitecture sets the Architecture field's value.
5251func (s *CreateRobotInput) SetArchitecture(v string) *CreateRobotInput {
5252	s.Architecture = &v
5253	return s
5254}
5255
5256// SetGreengrassGroupId sets the GreengrassGroupId field's value.
5257func (s *CreateRobotInput) SetGreengrassGroupId(v string) *CreateRobotInput {
5258	s.GreengrassGroupId = &v
5259	return s
5260}
5261
5262// SetName sets the Name field's value.
5263func (s *CreateRobotInput) SetName(v string) *CreateRobotInput {
5264	s.Name = &v
5265	return s
5266}
5267
5268// SetTags sets the Tags field's value.
5269func (s *CreateRobotInput) SetTags(v map[string]*string) *CreateRobotInput {
5270	s.Tags = v
5271	return s
5272}
5273
5274type CreateRobotOutput struct {
5275	_ struct{} `type:"structure"`
5276
5277	// The target architecture of the robot.
5278	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
5279
5280	// The Amazon Resource Name (ARN) of the robot.
5281	Arn *string `locationName:"arn" min:"1" type:"string"`
5282
5283	// The time, in milliseconds since the epoch, when the robot was created.
5284	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
5285
5286	// The Amazon Resource Name (ARN) of the Greengrass group associated with the
5287	// robot.
5288	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
5289
5290	// The name of the robot.
5291	Name *string `locationName:"name" min:"1" type:"string"`
5292
5293	// The list of all tags added to the robot.
5294	Tags map[string]*string `locationName:"tags" type:"map"`
5295}
5296
5297// String returns the string representation
5298func (s CreateRobotOutput) String() string {
5299	return awsutil.Prettify(s)
5300}
5301
5302// GoString returns the string representation
5303func (s CreateRobotOutput) GoString() string {
5304	return s.String()
5305}
5306
5307// SetArchitecture sets the Architecture field's value.
5308func (s *CreateRobotOutput) SetArchitecture(v string) *CreateRobotOutput {
5309	s.Architecture = &v
5310	return s
5311}
5312
5313// SetArn sets the Arn field's value.
5314func (s *CreateRobotOutput) SetArn(v string) *CreateRobotOutput {
5315	s.Arn = &v
5316	return s
5317}
5318
5319// SetCreatedAt sets the CreatedAt field's value.
5320func (s *CreateRobotOutput) SetCreatedAt(v time.Time) *CreateRobotOutput {
5321	s.CreatedAt = &v
5322	return s
5323}
5324
5325// SetGreengrassGroupId sets the GreengrassGroupId field's value.
5326func (s *CreateRobotOutput) SetGreengrassGroupId(v string) *CreateRobotOutput {
5327	s.GreengrassGroupId = &v
5328	return s
5329}
5330
5331// SetName sets the Name field's value.
5332func (s *CreateRobotOutput) SetName(v string) *CreateRobotOutput {
5333	s.Name = &v
5334	return s
5335}
5336
5337// SetTags sets the Tags field's value.
5338func (s *CreateRobotOutput) SetTags(v map[string]*string) *CreateRobotOutput {
5339	s.Tags = v
5340	return s
5341}
5342
5343type CreateSimulationApplicationInput struct {
5344	_ struct{} `type:"structure"`
5345
5346	// The name of the simulation application.
5347	//
5348	// Name is a required field
5349	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5350
5351	// The rendering engine for the simulation application.
5352	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
5353
5354	// The robot software suite (ROS distribution) used by the simulation application.
5355	//
5356	// RobotSoftwareSuite is a required field
5357	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
5358
5359	// The simulation software suite used by the simulation application.
5360	//
5361	// SimulationSoftwareSuite is a required field
5362	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
5363
5364	// The sources of the simulation application.
5365	//
5366	// Sources is a required field
5367	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
5368
5369	// A map that contains tag keys and tag values that are attached to the simulation
5370	// application.
5371	Tags map[string]*string `locationName:"tags" type:"map"`
5372}
5373
5374// String returns the string representation
5375func (s CreateSimulationApplicationInput) String() string {
5376	return awsutil.Prettify(s)
5377}
5378
5379// GoString returns the string representation
5380func (s CreateSimulationApplicationInput) GoString() string {
5381	return s.String()
5382}
5383
5384// Validate inspects the fields of the type to determine if they are valid.
5385func (s *CreateSimulationApplicationInput) Validate() error {
5386	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationInput"}
5387	if s.Name == nil {
5388		invalidParams.Add(request.NewErrParamRequired("Name"))
5389	}
5390	if s.Name != nil && len(*s.Name) < 1 {
5391		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5392	}
5393	if s.RobotSoftwareSuite == nil {
5394		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
5395	}
5396	if s.SimulationSoftwareSuite == nil {
5397		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
5398	}
5399	if s.Sources == nil {
5400		invalidParams.Add(request.NewErrParamRequired("Sources"))
5401	}
5402	if s.RenderingEngine != nil {
5403		if err := s.RenderingEngine.Validate(); err != nil {
5404			invalidParams.AddNested("RenderingEngine", err.(request.ErrInvalidParams))
5405		}
5406	}
5407	if s.Sources != nil {
5408		for i, v := range s.Sources {
5409			if v == nil {
5410				continue
5411			}
5412			if err := v.Validate(); err != nil {
5413				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
5414			}
5415		}
5416	}
5417
5418	if invalidParams.Len() > 0 {
5419		return invalidParams
5420	}
5421	return nil
5422}
5423
5424// SetName sets the Name field's value.
5425func (s *CreateSimulationApplicationInput) SetName(v string) *CreateSimulationApplicationInput {
5426	s.Name = &v
5427	return s
5428}
5429
5430// SetRenderingEngine sets the RenderingEngine field's value.
5431func (s *CreateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationInput {
5432	s.RenderingEngine = v
5433	return s
5434}
5435
5436// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
5437func (s *CreateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationInput {
5438	s.RobotSoftwareSuite = v
5439	return s
5440}
5441
5442// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
5443func (s *CreateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationInput {
5444	s.SimulationSoftwareSuite = v
5445	return s
5446}
5447
5448// SetSources sets the Sources field's value.
5449func (s *CreateSimulationApplicationInput) SetSources(v []*SourceConfig) *CreateSimulationApplicationInput {
5450	s.Sources = v
5451	return s
5452}
5453
5454// SetTags sets the Tags field's value.
5455func (s *CreateSimulationApplicationInput) SetTags(v map[string]*string) *CreateSimulationApplicationInput {
5456	s.Tags = v
5457	return s
5458}
5459
5460type CreateSimulationApplicationOutput struct {
5461	_ struct{} `type:"structure"`
5462
5463	// The Amazon Resource Name (ARN) of the simulation application.
5464	Arn *string `locationName:"arn" min:"1" type:"string"`
5465
5466	// The time, in milliseconds since the epoch, when the simulation application
5467	// was last updated.
5468	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
5469
5470	// The name of the simulation application.
5471	Name *string `locationName:"name" min:"1" type:"string"`
5472
5473	// The rendering engine for the simulation application.
5474	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
5475
5476	// The revision id of the simulation application.
5477	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
5478
5479	// Information about the robot software suite (ROS distribution).
5480	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
5481
5482	// The simulation software suite used by the simulation application.
5483	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
5484
5485	// The sources of the simulation application.
5486	Sources []*Source `locationName:"sources" type:"list"`
5487
5488	// The list of all tags added to the simulation application.
5489	Tags map[string]*string `locationName:"tags" type:"map"`
5490
5491	// The version of the simulation application.
5492	Version *string `locationName:"version" min:"1" type:"string"`
5493}
5494
5495// String returns the string representation
5496func (s CreateSimulationApplicationOutput) String() string {
5497	return awsutil.Prettify(s)
5498}
5499
5500// GoString returns the string representation
5501func (s CreateSimulationApplicationOutput) GoString() string {
5502	return s.String()
5503}
5504
5505// SetArn sets the Arn field's value.
5506func (s *CreateSimulationApplicationOutput) SetArn(v string) *CreateSimulationApplicationOutput {
5507	s.Arn = &v
5508	return s
5509}
5510
5511// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5512func (s *CreateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationOutput {
5513	s.LastUpdatedAt = &v
5514	return s
5515}
5516
5517// SetName sets the Name field's value.
5518func (s *CreateSimulationApplicationOutput) SetName(v string) *CreateSimulationApplicationOutput {
5519	s.Name = &v
5520	return s
5521}
5522
5523// SetRenderingEngine sets the RenderingEngine field's value.
5524func (s *CreateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationOutput {
5525	s.RenderingEngine = v
5526	return s
5527}
5528
5529// SetRevisionId sets the RevisionId field's value.
5530func (s *CreateSimulationApplicationOutput) SetRevisionId(v string) *CreateSimulationApplicationOutput {
5531	s.RevisionId = &v
5532	return s
5533}
5534
5535// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
5536func (s *CreateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationOutput {
5537	s.RobotSoftwareSuite = v
5538	return s
5539}
5540
5541// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
5542func (s *CreateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationOutput {
5543	s.SimulationSoftwareSuite = v
5544	return s
5545}
5546
5547// SetSources sets the Sources field's value.
5548func (s *CreateSimulationApplicationOutput) SetSources(v []*Source) *CreateSimulationApplicationOutput {
5549	s.Sources = v
5550	return s
5551}
5552
5553// SetTags sets the Tags field's value.
5554func (s *CreateSimulationApplicationOutput) SetTags(v map[string]*string) *CreateSimulationApplicationOutput {
5555	s.Tags = v
5556	return s
5557}
5558
5559// SetVersion sets the Version field's value.
5560func (s *CreateSimulationApplicationOutput) SetVersion(v string) *CreateSimulationApplicationOutput {
5561	s.Version = &v
5562	return s
5563}
5564
5565type CreateSimulationApplicationVersionInput struct {
5566	_ struct{} `type:"structure"`
5567
5568	// The application information for the simulation application.
5569	//
5570	// Application is a required field
5571	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
5572
5573	// The current revision id for the simulation application. If you provide a
5574	// value and it matches the latest revision ID, a new version will be created.
5575	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
5576}
5577
5578// String returns the string representation
5579func (s CreateSimulationApplicationVersionInput) String() string {
5580	return awsutil.Prettify(s)
5581}
5582
5583// GoString returns the string representation
5584func (s CreateSimulationApplicationVersionInput) GoString() string {
5585	return s.String()
5586}
5587
5588// Validate inspects the fields of the type to determine if they are valid.
5589func (s *CreateSimulationApplicationVersionInput) Validate() error {
5590	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationVersionInput"}
5591	if s.Application == nil {
5592		invalidParams.Add(request.NewErrParamRequired("Application"))
5593	}
5594	if s.Application != nil && len(*s.Application) < 1 {
5595		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
5596	}
5597	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
5598		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
5599	}
5600
5601	if invalidParams.Len() > 0 {
5602		return invalidParams
5603	}
5604	return nil
5605}
5606
5607// SetApplication sets the Application field's value.
5608func (s *CreateSimulationApplicationVersionInput) SetApplication(v string) *CreateSimulationApplicationVersionInput {
5609	s.Application = &v
5610	return s
5611}
5612
5613// SetCurrentRevisionId sets the CurrentRevisionId field's value.
5614func (s *CreateSimulationApplicationVersionInput) SetCurrentRevisionId(v string) *CreateSimulationApplicationVersionInput {
5615	s.CurrentRevisionId = &v
5616	return s
5617}
5618
5619type CreateSimulationApplicationVersionOutput struct {
5620	_ struct{} `type:"structure"`
5621
5622	// The Amazon Resource Name (ARN) of the simulation application.
5623	Arn *string `locationName:"arn" min:"1" type:"string"`
5624
5625	// The time, in milliseconds since the epoch, when the simulation application
5626	// was last updated.
5627	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
5628
5629	// The name of the simulation application.
5630	Name *string `locationName:"name" min:"1" type:"string"`
5631
5632	// The rendering engine for the simulation application.
5633	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
5634
5635	// The revision ID of the simulation application.
5636	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
5637
5638	// Information about the robot software suite (ROS distribution).
5639	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
5640
5641	// The simulation software suite used by the simulation application.
5642	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
5643
5644	// The sources of the simulation application.
5645	Sources []*Source `locationName:"sources" type:"list"`
5646
5647	// The version of the simulation application.
5648	Version *string `locationName:"version" min:"1" type:"string"`
5649}
5650
5651// String returns the string representation
5652func (s CreateSimulationApplicationVersionOutput) String() string {
5653	return awsutil.Prettify(s)
5654}
5655
5656// GoString returns the string representation
5657func (s CreateSimulationApplicationVersionOutput) GoString() string {
5658	return s.String()
5659}
5660
5661// SetArn sets the Arn field's value.
5662func (s *CreateSimulationApplicationVersionOutput) SetArn(v string) *CreateSimulationApplicationVersionOutput {
5663	s.Arn = &v
5664	return s
5665}
5666
5667// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5668func (s *CreateSimulationApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationVersionOutput {
5669	s.LastUpdatedAt = &v
5670	return s
5671}
5672
5673// SetName sets the Name field's value.
5674func (s *CreateSimulationApplicationVersionOutput) SetName(v string) *CreateSimulationApplicationVersionOutput {
5675	s.Name = &v
5676	return s
5677}
5678
5679// SetRenderingEngine sets the RenderingEngine field's value.
5680func (s *CreateSimulationApplicationVersionOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationVersionOutput {
5681	s.RenderingEngine = v
5682	return s
5683}
5684
5685// SetRevisionId sets the RevisionId field's value.
5686func (s *CreateSimulationApplicationVersionOutput) SetRevisionId(v string) *CreateSimulationApplicationVersionOutput {
5687	s.RevisionId = &v
5688	return s
5689}
5690
5691// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
5692func (s *CreateSimulationApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationVersionOutput {
5693	s.RobotSoftwareSuite = v
5694	return s
5695}
5696
5697// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
5698func (s *CreateSimulationApplicationVersionOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationVersionOutput {
5699	s.SimulationSoftwareSuite = v
5700	return s
5701}
5702
5703// SetSources sets the Sources field's value.
5704func (s *CreateSimulationApplicationVersionOutput) SetSources(v []*Source) *CreateSimulationApplicationVersionOutput {
5705	s.Sources = v
5706	return s
5707}
5708
5709// SetVersion sets the Version field's value.
5710func (s *CreateSimulationApplicationVersionOutput) SetVersion(v string) *CreateSimulationApplicationVersionOutput {
5711	s.Version = &v
5712	return s
5713}
5714
5715type CreateSimulationJobInput struct {
5716	_ struct{} `type:"structure"`
5717
5718	// Unique, case-sensitive identifier that you provide to ensure the idempotency
5719	// of the request.
5720	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
5721
5722	// Compute information for the simulation job.
5723	Compute *Compute `locationName:"compute" type:"structure"`
5724
5725	// Specify data sources to mount read-only files from S3 into your simulation.
5726	// These files are available under /opt/robomaker/datasources/data_source_name.
5727	//
5728	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
5729	// objects.
5730	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
5731
5732	// The failure behavior the simulation job.
5733	//
5734	// Continue
5735	//
5736	// Restart the simulation job in the same host instance.
5737	//
5738	// Fail
5739	//
5740	// Stop the simulation job and terminate the instance.
5741	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
5742
5743	// The IAM role name that allows the simulation instance to call the AWS APIs
5744	// that are specified in its associated policies on your behalf. This is how
5745	// credentials are passed in to your simulation job.
5746	//
5747	// IamRole is a required field
5748	IamRole *string `locationName:"iamRole" min:"1" type:"string" required:"true"`
5749
5750	// The logging configuration.
5751	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
5752
5753	// The maximum simulation job duration in seconds (up to 14 days or 1,209,600
5754	// seconds. When maxJobDurationInSeconds is reached, the simulation job will
5755	// status will transition to Completed.
5756	//
5757	// MaxJobDurationInSeconds is a required field
5758	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
5759
5760	// Location for output files generated by the simulation job.
5761	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
5762
5763	// The robot application to use in the simulation job.
5764	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
5765
5766	// The simulation application to use in the simulation job.
5767	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
5768
5769	// A map that contains tag keys and tag values that are attached to the simulation
5770	// job.
5771	Tags map[string]*string `locationName:"tags" type:"map"`
5772
5773	// If your simulation job accesses resources in a VPC, you provide this parameter
5774	// identifying the list of security group IDs and subnet IDs. These must belong
5775	// to the same VPC. You must provide at least one security group and one subnet
5776	// ID.
5777	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
5778}
5779
5780// String returns the string representation
5781func (s CreateSimulationJobInput) String() string {
5782	return awsutil.Prettify(s)
5783}
5784
5785// GoString returns the string representation
5786func (s CreateSimulationJobInput) GoString() string {
5787	return s.String()
5788}
5789
5790// Validate inspects the fields of the type to determine if they are valid.
5791func (s *CreateSimulationJobInput) Validate() error {
5792	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationJobInput"}
5793	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5794		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5795	}
5796	if s.DataSources != nil && len(s.DataSources) < 1 {
5797		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
5798	}
5799	if s.IamRole == nil {
5800		invalidParams.Add(request.NewErrParamRequired("IamRole"))
5801	}
5802	if s.IamRole != nil && len(*s.IamRole) < 1 {
5803		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
5804	}
5805	if s.MaxJobDurationInSeconds == nil {
5806		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
5807	}
5808	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
5809		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
5810	}
5811	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
5812		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
5813	}
5814	if s.Compute != nil {
5815		if err := s.Compute.Validate(); err != nil {
5816			invalidParams.AddNested("Compute", err.(request.ErrInvalidParams))
5817		}
5818	}
5819	if s.DataSources != nil {
5820		for i, v := range s.DataSources {
5821			if v == nil {
5822				continue
5823			}
5824			if err := v.Validate(); err != nil {
5825				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
5826			}
5827		}
5828	}
5829	if s.LoggingConfig != nil {
5830		if err := s.LoggingConfig.Validate(); err != nil {
5831			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
5832		}
5833	}
5834	if s.OutputLocation != nil {
5835		if err := s.OutputLocation.Validate(); err != nil {
5836			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
5837		}
5838	}
5839	if s.RobotApplications != nil {
5840		for i, v := range s.RobotApplications {
5841			if v == nil {
5842				continue
5843			}
5844			if err := v.Validate(); err != nil {
5845				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
5846			}
5847		}
5848	}
5849	if s.SimulationApplications != nil {
5850		for i, v := range s.SimulationApplications {
5851			if v == nil {
5852				continue
5853			}
5854			if err := v.Validate(); err != nil {
5855				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
5856			}
5857		}
5858	}
5859	if s.VpcConfig != nil {
5860		if err := s.VpcConfig.Validate(); err != nil {
5861			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
5862		}
5863	}
5864
5865	if invalidParams.Len() > 0 {
5866		return invalidParams
5867	}
5868	return nil
5869}
5870
5871// SetClientRequestToken sets the ClientRequestToken field's value.
5872func (s *CreateSimulationJobInput) SetClientRequestToken(v string) *CreateSimulationJobInput {
5873	s.ClientRequestToken = &v
5874	return s
5875}
5876
5877// SetCompute sets the Compute field's value.
5878func (s *CreateSimulationJobInput) SetCompute(v *Compute) *CreateSimulationJobInput {
5879	s.Compute = v
5880	return s
5881}
5882
5883// SetDataSources sets the DataSources field's value.
5884func (s *CreateSimulationJobInput) SetDataSources(v []*DataSourceConfig) *CreateSimulationJobInput {
5885	s.DataSources = v
5886	return s
5887}
5888
5889// SetFailureBehavior sets the FailureBehavior field's value.
5890func (s *CreateSimulationJobInput) SetFailureBehavior(v string) *CreateSimulationJobInput {
5891	s.FailureBehavior = &v
5892	return s
5893}
5894
5895// SetIamRole sets the IamRole field's value.
5896func (s *CreateSimulationJobInput) SetIamRole(v string) *CreateSimulationJobInput {
5897	s.IamRole = &v
5898	return s
5899}
5900
5901// SetLoggingConfig sets the LoggingConfig field's value.
5902func (s *CreateSimulationJobInput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobInput {
5903	s.LoggingConfig = v
5904	return s
5905}
5906
5907// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
5908func (s *CreateSimulationJobInput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobInput {
5909	s.MaxJobDurationInSeconds = &v
5910	return s
5911}
5912
5913// SetOutputLocation sets the OutputLocation field's value.
5914func (s *CreateSimulationJobInput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobInput {
5915	s.OutputLocation = v
5916	return s
5917}
5918
5919// SetRobotApplications sets the RobotApplications field's value.
5920func (s *CreateSimulationJobInput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobInput {
5921	s.RobotApplications = v
5922	return s
5923}
5924
5925// SetSimulationApplications sets the SimulationApplications field's value.
5926func (s *CreateSimulationJobInput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobInput {
5927	s.SimulationApplications = v
5928	return s
5929}
5930
5931// SetTags sets the Tags field's value.
5932func (s *CreateSimulationJobInput) SetTags(v map[string]*string) *CreateSimulationJobInput {
5933	s.Tags = v
5934	return s
5935}
5936
5937// SetVpcConfig sets the VpcConfig field's value.
5938func (s *CreateSimulationJobInput) SetVpcConfig(v *VPCConfig) *CreateSimulationJobInput {
5939	s.VpcConfig = v
5940	return s
5941}
5942
5943type CreateSimulationJobOutput struct {
5944	_ struct{} `type:"structure"`
5945
5946	// The Amazon Resource Name (ARN) of the simulation job.
5947	Arn *string `locationName:"arn" min:"1" type:"string"`
5948
5949	// Unique, case-sensitive identifier that you provide to ensure the idempotency
5950	// of the request.
5951	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
5952
5953	// Compute information for the simulation job.
5954	Compute *ComputeResponse `locationName:"compute" type:"structure"`
5955
5956	// The data sources for the simulation job.
5957	DataSources []*DataSource `locationName:"dataSources" type:"list"`
5958
5959	// the failure behavior for the simulation job.
5960	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
5961
5962	// The failure code of the simulation job if it failed:
5963	//
5964	// InternalServiceError
5965	//
5966	// Internal service error.
5967	//
5968	// RobotApplicationCrash
5969	//
5970	// Robot application exited abnormally.
5971	//
5972	// SimulationApplicationCrash
5973	//
5974	// Simulation application exited abnormally.
5975	//
5976	// BadPermissionsRobotApplication
5977	//
5978	// Robot application bundle could not be downloaded.
5979	//
5980	// BadPermissionsSimulationApplication
5981	//
5982	// Simulation application bundle could not be downloaded.
5983	//
5984	// BadPermissionsS3Output
5985	//
5986	// Unable to publish outputs to customer-provided S3 bucket.
5987	//
5988	// BadPermissionsCloudwatchLogs
5989	//
5990	// Unable to publish logs to customer-provided CloudWatch Logs resource.
5991	//
5992	// SubnetIpLimitExceeded
5993	//
5994	// Subnet IP limit exceeded.
5995	//
5996	// ENILimitExceeded
5997	//
5998	// ENI limit exceeded.
5999	//
6000	// BadPermissionsUserCredentials
6001	//
6002	// Unable to use the Role provided.
6003	//
6004	// InvalidBundleRobotApplication
6005	//
6006	// Robot bundle cannot be extracted (invalid format, bundling error, or other
6007	// issue).
6008	//
6009	// InvalidBundleSimulationApplication
6010	//
6011	// Simulation bundle cannot be extracted (invalid format, bundling error, or
6012	// other issue).
6013	//
6014	// RobotApplicationVersionMismatchedEtag
6015	//
6016	// Etag for RobotApplication does not match value during version creation.
6017	//
6018	// SimulationApplicationVersionMismatchedEtag
6019	//
6020	// Etag for SimulationApplication does not match value during version creation.
6021	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
6022
6023	// The IAM role that allows the simulation job to call the AWS APIs that are
6024	// specified in its associated policies on your behalf.
6025	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
6026
6027	// The time, in milliseconds since the epoch, when the simulation job was last
6028	// started.
6029	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
6030
6031	// The time, in milliseconds since the epoch, when the simulation job was last
6032	// updated.
6033	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
6034
6035	// The logging configuration.
6036	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
6037
6038	// The maximum simulation job duration in seconds.
6039	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
6040
6041	// Simulation job output files location.
6042	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
6043
6044	// The robot application used by the simulation job.
6045	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
6046
6047	// The simulation application used by the simulation job.
6048	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
6049
6050	// The simulation job execution duration in milliseconds.
6051	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
6052
6053	// The status of the simulation job.
6054	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
6055
6056	// The list of all tags added to the simulation job.
6057	Tags map[string]*string `locationName:"tags" type:"map"`
6058
6059	// Information about the vpc configuration.
6060	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
6061}
6062
6063// String returns the string representation
6064func (s CreateSimulationJobOutput) String() string {
6065	return awsutil.Prettify(s)
6066}
6067
6068// GoString returns the string representation
6069func (s CreateSimulationJobOutput) GoString() string {
6070	return s.String()
6071}
6072
6073// SetArn sets the Arn field's value.
6074func (s *CreateSimulationJobOutput) SetArn(v string) *CreateSimulationJobOutput {
6075	s.Arn = &v
6076	return s
6077}
6078
6079// SetClientRequestToken sets the ClientRequestToken field's value.
6080func (s *CreateSimulationJobOutput) SetClientRequestToken(v string) *CreateSimulationJobOutput {
6081	s.ClientRequestToken = &v
6082	return s
6083}
6084
6085// SetCompute sets the Compute field's value.
6086func (s *CreateSimulationJobOutput) SetCompute(v *ComputeResponse) *CreateSimulationJobOutput {
6087	s.Compute = v
6088	return s
6089}
6090
6091// SetDataSources sets the DataSources field's value.
6092func (s *CreateSimulationJobOutput) SetDataSources(v []*DataSource) *CreateSimulationJobOutput {
6093	s.DataSources = v
6094	return s
6095}
6096
6097// SetFailureBehavior sets the FailureBehavior field's value.
6098func (s *CreateSimulationJobOutput) SetFailureBehavior(v string) *CreateSimulationJobOutput {
6099	s.FailureBehavior = &v
6100	return s
6101}
6102
6103// SetFailureCode sets the FailureCode field's value.
6104func (s *CreateSimulationJobOutput) SetFailureCode(v string) *CreateSimulationJobOutput {
6105	s.FailureCode = &v
6106	return s
6107}
6108
6109// SetIamRole sets the IamRole field's value.
6110func (s *CreateSimulationJobOutput) SetIamRole(v string) *CreateSimulationJobOutput {
6111	s.IamRole = &v
6112	return s
6113}
6114
6115// SetLastStartedAt sets the LastStartedAt field's value.
6116func (s *CreateSimulationJobOutput) SetLastStartedAt(v time.Time) *CreateSimulationJobOutput {
6117	s.LastStartedAt = &v
6118	return s
6119}
6120
6121// SetLastUpdatedAt sets the LastUpdatedAt field's value.
6122func (s *CreateSimulationJobOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationJobOutput {
6123	s.LastUpdatedAt = &v
6124	return s
6125}
6126
6127// SetLoggingConfig sets the LoggingConfig field's value.
6128func (s *CreateSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobOutput {
6129	s.LoggingConfig = v
6130	return s
6131}
6132
6133// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
6134func (s *CreateSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobOutput {
6135	s.MaxJobDurationInSeconds = &v
6136	return s
6137}
6138
6139// SetOutputLocation sets the OutputLocation field's value.
6140func (s *CreateSimulationJobOutput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobOutput {
6141	s.OutputLocation = v
6142	return s
6143}
6144
6145// SetRobotApplications sets the RobotApplications field's value.
6146func (s *CreateSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobOutput {
6147	s.RobotApplications = v
6148	return s
6149}
6150
6151// SetSimulationApplications sets the SimulationApplications field's value.
6152func (s *CreateSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobOutput {
6153	s.SimulationApplications = v
6154	return s
6155}
6156
6157// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
6158func (s *CreateSimulationJobOutput) SetSimulationTimeMillis(v int64) *CreateSimulationJobOutput {
6159	s.SimulationTimeMillis = &v
6160	return s
6161}
6162
6163// SetStatus sets the Status field's value.
6164func (s *CreateSimulationJobOutput) SetStatus(v string) *CreateSimulationJobOutput {
6165	s.Status = &v
6166	return s
6167}
6168
6169// SetTags sets the Tags field's value.
6170func (s *CreateSimulationJobOutput) SetTags(v map[string]*string) *CreateSimulationJobOutput {
6171	s.Tags = v
6172	return s
6173}
6174
6175// SetVpcConfig sets the VpcConfig field's value.
6176func (s *CreateSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *CreateSimulationJobOutput {
6177	s.VpcConfig = v
6178	return s
6179}
6180
6181// Information about a data source.
6182type DataSource struct {
6183	_ struct{} `type:"structure"`
6184
6185	// The name of the data source.
6186	Name *string `locationName:"name" min:"1" type:"string"`
6187
6188	// The S3 bucket where the data files are located.
6189	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
6190
6191	// The list of S3 keys identifying the data source files.
6192	S3Keys []*S3KeyOutput `locationName:"s3Keys" type:"list"`
6193}
6194
6195// String returns the string representation
6196func (s DataSource) String() string {
6197	return awsutil.Prettify(s)
6198}
6199
6200// GoString returns the string representation
6201func (s DataSource) GoString() string {
6202	return s.String()
6203}
6204
6205// SetName sets the Name field's value.
6206func (s *DataSource) SetName(v string) *DataSource {
6207	s.Name = &v
6208	return s
6209}
6210
6211// SetS3Bucket sets the S3Bucket field's value.
6212func (s *DataSource) SetS3Bucket(v string) *DataSource {
6213	s.S3Bucket = &v
6214	return s
6215}
6216
6217// SetS3Keys sets the S3Keys field's value.
6218func (s *DataSource) SetS3Keys(v []*S3KeyOutput) *DataSource {
6219	s.S3Keys = v
6220	return s
6221}
6222
6223// Information about a data source.
6224type DataSourceConfig struct {
6225	_ struct{} `type:"structure"`
6226
6227	// The name of the data source.
6228	//
6229	// Name is a required field
6230	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6231
6232	// The S3 bucket where the data files are located.
6233	//
6234	// S3Bucket is a required field
6235	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string" required:"true"`
6236
6237	// The list of S3 keys identifying the data source files.
6238	//
6239	// S3Keys is a required field
6240	S3Keys []*string `locationName:"s3Keys" min:"1" type:"list" required:"true"`
6241}
6242
6243// String returns the string representation
6244func (s DataSourceConfig) String() string {
6245	return awsutil.Prettify(s)
6246}
6247
6248// GoString returns the string representation
6249func (s DataSourceConfig) GoString() string {
6250	return s.String()
6251}
6252
6253// Validate inspects the fields of the type to determine if they are valid.
6254func (s *DataSourceConfig) Validate() error {
6255	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfig"}
6256	if s.Name == nil {
6257		invalidParams.Add(request.NewErrParamRequired("Name"))
6258	}
6259	if s.Name != nil && len(*s.Name) < 1 {
6260		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6261	}
6262	if s.S3Bucket == nil {
6263		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
6264	}
6265	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
6266		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
6267	}
6268	if s.S3Keys == nil {
6269		invalidParams.Add(request.NewErrParamRequired("S3Keys"))
6270	}
6271	if s.S3Keys != nil && len(s.S3Keys) < 1 {
6272		invalidParams.Add(request.NewErrParamMinLen("S3Keys", 1))
6273	}
6274
6275	if invalidParams.Len() > 0 {
6276		return invalidParams
6277	}
6278	return nil
6279}
6280
6281// SetName sets the Name field's value.
6282func (s *DataSourceConfig) SetName(v string) *DataSourceConfig {
6283	s.Name = &v
6284	return s
6285}
6286
6287// SetS3Bucket sets the S3Bucket field's value.
6288func (s *DataSourceConfig) SetS3Bucket(v string) *DataSourceConfig {
6289	s.S3Bucket = &v
6290	return s
6291}
6292
6293// SetS3Keys sets the S3Keys field's value.
6294func (s *DataSourceConfig) SetS3Keys(v []*string) *DataSourceConfig {
6295	s.S3Keys = v
6296	return s
6297}
6298
6299type DeleteFleetInput struct {
6300	_ struct{} `type:"structure"`
6301
6302	// The Amazon Resource Name (ARN) of the fleet.
6303	//
6304	// Fleet is a required field
6305	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
6306}
6307
6308// String returns the string representation
6309func (s DeleteFleetInput) String() string {
6310	return awsutil.Prettify(s)
6311}
6312
6313// GoString returns the string representation
6314func (s DeleteFleetInput) GoString() string {
6315	return s.String()
6316}
6317
6318// Validate inspects the fields of the type to determine if they are valid.
6319func (s *DeleteFleetInput) Validate() error {
6320	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
6321	if s.Fleet == nil {
6322		invalidParams.Add(request.NewErrParamRequired("Fleet"))
6323	}
6324	if s.Fleet != nil && len(*s.Fleet) < 1 {
6325		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
6326	}
6327
6328	if invalidParams.Len() > 0 {
6329		return invalidParams
6330	}
6331	return nil
6332}
6333
6334// SetFleet sets the Fleet field's value.
6335func (s *DeleteFleetInput) SetFleet(v string) *DeleteFleetInput {
6336	s.Fleet = &v
6337	return s
6338}
6339
6340type DeleteFleetOutput struct {
6341	_ struct{} `type:"structure"`
6342}
6343
6344// String returns the string representation
6345func (s DeleteFleetOutput) String() string {
6346	return awsutil.Prettify(s)
6347}
6348
6349// GoString returns the string representation
6350func (s DeleteFleetOutput) GoString() string {
6351	return s.String()
6352}
6353
6354type DeleteRobotApplicationInput struct {
6355	_ struct{} `type:"structure"`
6356
6357	// The Amazon Resource Name (ARN) of the the robot application.
6358	//
6359	// Application is a required field
6360	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
6361
6362	// The version of the robot application to delete.
6363	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
6364}
6365
6366// String returns the string representation
6367func (s DeleteRobotApplicationInput) String() string {
6368	return awsutil.Prettify(s)
6369}
6370
6371// GoString returns the string representation
6372func (s DeleteRobotApplicationInput) GoString() string {
6373	return s.String()
6374}
6375
6376// Validate inspects the fields of the type to determine if they are valid.
6377func (s *DeleteRobotApplicationInput) Validate() error {
6378	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotApplicationInput"}
6379	if s.Application == nil {
6380		invalidParams.Add(request.NewErrParamRequired("Application"))
6381	}
6382	if s.Application != nil && len(*s.Application) < 1 {
6383		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
6384	}
6385	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
6386		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
6387	}
6388
6389	if invalidParams.Len() > 0 {
6390		return invalidParams
6391	}
6392	return nil
6393}
6394
6395// SetApplication sets the Application field's value.
6396func (s *DeleteRobotApplicationInput) SetApplication(v string) *DeleteRobotApplicationInput {
6397	s.Application = &v
6398	return s
6399}
6400
6401// SetApplicationVersion sets the ApplicationVersion field's value.
6402func (s *DeleteRobotApplicationInput) SetApplicationVersion(v string) *DeleteRobotApplicationInput {
6403	s.ApplicationVersion = &v
6404	return s
6405}
6406
6407type DeleteRobotApplicationOutput struct {
6408	_ struct{} `type:"structure"`
6409}
6410
6411// String returns the string representation
6412func (s DeleteRobotApplicationOutput) String() string {
6413	return awsutil.Prettify(s)
6414}
6415
6416// GoString returns the string representation
6417func (s DeleteRobotApplicationOutput) GoString() string {
6418	return s.String()
6419}
6420
6421type DeleteRobotInput struct {
6422	_ struct{} `type:"structure"`
6423
6424	// The Amazon Resource Name (ARN) of the robot.
6425	//
6426	// Robot is a required field
6427	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
6428}
6429
6430// String returns the string representation
6431func (s DeleteRobotInput) String() string {
6432	return awsutil.Prettify(s)
6433}
6434
6435// GoString returns the string representation
6436func (s DeleteRobotInput) GoString() string {
6437	return s.String()
6438}
6439
6440// Validate inspects the fields of the type to determine if they are valid.
6441func (s *DeleteRobotInput) Validate() error {
6442	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotInput"}
6443	if s.Robot == nil {
6444		invalidParams.Add(request.NewErrParamRequired("Robot"))
6445	}
6446	if s.Robot != nil && len(*s.Robot) < 1 {
6447		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
6448	}
6449
6450	if invalidParams.Len() > 0 {
6451		return invalidParams
6452	}
6453	return nil
6454}
6455
6456// SetRobot sets the Robot field's value.
6457func (s *DeleteRobotInput) SetRobot(v string) *DeleteRobotInput {
6458	s.Robot = &v
6459	return s
6460}
6461
6462type DeleteRobotOutput struct {
6463	_ struct{} `type:"structure"`
6464}
6465
6466// String returns the string representation
6467func (s DeleteRobotOutput) String() string {
6468	return awsutil.Prettify(s)
6469}
6470
6471// GoString returns the string representation
6472func (s DeleteRobotOutput) GoString() string {
6473	return s.String()
6474}
6475
6476type DeleteSimulationApplicationInput struct {
6477	_ struct{} `type:"structure"`
6478
6479	// The application information for the simulation application to delete.
6480	//
6481	// Application is a required field
6482	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
6483
6484	// The version of the simulation application to delete.
6485	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
6486}
6487
6488// String returns the string representation
6489func (s DeleteSimulationApplicationInput) String() string {
6490	return awsutil.Prettify(s)
6491}
6492
6493// GoString returns the string representation
6494func (s DeleteSimulationApplicationInput) GoString() string {
6495	return s.String()
6496}
6497
6498// Validate inspects the fields of the type to determine if they are valid.
6499func (s *DeleteSimulationApplicationInput) Validate() error {
6500	invalidParams := request.ErrInvalidParams{Context: "DeleteSimulationApplicationInput"}
6501	if s.Application == nil {
6502		invalidParams.Add(request.NewErrParamRequired("Application"))
6503	}
6504	if s.Application != nil && len(*s.Application) < 1 {
6505		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
6506	}
6507	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
6508		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
6509	}
6510
6511	if invalidParams.Len() > 0 {
6512		return invalidParams
6513	}
6514	return nil
6515}
6516
6517// SetApplication sets the Application field's value.
6518func (s *DeleteSimulationApplicationInput) SetApplication(v string) *DeleteSimulationApplicationInput {
6519	s.Application = &v
6520	return s
6521}
6522
6523// SetApplicationVersion sets the ApplicationVersion field's value.
6524func (s *DeleteSimulationApplicationInput) SetApplicationVersion(v string) *DeleteSimulationApplicationInput {
6525	s.ApplicationVersion = &v
6526	return s
6527}
6528
6529type DeleteSimulationApplicationOutput struct {
6530	_ struct{} `type:"structure"`
6531}
6532
6533// String returns the string representation
6534func (s DeleteSimulationApplicationOutput) String() string {
6535	return awsutil.Prettify(s)
6536}
6537
6538// GoString returns the string representation
6539func (s DeleteSimulationApplicationOutput) GoString() string {
6540	return s.String()
6541}
6542
6543// Information about a deployment application configuration.
6544type DeploymentApplicationConfig struct {
6545	_ struct{} `type:"structure"`
6546
6547	// The Amazon Resource Name (ARN) of the robot application.
6548	//
6549	// Application is a required field
6550	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
6551
6552	// The version of the application.
6553	//
6554	// ApplicationVersion is a required field
6555	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string" required:"true"`
6556
6557	// The launch configuration.
6558	//
6559	// LaunchConfig is a required field
6560	LaunchConfig *DeploymentLaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
6561}
6562
6563// String returns the string representation
6564func (s DeploymentApplicationConfig) String() string {
6565	return awsutil.Prettify(s)
6566}
6567
6568// GoString returns the string representation
6569func (s DeploymentApplicationConfig) GoString() string {
6570	return s.String()
6571}
6572
6573// Validate inspects the fields of the type to determine if they are valid.
6574func (s *DeploymentApplicationConfig) Validate() error {
6575	invalidParams := request.ErrInvalidParams{Context: "DeploymentApplicationConfig"}
6576	if s.Application == nil {
6577		invalidParams.Add(request.NewErrParamRequired("Application"))
6578	}
6579	if s.Application != nil && len(*s.Application) < 1 {
6580		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
6581	}
6582	if s.ApplicationVersion == nil {
6583		invalidParams.Add(request.NewErrParamRequired("ApplicationVersion"))
6584	}
6585	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
6586		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
6587	}
6588	if s.LaunchConfig == nil {
6589		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
6590	}
6591	if s.LaunchConfig != nil {
6592		if err := s.LaunchConfig.Validate(); err != nil {
6593			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
6594		}
6595	}
6596
6597	if invalidParams.Len() > 0 {
6598		return invalidParams
6599	}
6600	return nil
6601}
6602
6603// SetApplication sets the Application field's value.
6604func (s *DeploymentApplicationConfig) SetApplication(v string) *DeploymentApplicationConfig {
6605	s.Application = &v
6606	return s
6607}
6608
6609// SetApplicationVersion sets the ApplicationVersion field's value.
6610func (s *DeploymentApplicationConfig) SetApplicationVersion(v string) *DeploymentApplicationConfig {
6611	s.ApplicationVersion = &v
6612	return s
6613}
6614
6615// SetLaunchConfig sets the LaunchConfig field's value.
6616func (s *DeploymentApplicationConfig) SetLaunchConfig(v *DeploymentLaunchConfig) *DeploymentApplicationConfig {
6617	s.LaunchConfig = v
6618	return s
6619}
6620
6621// Information about a deployment configuration.
6622type DeploymentConfig struct {
6623	_ struct{} `type:"structure"`
6624
6625	// The percentage of robots receiving the deployment at the same time.
6626	ConcurrentDeploymentPercentage *int64 `locationName:"concurrentDeploymentPercentage" min:"1" type:"integer"`
6627
6628	// The download condition file.
6629	DownloadConditionFile *S3Object `locationName:"downloadConditionFile" type:"structure"`
6630
6631	// The percentage of deployments that need to fail before stopping deployment.
6632	FailureThresholdPercentage *int64 `locationName:"failureThresholdPercentage" min:"1" type:"integer"`
6633
6634	// The amount of time, in seconds, to wait for deployment to a single robot
6635	// to complete. Choose a time between 1 minute and 7 days. The default is 5
6636	// hours.
6637	RobotDeploymentTimeoutInSeconds *int64 `locationName:"robotDeploymentTimeoutInSeconds" type:"long"`
6638}
6639
6640// String returns the string representation
6641func (s DeploymentConfig) String() string {
6642	return awsutil.Prettify(s)
6643}
6644
6645// GoString returns the string representation
6646func (s DeploymentConfig) GoString() string {
6647	return s.String()
6648}
6649
6650// Validate inspects the fields of the type to determine if they are valid.
6651func (s *DeploymentConfig) Validate() error {
6652	invalidParams := request.ErrInvalidParams{Context: "DeploymentConfig"}
6653	if s.ConcurrentDeploymentPercentage != nil && *s.ConcurrentDeploymentPercentage < 1 {
6654		invalidParams.Add(request.NewErrParamMinValue("ConcurrentDeploymentPercentage", 1))
6655	}
6656	if s.FailureThresholdPercentage != nil && *s.FailureThresholdPercentage < 1 {
6657		invalidParams.Add(request.NewErrParamMinValue("FailureThresholdPercentage", 1))
6658	}
6659	if s.DownloadConditionFile != nil {
6660		if err := s.DownloadConditionFile.Validate(); err != nil {
6661			invalidParams.AddNested("DownloadConditionFile", err.(request.ErrInvalidParams))
6662		}
6663	}
6664
6665	if invalidParams.Len() > 0 {
6666		return invalidParams
6667	}
6668	return nil
6669}
6670
6671// SetConcurrentDeploymentPercentage sets the ConcurrentDeploymentPercentage field's value.
6672func (s *DeploymentConfig) SetConcurrentDeploymentPercentage(v int64) *DeploymentConfig {
6673	s.ConcurrentDeploymentPercentage = &v
6674	return s
6675}
6676
6677// SetDownloadConditionFile sets the DownloadConditionFile field's value.
6678func (s *DeploymentConfig) SetDownloadConditionFile(v *S3Object) *DeploymentConfig {
6679	s.DownloadConditionFile = v
6680	return s
6681}
6682
6683// SetFailureThresholdPercentage sets the FailureThresholdPercentage field's value.
6684func (s *DeploymentConfig) SetFailureThresholdPercentage(v int64) *DeploymentConfig {
6685	s.FailureThresholdPercentage = &v
6686	return s
6687}
6688
6689// SetRobotDeploymentTimeoutInSeconds sets the RobotDeploymentTimeoutInSeconds field's value.
6690func (s *DeploymentConfig) SetRobotDeploymentTimeoutInSeconds(v int64) *DeploymentConfig {
6691	s.RobotDeploymentTimeoutInSeconds = &v
6692	return s
6693}
6694
6695// Information about a deployment job.
6696type DeploymentJob struct {
6697	_ struct{} `type:"structure"`
6698
6699	// The Amazon Resource Name (ARN) of the deployment job.
6700	Arn *string `locationName:"arn" min:"1" type:"string"`
6701
6702	// The time, in milliseconds since the epoch, when the deployment job was created.
6703	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6704
6705	// The deployment application configuration.
6706	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
6707
6708	// The deployment configuration.
6709	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
6710
6711	// The deployment job failure code.
6712	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
6713
6714	// A short description of the reason why the deployment job failed.
6715	FailureReason *string `locationName:"failureReason" type:"string"`
6716
6717	// The Amazon Resource Name (ARN) of the fleet.
6718	Fleet *string `locationName:"fleet" min:"1" type:"string"`
6719
6720	// The status of the deployment job.
6721	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
6722}
6723
6724// String returns the string representation
6725func (s DeploymentJob) String() string {
6726	return awsutil.Prettify(s)
6727}
6728
6729// GoString returns the string representation
6730func (s DeploymentJob) GoString() string {
6731	return s.String()
6732}
6733
6734// SetArn sets the Arn field's value.
6735func (s *DeploymentJob) SetArn(v string) *DeploymentJob {
6736	s.Arn = &v
6737	return s
6738}
6739
6740// SetCreatedAt sets the CreatedAt field's value.
6741func (s *DeploymentJob) SetCreatedAt(v time.Time) *DeploymentJob {
6742	s.CreatedAt = &v
6743	return s
6744}
6745
6746// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
6747func (s *DeploymentJob) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DeploymentJob {
6748	s.DeploymentApplicationConfigs = v
6749	return s
6750}
6751
6752// SetDeploymentConfig sets the DeploymentConfig field's value.
6753func (s *DeploymentJob) SetDeploymentConfig(v *DeploymentConfig) *DeploymentJob {
6754	s.DeploymentConfig = v
6755	return s
6756}
6757
6758// SetFailureCode sets the FailureCode field's value.
6759func (s *DeploymentJob) SetFailureCode(v string) *DeploymentJob {
6760	s.FailureCode = &v
6761	return s
6762}
6763
6764// SetFailureReason sets the FailureReason field's value.
6765func (s *DeploymentJob) SetFailureReason(v string) *DeploymentJob {
6766	s.FailureReason = &v
6767	return s
6768}
6769
6770// SetFleet sets the Fleet field's value.
6771func (s *DeploymentJob) SetFleet(v string) *DeploymentJob {
6772	s.Fleet = &v
6773	return s
6774}
6775
6776// SetStatus sets the Status field's value.
6777func (s *DeploymentJob) SetStatus(v string) *DeploymentJob {
6778	s.Status = &v
6779	return s
6780}
6781
6782// Configuration information for a deployment launch.
6783type DeploymentLaunchConfig struct {
6784	_ struct{} `type:"structure"`
6785
6786	// An array of key/value pairs specifying environment variables for the robot
6787	// application
6788	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
6789
6790	// The launch file name.
6791	//
6792	// LaunchFile is a required field
6793	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
6794
6795	// The package name.
6796	//
6797	// PackageName is a required field
6798	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
6799
6800	// The deployment post-launch file. This file will be executed after the launch
6801	// file.
6802	PostLaunchFile *string `locationName:"postLaunchFile" min:"1" type:"string"`
6803
6804	// The deployment pre-launch file. This file will be executed prior to the launch
6805	// file.
6806	PreLaunchFile *string `locationName:"preLaunchFile" min:"1" type:"string"`
6807}
6808
6809// String returns the string representation
6810func (s DeploymentLaunchConfig) String() string {
6811	return awsutil.Prettify(s)
6812}
6813
6814// GoString returns the string representation
6815func (s DeploymentLaunchConfig) GoString() string {
6816	return s.String()
6817}
6818
6819// Validate inspects the fields of the type to determine if they are valid.
6820func (s *DeploymentLaunchConfig) Validate() error {
6821	invalidParams := request.ErrInvalidParams{Context: "DeploymentLaunchConfig"}
6822	if s.LaunchFile == nil {
6823		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
6824	}
6825	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
6826		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
6827	}
6828	if s.PackageName == nil {
6829		invalidParams.Add(request.NewErrParamRequired("PackageName"))
6830	}
6831	if s.PackageName != nil && len(*s.PackageName) < 1 {
6832		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
6833	}
6834	if s.PostLaunchFile != nil && len(*s.PostLaunchFile) < 1 {
6835		invalidParams.Add(request.NewErrParamMinLen("PostLaunchFile", 1))
6836	}
6837	if s.PreLaunchFile != nil && len(*s.PreLaunchFile) < 1 {
6838		invalidParams.Add(request.NewErrParamMinLen("PreLaunchFile", 1))
6839	}
6840
6841	if invalidParams.Len() > 0 {
6842		return invalidParams
6843	}
6844	return nil
6845}
6846
6847// SetEnvironmentVariables sets the EnvironmentVariables field's value.
6848func (s *DeploymentLaunchConfig) SetEnvironmentVariables(v map[string]*string) *DeploymentLaunchConfig {
6849	s.EnvironmentVariables = v
6850	return s
6851}
6852
6853// SetLaunchFile sets the LaunchFile field's value.
6854func (s *DeploymentLaunchConfig) SetLaunchFile(v string) *DeploymentLaunchConfig {
6855	s.LaunchFile = &v
6856	return s
6857}
6858
6859// SetPackageName sets the PackageName field's value.
6860func (s *DeploymentLaunchConfig) SetPackageName(v string) *DeploymentLaunchConfig {
6861	s.PackageName = &v
6862	return s
6863}
6864
6865// SetPostLaunchFile sets the PostLaunchFile field's value.
6866func (s *DeploymentLaunchConfig) SetPostLaunchFile(v string) *DeploymentLaunchConfig {
6867	s.PostLaunchFile = &v
6868	return s
6869}
6870
6871// SetPreLaunchFile sets the PreLaunchFile field's value.
6872func (s *DeploymentLaunchConfig) SetPreLaunchFile(v string) *DeploymentLaunchConfig {
6873	s.PreLaunchFile = &v
6874	return s
6875}
6876
6877type DeregisterRobotInput struct {
6878	_ struct{} `type:"structure"`
6879
6880	// The Amazon Resource Name (ARN) of the fleet.
6881	//
6882	// Fleet is a required field
6883	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
6884
6885	// The Amazon Resource Name (ARN) of the robot.
6886	//
6887	// Robot is a required field
6888	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
6889}
6890
6891// String returns the string representation
6892func (s DeregisterRobotInput) String() string {
6893	return awsutil.Prettify(s)
6894}
6895
6896// GoString returns the string representation
6897func (s DeregisterRobotInput) GoString() string {
6898	return s.String()
6899}
6900
6901// Validate inspects the fields of the type to determine if they are valid.
6902func (s *DeregisterRobotInput) Validate() error {
6903	invalidParams := request.ErrInvalidParams{Context: "DeregisterRobotInput"}
6904	if s.Fleet == nil {
6905		invalidParams.Add(request.NewErrParamRequired("Fleet"))
6906	}
6907	if s.Fleet != nil && len(*s.Fleet) < 1 {
6908		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
6909	}
6910	if s.Robot == nil {
6911		invalidParams.Add(request.NewErrParamRequired("Robot"))
6912	}
6913	if s.Robot != nil && len(*s.Robot) < 1 {
6914		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
6915	}
6916
6917	if invalidParams.Len() > 0 {
6918		return invalidParams
6919	}
6920	return nil
6921}
6922
6923// SetFleet sets the Fleet field's value.
6924func (s *DeregisterRobotInput) SetFleet(v string) *DeregisterRobotInput {
6925	s.Fleet = &v
6926	return s
6927}
6928
6929// SetRobot sets the Robot field's value.
6930func (s *DeregisterRobotInput) SetRobot(v string) *DeregisterRobotInput {
6931	s.Robot = &v
6932	return s
6933}
6934
6935type DeregisterRobotOutput struct {
6936	_ struct{} `type:"structure"`
6937
6938	// The Amazon Resource Name (ARN) of the fleet.
6939	Fleet *string `locationName:"fleet" min:"1" type:"string"`
6940
6941	// The Amazon Resource Name (ARN) of the robot.
6942	Robot *string `locationName:"robot" min:"1" type:"string"`
6943}
6944
6945// String returns the string representation
6946func (s DeregisterRobotOutput) String() string {
6947	return awsutil.Prettify(s)
6948}
6949
6950// GoString returns the string representation
6951func (s DeregisterRobotOutput) GoString() string {
6952	return s.String()
6953}
6954
6955// SetFleet sets the Fleet field's value.
6956func (s *DeregisterRobotOutput) SetFleet(v string) *DeregisterRobotOutput {
6957	s.Fleet = &v
6958	return s
6959}
6960
6961// SetRobot sets the Robot field's value.
6962func (s *DeregisterRobotOutput) SetRobot(v string) *DeregisterRobotOutput {
6963	s.Robot = &v
6964	return s
6965}
6966
6967type DescribeDeploymentJobInput struct {
6968	_ struct{} `type:"structure"`
6969
6970	// The Amazon Resource Name (ARN) of the deployment job.
6971	//
6972	// Job is a required field
6973	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
6974}
6975
6976// String returns the string representation
6977func (s DescribeDeploymentJobInput) String() string {
6978	return awsutil.Prettify(s)
6979}
6980
6981// GoString returns the string representation
6982func (s DescribeDeploymentJobInput) GoString() string {
6983	return s.String()
6984}
6985
6986// Validate inspects the fields of the type to determine if they are valid.
6987func (s *DescribeDeploymentJobInput) Validate() error {
6988	invalidParams := request.ErrInvalidParams{Context: "DescribeDeploymentJobInput"}
6989	if s.Job == nil {
6990		invalidParams.Add(request.NewErrParamRequired("Job"))
6991	}
6992	if s.Job != nil && len(*s.Job) < 1 {
6993		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
6994	}
6995
6996	if invalidParams.Len() > 0 {
6997		return invalidParams
6998	}
6999	return nil
7000}
7001
7002// SetJob sets the Job field's value.
7003func (s *DescribeDeploymentJobInput) SetJob(v string) *DescribeDeploymentJobInput {
7004	s.Job = &v
7005	return s
7006}
7007
7008type DescribeDeploymentJobOutput struct {
7009	_ struct{} `type:"structure"`
7010
7011	// The Amazon Resource Name (ARN) of the deployment job.
7012	Arn *string `locationName:"arn" min:"1" type:"string"`
7013
7014	// The time, in milliseconds since the epoch, when the deployment job was created.
7015	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7016
7017	// The deployment application configuration.
7018	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
7019
7020	// The deployment configuration.
7021	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
7022
7023	// The deployment job failure code.
7024	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
7025
7026	// A short description of the reason why the deployment job failed.
7027	FailureReason *string `locationName:"failureReason" type:"string"`
7028
7029	// The Amazon Resource Name (ARN) of the fleet.
7030	Fleet *string `locationName:"fleet" min:"1" type:"string"`
7031
7032	// A list of robot deployment summaries.
7033	RobotDeploymentSummary []*RobotDeployment `locationName:"robotDeploymentSummary" type:"list"`
7034
7035	// The status of the deployment job.
7036	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
7037
7038	// The list of all tags added to the specified deployment job.
7039	Tags map[string]*string `locationName:"tags" type:"map"`
7040}
7041
7042// String returns the string representation
7043func (s DescribeDeploymentJobOutput) String() string {
7044	return awsutil.Prettify(s)
7045}
7046
7047// GoString returns the string representation
7048func (s DescribeDeploymentJobOutput) GoString() string {
7049	return s.String()
7050}
7051
7052// SetArn sets the Arn field's value.
7053func (s *DescribeDeploymentJobOutput) SetArn(v string) *DescribeDeploymentJobOutput {
7054	s.Arn = &v
7055	return s
7056}
7057
7058// SetCreatedAt sets the CreatedAt field's value.
7059func (s *DescribeDeploymentJobOutput) SetCreatedAt(v time.Time) *DescribeDeploymentJobOutput {
7060	s.CreatedAt = &v
7061	return s
7062}
7063
7064// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
7065func (s *DescribeDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DescribeDeploymentJobOutput {
7066	s.DeploymentApplicationConfigs = v
7067	return s
7068}
7069
7070// SetDeploymentConfig sets the DeploymentConfig field's value.
7071func (s *DescribeDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *DescribeDeploymentJobOutput {
7072	s.DeploymentConfig = v
7073	return s
7074}
7075
7076// SetFailureCode sets the FailureCode field's value.
7077func (s *DescribeDeploymentJobOutput) SetFailureCode(v string) *DescribeDeploymentJobOutput {
7078	s.FailureCode = &v
7079	return s
7080}
7081
7082// SetFailureReason sets the FailureReason field's value.
7083func (s *DescribeDeploymentJobOutput) SetFailureReason(v string) *DescribeDeploymentJobOutput {
7084	s.FailureReason = &v
7085	return s
7086}
7087
7088// SetFleet sets the Fleet field's value.
7089func (s *DescribeDeploymentJobOutput) SetFleet(v string) *DescribeDeploymentJobOutput {
7090	s.Fleet = &v
7091	return s
7092}
7093
7094// SetRobotDeploymentSummary sets the RobotDeploymentSummary field's value.
7095func (s *DescribeDeploymentJobOutput) SetRobotDeploymentSummary(v []*RobotDeployment) *DescribeDeploymentJobOutput {
7096	s.RobotDeploymentSummary = v
7097	return s
7098}
7099
7100// SetStatus sets the Status field's value.
7101func (s *DescribeDeploymentJobOutput) SetStatus(v string) *DescribeDeploymentJobOutput {
7102	s.Status = &v
7103	return s
7104}
7105
7106// SetTags sets the Tags field's value.
7107func (s *DescribeDeploymentJobOutput) SetTags(v map[string]*string) *DescribeDeploymentJobOutput {
7108	s.Tags = v
7109	return s
7110}
7111
7112type DescribeFleetInput struct {
7113	_ struct{} `type:"structure"`
7114
7115	// The Amazon Resource Name (ARN) of the fleet.
7116	//
7117	// Fleet is a required field
7118	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
7119}
7120
7121// String returns the string representation
7122func (s DescribeFleetInput) String() string {
7123	return awsutil.Prettify(s)
7124}
7125
7126// GoString returns the string representation
7127func (s DescribeFleetInput) GoString() string {
7128	return s.String()
7129}
7130
7131// Validate inspects the fields of the type to determine if they are valid.
7132func (s *DescribeFleetInput) Validate() error {
7133	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInput"}
7134	if s.Fleet == nil {
7135		invalidParams.Add(request.NewErrParamRequired("Fleet"))
7136	}
7137	if s.Fleet != nil && len(*s.Fleet) < 1 {
7138		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
7139	}
7140
7141	if invalidParams.Len() > 0 {
7142		return invalidParams
7143	}
7144	return nil
7145}
7146
7147// SetFleet sets the Fleet field's value.
7148func (s *DescribeFleetInput) SetFleet(v string) *DescribeFleetInput {
7149	s.Fleet = &v
7150	return s
7151}
7152
7153type DescribeFleetOutput struct {
7154	_ struct{} `type:"structure"`
7155
7156	// The Amazon Resource Name (ARN) of the fleet.
7157	Arn *string `locationName:"arn" min:"1" type:"string"`
7158
7159	// The time, in milliseconds since the epoch, when the fleet was created.
7160	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7161
7162	// The Amazon Resource Name (ARN) of the last deployment job.
7163	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
7164
7165	// The status of the last deployment.
7166	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
7167
7168	// The time of the last deployment.
7169	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
7170
7171	// The name of the fleet.
7172	Name *string `locationName:"name" min:"1" type:"string"`
7173
7174	// A list of robots.
7175	Robots []*Robot `locationName:"robots" type:"list"`
7176
7177	// The list of all tags added to the specified fleet.
7178	Tags map[string]*string `locationName:"tags" type:"map"`
7179}
7180
7181// String returns the string representation
7182func (s DescribeFleetOutput) String() string {
7183	return awsutil.Prettify(s)
7184}
7185
7186// GoString returns the string representation
7187func (s DescribeFleetOutput) GoString() string {
7188	return s.String()
7189}
7190
7191// SetArn sets the Arn field's value.
7192func (s *DescribeFleetOutput) SetArn(v string) *DescribeFleetOutput {
7193	s.Arn = &v
7194	return s
7195}
7196
7197// SetCreatedAt sets the CreatedAt field's value.
7198func (s *DescribeFleetOutput) SetCreatedAt(v time.Time) *DescribeFleetOutput {
7199	s.CreatedAt = &v
7200	return s
7201}
7202
7203// SetLastDeploymentJob sets the LastDeploymentJob field's value.
7204func (s *DescribeFleetOutput) SetLastDeploymentJob(v string) *DescribeFleetOutput {
7205	s.LastDeploymentJob = &v
7206	return s
7207}
7208
7209// SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
7210func (s *DescribeFleetOutput) SetLastDeploymentStatus(v string) *DescribeFleetOutput {
7211	s.LastDeploymentStatus = &v
7212	return s
7213}
7214
7215// SetLastDeploymentTime sets the LastDeploymentTime field's value.
7216func (s *DescribeFleetOutput) SetLastDeploymentTime(v time.Time) *DescribeFleetOutput {
7217	s.LastDeploymentTime = &v
7218	return s
7219}
7220
7221// SetName sets the Name field's value.
7222func (s *DescribeFleetOutput) SetName(v string) *DescribeFleetOutput {
7223	s.Name = &v
7224	return s
7225}
7226
7227// SetRobots sets the Robots field's value.
7228func (s *DescribeFleetOutput) SetRobots(v []*Robot) *DescribeFleetOutput {
7229	s.Robots = v
7230	return s
7231}
7232
7233// SetTags sets the Tags field's value.
7234func (s *DescribeFleetOutput) SetTags(v map[string]*string) *DescribeFleetOutput {
7235	s.Tags = v
7236	return s
7237}
7238
7239type DescribeRobotApplicationInput struct {
7240	_ struct{} `type:"structure"`
7241
7242	// The Amazon Resource Name (ARN) of the robot application.
7243	//
7244	// Application is a required field
7245	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
7246
7247	// The version of the robot application to describe.
7248	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
7249}
7250
7251// String returns the string representation
7252func (s DescribeRobotApplicationInput) String() string {
7253	return awsutil.Prettify(s)
7254}
7255
7256// GoString returns the string representation
7257func (s DescribeRobotApplicationInput) GoString() string {
7258	return s.String()
7259}
7260
7261// Validate inspects the fields of the type to determine if they are valid.
7262func (s *DescribeRobotApplicationInput) Validate() error {
7263	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotApplicationInput"}
7264	if s.Application == nil {
7265		invalidParams.Add(request.NewErrParamRequired("Application"))
7266	}
7267	if s.Application != nil && len(*s.Application) < 1 {
7268		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
7269	}
7270	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
7271		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
7272	}
7273
7274	if invalidParams.Len() > 0 {
7275		return invalidParams
7276	}
7277	return nil
7278}
7279
7280// SetApplication sets the Application field's value.
7281func (s *DescribeRobotApplicationInput) SetApplication(v string) *DescribeRobotApplicationInput {
7282	s.Application = &v
7283	return s
7284}
7285
7286// SetApplicationVersion sets the ApplicationVersion field's value.
7287func (s *DescribeRobotApplicationInput) SetApplicationVersion(v string) *DescribeRobotApplicationInput {
7288	s.ApplicationVersion = &v
7289	return s
7290}
7291
7292type DescribeRobotApplicationOutput struct {
7293	_ struct{} `type:"structure"`
7294
7295	// The Amazon Resource Name (ARN) of the robot application.
7296	Arn *string `locationName:"arn" min:"1" type:"string"`
7297
7298	// The time, in milliseconds since the epoch, when the robot application was
7299	// last updated.
7300	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7301
7302	// The name of the robot application.
7303	Name *string `locationName:"name" min:"1" type:"string"`
7304
7305	// The revision id of the robot application.
7306	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
7307
7308	// The robot software suite (ROS distribution) used by the robot application.
7309	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
7310
7311	// The sources of the robot application.
7312	Sources []*Source `locationName:"sources" type:"list"`
7313
7314	// The list of all tags added to the specified robot application.
7315	Tags map[string]*string `locationName:"tags" type:"map"`
7316
7317	// The version of the robot application.
7318	Version *string `locationName:"version" min:"1" type:"string"`
7319}
7320
7321// String returns the string representation
7322func (s DescribeRobotApplicationOutput) String() string {
7323	return awsutil.Prettify(s)
7324}
7325
7326// GoString returns the string representation
7327func (s DescribeRobotApplicationOutput) GoString() string {
7328	return s.String()
7329}
7330
7331// SetArn sets the Arn field's value.
7332func (s *DescribeRobotApplicationOutput) SetArn(v string) *DescribeRobotApplicationOutput {
7333	s.Arn = &v
7334	return s
7335}
7336
7337// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7338func (s *DescribeRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeRobotApplicationOutput {
7339	s.LastUpdatedAt = &v
7340	return s
7341}
7342
7343// SetName sets the Name field's value.
7344func (s *DescribeRobotApplicationOutput) SetName(v string) *DescribeRobotApplicationOutput {
7345	s.Name = &v
7346	return s
7347}
7348
7349// SetRevisionId sets the RevisionId field's value.
7350func (s *DescribeRobotApplicationOutput) SetRevisionId(v string) *DescribeRobotApplicationOutput {
7351	s.RevisionId = &v
7352	return s
7353}
7354
7355// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
7356func (s *DescribeRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeRobotApplicationOutput {
7357	s.RobotSoftwareSuite = v
7358	return s
7359}
7360
7361// SetSources sets the Sources field's value.
7362func (s *DescribeRobotApplicationOutput) SetSources(v []*Source) *DescribeRobotApplicationOutput {
7363	s.Sources = v
7364	return s
7365}
7366
7367// SetTags sets the Tags field's value.
7368func (s *DescribeRobotApplicationOutput) SetTags(v map[string]*string) *DescribeRobotApplicationOutput {
7369	s.Tags = v
7370	return s
7371}
7372
7373// SetVersion sets the Version field's value.
7374func (s *DescribeRobotApplicationOutput) SetVersion(v string) *DescribeRobotApplicationOutput {
7375	s.Version = &v
7376	return s
7377}
7378
7379type DescribeRobotInput struct {
7380	_ struct{} `type:"structure"`
7381
7382	// The Amazon Resource Name (ARN) of the robot to be described.
7383	//
7384	// Robot is a required field
7385	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
7386}
7387
7388// String returns the string representation
7389func (s DescribeRobotInput) String() string {
7390	return awsutil.Prettify(s)
7391}
7392
7393// GoString returns the string representation
7394func (s DescribeRobotInput) GoString() string {
7395	return s.String()
7396}
7397
7398// Validate inspects the fields of the type to determine if they are valid.
7399func (s *DescribeRobotInput) Validate() error {
7400	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotInput"}
7401	if s.Robot == nil {
7402		invalidParams.Add(request.NewErrParamRequired("Robot"))
7403	}
7404	if s.Robot != nil && len(*s.Robot) < 1 {
7405		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
7406	}
7407
7408	if invalidParams.Len() > 0 {
7409		return invalidParams
7410	}
7411	return nil
7412}
7413
7414// SetRobot sets the Robot field's value.
7415func (s *DescribeRobotInput) SetRobot(v string) *DescribeRobotInput {
7416	s.Robot = &v
7417	return s
7418}
7419
7420type DescribeRobotOutput struct {
7421	_ struct{} `type:"structure"`
7422
7423	// The target architecture of the robot application.
7424	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
7425
7426	// The Amazon Resource Name (ARN) of the robot.
7427	Arn *string `locationName:"arn" min:"1" type:"string"`
7428
7429	// The time, in milliseconds since the epoch, when the robot was created.
7430	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7431
7432	// The Amazon Resource Name (ARN) of the fleet.
7433	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
7434
7435	// The Greengrass group id.
7436	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
7437
7438	// The Amazon Resource Name (ARN) of the last deployment job.
7439	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
7440
7441	// The time of the last deployment job.
7442	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
7443
7444	// The name of the robot.
7445	Name *string `locationName:"name" min:"1" type:"string"`
7446
7447	// The status of the fleet.
7448	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
7449
7450	// The list of all tags added to the specified robot.
7451	Tags map[string]*string `locationName:"tags" type:"map"`
7452}
7453
7454// String returns the string representation
7455func (s DescribeRobotOutput) String() string {
7456	return awsutil.Prettify(s)
7457}
7458
7459// GoString returns the string representation
7460func (s DescribeRobotOutput) GoString() string {
7461	return s.String()
7462}
7463
7464// SetArchitecture sets the Architecture field's value.
7465func (s *DescribeRobotOutput) SetArchitecture(v string) *DescribeRobotOutput {
7466	s.Architecture = &v
7467	return s
7468}
7469
7470// SetArn sets the Arn field's value.
7471func (s *DescribeRobotOutput) SetArn(v string) *DescribeRobotOutput {
7472	s.Arn = &v
7473	return s
7474}
7475
7476// SetCreatedAt sets the CreatedAt field's value.
7477func (s *DescribeRobotOutput) SetCreatedAt(v time.Time) *DescribeRobotOutput {
7478	s.CreatedAt = &v
7479	return s
7480}
7481
7482// SetFleetArn sets the FleetArn field's value.
7483func (s *DescribeRobotOutput) SetFleetArn(v string) *DescribeRobotOutput {
7484	s.FleetArn = &v
7485	return s
7486}
7487
7488// SetGreengrassGroupId sets the GreengrassGroupId field's value.
7489func (s *DescribeRobotOutput) SetGreengrassGroupId(v string) *DescribeRobotOutput {
7490	s.GreengrassGroupId = &v
7491	return s
7492}
7493
7494// SetLastDeploymentJob sets the LastDeploymentJob field's value.
7495func (s *DescribeRobotOutput) SetLastDeploymentJob(v string) *DescribeRobotOutput {
7496	s.LastDeploymentJob = &v
7497	return s
7498}
7499
7500// SetLastDeploymentTime sets the LastDeploymentTime field's value.
7501func (s *DescribeRobotOutput) SetLastDeploymentTime(v time.Time) *DescribeRobotOutput {
7502	s.LastDeploymentTime = &v
7503	return s
7504}
7505
7506// SetName sets the Name field's value.
7507func (s *DescribeRobotOutput) SetName(v string) *DescribeRobotOutput {
7508	s.Name = &v
7509	return s
7510}
7511
7512// SetStatus sets the Status field's value.
7513func (s *DescribeRobotOutput) SetStatus(v string) *DescribeRobotOutput {
7514	s.Status = &v
7515	return s
7516}
7517
7518// SetTags sets the Tags field's value.
7519func (s *DescribeRobotOutput) SetTags(v map[string]*string) *DescribeRobotOutput {
7520	s.Tags = v
7521	return s
7522}
7523
7524type DescribeSimulationApplicationInput struct {
7525	_ struct{} `type:"structure"`
7526
7527	// The application information for the simulation application.
7528	//
7529	// Application is a required field
7530	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
7531
7532	// The version of the simulation application to describe.
7533	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
7534}
7535
7536// String returns the string representation
7537func (s DescribeSimulationApplicationInput) String() string {
7538	return awsutil.Prettify(s)
7539}
7540
7541// GoString returns the string representation
7542func (s DescribeSimulationApplicationInput) GoString() string {
7543	return s.String()
7544}
7545
7546// Validate inspects the fields of the type to determine if they are valid.
7547func (s *DescribeSimulationApplicationInput) Validate() error {
7548	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationApplicationInput"}
7549	if s.Application == nil {
7550		invalidParams.Add(request.NewErrParamRequired("Application"))
7551	}
7552	if s.Application != nil && len(*s.Application) < 1 {
7553		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
7554	}
7555	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
7556		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
7557	}
7558
7559	if invalidParams.Len() > 0 {
7560		return invalidParams
7561	}
7562	return nil
7563}
7564
7565// SetApplication sets the Application field's value.
7566func (s *DescribeSimulationApplicationInput) SetApplication(v string) *DescribeSimulationApplicationInput {
7567	s.Application = &v
7568	return s
7569}
7570
7571// SetApplicationVersion sets the ApplicationVersion field's value.
7572func (s *DescribeSimulationApplicationInput) SetApplicationVersion(v string) *DescribeSimulationApplicationInput {
7573	s.ApplicationVersion = &v
7574	return s
7575}
7576
7577type DescribeSimulationApplicationOutput struct {
7578	_ struct{} `type:"structure"`
7579
7580	// The Amazon Resource Name (ARN) of the robot simulation application.
7581	Arn *string `locationName:"arn" min:"1" type:"string"`
7582
7583	// The time, in milliseconds since the epoch, when the simulation application
7584	// was last updated.
7585	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7586
7587	// The name of the simulation application.
7588	Name *string `locationName:"name" min:"1" type:"string"`
7589
7590	// The rendering engine for the simulation application.
7591	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
7592
7593	// The revision id of the simulation application.
7594	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
7595
7596	// Information about the robot software suite (ROS distribution).
7597	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
7598
7599	// The simulation software suite used by the simulation application.
7600	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
7601
7602	// The sources of the simulation application.
7603	Sources []*Source `locationName:"sources" type:"list"`
7604
7605	// The list of all tags added to the specified simulation application.
7606	Tags map[string]*string `locationName:"tags" type:"map"`
7607
7608	// The version of the simulation application.
7609	Version *string `locationName:"version" min:"1" type:"string"`
7610}
7611
7612// String returns the string representation
7613func (s DescribeSimulationApplicationOutput) String() string {
7614	return awsutil.Prettify(s)
7615}
7616
7617// GoString returns the string representation
7618func (s DescribeSimulationApplicationOutput) GoString() string {
7619	return s.String()
7620}
7621
7622// SetArn sets the Arn field's value.
7623func (s *DescribeSimulationApplicationOutput) SetArn(v string) *DescribeSimulationApplicationOutput {
7624	s.Arn = &v
7625	return s
7626}
7627
7628// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7629func (s *DescribeSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationApplicationOutput {
7630	s.LastUpdatedAt = &v
7631	return s
7632}
7633
7634// SetName sets the Name field's value.
7635func (s *DescribeSimulationApplicationOutput) SetName(v string) *DescribeSimulationApplicationOutput {
7636	s.Name = &v
7637	return s
7638}
7639
7640// SetRenderingEngine sets the RenderingEngine field's value.
7641func (s *DescribeSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *DescribeSimulationApplicationOutput {
7642	s.RenderingEngine = v
7643	return s
7644}
7645
7646// SetRevisionId sets the RevisionId field's value.
7647func (s *DescribeSimulationApplicationOutput) SetRevisionId(v string) *DescribeSimulationApplicationOutput {
7648	s.RevisionId = &v
7649	return s
7650}
7651
7652// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
7653func (s *DescribeSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeSimulationApplicationOutput {
7654	s.RobotSoftwareSuite = v
7655	return s
7656}
7657
7658// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
7659func (s *DescribeSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *DescribeSimulationApplicationOutput {
7660	s.SimulationSoftwareSuite = v
7661	return s
7662}
7663
7664// SetSources sets the Sources field's value.
7665func (s *DescribeSimulationApplicationOutput) SetSources(v []*Source) *DescribeSimulationApplicationOutput {
7666	s.Sources = v
7667	return s
7668}
7669
7670// SetTags sets the Tags field's value.
7671func (s *DescribeSimulationApplicationOutput) SetTags(v map[string]*string) *DescribeSimulationApplicationOutput {
7672	s.Tags = v
7673	return s
7674}
7675
7676// SetVersion sets the Version field's value.
7677func (s *DescribeSimulationApplicationOutput) SetVersion(v string) *DescribeSimulationApplicationOutput {
7678	s.Version = &v
7679	return s
7680}
7681
7682type DescribeSimulationJobBatchInput struct {
7683	_ struct{} `type:"structure"`
7684
7685	// The id of the batch to describe.
7686	//
7687	// Batch is a required field
7688	Batch *string `locationName:"batch" min:"1" type:"string" required:"true"`
7689}
7690
7691// String returns the string representation
7692func (s DescribeSimulationJobBatchInput) String() string {
7693	return awsutil.Prettify(s)
7694}
7695
7696// GoString returns the string representation
7697func (s DescribeSimulationJobBatchInput) GoString() string {
7698	return s.String()
7699}
7700
7701// Validate inspects the fields of the type to determine if they are valid.
7702func (s *DescribeSimulationJobBatchInput) Validate() error {
7703	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobBatchInput"}
7704	if s.Batch == nil {
7705		invalidParams.Add(request.NewErrParamRequired("Batch"))
7706	}
7707	if s.Batch != nil && len(*s.Batch) < 1 {
7708		invalidParams.Add(request.NewErrParamMinLen("Batch", 1))
7709	}
7710
7711	if invalidParams.Len() > 0 {
7712		return invalidParams
7713	}
7714	return nil
7715}
7716
7717// SetBatch sets the Batch field's value.
7718func (s *DescribeSimulationJobBatchInput) SetBatch(v string) *DescribeSimulationJobBatchInput {
7719	s.Batch = &v
7720	return s
7721}
7722
7723type DescribeSimulationJobBatchOutput struct {
7724	_ struct{} `type:"structure"`
7725
7726	// The Amazon Resource Name (ARN) of the batch.
7727	Arn *string `locationName:"arn" min:"1" type:"string"`
7728
7729	// The batch policy.
7730	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
7731
7732	// Unique, case-sensitive identifier that you provide to ensure the idempotency
7733	// of the request.
7734	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
7735
7736	// The time, in milliseconds since the epoch, when the simulation job batch
7737	// was created.
7738	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7739
7740	// A list of created simulation job summaries.
7741	CreatedRequests []*SimulationJobSummary `locationName:"createdRequests" type:"list"`
7742
7743	// A list of failed create simulation job requests. The request failed to be
7744	// created into a simulation job. Failed requests do not have a simulation job
7745	// ID.
7746	FailedRequests []*FailedCreateSimulationJobRequest `locationName:"failedRequests" type:"list"`
7747
7748	// The failure code of the simulation job batch.
7749	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobBatchErrorCode"`
7750
7751	// The reason the simulation job batch failed.
7752	FailureReason *string `locationName:"failureReason" type:"string"`
7753
7754	// The time, in milliseconds since the epoch, when the simulation job batch
7755	// was last updated.
7756	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7757
7758	// A list of pending simulation job requests. These requests have not yet been
7759	// created into simulation jobs.
7760	PendingRequests []*SimulationJobRequest `locationName:"pendingRequests" min:"1" type:"list"`
7761
7762	// The status of the batch.
7763	//
7764	// Pending
7765	//
7766	// The simulation job batch request is pending.
7767	//
7768	// InProgress
7769	//
7770	// The simulation job batch is in progress.
7771	//
7772	// Failed
7773	//
7774	// The simulation job batch failed. One or more simulation job requests could
7775	// not be completed due to an internal failure (like InternalServiceError).
7776	// See failureCode and failureReason for more information.
7777	//
7778	// Completed
7779	//
7780	// The simulation batch job completed. A batch is complete when (1) there are
7781	// no pending simulation job requests in the batch and none of the failed simulation
7782	// job requests are due to InternalServiceError and (2) when all created simulation
7783	// jobs have reached a terminal state (for example, Completed or Failed).
7784	//
7785	// Canceled
7786	//
7787	// The simulation batch job was cancelled.
7788	//
7789	// Canceling
7790	//
7791	// The simulation batch job is being cancelled.
7792	//
7793	// Completing
7794	//
7795	// The simulation batch job is completing.
7796	//
7797	// TimingOut
7798	//
7799	// The simulation job batch is timing out.
7800	//
7801	// If a batch timing out, and there are pending requests that were failing due
7802	// to an internal failure (like InternalServiceError), the batch status will
7803	// be Failed. If there are no such failing request, the batch status will be
7804	// TimedOut.
7805	//
7806	// TimedOut
7807	//
7808	// The simulation batch job timed out.
7809	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
7810
7811	// A map that contains tag keys and tag values that are attached to the simulation
7812	// job batch.
7813	Tags map[string]*string `locationName:"tags" type:"map"`
7814}
7815
7816// String returns the string representation
7817func (s DescribeSimulationJobBatchOutput) String() string {
7818	return awsutil.Prettify(s)
7819}
7820
7821// GoString returns the string representation
7822func (s DescribeSimulationJobBatchOutput) GoString() string {
7823	return s.String()
7824}
7825
7826// SetArn sets the Arn field's value.
7827func (s *DescribeSimulationJobBatchOutput) SetArn(v string) *DescribeSimulationJobBatchOutput {
7828	s.Arn = &v
7829	return s
7830}
7831
7832// SetBatchPolicy sets the BatchPolicy field's value.
7833func (s *DescribeSimulationJobBatchOutput) SetBatchPolicy(v *BatchPolicy) *DescribeSimulationJobBatchOutput {
7834	s.BatchPolicy = v
7835	return s
7836}
7837
7838// SetClientRequestToken sets the ClientRequestToken field's value.
7839func (s *DescribeSimulationJobBatchOutput) SetClientRequestToken(v string) *DescribeSimulationJobBatchOutput {
7840	s.ClientRequestToken = &v
7841	return s
7842}
7843
7844// SetCreatedAt sets the CreatedAt field's value.
7845func (s *DescribeSimulationJobBatchOutput) SetCreatedAt(v time.Time) *DescribeSimulationJobBatchOutput {
7846	s.CreatedAt = &v
7847	return s
7848}
7849
7850// SetCreatedRequests sets the CreatedRequests field's value.
7851func (s *DescribeSimulationJobBatchOutput) SetCreatedRequests(v []*SimulationJobSummary) *DescribeSimulationJobBatchOutput {
7852	s.CreatedRequests = v
7853	return s
7854}
7855
7856// SetFailedRequests sets the FailedRequests field's value.
7857func (s *DescribeSimulationJobBatchOutput) SetFailedRequests(v []*FailedCreateSimulationJobRequest) *DescribeSimulationJobBatchOutput {
7858	s.FailedRequests = v
7859	return s
7860}
7861
7862// SetFailureCode sets the FailureCode field's value.
7863func (s *DescribeSimulationJobBatchOutput) SetFailureCode(v string) *DescribeSimulationJobBatchOutput {
7864	s.FailureCode = &v
7865	return s
7866}
7867
7868// SetFailureReason sets the FailureReason field's value.
7869func (s *DescribeSimulationJobBatchOutput) SetFailureReason(v string) *DescribeSimulationJobBatchOutput {
7870	s.FailureReason = &v
7871	return s
7872}
7873
7874// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7875func (s *DescribeSimulationJobBatchOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobBatchOutput {
7876	s.LastUpdatedAt = &v
7877	return s
7878}
7879
7880// SetPendingRequests sets the PendingRequests field's value.
7881func (s *DescribeSimulationJobBatchOutput) SetPendingRequests(v []*SimulationJobRequest) *DescribeSimulationJobBatchOutput {
7882	s.PendingRequests = v
7883	return s
7884}
7885
7886// SetStatus sets the Status field's value.
7887func (s *DescribeSimulationJobBatchOutput) SetStatus(v string) *DescribeSimulationJobBatchOutput {
7888	s.Status = &v
7889	return s
7890}
7891
7892// SetTags sets the Tags field's value.
7893func (s *DescribeSimulationJobBatchOutput) SetTags(v map[string]*string) *DescribeSimulationJobBatchOutput {
7894	s.Tags = v
7895	return s
7896}
7897
7898type DescribeSimulationJobInput struct {
7899	_ struct{} `type:"structure"`
7900
7901	// The Amazon Resource Name (ARN) of the simulation job to be described.
7902	//
7903	// Job is a required field
7904	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
7905}
7906
7907// String returns the string representation
7908func (s DescribeSimulationJobInput) String() string {
7909	return awsutil.Prettify(s)
7910}
7911
7912// GoString returns the string representation
7913func (s DescribeSimulationJobInput) GoString() string {
7914	return s.String()
7915}
7916
7917// Validate inspects the fields of the type to determine if they are valid.
7918func (s *DescribeSimulationJobInput) Validate() error {
7919	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobInput"}
7920	if s.Job == nil {
7921		invalidParams.Add(request.NewErrParamRequired("Job"))
7922	}
7923	if s.Job != nil && len(*s.Job) < 1 {
7924		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
7925	}
7926
7927	if invalidParams.Len() > 0 {
7928		return invalidParams
7929	}
7930	return nil
7931}
7932
7933// SetJob sets the Job field's value.
7934func (s *DescribeSimulationJobInput) SetJob(v string) *DescribeSimulationJobInput {
7935	s.Job = &v
7936	return s
7937}
7938
7939type DescribeSimulationJobOutput struct {
7940	_ struct{} `type:"structure"`
7941
7942	// The Amazon Resource Name (ARN) of the simulation job.
7943	Arn *string `locationName:"arn" min:"1" type:"string"`
7944
7945	// Unique, case-sensitive identifier that you provide to ensure the idempotency
7946	// of the request.
7947	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
7948
7949	// Compute information for the simulation job.
7950	Compute *ComputeResponse `locationName:"compute" type:"structure"`
7951
7952	// The data sources for the simulation job.
7953	DataSources []*DataSource `locationName:"dataSources" type:"list"`
7954
7955	// The failure behavior for the simulation job.
7956	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
7957
7958	// The failure code of the simulation job if it failed:
7959	//
7960	// InternalServiceError
7961	//
7962	// Internal service error.
7963	//
7964	// RobotApplicationCrash
7965	//
7966	// Robot application exited abnormally.
7967	//
7968	// SimulationApplicationCrash
7969	//
7970	// Simulation application exited abnormally.
7971	//
7972	// BadPermissionsRobotApplication
7973	//
7974	// Robot application bundle could not be downloaded.
7975	//
7976	// BadPermissionsSimulationApplication
7977	//
7978	// Simulation application bundle could not be downloaded.
7979	//
7980	// BadPermissionsS3Output
7981	//
7982	// Unable to publish outputs to customer-provided S3 bucket.
7983	//
7984	// BadPermissionsCloudwatchLogs
7985	//
7986	// Unable to publish logs to customer-provided CloudWatch Logs resource.
7987	//
7988	// SubnetIpLimitExceeded
7989	//
7990	// Subnet IP limit exceeded.
7991	//
7992	// ENILimitExceeded
7993	//
7994	// ENI limit exceeded.
7995	//
7996	// BadPermissionsUserCredentials
7997	//
7998	// Unable to use the Role provided.
7999	//
8000	// InvalidBundleRobotApplication
8001	//
8002	// Robot bundle cannot be extracted (invalid format, bundling error, or other
8003	// issue).
8004	//
8005	// InvalidBundleSimulationApplication
8006	//
8007	// Simulation bundle cannot be extracted (invalid format, bundling error, or
8008	// other issue).
8009	//
8010	// RobotApplicationVersionMismatchedEtag
8011	//
8012	// Etag for RobotApplication does not match value during version creation.
8013	//
8014	// SimulationApplicationVersionMismatchedEtag
8015	//
8016	// Etag for SimulationApplication does not match value during version creation.
8017	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
8018
8019	// Details about why the simulation job failed. For more information about troubleshooting,
8020	// see Troubleshooting (https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting.html).
8021	FailureReason *string `locationName:"failureReason" type:"string"`
8022
8023	// The IAM role that allows the simulation instance to call the AWS APIs that
8024	// are specified in its associated policies on your behalf.
8025	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
8026
8027	// The time, in milliseconds since the epoch, when the simulation job was last
8028	// started.
8029	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
8030
8031	// The time, in milliseconds since the epoch, when the simulation job was last
8032	// updated.
8033	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
8034
8035	// The logging configuration.
8036	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
8037
8038	// The maximum job duration in seconds. The value must be 8 days (691,200 seconds)
8039	// or less.
8040	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
8041
8042	// The name of the simulation job.
8043	Name *string `locationName:"name" min:"1" type:"string"`
8044
8045	// The network interface information for the simulation job.
8046	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
8047
8048	// Location for output files generated by the simulation job.
8049	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
8050
8051	// A list of robot applications.
8052	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
8053
8054	// A list of simulation applications.
8055	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
8056
8057	// The simulation job execution duration in milliseconds.
8058	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
8059
8060	// The status of the simulation job.
8061	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
8062
8063	// The list of all tags added to the specified simulation job.
8064	Tags map[string]*string `locationName:"tags" type:"map"`
8065
8066	// The VPC configuration.
8067	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
8068}
8069
8070// String returns the string representation
8071func (s DescribeSimulationJobOutput) String() string {
8072	return awsutil.Prettify(s)
8073}
8074
8075// GoString returns the string representation
8076func (s DescribeSimulationJobOutput) GoString() string {
8077	return s.String()
8078}
8079
8080// SetArn sets the Arn field's value.
8081func (s *DescribeSimulationJobOutput) SetArn(v string) *DescribeSimulationJobOutput {
8082	s.Arn = &v
8083	return s
8084}
8085
8086// SetClientRequestToken sets the ClientRequestToken field's value.
8087func (s *DescribeSimulationJobOutput) SetClientRequestToken(v string) *DescribeSimulationJobOutput {
8088	s.ClientRequestToken = &v
8089	return s
8090}
8091
8092// SetCompute sets the Compute field's value.
8093func (s *DescribeSimulationJobOutput) SetCompute(v *ComputeResponse) *DescribeSimulationJobOutput {
8094	s.Compute = v
8095	return s
8096}
8097
8098// SetDataSources sets the DataSources field's value.
8099func (s *DescribeSimulationJobOutput) SetDataSources(v []*DataSource) *DescribeSimulationJobOutput {
8100	s.DataSources = v
8101	return s
8102}
8103
8104// SetFailureBehavior sets the FailureBehavior field's value.
8105func (s *DescribeSimulationJobOutput) SetFailureBehavior(v string) *DescribeSimulationJobOutput {
8106	s.FailureBehavior = &v
8107	return s
8108}
8109
8110// SetFailureCode sets the FailureCode field's value.
8111func (s *DescribeSimulationJobOutput) SetFailureCode(v string) *DescribeSimulationJobOutput {
8112	s.FailureCode = &v
8113	return s
8114}
8115
8116// SetFailureReason sets the FailureReason field's value.
8117func (s *DescribeSimulationJobOutput) SetFailureReason(v string) *DescribeSimulationJobOutput {
8118	s.FailureReason = &v
8119	return s
8120}
8121
8122// SetIamRole sets the IamRole field's value.
8123func (s *DescribeSimulationJobOutput) SetIamRole(v string) *DescribeSimulationJobOutput {
8124	s.IamRole = &v
8125	return s
8126}
8127
8128// SetLastStartedAt sets the LastStartedAt field's value.
8129func (s *DescribeSimulationJobOutput) SetLastStartedAt(v time.Time) *DescribeSimulationJobOutput {
8130	s.LastStartedAt = &v
8131	return s
8132}
8133
8134// SetLastUpdatedAt sets the LastUpdatedAt field's value.
8135func (s *DescribeSimulationJobOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobOutput {
8136	s.LastUpdatedAt = &v
8137	return s
8138}
8139
8140// SetLoggingConfig sets the LoggingConfig field's value.
8141func (s *DescribeSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *DescribeSimulationJobOutput {
8142	s.LoggingConfig = v
8143	return s
8144}
8145
8146// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
8147func (s *DescribeSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *DescribeSimulationJobOutput {
8148	s.MaxJobDurationInSeconds = &v
8149	return s
8150}
8151
8152// SetName sets the Name field's value.
8153func (s *DescribeSimulationJobOutput) SetName(v string) *DescribeSimulationJobOutput {
8154	s.Name = &v
8155	return s
8156}
8157
8158// SetNetworkInterface sets the NetworkInterface field's value.
8159func (s *DescribeSimulationJobOutput) SetNetworkInterface(v *NetworkInterface) *DescribeSimulationJobOutput {
8160	s.NetworkInterface = v
8161	return s
8162}
8163
8164// SetOutputLocation sets the OutputLocation field's value.
8165func (s *DescribeSimulationJobOutput) SetOutputLocation(v *OutputLocation) *DescribeSimulationJobOutput {
8166	s.OutputLocation = v
8167	return s
8168}
8169
8170// SetRobotApplications sets the RobotApplications field's value.
8171func (s *DescribeSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *DescribeSimulationJobOutput {
8172	s.RobotApplications = v
8173	return s
8174}
8175
8176// SetSimulationApplications sets the SimulationApplications field's value.
8177func (s *DescribeSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *DescribeSimulationJobOutput {
8178	s.SimulationApplications = v
8179	return s
8180}
8181
8182// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
8183func (s *DescribeSimulationJobOutput) SetSimulationTimeMillis(v int64) *DescribeSimulationJobOutput {
8184	s.SimulationTimeMillis = &v
8185	return s
8186}
8187
8188// SetStatus sets the Status field's value.
8189func (s *DescribeSimulationJobOutput) SetStatus(v string) *DescribeSimulationJobOutput {
8190	s.Status = &v
8191	return s
8192}
8193
8194// SetTags sets the Tags field's value.
8195func (s *DescribeSimulationJobOutput) SetTags(v map[string]*string) *DescribeSimulationJobOutput {
8196	s.Tags = v
8197	return s
8198}
8199
8200// SetVpcConfig sets the VpcConfig field's value.
8201func (s *DescribeSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *DescribeSimulationJobOutput {
8202	s.VpcConfig = v
8203	return s
8204}
8205
8206// Information about a failed create simulation job request.
8207type FailedCreateSimulationJobRequest struct {
8208	_ struct{} `type:"structure"`
8209
8210	// The time, in milliseconds since the epoch, when the simulation job batch
8211	// failed.
8212	FailedAt *time.Time `locationName:"failedAt" type:"timestamp"`
8213
8214	// The failure code.
8215	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
8216
8217	// The failure reason of the simulation job request.
8218	FailureReason *string `locationName:"failureReason" type:"string"`
8219
8220	// The simulation job request.
8221	Request *SimulationJobRequest `locationName:"request" type:"structure"`
8222}
8223
8224// String returns the string representation
8225func (s FailedCreateSimulationJobRequest) String() string {
8226	return awsutil.Prettify(s)
8227}
8228
8229// GoString returns the string representation
8230func (s FailedCreateSimulationJobRequest) GoString() string {
8231	return s.String()
8232}
8233
8234// SetFailedAt sets the FailedAt field's value.
8235func (s *FailedCreateSimulationJobRequest) SetFailedAt(v time.Time) *FailedCreateSimulationJobRequest {
8236	s.FailedAt = &v
8237	return s
8238}
8239
8240// SetFailureCode sets the FailureCode field's value.
8241func (s *FailedCreateSimulationJobRequest) SetFailureCode(v string) *FailedCreateSimulationJobRequest {
8242	s.FailureCode = &v
8243	return s
8244}
8245
8246// SetFailureReason sets the FailureReason field's value.
8247func (s *FailedCreateSimulationJobRequest) SetFailureReason(v string) *FailedCreateSimulationJobRequest {
8248	s.FailureReason = &v
8249	return s
8250}
8251
8252// SetRequest sets the Request field's value.
8253func (s *FailedCreateSimulationJobRequest) SetRequest(v *SimulationJobRequest) *FailedCreateSimulationJobRequest {
8254	s.Request = v
8255	return s
8256}
8257
8258// Information about a filter.
8259type Filter struct {
8260	_ struct{} `type:"structure"`
8261
8262	// The name of the filter.
8263	Name *string `locationName:"name" min:"1" type:"string"`
8264
8265	// A list of values.
8266	Values []*string `locationName:"values" min:"1" type:"list"`
8267}
8268
8269// String returns the string representation
8270func (s Filter) String() string {
8271	return awsutil.Prettify(s)
8272}
8273
8274// GoString returns the string representation
8275func (s Filter) GoString() string {
8276	return s.String()
8277}
8278
8279// Validate inspects the fields of the type to determine if they are valid.
8280func (s *Filter) Validate() error {
8281	invalidParams := request.ErrInvalidParams{Context: "Filter"}
8282	if s.Name != nil && len(*s.Name) < 1 {
8283		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8284	}
8285	if s.Values != nil && len(s.Values) < 1 {
8286		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
8287	}
8288
8289	if invalidParams.Len() > 0 {
8290		return invalidParams
8291	}
8292	return nil
8293}
8294
8295// SetName sets the Name field's value.
8296func (s *Filter) SetName(v string) *Filter {
8297	s.Name = &v
8298	return s
8299}
8300
8301// SetValues sets the Values field's value.
8302func (s *Filter) SetValues(v []*string) *Filter {
8303	s.Values = v
8304	return s
8305}
8306
8307// Information about a fleet.
8308type Fleet struct {
8309	_ struct{} `type:"structure"`
8310
8311	// The Amazon Resource Name (ARN) of the fleet.
8312	Arn *string `locationName:"arn" min:"1" type:"string"`
8313
8314	// The time, in milliseconds since the epoch, when the fleet was created.
8315	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8316
8317	// The Amazon Resource Name (ARN) of the last deployment job.
8318	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
8319
8320	// The status of the last fleet deployment.
8321	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
8322
8323	// The time of the last deployment.
8324	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
8325
8326	// The name of the fleet.
8327	Name *string `locationName:"name" min:"1" type:"string"`
8328}
8329
8330// String returns the string representation
8331func (s Fleet) String() string {
8332	return awsutil.Prettify(s)
8333}
8334
8335// GoString returns the string representation
8336func (s Fleet) GoString() string {
8337	return s.String()
8338}
8339
8340// SetArn sets the Arn field's value.
8341func (s *Fleet) SetArn(v string) *Fleet {
8342	s.Arn = &v
8343	return s
8344}
8345
8346// SetCreatedAt sets the CreatedAt field's value.
8347func (s *Fleet) SetCreatedAt(v time.Time) *Fleet {
8348	s.CreatedAt = &v
8349	return s
8350}
8351
8352// SetLastDeploymentJob sets the LastDeploymentJob field's value.
8353func (s *Fleet) SetLastDeploymentJob(v string) *Fleet {
8354	s.LastDeploymentJob = &v
8355	return s
8356}
8357
8358// SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
8359func (s *Fleet) SetLastDeploymentStatus(v string) *Fleet {
8360	s.LastDeploymentStatus = &v
8361	return s
8362}
8363
8364// SetLastDeploymentTime sets the LastDeploymentTime field's value.
8365func (s *Fleet) SetLastDeploymentTime(v time.Time) *Fleet {
8366	s.LastDeploymentTime = &v
8367	return s
8368}
8369
8370// SetName sets the Name field's value.
8371func (s *Fleet) SetName(v string) *Fleet {
8372	s.Name = &v
8373	return s
8374}
8375
8376// The request uses the same client token as a previous, but non-identical request.
8377// Do not reuse a client token with different requests, unless the requests
8378// are identical.
8379type IdempotentParameterMismatchException struct {
8380	_            struct{}                  `type:"structure"`
8381	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8382
8383	Message_ *string `locationName:"message" type:"string"`
8384}
8385
8386// String returns the string representation
8387func (s IdempotentParameterMismatchException) String() string {
8388	return awsutil.Prettify(s)
8389}
8390
8391// GoString returns the string representation
8392func (s IdempotentParameterMismatchException) GoString() string {
8393	return s.String()
8394}
8395
8396func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
8397	return &IdempotentParameterMismatchException{
8398		RespMetadata: v,
8399	}
8400}
8401
8402// Code returns the exception type name.
8403func (s *IdempotentParameterMismatchException) Code() string {
8404	return "IdempotentParameterMismatchException"
8405}
8406
8407// Message returns the exception's message.
8408func (s *IdempotentParameterMismatchException) Message() string {
8409	if s.Message_ != nil {
8410		return *s.Message_
8411	}
8412	return ""
8413}
8414
8415// OrigErr always returns nil, satisfies awserr.Error interface.
8416func (s *IdempotentParameterMismatchException) OrigErr() error {
8417	return nil
8418}
8419
8420func (s *IdempotentParameterMismatchException) Error() string {
8421	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8422}
8423
8424// Status code returns the HTTP status code for the request's response error.
8425func (s *IdempotentParameterMismatchException) StatusCode() int {
8426	return s.RespMetadata.StatusCode
8427}
8428
8429// RequestID returns the service's response RequestID for request.
8430func (s *IdempotentParameterMismatchException) RequestID() string {
8431	return s.RespMetadata.RequestID
8432}
8433
8434// AWS RoboMaker experienced a service issue. Try your call again.
8435type InternalServerException struct {
8436	_            struct{}                  `type:"structure"`
8437	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8438
8439	Message_ *string `locationName:"message" type:"string"`
8440}
8441
8442// String returns the string representation
8443func (s InternalServerException) String() string {
8444	return awsutil.Prettify(s)
8445}
8446
8447// GoString returns the string representation
8448func (s InternalServerException) GoString() string {
8449	return s.String()
8450}
8451
8452func newErrorInternalServerException(v protocol.ResponseMetadata) error {
8453	return &InternalServerException{
8454		RespMetadata: v,
8455	}
8456}
8457
8458// Code returns the exception type name.
8459func (s *InternalServerException) Code() string {
8460	return "InternalServerException"
8461}
8462
8463// Message returns the exception's message.
8464func (s *InternalServerException) Message() string {
8465	if s.Message_ != nil {
8466		return *s.Message_
8467	}
8468	return ""
8469}
8470
8471// OrigErr always returns nil, satisfies awserr.Error interface.
8472func (s *InternalServerException) OrigErr() error {
8473	return nil
8474}
8475
8476func (s *InternalServerException) Error() string {
8477	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8478}
8479
8480// Status code returns the HTTP status code for the request's response error.
8481func (s *InternalServerException) StatusCode() int {
8482	return s.RespMetadata.StatusCode
8483}
8484
8485// RequestID returns the service's response RequestID for request.
8486func (s *InternalServerException) RequestID() string {
8487	return s.RespMetadata.RequestID
8488}
8489
8490// A parameter specified in a request is not valid, is unsupported, or cannot
8491// be used. The returned message provides an explanation of the error value.
8492type InvalidParameterException struct {
8493	_            struct{}                  `type:"structure"`
8494	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8495
8496	Message_ *string `locationName:"message" type:"string"`
8497}
8498
8499// String returns the string representation
8500func (s InvalidParameterException) String() string {
8501	return awsutil.Prettify(s)
8502}
8503
8504// GoString returns the string representation
8505func (s InvalidParameterException) GoString() string {
8506	return s.String()
8507}
8508
8509func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
8510	return &InvalidParameterException{
8511		RespMetadata: v,
8512	}
8513}
8514
8515// Code returns the exception type name.
8516func (s *InvalidParameterException) Code() string {
8517	return "InvalidParameterException"
8518}
8519
8520// Message returns the exception's message.
8521func (s *InvalidParameterException) Message() string {
8522	if s.Message_ != nil {
8523		return *s.Message_
8524	}
8525	return ""
8526}
8527
8528// OrigErr always returns nil, satisfies awserr.Error interface.
8529func (s *InvalidParameterException) OrigErr() error {
8530	return nil
8531}
8532
8533func (s *InvalidParameterException) Error() string {
8534	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8535}
8536
8537// Status code returns the HTTP status code for the request's response error.
8538func (s *InvalidParameterException) StatusCode() int {
8539	return s.RespMetadata.StatusCode
8540}
8541
8542// RequestID returns the service's response RequestID for request.
8543func (s *InvalidParameterException) RequestID() string {
8544	return s.RespMetadata.RequestID
8545}
8546
8547// Information about a launch configuration.
8548type LaunchConfig struct {
8549	_ struct{} `type:"structure"`
8550
8551	// The environment variables for the application launch.
8552	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
8553
8554	// The launch file name.
8555	//
8556	// LaunchFile is a required field
8557	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
8558
8559	// The package name.
8560	//
8561	// PackageName is a required field
8562	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
8563
8564	// The port forwarding configuration.
8565	PortForwardingConfig *PortForwardingConfig `locationName:"portForwardingConfig" type:"structure"`
8566
8567	// Boolean indicating whether a streaming session will be configured for the
8568	// application. If True, AWS RoboMaker will configure a connection so you can
8569	// interact with your application as it is running in the simulation. You must
8570	// configure and luanch the component. It must have a graphical user interface.
8571	StreamUI *bool `locationName:"streamUI" type:"boolean"`
8572}
8573
8574// String returns the string representation
8575func (s LaunchConfig) String() string {
8576	return awsutil.Prettify(s)
8577}
8578
8579// GoString returns the string representation
8580func (s LaunchConfig) GoString() string {
8581	return s.String()
8582}
8583
8584// Validate inspects the fields of the type to determine if they are valid.
8585func (s *LaunchConfig) Validate() error {
8586	invalidParams := request.ErrInvalidParams{Context: "LaunchConfig"}
8587	if s.LaunchFile == nil {
8588		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
8589	}
8590	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
8591		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
8592	}
8593	if s.PackageName == nil {
8594		invalidParams.Add(request.NewErrParamRequired("PackageName"))
8595	}
8596	if s.PackageName != nil && len(*s.PackageName) < 1 {
8597		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
8598	}
8599	if s.PortForwardingConfig != nil {
8600		if err := s.PortForwardingConfig.Validate(); err != nil {
8601			invalidParams.AddNested("PortForwardingConfig", err.(request.ErrInvalidParams))
8602		}
8603	}
8604
8605	if invalidParams.Len() > 0 {
8606		return invalidParams
8607	}
8608	return nil
8609}
8610
8611// SetEnvironmentVariables sets the EnvironmentVariables field's value.
8612func (s *LaunchConfig) SetEnvironmentVariables(v map[string]*string) *LaunchConfig {
8613	s.EnvironmentVariables = v
8614	return s
8615}
8616
8617// SetLaunchFile sets the LaunchFile field's value.
8618func (s *LaunchConfig) SetLaunchFile(v string) *LaunchConfig {
8619	s.LaunchFile = &v
8620	return s
8621}
8622
8623// SetPackageName sets the PackageName field's value.
8624func (s *LaunchConfig) SetPackageName(v string) *LaunchConfig {
8625	s.PackageName = &v
8626	return s
8627}
8628
8629// SetPortForwardingConfig sets the PortForwardingConfig field's value.
8630func (s *LaunchConfig) SetPortForwardingConfig(v *PortForwardingConfig) *LaunchConfig {
8631	s.PortForwardingConfig = v
8632	return s
8633}
8634
8635// SetStreamUI sets the StreamUI field's value.
8636func (s *LaunchConfig) SetStreamUI(v bool) *LaunchConfig {
8637	s.StreamUI = &v
8638	return s
8639}
8640
8641// The requested resource exceeds the maximum number allowed, or the number
8642// of concurrent stream requests exceeds the maximum number allowed.
8643type LimitExceededException struct {
8644	_            struct{}                  `type:"structure"`
8645	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
8646
8647	Message_ *string `locationName:"message" type:"string"`
8648}
8649
8650// String returns the string representation
8651func (s LimitExceededException) String() string {
8652	return awsutil.Prettify(s)
8653}
8654
8655// GoString returns the string representation
8656func (s LimitExceededException) GoString() string {
8657	return s.String()
8658}
8659
8660func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
8661	return &LimitExceededException{
8662		RespMetadata: v,
8663	}
8664}
8665
8666// Code returns the exception type name.
8667func (s *LimitExceededException) Code() string {
8668	return "LimitExceededException"
8669}
8670
8671// Message returns the exception's message.
8672func (s *LimitExceededException) Message() string {
8673	if s.Message_ != nil {
8674		return *s.Message_
8675	}
8676	return ""
8677}
8678
8679// OrigErr always returns nil, satisfies awserr.Error interface.
8680func (s *LimitExceededException) OrigErr() error {
8681	return nil
8682}
8683
8684func (s *LimitExceededException) Error() string {
8685	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
8686}
8687
8688// Status code returns the HTTP status code for the request's response error.
8689func (s *LimitExceededException) StatusCode() int {
8690	return s.RespMetadata.StatusCode
8691}
8692
8693// RequestID returns the service's response RequestID for request.
8694func (s *LimitExceededException) RequestID() string {
8695	return s.RespMetadata.RequestID
8696}
8697
8698type ListDeploymentJobsInput struct {
8699	_ struct{} `type:"structure"`
8700
8701	// Optional filters to limit results.
8702	//
8703	// The filter names status and fleetName are supported. When filtering, you
8704	// must use the complete value of the filtered item. You can use up to three
8705	// filters, but they must be for the same named item. For example, if you are
8706	// looking for items with the status InProgress or the status Pending.
8707	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
8708
8709	// When this parameter is used, ListDeploymentJobs only returns maxResults results
8710	// in a single page along with a nextToken response element. The remaining results
8711	// of the initial request can be seen by sending another ListDeploymentJobs
8712	// request with the returned nextToken value. This value can be between 1 and
8713	// 200. If this parameter is not used, then ListDeploymentJobs returns up to
8714	// 200 results and a nextToken value if applicable.
8715	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8716
8717	// The nextToken value returned from a previous paginated ListDeploymentJobs
8718	// request where maxResults was used and the results exceeded the value of that
8719	// parameter. Pagination continues from the end of the previous results that
8720	// returned the nextToken value.
8721	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8722}
8723
8724// String returns the string representation
8725func (s ListDeploymentJobsInput) String() string {
8726	return awsutil.Prettify(s)
8727}
8728
8729// GoString returns the string representation
8730func (s ListDeploymentJobsInput) GoString() string {
8731	return s.String()
8732}
8733
8734// Validate inspects the fields of the type to determine if they are valid.
8735func (s *ListDeploymentJobsInput) Validate() error {
8736	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentJobsInput"}
8737	if s.Filters != nil && len(s.Filters) < 1 {
8738		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
8739	}
8740	if s.NextToken != nil && len(*s.NextToken) < 1 {
8741		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8742	}
8743	if s.Filters != nil {
8744		for i, v := range s.Filters {
8745			if v == nil {
8746				continue
8747			}
8748			if err := v.Validate(); err != nil {
8749				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8750			}
8751		}
8752	}
8753
8754	if invalidParams.Len() > 0 {
8755		return invalidParams
8756	}
8757	return nil
8758}
8759
8760// SetFilters sets the Filters field's value.
8761func (s *ListDeploymentJobsInput) SetFilters(v []*Filter) *ListDeploymentJobsInput {
8762	s.Filters = v
8763	return s
8764}
8765
8766// SetMaxResults sets the MaxResults field's value.
8767func (s *ListDeploymentJobsInput) SetMaxResults(v int64) *ListDeploymentJobsInput {
8768	s.MaxResults = &v
8769	return s
8770}
8771
8772// SetNextToken sets the NextToken field's value.
8773func (s *ListDeploymentJobsInput) SetNextToken(v string) *ListDeploymentJobsInput {
8774	s.NextToken = &v
8775	return s
8776}
8777
8778type ListDeploymentJobsOutput struct {
8779	_ struct{} `type:"structure"`
8780
8781	// A list of deployment jobs that meet the criteria of the request.
8782	DeploymentJobs []*DeploymentJob `locationName:"deploymentJobs" type:"list"`
8783
8784	// The nextToken value to include in a future ListDeploymentJobs request. When
8785	// the results of a ListDeploymentJobs request exceed maxResults, this value
8786	// can be used to retrieve the next page of results. This value is null when
8787	// there are no more results to return.
8788	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8789}
8790
8791// String returns the string representation
8792func (s ListDeploymentJobsOutput) String() string {
8793	return awsutil.Prettify(s)
8794}
8795
8796// GoString returns the string representation
8797func (s ListDeploymentJobsOutput) GoString() string {
8798	return s.String()
8799}
8800
8801// SetDeploymentJobs sets the DeploymentJobs field's value.
8802func (s *ListDeploymentJobsOutput) SetDeploymentJobs(v []*DeploymentJob) *ListDeploymentJobsOutput {
8803	s.DeploymentJobs = v
8804	return s
8805}
8806
8807// SetNextToken sets the NextToken field's value.
8808func (s *ListDeploymentJobsOutput) SetNextToken(v string) *ListDeploymentJobsOutput {
8809	s.NextToken = &v
8810	return s
8811}
8812
8813type ListFleetsInput struct {
8814	_ struct{} `type:"structure"`
8815
8816	// Optional filters to limit results.
8817	//
8818	// The filter name name is supported. When filtering, you must use the complete
8819	// value of the filtered item. You can use up to three filters.
8820	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
8821
8822	// When this parameter is used, ListFleets only returns maxResults results in
8823	// a single page along with a nextToken response element. The remaining results
8824	// of the initial request can be seen by sending another ListFleets request
8825	// with the returned nextToken value. This value can be between 1 and 200. If
8826	// this parameter is not used, then ListFleets returns up to 200 results and
8827	// a nextToken value if applicable.
8828	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8829
8830	// The nextToken value returned from a previous paginated ListFleets request
8831	// where maxResults was used and the results exceeded the value of that parameter.
8832	// Pagination continues from the end of the previous results that returned the
8833	// nextToken value.
8834	//
8835	// This token should be treated as an opaque identifier that is only used to
8836	// retrieve the next items in a list and not for other programmatic purposes.
8837	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8838}
8839
8840// String returns the string representation
8841func (s ListFleetsInput) String() string {
8842	return awsutil.Prettify(s)
8843}
8844
8845// GoString returns the string representation
8846func (s ListFleetsInput) GoString() string {
8847	return s.String()
8848}
8849
8850// Validate inspects the fields of the type to determine if they are valid.
8851func (s *ListFleetsInput) Validate() error {
8852	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
8853	if s.Filters != nil && len(s.Filters) < 1 {
8854		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
8855	}
8856	if s.NextToken != nil && len(*s.NextToken) < 1 {
8857		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8858	}
8859	if s.Filters != nil {
8860		for i, v := range s.Filters {
8861			if v == nil {
8862				continue
8863			}
8864			if err := v.Validate(); err != nil {
8865				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8866			}
8867		}
8868	}
8869
8870	if invalidParams.Len() > 0 {
8871		return invalidParams
8872	}
8873	return nil
8874}
8875
8876// SetFilters sets the Filters field's value.
8877func (s *ListFleetsInput) SetFilters(v []*Filter) *ListFleetsInput {
8878	s.Filters = v
8879	return s
8880}
8881
8882// SetMaxResults sets the MaxResults field's value.
8883func (s *ListFleetsInput) SetMaxResults(v int64) *ListFleetsInput {
8884	s.MaxResults = &v
8885	return s
8886}
8887
8888// SetNextToken sets the NextToken field's value.
8889func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
8890	s.NextToken = &v
8891	return s
8892}
8893
8894type ListFleetsOutput struct {
8895	_ struct{} `type:"structure"`
8896
8897	// A list of fleet details meeting the request criteria.
8898	FleetDetails []*Fleet `locationName:"fleetDetails" type:"list"`
8899
8900	// The nextToken value to include in a future ListDeploymentJobs request. When
8901	// the results of a ListFleets request exceed maxResults, this value can be
8902	// used to retrieve the next page of results. This value is null when there
8903	// are no more results to return.
8904	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8905}
8906
8907// String returns the string representation
8908func (s ListFleetsOutput) String() string {
8909	return awsutil.Prettify(s)
8910}
8911
8912// GoString returns the string representation
8913func (s ListFleetsOutput) GoString() string {
8914	return s.String()
8915}
8916
8917// SetFleetDetails sets the FleetDetails field's value.
8918func (s *ListFleetsOutput) SetFleetDetails(v []*Fleet) *ListFleetsOutput {
8919	s.FleetDetails = v
8920	return s
8921}
8922
8923// SetNextToken sets the NextToken field's value.
8924func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
8925	s.NextToken = &v
8926	return s
8927}
8928
8929type ListRobotApplicationsInput struct {
8930	_ struct{} `type:"structure"`
8931
8932	// Optional filters to limit results.
8933	//
8934	// The filter name name is supported. When filtering, you must use the complete
8935	// value of the filtered item. You can use up to three filters.
8936	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
8937
8938	// When this parameter is used, ListRobotApplications only returns maxResults
8939	// results in a single page along with a nextToken response element. The remaining
8940	// results of the initial request can be seen by sending another ListRobotApplications
8941	// request with the returned nextToken value. This value can be between 1 and
8942	// 100. If this parameter is not used, then ListRobotApplications returns up
8943	// to 100 results and a nextToken value if applicable.
8944	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8945
8946	// The nextToken value returned from a previous paginated ListRobotApplications
8947	// request where maxResults was used and the results exceeded the value of that
8948	// parameter. Pagination continues from the end of the previous results that
8949	// returned the nextToken value.
8950	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8951
8952	// The version qualifier of the robot application.
8953	VersionQualifier *string `locationName:"versionQualifier" min:"1" type:"string"`
8954}
8955
8956// String returns the string representation
8957func (s ListRobotApplicationsInput) String() string {
8958	return awsutil.Prettify(s)
8959}
8960
8961// GoString returns the string representation
8962func (s ListRobotApplicationsInput) GoString() string {
8963	return s.String()
8964}
8965
8966// Validate inspects the fields of the type to determine if they are valid.
8967func (s *ListRobotApplicationsInput) Validate() error {
8968	invalidParams := request.ErrInvalidParams{Context: "ListRobotApplicationsInput"}
8969	if s.Filters != nil && len(s.Filters) < 1 {
8970		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
8971	}
8972	if s.NextToken != nil && len(*s.NextToken) < 1 {
8973		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8974	}
8975	if s.VersionQualifier != nil && len(*s.VersionQualifier) < 1 {
8976		invalidParams.Add(request.NewErrParamMinLen("VersionQualifier", 1))
8977	}
8978	if s.Filters != nil {
8979		for i, v := range s.Filters {
8980			if v == nil {
8981				continue
8982			}
8983			if err := v.Validate(); err != nil {
8984				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8985			}
8986		}
8987	}
8988
8989	if invalidParams.Len() > 0 {
8990		return invalidParams
8991	}
8992	return nil
8993}
8994
8995// SetFilters sets the Filters field's value.
8996func (s *ListRobotApplicationsInput) SetFilters(v []*Filter) *ListRobotApplicationsInput {
8997	s.Filters = v
8998	return s
8999}
9000
9001// SetMaxResults sets the MaxResults field's value.
9002func (s *ListRobotApplicationsInput) SetMaxResults(v int64) *ListRobotApplicationsInput {
9003	s.MaxResults = &v
9004	return s
9005}
9006
9007// SetNextToken sets the NextToken field's value.
9008func (s *ListRobotApplicationsInput) SetNextToken(v string) *ListRobotApplicationsInput {
9009	s.NextToken = &v
9010	return s
9011}
9012
9013// SetVersionQualifier sets the VersionQualifier field's value.
9014func (s *ListRobotApplicationsInput) SetVersionQualifier(v string) *ListRobotApplicationsInput {
9015	s.VersionQualifier = &v
9016	return s
9017}
9018
9019type ListRobotApplicationsOutput struct {
9020	_ struct{} `type:"structure"`
9021
9022	// The nextToken value to include in a future ListRobotApplications request.
9023	// When the results of a ListRobotApplications request exceed maxResults, this
9024	// value can be used to retrieve the next page of results. This value is null
9025	// when there are no more results to return.
9026	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9027
9028	// A list of robot application summaries that meet the criteria of the request.
9029	RobotApplicationSummaries []*RobotApplicationSummary `locationName:"robotApplicationSummaries" type:"list"`
9030}
9031
9032// String returns the string representation
9033func (s ListRobotApplicationsOutput) String() string {
9034	return awsutil.Prettify(s)
9035}
9036
9037// GoString returns the string representation
9038func (s ListRobotApplicationsOutput) GoString() string {
9039	return s.String()
9040}
9041
9042// SetNextToken sets the NextToken field's value.
9043func (s *ListRobotApplicationsOutput) SetNextToken(v string) *ListRobotApplicationsOutput {
9044	s.NextToken = &v
9045	return s
9046}
9047
9048// SetRobotApplicationSummaries sets the RobotApplicationSummaries field's value.
9049func (s *ListRobotApplicationsOutput) SetRobotApplicationSummaries(v []*RobotApplicationSummary) *ListRobotApplicationsOutput {
9050	s.RobotApplicationSummaries = v
9051	return s
9052}
9053
9054type ListRobotsInput struct {
9055	_ struct{} `type:"structure"`
9056
9057	// Optional filters to limit results.
9058	//
9059	// The filter names status and fleetName are supported. When filtering, you
9060	// must use the complete value of the filtered item. You can use up to three
9061	// filters, but they must be for the same named item. For example, if you are
9062	// looking for items with the status Registered or the status Available.
9063	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
9064
9065	// When this parameter is used, ListRobots only returns maxResults results in
9066	// a single page along with a nextToken response element. The remaining results
9067	// of the initial request can be seen by sending another ListRobots request
9068	// with the returned nextToken value. This value can be between 1 and 200. If
9069	// this parameter is not used, then ListRobots returns up to 200 results and
9070	// a nextToken value if applicable.
9071	MaxResults *int64 `locationName:"maxResults" type:"integer"`
9072
9073	// The nextToken value returned from a previous paginated ListRobots request
9074	// where maxResults was used and the results exceeded the value of that parameter.
9075	// Pagination continues from the end of the previous results that returned the
9076	// nextToken value.
9077	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9078}
9079
9080// String returns the string representation
9081func (s ListRobotsInput) String() string {
9082	return awsutil.Prettify(s)
9083}
9084
9085// GoString returns the string representation
9086func (s ListRobotsInput) GoString() string {
9087	return s.String()
9088}
9089
9090// Validate inspects the fields of the type to determine if they are valid.
9091func (s *ListRobotsInput) Validate() error {
9092	invalidParams := request.ErrInvalidParams{Context: "ListRobotsInput"}
9093	if s.Filters != nil && len(s.Filters) < 1 {
9094		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
9095	}
9096	if s.NextToken != nil && len(*s.NextToken) < 1 {
9097		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9098	}
9099	if s.Filters != nil {
9100		for i, v := range s.Filters {
9101			if v == nil {
9102				continue
9103			}
9104			if err := v.Validate(); err != nil {
9105				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9106			}
9107		}
9108	}
9109
9110	if invalidParams.Len() > 0 {
9111		return invalidParams
9112	}
9113	return nil
9114}
9115
9116// SetFilters sets the Filters field's value.
9117func (s *ListRobotsInput) SetFilters(v []*Filter) *ListRobotsInput {
9118	s.Filters = v
9119	return s
9120}
9121
9122// SetMaxResults sets the MaxResults field's value.
9123func (s *ListRobotsInput) SetMaxResults(v int64) *ListRobotsInput {
9124	s.MaxResults = &v
9125	return s
9126}
9127
9128// SetNextToken sets the NextToken field's value.
9129func (s *ListRobotsInput) SetNextToken(v string) *ListRobotsInput {
9130	s.NextToken = &v
9131	return s
9132}
9133
9134type ListRobotsOutput struct {
9135	_ struct{} `type:"structure"`
9136
9137	// The nextToken value to include in a future ListRobots request. When the results
9138	// of a ListRobot request exceed maxResults, this value can be used to retrieve
9139	// the next page of results. This value is null when there are no more results
9140	// to return.
9141	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9142
9143	// A list of robots that meet the criteria of the request.
9144	Robots []*Robot `locationName:"robots" type:"list"`
9145}
9146
9147// String returns the string representation
9148func (s ListRobotsOutput) String() string {
9149	return awsutil.Prettify(s)
9150}
9151
9152// GoString returns the string representation
9153func (s ListRobotsOutput) GoString() string {
9154	return s.String()
9155}
9156
9157// SetNextToken sets the NextToken field's value.
9158func (s *ListRobotsOutput) SetNextToken(v string) *ListRobotsOutput {
9159	s.NextToken = &v
9160	return s
9161}
9162
9163// SetRobots sets the Robots field's value.
9164func (s *ListRobotsOutput) SetRobots(v []*Robot) *ListRobotsOutput {
9165	s.Robots = v
9166	return s
9167}
9168
9169type ListSimulationApplicationsInput struct {
9170	_ struct{} `type:"structure"`
9171
9172	// Optional list of filters to limit results.
9173	//
9174	// The filter name name is supported. When filtering, you must use the complete
9175	// value of the filtered item. You can use up to three filters.
9176	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
9177
9178	// When this parameter is used, ListSimulationApplications only returns maxResults
9179	// results in a single page along with a nextToken response element. The remaining
9180	// results of the initial request can be seen by sending another ListSimulationApplications
9181	// request with the returned nextToken value. This value can be between 1 and
9182	// 100. If this parameter is not used, then ListSimulationApplications returns
9183	// up to 100 results and a nextToken value if applicable.
9184	MaxResults *int64 `locationName:"maxResults" type:"integer"`
9185
9186	// The nextToken value returned from a previous paginated ListSimulationApplications
9187	// request where maxResults was used and the results exceeded the value of that
9188	// parameter. Pagination continues from the end of the previous results that
9189	// returned the nextToken value.
9190	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9191
9192	// The version qualifier of the simulation application.
9193	VersionQualifier *string `locationName:"versionQualifier" min:"1" type:"string"`
9194}
9195
9196// String returns the string representation
9197func (s ListSimulationApplicationsInput) String() string {
9198	return awsutil.Prettify(s)
9199}
9200
9201// GoString returns the string representation
9202func (s ListSimulationApplicationsInput) GoString() string {
9203	return s.String()
9204}
9205
9206// Validate inspects the fields of the type to determine if they are valid.
9207func (s *ListSimulationApplicationsInput) Validate() error {
9208	invalidParams := request.ErrInvalidParams{Context: "ListSimulationApplicationsInput"}
9209	if s.Filters != nil && len(s.Filters) < 1 {
9210		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
9211	}
9212	if s.NextToken != nil && len(*s.NextToken) < 1 {
9213		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9214	}
9215	if s.VersionQualifier != nil && len(*s.VersionQualifier) < 1 {
9216		invalidParams.Add(request.NewErrParamMinLen("VersionQualifier", 1))
9217	}
9218	if s.Filters != nil {
9219		for i, v := range s.Filters {
9220			if v == nil {
9221				continue
9222			}
9223			if err := v.Validate(); err != nil {
9224				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9225			}
9226		}
9227	}
9228
9229	if invalidParams.Len() > 0 {
9230		return invalidParams
9231	}
9232	return nil
9233}
9234
9235// SetFilters sets the Filters field's value.
9236func (s *ListSimulationApplicationsInput) SetFilters(v []*Filter) *ListSimulationApplicationsInput {
9237	s.Filters = v
9238	return s
9239}
9240
9241// SetMaxResults sets the MaxResults field's value.
9242func (s *ListSimulationApplicationsInput) SetMaxResults(v int64) *ListSimulationApplicationsInput {
9243	s.MaxResults = &v
9244	return s
9245}
9246
9247// SetNextToken sets the NextToken field's value.
9248func (s *ListSimulationApplicationsInput) SetNextToken(v string) *ListSimulationApplicationsInput {
9249	s.NextToken = &v
9250	return s
9251}
9252
9253// SetVersionQualifier sets the VersionQualifier field's value.
9254func (s *ListSimulationApplicationsInput) SetVersionQualifier(v string) *ListSimulationApplicationsInput {
9255	s.VersionQualifier = &v
9256	return s
9257}
9258
9259type ListSimulationApplicationsOutput struct {
9260	_ struct{} `type:"structure"`
9261
9262	// The nextToken value to include in a future ListSimulationApplications request.
9263	// When the results of a ListRobot request exceed maxResults, this value can
9264	// be used to retrieve the next page of results. This value is null when there
9265	// are no more results to return.
9266	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9267
9268	// A list of simulation application summaries that meet the criteria of the
9269	// request.
9270	SimulationApplicationSummaries []*SimulationApplicationSummary `locationName:"simulationApplicationSummaries" type:"list"`
9271}
9272
9273// String returns the string representation
9274func (s ListSimulationApplicationsOutput) String() string {
9275	return awsutil.Prettify(s)
9276}
9277
9278// GoString returns the string representation
9279func (s ListSimulationApplicationsOutput) GoString() string {
9280	return s.String()
9281}
9282
9283// SetNextToken sets the NextToken field's value.
9284func (s *ListSimulationApplicationsOutput) SetNextToken(v string) *ListSimulationApplicationsOutput {
9285	s.NextToken = &v
9286	return s
9287}
9288
9289// SetSimulationApplicationSummaries sets the SimulationApplicationSummaries field's value.
9290func (s *ListSimulationApplicationsOutput) SetSimulationApplicationSummaries(v []*SimulationApplicationSummary) *ListSimulationApplicationsOutput {
9291	s.SimulationApplicationSummaries = v
9292	return s
9293}
9294
9295type ListSimulationJobBatchesInput struct {
9296	_ struct{} `type:"structure"`
9297
9298	// Optional filters to limit results.
9299	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
9300
9301	// When this parameter is used, ListSimulationJobBatches only returns maxResults
9302	// results in a single page along with a nextToken response element. The remaining
9303	// results of the initial request can be seen by sending another ListSimulationJobBatches
9304	// request with the returned nextToken value.
9305	MaxResults *int64 `locationName:"maxResults" type:"integer"`
9306
9307	// The nextToken value returned from a previous paginated ListSimulationJobBatches
9308	// request where maxResults was used and the results exceeded the value of that
9309	// parameter. Pagination continues from the end of the previous results that
9310	// returned the nextToken value.
9311	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9312}
9313
9314// String returns the string representation
9315func (s ListSimulationJobBatchesInput) String() string {
9316	return awsutil.Prettify(s)
9317}
9318
9319// GoString returns the string representation
9320func (s ListSimulationJobBatchesInput) GoString() string {
9321	return s.String()
9322}
9323
9324// Validate inspects the fields of the type to determine if they are valid.
9325func (s *ListSimulationJobBatchesInput) Validate() error {
9326	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobBatchesInput"}
9327	if s.Filters != nil && len(s.Filters) < 1 {
9328		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
9329	}
9330	if s.NextToken != nil && len(*s.NextToken) < 1 {
9331		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9332	}
9333	if s.Filters != nil {
9334		for i, v := range s.Filters {
9335			if v == nil {
9336				continue
9337			}
9338			if err := v.Validate(); err != nil {
9339				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9340			}
9341		}
9342	}
9343
9344	if invalidParams.Len() > 0 {
9345		return invalidParams
9346	}
9347	return nil
9348}
9349
9350// SetFilters sets the Filters field's value.
9351func (s *ListSimulationJobBatchesInput) SetFilters(v []*Filter) *ListSimulationJobBatchesInput {
9352	s.Filters = v
9353	return s
9354}
9355
9356// SetMaxResults sets the MaxResults field's value.
9357func (s *ListSimulationJobBatchesInput) SetMaxResults(v int64) *ListSimulationJobBatchesInput {
9358	s.MaxResults = &v
9359	return s
9360}
9361
9362// SetNextToken sets the NextToken field's value.
9363func (s *ListSimulationJobBatchesInput) SetNextToken(v string) *ListSimulationJobBatchesInput {
9364	s.NextToken = &v
9365	return s
9366}
9367
9368type ListSimulationJobBatchesOutput struct {
9369	_ struct{} `type:"structure"`
9370
9371	// The nextToken value to include in a future ListSimulationJobBatches request.
9372	// When the results of a ListSimulationJobBatches request exceed maxResults,
9373	// this value can be used to retrieve the next page of results. This value is
9374	// null when there are no more results to return.
9375	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9376
9377	// A list of simulation job batch summaries.
9378	SimulationJobBatchSummaries []*SimulationJobBatchSummary `locationName:"simulationJobBatchSummaries" type:"list"`
9379}
9380
9381// String returns the string representation
9382func (s ListSimulationJobBatchesOutput) String() string {
9383	return awsutil.Prettify(s)
9384}
9385
9386// GoString returns the string representation
9387func (s ListSimulationJobBatchesOutput) GoString() string {
9388	return s.String()
9389}
9390
9391// SetNextToken sets the NextToken field's value.
9392func (s *ListSimulationJobBatchesOutput) SetNextToken(v string) *ListSimulationJobBatchesOutput {
9393	s.NextToken = &v
9394	return s
9395}
9396
9397// SetSimulationJobBatchSummaries sets the SimulationJobBatchSummaries field's value.
9398func (s *ListSimulationJobBatchesOutput) SetSimulationJobBatchSummaries(v []*SimulationJobBatchSummary) *ListSimulationJobBatchesOutput {
9399	s.SimulationJobBatchSummaries = v
9400	return s
9401}
9402
9403type ListSimulationJobsInput struct {
9404	_ struct{} `type:"structure"`
9405
9406	// Optional filters to limit results.
9407	//
9408	// The filter names status and simulationApplicationName and robotApplicationName
9409	// are supported. When filtering, you must use the complete value of the filtered
9410	// item. You can use up to three filters, but they must be for the same named
9411	// item. For example, if you are looking for items with the status Preparing
9412	// or the status Running.
9413	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
9414
9415	// When this parameter is used, ListSimulationJobs only returns maxResults results
9416	// in a single page along with a nextToken response element. The remaining results
9417	// of the initial request can be seen by sending another ListSimulationJobs
9418	// request with the returned nextToken value. This value can be between 1 and
9419	// 1000. If this parameter is not used, then ListSimulationJobs returns up to
9420	// 1000 results and a nextToken value if applicable.
9421	MaxResults *int64 `locationName:"maxResults" type:"integer"`
9422
9423	// The nextToken value returned from a previous paginated ListSimulationJobs
9424	// request where maxResults was used and the results exceeded the value of that
9425	// parameter. Pagination continues from the end of the previous results that
9426	// returned the nextToken value.
9427	//
9428	// This token should be treated as an opaque identifier that is only used to
9429	// retrieve the next items in a list and not for other programmatic purposes.
9430	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9431}
9432
9433// String returns the string representation
9434func (s ListSimulationJobsInput) String() string {
9435	return awsutil.Prettify(s)
9436}
9437
9438// GoString returns the string representation
9439func (s ListSimulationJobsInput) GoString() string {
9440	return s.String()
9441}
9442
9443// Validate inspects the fields of the type to determine if they are valid.
9444func (s *ListSimulationJobsInput) Validate() error {
9445	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobsInput"}
9446	if s.Filters != nil && len(s.Filters) < 1 {
9447		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
9448	}
9449	if s.NextToken != nil && len(*s.NextToken) < 1 {
9450		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
9451	}
9452	if s.Filters != nil {
9453		for i, v := range s.Filters {
9454			if v == nil {
9455				continue
9456			}
9457			if err := v.Validate(); err != nil {
9458				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
9459			}
9460		}
9461	}
9462
9463	if invalidParams.Len() > 0 {
9464		return invalidParams
9465	}
9466	return nil
9467}
9468
9469// SetFilters sets the Filters field's value.
9470func (s *ListSimulationJobsInput) SetFilters(v []*Filter) *ListSimulationJobsInput {
9471	s.Filters = v
9472	return s
9473}
9474
9475// SetMaxResults sets the MaxResults field's value.
9476func (s *ListSimulationJobsInput) SetMaxResults(v int64) *ListSimulationJobsInput {
9477	s.MaxResults = &v
9478	return s
9479}
9480
9481// SetNextToken sets the NextToken field's value.
9482func (s *ListSimulationJobsInput) SetNextToken(v string) *ListSimulationJobsInput {
9483	s.NextToken = &v
9484	return s
9485}
9486
9487type ListSimulationJobsOutput struct {
9488	_ struct{} `type:"structure"`
9489
9490	// The nextToken value to include in a future ListSimulationJobs request. When
9491	// the results of a ListRobot request exceed maxResults, this value can be used
9492	// to retrieve the next page of results. This value is null when there are no
9493	// more results to return.
9494	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
9495
9496	// A list of simulation job summaries that meet the criteria of the request.
9497	//
9498	// SimulationJobSummaries is a required field
9499	SimulationJobSummaries []*SimulationJobSummary `locationName:"simulationJobSummaries" type:"list" required:"true"`
9500}
9501
9502// String returns the string representation
9503func (s ListSimulationJobsOutput) String() string {
9504	return awsutil.Prettify(s)
9505}
9506
9507// GoString returns the string representation
9508func (s ListSimulationJobsOutput) GoString() string {
9509	return s.String()
9510}
9511
9512// SetNextToken sets the NextToken field's value.
9513func (s *ListSimulationJobsOutput) SetNextToken(v string) *ListSimulationJobsOutput {
9514	s.NextToken = &v
9515	return s
9516}
9517
9518// SetSimulationJobSummaries sets the SimulationJobSummaries field's value.
9519func (s *ListSimulationJobsOutput) SetSimulationJobSummaries(v []*SimulationJobSummary) *ListSimulationJobsOutput {
9520	s.SimulationJobSummaries = v
9521	return s
9522}
9523
9524type ListTagsForResourceInput struct {
9525	_ struct{} `type:"structure"`
9526
9527	// The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.
9528	//
9529	// ResourceArn is a required field
9530	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
9531}
9532
9533// String returns the string representation
9534func (s ListTagsForResourceInput) String() string {
9535	return awsutil.Prettify(s)
9536}
9537
9538// GoString returns the string representation
9539func (s ListTagsForResourceInput) GoString() string {
9540	return s.String()
9541}
9542
9543// Validate inspects the fields of the type to determine if they are valid.
9544func (s *ListTagsForResourceInput) Validate() error {
9545	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
9546	if s.ResourceArn == nil {
9547		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9548	}
9549	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9550		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9551	}
9552
9553	if invalidParams.Len() > 0 {
9554		return invalidParams
9555	}
9556	return nil
9557}
9558
9559// SetResourceArn sets the ResourceArn field's value.
9560func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
9561	s.ResourceArn = &v
9562	return s
9563}
9564
9565type ListTagsForResourceOutput struct {
9566	_ struct{} `type:"structure"`
9567
9568	// The list of all tags added to the specified resource.
9569	Tags map[string]*string `locationName:"tags" type:"map"`
9570}
9571
9572// String returns the string representation
9573func (s ListTagsForResourceOutput) String() string {
9574	return awsutil.Prettify(s)
9575}
9576
9577// GoString returns the string representation
9578func (s ListTagsForResourceOutput) GoString() string {
9579	return s.String()
9580}
9581
9582// SetTags sets the Tags field's value.
9583func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
9584	s.Tags = v
9585	return s
9586}
9587
9588// The logging configuration.
9589type LoggingConfig struct {
9590	_ struct{} `type:"structure"`
9591
9592	// A boolean indicating whether to record all ROS topics.
9593	//
9594	// RecordAllRosTopics is a required field
9595	RecordAllRosTopics *bool `locationName:"recordAllRosTopics" type:"boolean" required:"true"`
9596}
9597
9598// String returns the string representation
9599func (s LoggingConfig) String() string {
9600	return awsutil.Prettify(s)
9601}
9602
9603// GoString returns the string representation
9604func (s LoggingConfig) GoString() string {
9605	return s.String()
9606}
9607
9608// Validate inspects the fields of the type to determine if they are valid.
9609func (s *LoggingConfig) Validate() error {
9610	invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"}
9611	if s.RecordAllRosTopics == nil {
9612		invalidParams.Add(request.NewErrParamRequired("RecordAllRosTopics"))
9613	}
9614
9615	if invalidParams.Len() > 0 {
9616		return invalidParams
9617	}
9618	return nil
9619}
9620
9621// SetRecordAllRosTopics sets the RecordAllRosTopics field's value.
9622func (s *LoggingConfig) SetRecordAllRosTopics(v bool) *LoggingConfig {
9623	s.RecordAllRosTopics = &v
9624	return s
9625}
9626
9627// Describes a network interface.
9628type NetworkInterface struct {
9629	_ struct{} `type:"structure"`
9630
9631	// The ID of the network interface.
9632	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
9633
9634	// The IPv4 address of the network interface within the subnet.
9635	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
9636
9637	// The IPv4 public address of the network interface.
9638	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
9639}
9640
9641// String returns the string representation
9642func (s NetworkInterface) String() string {
9643	return awsutil.Prettify(s)
9644}
9645
9646// GoString returns the string representation
9647func (s NetworkInterface) GoString() string {
9648	return s.String()
9649}
9650
9651// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9652func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
9653	s.NetworkInterfaceId = &v
9654	return s
9655}
9656
9657// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9658func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
9659	s.PrivateIpAddress = &v
9660	return s
9661}
9662
9663// SetPublicIpAddress sets the PublicIpAddress field's value.
9664func (s *NetworkInterface) SetPublicIpAddress(v string) *NetworkInterface {
9665	s.PublicIpAddress = &v
9666	return s
9667}
9668
9669// The output location.
9670type OutputLocation struct {
9671	_ struct{} `type:"structure"`
9672
9673	// The S3 bucket for output.
9674	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
9675
9676	// The S3 folder in the s3Bucket where output files will be placed.
9677	S3Prefix *string `locationName:"s3Prefix" min:"1" type:"string"`
9678}
9679
9680// String returns the string representation
9681func (s OutputLocation) String() string {
9682	return awsutil.Prettify(s)
9683}
9684
9685// GoString returns the string representation
9686func (s OutputLocation) GoString() string {
9687	return s.String()
9688}
9689
9690// Validate inspects the fields of the type to determine if they are valid.
9691func (s *OutputLocation) Validate() error {
9692	invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
9693	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
9694		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
9695	}
9696	if s.S3Prefix != nil && len(*s.S3Prefix) < 1 {
9697		invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1))
9698	}
9699
9700	if invalidParams.Len() > 0 {
9701		return invalidParams
9702	}
9703	return nil
9704}
9705
9706// SetS3Bucket sets the S3Bucket field's value.
9707func (s *OutputLocation) SetS3Bucket(v string) *OutputLocation {
9708	s.S3Bucket = &v
9709	return s
9710}
9711
9712// SetS3Prefix sets the S3Prefix field's value.
9713func (s *OutputLocation) SetS3Prefix(v string) *OutputLocation {
9714	s.S3Prefix = &v
9715	return s
9716}
9717
9718// Configuration information for port forwarding.
9719type PortForwardingConfig struct {
9720	_ struct{} `type:"structure"`
9721
9722	// The port mappings for the configuration.
9723	PortMappings []*PortMapping `locationName:"portMappings" type:"list"`
9724}
9725
9726// String returns the string representation
9727func (s PortForwardingConfig) String() string {
9728	return awsutil.Prettify(s)
9729}
9730
9731// GoString returns the string representation
9732func (s PortForwardingConfig) GoString() string {
9733	return s.String()
9734}
9735
9736// Validate inspects the fields of the type to determine if they are valid.
9737func (s *PortForwardingConfig) Validate() error {
9738	invalidParams := request.ErrInvalidParams{Context: "PortForwardingConfig"}
9739	if s.PortMappings != nil {
9740		for i, v := range s.PortMappings {
9741			if v == nil {
9742				continue
9743			}
9744			if err := v.Validate(); err != nil {
9745				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortMappings", i), err.(request.ErrInvalidParams))
9746			}
9747		}
9748	}
9749
9750	if invalidParams.Len() > 0 {
9751		return invalidParams
9752	}
9753	return nil
9754}
9755
9756// SetPortMappings sets the PortMappings field's value.
9757func (s *PortForwardingConfig) SetPortMappings(v []*PortMapping) *PortForwardingConfig {
9758	s.PortMappings = v
9759	return s
9760}
9761
9762// An object representing a port mapping.
9763type PortMapping struct {
9764	_ struct{} `type:"structure"`
9765
9766	// The port number on the application.
9767	//
9768	// ApplicationPort is a required field
9769	ApplicationPort *int64 `locationName:"applicationPort" min:"1024" type:"integer" required:"true"`
9770
9771	// A Boolean indicating whether to enable this port mapping on public IP.
9772	EnableOnPublicIp *bool `locationName:"enableOnPublicIp" type:"boolean"`
9773
9774	// The port number on the simulation job instance to use as a remote connection
9775	// point.
9776	//
9777	// JobPort is a required field
9778	JobPort *int64 `locationName:"jobPort" min:"1" type:"integer" required:"true"`
9779}
9780
9781// String returns the string representation
9782func (s PortMapping) String() string {
9783	return awsutil.Prettify(s)
9784}
9785
9786// GoString returns the string representation
9787func (s PortMapping) GoString() string {
9788	return s.String()
9789}
9790
9791// Validate inspects the fields of the type to determine if they are valid.
9792func (s *PortMapping) Validate() error {
9793	invalidParams := request.ErrInvalidParams{Context: "PortMapping"}
9794	if s.ApplicationPort == nil {
9795		invalidParams.Add(request.NewErrParamRequired("ApplicationPort"))
9796	}
9797	if s.ApplicationPort != nil && *s.ApplicationPort < 1024 {
9798		invalidParams.Add(request.NewErrParamMinValue("ApplicationPort", 1024))
9799	}
9800	if s.JobPort == nil {
9801		invalidParams.Add(request.NewErrParamRequired("JobPort"))
9802	}
9803	if s.JobPort != nil && *s.JobPort < 1 {
9804		invalidParams.Add(request.NewErrParamMinValue("JobPort", 1))
9805	}
9806
9807	if invalidParams.Len() > 0 {
9808		return invalidParams
9809	}
9810	return nil
9811}
9812
9813// SetApplicationPort sets the ApplicationPort field's value.
9814func (s *PortMapping) SetApplicationPort(v int64) *PortMapping {
9815	s.ApplicationPort = &v
9816	return s
9817}
9818
9819// SetEnableOnPublicIp sets the EnableOnPublicIp field's value.
9820func (s *PortMapping) SetEnableOnPublicIp(v bool) *PortMapping {
9821	s.EnableOnPublicIp = &v
9822	return s
9823}
9824
9825// SetJobPort sets the JobPort field's value.
9826func (s *PortMapping) SetJobPort(v int64) *PortMapping {
9827	s.JobPort = &v
9828	return s
9829}
9830
9831// Information about the progress of a deployment job.
9832type ProgressDetail struct {
9833	_ struct{} `type:"structure"`
9834
9835	// The current progress status.
9836	//
9837	// Validating
9838	//
9839	// Validating the deployment.
9840	//
9841	// DownloadingExtracting
9842	//
9843	// Downloading and extracting the bundle on the robot.
9844	//
9845	// ExecutingPreLaunch
9846	//
9847	// Executing pre-launch script(s) if provided.
9848	//
9849	// Launching
9850	//
9851	// Launching the robot application.
9852	//
9853	// ExecutingPostLaunch
9854	//
9855	// Executing post-launch script(s) if provided.
9856	//
9857	// Finished
9858	//
9859	// Deployment is complete.
9860	CurrentProgress *string `locationName:"currentProgress" type:"string" enum:"RobotDeploymentStep"`
9861
9862	// Estimated amount of time in seconds remaining in the step. This currently
9863	// only applies to the Downloading/Extracting step of the deployment. It is
9864	// empty for other steps.
9865	EstimatedTimeRemainingSeconds *int64 `locationName:"estimatedTimeRemainingSeconds" type:"integer"`
9866
9867	// Precentage of the step that is done. This currently only applies to the Downloading/Extracting
9868	// step of the deployment. It is empty for other steps.
9869	PercentDone *float64 `locationName:"percentDone" type:"float"`
9870
9871	// The Amazon Resource Name (ARN) of the deployment job.
9872	TargetResource *string `locationName:"targetResource" type:"string"`
9873}
9874
9875// String returns the string representation
9876func (s ProgressDetail) String() string {
9877	return awsutil.Prettify(s)
9878}
9879
9880// GoString returns the string representation
9881func (s ProgressDetail) GoString() string {
9882	return s.String()
9883}
9884
9885// SetCurrentProgress sets the CurrentProgress field's value.
9886func (s *ProgressDetail) SetCurrentProgress(v string) *ProgressDetail {
9887	s.CurrentProgress = &v
9888	return s
9889}
9890
9891// SetEstimatedTimeRemainingSeconds sets the EstimatedTimeRemainingSeconds field's value.
9892func (s *ProgressDetail) SetEstimatedTimeRemainingSeconds(v int64) *ProgressDetail {
9893	s.EstimatedTimeRemainingSeconds = &v
9894	return s
9895}
9896
9897// SetPercentDone sets the PercentDone field's value.
9898func (s *ProgressDetail) SetPercentDone(v float64) *ProgressDetail {
9899	s.PercentDone = &v
9900	return s
9901}
9902
9903// SetTargetResource sets the TargetResource field's value.
9904func (s *ProgressDetail) SetTargetResource(v string) *ProgressDetail {
9905	s.TargetResource = &v
9906	return s
9907}
9908
9909type RegisterRobotInput struct {
9910	_ struct{} `type:"structure"`
9911
9912	// The Amazon Resource Name (ARN) of the fleet.
9913	//
9914	// Fleet is a required field
9915	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
9916
9917	// The Amazon Resource Name (ARN) of the robot.
9918	//
9919	// Robot is a required field
9920	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
9921}
9922
9923// String returns the string representation
9924func (s RegisterRobotInput) String() string {
9925	return awsutil.Prettify(s)
9926}
9927
9928// GoString returns the string representation
9929func (s RegisterRobotInput) GoString() string {
9930	return s.String()
9931}
9932
9933// Validate inspects the fields of the type to determine if they are valid.
9934func (s *RegisterRobotInput) Validate() error {
9935	invalidParams := request.ErrInvalidParams{Context: "RegisterRobotInput"}
9936	if s.Fleet == nil {
9937		invalidParams.Add(request.NewErrParamRequired("Fleet"))
9938	}
9939	if s.Fleet != nil && len(*s.Fleet) < 1 {
9940		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
9941	}
9942	if s.Robot == nil {
9943		invalidParams.Add(request.NewErrParamRequired("Robot"))
9944	}
9945	if s.Robot != nil && len(*s.Robot) < 1 {
9946		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
9947	}
9948
9949	if invalidParams.Len() > 0 {
9950		return invalidParams
9951	}
9952	return nil
9953}
9954
9955// SetFleet sets the Fleet field's value.
9956func (s *RegisterRobotInput) SetFleet(v string) *RegisterRobotInput {
9957	s.Fleet = &v
9958	return s
9959}
9960
9961// SetRobot sets the Robot field's value.
9962func (s *RegisterRobotInput) SetRobot(v string) *RegisterRobotInput {
9963	s.Robot = &v
9964	return s
9965}
9966
9967type RegisterRobotOutput struct {
9968	_ struct{} `type:"structure"`
9969
9970	// The Amazon Resource Name (ARN) of the fleet that the robot will join.
9971	Fleet *string `locationName:"fleet" min:"1" type:"string"`
9972
9973	// Information about the robot registration.
9974	Robot *string `locationName:"robot" min:"1" type:"string"`
9975}
9976
9977// String returns the string representation
9978func (s RegisterRobotOutput) String() string {
9979	return awsutil.Prettify(s)
9980}
9981
9982// GoString returns the string representation
9983func (s RegisterRobotOutput) GoString() string {
9984	return s.String()
9985}
9986
9987// SetFleet sets the Fleet field's value.
9988func (s *RegisterRobotOutput) SetFleet(v string) *RegisterRobotOutput {
9989	s.Fleet = &v
9990	return s
9991}
9992
9993// SetRobot sets the Robot field's value.
9994func (s *RegisterRobotOutput) SetRobot(v string) *RegisterRobotOutput {
9995	s.Robot = &v
9996	return s
9997}
9998
9999// Information about a rendering engine.
10000type RenderingEngine struct {
10001	_ struct{} `type:"structure"`
10002
10003	// The name of the rendering engine.
10004	Name *string `locationName:"name" type:"string" enum:"RenderingEngineType"`
10005
10006	// The version of the rendering engine.
10007	Version *string `locationName:"version" min:"1" type:"string"`
10008}
10009
10010// String returns the string representation
10011func (s RenderingEngine) String() string {
10012	return awsutil.Prettify(s)
10013}
10014
10015// GoString returns the string representation
10016func (s RenderingEngine) GoString() string {
10017	return s.String()
10018}
10019
10020// Validate inspects the fields of the type to determine if they are valid.
10021func (s *RenderingEngine) Validate() error {
10022	invalidParams := request.ErrInvalidParams{Context: "RenderingEngine"}
10023	if s.Version != nil && len(*s.Version) < 1 {
10024		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
10025	}
10026
10027	if invalidParams.Len() > 0 {
10028		return invalidParams
10029	}
10030	return nil
10031}
10032
10033// SetName sets the Name field's value.
10034func (s *RenderingEngine) SetName(v string) *RenderingEngine {
10035	s.Name = &v
10036	return s
10037}
10038
10039// SetVersion sets the Version field's value.
10040func (s *RenderingEngine) SetVersion(v string) *RenderingEngine {
10041	s.Version = &v
10042	return s
10043}
10044
10045// The specified resource already exists.
10046type ResourceAlreadyExistsException struct {
10047	_            struct{}                  `type:"structure"`
10048	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10049
10050	Message_ *string `locationName:"message" type:"string"`
10051}
10052
10053// String returns the string representation
10054func (s ResourceAlreadyExistsException) String() string {
10055	return awsutil.Prettify(s)
10056}
10057
10058// GoString returns the string representation
10059func (s ResourceAlreadyExistsException) GoString() string {
10060	return s.String()
10061}
10062
10063func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
10064	return &ResourceAlreadyExistsException{
10065		RespMetadata: v,
10066	}
10067}
10068
10069// Code returns the exception type name.
10070func (s *ResourceAlreadyExistsException) Code() string {
10071	return "ResourceAlreadyExistsException"
10072}
10073
10074// Message returns the exception's message.
10075func (s *ResourceAlreadyExistsException) Message() string {
10076	if s.Message_ != nil {
10077		return *s.Message_
10078	}
10079	return ""
10080}
10081
10082// OrigErr always returns nil, satisfies awserr.Error interface.
10083func (s *ResourceAlreadyExistsException) OrigErr() error {
10084	return nil
10085}
10086
10087func (s *ResourceAlreadyExistsException) Error() string {
10088	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10089}
10090
10091// Status code returns the HTTP status code for the request's response error.
10092func (s *ResourceAlreadyExistsException) StatusCode() int {
10093	return s.RespMetadata.StatusCode
10094}
10095
10096// RequestID returns the service's response RequestID for request.
10097func (s *ResourceAlreadyExistsException) RequestID() string {
10098	return s.RespMetadata.RequestID
10099}
10100
10101// The specified resource does not exist.
10102type ResourceNotFoundException struct {
10103	_            struct{}                  `type:"structure"`
10104	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10105
10106	Message_ *string `locationName:"message" type:"string"`
10107}
10108
10109// String returns the string representation
10110func (s ResourceNotFoundException) String() string {
10111	return awsutil.Prettify(s)
10112}
10113
10114// GoString returns the string representation
10115func (s ResourceNotFoundException) GoString() string {
10116	return s.String()
10117}
10118
10119func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
10120	return &ResourceNotFoundException{
10121		RespMetadata: v,
10122	}
10123}
10124
10125// Code returns the exception type name.
10126func (s *ResourceNotFoundException) Code() string {
10127	return "ResourceNotFoundException"
10128}
10129
10130// Message returns the exception's message.
10131func (s *ResourceNotFoundException) Message() string {
10132	if s.Message_ != nil {
10133		return *s.Message_
10134	}
10135	return ""
10136}
10137
10138// OrigErr always returns nil, satisfies awserr.Error interface.
10139func (s *ResourceNotFoundException) OrigErr() error {
10140	return nil
10141}
10142
10143func (s *ResourceNotFoundException) Error() string {
10144	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10145}
10146
10147// Status code returns the HTTP status code for the request's response error.
10148func (s *ResourceNotFoundException) StatusCode() int {
10149	return s.RespMetadata.StatusCode
10150}
10151
10152// RequestID returns the service's response RequestID for request.
10153func (s *ResourceNotFoundException) RequestID() string {
10154	return s.RespMetadata.RequestID
10155}
10156
10157type RestartSimulationJobInput struct {
10158	_ struct{} `type:"structure"`
10159
10160	// The Amazon Resource Name (ARN) of the simulation job.
10161	//
10162	// Job is a required field
10163	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
10164}
10165
10166// String returns the string representation
10167func (s RestartSimulationJobInput) String() string {
10168	return awsutil.Prettify(s)
10169}
10170
10171// GoString returns the string representation
10172func (s RestartSimulationJobInput) GoString() string {
10173	return s.String()
10174}
10175
10176// Validate inspects the fields of the type to determine if they are valid.
10177func (s *RestartSimulationJobInput) Validate() error {
10178	invalidParams := request.ErrInvalidParams{Context: "RestartSimulationJobInput"}
10179	if s.Job == nil {
10180		invalidParams.Add(request.NewErrParamRequired("Job"))
10181	}
10182	if s.Job != nil && len(*s.Job) < 1 {
10183		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
10184	}
10185
10186	if invalidParams.Len() > 0 {
10187		return invalidParams
10188	}
10189	return nil
10190}
10191
10192// SetJob sets the Job field's value.
10193func (s *RestartSimulationJobInput) SetJob(v string) *RestartSimulationJobInput {
10194	s.Job = &v
10195	return s
10196}
10197
10198type RestartSimulationJobOutput struct {
10199	_ struct{} `type:"structure"`
10200}
10201
10202// String returns the string representation
10203func (s RestartSimulationJobOutput) String() string {
10204	return awsutil.Prettify(s)
10205}
10206
10207// GoString returns the string representation
10208func (s RestartSimulationJobOutput) GoString() string {
10209	return s.String()
10210}
10211
10212// Information about a robot.
10213type Robot struct {
10214	_ struct{} `type:"structure"`
10215
10216	// The architecture of the robot.
10217	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
10218
10219	// The Amazon Resource Name (ARN) of the robot.
10220	Arn *string `locationName:"arn" min:"1" type:"string"`
10221
10222	// The time, in milliseconds since the epoch, when the robot was created.
10223	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
10224
10225	// The Amazon Resource Name (ARN) of the fleet.
10226	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
10227
10228	// The Greengrass group associated with the robot.
10229	GreenGrassGroupId *string `locationName:"greenGrassGroupId" min:"1" type:"string"`
10230
10231	// The Amazon Resource Name (ARN) of the last deployment job.
10232	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
10233
10234	// The time of the last deployment.
10235	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
10236
10237	// The name of the robot.
10238	Name *string `locationName:"name" min:"1" type:"string"`
10239
10240	// The status of the robot.
10241	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
10242}
10243
10244// String returns the string representation
10245func (s Robot) String() string {
10246	return awsutil.Prettify(s)
10247}
10248
10249// GoString returns the string representation
10250func (s Robot) GoString() string {
10251	return s.String()
10252}
10253
10254// SetArchitecture sets the Architecture field's value.
10255func (s *Robot) SetArchitecture(v string) *Robot {
10256	s.Architecture = &v
10257	return s
10258}
10259
10260// SetArn sets the Arn field's value.
10261func (s *Robot) SetArn(v string) *Robot {
10262	s.Arn = &v
10263	return s
10264}
10265
10266// SetCreatedAt sets the CreatedAt field's value.
10267func (s *Robot) SetCreatedAt(v time.Time) *Robot {
10268	s.CreatedAt = &v
10269	return s
10270}
10271
10272// SetFleetArn sets the FleetArn field's value.
10273func (s *Robot) SetFleetArn(v string) *Robot {
10274	s.FleetArn = &v
10275	return s
10276}
10277
10278// SetGreenGrassGroupId sets the GreenGrassGroupId field's value.
10279func (s *Robot) SetGreenGrassGroupId(v string) *Robot {
10280	s.GreenGrassGroupId = &v
10281	return s
10282}
10283
10284// SetLastDeploymentJob sets the LastDeploymentJob field's value.
10285func (s *Robot) SetLastDeploymentJob(v string) *Robot {
10286	s.LastDeploymentJob = &v
10287	return s
10288}
10289
10290// SetLastDeploymentTime sets the LastDeploymentTime field's value.
10291func (s *Robot) SetLastDeploymentTime(v time.Time) *Robot {
10292	s.LastDeploymentTime = &v
10293	return s
10294}
10295
10296// SetName sets the Name field's value.
10297func (s *Robot) SetName(v string) *Robot {
10298	s.Name = &v
10299	return s
10300}
10301
10302// SetStatus sets the Status field's value.
10303func (s *Robot) SetStatus(v string) *Robot {
10304	s.Status = &v
10305	return s
10306}
10307
10308// Application configuration information for a robot.
10309type RobotApplicationConfig struct {
10310	_ struct{} `type:"structure"`
10311
10312	// The application information for the robot application.
10313	//
10314	// Application is a required field
10315	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
10316
10317	// The version of the robot application.
10318	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
10319
10320	// The launch configuration for the robot application.
10321	//
10322	// LaunchConfig is a required field
10323	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
10324}
10325
10326// String returns the string representation
10327func (s RobotApplicationConfig) String() string {
10328	return awsutil.Prettify(s)
10329}
10330
10331// GoString returns the string representation
10332func (s RobotApplicationConfig) GoString() string {
10333	return s.String()
10334}
10335
10336// Validate inspects the fields of the type to determine if they are valid.
10337func (s *RobotApplicationConfig) Validate() error {
10338	invalidParams := request.ErrInvalidParams{Context: "RobotApplicationConfig"}
10339	if s.Application == nil {
10340		invalidParams.Add(request.NewErrParamRequired("Application"))
10341	}
10342	if s.Application != nil && len(*s.Application) < 1 {
10343		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
10344	}
10345	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
10346		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
10347	}
10348	if s.LaunchConfig == nil {
10349		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
10350	}
10351	if s.LaunchConfig != nil {
10352		if err := s.LaunchConfig.Validate(); err != nil {
10353			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
10354		}
10355	}
10356
10357	if invalidParams.Len() > 0 {
10358		return invalidParams
10359	}
10360	return nil
10361}
10362
10363// SetApplication sets the Application field's value.
10364func (s *RobotApplicationConfig) SetApplication(v string) *RobotApplicationConfig {
10365	s.Application = &v
10366	return s
10367}
10368
10369// SetApplicationVersion sets the ApplicationVersion field's value.
10370func (s *RobotApplicationConfig) SetApplicationVersion(v string) *RobotApplicationConfig {
10371	s.ApplicationVersion = &v
10372	return s
10373}
10374
10375// SetLaunchConfig sets the LaunchConfig field's value.
10376func (s *RobotApplicationConfig) SetLaunchConfig(v *LaunchConfig) *RobotApplicationConfig {
10377	s.LaunchConfig = v
10378	return s
10379}
10380
10381// Summary information for a robot application.
10382type RobotApplicationSummary struct {
10383	_ struct{} `type:"structure"`
10384
10385	// The Amazon Resource Name (ARN) of the robot.
10386	Arn *string `locationName:"arn" min:"1" type:"string"`
10387
10388	// The time, in milliseconds since the epoch, when the robot application was
10389	// last updated.
10390	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10391
10392	// The name of the robot application.
10393	Name *string `locationName:"name" min:"1" type:"string"`
10394
10395	// Information about a robot software suite (ROS distribution).
10396	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
10397
10398	// The version of the robot application.
10399	Version *string `locationName:"version" min:"1" type:"string"`
10400}
10401
10402// String returns the string representation
10403func (s RobotApplicationSummary) String() string {
10404	return awsutil.Prettify(s)
10405}
10406
10407// GoString returns the string representation
10408func (s RobotApplicationSummary) GoString() string {
10409	return s.String()
10410}
10411
10412// SetArn sets the Arn field's value.
10413func (s *RobotApplicationSummary) SetArn(v string) *RobotApplicationSummary {
10414	s.Arn = &v
10415	return s
10416}
10417
10418// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10419func (s *RobotApplicationSummary) SetLastUpdatedAt(v time.Time) *RobotApplicationSummary {
10420	s.LastUpdatedAt = &v
10421	return s
10422}
10423
10424// SetName sets the Name field's value.
10425func (s *RobotApplicationSummary) SetName(v string) *RobotApplicationSummary {
10426	s.Name = &v
10427	return s
10428}
10429
10430// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10431func (s *RobotApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *RobotApplicationSummary {
10432	s.RobotSoftwareSuite = v
10433	return s
10434}
10435
10436// SetVersion sets the Version field's value.
10437func (s *RobotApplicationSummary) SetVersion(v string) *RobotApplicationSummary {
10438	s.Version = &v
10439	return s
10440}
10441
10442// Information about a robot deployment.
10443type RobotDeployment struct {
10444	_ struct{} `type:"structure"`
10445
10446	// The robot deployment Amazon Resource Name (ARN).
10447	Arn *string `locationName:"arn" min:"1" type:"string"`
10448
10449	// The time, in milliseconds since the epoch, when the deployment finished.
10450	DeploymentFinishTime *time.Time `locationName:"deploymentFinishTime" type:"timestamp"`
10451
10452	// The time, in milliseconds since the epoch, when the deployment was started.
10453	DeploymentStartTime *time.Time `locationName:"deploymentStartTime" type:"timestamp"`
10454
10455	// The robot deployment failure code.
10456	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
10457
10458	// A short description of the reason why the robot deployment failed.
10459	FailureReason *string `locationName:"failureReason" type:"string"`
10460
10461	// Information about how the deployment is progressing.
10462	ProgressDetail *ProgressDetail `locationName:"progressDetail" type:"structure"`
10463
10464	// The status of the robot deployment.
10465	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
10466}
10467
10468// String returns the string representation
10469func (s RobotDeployment) String() string {
10470	return awsutil.Prettify(s)
10471}
10472
10473// GoString returns the string representation
10474func (s RobotDeployment) GoString() string {
10475	return s.String()
10476}
10477
10478// SetArn sets the Arn field's value.
10479func (s *RobotDeployment) SetArn(v string) *RobotDeployment {
10480	s.Arn = &v
10481	return s
10482}
10483
10484// SetDeploymentFinishTime sets the DeploymentFinishTime field's value.
10485func (s *RobotDeployment) SetDeploymentFinishTime(v time.Time) *RobotDeployment {
10486	s.DeploymentFinishTime = &v
10487	return s
10488}
10489
10490// SetDeploymentStartTime sets the DeploymentStartTime field's value.
10491func (s *RobotDeployment) SetDeploymentStartTime(v time.Time) *RobotDeployment {
10492	s.DeploymentStartTime = &v
10493	return s
10494}
10495
10496// SetFailureCode sets the FailureCode field's value.
10497func (s *RobotDeployment) SetFailureCode(v string) *RobotDeployment {
10498	s.FailureCode = &v
10499	return s
10500}
10501
10502// SetFailureReason sets the FailureReason field's value.
10503func (s *RobotDeployment) SetFailureReason(v string) *RobotDeployment {
10504	s.FailureReason = &v
10505	return s
10506}
10507
10508// SetProgressDetail sets the ProgressDetail field's value.
10509func (s *RobotDeployment) SetProgressDetail(v *ProgressDetail) *RobotDeployment {
10510	s.ProgressDetail = v
10511	return s
10512}
10513
10514// SetStatus sets the Status field's value.
10515func (s *RobotDeployment) SetStatus(v string) *RobotDeployment {
10516	s.Status = &v
10517	return s
10518}
10519
10520// Information about a robot software suite (ROS distribution).
10521type RobotSoftwareSuite struct {
10522	_ struct{} `type:"structure"`
10523
10524	// The name of the robot software suite (ROS distribution).
10525	Name *string `locationName:"name" type:"string" enum:"RobotSoftwareSuiteType"`
10526
10527	// The version of the robot software suite (ROS distribution).
10528	Version *string `locationName:"version" type:"string" enum:"RobotSoftwareSuiteVersionType"`
10529}
10530
10531// String returns the string representation
10532func (s RobotSoftwareSuite) String() string {
10533	return awsutil.Prettify(s)
10534}
10535
10536// GoString returns the string representation
10537func (s RobotSoftwareSuite) GoString() string {
10538	return s.String()
10539}
10540
10541// SetName sets the Name field's value.
10542func (s *RobotSoftwareSuite) SetName(v string) *RobotSoftwareSuite {
10543	s.Name = &v
10544	return s
10545}
10546
10547// SetVersion sets the Version field's value.
10548func (s *RobotSoftwareSuite) SetVersion(v string) *RobotSoftwareSuite {
10549	s.Version = &v
10550	return s
10551}
10552
10553// Information about S3 keys.
10554type S3KeyOutput struct {
10555	_ struct{} `type:"structure"`
10556
10557	// The etag for the object.
10558	Etag *string `locationName:"etag" type:"string"`
10559
10560	// The S3 key.
10561	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
10562}
10563
10564// String returns the string representation
10565func (s S3KeyOutput) String() string {
10566	return awsutil.Prettify(s)
10567}
10568
10569// GoString returns the string representation
10570func (s S3KeyOutput) GoString() string {
10571	return s.String()
10572}
10573
10574// SetEtag sets the Etag field's value.
10575func (s *S3KeyOutput) SetEtag(v string) *S3KeyOutput {
10576	s.Etag = &v
10577	return s
10578}
10579
10580// SetS3Key sets the S3Key field's value.
10581func (s *S3KeyOutput) SetS3Key(v string) *S3KeyOutput {
10582	s.S3Key = &v
10583	return s
10584}
10585
10586// Information about an S3 object.
10587type S3Object struct {
10588	_ struct{} `type:"structure"`
10589
10590	// The bucket containing the object.
10591	//
10592	// Bucket is a required field
10593	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
10594
10595	// The etag of the object.
10596	Etag *string `locationName:"etag" type:"string"`
10597
10598	// The key of the object.
10599	//
10600	// Key is a required field
10601	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
10602}
10603
10604// String returns the string representation
10605func (s S3Object) String() string {
10606	return awsutil.Prettify(s)
10607}
10608
10609// GoString returns the string representation
10610func (s S3Object) GoString() string {
10611	return s.String()
10612}
10613
10614// Validate inspects the fields of the type to determine if they are valid.
10615func (s *S3Object) Validate() error {
10616	invalidParams := request.ErrInvalidParams{Context: "S3Object"}
10617	if s.Bucket == nil {
10618		invalidParams.Add(request.NewErrParamRequired("Bucket"))
10619	}
10620	if s.Bucket != nil && len(*s.Bucket) < 3 {
10621		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
10622	}
10623	if s.Key == nil {
10624		invalidParams.Add(request.NewErrParamRequired("Key"))
10625	}
10626	if s.Key != nil && len(*s.Key) < 1 {
10627		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
10628	}
10629
10630	if invalidParams.Len() > 0 {
10631		return invalidParams
10632	}
10633	return nil
10634}
10635
10636// SetBucket sets the Bucket field's value.
10637func (s *S3Object) SetBucket(v string) *S3Object {
10638	s.Bucket = &v
10639	return s
10640}
10641
10642// SetEtag sets the Etag field's value.
10643func (s *S3Object) SetEtag(v string) *S3Object {
10644	s.Etag = &v
10645	return s
10646}
10647
10648// SetKey sets the Key field's value.
10649func (s *S3Object) SetKey(v string) *S3Object {
10650	s.Key = &v
10651	return s
10652}
10653
10654// The request has failed due to a temporary failure of the server.
10655type ServiceUnavailableException struct {
10656	_            struct{}                  `type:"structure"`
10657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10658
10659	Message_ *string `locationName:"message" type:"string"`
10660}
10661
10662// String returns the string representation
10663func (s ServiceUnavailableException) String() string {
10664	return awsutil.Prettify(s)
10665}
10666
10667// GoString returns the string representation
10668func (s ServiceUnavailableException) GoString() string {
10669	return s.String()
10670}
10671
10672func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
10673	return &ServiceUnavailableException{
10674		RespMetadata: v,
10675	}
10676}
10677
10678// Code returns the exception type name.
10679func (s *ServiceUnavailableException) Code() string {
10680	return "ServiceUnavailableException"
10681}
10682
10683// Message returns the exception's message.
10684func (s *ServiceUnavailableException) Message() string {
10685	if s.Message_ != nil {
10686		return *s.Message_
10687	}
10688	return ""
10689}
10690
10691// OrigErr always returns nil, satisfies awserr.Error interface.
10692func (s *ServiceUnavailableException) OrigErr() error {
10693	return nil
10694}
10695
10696func (s *ServiceUnavailableException) Error() string {
10697	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
10698}
10699
10700// Status code returns the HTTP status code for the request's response error.
10701func (s *ServiceUnavailableException) StatusCode() int {
10702	return s.RespMetadata.StatusCode
10703}
10704
10705// RequestID returns the service's response RequestID for request.
10706func (s *ServiceUnavailableException) RequestID() string {
10707	return s.RespMetadata.RequestID
10708}
10709
10710// Information about a simulation application configuration.
10711type SimulationApplicationConfig struct {
10712	_ struct{} `type:"structure"`
10713
10714	// The application information for the simulation application.
10715	//
10716	// Application is a required field
10717	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
10718
10719	// The version of the simulation application.
10720	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
10721
10722	// The launch configuration for the simulation application.
10723	//
10724	// LaunchConfig is a required field
10725	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
10726}
10727
10728// String returns the string representation
10729func (s SimulationApplicationConfig) String() string {
10730	return awsutil.Prettify(s)
10731}
10732
10733// GoString returns the string representation
10734func (s SimulationApplicationConfig) GoString() string {
10735	return s.String()
10736}
10737
10738// Validate inspects the fields of the type to determine if they are valid.
10739func (s *SimulationApplicationConfig) Validate() error {
10740	invalidParams := request.ErrInvalidParams{Context: "SimulationApplicationConfig"}
10741	if s.Application == nil {
10742		invalidParams.Add(request.NewErrParamRequired("Application"))
10743	}
10744	if s.Application != nil && len(*s.Application) < 1 {
10745		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
10746	}
10747	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
10748		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
10749	}
10750	if s.LaunchConfig == nil {
10751		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
10752	}
10753	if s.LaunchConfig != nil {
10754		if err := s.LaunchConfig.Validate(); err != nil {
10755			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
10756		}
10757	}
10758
10759	if invalidParams.Len() > 0 {
10760		return invalidParams
10761	}
10762	return nil
10763}
10764
10765// SetApplication sets the Application field's value.
10766func (s *SimulationApplicationConfig) SetApplication(v string) *SimulationApplicationConfig {
10767	s.Application = &v
10768	return s
10769}
10770
10771// SetApplicationVersion sets the ApplicationVersion field's value.
10772func (s *SimulationApplicationConfig) SetApplicationVersion(v string) *SimulationApplicationConfig {
10773	s.ApplicationVersion = &v
10774	return s
10775}
10776
10777// SetLaunchConfig sets the LaunchConfig field's value.
10778func (s *SimulationApplicationConfig) SetLaunchConfig(v *LaunchConfig) *SimulationApplicationConfig {
10779	s.LaunchConfig = v
10780	return s
10781}
10782
10783// Summary information for a simulation application.
10784type SimulationApplicationSummary struct {
10785	_ struct{} `type:"structure"`
10786
10787	// The Amazon Resource Name (ARN) of the simulation application.
10788	Arn *string `locationName:"arn" min:"1" type:"string"`
10789
10790	// The time, in milliseconds since the epoch, when the simulation application
10791	// was last updated.
10792	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10793
10794	// The name of the simulation application.
10795	Name *string `locationName:"name" min:"1" type:"string"`
10796
10797	// Information about a robot software suite (ROS distribution).
10798	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
10799
10800	// Information about a simulation software suite.
10801	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
10802
10803	// The version of the simulation application.
10804	Version *string `locationName:"version" min:"1" type:"string"`
10805}
10806
10807// String returns the string representation
10808func (s SimulationApplicationSummary) String() string {
10809	return awsutil.Prettify(s)
10810}
10811
10812// GoString returns the string representation
10813func (s SimulationApplicationSummary) GoString() string {
10814	return s.String()
10815}
10816
10817// SetArn sets the Arn field's value.
10818func (s *SimulationApplicationSummary) SetArn(v string) *SimulationApplicationSummary {
10819	s.Arn = &v
10820	return s
10821}
10822
10823// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10824func (s *SimulationApplicationSummary) SetLastUpdatedAt(v time.Time) *SimulationApplicationSummary {
10825	s.LastUpdatedAt = &v
10826	return s
10827}
10828
10829// SetName sets the Name field's value.
10830func (s *SimulationApplicationSummary) SetName(v string) *SimulationApplicationSummary {
10831	s.Name = &v
10832	return s
10833}
10834
10835// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10836func (s *SimulationApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *SimulationApplicationSummary {
10837	s.RobotSoftwareSuite = v
10838	return s
10839}
10840
10841// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
10842func (s *SimulationApplicationSummary) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *SimulationApplicationSummary {
10843	s.SimulationSoftwareSuite = v
10844	return s
10845}
10846
10847// SetVersion sets the Version field's value.
10848func (s *SimulationApplicationSummary) SetVersion(v string) *SimulationApplicationSummary {
10849	s.Version = &v
10850	return s
10851}
10852
10853// Information about a simulation job.
10854type SimulationJob struct {
10855	_ struct{} `type:"structure"`
10856
10857	// The Amazon Resource Name (ARN) of the simulation job.
10858	Arn *string `locationName:"arn" min:"1" type:"string"`
10859
10860	// A unique identifier for this SimulationJob request.
10861	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
10862
10863	// Compute information for the simulation job
10864	Compute *ComputeResponse `locationName:"compute" type:"structure"`
10865
10866	// The data sources for the simulation job.
10867	DataSources []*DataSource `locationName:"dataSources" type:"list"`
10868
10869	// The failure behavior the simulation job.
10870	//
10871	// Continue
10872	//
10873	// Restart the simulation job in the same host instance.
10874	//
10875	// Fail
10876	//
10877	// Stop the simulation job and terminate the instance.
10878	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
10879
10880	// The failure code of the simulation job if it failed.
10881	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
10882
10883	// The reason why the simulation job failed.
10884	FailureReason *string `locationName:"failureReason" type:"string"`
10885
10886	// The IAM role that allows the simulation instance to call the AWS APIs that
10887	// are specified in its associated policies on your behalf. This is how credentials
10888	// are passed in to your simulation job.
10889	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
10890
10891	// The time, in milliseconds since the epoch, when the simulation job was last
10892	// started.
10893	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
10894
10895	// The time, in milliseconds since the epoch, when the simulation job was last
10896	// updated.
10897	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10898
10899	// The logging configuration.
10900	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
10901
10902	// The maximum simulation job duration in seconds. The value must be 8 days
10903	// (691,200 seconds) or less.
10904	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
10905
10906	// The name of the simulation job.
10907	Name *string `locationName:"name" min:"1" type:"string"`
10908
10909	// Information about a network interface.
10910	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
10911
10912	// Location for output files generated by the simulation job.
10913	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
10914
10915	// A list of robot applications.
10916	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
10917
10918	// A list of simulation applications.
10919	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
10920
10921	// The simulation job execution duration in milliseconds.
10922	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
10923
10924	// Status of the simulation job.
10925	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
10926
10927	// A map that contains tag keys and tag values that are attached to the simulation
10928	// job.
10929	Tags map[string]*string `locationName:"tags" type:"map"`
10930
10931	// VPC configuration information.
10932	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
10933}
10934
10935// String returns the string representation
10936func (s SimulationJob) String() string {
10937	return awsutil.Prettify(s)
10938}
10939
10940// GoString returns the string representation
10941func (s SimulationJob) GoString() string {
10942	return s.String()
10943}
10944
10945// SetArn sets the Arn field's value.
10946func (s *SimulationJob) SetArn(v string) *SimulationJob {
10947	s.Arn = &v
10948	return s
10949}
10950
10951// SetClientRequestToken sets the ClientRequestToken field's value.
10952func (s *SimulationJob) SetClientRequestToken(v string) *SimulationJob {
10953	s.ClientRequestToken = &v
10954	return s
10955}
10956
10957// SetCompute sets the Compute field's value.
10958func (s *SimulationJob) SetCompute(v *ComputeResponse) *SimulationJob {
10959	s.Compute = v
10960	return s
10961}
10962
10963// SetDataSources sets the DataSources field's value.
10964func (s *SimulationJob) SetDataSources(v []*DataSource) *SimulationJob {
10965	s.DataSources = v
10966	return s
10967}
10968
10969// SetFailureBehavior sets the FailureBehavior field's value.
10970func (s *SimulationJob) SetFailureBehavior(v string) *SimulationJob {
10971	s.FailureBehavior = &v
10972	return s
10973}
10974
10975// SetFailureCode sets the FailureCode field's value.
10976func (s *SimulationJob) SetFailureCode(v string) *SimulationJob {
10977	s.FailureCode = &v
10978	return s
10979}
10980
10981// SetFailureReason sets the FailureReason field's value.
10982func (s *SimulationJob) SetFailureReason(v string) *SimulationJob {
10983	s.FailureReason = &v
10984	return s
10985}
10986
10987// SetIamRole sets the IamRole field's value.
10988func (s *SimulationJob) SetIamRole(v string) *SimulationJob {
10989	s.IamRole = &v
10990	return s
10991}
10992
10993// SetLastStartedAt sets the LastStartedAt field's value.
10994func (s *SimulationJob) SetLastStartedAt(v time.Time) *SimulationJob {
10995	s.LastStartedAt = &v
10996	return s
10997}
10998
10999// SetLastUpdatedAt sets the LastUpdatedAt field's value.
11000func (s *SimulationJob) SetLastUpdatedAt(v time.Time) *SimulationJob {
11001	s.LastUpdatedAt = &v
11002	return s
11003}
11004
11005// SetLoggingConfig sets the LoggingConfig field's value.
11006func (s *SimulationJob) SetLoggingConfig(v *LoggingConfig) *SimulationJob {
11007	s.LoggingConfig = v
11008	return s
11009}
11010
11011// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
11012func (s *SimulationJob) SetMaxJobDurationInSeconds(v int64) *SimulationJob {
11013	s.MaxJobDurationInSeconds = &v
11014	return s
11015}
11016
11017// SetName sets the Name field's value.
11018func (s *SimulationJob) SetName(v string) *SimulationJob {
11019	s.Name = &v
11020	return s
11021}
11022
11023// SetNetworkInterface sets the NetworkInterface field's value.
11024func (s *SimulationJob) SetNetworkInterface(v *NetworkInterface) *SimulationJob {
11025	s.NetworkInterface = v
11026	return s
11027}
11028
11029// SetOutputLocation sets the OutputLocation field's value.
11030func (s *SimulationJob) SetOutputLocation(v *OutputLocation) *SimulationJob {
11031	s.OutputLocation = v
11032	return s
11033}
11034
11035// SetRobotApplications sets the RobotApplications field's value.
11036func (s *SimulationJob) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJob {
11037	s.RobotApplications = v
11038	return s
11039}
11040
11041// SetSimulationApplications sets the SimulationApplications field's value.
11042func (s *SimulationJob) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJob {
11043	s.SimulationApplications = v
11044	return s
11045}
11046
11047// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
11048func (s *SimulationJob) SetSimulationTimeMillis(v int64) *SimulationJob {
11049	s.SimulationTimeMillis = &v
11050	return s
11051}
11052
11053// SetStatus sets the Status field's value.
11054func (s *SimulationJob) SetStatus(v string) *SimulationJob {
11055	s.Status = &v
11056	return s
11057}
11058
11059// SetTags sets the Tags field's value.
11060func (s *SimulationJob) SetTags(v map[string]*string) *SimulationJob {
11061	s.Tags = v
11062	return s
11063}
11064
11065// SetVpcConfig sets the VpcConfig field's value.
11066func (s *SimulationJob) SetVpcConfig(v *VPCConfigResponse) *SimulationJob {
11067	s.VpcConfig = v
11068	return s
11069}
11070
11071// Information about a simulation job batch.
11072type SimulationJobBatchSummary struct {
11073	_ struct{} `type:"structure"`
11074
11075	// The Amazon Resource Name (ARN) of the batch.
11076	Arn *string `locationName:"arn" min:"1" type:"string"`
11077
11078	// The time, in milliseconds since the epoch, when the simulation job batch
11079	// was created.
11080	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11081
11082	// The number of created simulation job requests.
11083	CreatedRequestCount *int64 `locationName:"createdRequestCount" type:"integer"`
11084
11085	// The number of failed simulation job requests.
11086	FailedRequestCount *int64 `locationName:"failedRequestCount" type:"integer"`
11087
11088	// The time, in milliseconds since the epoch, when the simulation job batch
11089	// was last updated.
11090	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
11091
11092	// The number of pending simulation job requests.
11093	PendingRequestCount *int64 `locationName:"pendingRequestCount" type:"integer"`
11094
11095	// The status of the simulation job batch.
11096	//
11097	// Pending
11098	//
11099	// The simulation job batch request is pending.
11100	//
11101	// InProgress
11102	//
11103	// The simulation job batch is in progress.
11104	//
11105	// Failed
11106	//
11107	// The simulation job batch failed. One or more simulation job requests could
11108	// not be completed due to an internal failure (like InternalServiceError).
11109	// See failureCode and failureReason for more information.
11110	//
11111	// Completed
11112	//
11113	// The simulation batch job completed. A batch is complete when (1) there are
11114	// no pending simulation job requests in the batch and none of the failed simulation
11115	// job requests are due to InternalServiceError and (2) when all created simulation
11116	// jobs have reached a terminal state (for example, Completed or Failed).
11117	//
11118	// Canceled
11119	//
11120	// The simulation batch job was cancelled.
11121	//
11122	// Canceling
11123	//
11124	// The simulation batch job is being cancelled.
11125	//
11126	// Completing
11127	//
11128	// The simulation batch job is completing.
11129	//
11130	// TimingOut
11131	//
11132	// The simulation job batch is timing out.
11133	//
11134	// If a batch timing out, and there are pending requests that were failing due
11135	// to an internal failure (like InternalServiceError), the batch status will
11136	// be Failed. If there are no such failing request, the batch status will be
11137	// TimedOut.
11138	//
11139	// TimedOut
11140	//
11141	// The simulation batch job timed out.
11142	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
11143}
11144
11145// String returns the string representation
11146func (s SimulationJobBatchSummary) String() string {
11147	return awsutil.Prettify(s)
11148}
11149
11150// GoString returns the string representation
11151func (s SimulationJobBatchSummary) GoString() string {
11152	return s.String()
11153}
11154
11155// SetArn sets the Arn field's value.
11156func (s *SimulationJobBatchSummary) SetArn(v string) *SimulationJobBatchSummary {
11157	s.Arn = &v
11158	return s
11159}
11160
11161// SetCreatedAt sets the CreatedAt field's value.
11162func (s *SimulationJobBatchSummary) SetCreatedAt(v time.Time) *SimulationJobBatchSummary {
11163	s.CreatedAt = &v
11164	return s
11165}
11166
11167// SetCreatedRequestCount sets the CreatedRequestCount field's value.
11168func (s *SimulationJobBatchSummary) SetCreatedRequestCount(v int64) *SimulationJobBatchSummary {
11169	s.CreatedRequestCount = &v
11170	return s
11171}
11172
11173// SetFailedRequestCount sets the FailedRequestCount field's value.
11174func (s *SimulationJobBatchSummary) SetFailedRequestCount(v int64) *SimulationJobBatchSummary {
11175	s.FailedRequestCount = &v
11176	return s
11177}
11178
11179// SetLastUpdatedAt sets the LastUpdatedAt field's value.
11180func (s *SimulationJobBatchSummary) SetLastUpdatedAt(v time.Time) *SimulationJobBatchSummary {
11181	s.LastUpdatedAt = &v
11182	return s
11183}
11184
11185// SetPendingRequestCount sets the PendingRequestCount field's value.
11186func (s *SimulationJobBatchSummary) SetPendingRequestCount(v int64) *SimulationJobBatchSummary {
11187	s.PendingRequestCount = &v
11188	return s
11189}
11190
11191// SetStatus sets the Status field's value.
11192func (s *SimulationJobBatchSummary) SetStatus(v string) *SimulationJobBatchSummary {
11193	s.Status = &v
11194	return s
11195}
11196
11197// Information about a simulation job request.
11198type SimulationJobRequest struct {
11199	_ struct{} `type:"structure"`
11200
11201	// Compute information for the simulation job
11202	Compute *Compute `locationName:"compute" type:"structure"`
11203
11204	// Specify data sources to mount read-only files from S3 into your simulation.
11205	// These files are available under /opt/robomaker/datasources/data_source_name.
11206	//
11207	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
11208	// objects.
11209	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
11210
11211	// The failure behavior the simulation job.
11212	//
11213	// Continue
11214	//
11215	// Restart the simulation job in the same host instance.
11216	//
11217	// Fail
11218	//
11219	// Stop the simulation job and terminate the instance.
11220	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
11221
11222	// The IAM role name that allows the simulation instance to call the AWS APIs
11223	// that are specified in its associated policies on your behalf. This is how
11224	// credentials are passed in to your simulation job.
11225	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
11226
11227	// The logging configuration.
11228	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
11229
11230	// The maximum simulation job duration in seconds. The value must be 8 days
11231	// (691,200 seconds) or less.
11232	//
11233	// MaxJobDurationInSeconds is a required field
11234	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
11235
11236	// The output location.
11237	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
11238
11239	// The robot applications to use in the simulation job.
11240	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
11241
11242	// The simulation applications to use in the simulation job.
11243	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
11244
11245	// A map that contains tag keys and tag values that are attached to the simulation
11246	// job request.
11247	Tags map[string]*string `locationName:"tags" type:"map"`
11248
11249	// Boolean indicating whether to use default simulation tool applications.
11250	UseDefaultApplications *bool `locationName:"useDefaultApplications" type:"boolean"`
11251
11252	// If your simulation job accesses resources in a VPC, you provide this parameter
11253	// identifying the list of security group IDs and subnet IDs. These must belong
11254	// to the same VPC. You must provide at least one security group and two subnet
11255	// IDs.
11256	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
11257}
11258
11259// String returns the string representation
11260func (s SimulationJobRequest) String() string {
11261	return awsutil.Prettify(s)
11262}
11263
11264// GoString returns the string representation
11265func (s SimulationJobRequest) GoString() string {
11266	return s.String()
11267}
11268
11269// Validate inspects the fields of the type to determine if they are valid.
11270func (s *SimulationJobRequest) Validate() error {
11271	invalidParams := request.ErrInvalidParams{Context: "SimulationJobRequest"}
11272	if s.DataSources != nil && len(s.DataSources) < 1 {
11273		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
11274	}
11275	if s.IamRole != nil && len(*s.IamRole) < 1 {
11276		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
11277	}
11278	if s.MaxJobDurationInSeconds == nil {
11279		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
11280	}
11281	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
11282		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
11283	}
11284	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
11285		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
11286	}
11287	if s.Compute != nil {
11288		if err := s.Compute.Validate(); err != nil {
11289			invalidParams.AddNested("Compute", err.(request.ErrInvalidParams))
11290		}
11291	}
11292	if s.DataSources != nil {
11293		for i, v := range s.DataSources {
11294			if v == nil {
11295				continue
11296			}
11297			if err := v.Validate(); err != nil {
11298				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
11299			}
11300		}
11301	}
11302	if s.LoggingConfig != nil {
11303		if err := s.LoggingConfig.Validate(); err != nil {
11304			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
11305		}
11306	}
11307	if s.OutputLocation != nil {
11308		if err := s.OutputLocation.Validate(); err != nil {
11309			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
11310		}
11311	}
11312	if s.RobotApplications != nil {
11313		for i, v := range s.RobotApplications {
11314			if v == nil {
11315				continue
11316			}
11317			if err := v.Validate(); err != nil {
11318				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
11319			}
11320		}
11321	}
11322	if s.SimulationApplications != nil {
11323		for i, v := range s.SimulationApplications {
11324			if v == nil {
11325				continue
11326			}
11327			if err := v.Validate(); err != nil {
11328				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
11329			}
11330		}
11331	}
11332	if s.VpcConfig != nil {
11333		if err := s.VpcConfig.Validate(); err != nil {
11334			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
11335		}
11336	}
11337
11338	if invalidParams.Len() > 0 {
11339		return invalidParams
11340	}
11341	return nil
11342}
11343
11344// SetCompute sets the Compute field's value.
11345func (s *SimulationJobRequest) SetCompute(v *Compute) *SimulationJobRequest {
11346	s.Compute = v
11347	return s
11348}
11349
11350// SetDataSources sets the DataSources field's value.
11351func (s *SimulationJobRequest) SetDataSources(v []*DataSourceConfig) *SimulationJobRequest {
11352	s.DataSources = v
11353	return s
11354}
11355
11356// SetFailureBehavior sets the FailureBehavior field's value.
11357func (s *SimulationJobRequest) SetFailureBehavior(v string) *SimulationJobRequest {
11358	s.FailureBehavior = &v
11359	return s
11360}
11361
11362// SetIamRole sets the IamRole field's value.
11363func (s *SimulationJobRequest) SetIamRole(v string) *SimulationJobRequest {
11364	s.IamRole = &v
11365	return s
11366}
11367
11368// SetLoggingConfig sets the LoggingConfig field's value.
11369func (s *SimulationJobRequest) SetLoggingConfig(v *LoggingConfig) *SimulationJobRequest {
11370	s.LoggingConfig = v
11371	return s
11372}
11373
11374// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
11375func (s *SimulationJobRequest) SetMaxJobDurationInSeconds(v int64) *SimulationJobRequest {
11376	s.MaxJobDurationInSeconds = &v
11377	return s
11378}
11379
11380// SetOutputLocation sets the OutputLocation field's value.
11381func (s *SimulationJobRequest) SetOutputLocation(v *OutputLocation) *SimulationJobRequest {
11382	s.OutputLocation = v
11383	return s
11384}
11385
11386// SetRobotApplications sets the RobotApplications field's value.
11387func (s *SimulationJobRequest) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJobRequest {
11388	s.RobotApplications = v
11389	return s
11390}
11391
11392// SetSimulationApplications sets the SimulationApplications field's value.
11393func (s *SimulationJobRequest) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJobRequest {
11394	s.SimulationApplications = v
11395	return s
11396}
11397
11398// SetTags sets the Tags field's value.
11399func (s *SimulationJobRequest) SetTags(v map[string]*string) *SimulationJobRequest {
11400	s.Tags = v
11401	return s
11402}
11403
11404// SetUseDefaultApplications sets the UseDefaultApplications field's value.
11405func (s *SimulationJobRequest) SetUseDefaultApplications(v bool) *SimulationJobRequest {
11406	s.UseDefaultApplications = &v
11407	return s
11408}
11409
11410// SetVpcConfig sets the VpcConfig field's value.
11411func (s *SimulationJobRequest) SetVpcConfig(v *VPCConfig) *SimulationJobRequest {
11412	s.VpcConfig = v
11413	return s
11414}
11415
11416// Summary information for a simulation job.
11417type SimulationJobSummary struct {
11418	_ struct{} `type:"structure"`
11419
11420	// The Amazon Resource Name (ARN) of the simulation job.
11421	Arn *string `locationName:"arn" min:"1" type:"string"`
11422
11423	// The names of the data sources.
11424	DataSourceNames []*string `locationName:"dataSourceNames" type:"list"`
11425
11426	// The time, in milliseconds since the epoch, when the simulation job was last
11427	// updated.
11428	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
11429
11430	// The name of the simulation job.
11431	Name *string `locationName:"name" min:"1" type:"string"`
11432
11433	// A list of simulation job robot application names.
11434	RobotApplicationNames []*string `locationName:"robotApplicationNames" type:"list"`
11435
11436	// A list of simulation job simulation application names.
11437	SimulationApplicationNames []*string `locationName:"simulationApplicationNames" type:"list"`
11438
11439	// The status of the simulation job.
11440	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
11441}
11442
11443// String returns the string representation
11444func (s SimulationJobSummary) String() string {
11445	return awsutil.Prettify(s)
11446}
11447
11448// GoString returns the string representation
11449func (s SimulationJobSummary) GoString() string {
11450	return s.String()
11451}
11452
11453// SetArn sets the Arn field's value.
11454func (s *SimulationJobSummary) SetArn(v string) *SimulationJobSummary {
11455	s.Arn = &v
11456	return s
11457}
11458
11459// SetDataSourceNames sets the DataSourceNames field's value.
11460func (s *SimulationJobSummary) SetDataSourceNames(v []*string) *SimulationJobSummary {
11461	s.DataSourceNames = v
11462	return s
11463}
11464
11465// SetLastUpdatedAt sets the LastUpdatedAt field's value.
11466func (s *SimulationJobSummary) SetLastUpdatedAt(v time.Time) *SimulationJobSummary {
11467	s.LastUpdatedAt = &v
11468	return s
11469}
11470
11471// SetName sets the Name field's value.
11472func (s *SimulationJobSummary) SetName(v string) *SimulationJobSummary {
11473	s.Name = &v
11474	return s
11475}
11476
11477// SetRobotApplicationNames sets the RobotApplicationNames field's value.
11478func (s *SimulationJobSummary) SetRobotApplicationNames(v []*string) *SimulationJobSummary {
11479	s.RobotApplicationNames = v
11480	return s
11481}
11482
11483// SetSimulationApplicationNames sets the SimulationApplicationNames field's value.
11484func (s *SimulationJobSummary) SetSimulationApplicationNames(v []*string) *SimulationJobSummary {
11485	s.SimulationApplicationNames = v
11486	return s
11487}
11488
11489// SetStatus sets the Status field's value.
11490func (s *SimulationJobSummary) SetStatus(v string) *SimulationJobSummary {
11491	s.Status = &v
11492	return s
11493}
11494
11495// Information about a simulation software suite.
11496type SimulationSoftwareSuite struct {
11497	_ struct{} `type:"structure"`
11498
11499	// The name of the simulation software suite.
11500	Name *string `locationName:"name" type:"string" enum:"SimulationSoftwareSuiteType"`
11501
11502	// The version of the simulation software suite.
11503	Version *string `locationName:"version" type:"string"`
11504}
11505
11506// String returns the string representation
11507func (s SimulationSoftwareSuite) String() string {
11508	return awsutil.Prettify(s)
11509}
11510
11511// GoString returns the string representation
11512func (s SimulationSoftwareSuite) GoString() string {
11513	return s.String()
11514}
11515
11516// SetName sets the Name field's value.
11517func (s *SimulationSoftwareSuite) SetName(v string) *SimulationSoftwareSuite {
11518	s.Name = &v
11519	return s
11520}
11521
11522// SetVersion sets the Version field's value.
11523func (s *SimulationSoftwareSuite) SetVersion(v string) *SimulationSoftwareSuite {
11524	s.Version = &v
11525	return s
11526}
11527
11528// Information about a source.
11529type Source struct {
11530	_ struct{} `type:"structure"`
11531
11532	// The taget processor architecture for the application.
11533	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
11534
11535	// A hash of the object specified by s3Bucket and s3Key.
11536	Etag *string `locationName:"etag" type:"string"`
11537
11538	// The s3 bucket name.
11539	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
11540
11541	// The s3 object key.
11542	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
11543}
11544
11545// String returns the string representation
11546func (s Source) String() string {
11547	return awsutil.Prettify(s)
11548}
11549
11550// GoString returns the string representation
11551func (s Source) GoString() string {
11552	return s.String()
11553}
11554
11555// SetArchitecture sets the Architecture field's value.
11556func (s *Source) SetArchitecture(v string) *Source {
11557	s.Architecture = &v
11558	return s
11559}
11560
11561// SetEtag sets the Etag field's value.
11562func (s *Source) SetEtag(v string) *Source {
11563	s.Etag = &v
11564	return s
11565}
11566
11567// SetS3Bucket sets the S3Bucket field's value.
11568func (s *Source) SetS3Bucket(v string) *Source {
11569	s.S3Bucket = &v
11570	return s
11571}
11572
11573// SetS3Key sets the S3Key field's value.
11574func (s *Source) SetS3Key(v string) *Source {
11575	s.S3Key = &v
11576	return s
11577}
11578
11579// Information about a source configuration.
11580type SourceConfig struct {
11581	_ struct{} `type:"structure"`
11582
11583	// The target processor architecture for the application.
11584	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
11585
11586	// The Amazon S3 bucket name.
11587	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
11588
11589	// The s3 object key.
11590	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
11591}
11592
11593// String returns the string representation
11594func (s SourceConfig) String() string {
11595	return awsutil.Prettify(s)
11596}
11597
11598// GoString returns the string representation
11599func (s SourceConfig) GoString() string {
11600	return s.String()
11601}
11602
11603// Validate inspects the fields of the type to determine if they are valid.
11604func (s *SourceConfig) Validate() error {
11605	invalidParams := request.ErrInvalidParams{Context: "SourceConfig"}
11606	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
11607		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
11608	}
11609	if s.S3Key != nil && len(*s.S3Key) < 1 {
11610		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
11611	}
11612
11613	if invalidParams.Len() > 0 {
11614		return invalidParams
11615	}
11616	return nil
11617}
11618
11619// SetArchitecture sets the Architecture field's value.
11620func (s *SourceConfig) SetArchitecture(v string) *SourceConfig {
11621	s.Architecture = &v
11622	return s
11623}
11624
11625// SetS3Bucket sets the S3Bucket field's value.
11626func (s *SourceConfig) SetS3Bucket(v string) *SourceConfig {
11627	s.S3Bucket = &v
11628	return s
11629}
11630
11631// SetS3Key sets the S3Key field's value.
11632func (s *SourceConfig) SetS3Key(v string) *SourceConfig {
11633	s.S3Key = &v
11634	return s
11635}
11636
11637type StartSimulationJobBatchInput struct {
11638	_ struct{} `type:"structure"`
11639
11640	// The batch policy.
11641	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
11642
11643	// Unique, case-sensitive identifier that you provide to ensure the idempotency
11644	// of the request.
11645	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
11646
11647	// A list of simulation job requests to create in the batch.
11648	//
11649	// CreateSimulationJobRequests is a required field
11650	CreateSimulationJobRequests []*SimulationJobRequest `locationName:"createSimulationJobRequests" min:"1" type:"list" required:"true"`
11651
11652	// A map that contains tag keys and tag values that are attached to the deployment
11653	// job batch.
11654	Tags map[string]*string `locationName:"tags" type:"map"`
11655}
11656
11657// String returns the string representation
11658func (s StartSimulationJobBatchInput) String() string {
11659	return awsutil.Prettify(s)
11660}
11661
11662// GoString returns the string representation
11663func (s StartSimulationJobBatchInput) GoString() string {
11664	return s.String()
11665}
11666
11667// Validate inspects the fields of the type to determine if they are valid.
11668func (s *StartSimulationJobBatchInput) Validate() error {
11669	invalidParams := request.ErrInvalidParams{Context: "StartSimulationJobBatchInput"}
11670	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11671		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11672	}
11673	if s.CreateSimulationJobRequests == nil {
11674		invalidParams.Add(request.NewErrParamRequired("CreateSimulationJobRequests"))
11675	}
11676	if s.CreateSimulationJobRequests != nil && len(s.CreateSimulationJobRequests) < 1 {
11677		invalidParams.Add(request.NewErrParamMinLen("CreateSimulationJobRequests", 1))
11678	}
11679	if s.CreateSimulationJobRequests != nil {
11680		for i, v := range s.CreateSimulationJobRequests {
11681			if v == nil {
11682				continue
11683			}
11684			if err := v.Validate(); err != nil {
11685				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateSimulationJobRequests", i), err.(request.ErrInvalidParams))
11686			}
11687		}
11688	}
11689
11690	if invalidParams.Len() > 0 {
11691		return invalidParams
11692	}
11693	return nil
11694}
11695
11696// SetBatchPolicy sets the BatchPolicy field's value.
11697func (s *StartSimulationJobBatchInput) SetBatchPolicy(v *BatchPolicy) *StartSimulationJobBatchInput {
11698	s.BatchPolicy = v
11699	return s
11700}
11701
11702// SetClientRequestToken sets the ClientRequestToken field's value.
11703func (s *StartSimulationJobBatchInput) SetClientRequestToken(v string) *StartSimulationJobBatchInput {
11704	s.ClientRequestToken = &v
11705	return s
11706}
11707
11708// SetCreateSimulationJobRequests sets the CreateSimulationJobRequests field's value.
11709func (s *StartSimulationJobBatchInput) SetCreateSimulationJobRequests(v []*SimulationJobRequest) *StartSimulationJobBatchInput {
11710	s.CreateSimulationJobRequests = v
11711	return s
11712}
11713
11714// SetTags sets the Tags field's value.
11715func (s *StartSimulationJobBatchInput) SetTags(v map[string]*string) *StartSimulationJobBatchInput {
11716	s.Tags = v
11717	return s
11718}
11719
11720type StartSimulationJobBatchOutput struct {
11721	_ struct{} `type:"structure"`
11722
11723	// The Amazon Resource Name (arn) of the batch.
11724	Arn *string `locationName:"arn" min:"1" type:"string"`
11725
11726	// The batch policy.
11727	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
11728
11729	// Unique, case-sensitive identifier that you provide to ensure the idempotency
11730	// of the request.
11731	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
11732
11733	// The time, in milliseconds since the epoch, when the simulation job batch
11734	// was created.
11735	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11736
11737	// A list of created simulation job request summaries.
11738	CreatedRequests []*SimulationJobSummary `locationName:"createdRequests" type:"list"`
11739
11740	// A list of failed simulation job requests. The request failed to be created
11741	// into a simulation job. Failed requests do not have a simulation job ID.
11742	FailedRequests []*FailedCreateSimulationJobRequest `locationName:"failedRequests" type:"list"`
11743
11744	// The failure code if the simulation job batch failed.
11745	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobBatchErrorCode"`
11746
11747	// The reason the simulation job batch failed.
11748	FailureReason *string `locationName:"failureReason" type:"string"`
11749
11750	// A list of pending simulation job requests. These requests have not yet been
11751	// created into simulation jobs.
11752	PendingRequests []*SimulationJobRequest `locationName:"pendingRequests" min:"1" type:"list"`
11753
11754	// The status of the simulation job batch.
11755	//
11756	// Pending
11757	//
11758	// The simulation job batch request is pending.
11759	//
11760	// InProgress
11761	//
11762	// The simulation job batch is in progress.
11763	//
11764	// Failed
11765	//
11766	// The simulation job batch failed. One or more simulation job requests could
11767	// not be completed due to an internal failure (like InternalServiceError).
11768	// See failureCode and failureReason for more information.
11769	//
11770	// Completed
11771	//
11772	// The simulation batch job completed. A batch is complete when (1) there are
11773	// no pending simulation job requests in the batch and none of the failed simulation
11774	// job requests are due to InternalServiceError and (2) when all created simulation
11775	// jobs have reached a terminal state (for example, Completed or Failed).
11776	//
11777	// Canceled
11778	//
11779	// The simulation batch job was cancelled.
11780	//
11781	// Canceling
11782	//
11783	// The simulation batch job is being cancelled.
11784	//
11785	// Completing
11786	//
11787	// The simulation batch job is completing.
11788	//
11789	// TimingOut
11790	//
11791	// The simulation job batch is timing out.
11792	//
11793	// If a batch timing out, and there are pending requests that were failing due
11794	// to an internal failure (like InternalServiceError), the batch status will
11795	// be Failed. If there are no such failing request, the batch status will be
11796	// TimedOut.
11797	//
11798	// TimedOut
11799	//
11800	// The simulation batch job timed out.
11801	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
11802
11803	// A map that contains tag keys and tag values that are attached to the deployment
11804	// job batch.
11805	Tags map[string]*string `locationName:"tags" type:"map"`
11806}
11807
11808// String returns the string representation
11809func (s StartSimulationJobBatchOutput) String() string {
11810	return awsutil.Prettify(s)
11811}
11812
11813// GoString returns the string representation
11814func (s StartSimulationJobBatchOutput) GoString() string {
11815	return s.String()
11816}
11817
11818// SetArn sets the Arn field's value.
11819func (s *StartSimulationJobBatchOutput) SetArn(v string) *StartSimulationJobBatchOutput {
11820	s.Arn = &v
11821	return s
11822}
11823
11824// SetBatchPolicy sets the BatchPolicy field's value.
11825func (s *StartSimulationJobBatchOutput) SetBatchPolicy(v *BatchPolicy) *StartSimulationJobBatchOutput {
11826	s.BatchPolicy = v
11827	return s
11828}
11829
11830// SetClientRequestToken sets the ClientRequestToken field's value.
11831func (s *StartSimulationJobBatchOutput) SetClientRequestToken(v string) *StartSimulationJobBatchOutput {
11832	s.ClientRequestToken = &v
11833	return s
11834}
11835
11836// SetCreatedAt sets the CreatedAt field's value.
11837func (s *StartSimulationJobBatchOutput) SetCreatedAt(v time.Time) *StartSimulationJobBatchOutput {
11838	s.CreatedAt = &v
11839	return s
11840}
11841
11842// SetCreatedRequests sets the CreatedRequests field's value.
11843func (s *StartSimulationJobBatchOutput) SetCreatedRequests(v []*SimulationJobSummary) *StartSimulationJobBatchOutput {
11844	s.CreatedRequests = v
11845	return s
11846}
11847
11848// SetFailedRequests sets the FailedRequests field's value.
11849func (s *StartSimulationJobBatchOutput) SetFailedRequests(v []*FailedCreateSimulationJobRequest) *StartSimulationJobBatchOutput {
11850	s.FailedRequests = v
11851	return s
11852}
11853
11854// SetFailureCode sets the FailureCode field's value.
11855func (s *StartSimulationJobBatchOutput) SetFailureCode(v string) *StartSimulationJobBatchOutput {
11856	s.FailureCode = &v
11857	return s
11858}
11859
11860// SetFailureReason sets the FailureReason field's value.
11861func (s *StartSimulationJobBatchOutput) SetFailureReason(v string) *StartSimulationJobBatchOutput {
11862	s.FailureReason = &v
11863	return s
11864}
11865
11866// SetPendingRequests sets the PendingRequests field's value.
11867func (s *StartSimulationJobBatchOutput) SetPendingRequests(v []*SimulationJobRequest) *StartSimulationJobBatchOutput {
11868	s.PendingRequests = v
11869	return s
11870}
11871
11872// SetStatus sets the Status field's value.
11873func (s *StartSimulationJobBatchOutput) SetStatus(v string) *StartSimulationJobBatchOutput {
11874	s.Status = &v
11875	return s
11876}
11877
11878// SetTags sets the Tags field's value.
11879func (s *StartSimulationJobBatchOutput) SetTags(v map[string]*string) *StartSimulationJobBatchOutput {
11880	s.Tags = v
11881	return s
11882}
11883
11884type SyncDeploymentJobInput struct {
11885	_ struct{} `type:"structure"`
11886
11887	// Unique, case-sensitive identifier that you provide to ensure the idempotency
11888	// of the request.
11889	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
11890
11891	// The target fleet for the synchronization.
11892	//
11893	// Fleet is a required field
11894	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
11895}
11896
11897// String returns the string representation
11898func (s SyncDeploymentJobInput) String() string {
11899	return awsutil.Prettify(s)
11900}
11901
11902// GoString returns the string representation
11903func (s SyncDeploymentJobInput) GoString() string {
11904	return s.String()
11905}
11906
11907// Validate inspects the fields of the type to determine if they are valid.
11908func (s *SyncDeploymentJobInput) Validate() error {
11909	invalidParams := request.ErrInvalidParams{Context: "SyncDeploymentJobInput"}
11910	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
11911		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
11912	}
11913	if s.Fleet == nil {
11914		invalidParams.Add(request.NewErrParamRequired("Fleet"))
11915	}
11916	if s.Fleet != nil && len(*s.Fleet) < 1 {
11917		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
11918	}
11919
11920	if invalidParams.Len() > 0 {
11921		return invalidParams
11922	}
11923	return nil
11924}
11925
11926// SetClientRequestToken sets the ClientRequestToken field's value.
11927func (s *SyncDeploymentJobInput) SetClientRequestToken(v string) *SyncDeploymentJobInput {
11928	s.ClientRequestToken = &v
11929	return s
11930}
11931
11932// SetFleet sets the Fleet field's value.
11933func (s *SyncDeploymentJobInput) SetFleet(v string) *SyncDeploymentJobInput {
11934	s.Fleet = &v
11935	return s
11936}
11937
11938type SyncDeploymentJobOutput struct {
11939	_ struct{} `type:"structure"`
11940
11941	// The Amazon Resource Name (ARN) of the synchronization request.
11942	Arn *string `locationName:"arn" min:"1" type:"string"`
11943
11944	// The time, in milliseconds since the epoch, when the fleet was created.
11945	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11946
11947	// Information about the deployment application configurations.
11948	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
11949
11950	// Information about the deployment configuration.
11951	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
11952
11953	// The failure code if the job fails:
11954	//
11955	// InternalServiceError
11956	//
11957	// Internal service error.
11958	//
11959	// RobotApplicationCrash
11960	//
11961	// Robot application exited abnormally.
11962	//
11963	// SimulationApplicationCrash
11964	//
11965	// Simulation application exited abnormally.
11966	//
11967	// BadPermissionsRobotApplication
11968	//
11969	// Robot application bundle could not be downloaded.
11970	//
11971	// BadPermissionsSimulationApplication
11972	//
11973	// Simulation application bundle could not be downloaded.
11974	//
11975	// BadPermissionsS3Output
11976	//
11977	// Unable to publish outputs to customer-provided S3 bucket.
11978	//
11979	// BadPermissionsCloudwatchLogs
11980	//
11981	// Unable to publish logs to customer-provided CloudWatch Logs resource.
11982	//
11983	// SubnetIpLimitExceeded
11984	//
11985	// Subnet IP limit exceeded.
11986	//
11987	// ENILimitExceeded
11988	//
11989	// ENI limit exceeded.
11990	//
11991	// BadPermissionsUserCredentials
11992	//
11993	// Unable to use the Role provided.
11994	//
11995	// InvalidBundleRobotApplication
11996	//
11997	// Robot bundle cannot be extracted (invalid format, bundling error, or other
11998	// issue).
11999	//
12000	// InvalidBundleSimulationApplication
12001	//
12002	// Simulation bundle cannot be extracted (invalid format, bundling error, or
12003	// other issue).
12004	//
12005	// RobotApplicationVersionMismatchedEtag
12006	//
12007	// Etag for RobotApplication does not match value during version creation.
12008	//
12009	// SimulationApplicationVersionMismatchedEtag
12010	//
12011	// Etag for SimulationApplication does not match value during version creation.
12012	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
12013
12014	// The failure reason if the job fails.
12015	FailureReason *string `locationName:"failureReason" type:"string"`
12016
12017	// The Amazon Resource Name (ARN) of the fleet.
12018	Fleet *string `locationName:"fleet" min:"1" type:"string"`
12019
12020	// The status of the synchronization job.
12021	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
12022}
12023
12024// String returns the string representation
12025func (s SyncDeploymentJobOutput) String() string {
12026	return awsutil.Prettify(s)
12027}
12028
12029// GoString returns the string representation
12030func (s SyncDeploymentJobOutput) GoString() string {
12031	return s.String()
12032}
12033
12034// SetArn sets the Arn field's value.
12035func (s *SyncDeploymentJobOutput) SetArn(v string) *SyncDeploymentJobOutput {
12036	s.Arn = &v
12037	return s
12038}
12039
12040// SetCreatedAt sets the CreatedAt field's value.
12041func (s *SyncDeploymentJobOutput) SetCreatedAt(v time.Time) *SyncDeploymentJobOutput {
12042	s.CreatedAt = &v
12043	return s
12044}
12045
12046// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
12047func (s *SyncDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *SyncDeploymentJobOutput {
12048	s.DeploymentApplicationConfigs = v
12049	return s
12050}
12051
12052// SetDeploymentConfig sets the DeploymentConfig field's value.
12053func (s *SyncDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *SyncDeploymentJobOutput {
12054	s.DeploymentConfig = v
12055	return s
12056}
12057
12058// SetFailureCode sets the FailureCode field's value.
12059func (s *SyncDeploymentJobOutput) SetFailureCode(v string) *SyncDeploymentJobOutput {
12060	s.FailureCode = &v
12061	return s
12062}
12063
12064// SetFailureReason sets the FailureReason field's value.
12065func (s *SyncDeploymentJobOutput) SetFailureReason(v string) *SyncDeploymentJobOutput {
12066	s.FailureReason = &v
12067	return s
12068}
12069
12070// SetFleet sets the Fleet field's value.
12071func (s *SyncDeploymentJobOutput) SetFleet(v string) *SyncDeploymentJobOutput {
12072	s.Fleet = &v
12073	return s
12074}
12075
12076// SetStatus sets the Status field's value.
12077func (s *SyncDeploymentJobOutput) SetStatus(v string) *SyncDeploymentJobOutput {
12078	s.Status = &v
12079	return s
12080}
12081
12082type TagResourceInput struct {
12083	_ struct{} `type:"structure"`
12084
12085	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.
12086	//
12087	// ResourceArn is a required field
12088	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
12089
12090	// A map that contains tag keys and tag values that are attached to the resource.
12091	//
12092	// Tags is a required field
12093	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
12094}
12095
12096// String returns the string representation
12097func (s TagResourceInput) String() string {
12098	return awsutil.Prettify(s)
12099}
12100
12101// GoString returns the string representation
12102func (s TagResourceInput) GoString() string {
12103	return s.String()
12104}
12105
12106// Validate inspects the fields of the type to determine if they are valid.
12107func (s *TagResourceInput) Validate() error {
12108	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
12109	if s.ResourceArn == nil {
12110		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12111	}
12112	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12113		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12114	}
12115	if s.Tags == nil {
12116		invalidParams.Add(request.NewErrParamRequired("Tags"))
12117	}
12118
12119	if invalidParams.Len() > 0 {
12120		return invalidParams
12121	}
12122	return nil
12123}
12124
12125// SetResourceArn sets the ResourceArn field's value.
12126func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
12127	s.ResourceArn = &v
12128	return s
12129}
12130
12131// SetTags sets the Tags field's value.
12132func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
12133	s.Tags = v
12134	return s
12135}
12136
12137type TagResourceOutput struct {
12138	_ struct{} `type:"structure"`
12139}
12140
12141// String returns the string representation
12142func (s TagResourceOutput) String() string {
12143	return awsutil.Prettify(s)
12144}
12145
12146// GoString returns the string representation
12147func (s TagResourceOutput) GoString() string {
12148	return s.String()
12149}
12150
12151// AWS RoboMaker is temporarily unable to process the request. Try your call
12152// again.
12153type ThrottlingException struct {
12154	_            struct{}                  `type:"structure"`
12155	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12156
12157	Message_ *string `locationName:"message" type:"string"`
12158}
12159
12160// String returns the string representation
12161func (s ThrottlingException) String() string {
12162	return awsutil.Prettify(s)
12163}
12164
12165// GoString returns the string representation
12166func (s ThrottlingException) GoString() string {
12167	return s.String()
12168}
12169
12170func newErrorThrottlingException(v protocol.ResponseMetadata) error {
12171	return &ThrottlingException{
12172		RespMetadata: v,
12173	}
12174}
12175
12176// Code returns the exception type name.
12177func (s *ThrottlingException) Code() string {
12178	return "ThrottlingException"
12179}
12180
12181// Message returns the exception's message.
12182func (s *ThrottlingException) Message() string {
12183	if s.Message_ != nil {
12184		return *s.Message_
12185	}
12186	return ""
12187}
12188
12189// OrigErr always returns nil, satisfies awserr.Error interface.
12190func (s *ThrottlingException) OrigErr() error {
12191	return nil
12192}
12193
12194func (s *ThrottlingException) Error() string {
12195	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12196}
12197
12198// Status code returns the HTTP status code for the request's response error.
12199func (s *ThrottlingException) StatusCode() int {
12200	return s.RespMetadata.StatusCode
12201}
12202
12203// RequestID returns the service's response RequestID for request.
12204func (s *ThrottlingException) RequestID() string {
12205	return s.RespMetadata.RequestID
12206}
12207
12208type UntagResourceInput struct {
12209	_ struct{} `type:"structure"`
12210
12211	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing
12212	// tags.
12213	//
12214	// ResourceArn is a required field
12215	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
12216
12217	// A map that contains tag keys and tag values that will be unattached from
12218	// the resource.
12219	//
12220	// TagKeys is a required field
12221	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
12222}
12223
12224// String returns the string representation
12225func (s UntagResourceInput) String() string {
12226	return awsutil.Prettify(s)
12227}
12228
12229// GoString returns the string representation
12230func (s UntagResourceInput) GoString() string {
12231	return s.String()
12232}
12233
12234// Validate inspects the fields of the type to determine if they are valid.
12235func (s *UntagResourceInput) Validate() error {
12236	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
12237	if s.ResourceArn == nil {
12238		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12239	}
12240	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12241		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12242	}
12243	if s.TagKeys == nil {
12244		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12245	}
12246
12247	if invalidParams.Len() > 0 {
12248		return invalidParams
12249	}
12250	return nil
12251}
12252
12253// SetResourceArn sets the ResourceArn field's value.
12254func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
12255	s.ResourceArn = &v
12256	return s
12257}
12258
12259// SetTagKeys sets the TagKeys field's value.
12260func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12261	s.TagKeys = v
12262	return s
12263}
12264
12265type UntagResourceOutput struct {
12266	_ struct{} `type:"structure"`
12267}
12268
12269// String returns the string representation
12270func (s UntagResourceOutput) String() string {
12271	return awsutil.Prettify(s)
12272}
12273
12274// GoString returns the string representation
12275func (s UntagResourceOutput) GoString() string {
12276	return s.String()
12277}
12278
12279type UpdateRobotApplicationInput struct {
12280	_ struct{} `type:"structure"`
12281
12282	// The application information for the robot application.
12283	//
12284	// Application is a required field
12285	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
12286
12287	// The revision id for the robot application.
12288	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
12289
12290	// The robot software suite (ROS distribution) used by the robot application.
12291	//
12292	// RobotSoftwareSuite is a required field
12293	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
12294
12295	// The sources of the robot application.
12296	//
12297	// Sources is a required field
12298	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
12299}
12300
12301// String returns the string representation
12302func (s UpdateRobotApplicationInput) String() string {
12303	return awsutil.Prettify(s)
12304}
12305
12306// GoString returns the string representation
12307func (s UpdateRobotApplicationInput) GoString() string {
12308	return s.String()
12309}
12310
12311// Validate inspects the fields of the type to determine if they are valid.
12312func (s *UpdateRobotApplicationInput) Validate() error {
12313	invalidParams := request.ErrInvalidParams{Context: "UpdateRobotApplicationInput"}
12314	if s.Application == nil {
12315		invalidParams.Add(request.NewErrParamRequired("Application"))
12316	}
12317	if s.Application != nil && len(*s.Application) < 1 {
12318		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
12319	}
12320	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
12321		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
12322	}
12323	if s.RobotSoftwareSuite == nil {
12324		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
12325	}
12326	if s.Sources == nil {
12327		invalidParams.Add(request.NewErrParamRequired("Sources"))
12328	}
12329	if s.Sources != nil {
12330		for i, v := range s.Sources {
12331			if v == nil {
12332				continue
12333			}
12334			if err := v.Validate(); err != nil {
12335				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
12336			}
12337		}
12338	}
12339
12340	if invalidParams.Len() > 0 {
12341		return invalidParams
12342	}
12343	return nil
12344}
12345
12346// SetApplication sets the Application field's value.
12347func (s *UpdateRobotApplicationInput) SetApplication(v string) *UpdateRobotApplicationInput {
12348	s.Application = &v
12349	return s
12350}
12351
12352// SetCurrentRevisionId sets the CurrentRevisionId field's value.
12353func (s *UpdateRobotApplicationInput) SetCurrentRevisionId(v string) *UpdateRobotApplicationInput {
12354	s.CurrentRevisionId = &v
12355	return s
12356}
12357
12358// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
12359func (s *UpdateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationInput {
12360	s.RobotSoftwareSuite = v
12361	return s
12362}
12363
12364// SetSources sets the Sources field's value.
12365func (s *UpdateRobotApplicationInput) SetSources(v []*SourceConfig) *UpdateRobotApplicationInput {
12366	s.Sources = v
12367	return s
12368}
12369
12370type UpdateRobotApplicationOutput struct {
12371	_ struct{} `type:"structure"`
12372
12373	// The Amazon Resource Name (ARN) of the updated robot application.
12374	Arn *string `locationName:"arn" min:"1" type:"string"`
12375
12376	// The time, in milliseconds since the epoch, when the robot application was
12377	// last updated.
12378	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
12379
12380	// The name of the robot application.
12381	Name *string `locationName:"name" min:"1" type:"string"`
12382
12383	// The revision id of the robot application.
12384	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
12385
12386	// The robot software suite (ROS distribution) used by the robot application.
12387	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
12388
12389	// The sources of the robot application.
12390	Sources []*Source `locationName:"sources" type:"list"`
12391
12392	// The version of the robot application.
12393	Version *string `locationName:"version" min:"1" type:"string"`
12394}
12395
12396// String returns the string representation
12397func (s UpdateRobotApplicationOutput) String() string {
12398	return awsutil.Prettify(s)
12399}
12400
12401// GoString returns the string representation
12402func (s UpdateRobotApplicationOutput) GoString() string {
12403	return s.String()
12404}
12405
12406// SetArn sets the Arn field's value.
12407func (s *UpdateRobotApplicationOutput) SetArn(v string) *UpdateRobotApplicationOutput {
12408	s.Arn = &v
12409	return s
12410}
12411
12412// SetLastUpdatedAt sets the LastUpdatedAt field's value.
12413func (s *UpdateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateRobotApplicationOutput {
12414	s.LastUpdatedAt = &v
12415	return s
12416}
12417
12418// SetName sets the Name field's value.
12419func (s *UpdateRobotApplicationOutput) SetName(v string) *UpdateRobotApplicationOutput {
12420	s.Name = &v
12421	return s
12422}
12423
12424// SetRevisionId sets the RevisionId field's value.
12425func (s *UpdateRobotApplicationOutput) SetRevisionId(v string) *UpdateRobotApplicationOutput {
12426	s.RevisionId = &v
12427	return s
12428}
12429
12430// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
12431func (s *UpdateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationOutput {
12432	s.RobotSoftwareSuite = v
12433	return s
12434}
12435
12436// SetSources sets the Sources field's value.
12437func (s *UpdateRobotApplicationOutput) SetSources(v []*Source) *UpdateRobotApplicationOutput {
12438	s.Sources = v
12439	return s
12440}
12441
12442// SetVersion sets the Version field's value.
12443func (s *UpdateRobotApplicationOutput) SetVersion(v string) *UpdateRobotApplicationOutput {
12444	s.Version = &v
12445	return s
12446}
12447
12448type UpdateSimulationApplicationInput struct {
12449	_ struct{} `type:"structure"`
12450
12451	// The application information for the simulation application.
12452	//
12453	// Application is a required field
12454	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
12455
12456	// The revision id for the robot application.
12457	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
12458
12459	// The rendering engine for the simulation application.
12460	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
12461
12462	// Information about the robot software suite (ROS distribution).
12463	//
12464	// RobotSoftwareSuite is a required field
12465	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
12466
12467	// The simulation software suite used by the simulation application.
12468	//
12469	// SimulationSoftwareSuite is a required field
12470	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
12471
12472	// The sources of the simulation application.
12473	//
12474	// Sources is a required field
12475	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
12476}
12477
12478// String returns the string representation
12479func (s UpdateSimulationApplicationInput) String() string {
12480	return awsutil.Prettify(s)
12481}
12482
12483// GoString returns the string representation
12484func (s UpdateSimulationApplicationInput) GoString() string {
12485	return s.String()
12486}
12487
12488// Validate inspects the fields of the type to determine if they are valid.
12489func (s *UpdateSimulationApplicationInput) Validate() error {
12490	invalidParams := request.ErrInvalidParams{Context: "UpdateSimulationApplicationInput"}
12491	if s.Application == nil {
12492		invalidParams.Add(request.NewErrParamRequired("Application"))
12493	}
12494	if s.Application != nil && len(*s.Application) < 1 {
12495		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
12496	}
12497	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
12498		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
12499	}
12500	if s.RobotSoftwareSuite == nil {
12501		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
12502	}
12503	if s.SimulationSoftwareSuite == nil {
12504		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
12505	}
12506	if s.Sources == nil {
12507		invalidParams.Add(request.NewErrParamRequired("Sources"))
12508	}
12509	if s.RenderingEngine != nil {
12510		if err := s.RenderingEngine.Validate(); err != nil {
12511			invalidParams.AddNested("RenderingEngine", err.(request.ErrInvalidParams))
12512		}
12513	}
12514	if s.Sources != nil {
12515		for i, v := range s.Sources {
12516			if v == nil {
12517				continue
12518			}
12519			if err := v.Validate(); err != nil {
12520				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
12521			}
12522		}
12523	}
12524
12525	if invalidParams.Len() > 0 {
12526		return invalidParams
12527	}
12528	return nil
12529}
12530
12531// SetApplication sets the Application field's value.
12532func (s *UpdateSimulationApplicationInput) SetApplication(v string) *UpdateSimulationApplicationInput {
12533	s.Application = &v
12534	return s
12535}
12536
12537// SetCurrentRevisionId sets the CurrentRevisionId field's value.
12538func (s *UpdateSimulationApplicationInput) SetCurrentRevisionId(v string) *UpdateSimulationApplicationInput {
12539	s.CurrentRevisionId = &v
12540	return s
12541}
12542
12543// SetRenderingEngine sets the RenderingEngine field's value.
12544func (s *UpdateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationInput {
12545	s.RenderingEngine = v
12546	return s
12547}
12548
12549// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
12550func (s *UpdateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationInput {
12551	s.RobotSoftwareSuite = v
12552	return s
12553}
12554
12555// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
12556func (s *UpdateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationInput {
12557	s.SimulationSoftwareSuite = v
12558	return s
12559}
12560
12561// SetSources sets the Sources field's value.
12562func (s *UpdateSimulationApplicationInput) SetSources(v []*SourceConfig) *UpdateSimulationApplicationInput {
12563	s.Sources = v
12564	return s
12565}
12566
12567type UpdateSimulationApplicationOutput struct {
12568	_ struct{} `type:"structure"`
12569
12570	// The Amazon Resource Name (ARN) of the updated simulation application.
12571	Arn *string `locationName:"arn" min:"1" type:"string"`
12572
12573	// The time, in milliseconds since the epoch, when the simulation application
12574	// was last updated.
12575	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
12576
12577	// The name of the simulation application.
12578	Name *string `locationName:"name" min:"1" type:"string"`
12579
12580	// The rendering engine for the simulation application.
12581	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
12582
12583	// The revision id of the simulation application.
12584	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
12585
12586	// Information about the robot software suite (ROS distribution).
12587	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
12588
12589	// The simulation software suite used by the simulation application.
12590	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
12591
12592	// The sources of the simulation application.
12593	Sources []*Source `locationName:"sources" type:"list"`
12594
12595	// The version of the robot application.
12596	Version *string `locationName:"version" min:"1" type:"string"`
12597}
12598
12599// String returns the string representation
12600func (s UpdateSimulationApplicationOutput) String() string {
12601	return awsutil.Prettify(s)
12602}
12603
12604// GoString returns the string representation
12605func (s UpdateSimulationApplicationOutput) GoString() string {
12606	return s.String()
12607}
12608
12609// SetArn sets the Arn field's value.
12610func (s *UpdateSimulationApplicationOutput) SetArn(v string) *UpdateSimulationApplicationOutput {
12611	s.Arn = &v
12612	return s
12613}
12614
12615// SetLastUpdatedAt sets the LastUpdatedAt field's value.
12616func (s *UpdateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateSimulationApplicationOutput {
12617	s.LastUpdatedAt = &v
12618	return s
12619}
12620
12621// SetName sets the Name field's value.
12622func (s *UpdateSimulationApplicationOutput) SetName(v string) *UpdateSimulationApplicationOutput {
12623	s.Name = &v
12624	return s
12625}
12626
12627// SetRenderingEngine sets the RenderingEngine field's value.
12628func (s *UpdateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationOutput {
12629	s.RenderingEngine = v
12630	return s
12631}
12632
12633// SetRevisionId sets the RevisionId field's value.
12634func (s *UpdateSimulationApplicationOutput) SetRevisionId(v string) *UpdateSimulationApplicationOutput {
12635	s.RevisionId = &v
12636	return s
12637}
12638
12639// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
12640func (s *UpdateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationOutput {
12641	s.RobotSoftwareSuite = v
12642	return s
12643}
12644
12645// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
12646func (s *UpdateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationOutput {
12647	s.SimulationSoftwareSuite = v
12648	return s
12649}
12650
12651// SetSources sets the Sources field's value.
12652func (s *UpdateSimulationApplicationOutput) SetSources(v []*Source) *UpdateSimulationApplicationOutput {
12653	s.Sources = v
12654	return s
12655}
12656
12657// SetVersion sets the Version field's value.
12658func (s *UpdateSimulationApplicationOutput) SetVersion(v string) *UpdateSimulationApplicationOutput {
12659	s.Version = &v
12660	return s
12661}
12662
12663// If your simulation job accesses resources in a VPC, you provide this parameter
12664// identifying the list of security group IDs and subnet IDs. These must belong
12665// to the same VPC. You must provide at least one security group and two subnet
12666// IDs.
12667type VPCConfig struct {
12668	_ struct{} `type:"structure"`
12669
12670	// A boolean indicating whether to assign a public IP address.
12671	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
12672
12673	// A list of one or more security groups IDs in your VPC.
12674	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
12675
12676	// A list of one or more subnet IDs in your VPC.
12677	//
12678	// Subnets is a required field
12679	Subnets []*string `locationName:"subnets" min:"1" type:"list" required:"true"`
12680}
12681
12682// String returns the string representation
12683func (s VPCConfig) String() string {
12684	return awsutil.Prettify(s)
12685}
12686
12687// GoString returns the string representation
12688func (s VPCConfig) GoString() string {
12689	return s.String()
12690}
12691
12692// Validate inspects the fields of the type to determine if they are valid.
12693func (s *VPCConfig) Validate() error {
12694	invalidParams := request.ErrInvalidParams{Context: "VPCConfig"}
12695	if s.SecurityGroups != nil && len(s.SecurityGroups) < 1 {
12696		invalidParams.Add(request.NewErrParamMinLen("SecurityGroups", 1))
12697	}
12698	if s.Subnets == nil {
12699		invalidParams.Add(request.NewErrParamRequired("Subnets"))
12700	}
12701	if s.Subnets != nil && len(s.Subnets) < 1 {
12702		invalidParams.Add(request.NewErrParamMinLen("Subnets", 1))
12703	}
12704
12705	if invalidParams.Len() > 0 {
12706		return invalidParams
12707	}
12708	return nil
12709}
12710
12711// SetAssignPublicIp sets the AssignPublicIp field's value.
12712func (s *VPCConfig) SetAssignPublicIp(v bool) *VPCConfig {
12713	s.AssignPublicIp = &v
12714	return s
12715}
12716
12717// SetSecurityGroups sets the SecurityGroups field's value.
12718func (s *VPCConfig) SetSecurityGroups(v []*string) *VPCConfig {
12719	s.SecurityGroups = v
12720	return s
12721}
12722
12723// SetSubnets sets the Subnets field's value.
12724func (s *VPCConfig) SetSubnets(v []*string) *VPCConfig {
12725	s.Subnets = v
12726	return s
12727}
12728
12729// VPC configuration associated with your simulation job.
12730type VPCConfigResponse struct {
12731	_ struct{} `type:"structure"`
12732
12733	// A boolean indicating if a public IP was assigned.
12734	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
12735
12736	// A list of security group IDs associated with the simulation job.
12737	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
12738
12739	// A list of subnet IDs associated with the simulation job.
12740	Subnets []*string `locationName:"subnets" min:"1" type:"list"`
12741
12742	// The VPC ID associated with your simulation job.
12743	VpcId *string `locationName:"vpcId" type:"string"`
12744}
12745
12746// String returns the string representation
12747func (s VPCConfigResponse) String() string {
12748	return awsutil.Prettify(s)
12749}
12750
12751// GoString returns the string representation
12752func (s VPCConfigResponse) GoString() string {
12753	return s.String()
12754}
12755
12756// SetAssignPublicIp sets the AssignPublicIp field's value.
12757func (s *VPCConfigResponse) SetAssignPublicIp(v bool) *VPCConfigResponse {
12758	s.AssignPublicIp = &v
12759	return s
12760}
12761
12762// SetSecurityGroups sets the SecurityGroups field's value.
12763func (s *VPCConfigResponse) SetSecurityGroups(v []*string) *VPCConfigResponse {
12764	s.SecurityGroups = v
12765	return s
12766}
12767
12768// SetSubnets sets the Subnets field's value.
12769func (s *VPCConfigResponse) SetSubnets(v []*string) *VPCConfigResponse {
12770	s.Subnets = v
12771	return s
12772}
12773
12774// SetVpcId sets the VpcId field's value.
12775func (s *VPCConfigResponse) SetVpcId(v string) *VPCConfigResponse {
12776	s.VpcId = &v
12777	return s
12778}
12779
12780const (
12781	// ArchitectureX8664 is a Architecture enum value
12782	ArchitectureX8664 = "X86_64"
12783
12784	// ArchitectureArm64 is a Architecture enum value
12785	ArchitectureArm64 = "ARM64"
12786
12787	// ArchitectureArmhf is a Architecture enum value
12788	ArchitectureArmhf = "ARMHF"
12789)
12790
12791const (
12792	// DeploymentJobErrorCodeResourceNotFound is a DeploymentJobErrorCode enum value
12793	DeploymentJobErrorCodeResourceNotFound = "ResourceNotFound"
12794
12795	// DeploymentJobErrorCodeEnvironmentSetupError is a DeploymentJobErrorCode enum value
12796	DeploymentJobErrorCodeEnvironmentSetupError = "EnvironmentSetupError"
12797
12798	// DeploymentJobErrorCodeEtagMismatch is a DeploymentJobErrorCode enum value
12799	DeploymentJobErrorCodeEtagMismatch = "EtagMismatch"
12800
12801	// DeploymentJobErrorCodeFailureThresholdBreached is a DeploymentJobErrorCode enum value
12802	DeploymentJobErrorCodeFailureThresholdBreached = "FailureThresholdBreached"
12803
12804	// DeploymentJobErrorCodeRobotDeploymentAborted is a DeploymentJobErrorCode enum value
12805	DeploymentJobErrorCodeRobotDeploymentAborted = "RobotDeploymentAborted"
12806
12807	// DeploymentJobErrorCodeRobotDeploymentNoResponse is a DeploymentJobErrorCode enum value
12808	DeploymentJobErrorCodeRobotDeploymentNoResponse = "RobotDeploymentNoResponse"
12809
12810	// DeploymentJobErrorCodeRobotAgentConnectionTimeout is a DeploymentJobErrorCode enum value
12811	DeploymentJobErrorCodeRobotAgentConnectionTimeout = "RobotAgentConnectionTimeout"
12812
12813	// DeploymentJobErrorCodeGreengrassDeploymentFailed is a DeploymentJobErrorCode enum value
12814	DeploymentJobErrorCodeGreengrassDeploymentFailed = "GreengrassDeploymentFailed"
12815
12816	// DeploymentJobErrorCodeInvalidGreengrassGroup is a DeploymentJobErrorCode enum value
12817	DeploymentJobErrorCodeInvalidGreengrassGroup = "InvalidGreengrassGroup"
12818
12819	// DeploymentJobErrorCodeMissingRobotArchitecture is a DeploymentJobErrorCode enum value
12820	DeploymentJobErrorCodeMissingRobotArchitecture = "MissingRobotArchitecture"
12821
12822	// DeploymentJobErrorCodeMissingRobotApplicationArchitecture is a DeploymentJobErrorCode enum value
12823	DeploymentJobErrorCodeMissingRobotApplicationArchitecture = "MissingRobotApplicationArchitecture"
12824
12825	// DeploymentJobErrorCodeMissingRobotDeploymentResource is a DeploymentJobErrorCode enum value
12826	DeploymentJobErrorCodeMissingRobotDeploymentResource = "MissingRobotDeploymentResource"
12827
12828	// DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist is a DeploymentJobErrorCode enum value
12829	DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist = "GreengrassGroupVersionDoesNotExist"
12830
12831	// DeploymentJobErrorCodeLambdaDeleted is a DeploymentJobErrorCode enum value
12832	DeploymentJobErrorCodeLambdaDeleted = "LambdaDeleted"
12833
12834	// DeploymentJobErrorCodeExtractingBundleFailure is a DeploymentJobErrorCode enum value
12835	DeploymentJobErrorCodeExtractingBundleFailure = "ExtractingBundleFailure"
12836
12837	// DeploymentJobErrorCodePreLaunchFileFailure is a DeploymentJobErrorCode enum value
12838	DeploymentJobErrorCodePreLaunchFileFailure = "PreLaunchFileFailure"
12839
12840	// DeploymentJobErrorCodePostLaunchFileFailure is a DeploymentJobErrorCode enum value
12841	DeploymentJobErrorCodePostLaunchFileFailure = "PostLaunchFileFailure"
12842
12843	// DeploymentJobErrorCodeBadPermissionError is a DeploymentJobErrorCode enum value
12844	DeploymentJobErrorCodeBadPermissionError = "BadPermissionError"
12845
12846	// DeploymentJobErrorCodeDownloadConditionFailed is a DeploymentJobErrorCode enum value
12847	DeploymentJobErrorCodeDownloadConditionFailed = "DownloadConditionFailed"
12848
12849	// DeploymentJobErrorCodeInternalServerError is a DeploymentJobErrorCode enum value
12850	DeploymentJobErrorCodeInternalServerError = "InternalServerError"
12851)
12852
12853const (
12854	// DeploymentStatusPending is a DeploymentStatus enum value
12855	DeploymentStatusPending = "Pending"
12856
12857	// DeploymentStatusPreparing is a DeploymentStatus enum value
12858	DeploymentStatusPreparing = "Preparing"
12859
12860	// DeploymentStatusInProgress is a DeploymentStatus enum value
12861	DeploymentStatusInProgress = "InProgress"
12862
12863	// DeploymentStatusFailed is a DeploymentStatus enum value
12864	DeploymentStatusFailed = "Failed"
12865
12866	// DeploymentStatusSucceeded is a DeploymentStatus enum value
12867	DeploymentStatusSucceeded = "Succeeded"
12868
12869	// DeploymentStatusCanceled is a DeploymentStatus enum value
12870	DeploymentStatusCanceled = "Canceled"
12871)
12872
12873const (
12874	// FailureBehaviorFail is a FailureBehavior enum value
12875	FailureBehaviorFail = "Fail"
12876
12877	// FailureBehaviorContinue is a FailureBehavior enum value
12878	FailureBehaviorContinue = "Continue"
12879)
12880
12881const (
12882	// RenderingEngineTypeOgre is a RenderingEngineType enum value
12883	RenderingEngineTypeOgre = "OGRE"
12884)
12885
12886const (
12887	// RobotDeploymentStepValidating is a RobotDeploymentStep enum value
12888	RobotDeploymentStepValidating = "Validating"
12889
12890	// RobotDeploymentStepDownloadingExtracting is a RobotDeploymentStep enum value
12891	RobotDeploymentStepDownloadingExtracting = "DownloadingExtracting"
12892
12893	// RobotDeploymentStepExecutingDownloadCondition is a RobotDeploymentStep enum value
12894	RobotDeploymentStepExecutingDownloadCondition = "ExecutingDownloadCondition"
12895
12896	// RobotDeploymentStepExecutingPreLaunch is a RobotDeploymentStep enum value
12897	RobotDeploymentStepExecutingPreLaunch = "ExecutingPreLaunch"
12898
12899	// RobotDeploymentStepLaunching is a RobotDeploymentStep enum value
12900	RobotDeploymentStepLaunching = "Launching"
12901
12902	// RobotDeploymentStepExecutingPostLaunch is a RobotDeploymentStep enum value
12903	RobotDeploymentStepExecutingPostLaunch = "ExecutingPostLaunch"
12904
12905	// RobotDeploymentStepFinished is a RobotDeploymentStep enum value
12906	RobotDeploymentStepFinished = "Finished"
12907)
12908
12909const (
12910	// RobotSoftwareSuiteTypeRos is a RobotSoftwareSuiteType enum value
12911	RobotSoftwareSuiteTypeRos = "ROS"
12912
12913	// RobotSoftwareSuiteTypeRos2 is a RobotSoftwareSuiteType enum value
12914	RobotSoftwareSuiteTypeRos2 = "ROS2"
12915)
12916
12917const (
12918	// RobotSoftwareSuiteVersionTypeKinetic is a RobotSoftwareSuiteVersionType enum value
12919	RobotSoftwareSuiteVersionTypeKinetic = "Kinetic"
12920
12921	// RobotSoftwareSuiteVersionTypeMelodic is a RobotSoftwareSuiteVersionType enum value
12922	RobotSoftwareSuiteVersionTypeMelodic = "Melodic"
12923
12924	// RobotSoftwareSuiteVersionTypeDashing is a RobotSoftwareSuiteVersionType enum value
12925	RobotSoftwareSuiteVersionTypeDashing = "Dashing"
12926)
12927
12928const (
12929	// RobotStatusAvailable is a RobotStatus enum value
12930	RobotStatusAvailable = "Available"
12931
12932	// RobotStatusRegistered is a RobotStatus enum value
12933	RobotStatusRegistered = "Registered"
12934
12935	// RobotStatusPendingNewDeployment is a RobotStatus enum value
12936	RobotStatusPendingNewDeployment = "PendingNewDeployment"
12937
12938	// RobotStatusDeploying is a RobotStatus enum value
12939	RobotStatusDeploying = "Deploying"
12940
12941	// RobotStatusFailed is a RobotStatus enum value
12942	RobotStatusFailed = "Failed"
12943
12944	// RobotStatusInSync is a RobotStatus enum value
12945	RobotStatusInSync = "InSync"
12946
12947	// RobotStatusNoResponse is a RobotStatus enum value
12948	RobotStatusNoResponse = "NoResponse"
12949)
12950
12951const (
12952	// SimulationJobBatchErrorCodeInternalServiceError is a SimulationJobBatchErrorCode enum value
12953	SimulationJobBatchErrorCodeInternalServiceError = "InternalServiceError"
12954)
12955
12956const (
12957	// SimulationJobBatchStatusPending is a SimulationJobBatchStatus enum value
12958	SimulationJobBatchStatusPending = "Pending"
12959
12960	// SimulationJobBatchStatusInProgress is a SimulationJobBatchStatus enum value
12961	SimulationJobBatchStatusInProgress = "InProgress"
12962
12963	// SimulationJobBatchStatusFailed is a SimulationJobBatchStatus enum value
12964	SimulationJobBatchStatusFailed = "Failed"
12965
12966	// SimulationJobBatchStatusCompleted is a SimulationJobBatchStatus enum value
12967	SimulationJobBatchStatusCompleted = "Completed"
12968
12969	// SimulationJobBatchStatusCanceled is a SimulationJobBatchStatus enum value
12970	SimulationJobBatchStatusCanceled = "Canceled"
12971
12972	// SimulationJobBatchStatusCanceling is a SimulationJobBatchStatus enum value
12973	SimulationJobBatchStatusCanceling = "Canceling"
12974
12975	// SimulationJobBatchStatusCompleting is a SimulationJobBatchStatus enum value
12976	SimulationJobBatchStatusCompleting = "Completing"
12977
12978	// SimulationJobBatchStatusTimingOut is a SimulationJobBatchStatus enum value
12979	SimulationJobBatchStatusTimingOut = "TimingOut"
12980
12981	// SimulationJobBatchStatusTimedOut is a SimulationJobBatchStatus enum value
12982	SimulationJobBatchStatusTimedOut = "TimedOut"
12983)
12984
12985const (
12986	// SimulationJobErrorCodeInternalServiceError is a SimulationJobErrorCode enum value
12987	SimulationJobErrorCodeInternalServiceError = "InternalServiceError"
12988
12989	// SimulationJobErrorCodeRobotApplicationCrash is a SimulationJobErrorCode enum value
12990	SimulationJobErrorCodeRobotApplicationCrash = "RobotApplicationCrash"
12991
12992	// SimulationJobErrorCodeSimulationApplicationCrash is a SimulationJobErrorCode enum value
12993	SimulationJobErrorCodeSimulationApplicationCrash = "SimulationApplicationCrash"
12994
12995	// SimulationJobErrorCodeBadPermissionsRobotApplication is a SimulationJobErrorCode enum value
12996	SimulationJobErrorCodeBadPermissionsRobotApplication = "BadPermissionsRobotApplication"
12997
12998	// SimulationJobErrorCodeBadPermissionsSimulationApplication is a SimulationJobErrorCode enum value
12999	SimulationJobErrorCodeBadPermissionsSimulationApplication = "BadPermissionsSimulationApplication"
13000
13001	// SimulationJobErrorCodeBadPermissionsS3object is a SimulationJobErrorCode enum value
13002	SimulationJobErrorCodeBadPermissionsS3object = "BadPermissionsS3Object"
13003
13004	// SimulationJobErrorCodeBadPermissionsS3output is a SimulationJobErrorCode enum value
13005	SimulationJobErrorCodeBadPermissionsS3output = "BadPermissionsS3Output"
13006
13007	// SimulationJobErrorCodeBadPermissionsCloudwatchLogs is a SimulationJobErrorCode enum value
13008	SimulationJobErrorCodeBadPermissionsCloudwatchLogs = "BadPermissionsCloudwatchLogs"
13009
13010	// SimulationJobErrorCodeSubnetIpLimitExceeded is a SimulationJobErrorCode enum value
13011	SimulationJobErrorCodeSubnetIpLimitExceeded = "SubnetIpLimitExceeded"
13012
13013	// SimulationJobErrorCodeEnilimitExceeded is a SimulationJobErrorCode enum value
13014	SimulationJobErrorCodeEnilimitExceeded = "ENILimitExceeded"
13015
13016	// SimulationJobErrorCodeBadPermissionsUserCredentials is a SimulationJobErrorCode enum value
13017	SimulationJobErrorCodeBadPermissionsUserCredentials = "BadPermissionsUserCredentials"
13018
13019	// SimulationJobErrorCodeInvalidBundleRobotApplication is a SimulationJobErrorCode enum value
13020	SimulationJobErrorCodeInvalidBundleRobotApplication = "InvalidBundleRobotApplication"
13021
13022	// SimulationJobErrorCodeInvalidBundleSimulationApplication is a SimulationJobErrorCode enum value
13023	SimulationJobErrorCodeInvalidBundleSimulationApplication = "InvalidBundleSimulationApplication"
13024
13025	// SimulationJobErrorCodeInvalidS3resource is a SimulationJobErrorCode enum value
13026	SimulationJobErrorCodeInvalidS3resource = "InvalidS3Resource"
13027
13028	// SimulationJobErrorCodeLimitExceeded is a SimulationJobErrorCode enum value
13029	SimulationJobErrorCodeLimitExceeded = "LimitExceeded"
13030
13031	// SimulationJobErrorCodeMismatchedEtag is a SimulationJobErrorCode enum value
13032	SimulationJobErrorCodeMismatchedEtag = "MismatchedEtag"
13033
13034	// SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
13035	SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag = "RobotApplicationVersionMismatchedEtag"
13036
13037	// SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
13038	SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag = "SimulationApplicationVersionMismatchedEtag"
13039
13040	// SimulationJobErrorCodeResourceNotFound is a SimulationJobErrorCode enum value
13041	SimulationJobErrorCodeResourceNotFound = "ResourceNotFound"
13042
13043	// SimulationJobErrorCodeRequestThrottled is a SimulationJobErrorCode enum value
13044	SimulationJobErrorCodeRequestThrottled = "RequestThrottled"
13045
13046	// SimulationJobErrorCodeBatchTimedOut is a SimulationJobErrorCode enum value
13047	SimulationJobErrorCodeBatchTimedOut = "BatchTimedOut"
13048
13049	// SimulationJobErrorCodeBatchCanceled is a SimulationJobErrorCode enum value
13050	SimulationJobErrorCodeBatchCanceled = "BatchCanceled"
13051
13052	// SimulationJobErrorCodeInvalidInput is a SimulationJobErrorCode enum value
13053	SimulationJobErrorCodeInvalidInput = "InvalidInput"
13054
13055	// SimulationJobErrorCodeWrongRegionS3bucket is a SimulationJobErrorCode enum value
13056	SimulationJobErrorCodeWrongRegionS3bucket = "WrongRegionS3Bucket"
13057
13058	// SimulationJobErrorCodeWrongRegionS3output is a SimulationJobErrorCode enum value
13059	SimulationJobErrorCodeWrongRegionS3output = "WrongRegionS3Output"
13060
13061	// SimulationJobErrorCodeWrongRegionRobotApplication is a SimulationJobErrorCode enum value
13062	SimulationJobErrorCodeWrongRegionRobotApplication = "WrongRegionRobotApplication"
13063
13064	// SimulationJobErrorCodeWrongRegionSimulationApplication is a SimulationJobErrorCode enum value
13065	SimulationJobErrorCodeWrongRegionSimulationApplication = "WrongRegionSimulationApplication"
13066)
13067
13068const (
13069	// SimulationJobStatusPending is a SimulationJobStatus enum value
13070	SimulationJobStatusPending = "Pending"
13071
13072	// SimulationJobStatusPreparing is a SimulationJobStatus enum value
13073	SimulationJobStatusPreparing = "Preparing"
13074
13075	// SimulationJobStatusRunning is a SimulationJobStatus enum value
13076	SimulationJobStatusRunning = "Running"
13077
13078	// SimulationJobStatusRestarting is a SimulationJobStatus enum value
13079	SimulationJobStatusRestarting = "Restarting"
13080
13081	// SimulationJobStatusCompleted is a SimulationJobStatus enum value
13082	SimulationJobStatusCompleted = "Completed"
13083
13084	// SimulationJobStatusFailed is a SimulationJobStatus enum value
13085	SimulationJobStatusFailed = "Failed"
13086
13087	// SimulationJobStatusRunningFailed is a SimulationJobStatus enum value
13088	SimulationJobStatusRunningFailed = "RunningFailed"
13089
13090	// SimulationJobStatusTerminating is a SimulationJobStatus enum value
13091	SimulationJobStatusTerminating = "Terminating"
13092
13093	// SimulationJobStatusTerminated is a SimulationJobStatus enum value
13094	SimulationJobStatusTerminated = "Terminated"
13095
13096	// SimulationJobStatusCanceled is a SimulationJobStatus enum value
13097	SimulationJobStatusCanceled = "Canceled"
13098)
13099
13100const (
13101	// SimulationSoftwareSuiteTypeGazebo is a SimulationSoftwareSuiteType enum value
13102	SimulationSoftwareSuiteTypeGazebo = "Gazebo"
13103
13104	// SimulationSoftwareSuiteTypeRosbagPlay is a SimulationSoftwareSuiteType enum value
13105	SimulationSoftwareSuiteTypeRosbagPlay = "RosbagPlay"
13106)
13107