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 opBatchDeleteWorlds = "BatchDeleteWorlds"
17
18// BatchDeleteWorldsRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDeleteWorlds operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See BatchDeleteWorlds for more information on using the BatchDeleteWorlds
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the BatchDeleteWorldsRequest method.
34//    req, resp := client.BatchDeleteWorldsRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDeleteWorlds
42func (c *RoboMaker) BatchDeleteWorldsRequest(input *BatchDeleteWorldsInput) (req *request.Request, output *BatchDeleteWorldsOutput) {
43	op := &request.Operation{
44		Name:       opBatchDeleteWorlds,
45		HTTPMethod: "POST",
46		HTTPPath:   "/batchDeleteWorlds",
47	}
48
49	if input == nil {
50		input = &BatchDeleteWorldsInput{}
51	}
52
53	output = &BatchDeleteWorldsOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDeleteWorlds API operation for AWS RoboMaker.
59//
60// Deletes one or more worlds in a batch operation.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS RoboMaker's
67// API operation BatchDeleteWorlds for usage and error information.
68//
69// Returned Error Types:
70//   * InvalidParameterException
71//   A parameter specified in a request is not valid, is unsupported, or cannot
72//   be used. The returned message provides an explanation of the error value.
73//
74//   * ThrottlingException
75//   AWS RoboMaker is temporarily unable to process the request. Try your call
76//   again.
77//
78//   * InternalServerException
79//   AWS RoboMaker experienced a service issue. Try your call again.
80//
81// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDeleteWorlds
82func (c *RoboMaker) BatchDeleteWorlds(input *BatchDeleteWorldsInput) (*BatchDeleteWorldsOutput, error) {
83	req, out := c.BatchDeleteWorldsRequest(input)
84	return out, req.Send()
85}
86
87// BatchDeleteWorldsWithContext is the same as BatchDeleteWorlds with the addition of
88// the ability to pass a context and additional request options.
89//
90// See BatchDeleteWorlds for details on how to use this API operation.
91//
92// The context must be non-nil and will be used for request cancellation. If
93// the context is nil a panic will occur. In the future the SDK may create
94// sub-contexts for http.Requests. See https://golang.org/pkg/context/
95// for more information on using Contexts.
96func (c *RoboMaker) BatchDeleteWorldsWithContext(ctx aws.Context, input *BatchDeleteWorldsInput, opts ...request.Option) (*BatchDeleteWorldsOutput, error) {
97	req, out := c.BatchDeleteWorldsRequest(input)
98	req.SetContext(ctx)
99	req.ApplyOptions(opts...)
100	return out, req.Send()
101}
102
103const opBatchDescribeSimulationJob = "BatchDescribeSimulationJob"
104
105// BatchDescribeSimulationJobRequest generates a "aws/request.Request" representing the
106// client's request for the BatchDescribeSimulationJob operation. The "output" return
107// value will be populated with the request's response once the request completes
108// successfully.
109//
110// Use "Send" method on the returned Request to send the API call to the service.
111// the "output" return value is not valid until after Send returns without error.
112//
113// See BatchDescribeSimulationJob for more information on using the BatchDescribeSimulationJob
114// API call, and error handling.
115//
116// This method is useful when you want to inject custom logic or configuration
117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
118//
119//
120//    // Example sending a request using the BatchDescribeSimulationJobRequest method.
121//    req, resp := client.BatchDescribeSimulationJobRequest(params)
122//
123//    err := req.Send()
124//    if err == nil { // resp is now filled
125//        fmt.Println(resp)
126//    }
127//
128// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
129func (c *RoboMaker) BatchDescribeSimulationJobRequest(input *BatchDescribeSimulationJobInput) (req *request.Request, output *BatchDescribeSimulationJobOutput) {
130	op := &request.Operation{
131		Name:       opBatchDescribeSimulationJob,
132		HTTPMethod: "POST",
133		HTTPPath:   "/batchDescribeSimulationJob",
134	}
135
136	if input == nil {
137		input = &BatchDescribeSimulationJobInput{}
138	}
139
140	output = &BatchDescribeSimulationJobOutput{}
141	req = c.newRequest(op, input, output)
142	return
143}
144
145// BatchDescribeSimulationJob API operation for AWS RoboMaker.
146//
147// Describes one or more simulation jobs.
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for AWS RoboMaker's
154// API operation BatchDescribeSimulationJob for usage and error information.
155//
156// Returned Error Types:
157//   * ResourceNotFoundException
158//   The specified resource does not exist.
159//
160//   * InvalidParameterException
161//   A parameter specified in a request is not valid, is unsupported, or cannot
162//   be used. The returned message provides an explanation of the error value.
163//
164//   * InternalServerException
165//   AWS RoboMaker experienced a service issue. Try your call again.
166//
167//   * ThrottlingException
168//   AWS RoboMaker is temporarily unable to process the request. Try your call
169//   again.
170//
171// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
172func (c *RoboMaker) BatchDescribeSimulationJob(input *BatchDescribeSimulationJobInput) (*BatchDescribeSimulationJobOutput, error) {
173	req, out := c.BatchDescribeSimulationJobRequest(input)
174	return out, req.Send()
175}
176
177// BatchDescribeSimulationJobWithContext is the same as BatchDescribeSimulationJob with the addition of
178// the ability to pass a context and additional request options.
179//
180// See BatchDescribeSimulationJob for details on how to use this API operation.
181//
182// The context must be non-nil and will be used for request cancellation. If
183// the context is nil a panic will occur. In the future the SDK may create
184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
185// for more information on using Contexts.
186func (c *RoboMaker) BatchDescribeSimulationJobWithContext(ctx aws.Context, input *BatchDescribeSimulationJobInput, opts ...request.Option) (*BatchDescribeSimulationJobOutput, error) {
187	req, out := c.BatchDescribeSimulationJobRequest(input)
188	req.SetContext(ctx)
189	req.ApplyOptions(opts...)
190	return out, req.Send()
191}
192
193const opCancelDeploymentJob = "CancelDeploymentJob"
194
195// CancelDeploymentJobRequest generates a "aws/request.Request" representing the
196// client's request for the CancelDeploymentJob operation. The "output" return
197// value will be populated with the request's response once the request completes
198// successfully.
199//
200// Use "Send" method on the returned Request to send the API call to the service.
201// the "output" return value is not valid until after Send returns without error.
202//
203// See CancelDeploymentJob for more information on using the CancelDeploymentJob
204// API call, and error handling.
205//
206// This method is useful when you want to inject custom logic or configuration
207// into the SDK's request lifecycle. Such as custom headers, or retry logic.
208//
209//
210//    // Example sending a request using the CancelDeploymentJobRequest method.
211//    req, resp := client.CancelDeploymentJobRequest(params)
212//
213//    err := req.Send()
214//    if err == nil { // resp is now filled
215//        fmt.Println(resp)
216//    }
217//
218// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
219func (c *RoboMaker) CancelDeploymentJobRequest(input *CancelDeploymentJobInput) (req *request.Request, output *CancelDeploymentJobOutput) {
220	op := &request.Operation{
221		Name:       opCancelDeploymentJob,
222		HTTPMethod: "POST",
223		HTTPPath:   "/cancelDeploymentJob",
224	}
225
226	if input == nil {
227		input = &CancelDeploymentJobInput{}
228	}
229
230	output = &CancelDeploymentJobOutput{}
231	req = c.newRequest(op, input, output)
232	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
233	return
234}
235
236// CancelDeploymentJob API operation for AWS RoboMaker.
237//
238// Cancels the specified deployment job.
239//
240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
241// with awserr.Error's Code and Message methods to get detailed information about
242// the error.
243//
244// See the AWS API reference guide for AWS RoboMaker's
245// API operation CancelDeploymentJob for usage and error information.
246//
247// Returned Error Types:
248//   * ResourceNotFoundException
249//   The specified resource does not exist.
250//
251//   * InvalidParameterException
252//   A parameter specified in a request is not valid, is unsupported, or cannot
253//   be used. The returned message provides an explanation of the error value.
254//
255//   * InternalServerException
256//   AWS RoboMaker experienced a service issue. Try your call again.
257//
258//   * ThrottlingException
259//   AWS RoboMaker is temporarily unable to process the request. Try your call
260//   again.
261//
262// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
263func (c *RoboMaker) CancelDeploymentJob(input *CancelDeploymentJobInput) (*CancelDeploymentJobOutput, error) {
264	req, out := c.CancelDeploymentJobRequest(input)
265	return out, req.Send()
266}
267
268// CancelDeploymentJobWithContext is the same as CancelDeploymentJob with the addition of
269// the ability to pass a context and additional request options.
270//
271// See CancelDeploymentJob for details on how to use this API operation.
272//
273// The context must be non-nil and will be used for request cancellation. If
274// the context is nil a panic will occur. In the future the SDK may create
275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
276// for more information on using Contexts.
277func (c *RoboMaker) CancelDeploymentJobWithContext(ctx aws.Context, input *CancelDeploymentJobInput, opts ...request.Option) (*CancelDeploymentJobOutput, error) {
278	req, out := c.CancelDeploymentJobRequest(input)
279	req.SetContext(ctx)
280	req.ApplyOptions(opts...)
281	return out, req.Send()
282}
283
284const opCancelSimulationJob = "CancelSimulationJob"
285
286// CancelSimulationJobRequest generates a "aws/request.Request" representing the
287// client's request for the CancelSimulationJob operation. The "output" return
288// value will be populated with the request's response once the request completes
289// successfully.
290//
291// Use "Send" method on the returned Request to send the API call to the service.
292// the "output" return value is not valid until after Send returns without error.
293//
294// See CancelSimulationJob for more information on using the CancelSimulationJob
295// API call, and error handling.
296//
297// This method is useful when you want to inject custom logic or configuration
298// into the SDK's request lifecycle. Such as custom headers, or retry logic.
299//
300//
301//    // Example sending a request using the CancelSimulationJobRequest method.
302//    req, resp := client.CancelSimulationJobRequest(params)
303//
304//    err := req.Send()
305//    if err == nil { // resp is now filled
306//        fmt.Println(resp)
307//    }
308//
309// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
310func (c *RoboMaker) CancelSimulationJobRequest(input *CancelSimulationJobInput) (req *request.Request, output *CancelSimulationJobOutput) {
311	op := &request.Operation{
312		Name:       opCancelSimulationJob,
313		HTTPMethod: "POST",
314		HTTPPath:   "/cancelSimulationJob",
315	}
316
317	if input == nil {
318		input = &CancelSimulationJobInput{}
319	}
320
321	output = &CancelSimulationJobOutput{}
322	req = c.newRequest(op, input, output)
323	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
324	return
325}
326
327// CancelSimulationJob API operation for AWS RoboMaker.
328//
329// Cancels the specified simulation job.
330//
331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
332// with awserr.Error's Code and Message methods to get detailed information about
333// the error.
334//
335// See the AWS API reference guide for AWS RoboMaker's
336// API operation CancelSimulationJob for usage and error information.
337//
338// Returned Error Types:
339//   * ResourceNotFoundException
340//   The specified resource does not exist.
341//
342//   * InvalidParameterException
343//   A parameter specified in a request is not valid, is unsupported, or cannot
344//   be used. The returned message provides an explanation of the error value.
345//
346//   * InternalServerException
347//   AWS RoboMaker experienced a service issue. Try your call again.
348//
349//   * ThrottlingException
350//   AWS RoboMaker is temporarily unable to process the request. Try your call
351//   again.
352//
353// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
354func (c *RoboMaker) CancelSimulationJob(input *CancelSimulationJobInput) (*CancelSimulationJobOutput, error) {
355	req, out := c.CancelSimulationJobRequest(input)
356	return out, req.Send()
357}
358
359// CancelSimulationJobWithContext is the same as CancelSimulationJob with the addition of
360// the ability to pass a context and additional request options.
361//
362// See CancelSimulationJob for details on how to use this API operation.
363//
364// The context must be non-nil and will be used for request cancellation. If
365// the context is nil a panic will occur. In the future the SDK may create
366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
367// for more information on using Contexts.
368func (c *RoboMaker) CancelSimulationJobWithContext(ctx aws.Context, input *CancelSimulationJobInput, opts ...request.Option) (*CancelSimulationJobOutput, error) {
369	req, out := c.CancelSimulationJobRequest(input)
370	req.SetContext(ctx)
371	req.ApplyOptions(opts...)
372	return out, req.Send()
373}
374
375const opCancelSimulationJobBatch = "CancelSimulationJobBatch"
376
377// CancelSimulationJobBatchRequest generates a "aws/request.Request" representing the
378// client's request for the CancelSimulationJobBatch operation. The "output" return
379// value will be populated with the request's response once the request completes
380// successfully.
381//
382// Use "Send" method on the returned Request to send the API call to the service.
383// the "output" return value is not valid until after Send returns without error.
384//
385// See CancelSimulationJobBatch for more information on using the CancelSimulationJobBatch
386// API call, and error handling.
387//
388// This method is useful when you want to inject custom logic or configuration
389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
390//
391//
392//    // Example sending a request using the CancelSimulationJobBatchRequest method.
393//    req, resp := client.CancelSimulationJobBatchRequest(params)
394//
395//    err := req.Send()
396//    if err == nil { // resp is now filled
397//        fmt.Println(resp)
398//    }
399//
400// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJobBatch
401func (c *RoboMaker) CancelSimulationJobBatchRequest(input *CancelSimulationJobBatchInput) (req *request.Request, output *CancelSimulationJobBatchOutput) {
402	op := &request.Operation{
403		Name:       opCancelSimulationJobBatch,
404		HTTPMethod: "POST",
405		HTTPPath:   "/cancelSimulationJobBatch",
406	}
407
408	if input == nil {
409		input = &CancelSimulationJobBatchInput{}
410	}
411
412	output = &CancelSimulationJobBatchOutput{}
413	req = c.newRequest(op, input, output)
414	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
415	return
416}
417
418// CancelSimulationJobBatch API operation for AWS RoboMaker.
419//
420// Cancels a simulation job batch. When you cancel a simulation job batch, you
421// are also cancelling all of the active simulation jobs created as part of
422// the batch.
423//
424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
425// with awserr.Error's Code and Message methods to get detailed information about
426// the error.
427//
428// See the AWS API reference guide for AWS RoboMaker's
429// API operation CancelSimulationJobBatch for usage and error information.
430//
431// Returned Error Types:
432//   * ResourceNotFoundException
433//   The specified resource does not exist.
434//
435//   * InvalidParameterException
436//   A parameter specified in a request is not valid, is unsupported, or cannot
437//   be used. The returned message provides an explanation of the error value.
438//
439//   * InternalServerException
440//   AWS RoboMaker experienced a service issue. Try your call again.
441//
442//   * ThrottlingException
443//   AWS RoboMaker is temporarily unable to process the request. Try your call
444//   again.
445//
446// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJobBatch
447func (c *RoboMaker) CancelSimulationJobBatch(input *CancelSimulationJobBatchInput) (*CancelSimulationJobBatchOutput, error) {
448	req, out := c.CancelSimulationJobBatchRequest(input)
449	return out, req.Send()
450}
451
452// CancelSimulationJobBatchWithContext is the same as CancelSimulationJobBatch with the addition of
453// the ability to pass a context and additional request options.
454//
455// See CancelSimulationJobBatch for details on how to use this API operation.
456//
457// The context must be non-nil and will be used for request cancellation. If
458// the context is nil a panic will occur. In the future the SDK may create
459// sub-contexts for http.Requests. See https://golang.org/pkg/context/
460// for more information on using Contexts.
461func (c *RoboMaker) CancelSimulationJobBatchWithContext(ctx aws.Context, input *CancelSimulationJobBatchInput, opts ...request.Option) (*CancelSimulationJobBatchOutput, error) {
462	req, out := c.CancelSimulationJobBatchRequest(input)
463	req.SetContext(ctx)
464	req.ApplyOptions(opts...)
465	return out, req.Send()
466}
467
468const opCancelWorldExportJob = "CancelWorldExportJob"
469
470// CancelWorldExportJobRequest generates a "aws/request.Request" representing the
471// client's request for the CancelWorldExportJob operation. The "output" return
472// value will be populated with the request's response once the request completes
473// successfully.
474//
475// Use "Send" method on the returned Request to send the API call to the service.
476// the "output" return value is not valid until after Send returns without error.
477//
478// See CancelWorldExportJob for more information on using the CancelWorldExportJob
479// API call, and error handling.
480//
481// This method is useful when you want to inject custom logic or configuration
482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
483//
484//
485//    // Example sending a request using the CancelWorldExportJobRequest method.
486//    req, resp := client.CancelWorldExportJobRequest(params)
487//
488//    err := req.Send()
489//    if err == nil { // resp is now filled
490//        fmt.Println(resp)
491//    }
492//
493// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldExportJob
494func (c *RoboMaker) CancelWorldExportJobRequest(input *CancelWorldExportJobInput) (req *request.Request, output *CancelWorldExportJobOutput) {
495	op := &request.Operation{
496		Name:       opCancelWorldExportJob,
497		HTTPMethod: "POST",
498		HTTPPath:   "/cancelWorldExportJob",
499	}
500
501	if input == nil {
502		input = &CancelWorldExportJobInput{}
503	}
504
505	output = &CancelWorldExportJobOutput{}
506	req = c.newRequest(op, input, output)
507	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
508	return
509}
510
511// CancelWorldExportJob API operation for AWS RoboMaker.
512//
513// Cancels the specified export job.
514//
515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
516// with awserr.Error's Code and Message methods to get detailed information about
517// the error.
518//
519// See the AWS API reference guide for AWS RoboMaker's
520// API operation CancelWorldExportJob for usage and error information.
521//
522// Returned Error Types:
523//   * ResourceNotFoundException
524//   The specified resource does not exist.
525//
526//   * InvalidParameterException
527//   A parameter specified in a request is not valid, is unsupported, or cannot
528//   be used. The returned message provides an explanation of the error value.
529//
530//   * InternalServerException
531//   AWS RoboMaker experienced a service issue. Try your call again.
532//
533//   * ThrottlingException
534//   AWS RoboMaker is temporarily unable to process the request. Try your call
535//   again.
536//
537// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldExportJob
538func (c *RoboMaker) CancelWorldExportJob(input *CancelWorldExportJobInput) (*CancelWorldExportJobOutput, error) {
539	req, out := c.CancelWorldExportJobRequest(input)
540	return out, req.Send()
541}
542
543// CancelWorldExportJobWithContext is the same as CancelWorldExportJob with the addition of
544// the ability to pass a context and additional request options.
545//
546// See CancelWorldExportJob for details on how to use this API operation.
547//
548// The context must be non-nil and will be used for request cancellation. If
549// the context is nil a panic will occur. In the future the SDK may create
550// sub-contexts for http.Requests. See https://golang.org/pkg/context/
551// for more information on using Contexts.
552func (c *RoboMaker) CancelWorldExportJobWithContext(ctx aws.Context, input *CancelWorldExportJobInput, opts ...request.Option) (*CancelWorldExportJobOutput, error) {
553	req, out := c.CancelWorldExportJobRequest(input)
554	req.SetContext(ctx)
555	req.ApplyOptions(opts...)
556	return out, req.Send()
557}
558
559const opCancelWorldGenerationJob = "CancelWorldGenerationJob"
560
561// CancelWorldGenerationJobRequest generates a "aws/request.Request" representing the
562// client's request for the CancelWorldGenerationJob operation. The "output" return
563// value will be populated with the request's response once the request completes
564// successfully.
565//
566// Use "Send" method on the returned Request to send the API call to the service.
567// the "output" return value is not valid until after Send returns without error.
568//
569// See CancelWorldGenerationJob for more information on using the CancelWorldGenerationJob
570// API call, and error handling.
571//
572// This method is useful when you want to inject custom logic or configuration
573// into the SDK's request lifecycle. Such as custom headers, or retry logic.
574//
575//
576//    // Example sending a request using the CancelWorldGenerationJobRequest method.
577//    req, resp := client.CancelWorldGenerationJobRequest(params)
578//
579//    err := req.Send()
580//    if err == nil { // resp is now filled
581//        fmt.Println(resp)
582//    }
583//
584// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldGenerationJob
585func (c *RoboMaker) CancelWorldGenerationJobRequest(input *CancelWorldGenerationJobInput) (req *request.Request, output *CancelWorldGenerationJobOutput) {
586	op := &request.Operation{
587		Name:       opCancelWorldGenerationJob,
588		HTTPMethod: "POST",
589		HTTPPath:   "/cancelWorldGenerationJob",
590	}
591
592	if input == nil {
593		input = &CancelWorldGenerationJobInput{}
594	}
595
596	output = &CancelWorldGenerationJobOutput{}
597	req = c.newRequest(op, input, output)
598	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
599	return
600}
601
602// CancelWorldGenerationJob API operation for AWS RoboMaker.
603//
604// Cancels the specified world generator job.
605//
606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
607// with awserr.Error's Code and Message methods to get detailed information about
608// the error.
609//
610// See the AWS API reference guide for AWS RoboMaker's
611// API operation CancelWorldGenerationJob for usage and error information.
612//
613// Returned Error Types:
614//   * ResourceNotFoundException
615//   The specified resource does not exist.
616//
617//   * InvalidParameterException
618//   A parameter specified in a request is not valid, is unsupported, or cannot
619//   be used. The returned message provides an explanation of the error value.
620//
621//   * InternalServerException
622//   AWS RoboMaker experienced a service issue. Try your call again.
623//
624//   * ThrottlingException
625//   AWS RoboMaker is temporarily unable to process the request. Try your call
626//   again.
627//
628// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelWorldGenerationJob
629func (c *RoboMaker) CancelWorldGenerationJob(input *CancelWorldGenerationJobInput) (*CancelWorldGenerationJobOutput, error) {
630	req, out := c.CancelWorldGenerationJobRequest(input)
631	return out, req.Send()
632}
633
634// CancelWorldGenerationJobWithContext is the same as CancelWorldGenerationJob with the addition of
635// the ability to pass a context and additional request options.
636//
637// See CancelWorldGenerationJob for details on how to use this API operation.
638//
639// The context must be non-nil and will be used for request cancellation. If
640// the context is nil a panic will occur. In the future the SDK may create
641// sub-contexts for http.Requests. See https://golang.org/pkg/context/
642// for more information on using Contexts.
643func (c *RoboMaker) CancelWorldGenerationJobWithContext(ctx aws.Context, input *CancelWorldGenerationJobInput, opts ...request.Option) (*CancelWorldGenerationJobOutput, error) {
644	req, out := c.CancelWorldGenerationJobRequest(input)
645	req.SetContext(ctx)
646	req.ApplyOptions(opts...)
647	return out, req.Send()
648}
649
650const opCreateDeploymentJob = "CreateDeploymentJob"
651
652// CreateDeploymentJobRequest generates a "aws/request.Request" representing the
653// client's request for the CreateDeploymentJob operation. The "output" return
654// value will be populated with the request's response once the request completes
655// successfully.
656//
657// Use "Send" method on the returned Request to send the API call to the service.
658// the "output" return value is not valid until after Send returns without error.
659//
660// See CreateDeploymentJob for more information on using the CreateDeploymentJob
661// API call, and error handling.
662//
663// This method is useful when you want to inject custom logic or configuration
664// into the SDK's request lifecycle. Such as custom headers, or retry logic.
665//
666//
667//    // Example sending a request using the CreateDeploymentJobRequest method.
668//    req, resp := client.CreateDeploymentJobRequest(params)
669//
670//    err := req.Send()
671//    if err == nil { // resp is now filled
672//        fmt.Println(resp)
673//    }
674//
675// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
676func (c *RoboMaker) CreateDeploymentJobRequest(input *CreateDeploymentJobInput) (req *request.Request, output *CreateDeploymentJobOutput) {
677	op := &request.Operation{
678		Name:       opCreateDeploymentJob,
679		HTTPMethod: "POST",
680		HTTPPath:   "/createDeploymentJob",
681	}
682
683	if input == nil {
684		input = &CreateDeploymentJobInput{}
685	}
686
687	output = &CreateDeploymentJobOutput{}
688	req = c.newRequest(op, input, output)
689	return
690}
691
692// CreateDeploymentJob API operation for AWS RoboMaker.
693//
694// Deploys a specific version of a robot application to robots in a fleet.
695//
696// The robot application must have a numbered applicationVersion for consistency
697// reasons. To create a new version, use CreateRobotApplicationVersion or see
698// Creating a Robot Application Version (https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html).
699//
700// After 90 days, deployment jobs expire and will be deleted. They will no longer
701// be accessible.
702//
703// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
704// with awserr.Error's Code and Message methods to get detailed information about
705// the error.
706//
707// See the AWS API reference guide for AWS RoboMaker's
708// API operation CreateDeploymentJob for usage and error information.
709//
710// Returned Error Types:
711//   * ResourceNotFoundException
712//   The specified resource does not exist.
713//
714//   * InvalidParameterException
715//   A parameter specified in a request is not valid, is unsupported, or cannot
716//   be used. The returned message provides an explanation of the error value.
717//
718//   * InternalServerException
719//   AWS RoboMaker experienced a service issue. Try your call again.
720//
721//   * ThrottlingException
722//   AWS RoboMaker is temporarily unable to process the request. Try your call
723//   again.
724//
725//   * LimitExceededException
726//   The requested resource exceeds the maximum number allowed, or the number
727//   of concurrent stream requests exceeds the maximum number allowed.
728//
729//   * ConcurrentDeploymentException
730//   The failure percentage threshold percentage was met.
731//
732//   * IdempotentParameterMismatchException
733//   The request uses the same client token as a previous, but non-identical request.
734//   Do not reuse a client token with different requests, unless the requests
735//   are identical.
736//
737// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
738func (c *RoboMaker) CreateDeploymentJob(input *CreateDeploymentJobInput) (*CreateDeploymentJobOutput, error) {
739	req, out := c.CreateDeploymentJobRequest(input)
740	return out, req.Send()
741}
742
743// CreateDeploymentJobWithContext is the same as CreateDeploymentJob with the addition of
744// the ability to pass a context and additional request options.
745//
746// See CreateDeploymentJob for details on how to use this API operation.
747//
748// The context must be non-nil and will be used for request cancellation. If
749// the context is nil a panic will occur. In the future the SDK may create
750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
751// for more information on using Contexts.
752func (c *RoboMaker) CreateDeploymentJobWithContext(ctx aws.Context, input *CreateDeploymentJobInput, opts ...request.Option) (*CreateDeploymentJobOutput, error) {
753	req, out := c.CreateDeploymentJobRequest(input)
754	req.SetContext(ctx)
755	req.ApplyOptions(opts...)
756	return out, req.Send()
757}
758
759const opCreateFleet = "CreateFleet"
760
761// CreateFleetRequest generates a "aws/request.Request" representing the
762// client's request for the CreateFleet operation. The "output" return
763// value will be populated with the request's response once the request completes
764// successfully.
765//
766// Use "Send" method on the returned Request to send the API call to the service.
767// the "output" return value is not valid until after Send returns without error.
768//
769// See CreateFleet for more information on using the CreateFleet
770// API call, and error handling.
771//
772// This method is useful when you want to inject custom logic or configuration
773// into the SDK's request lifecycle. Such as custom headers, or retry logic.
774//
775//
776//    // Example sending a request using the CreateFleetRequest method.
777//    req, resp := client.CreateFleetRequest(params)
778//
779//    err := req.Send()
780//    if err == nil { // resp is now filled
781//        fmt.Println(resp)
782//    }
783//
784// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
785func (c *RoboMaker) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
786	op := &request.Operation{
787		Name:       opCreateFleet,
788		HTTPMethod: "POST",
789		HTTPPath:   "/createFleet",
790	}
791
792	if input == nil {
793		input = &CreateFleetInput{}
794	}
795
796	output = &CreateFleetOutput{}
797	req = c.newRequest(op, input, output)
798	return
799}
800
801// CreateFleet API operation for AWS RoboMaker.
802//
803// Creates a fleet, a logical group of robots running the same robot application.
804//
805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
806// with awserr.Error's Code and Message methods to get detailed information about
807// the error.
808//
809// See the AWS API reference guide for AWS RoboMaker's
810// API operation CreateFleet for usage and error information.
811//
812// Returned Error Types:
813//   * InvalidParameterException
814//   A parameter specified in a request is not valid, is unsupported, or cannot
815//   be used. The returned message provides an explanation of the error value.
816//
817//   * InternalServerException
818//   AWS RoboMaker experienced a service issue. Try your call again.
819//
820//   * ThrottlingException
821//   AWS RoboMaker is temporarily unable to process the request. Try your call
822//   again.
823//
824//   * LimitExceededException
825//   The requested resource exceeds the maximum number allowed, or the number
826//   of concurrent stream requests exceeds the maximum number allowed.
827//
828// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
829func (c *RoboMaker) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
830	req, out := c.CreateFleetRequest(input)
831	return out, req.Send()
832}
833
834// CreateFleetWithContext is the same as CreateFleet with the addition of
835// the ability to pass a context and additional request options.
836//
837// See CreateFleet for details on how to use this API operation.
838//
839// The context must be non-nil and will be used for request cancellation. If
840// the context is nil a panic will occur. In the future the SDK may create
841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
842// for more information on using Contexts.
843func (c *RoboMaker) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
844	req, out := c.CreateFleetRequest(input)
845	req.SetContext(ctx)
846	req.ApplyOptions(opts...)
847	return out, req.Send()
848}
849
850const opCreateRobot = "CreateRobot"
851
852// CreateRobotRequest generates a "aws/request.Request" representing the
853// client's request for the CreateRobot operation. The "output" return
854// value will be populated with the request's response once the request completes
855// successfully.
856//
857// Use "Send" method on the returned Request to send the API call to the service.
858// the "output" return value is not valid until after Send returns without error.
859//
860// See CreateRobot for more information on using the CreateRobot
861// API call, and error handling.
862//
863// This method is useful when you want to inject custom logic or configuration
864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
865//
866//
867//    // Example sending a request using the CreateRobotRequest method.
868//    req, resp := client.CreateRobotRequest(params)
869//
870//    err := req.Send()
871//    if err == nil { // resp is now filled
872//        fmt.Println(resp)
873//    }
874//
875// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
876func (c *RoboMaker) CreateRobotRequest(input *CreateRobotInput) (req *request.Request, output *CreateRobotOutput) {
877	op := &request.Operation{
878		Name:       opCreateRobot,
879		HTTPMethod: "POST",
880		HTTPPath:   "/createRobot",
881	}
882
883	if input == nil {
884		input = &CreateRobotInput{}
885	}
886
887	output = &CreateRobotOutput{}
888	req = c.newRequest(op, input, output)
889	return
890}
891
892// CreateRobot API operation for AWS RoboMaker.
893//
894// Creates a robot.
895//
896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
897// with awserr.Error's Code and Message methods to get detailed information about
898// the error.
899//
900// See the AWS API reference guide for AWS RoboMaker's
901// API operation CreateRobot for usage and error information.
902//
903// Returned Error Types:
904//   * InvalidParameterException
905//   A parameter specified in a request is not valid, is unsupported, or cannot
906//   be used. The returned message provides an explanation of the error value.
907//
908//   * InternalServerException
909//   AWS RoboMaker experienced a service issue. Try your call again.
910//
911//   * ThrottlingException
912//   AWS RoboMaker is temporarily unable to process the request. Try your call
913//   again.
914//
915//   * LimitExceededException
916//   The requested resource exceeds the maximum number allowed, or the number
917//   of concurrent stream requests exceeds the maximum number allowed.
918//
919//   * ResourceAlreadyExistsException
920//   The specified resource already exists.
921//
922// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
923func (c *RoboMaker) CreateRobot(input *CreateRobotInput) (*CreateRobotOutput, error) {
924	req, out := c.CreateRobotRequest(input)
925	return out, req.Send()
926}
927
928// CreateRobotWithContext is the same as CreateRobot with the addition of
929// the ability to pass a context and additional request options.
930//
931// See CreateRobot for details on how to use this API operation.
932//
933// The context must be non-nil and will be used for request cancellation. If
934// the context is nil a panic will occur. In the future the SDK may create
935// sub-contexts for http.Requests. See https://golang.org/pkg/context/
936// for more information on using Contexts.
937func (c *RoboMaker) CreateRobotWithContext(ctx aws.Context, input *CreateRobotInput, opts ...request.Option) (*CreateRobotOutput, error) {
938	req, out := c.CreateRobotRequest(input)
939	req.SetContext(ctx)
940	req.ApplyOptions(opts...)
941	return out, req.Send()
942}
943
944const opCreateRobotApplication = "CreateRobotApplication"
945
946// CreateRobotApplicationRequest generates a "aws/request.Request" representing the
947// client's request for the CreateRobotApplication operation. The "output" return
948// value will be populated with the request's response once the request completes
949// successfully.
950//
951// Use "Send" method on the returned Request to send the API call to the service.
952// the "output" return value is not valid until after Send returns without error.
953//
954// See CreateRobotApplication for more information on using the CreateRobotApplication
955// API call, and error handling.
956//
957// This method is useful when you want to inject custom logic or configuration
958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
959//
960//
961//    // Example sending a request using the CreateRobotApplicationRequest method.
962//    req, resp := client.CreateRobotApplicationRequest(params)
963//
964//    err := req.Send()
965//    if err == nil { // resp is now filled
966//        fmt.Println(resp)
967//    }
968//
969// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
970func (c *RoboMaker) CreateRobotApplicationRequest(input *CreateRobotApplicationInput) (req *request.Request, output *CreateRobotApplicationOutput) {
971	op := &request.Operation{
972		Name:       opCreateRobotApplication,
973		HTTPMethod: "POST",
974		HTTPPath:   "/createRobotApplication",
975	}
976
977	if input == nil {
978		input = &CreateRobotApplicationInput{}
979	}
980
981	output = &CreateRobotApplicationOutput{}
982	req = c.newRequest(op, input, output)
983	return
984}
985
986// CreateRobotApplication API operation for AWS RoboMaker.
987//
988// Creates a robot application.
989//
990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
991// with awserr.Error's Code and Message methods to get detailed information about
992// the error.
993//
994// See the AWS API reference guide for AWS RoboMaker's
995// API operation CreateRobotApplication for usage and error information.
996//
997// Returned Error Types:
998//   * InvalidParameterException
999//   A parameter specified in a request is not valid, is unsupported, or cannot
1000//   be used. The returned message provides an explanation of the error value.
1001//
1002//   * ResourceAlreadyExistsException
1003//   The specified resource already exists.
1004//
1005//   * LimitExceededException
1006//   The requested resource exceeds the maximum number allowed, or the number
1007//   of concurrent stream requests exceeds the maximum number allowed.
1008//
1009//   * ThrottlingException
1010//   AWS RoboMaker is temporarily unable to process the request. Try your call
1011//   again.
1012//
1013//   * InternalServerException
1014//   AWS RoboMaker experienced a service issue. Try your call again.
1015//
1016//   * IdempotentParameterMismatchException
1017//   The request uses the same client token as a previous, but non-identical request.
1018//   Do not reuse a client token with different requests, unless the requests
1019//   are identical.
1020//
1021// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
1022func (c *RoboMaker) CreateRobotApplication(input *CreateRobotApplicationInput) (*CreateRobotApplicationOutput, error) {
1023	req, out := c.CreateRobotApplicationRequest(input)
1024	return out, req.Send()
1025}
1026
1027// CreateRobotApplicationWithContext is the same as CreateRobotApplication with the addition of
1028// the ability to pass a context and additional request options.
1029//
1030// See CreateRobotApplication for details on how to use this API operation.
1031//
1032// The context must be non-nil and will be used for request cancellation. If
1033// the context is nil a panic will occur. In the future the SDK may create
1034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1035// for more information on using Contexts.
1036func (c *RoboMaker) CreateRobotApplicationWithContext(ctx aws.Context, input *CreateRobotApplicationInput, opts ...request.Option) (*CreateRobotApplicationOutput, error) {
1037	req, out := c.CreateRobotApplicationRequest(input)
1038	req.SetContext(ctx)
1039	req.ApplyOptions(opts...)
1040	return out, req.Send()
1041}
1042
1043const opCreateRobotApplicationVersion = "CreateRobotApplicationVersion"
1044
1045// CreateRobotApplicationVersionRequest generates a "aws/request.Request" representing the
1046// client's request for the CreateRobotApplicationVersion operation. The "output" return
1047// value will be populated with the request's response once the request completes
1048// successfully.
1049//
1050// Use "Send" method on the returned Request to send the API call to the service.
1051// the "output" return value is not valid until after Send returns without error.
1052//
1053// See CreateRobotApplicationVersion for more information on using the CreateRobotApplicationVersion
1054// API call, and error handling.
1055//
1056// This method is useful when you want to inject custom logic or configuration
1057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1058//
1059//
1060//    // Example sending a request using the CreateRobotApplicationVersionRequest method.
1061//    req, resp := client.CreateRobotApplicationVersionRequest(params)
1062//
1063//    err := req.Send()
1064//    if err == nil { // resp is now filled
1065//        fmt.Println(resp)
1066//    }
1067//
1068// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
1069func (c *RoboMaker) CreateRobotApplicationVersionRequest(input *CreateRobotApplicationVersionInput) (req *request.Request, output *CreateRobotApplicationVersionOutput) {
1070	op := &request.Operation{
1071		Name:       opCreateRobotApplicationVersion,
1072		HTTPMethod: "POST",
1073		HTTPPath:   "/createRobotApplicationVersion",
1074	}
1075
1076	if input == nil {
1077		input = &CreateRobotApplicationVersionInput{}
1078	}
1079
1080	output = &CreateRobotApplicationVersionOutput{}
1081	req = c.newRequest(op, input, output)
1082	return
1083}
1084
1085// CreateRobotApplicationVersion API operation for AWS RoboMaker.
1086//
1087// Creates a version of a robot application.
1088//
1089// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1090// with awserr.Error's Code and Message methods to get detailed information about
1091// the error.
1092//
1093// See the AWS API reference guide for AWS RoboMaker's
1094// API operation CreateRobotApplicationVersion for usage and error information.
1095//
1096// Returned Error Types:
1097//   * InvalidParameterException
1098//   A parameter specified in a request is not valid, is unsupported, or cannot
1099//   be used. The returned message provides an explanation of the error value.
1100//
1101//   * IdempotentParameterMismatchException
1102//   The request uses the same client token as a previous, but non-identical request.
1103//   Do not reuse a client token with different requests, unless the requests
1104//   are identical.
1105//
1106//   * LimitExceededException
1107//   The requested resource exceeds the maximum number allowed, or the number
1108//   of concurrent stream requests exceeds the maximum number allowed.
1109//
1110//   * ThrottlingException
1111//   AWS RoboMaker is temporarily unable to process the request. Try your call
1112//   again.
1113//
1114//   * InternalServerException
1115//   AWS RoboMaker experienced a service issue. Try your call again.
1116//
1117// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
1118func (c *RoboMaker) CreateRobotApplicationVersion(input *CreateRobotApplicationVersionInput) (*CreateRobotApplicationVersionOutput, error) {
1119	req, out := c.CreateRobotApplicationVersionRequest(input)
1120	return out, req.Send()
1121}
1122
1123// CreateRobotApplicationVersionWithContext is the same as CreateRobotApplicationVersion with the addition of
1124// the ability to pass a context and additional request options.
1125//
1126// See CreateRobotApplicationVersion for details on how to use this API operation.
1127//
1128// The context must be non-nil and will be used for request cancellation. If
1129// the context is nil a panic will occur. In the future the SDK may create
1130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1131// for more information on using Contexts.
1132func (c *RoboMaker) CreateRobotApplicationVersionWithContext(ctx aws.Context, input *CreateRobotApplicationVersionInput, opts ...request.Option) (*CreateRobotApplicationVersionOutput, error) {
1133	req, out := c.CreateRobotApplicationVersionRequest(input)
1134	req.SetContext(ctx)
1135	req.ApplyOptions(opts...)
1136	return out, req.Send()
1137}
1138
1139const opCreateSimulationApplication = "CreateSimulationApplication"
1140
1141// CreateSimulationApplicationRequest generates a "aws/request.Request" representing the
1142// client's request for the CreateSimulationApplication operation. The "output" return
1143// value will be populated with the request's response once the request completes
1144// successfully.
1145//
1146// Use "Send" method on the returned Request to send the API call to the service.
1147// the "output" return value is not valid until after Send returns without error.
1148//
1149// See CreateSimulationApplication for more information on using the CreateSimulationApplication
1150// API call, and error handling.
1151//
1152// This method is useful when you want to inject custom logic or configuration
1153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1154//
1155//
1156//    // Example sending a request using the CreateSimulationApplicationRequest method.
1157//    req, resp := client.CreateSimulationApplicationRequest(params)
1158//
1159//    err := req.Send()
1160//    if err == nil { // resp is now filled
1161//        fmt.Println(resp)
1162//    }
1163//
1164// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
1165func (c *RoboMaker) CreateSimulationApplicationRequest(input *CreateSimulationApplicationInput) (req *request.Request, output *CreateSimulationApplicationOutput) {
1166	op := &request.Operation{
1167		Name:       opCreateSimulationApplication,
1168		HTTPMethod: "POST",
1169		HTTPPath:   "/createSimulationApplication",
1170	}
1171
1172	if input == nil {
1173		input = &CreateSimulationApplicationInput{}
1174	}
1175
1176	output = &CreateSimulationApplicationOutput{}
1177	req = c.newRequest(op, input, output)
1178	return
1179}
1180
1181// CreateSimulationApplication API operation for AWS RoboMaker.
1182//
1183// Creates a simulation application.
1184//
1185// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1186// with awserr.Error's Code and Message methods to get detailed information about
1187// the error.
1188//
1189// See the AWS API reference guide for AWS RoboMaker's
1190// API operation CreateSimulationApplication for usage and error information.
1191//
1192// Returned Error Types:
1193//   * InvalidParameterException
1194//   A parameter specified in a request is not valid, is unsupported, or cannot
1195//   be used. The returned message provides an explanation of the error value.
1196//
1197//   * ResourceAlreadyExistsException
1198//   The specified resource already exists.
1199//
1200//   * LimitExceededException
1201//   The requested resource exceeds the maximum number allowed, or the number
1202//   of concurrent stream requests exceeds the maximum number allowed.
1203//
1204//   * ThrottlingException
1205//   AWS RoboMaker is temporarily unable to process the request. Try your call
1206//   again.
1207//
1208//   * InternalServerException
1209//   AWS RoboMaker experienced a service issue. Try your call again.
1210//
1211//   * IdempotentParameterMismatchException
1212//   The request uses the same client token as a previous, but non-identical request.
1213//   Do not reuse a client token with different requests, unless the requests
1214//   are identical.
1215//
1216// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
1217func (c *RoboMaker) CreateSimulationApplication(input *CreateSimulationApplicationInput) (*CreateSimulationApplicationOutput, error) {
1218	req, out := c.CreateSimulationApplicationRequest(input)
1219	return out, req.Send()
1220}
1221
1222// CreateSimulationApplicationWithContext is the same as CreateSimulationApplication with the addition of
1223// the ability to pass a context and additional request options.
1224//
1225// See CreateSimulationApplication for details on how to use this API operation.
1226//
1227// The context must be non-nil and will be used for request cancellation. If
1228// the context is nil a panic will occur. In the future the SDK may create
1229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1230// for more information on using Contexts.
1231func (c *RoboMaker) CreateSimulationApplicationWithContext(ctx aws.Context, input *CreateSimulationApplicationInput, opts ...request.Option) (*CreateSimulationApplicationOutput, error) {
1232	req, out := c.CreateSimulationApplicationRequest(input)
1233	req.SetContext(ctx)
1234	req.ApplyOptions(opts...)
1235	return out, req.Send()
1236}
1237
1238const opCreateSimulationApplicationVersion = "CreateSimulationApplicationVersion"
1239
1240// CreateSimulationApplicationVersionRequest generates a "aws/request.Request" representing the
1241// client's request for the CreateSimulationApplicationVersion operation. The "output" return
1242// value will be populated with the request's response once the request completes
1243// successfully.
1244//
1245// Use "Send" method on the returned Request to send the API call to the service.
1246// the "output" return value is not valid until after Send returns without error.
1247//
1248// See CreateSimulationApplicationVersion for more information on using the CreateSimulationApplicationVersion
1249// API call, and error handling.
1250//
1251// This method is useful when you want to inject custom logic or configuration
1252// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1253//
1254//
1255//    // Example sending a request using the CreateSimulationApplicationVersionRequest method.
1256//    req, resp := client.CreateSimulationApplicationVersionRequest(params)
1257//
1258//    err := req.Send()
1259//    if err == nil { // resp is now filled
1260//        fmt.Println(resp)
1261//    }
1262//
1263// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
1264func (c *RoboMaker) CreateSimulationApplicationVersionRequest(input *CreateSimulationApplicationVersionInput) (req *request.Request, output *CreateSimulationApplicationVersionOutput) {
1265	op := &request.Operation{
1266		Name:       opCreateSimulationApplicationVersion,
1267		HTTPMethod: "POST",
1268		HTTPPath:   "/createSimulationApplicationVersion",
1269	}
1270
1271	if input == nil {
1272		input = &CreateSimulationApplicationVersionInput{}
1273	}
1274
1275	output = &CreateSimulationApplicationVersionOutput{}
1276	req = c.newRequest(op, input, output)
1277	return
1278}
1279
1280// CreateSimulationApplicationVersion API operation for AWS RoboMaker.
1281//
1282// Creates a simulation application with a specific revision id.
1283//
1284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1285// with awserr.Error's Code and Message methods to get detailed information about
1286// the error.
1287//
1288// See the AWS API reference guide for AWS RoboMaker's
1289// API operation CreateSimulationApplicationVersion for usage and error information.
1290//
1291// Returned Error Types:
1292//   * InvalidParameterException
1293//   A parameter specified in a request is not valid, is unsupported, or cannot
1294//   be used. The returned message provides an explanation of the error value.
1295//
1296//   * IdempotentParameterMismatchException
1297//   The request uses the same client token as a previous, but non-identical request.
1298//   Do not reuse a client token with different requests, unless the requests
1299//   are identical.
1300//
1301//   * LimitExceededException
1302//   The requested resource exceeds the maximum number allowed, or the number
1303//   of concurrent stream requests exceeds the maximum number allowed.
1304//
1305//   * ThrottlingException
1306//   AWS RoboMaker is temporarily unable to process the request. Try your call
1307//   again.
1308//
1309//   * InternalServerException
1310//   AWS RoboMaker experienced a service issue. Try your call again.
1311//
1312// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
1313func (c *RoboMaker) CreateSimulationApplicationVersion(input *CreateSimulationApplicationVersionInput) (*CreateSimulationApplicationVersionOutput, error) {
1314	req, out := c.CreateSimulationApplicationVersionRequest(input)
1315	return out, req.Send()
1316}
1317
1318// CreateSimulationApplicationVersionWithContext is the same as CreateSimulationApplicationVersion with the addition of
1319// the ability to pass a context and additional request options.
1320//
1321// See CreateSimulationApplicationVersion for details on how to use this API operation.
1322//
1323// The context must be non-nil and will be used for request cancellation. If
1324// the context is nil a panic will occur. In the future the SDK may create
1325// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1326// for more information on using Contexts.
1327func (c *RoboMaker) CreateSimulationApplicationVersionWithContext(ctx aws.Context, input *CreateSimulationApplicationVersionInput, opts ...request.Option) (*CreateSimulationApplicationVersionOutput, error) {
1328	req, out := c.CreateSimulationApplicationVersionRequest(input)
1329	req.SetContext(ctx)
1330	req.ApplyOptions(opts...)
1331	return out, req.Send()
1332}
1333
1334const opCreateSimulationJob = "CreateSimulationJob"
1335
1336// CreateSimulationJobRequest generates a "aws/request.Request" representing the
1337// client's request for the CreateSimulationJob operation. The "output" return
1338// value will be populated with the request's response once the request completes
1339// successfully.
1340//
1341// Use "Send" method on the returned Request to send the API call to the service.
1342// the "output" return value is not valid until after Send returns without error.
1343//
1344// See CreateSimulationJob for more information on using the CreateSimulationJob
1345// API call, and error handling.
1346//
1347// This method is useful when you want to inject custom logic or configuration
1348// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1349//
1350//
1351//    // Example sending a request using the CreateSimulationJobRequest method.
1352//    req, resp := client.CreateSimulationJobRequest(params)
1353//
1354//    err := req.Send()
1355//    if err == nil { // resp is now filled
1356//        fmt.Println(resp)
1357//    }
1358//
1359// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
1360func (c *RoboMaker) CreateSimulationJobRequest(input *CreateSimulationJobInput) (req *request.Request, output *CreateSimulationJobOutput) {
1361	op := &request.Operation{
1362		Name:       opCreateSimulationJob,
1363		HTTPMethod: "POST",
1364		HTTPPath:   "/createSimulationJob",
1365	}
1366
1367	if input == nil {
1368		input = &CreateSimulationJobInput{}
1369	}
1370
1371	output = &CreateSimulationJobOutput{}
1372	req = c.newRequest(op, input, output)
1373	return
1374}
1375
1376// CreateSimulationJob API operation for AWS RoboMaker.
1377//
1378// Creates a simulation job.
1379//
1380// After 90 days, simulation jobs expire and will be deleted. They will no longer
1381// be accessible.
1382//
1383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1384// with awserr.Error's Code and Message methods to get detailed information about
1385// the error.
1386//
1387// See the AWS API reference guide for AWS RoboMaker's
1388// API operation CreateSimulationJob for usage and error information.
1389//
1390// Returned Error Types:
1391//   * ResourceNotFoundException
1392//   The specified resource does not exist.
1393//
1394//   * InvalidParameterException
1395//   A parameter specified in a request is not valid, is unsupported, or cannot
1396//   be used. The returned message provides an explanation of the error value.
1397//
1398//   * InternalServerException
1399//   AWS RoboMaker experienced a service issue. Try your call again.
1400//
1401//   * ThrottlingException
1402//   AWS RoboMaker is temporarily unable to process the request. Try your call
1403//   again.
1404//
1405//   * LimitExceededException
1406//   The requested resource exceeds the maximum number allowed, or the number
1407//   of concurrent stream requests exceeds the maximum number allowed.
1408//
1409//   * IdempotentParameterMismatchException
1410//   The request uses the same client token as a previous, but non-identical request.
1411//   Do not reuse a client token with different requests, unless the requests
1412//   are identical.
1413//
1414//   * ServiceUnavailableException
1415//   The request has failed due to a temporary failure of the server.
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
1418func (c *RoboMaker) CreateSimulationJob(input *CreateSimulationJobInput) (*CreateSimulationJobOutput, error) {
1419	req, out := c.CreateSimulationJobRequest(input)
1420	return out, req.Send()
1421}
1422
1423// CreateSimulationJobWithContext is the same as CreateSimulationJob with the addition of
1424// the ability to pass a context and additional request options.
1425//
1426// See CreateSimulationJob for details on how to use this API operation.
1427//
1428// The context must be non-nil and will be used for request cancellation. If
1429// the context is nil a panic will occur. In the future the SDK may create
1430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1431// for more information on using Contexts.
1432func (c *RoboMaker) CreateSimulationJobWithContext(ctx aws.Context, input *CreateSimulationJobInput, opts ...request.Option) (*CreateSimulationJobOutput, error) {
1433	req, out := c.CreateSimulationJobRequest(input)
1434	req.SetContext(ctx)
1435	req.ApplyOptions(opts...)
1436	return out, req.Send()
1437}
1438
1439const opCreateWorldExportJob = "CreateWorldExportJob"
1440
1441// CreateWorldExportJobRequest generates a "aws/request.Request" representing the
1442// client's request for the CreateWorldExportJob operation. The "output" return
1443// value will be populated with the request's response once the request completes
1444// successfully.
1445//
1446// Use "Send" method on the returned Request to send the API call to the service.
1447// the "output" return value is not valid until after Send returns without error.
1448//
1449// See CreateWorldExportJob for more information on using the CreateWorldExportJob
1450// API call, and error handling.
1451//
1452// This method is useful when you want to inject custom logic or configuration
1453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1454//
1455//
1456//    // Example sending a request using the CreateWorldExportJobRequest method.
1457//    req, resp := client.CreateWorldExportJobRequest(params)
1458//
1459//    err := req.Send()
1460//    if err == nil { // resp is now filled
1461//        fmt.Println(resp)
1462//    }
1463//
1464// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldExportJob
1465func (c *RoboMaker) CreateWorldExportJobRequest(input *CreateWorldExportJobInput) (req *request.Request, output *CreateWorldExportJobOutput) {
1466	op := &request.Operation{
1467		Name:       opCreateWorldExportJob,
1468		HTTPMethod: "POST",
1469		HTTPPath:   "/createWorldExportJob",
1470	}
1471
1472	if input == nil {
1473		input = &CreateWorldExportJobInput{}
1474	}
1475
1476	output = &CreateWorldExportJobOutput{}
1477	req = c.newRequest(op, input, output)
1478	return
1479}
1480
1481// CreateWorldExportJob API operation for AWS RoboMaker.
1482//
1483// Creates a world export job.
1484//
1485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1486// with awserr.Error's Code and Message methods to get detailed information about
1487// the error.
1488//
1489// See the AWS API reference guide for AWS RoboMaker's
1490// API operation CreateWorldExportJob for usage and error information.
1491//
1492// Returned Error Types:
1493//   * ResourceNotFoundException
1494//   The specified resource does not exist.
1495//
1496//   * InvalidParameterException
1497//   A parameter specified in a request is not valid, is unsupported, or cannot
1498//   be used. The returned message provides an explanation of the error value.
1499//
1500//   * InternalServerException
1501//   AWS RoboMaker experienced a service issue. Try your call again.
1502//
1503//   * ThrottlingException
1504//   AWS RoboMaker is temporarily unable to process the request. Try your call
1505//   again.
1506//
1507//   * IdempotentParameterMismatchException
1508//   The request uses the same client token as a previous, but non-identical request.
1509//   Do not reuse a client token with different requests, unless the requests
1510//   are identical.
1511//
1512//   * ServiceUnavailableException
1513//   The request has failed due to a temporary failure of the server.
1514//
1515// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldExportJob
1516func (c *RoboMaker) CreateWorldExportJob(input *CreateWorldExportJobInput) (*CreateWorldExportJobOutput, error) {
1517	req, out := c.CreateWorldExportJobRequest(input)
1518	return out, req.Send()
1519}
1520
1521// CreateWorldExportJobWithContext is the same as CreateWorldExportJob with the addition of
1522// the ability to pass a context and additional request options.
1523//
1524// See CreateWorldExportJob for details on how to use this API operation.
1525//
1526// The context must be non-nil and will be used for request cancellation. If
1527// the context is nil a panic will occur. In the future the SDK may create
1528// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1529// for more information on using Contexts.
1530func (c *RoboMaker) CreateWorldExportJobWithContext(ctx aws.Context, input *CreateWorldExportJobInput, opts ...request.Option) (*CreateWorldExportJobOutput, error) {
1531	req, out := c.CreateWorldExportJobRequest(input)
1532	req.SetContext(ctx)
1533	req.ApplyOptions(opts...)
1534	return out, req.Send()
1535}
1536
1537const opCreateWorldGenerationJob = "CreateWorldGenerationJob"
1538
1539// CreateWorldGenerationJobRequest generates a "aws/request.Request" representing the
1540// client's request for the CreateWorldGenerationJob operation. The "output" return
1541// value will be populated with the request's response once the request completes
1542// successfully.
1543//
1544// Use "Send" method on the returned Request to send the API call to the service.
1545// the "output" return value is not valid until after Send returns without error.
1546//
1547// See CreateWorldGenerationJob for more information on using the CreateWorldGenerationJob
1548// API call, and error handling.
1549//
1550// This method is useful when you want to inject custom logic or configuration
1551// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1552//
1553//
1554//    // Example sending a request using the CreateWorldGenerationJobRequest method.
1555//    req, resp := client.CreateWorldGenerationJobRequest(params)
1556//
1557//    err := req.Send()
1558//    if err == nil { // resp is now filled
1559//        fmt.Println(resp)
1560//    }
1561//
1562// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldGenerationJob
1563func (c *RoboMaker) CreateWorldGenerationJobRequest(input *CreateWorldGenerationJobInput) (req *request.Request, output *CreateWorldGenerationJobOutput) {
1564	op := &request.Operation{
1565		Name:       opCreateWorldGenerationJob,
1566		HTTPMethod: "POST",
1567		HTTPPath:   "/createWorldGenerationJob",
1568	}
1569
1570	if input == nil {
1571		input = &CreateWorldGenerationJobInput{}
1572	}
1573
1574	output = &CreateWorldGenerationJobOutput{}
1575	req = c.newRequest(op, input, output)
1576	return
1577}
1578
1579// CreateWorldGenerationJob API operation for AWS RoboMaker.
1580//
1581// Creates worlds using the specified template.
1582//
1583// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1584// with awserr.Error's Code and Message methods to get detailed information about
1585// the error.
1586//
1587// See the AWS API reference guide for AWS RoboMaker's
1588// API operation CreateWorldGenerationJob for usage and error information.
1589//
1590// Returned Error Types:
1591//   * ResourceNotFoundException
1592//   The specified resource does not exist.
1593//
1594//   * InvalidParameterException
1595//   A parameter specified in a request is not valid, is unsupported, or cannot
1596//   be used. The returned message provides an explanation of the error value.
1597//
1598//   * InternalServerException
1599//   AWS RoboMaker experienced a service issue. Try your call again.
1600//
1601//   * ThrottlingException
1602//   AWS RoboMaker is temporarily unable to process the request. Try your call
1603//   again.
1604//
1605//   * LimitExceededException
1606//   The requested resource exceeds the maximum number allowed, or the number
1607//   of concurrent stream requests exceeds the maximum number allowed.
1608//
1609//   * IdempotentParameterMismatchException
1610//   The request uses the same client token as a previous, but non-identical request.
1611//   Do not reuse a client token with different requests, unless the requests
1612//   are identical.
1613//
1614//   * ServiceUnavailableException
1615//   The request has failed due to a temporary failure of the server.
1616//
1617// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldGenerationJob
1618func (c *RoboMaker) CreateWorldGenerationJob(input *CreateWorldGenerationJobInput) (*CreateWorldGenerationJobOutput, error) {
1619	req, out := c.CreateWorldGenerationJobRequest(input)
1620	return out, req.Send()
1621}
1622
1623// CreateWorldGenerationJobWithContext is the same as CreateWorldGenerationJob with the addition of
1624// the ability to pass a context and additional request options.
1625//
1626// See CreateWorldGenerationJob for details on how to use this API operation.
1627//
1628// The context must be non-nil and will be used for request cancellation. If
1629// the context is nil a panic will occur. In the future the SDK may create
1630// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1631// for more information on using Contexts.
1632func (c *RoboMaker) CreateWorldGenerationJobWithContext(ctx aws.Context, input *CreateWorldGenerationJobInput, opts ...request.Option) (*CreateWorldGenerationJobOutput, error) {
1633	req, out := c.CreateWorldGenerationJobRequest(input)
1634	req.SetContext(ctx)
1635	req.ApplyOptions(opts...)
1636	return out, req.Send()
1637}
1638
1639const opCreateWorldTemplate = "CreateWorldTemplate"
1640
1641// CreateWorldTemplateRequest generates a "aws/request.Request" representing the
1642// client's request for the CreateWorldTemplate operation. The "output" return
1643// value will be populated with the request's response once the request completes
1644// successfully.
1645//
1646// Use "Send" method on the returned Request to send the API call to the service.
1647// the "output" return value is not valid until after Send returns without error.
1648//
1649// See CreateWorldTemplate for more information on using the CreateWorldTemplate
1650// API call, and error handling.
1651//
1652// This method is useful when you want to inject custom logic or configuration
1653// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1654//
1655//
1656//    // Example sending a request using the CreateWorldTemplateRequest method.
1657//    req, resp := client.CreateWorldTemplateRequest(params)
1658//
1659//    err := req.Send()
1660//    if err == nil { // resp is now filled
1661//        fmt.Println(resp)
1662//    }
1663//
1664// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldTemplate
1665func (c *RoboMaker) CreateWorldTemplateRequest(input *CreateWorldTemplateInput) (req *request.Request, output *CreateWorldTemplateOutput) {
1666	op := &request.Operation{
1667		Name:       opCreateWorldTemplate,
1668		HTTPMethod: "POST",
1669		HTTPPath:   "/createWorldTemplate",
1670	}
1671
1672	if input == nil {
1673		input = &CreateWorldTemplateInput{}
1674	}
1675
1676	output = &CreateWorldTemplateOutput{}
1677	req = c.newRequest(op, input, output)
1678	return
1679}
1680
1681// CreateWorldTemplate API operation for AWS RoboMaker.
1682//
1683// Creates a world template.
1684//
1685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1686// with awserr.Error's Code and Message methods to get detailed information about
1687// the error.
1688//
1689// See the AWS API reference guide for AWS RoboMaker's
1690// API operation CreateWorldTemplate for usage and error information.
1691//
1692// Returned Error Types:
1693//   * InvalidParameterException
1694//   A parameter specified in a request is not valid, is unsupported, or cannot
1695//   be used. The returned message provides an explanation of the error value.
1696//
1697//   * ResourceAlreadyExistsException
1698//   The specified resource already exists.
1699//
1700//   * ResourceNotFoundException
1701//   The specified resource does not exist.
1702//
1703//   * LimitExceededException
1704//   The requested resource exceeds the maximum number allowed, or the number
1705//   of concurrent stream requests exceeds the maximum number allowed.
1706//
1707//   * ThrottlingException
1708//   AWS RoboMaker is temporarily unable to process the request. Try your call
1709//   again.
1710//
1711//   * InternalServerException
1712//   AWS RoboMaker experienced a service issue. Try your call again.
1713//
1714// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateWorldTemplate
1715func (c *RoboMaker) CreateWorldTemplate(input *CreateWorldTemplateInput) (*CreateWorldTemplateOutput, error) {
1716	req, out := c.CreateWorldTemplateRequest(input)
1717	return out, req.Send()
1718}
1719
1720// CreateWorldTemplateWithContext is the same as CreateWorldTemplate with the addition of
1721// the ability to pass a context and additional request options.
1722//
1723// See CreateWorldTemplate for details on how to use this API operation.
1724//
1725// The context must be non-nil and will be used for request cancellation. If
1726// the context is nil a panic will occur. In the future the SDK may create
1727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1728// for more information on using Contexts.
1729func (c *RoboMaker) CreateWorldTemplateWithContext(ctx aws.Context, input *CreateWorldTemplateInput, opts ...request.Option) (*CreateWorldTemplateOutput, error) {
1730	req, out := c.CreateWorldTemplateRequest(input)
1731	req.SetContext(ctx)
1732	req.ApplyOptions(opts...)
1733	return out, req.Send()
1734}
1735
1736const opDeleteFleet = "DeleteFleet"
1737
1738// DeleteFleetRequest generates a "aws/request.Request" representing the
1739// client's request for the DeleteFleet operation. The "output" return
1740// value will be populated with the request's response once the request completes
1741// successfully.
1742//
1743// Use "Send" method on the returned Request to send the API call to the service.
1744// the "output" return value is not valid until after Send returns without error.
1745//
1746// See DeleteFleet for more information on using the DeleteFleet
1747// API call, and error handling.
1748//
1749// This method is useful when you want to inject custom logic or configuration
1750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1751//
1752//
1753//    // Example sending a request using the DeleteFleetRequest method.
1754//    req, resp := client.DeleteFleetRequest(params)
1755//
1756//    err := req.Send()
1757//    if err == nil { // resp is now filled
1758//        fmt.Println(resp)
1759//    }
1760//
1761// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
1762func (c *RoboMaker) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
1763	op := &request.Operation{
1764		Name:       opDeleteFleet,
1765		HTTPMethod: "POST",
1766		HTTPPath:   "/deleteFleet",
1767	}
1768
1769	if input == nil {
1770		input = &DeleteFleetInput{}
1771	}
1772
1773	output = &DeleteFleetOutput{}
1774	req = c.newRequest(op, input, output)
1775	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1776	return
1777}
1778
1779// DeleteFleet API operation for AWS RoboMaker.
1780//
1781// Deletes a fleet.
1782//
1783// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1784// with awserr.Error's Code and Message methods to get detailed information about
1785// the error.
1786//
1787// See the AWS API reference guide for AWS RoboMaker's
1788// API operation DeleteFleet for usage and error information.
1789//
1790// Returned Error Types:
1791//   * InvalidParameterException
1792//   A parameter specified in a request is not valid, is unsupported, or cannot
1793//   be used. The returned message provides an explanation of the error value.
1794//
1795//   * InternalServerException
1796//   AWS RoboMaker experienced a service issue. Try your call again.
1797//
1798//   * ThrottlingException
1799//   AWS RoboMaker is temporarily unable to process the request. Try your call
1800//   again.
1801//
1802// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
1803func (c *RoboMaker) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
1804	req, out := c.DeleteFleetRequest(input)
1805	return out, req.Send()
1806}
1807
1808// DeleteFleetWithContext is the same as DeleteFleet with the addition of
1809// the ability to pass a context and additional request options.
1810//
1811// See DeleteFleet for details on how to use this API operation.
1812//
1813// The context must be non-nil and will be used for request cancellation. If
1814// the context is nil a panic will occur. In the future the SDK may create
1815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1816// for more information on using Contexts.
1817func (c *RoboMaker) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
1818	req, out := c.DeleteFleetRequest(input)
1819	req.SetContext(ctx)
1820	req.ApplyOptions(opts...)
1821	return out, req.Send()
1822}
1823
1824const opDeleteRobot = "DeleteRobot"
1825
1826// DeleteRobotRequest generates a "aws/request.Request" representing the
1827// client's request for the DeleteRobot operation. The "output" return
1828// value will be populated with the request's response once the request completes
1829// successfully.
1830//
1831// Use "Send" method on the returned Request to send the API call to the service.
1832// the "output" return value is not valid until after Send returns without error.
1833//
1834// See DeleteRobot for more information on using the DeleteRobot
1835// API call, and error handling.
1836//
1837// This method is useful when you want to inject custom logic or configuration
1838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1839//
1840//
1841//    // Example sending a request using the DeleteRobotRequest method.
1842//    req, resp := client.DeleteRobotRequest(params)
1843//
1844//    err := req.Send()
1845//    if err == nil { // resp is now filled
1846//        fmt.Println(resp)
1847//    }
1848//
1849// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
1850func (c *RoboMaker) DeleteRobotRequest(input *DeleteRobotInput) (req *request.Request, output *DeleteRobotOutput) {
1851	op := &request.Operation{
1852		Name:       opDeleteRobot,
1853		HTTPMethod: "POST",
1854		HTTPPath:   "/deleteRobot",
1855	}
1856
1857	if input == nil {
1858		input = &DeleteRobotInput{}
1859	}
1860
1861	output = &DeleteRobotOutput{}
1862	req = c.newRequest(op, input, output)
1863	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1864	return
1865}
1866
1867// DeleteRobot API operation for AWS RoboMaker.
1868//
1869// Deletes a robot.
1870//
1871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1872// with awserr.Error's Code and Message methods to get detailed information about
1873// the error.
1874//
1875// See the AWS API reference guide for AWS RoboMaker's
1876// API operation DeleteRobot for usage and error information.
1877//
1878// Returned Error Types:
1879//   * InvalidParameterException
1880//   A parameter specified in a request is not valid, is unsupported, or cannot
1881//   be used. The returned message provides an explanation of the error value.
1882//
1883//   * InternalServerException
1884//   AWS RoboMaker experienced a service issue. Try your call again.
1885//
1886//   * ThrottlingException
1887//   AWS RoboMaker is temporarily unable to process the request. Try your call
1888//   again.
1889//
1890// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
1891func (c *RoboMaker) DeleteRobot(input *DeleteRobotInput) (*DeleteRobotOutput, error) {
1892	req, out := c.DeleteRobotRequest(input)
1893	return out, req.Send()
1894}
1895
1896// DeleteRobotWithContext is the same as DeleteRobot with the addition of
1897// the ability to pass a context and additional request options.
1898//
1899// See DeleteRobot for details on how to use this API operation.
1900//
1901// The context must be non-nil and will be used for request cancellation. If
1902// the context is nil a panic will occur. In the future the SDK may create
1903// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1904// for more information on using Contexts.
1905func (c *RoboMaker) DeleteRobotWithContext(ctx aws.Context, input *DeleteRobotInput, opts ...request.Option) (*DeleteRobotOutput, error) {
1906	req, out := c.DeleteRobotRequest(input)
1907	req.SetContext(ctx)
1908	req.ApplyOptions(opts...)
1909	return out, req.Send()
1910}
1911
1912const opDeleteRobotApplication = "DeleteRobotApplication"
1913
1914// DeleteRobotApplicationRequest generates a "aws/request.Request" representing the
1915// client's request for the DeleteRobotApplication operation. The "output" return
1916// value will be populated with the request's response once the request completes
1917// successfully.
1918//
1919// Use "Send" method on the returned Request to send the API call to the service.
1920// the "output" return value is not valid until after Send returns without error.
1921//
1922// See DeleteRobotApplication for more information on using the DeleteRobotApplication
1923// API call, and error handling.
1924//
1925// This method is useful when you want to inject custom logic or configuration
1926// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1927//
1928//
1929//    // Example sending a request using the DeleteRobotApplicationRequest method.
1930//    req, resp := client.DeleteRobotApplicationRequest(params)
1931//
1932//    err := req.Send()
1933//    if err == nil { // resp is now filled
1934//        fmt.Println(resp)
1935//    }
1936//
1937// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
1938func (c *RoboMaker) DeleteRobotApplicationRequest(input *DeleteRobotApplicationInput) (req *request.Request, output *DeleteRobotApplicationOutput) {
1939	op := &request.Operation{
1940		Name:       opDeleteRobotApplication,
1941		HTTPMethod: "POST",
1942		HTTPPath:   "/deleteRobotApplication",
1943	}
1944
1945	if input == nil {
1946		input = &DeleteRobotApplicationInput{}
1947	}
1948
1949	output = &DeleteRobotApplicationOutput{}
1950	req = c.newRequest(op, input, output)
1951	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1952	return
1953}
1954
1955// DeleteRobotApplication API operation for AWS RoboMaker.
1956//
1957// Deletes a robot application.
1958//
1959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1960// with awserr.Error's Code and Message methods to get detailed information about
1961// the error.
1962//
1963// See the AWS API reference guide for AWS RoboMaker's
1964// API operation DeleteRobotApplication for usage and error information.
1965//
1966// Returned Error Types:
1967//   * InvalidParameterException
1968//   A parameter specified in a request is not valid, is unsupported, or cannot
1969//   be used. The returned message provides an explanation of the error value.
1970//
1971//   * ThrottlingException
1972//   AWS RoboMaker is temporarily unable to process the request. Try your call
1973//   again.
1974//
1975//   * InternalServerException
1976//   AWS RoboMaker experienced a service issue. Try your call again.
1977//
1978// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
1979func (c *RoboMaker) DeleteRobotApplication(input *DeleteRobotApplicationInput) (*DeleteRobotApplicationOutput, error) {
1980	req, out := c.DeleteRobotApplicationRequest(input)
1981	return out, req.Send()
1982}
1983
1984// DeleteRobotApplicationWithContext is the same as DeleteRobotApplication with the addition of
1985// the ability to pass a context and additional request options.
1986//
1987// See DeleteRobotApplication for details on how to use this API operation.
1988//
1989// The context must be non-nil and will be used for request cancellation. If
1990// the context is nil a panic will occur. In the future the SDK may create
1991// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1992// for more information on using Contexts.
1993func (c *RoboMaker) DeleteRobotApplicationWithContext(ctx aws.Context, input *DeleteRobotApplicationInput, opts ...request.Option) (*DeleteRobotApplicationOutput, error) {
1994	req, out := c.DeleteRobotApplicationRequest(input)
1995	req.SetContext(ctx)
1996	req.ApplyOptions(opts...)
1997	return out, req.Send()
1998}
1999
2000const opDeleteSimulationApplication = "DeleteSimulationApplication"
2001
2002// DeleteSimulationApplicationRequest generates a "aws/request.Request" representing the
2003// client's request for the DeleteSimulationApplication operation. The "output" return
2004// value will be populated with the request's response once the request completes
2005// successfully.
2006//
2007// Use "Send" method on the returned Request to send the API call to the service.
2008// the "output" return value is not valid until after Send returns without error.
2009//
2010// See DeleteSimulationApplication for more information on using the DeleteSimulationApplication
2011// API call, and error handling.
2012//
2013// This method is useful when you want to inject custom logic or configuration
2014// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2015//
2016//
2017//    // Example sending a request using the DeleteSimulationApplicationRequest method.
2018//    req, resp := client.DeleteSimulationApplicationRequest(params)
2019//
2020//    err := req.Send()
2021//    if err == nil { // resp is now filled
2022//        fmt.Println(resp)
2023//    }
2024//
2025// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
2026func (c *RoboMaker) DeleteSimulationApplicationRequest(input *DeleteSimulationApplicationInput) (req *request.Request, output *DeleteSimulationApplicationOutput) {
2027	op := &request.Operation{
2028		Name:       opDeleteSimulationApplication,
2029		HTTPMethod: "POST",
2030		HTTPPath:   "/deleteSimulationApplication",
2031	}
2032
2033	if input == nil {
2034		input = &DeleteSimulationApplicationInput{}
2035	}
2036
2037	output = &DeleteSimulationApplicationOutput{}
2038	req = c.newRequest(op, input, output)
2039	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2040	return
2041}
2042
2043// DeleteSimulationApplication API operation for AWS RoboMaker.
2044//
2045// Deletes a simulation application.
2046//
2047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2048// with awserr.Error's Code and Message methods to get detailed information about
2049// the error.
2050//
2051// See the AWS API reference guide for AWS RoboMaker's
2052// API operation DeleteSimulationApplication for usage and error information.
2053//
2054// Returned Error Types:
2055//   * InvalidParameterException
2056//   A parameter specified in a request is not valid, is unsupported, or cannot
2057//   be used. The returned message provides an explanation of the error value.
2058//
2059//   * ThrottlingException
2060//   AWS RoboMaker is temporarily unable to process the request. Try your call
2061//   again.
2062//
2063//   * InternalServerException
2064//   AWS RoboMaker experienced a service issue. Try your call again.
2065//
2066// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
2067func (c *RoboMaker) DeleteSimulationApplication(input *DeleteSimulationApplicationInput) (*DeleteSimulationApplicationOutput, error) {
2068	req, out := c.DeleteSimulationApplicationRequest(input)
2069	return out, req.Send()
2070}
2071
2072// DeleteSimulationApplicationWithContext is the same as DeleteSimulationApplication with the addition of
2073// the ability to pass a context and additional request options.
2074//
2075// See DeleteSimulationApplication for details on how to use this API operation.
2076//
2077// The context must be non-nil and will be used for request cancellation. If
2078// the context is nil a panic will occur. In the future the SDK may create
2079// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2080// for more information on using Contexts.
2081func (c *RoboMaker) DeleteSimulationApplicationWithContext(ctx aws.Context, input *DeleteSimulationApplicationInput, opts ...request.Option) (*DeleteSimulationApplicationOutput, error) {
2082	req, out := c.DeleteSimulationApplicationRequest(input)
2083	req.SetContext(ctx)
2084	req.ApplyOptions(opts...)
2085	return out, req.Send()
2086}
2087
2088const opDeleteWorldTemplate = "DeleteWorldTemplate"
2089
2090// DeleteWorldTemplateRequest generates a "aws/request.Request" representing the
2091// client's request for the DeleteWorldTemplate operation. The "output" return
2092// value will be populated with the request's response once the request completes
2093// successfully.
2094//
2095// Use "Send" method on the returned Request to send the API call to the service.
2096// the "output" return value is not valid until after Send returns without error.
2097//
2098// See DeleteWorldTemplate for more information on using the DeleteWorldTemplate
2099// API call, and error handling.
2100//
2101// This method is useful when you want to inject custom logic or configuration
2102// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2103//
2104//
2105//    // Example sending a request using the DeleteWorldTemplateRequest method.
2106//    req, resp := client.DeleteWorldTemplateRequest(params)
2107//
2108//    err := req.Send()
2109//    if err == nil { // resp is now filled
2110//        fmt.Println(resp)
2111//    }
2112//
2113// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteWorldTemplate
2114func (c *RoboMaker) DeleteWorldTemplateRequest(input *DeleteWorldTemplateInput) (req *request.Request, output *DeleteWorldTemplateOutput) {
2115	op := &request.Operation{
2116		Name:       opDeleteWorldTemplate,
2117		HTTPMethod: "POST",
2118		HTTPPath:   "/deleteWorldTemplate",
2119	}
2120
2121	if input == nil {
2122		input = &DeleteWorldTemplateInput{}
2123	}
2124
2125	output = &DeleteWorldTemplateOutput{}
2126	req = c.newRequest(op, input, output)
2127	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2128	return
2129}
2130
2131// DeleteWorldTemplate API operation for AWS RoboMaker.
2132//
2133// Deletes a world template.
2134//
2135// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2136// with awserr.Error's Code and Message methods to get detailed information about
2137// the error.
2138//
2139// See the AWS API reference guide for AWS RoboMaker's
2140// API operation DeleteWorldTemplate for usage and error information.
2141//
2142// Returned Error Types:
2143//   * InvalidParameterException
2144//   A parameter specified in a request is not valid, is unsupported, or cannot
2145//   be used. The returned message provides an explanation of the error value.
2146//
2147//   * ResourceNotFoundException
2148//   The specified resource does not exist.
2149//
2150//   * ThrottlingException
2151//   AWS RoboMaker is temporarily unable to process the request. Try your call
2152//   again.
2153//
2154//   * InternalServerException
2155//   AWS RoboMaker experienced a service issue. Try your call again.
2156//
2157// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteWorldTemplate
2158func (c *RoboMaker) DeleteWorldTemplate(input *DeleteWorldTemplateInput) (*DeleteWorldTemplateOutput, error) {
2159	req, out := c.DeleteWorldTemplateRequest(input)
2160	return out, req.Send()
2161}
2162
2163// DeleteWorldTemplateWithContext is the same as DeleteWorldTemplate with the addition of
2164// the ability to pass a context and additional request options.
2165//
2166// See DeleteWorldTemplate for details on how to use this API operation.
2167//
2168// The context must be non-nil and will be used for request cancellation. If
2169// the context is nil a panic will occur. In the future the SDK may create
2170// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2171// for more information on using Contexts.
2172func (c *RoboMaker) DeleteWorldTemplateWithContext(ctx aws.Context, input *DeleteWorldTemplateInput, opts ...request.Option) (*DeleteWorldTemplateOutput, error) {
2173	req, out := c.DeleteWorldTemplateRequest(input)
2174	req.SetContext(ctx)
2175	req.ApplyOptions(opts...)
2176	return out, req.Send()
2177}
2178
2179const opDeregisterRobot = "DeregisterRobot"
2180
2181// DeregisterRobotRequest generates a "aws/request.Request" representing the
2182// client's request for the DeregisterRobot operation. The "output" return
2183// value will be populated with the request's response once the request completes
2184// successfully.
2185//
2186// Use "Send" method on the returned Request to send the API call to the service.
2187// the "output" return value is not valid until after Send returns without error.
2188//
2189// See DeregisterRobot for more information on using the DeregisterRobot
2190// API call, and error handling.
2191//
2192// This method is useful when you want to inject custom logic or configuration
2193// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2194//
2195//
2196//    // Example sending a request using the DeregisterRobotRequest method.
2197//    req, resp := client.DeregisterRobotRequest(params)
2198//
2199//    err := req.Send()
2200//    if err == nil { // resp is now filled
2201//        fmt.Println(resp)
2202//    }
2203//
2204// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
2205func (c *RoboMaker) DeregisterRobotRequest(input *DeregisterRobotInput) (req *request.Request, output *DeregisterRobotOutput) {
2206	op := &request.Operation{
2207		Name:       opDeregisterRobot,
2208		HTTPMethod: "POST",
2209		HTTPPath:   "/deregisterRobot",
2210	}
2211
2212	if input == nil {
2213		input = &DeregisterRobotInput{}
2214	}
2215
2216	output = &DeregisterRobotOutput{}
2217	req = c.newRequest(op, input, output)
2218	return
2219}
2220
2221// DeregisterRobot API operation for AWS RoboMaker.
2222//
2223// Deregisters a robot.
2224//
2225// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2226// with awserr.Error's Code and Message methods to get detailed information about
2227// the error.
2228//
2229// See the AWS API reference guide for AWS RoboMaker's
2230// API operation DeregisterRobot for usage and error information.
2231//
2232// Returned Error Types:
2233//   * InvalidParameterException
2234//   A parameter specified in a request is not valid, is unsupported, or cannot
2235//   be used. The returned message provides an explanation of the error value.
2236//
2237//   * InternalServerException
2238//   AWS RoboMaker experienced a service issue. Try your call again.
2239//
2240//   * ThrottlingException
2241//   AWS RoboMaker is temporarily unable to process the request. Try your call
2242//   again.
2243//
2244//   * ResourceNotFoundException
2245//   The specified resource does not exist.
2246//
2247// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
2248func (c *RoboMaker) DeregisterRobot(input *DeregisterRobotInput) (*DeregisterRobotOutput, error) {
2249	req, out := c.DeregisterRobotRequest(input)
2250	return out, req.Send()
2251}
2252
2253// DeregisterRobotWithContext is the same as DeregisterRobot with the addition of
2254// the ability to pass a context and additional request options.
2255//
2256// See DeregisterRobot for details on how to use this API operation.
2257//
2258// The context must be non-nil and will be used for request cancellation. If
2259// the context is nil a panic will occur. In the future the SDK may create
2260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2261// for more information on using Contexts.
2262func (c *RoboMaker) DeregisterRobotWithContext(ctx aws.Context, input *DeregisterRobotInput, opts ...request.Option) (*DeregisterRobotOutput, error) {
2263	req, out := c.DeregisterRobotRequest(input)
2264	req.SetContext(ctx)
2265	req.ApplyOptions(opts...)
2266	return out, req.Send()
2267}
2268
2269const opDescribeDeploymentJob = "DescribeDeploymentJob"
2270
2271// DescribeDeploymentJobRequest generates a "aws/request.Request" representing the
2272// client's request for the DescribeDeploymentJob operation. The "output" return
2273// value will be populated with the request's response once the request completes
2274// successfully.
2275//
2276// Use "Send" method on the returned Request to send the API call to the service.
2277// the "output" return value is not valid until after Send returns without error.
2278//
2279// See DescribeDeploymentJob for more information on using the DescribeDeploymentJob
2280// API call, and error handling.
2281//
2282// This method is useful when you want to inject custom logic or configuration
2283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2284//
2285//
2286//    // Example sending a request using the DescribeDeploymentJobRequest method.
2287//    req, resp := client.DescribeDeploymentJobRequest(params)
2288//
2289//    err := req.Send()
2290//    if err == nil { // resp is now filled
2291//        fmt.Println(resp)
2292//    }
2293//
2294// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
2295func (c *RoboMaker) DescribeDeploymentJobRequest(input *DescribeDeploymentJobInput) (req *request.Request, output *DescribeDeploymentJobOutput) {
2296	op := &request.Operation{
2297		Name:       opDescribeDeploymentJob,
2298		HTTPMethod: "POST",
2299		HTTPPath:   "/describeDeploymentJob",
2300	}
2301
2302	if input == nil {
2303		input = &DescribeDeploymentJobInput{}
2304	}
2305
2306	output = &DescribeDeploymentJobOutput{}
2307	req = c.newRequest(op, input, output)
2308	return
2309}
2310
2311// DescribeDeploymentJob API operation for AWS RoboMaker.
2312//
2313// Describes a deployment job.
2314//
2315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2316// with awserr.Error's Code and Message methods to get detailed information about
2317// the error.
2318//
2319// See the AWS API reference guide for AWS RoboMaker's
2320// API operation DescribeDeploymentJob for usage and error information.
2321//
2322// Returned Error Types:
2323//   * ResourceNotFoundException
2324//   The specified resource does not exist.
2325//
2326//   * InvalidParameterException
2327//   A parameter specified in a request is not valid, is unsupported, or cannot
2328//   be used. The returned message provides an explanation of the error value.
2329//
2330//   * InternalServerException
2331//   AWS RoboMaker experienced a service issue. Try your call again.
2332//
2333//   * ThrottlingException
2334//   AWS RoboMaker is temporarily unable to process the request. Try your call
2335//   again.
2336//
2337// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
2338func (c *RoboMaker) DescribeDeploymentJob(input *DescribeDeploymentJobInput) (*DescribeDeploymentJobOutput, error) {
2339	req, out := c.DescribeDeploymentJobRequest(input)
2340	return out, req.Send()
2341}
2342
2343// DescribeDeploymentJobWithContext is the same as DescribeDeploymentJob with the addition of
2344// the ability to pass a context and additional request options.
2345//
2346// See DescribeDeploymentJob for details on how to use this API operation.
2347//
2348// The context must be non-nil and will be used for request cancellation. If
2349// the context is nil a panic will occur. In the future the SDK may create
2350// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2351// for more information on using Contexts.
2352func (c *RoboMaker) DescribeDeploymentJobWithContext(ctx aws.Context, input *DescribeDeploymentJobInput, opts ...request.Option) (*DescribeDeploymentJobOutput, error) {
2353	req, out := c.DescribeDeploymentJobRequest(input)
2354	req.SetContext(ctx)
2355	req.ApplyOptions(opts...)
2356	return out, req.Send()
2357}
2358
2359const opDescribeFleet = "DescribeFleet"
2360
2361// DescribeFleetRequest generates a "aws/request.Request" representing the
2362// client's request for the DescribeFleet operation. The "output" return
2363// value will be populated with the request's response once the request completes
2364// successfully.
2365//
2366// Use "Send" method on the returned Request to send the API call to the service.
2367// the "output" return value is not valid until after Send returns without error.
2368//
2369// See DescribeFleet for more information on using the DescribeFleet
2370// API call, and error handling.
2371//
2372// This method is useful when you want to inject custom logic or configuration
2373// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2374//
2375//
2376//    // Example sending a request using the DescribeFleetRequest method.
2377//    req, resp := client.DescribeFleetRequest(params)
2378//
2379//    err := req.Send()
2380//    if err == nil { // resp is now filled
2381//        fmt.Println(resp)
2382//    }
2383//
2384// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
2385func (c *RoboMaker) DescribeFleetRequest(input *DescribeFleetInput) (req *request.Request, output *DescribeFleetOutput) {
2386	op := &request.Operation{
2387		Name:       opDescribeFleet,
2388		HTTPMethod: "POST",
2389		HTTPPath:   "/describeFleet",
2390	}
2391
2392	if input == nil {
2393		input = &DescribeFleetInput{}
2394	}
2395
2396	output = &DescribeFleetOutput{}
2397	req = c.newRequest(op, input, output)
2398	return
2399}
2400
2401// DescribeFleet API operation for AWS RoboMaker.
2402//
2403// Describes a fleet.
2404//
2405// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2406// with awserr.Error's Code and Message methods to get detailed information about
2407// the error.
2408//
2409// See the AWS API reference guide for AWS RoboMaker's
2410// API operation DescribeFleet for usage and error information.
2411//
2412// Returned Error Types:
2413//   * ResourceNotFoundException
2414//   The specified resource does not exist.
2415//
2416//   * InvalidParameterException
2417//   A parameter specified in a request is not valid, is unsupported, or cannot
2418//   be used. The returned message provides an explanation of the error value.
2419//
2420//   * InternalServerException
2421//   AWS RoboMaker experienced a service issue. Try your call again.
2422//
2423//   * ThrottlingException
2424//   AWS RoboMaker is temporarily unable to process the request. Try your call
2425//   again.
2426//
2427// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
2428func (c *RoboMaker) DescribeFleet(input *DescribeFleetInput) (*DescribeFleetOutput, error) {
2429	req, out := c.DescribeFleetRequest(input)
2430	return out, req.Send()
2431}
2432
2433// DescribeFleetWithContext is the same as DescribeFleet with the addition of
2434// the ability to pass a context and additional request options.
2435//
2436// See DescribeFleet for details on how to use this API operation.
2437//
2438// The context must be non-nil and will be used for request cancellation. If
2439// the context is nil a panic will occur. In the future the SDK may create
2440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2441// for more information on using Contexts.
2442func (c *RoboMaker) DescribeFleetWithContext(ctx aws.Context, input *DescribeFleetInput, opts ...request.Option) (*DescribeFleetOutput, error) {
2443	req, out := c.DescribeFleetRequest(input)
2444	req.SetContext(ctx)
2445	req.ApplyOptions(opts...)
2446	return out, req.Send()
2447}
2448
2449const opDescribeRobot = "DescribeRobot"
2450
2451// DescribeRobotRequest generates a "aws/request.Request" representing the
2452// client's request for the DescribeRobot operation. The "output" return
2453// value will be populated with the request's response once the request completes
2454// successfully.
2455//
2456// Use "Send" method on the returned Request to send the API call to the service.
2457// the "output" return value is not valid until after Send returns without error.
2458//
2459// See DescribeRobot for more information on using the DescribeRobot
2460// API call, and error handling.
2461//
2462// This method is useful when you want to inject custom logic or configuration
2463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2464//
2465//
2466//    // Example sending a request using the DescribeRobotRequest method.
2467//    req, resp := client.DescribeRobotRequest(params)
2468//
2469//    err := req.Send()
2470//    if err == nil { // resp is now filled
2471//        fmt.Println(resp)
2472//    }
2473//
2474// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
2475func (c *RoboMaker) DescribeRobotRequest(input *DescribeRobotInput) (req *request.Request, output *DescribeRobotOutput) {
2476	op := &request.Operation{
2477		Name:       opDescribeRobot,
2478		HTTPMethod: "POST",
2479		HTTPPath:   "/describeRobot",
2480	}
2481
2482	if input == nil {
2483		input = &DescribeRobotInput{}
2484	}
2485
2486	output = &DescribeRobotOutput{}
2487	req = c.newRequest(op, input, output)
2488	return
2489}
2490
2491// DescribeRobot API operation for AWS RoboMaker.
2492//
2493// Describes a robot.
2494//
2495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2496// with awserr.Error's Code and Message methods to get detailed information about
2497// the error.
2498//
2499// See the AWS API reference guide for AWS RoboMaker's
2500// API operation DescribeRobot for usage and error information.
2501//
2502// Returned Error Types:
2503//   * ResourceNotFoundException
2504//   The specified resource does not exist.
2505//
2506//   * InvalidParameterException
2507//   A parameter specified in a request is not valid, is unsupported, or cannot
2508//   be used. The returned message provides an explanation of the error value.
2509//
2510//   * InternalServerException
2511//   AWS RoboMaker experienced a service issue. Try your call again.
2512//
2513//   * ThrottlingException
2514//   AWS RoboMaker is temporarily unable to process the request. Try your call
2515//   again.
2516//
2517// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
2518func (c *RoboMaker) DescribeRobot(input *DescribeRobotInput) (*DescribeRobotOutput, error) {
2519	req, out := c.DescribeRobotRequest(input)
2520	return out, req.Send()
2521}
2522
2523// DescribeRobotWithContext is the same as DescribeRobot with the addition of
2524// the ability to pass a context and additional request options.
2525//
2526// See DescribeRobot for details on how to use this API operation.
2527//
2528// The context must be non-nil and will be used for request cancellation. If
2529// the context is nil a panic will occur. In the future the SDK may create
2530// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2531// for more information on using Contexts.
2532func (c *RoboMaker) DescribeRobotWithContext(ctx aws.Context, input *DescribeRobotInput, opts ...request.Option) (*DescribeRobotOutput, error) {
2533	req, out := c.DescribeRobotRequest(input)
2534	req.SetContext(ctx)
2535	req.ApplyOptions(opts...)
2536	return out, req.Send()
2537}
2538
2539const opDescribeRobotApplication = "DescribeRobotApplication"
2540
2541// DescribeRobotApplicationRequest generates a "aws/request.Request" representing the
2542// client's request for the DescribeRobotApplication operation. The "output" return
2543// value will be populated with the request's response once the request completes
2544// successfully.
2545//
2546// Use "Send" method on the returned Request to send the API call to the service.
2547// the "output" return value is not valid until after Send returns without error.
2548//
2549// See DescribeRobotApplication for more information on using the DescribeRobotApplication
2550// API call, and error handling.
2551//
2552// This method is useful when you want to inject custom logic or configuration
2553// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2554//
2555//
2556//    // Example sending a request using the DescribeRobotApplicationRequest method.
2557//    req, resp := client.DescribeRobotApplicationRequest(params)
2558//
2559//    err := req.Send()
2560//    if err == nil { // resp is now filled
2561//        fmt.Println(resp)
2562//    }
2563//
2564// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
2565func (c *RoboMaker) DescribeRobotApplicationRequest(input *DescribeRobotApplicationInput) (req *request.Request, output *DescribeRobotApplicationOutput) {
2566	op := &request.Operation{
2567		Name:       opDescribeRobotApplication,
2568		HTTPMethod: "POST",
2569		HTTPPath:   "/describeRobotApplication",
2570	}
2571
2572	if input == nil {
2573		input = &DescribeRobotApplicationInput{}
2574	}
2575
2576	output = &DescribeRobotApplicationOutput{}
2577	req = c.newRequest(op, input, output)
2578	return
2579}
2580
2581// DescribeRobotApplication API operation for AWS RoboMaker.
2582//
2583// Describes a robot application.
2584//
2585// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2586// with awserr.Error's Code and Message methods to get detailed information about
2587// the error.
2588//
2589// See the AWS API reference guide for AWS RoboMaker's
2590// API operation DescribeRobotApplication for usage and error information.
2591//
2592// Returned Error Types:
2593//   * InvalidParameterException
2594//   A parameter specified in a request is not valid, is unsupported, or cannot
2595//   be used. The returned message provides an explanation of the error value.
2596//
2597//   * ResourceNotFoundException
2598//   The specified resource does not exist.
2599//
2600//   * ThrottlingException
2601//   AWS RoboMaker is temporarily unable to process the request. Try your call
2602//   again.
2603//
2604//   * InternalServerException
2605//   AWS RoboMaker experienced a service issue. Try your call again.
2606//
2607// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
2608func (c *RoboMaker) DescribeRobotApplication(input *DescribeRobotApplicationInput) (*DescribeRobotApplicationOutput, error) {
2609	req, out := c.DescribeRobotApplicationRequest(input)
2610	return out, req.Send()
2611}
2612
2613// DescribeRobotApplicationWithContext is the same as DescribeRobotApplication with the addition of
2614// the ability to pass a context and additional request options.
2615//
2616// See DescribeRobotApplication for details on how to use this API operation.
2617//
2618// The context must be non-nil and will be used for request cancellation. If
2619// the context is nil a panic will occur. In the future the SDK may create
2620// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2621// for more information on using Contexts.
2622func (c *RoboMaker) DescribeRobotApplicationWithContext(ctx aws.Context, input *DescribeRobotApplicationInput, opts ...request.Option) (*DescribeRobotApplicationOutput, error) {
2623	req, out := c.DescribeRobotApplicationRequest(input)
2624	req.SetContext(ctx)
2625	req.ApplyOptions(opts...)
2626	return out, req.Send()
2627}
2628
2629const opDescribeSimulationApplication = "DescribeSimulationApplication"
2630
2631// DescribeSimulationApplicationRequest generates a "aws/request.Request" representing the
2632// client's request for the DescribeSimulationApplication operation. The "output" return
2633// value will be populated with the request's response once the request completes
2634// successfully.
2635//
2636// Use "Send" method on the returned Request to send the API call to the service.
2637// the "output" return value is not valid until after Send returns without error.
2638//
2639// See DescribeSimulationApplication for more information on using the DescribeSimulationApplication
2640// API call, and error handling.
2641//
2642// This method is useful when you want to inject custom logic or configuration
2643// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2644//
2645//
2646//    // Example sending a request using the DescribeSimulationApplicationRequest method.
2647//    req, resp := client.DescribeSimulationApplicationRequest(params)
2648//
2649//    err := req.Send()
2650//    if err == nil { // resp is now filled
2651//        fmt.Println(resp)
2652//    }
2653//
2654// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
2655func (c *RoboMaker) DescribeSimulationApplicationRequest(input *DescribeSimulationApplicationInput) (req *request.Request, output *DescribeSimulationApplicationOutput) {
2656	op := &request.Operation{
2657		Name:       opDescribeSimulationApplication,
2658		HTTPMethod: "POST",
2659		HTTPPath:   "/describeSimulationApplication",
2660	}
2661
2662	if input == nil {
2663		input = &DescribeSimulationApplicationInput{}
2664	}
2665
2666	output = &DescribeSimulationApplicationOutput{}
2667	req = c.newRequest(op, input, output)
2668	return
2669}
2670
2671// DescribeSimulationApplication API operation for AWS RoboMaker.
2672//
2673// Describes a simulation application.
2674//
2675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2676// with awserr.Error's Code and Message methods to get detailed information about
2677// the error.
2678//
2679// See the AWS API reference guide for AWS RoboMaker's
2680// API operation DescribeSimulationApplication for usage and error information.
2681//
2682// Returned Error Types:
2683//   * InvalidParameterException
2684//   A parameter specified in a request is not valid, is unsupported, or cannot
2685//   be used. The returned message provides an explanation of the error value.
2686//
2687//   * ResourceNotFoundException
2688//   The specified resource does not exist.
2689//
2690//   * ThrottlingException
2691//   AWS RoboMaker is temporarily unable to process the request. Try your call
2692//   again.
2693//
2694//   * InternalServerException
2695//   AWS RoboMaker experienced a service issue. Try your call again.
2696//
2697// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
2698func (c *RoboMaker) DescribeSimulationApplication(input *DescribeSimulationApplicationInput) (*DescribeSimulationApplicationOutput, error) {
2699	req, out := c.DescribeSimulationApplicationRequest(input)
2700	return out, req.Send()
2701}
2702
2703// DescribeSimulationApplicationWithContext is the same as DescribeSimulationApplication with the addition of
2704// the ability to pass a context and additional request options.
2705//
2706// See DescribeSimulationApplication for details on how to use this API operation.
2707//
2708// The context must be non-nil and will be used for request cancellation. If
2709// the context is nil a panic will occur. In the future the SDK may create
2710// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2711// for more information on using Contexts.
2712func (c *RoboMaker) DescribeSimulationApplicationWithContext(ctx aws.Context, input *DescribeSimulationApplicationInput, opts ...request.Option) (*DescribeSimulationApplicationOutput, error) {
2713	req, out := c.DescribeSimulationApplicationRequest(input)
2714	req.SetContext(ctx)
2715	req.ApplyOptions(opts...)
2716	return out, req.Send()
2717}
2718
2719const opDescribeSimulationJob = "DescribeSimulationJob"
2720
2721// DescribeSimulationJobRequest generates a "aws/request.Request" representing the
2722// client's request for the DescribeSimulationJob operation. The "output" return
2723// value will be populated with the request's response once the request completes
2724// successfully.
2725//
2726// Use "Send" method on the returned Request to send the API call to the service.
2727// the "output" return value is not valid until after Send returns without error.
2728//
2729// See DescribeSimulationJob for more information on using the DescribeSimulationJob
2730// API call, and error handling.
2731//
2732// This method is useful when you want to inject custom logic or configuration
2733// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2734//
2735//
2736//    // Example sending a request using the DescribeSimulationJobRequest method.
2737//    req, resp := client.DescribeSimulationJobRequest(params)
2738//
2739//    err := req.Send()
2740//    if err == nil { // resp is now filled
2741//        fmt.Println(resp)
2742//    }
2743//
2744// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
2745func (c *RoboMaker) DescribeSimulationJobRequest(input *DescribeSimulationJobInput) (req *request.Request, output *DescribeSimulationJobOutput) {
2746	op := &request.Operation{
2747		Name:       opDescribeSimulationJob,
2748		HTTPMethod: "POST",
2749		HTTPPath:   "/describeSimulationJob",
2750	}
2751
2752	if input == nil {
2753		input = &DescribeSimulationJobInput{}
2754	}
2755
2756	output = &DescribeSimulationJobOutput{}
2757	req = c.newRequest(op, input, output)
2758	return
2759}
2760
2761// DescribeSimulationJob API operation for AWS RoboMaker.
2762//
2763// Describes a simulation job.
2764//
2765// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2766// with awserr.Error's Code and Message methods to get detailed information about
2767// the error.
2768//
2769// See the AWS API reference guide for AWS RoboMaker's
2770// API operation DescribeSimulationJob for usage and error information.
2771//
2772// Returned Error Types:
2773//   * ResourceNotFoundException
2774//   The specified resource does not exist.
2775//
2776//   * InvalidParameterException
2777//   A parameter specified in a request is not valid, is unsupported, or cannot
2778//   be used. The returned message provides an explanation of the error value.
2779//
2780//   * InternalServerException
2781//   AWS RoboMaker experienced a service issue. Try your call again.
2782//
2783//   * ThrottlingException
2784//   AWS RoboMaker is temporarily unable to process the request. Try your call
2785//   again.
2786//
2787// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
2788func (c *RoboMaker) DescribeSimulationJob(input *DescribeSimulationJobInput) (*DescribeSimulationJobOutput, error) {
2789	req, out := c.DescribeSimulationJobRequest(input)
2790	return out, req.Send()
2791}
2792
2793// DescribeSimulationJobWithContext is the same as DescribeSimulationJob with the addition of
2794// the ability to pass a context and additional request options.
2795//
2796// See DescribeSimulationJob for details on how to use this API operation.
2797//
2798// The context must be non-nil and will be used for request cancellation. If
2799// the context is nil a panic will occur. In the future the SDK may create
2800// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2801// for more information on using Contexts.
2802func (c *RoboMaker) DescribeSimulationJobWithContext(ctx aws.Context, input *DescribeSimulationJobInput, opts ...request.Option) (*DescribeSimulationJobOutput, error) {
2803	req, out := c.DescribeSimulationJobRequest(input)
2804	req.SetContext(ctx)
2805	req.ApplyOptions(opts...)
2806	return out, req.Send()
2807}
2808
2809const opDescribeSimulationJobBatch = "DescribeSimulationJobBatch"
2810
2811// DescribeSimulationJobBatchRequest generates a "aws/request.Request" representing the
2812// client's request for the DescribeSimulationJobBatch operation. The "output" return
2813// value will be populated with the request's response once the request completes
2814// successfully.
2815//
2816// Use "Send" method on the returned Request to send the API call to the service.
2817// the "output" return value is not valid until after Send returns without error.
2818//
2819// See DescribeSimulationJobBatch for more information on using the DescribeSimulationJobBatch
2820// API call, and error handling.
2821//
2822// This method is useful when you want to inject custom logic or configuration
2823// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2824//
2825//
2826//    // Example sending a request using the DescribeSimulationJobBatchRequest method.
2827//    req, resp := client.DescribeSimulationJobBatchRequest(params)
2828//
2829//    err := req.Send()
2830//    if err == nil { // resp is now filled
2831//        fmt.Println(resp)
2832//    }
2833//
2834// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJobBatch
2835func (c *RoboMaker) DescribeSimulationJobBatchRequest(input *DescribeSimulationJobBatchInput) (req *request.Request, output *DescribeSimulationJobBatchOutput) {
2836	op := &request.Operation{
2837		Name:       opDescribeSimulationJobBatch,
2838		HTTPMethod: "POST",
2839		HTTPPath:   "/describeSimulationJobBatch",
2840	}
2841
2842	if input == nil {
2843		input = &DescribeSimulationJobBatchInput{}
2844	}
2845
2846	output = &DescribeSimulationJobBatchOutput{}
2847	req = c.newRequest(op, input, output)
2848	return
2849}
2850
2851// DescribeSimulationJobBatch API operation for AWS RoboMaker.
2852//
2853// Describes a simulation job batch.
2854//
2855// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2856// with awserr.Error's Code and Message methods to get detailed information about
2857// the error.
2858//
2859// See the AWS API reference guide for AWS RoboMaker's
2860// API operation DescribeSimulationJobBatch for usage and error information.
2861//
2862// Returned Error Types:
2863//   * ResourceNotFoundException
2864//   The specified resource does not exist.
2865//
2866//   * InvalidParameterException
2867//   A parameter specified in a request is not valid, is unsupported, or cannot
2868//   be used. The returned message provides an explanation of the error value.
2869//
2870//   * InternalServerException
2871//   AWS RoboMaker experienced a service issue. Try your call again.
2872//
2873// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJobBatch
2874func (c *RoboMaker) DescribeSimulationJobBatch(input *DescribeSimulationJobBatchInput) (*DescribeSimulationJobBatchOutput, error) {
2875	req, out := c.DescribeSimulationJobBatchRequest(input)
2876	return out, req.Send()
2877}
2878
2879// DescribeSimulationJobBatchWithContext is the same as DescribeSimulationJobBatch with the addition of
2880// the ability to pass a context and additional request options.
2881//
2882// See DescribeSimulationJobBatch for details on how to use this API operation.
2883//
2884// The context must be non-nil and will be used for request cancellation. If
2885// the context is nil a panic will occur. In the future the SDK may create
2886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2887// for more information on using Contexts.
2888func (c *RoboMaker) DescribeSimulationJobBatchWithContext(ctx aws.Context, input *DescribeSimulationJobBatchInput, opts ...request.Option) (*DescribeSimulationJobBatchOutput, error) {
2889	req, out := c.DescribeSimulationJobBatchRequest(input)
2890	req.SetContext(ctx)
2891	req.ApplyOptions(opts...)
2892	return out, req.Send()
2893}
2894
2895const opDescribeWorld = "DescribeWorld"
2896
2897// DescribeWorldRequest generates a "aws/request.Request" representing the
2898// client's request for the DescribeWorld operation. The "output" return
2899// value will be populated with the request's response once the request completes
2900// successfully.
2901//
2902// Use "Send" method on the returned Request to send the API call to the service.
2903// the "output" return value is not valid until after Send returns without error.
2904//
2905// See DescribeWorld for more information on using the DescribeWorld
2906// API call, and error handling.
2907//
2908// This method is useful when you want to inject custom logic or configuration
2909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2910//
2911//
2912//    // Example sending a request using the DescribeWorldRequest method.
2913//    req, resp := client.DescribeWorldRequest(params)
2914//
2915//    err := req.Send()
2916//    if err == nil { // resp is now filled
2917//        fmt.Println(resp)
2918//    }
2919//
2920// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorld
2921func (c *RoboMaker) DescribeWorldRequest(input *DescribeWorldInput) (req *request.Request, output *DescribeWorldOutput) {
2922	op := &request.Operation{
2923		Name:       opDescribeWorld,
2924		HTTPMethod: "POST",
2925		HTTPPath:   "/describeWorld",
2926	}
2927
2928	if input == nil {
2929		input = &DescribeWorldInput{}
2930	}
2931
2932	output = &DescribeWorldOutput{}
2933	req = c.newRequest(op, input, output)
2934	return
2935}
2936
2937// DescribeWorld API operation for AWS RoboMaker.
2938//
2939// Describes a world.
2940//
2941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2942// with awserr.Error's Code and Message methods to get detailed information about
2943// the error.
2944//
2945// See the AWS API reference guide for AWS RoboMaker's
2946// API operation DescribeWorld for usage and error information.
2947//
2948// Returned Error Types:
2949//   * InvalidParameterException
2950//   A parameter specified in a request is not valid, is unsupported, or cannot
2951//   be used. The returned message provides an explanation of the error value.
2952//
2953//   * ResourceNotFoundException
2954//   The specified resource does not exist.
2955//
2956//   * ThrottlingException
2957//   AWS RoboMaker is temporarily unable to process the request. Try your call
2958//   again.
2959//
2960//   * InternalServerException
2961//   AWS RoboMaker experienced a service issue. Try your call again.
2962//
2963// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorld
2964func (c *RoboMaker) DescribeWorld(input *DescribeWorldInput) (*DescribeWorldOutput, error) {
2965	req, out := c.DescribeWorldRequest(input)
2966	return out, req.Send()
2967}
2968
2969// DescribeWorldWithContext is the same as DescribeWorld with the addition of
2970// the ability to pass a context and additional request options.
2971//
2972// See DescribeWorld for details on how to use this API operation.
2973//
2974// The context must be non-nil and will be used for request cancellation. If
2975// the context is nil a panic will occur. In the future the SDK may create
2976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2977// for more information on using Contexts.
2978func (c *RoboMaker) DescribeWorldWithContext(ctx aws.Context, input *DescribeWorldInput, opts ...request.Option) (*DescribeWorldOutput, error) {
2979	req, out := c.DescribeWorldRequest(input)
2980	req.SetContext(ctx)
2981	req.ApplyOptions(opts...)
2982	return out, req.Send()
2983}
2984
2985const opDescribeWorldExportJob = "DescribeWorldExportJob"
2986
2987// DescribeWorldExportJobRequest generates a "aws/request.Request" representing the
2988// client's request for the DescribeWorldExportJob operation. The "output" return
2989// value will be populated with the request's response once the request completes
2990// successfully.
2991//
2992// Use "Send" method on the returned Request to send the API call to the service.
2993// the "output" return value is not valid until after Send returns without error.
2994//
2995// See DescribeWorldExportJob for more information on using the DescribeWorldExportJob
2996// API call, and error handling.
2997//
2998// This method is useful when you want to inject custom logic or configuration
2999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3000//
3001//
3002//    // Example sending a request using the DescribeWorldExportJobRequest method.
3003//    req, resp := client.DescribeWorldExportJobRequest(params)
3004//
3005//    err := req.Send()
3006//    if err == nil { // resp is now filled
3007//        fmt.Println(resp)
3008//    }
3009//
3010// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldExportJob
3011func (c *RoboMaker) DescribeWorldExportJobRequest(input *DescribeWorldExportJobInput) (req *request.Request, output *DescribeWorldExportJobOutput) {
3012	op := &request.Operation{
3013		Name:       opDescribeWorldExportJob,
3014		HTTPMethod: "POST",
3015		HTTPPath:   "/describeWorldExportJob",
3016	}
3017
3018	if input == nil {
3019		input = &DescribeWorldExportJobInput{}
3020	}
3021
3022	output = &DescribeWorldExportJobOutput{}
3023	req = c.newRequest(op, input, output)
3024	return
3025}
3026
3027// DescribeWorldExportJob API operation for AWS RoboMaker.
3028//
3029// Describes a world export job.
3030//
3031// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3032// with awserr.Error's Code and Message methods to get detailed information about
3033// the error.
3034//
3035// See the AWS API reference guide for AWS RoboMaker's
3036// API operation DescribeWorldExportJob for usage and error information.
3037//
3038// Returned Error Types:
3039//   * ResourceNotFoundException
3040//   The specified resource does not exist.
3041//
3042//   * InvalidParameterException
3043//   A parameter specified in a request is not valid, is unsupported, or cannot
3044//   be used. The returned message provides an explanation of the error value.
3045//
3046//   * InternalServerException
3047//   AWS RoboMaker experienced a service issue. Try your call again.
3048//
3049//   * ThrottlingException
3050//   AWS RoboMaker is temporarily unable to process the request. Try your call
3051//   again.
3052//
3053// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldExportJob
3054func (c *RoboMaker) DescribeWorldExportJob(input *DescribeWorldExportJobInput) (*DescribeWorldExportJobOutput, error) {
3055	req, out := c.DescribeWorldExportJobRequest(input)
3056	return out, req.Send()
3057}
3058
3059// DescribeWorldExportJobWithContext is the same as DescribeWorldExportJob with the addition of
3060// the ability to pass a context and additional request options.
3061//
3062// See DescribeWorldExportJob for details on how to use this API operation.
3063//
3064// The context must be non-nil and will be used for request cancellation. If
3065// the context is nil a panic will occur. In the future the SDK may create
3066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3067// for more information on using Contexts.
3068func (c *RoboMaker) DescribeWorldExportJobWithContext(ctx aws.Context, input *DescribeWorldExportJobInput, opts ...request.Option) (*DescribeWorldExportJobOutput, error) {
3069	req, out := c.DescribeWorldExportJobRequest(input)
3070	req.SetContext(ctx)
3071	req.ApplyOptions(opts...)
3072	return out, req.Send()
3073}
3074
3075const opDescribeWorldGenerationJob = "DescribeWorldGenerationJob"
3076
3077// DescribeWorldGenerationJobRequest generates a "aws/request.Request" representing the
3078// client's request for the DescribeWorldGenerationJob operation. The "output" return
3079// value will be populated with the request's response once the request completes
3080// successfully.
3081//
3082// Use "Send" method on the returned Request to send the API call to the service.
3083// the "output" return value is not valid until after Send returns without error.
3084//
3085// See DescribeWorldGenerationJob for more information on using the DescribeWorldGenerationJob
3086// API call, and error handling.
3087//
3088// This method is useful when you want to inject custom logic or configuration
3089// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3090//
3091//
3092//    // Example sending a request using the DescribeWorldGenerationJobRequest method.
3093//    req, resp := client.DescribeWorldGenerationJobRequest(params)
3094//
3095//    err := req.Send()
3096//    if err == nil { // resp is now filled
3097//        fmt.Println(resp)
3098//    }
3099//
3100// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldGenerationJob
3101func (c *RoboMaker) DescribeWorldGenerationJobRequest(input *DescribeWorldGenerationJobInput) (req *request.Request, output *DescribeWorldGenerationJobOutput) {
3102	op := &request.Operation{
3103		Name:       opDescribeWorldGenerationJob,
3104		HTTPMethod: "POST",
3105		HTTPPath:   "/describeWorldGenerationJob",
3106	}
3107
3108	if input == nil {
3109		input = &DescribeWorldGenerationJobInput{}
3110	}
3111
3112	output = &DescribeWorldGenerationJobOutput{}
3113	req = c.newRequest(op, input, output)
3114	return
3115}
3116
3117// DescribeWorldGenerationJob API operation for AWS RoboMaker.
3118//
3119// Describes a world generation job.
3120//
3121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3122// with awserr.Error's Code and Message methods to get detailed information about
3123// the error.
3124//
3125// See the AWS API reference guide for AWS RoboMaker's
3126// API operation DescribeWorldGenerationJob for usage and error information.
3127//
3128// Returned Error Types:
3129//   * ResourceNotFoundException
3130//   The specified resource does not exist.
3131//
3132//   * InvalidParameterException
3133//   A parameter specified in a request is not valid, is unsupported, or cannot
3134//   be used. The returned message provides an explanation of the error value.
3135//
3136//   * InternalServerException
3137//   AWS RoboMaker experienced a service issue. Try your call again.
3138//
3139//   * ThrottlingException
3140//   AWS RoboMaker is temporarily unable to process the request. Try your call
3141//   again.
3142//
3143// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldGenerationJob
3144func (c *RoboMaker) DescribeWorldGenerationJob(input *DescribeWorldGenerationJobInput) (*DescribeWorldGenerationJobOutput, error) {
3145	req, out := c.DescribeWorldGenerationJobRequest(input)
3146	return out, req.Send()
3147}
3148
3149// DescribeWorldGenerationJobWithContext is the same as DescribeWorldGenerationJob with the addition of
3150// the ability to pass a context and additional request options.
3151//
3152// See DescribeWorldGenerationJob for details on how to use this API operation.
3153//
3154// The context must be non-nil and will be used for request cancellation. If
3155// the context is nil a panic will occur. In the future the SDK may create
3156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3157// for more information on using Contexts.
3158func (c *RoboMaker) DescribeWorldGenerationJobWithContext(ctx aws.Context, input *DescribeWorldGenerationJobInput, opts ...request.Option) (*DescribeWorldGenerationJobOutput, error) {
3159	req, out := c.DescribeWorldGenerationJobRequest(input)
3160	req.SetContext(ctx)
3161	req.ApplyOptions(opts...)
3162	return out, req.Send()
3163}
3164
3165const opDescribeWorldTemplate = "DescribeWorldTemplate"
3166
3167// DescribeWorldTemplateRequest generates a "aws/request.Request" representing the
3168// client's request for the DescribeWorldTemplate operation. The "output" return
3169// value will be populated with the request's response once the request completes
3170// successfully.
3171//
3172// Use "Send" method on the returned Request to send the API call to the service.
3173// the "output" return value is not valid until after Send returns without error.
3174//
3175// See DescribeWorldTemplate for more information on using the DescribeWorldTemplate
3176// API call, and error handling.
3177//
3178// This method is useful when you want to inject custom logic or configuration
3179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3180//
3181//
3182//    // Example sending a request using the DescribeWorldTemplateRequest method.
3183//    req, resp := client.DescribeWorldTemplateRequest(params)
3184//
3185//    err := req.Send()
3186//    if err == nil { // resp is now filled
3187//        fmt.Println(resp)
3188//    }
3189//
3190// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldTemplate
3191func (c *RoboMaker) DescribeWorldTemplateRequest(input *DescribeWorldTemplateInput) (req *request.Request, output *DescribeWorldTemplateOutput) {
3192	op := &request.Operation{
3193		Name:       opDescribeWorldTemplate,
3194		HTTPMethod: "POST",
3195		HTTPPath:   "/describeWorldTemplate",
3196	}
3197
3198	if input == nil {
3199		input = &DescribeWorldTemplateInput{}
3200	}
3201
3202	output = &DescribeWorldTemplateOutput{}
3203	req = c.newRequest(op, input, output)
3204	return
3205}
3206
3207// DescribeWorldTemplate API operation for AWS RoboMaker.
3208//
3209// Describes a world template.
3210//
3211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3212// with awserr.Error's Code and Message methods to get detailed information about
3213// the error.
3214//
3215// See the AWS API reference guide for AWS RoboMaker's
3216// API operation DescribeWorldTemplate for usage and error information.
3217//
3218// Returned Error Types:
3219//   * InvalidParameterException
3220//   A parameter specified in a request is not valid, is unsupported, or cannot
3221//   be used. The returned message provides an explanation of the error value.
3222//
3223//   * ResourceNotFoundException
3224//   The specified resource does not exist.
3225//
3226//   * ThrottlingException
3227//   AWS RoboMaker is temporarily unable to process the request. Try your call
3228//   again.
3229//
3230//   * InternalServerException
3231//   AWS RoboMaker experienced a service issue. Try your call again.
3232//
3233// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeWorldTemplate
3234func (c *RoboMaker) DescribeWorldTemplate(input *DescribeWorldTemplateInput) (*DescribeWorldTemplateOutput, error) {
3235	req, out := c.DescribeWorldTemplateRequest(input)
3236	return out, req.Send()
3237}
3238
3239// DescribeWorldTemplateWithContext is the same as DescribeWorldTemplate with the addition of
3240// the ability to pass a context and additional request options.
3241//
3242// See DescribeWorldTemplate for details on how to use this API operation.
3243//
3244// The context must be non-nil and will be used for request cancellation. If
3245// the context is nil a panic will occur. In the future the SDK may create
3246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3247// for more information on using Contexts.
3248func (c *RoboMaker) DescribeWorldTemplateWithContext(ctx aws.Context, input *DescribeWorldTemplateInput, opts ...request.Option) (*DescribeWorldTemplateOutput, error) {
3249	req, out := c.DescribeWorldTemplateRequest(input)
3250	req.SetContext(ctx)
3251	req.ApplyOptions(opts...)
3252	return out, req.Send()
3253}
3254
3255const opGetWorldTemplateBody = "GetWorldTemplateBody"
3256
3257// GetWorldTemplateBodyRequest generates a "aws/request.Request" representing the
3258// client's request for the GetWorldTemplateBody operation. The "output" return
3259// value will be populated with the request's response once the request completes
3260// successfully.
3261//
3262// Use "Send" method on the returned Request to send the API call to the service.
3263// the "output" return value is not valid until after Send returns without error.
3264//
3265// See GetWorldTemplateBody for more information on using the GetWorldTemplateBody
3266// API call, and error handling.
3267//
3268// This method is useful when you want to inject custom logic or configuration
3269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3270//
3271//
3272//    // Example sending a request using the GetWorldTemplateBodyRequest method.
3273//    req, resp := client.GetWorldTemplateBodyRequest(params)
3274//
3275//    err := req.Send()
3276//    if err == nil { // resp is now filled
3277//        fmt.Println(resp)
3278//    }
3279//
3280// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/GetWorldTemplateBody
3281func (c *RoboMaker) GetWorldTemplateBodyRequest(input *GetWorldTemplateBodyInput) (req *request.Request, output *GetWorldTemplateBodyOutput) {
3282	op := &request.Operation{
3283		Name:       opGetWorldTemplateBody,
3284		HTTPMethod: "POST",
3285		HTTPPath:   "/getWorldTemplateBody",
3286	}
3287
3288	if input == nil {
3289		input = &GetWorldTemplateBodyInput{}
3290	}
3291
3292	output = &GetWorldTemplateBodyOutput{}
3293	req = c.newRequest(op, input, output)
3294	return
3295}
3296
3297// GetWorldTemplateBody API operation for AWS RoboMaker.
3298//
3299// Gets the world template body.
3300//
3301// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3302// with awserr.Error's Code and Message methods to get detailed information about
3303// the error.
3304//
3305// See the AWS API reference guide for AWS RoboMaker's
3306// API operation GetWorldTemplateBody for usage and error information.
3307//
3308// Returned Error Types:
3309//   * InvalidParameterException
3310//   A parameter specified in a request is not valid, is unsupported, or cannot
3311//   be used. The returned message provides an explanation of the error value.
3312//
3313//   * ResourceNotFoundException
3314//   The specified resource does not exist.
3315//
3316//   * ThrottlingException
3317//   AWS RoboMaker is temporarily unable to process the request. Try your call
3318//   again.
3319//
3320//   * InternalServerException
3321//   AWS RoboMaker experienced a service issue. Try your call again.
3322//
3323// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/GetWorldTemplateBody
3324func (c *RoboMaker) GetWorldTemplateBody(input *GetWorldTemplateBodyInput) (*GetWorldTemplateBodyOutput, error) {
3325	req, out := c.GetWorldTemplateBodyRequest(input)
3326	return out, req.Send()
3327}
3328
3329// GetWorldTemplateBodyWithContext is the same as GetWorldTemplateBody with the addition of
3330// the ability to pass a context and additional request options.
3331//
3332// See GetWorldTemplateBody for details on how to use this API operation.
3333//
3334// The context must be non-nil and will be used for request cancellation. If
3335// the context is nil a panic will occur. In the future the SDK may create
3336// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3337// for more information on using Contexts.
3338func (c *RoboMaker) GetWorldTemplateBodyWithContext(ctx aws.Context, input *GetWorldTemplateBodyInput, opts ...request.Option) (*GetWorldTemplateBodyOutput, error) {
3339	req, out := c.GetWorldTemplateBodyRequest(input)
3340	req.SetContext(ctx)
3341	req.ApplyOptions(opts...)
3342	return out, req.Send()
3343}
3344
3345const opListDeploymentJobs = "ListDeploymentJobs"
3346
3347// ListDeploymentJobsRequest generates a "aws/request.Request" representing the
3348// client's request for the ListDeploymentJobs operation. The "output" return
3349// value will be populated with the request's response once the request completes
3350// successfully.
3351//
3352// Use "Send" method on the returned Request to send the API call to the service.
3353// the "output" return value is not valid until after Send returns without error.
3354//
3355// See ListDeploymentJobs for more information on using the ListDeploymentJobs
3356// API call, and error handling.
3357//
3358// This method is useful when you want to inject custom logic or configuration
3359// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3360//
3361//
3362//    // Example sending a request using the ListDeploymentJobsRequest method.
3363//    req, resp := client.ListDeploymentJobsRequest(params)
3364//
3365//    err := req.Send()
3366//    if err == nil { // resp is now filled
3367//        fmt.Println(resp)
3368//    }
3369//
3370// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
3371func (c *RoboMaker) ListDeploymentJobsRequest(input *ListDeploymentJobsInput) (req *request.Request, output *ListDeploymentJobsOutput) {
3372	op := &request.Operation{
3373		Name:       opListDeploymentJobs,
3374		HTTPMethod: "POST",
3375		HTTPPath:   "/listDeploymentJobs",
3376		Paginator: &request.Paginator{
3377			InputTokens:     []string{"nextToken"},
3378			OutputTokens:    []string{"nextToken"},
3379			LimitToken:      "maxResults",
3380			TruncationToken: "",
3381		},
3382	}
3383
3384	if input == nil {
3385		input = &ListDeploymentJobsInput{}
3386	}
3387
3388	output = &ListDeploymentJobsOutput{}
3389	req = c.newRequest(op, input, output)
3390	return
3391}
3392
3393// ListDeploymentJobs API operation for AWS RoboMaker.
3394//
3395// Returns a list of deployment jobs for a fleet. You can optionally provide
3396// filters to retrieve specific deployment jobs.
3397//
3398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3399// with awserr.Error's Code and Message methods to get detailed information about
3400// the error.
3401//
3402// See the AWS API reference guide for AWS RoboMaker's
3403// API operation ListDeploymentJobs for usage and error information.
3404//
3405// Returned Error Types:
3406//   * ResourceNotFoundException
3407//   The specified resource does not exist.
3408//
3409//   * InvalidParameterException
3410//   A parameter specified in a request is not valid, is unsupported, or cannot
3411//   be used. The returned message provides an explanation of the error value.
3412//
3413//   * InternalServerException
3414//   AWS RoboMaker experienced a service issue. Try your call again.
3415//
3416//   * ThrottlingException
3417//   AWS RoboMaker is temporarily unable to process the request. Try your call
3418//   again.
3419//
3420// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
3421func (c *RoboMaker) ListDeploymentJobs(input *ListDeploymentJobsInput) (*ListDeploymentJobsOutput, error) {
3422	req, out := c.ListDeploymentJobsRequest(input)
3423	return out, req.Send()
3424}
3425
3426// ListDeploymentJobsWithContext is the same as ListDeploymentJobs with the addition of
3427// the ability to pass a context and additional request options.
3428//
3429// See ListDeploymentJobs for details on how to use this API operation.
3430//
3431// The context must be non-nil and will be used for request cancellation. If
3432// the context is nil a panic will occur. In the future the SDK may create
3433// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3434// for more information on using Contexts.
3435func (c *RoboMaker) ListDeploymentJobsWithContext(ctx aws.Context, input *ListDeploymentJobsInput, opts ...request.Option) (*ListDeploymentJobsOutput, error) {
3436	req, out := c.ListDeploymentJobsRequest(input)
3437	req.SetContext(ctx)
3438	req.ApplyOptions(opts...)
3439	return out, req.Send()
3440}
3441
3442// ListDeploymentJobsPages iterates over the pages of a ListDeploymentJobs operation,
3443// calling the "fn" function with the response data for each page. To stop
3444// iterating, return false from the fn function.
3445//
3446// See ListDeploymentJobs method for more information on how to use this operation.
3447//
3448// Note: This operation can generate multiple requests to a service.
3449//
3450//    // Example iterating over at most 3 pages of a ListDeploymentJobs operation.
3451//    pageNum := 0
3452//    err := client.ListDeploymentJobsPages(params,
3453//        func(page *robomaker.ListDeploymentJobsOutput, lastPage bool) bool {
3454//            pageNum++
3455//            fmt.Println(page)
3456//            return pageNum <= 3
3457//        })
3458//
3459func (c *RoboMaker) ListDeploymentJobsPages(input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool) error {
3460	return c.ListDeploymentJobsPagesWithContext(aws.BackgroundContext(), input, fn)
3461}
3462
3463// ListDeploymentJobsPagesWithContext same as ListDeploymentJobsPages except
3464// it takes a Context and allows setting request options on the pages.
3465//
3466// The context must be non-nil and will be used for request cancellation. If
3467// the context is nil a panic will occur. In the future the SDK may create
3468// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3469// for more information on using Contexts.
3470func (c *RoboMaker) ListDeploymentJobsPagesWithContext(ctx aws.Context, input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool, opts ...request.Option) error {
3471	p := request.Pagination{
3472		NewRequest: func() (*request.Request, error) {
3473			var inCpy *ListDeploymentJobsInput
3474			if input != nil {
3475				tmp := *input
3476				inCpy = &tmp
3477			}
3478			req, _ := c.ListDeploymentJobsRequest(inCpy)
3479			req.SetContext(ctx)
3480			req.ApplyOptions(opts...)
3481			return req, nil
3482		},
3483	}
3484
3485	for p.Next() {
3486		if !fn(p.Page().(*ListDeploymentJobsOutput), !p.HasNextPage()) {
3487			break
3488		}
3489	}
3490
3491	return p.Err()
3492}
3493
3494const opListFleets = "ListFleets"
3495
3496// ListFleetsRequest generates a "aws/request.Request" representing the
3497// client's request for the ListFleets operation. The "output" return
3498// value will be populated with the request's response once the request completes
3499// successfully.
3500//
3501// Use "Send" method on the returned Request to send the API call to the service.
3502// the "output" return value is not valid until after Send returns without error.
3503//
3504// See ListFleets for more information on using the ListFleets
3505// API call, and error handling.
3506//
3507// This method is useful when you want to inject custom logic or configuration
3508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3509//
3510//
3511//    // Example sending a request using the ListFleetsRequest method.
3512//    req, resp := client.ListFleetsRequest(params)
3513//
3514//    err := req.Send()
3515//    if err == nil { // resp is now filled
3516//        fmt.Println(resp)
3517//    }
3518//
3519// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
3520func (c *RoboMaker) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
3521	op := &request.Operation{
3522		Name:       opListFleets,
3523		HTTPMethod: "POST",
3524		HTTPPath:   "/listFleets",
3525		Paginator: &request.Paginator{
3526			InputTokens:     []string{"nextToken"},
3527			OutputTokens:    []string{"nextToken"},
3528			LimitToken:      "maxResults",
3529			TruncationToken: "",
3530		},
3531	}
3532
3533	if input == nil {
3534		input = &ListFleetsInput{}
3535	}
3536
3537	output = &ListFleetsOutput{}
3538	req = c.newRequest(op, input, output)
3539	return
3540}
3541
3542// ListFleets API operation for AWS RoboMaker.
3543//
3544// Returns a list of fleets. You can optionally provide filters to retrieve
3545// specific fleets.
3546//
3547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3548// with awserr.Error's Code and Message methods to get detailed information about
3549// the error.
3550//
3551// See the AWS API reference guide for AWS RoboMaker's
3552// API operation ListFleets for usage and error information.
3553//
3554// Returned Error Types:
3555//   * ResourceNotFoundException
3556//   The specified resource does not exist.
3557//
3558//   * InvalidParameterException
3559//   A parameter specified in a request is not valid, is unsupported, or cannot
3560//   be used. The returned message provides an explanation of the error value.
3561//
3562//   * InternalServerException
3563//   AWS RoboMaker experienced a service issue. Try your call again.
3564//
3565//   * ThrottlingException
3566//   AWS RoboMaker is temporarily unable to process the request. Try your call
3567//   again.
3568//
3569// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
3570func (c *RoboMaker) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
3571	req, out := c.ListFleetsRequest(input)
3572	return out, req.Send()
3573}
3574
3575// ListFleetsWithContext is the same as ListFleets with the addition of
3576// the ability to pass a context and additional request options.
3577//
3578// See ListFleets for details on how to use this API operation.
3579//
3580// The context must be non-nil and will be used for request cancellation. If
3581// the context is nil a panic will occur. In the future the SDK may create
3582// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3583// for more information on using Contexts.
3584func (c *RoboMaker) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
3585	req, out := c.ListFleetsRequest(input)
3586	req.SetContext(ctx)
3587	req.ApplyOptions(opts...)
3588	return out, req.Send()
3589}
3590
3591// ListFleetsPages iterates over the pages of a ListFleets operation,
3592// calling the "fn" function with the response data for each page. To stop
3593// iterating, return false from the fn function.
3594//
3595// See ListFleets method for more information on how to use this operation.
3596//
3597// Note: This operation can generate multiple requests to a service.
3598//
3599//    // Example iterating over at most 3 pages of a ListFleets operation.
3600//    pageNum := 0
3601//    err := client.ListFleetsPages(params,
3602//        func(page *robomaker.ListFleetsOutput, lastPage bool) bool {
3603//            pageNum++
3604//            fmt.Println(page)
3605//            return pageNum <= 3
3606//        })
3607//
3608func (c *RoboMaker) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
3609	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
3610}
3611
3612// ListFleetsPagesWithContext same as ListFleetsPages except
3613// it takes a Context and allows setting request options on the pages.
3614//
3615// The context must be non-nil and will be used for request cancellation. If
3616// the context is nil a panic will occur. In the future the SDK may create
3617// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3618// for more information on using Contexts.
3619func (c *RoboMaker) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
3620	p := request.Pagination{
3621		NewRequest: func() (*request.Request, error) {
3622			var inCpy *ListFleetsInput
3623			if input != nil {
3624				tmp := *input
3625				inCpy = &tmp
3626			}
3627			req, _ := c.ListFleetsRequest(inCpy)
3628			req.SetContext(ctx)
3629			req.ApplyOptions(opts...)
3630			return req, nil
3631		},
3632	}
3633
3634	for p.Next() {
3635		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
3636			break
3637		}
3638	}
3639
3640	return p.Err()
3641}
3642
3643const opListRobotApplications = "ListRobotApplications"
3644
3645// ListRobotApplicationsRequest generates a "aws/request.Request" representing the
3646// client's request for the ListRobotApplications operation. The "output" return
3647// value will be populated with the request's response once the request completes
3648// successfully.
3649//
3650// Use "Send" method on the returned Request to send the API call to the service.
3651// the "output" return value is not valid until after Send returns without error.
3652//
3653// See ListRobotApplications for more information on using the ListRobotApplications
3654// API call, and error handling.
3655//
3656// This method is useful when you want to inject custom logic or configuration
3657// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3658//
3659//
3660//    // Example sending a request using the ListRobotApplicationsRequest method.
3661//    req, resp := client.ListRobotApplicationsRequest(params)
3662//
3663//    err := req.Send()
3664//    if err == nil { // resp is now filled
3665//        fmt.Println(resp)
3666//    }
3667//
3668// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
3669func (c *RoboMaker) ListRobotApplicationsRequest(input *ListRobotApplicationsInput) (req *request.Request, output *ListRobotApplicationsOutput) {
3670	op := &request.Operation{
3671		Name:       opListRobotApplications,
3672		HTTPMethod: "POST",
3673		HTTPPath:   "/listRobotApplications",
3674		Paginator: &request.Paginator{
3675			InputTokens:     []string{"nextToken"},
3676			OutputTokens:    []string{"nextToken"},
3677			LimitToken:      "maxResults",
3678			TruncationToken: "",
3679		},
3680	}
3681
3682	if input == nil {
3683		input = &ListRobotApplicationsInput{}
3684	}
3685
3686	output = &ListRobotApplicationsOutput{}
3687	req = c.newRequest(op, input, output)
3688	return
3689}
3690
3691// ListRobotApplications API operation for AWS RoboMaker.
3692//
3693// Returns a list of robot application. You can optionally provide filters to
3694// retrieve specific robot applications.
3695//
3696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3697// with awserr.Error's Code and Message methods to get detailed information about
3698// the error.
3699//
3700// See the AWS API reference guide for AWS RoboMaker's
3701// API operation ListRobotApplications for usage and error information.
3702//
3703// Returned Error Types:
3704//   * InvalidParameterException
3705//   A parameter specified in a request is not valid, is unsupported, or cannot
3706//   be used. The returned message provides an explanation of the error value.
3707//
3708//   * ThrottlingException
3709//   AWS RoboMaker is temporarily unable to process the request. Try your call
3710//   again.
3711//
3712//   * InternalServerException
3713//   AWS RoboMaker experienced a service issue. Try your call again.
3714//
3715// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
3716func (c *RoboMaker) ListRobotApplications(input *ListRobotApplicationsInput) (*ListRobotApplicationsOutput, error) {
3717	req, out := c.ListRobotApplicationsRequest(input)
3718	return out, req.Send()
3719}
3720
3721// ListRobotApplicationsWithContext is the same as ListRobotApplications with the addition of
3722// the ability to pass a context and additional request options.
3723//
3724// See ListRobotApplications for details on how to use this API operation.
3725//
3726// The context must be non-nil and will be used for request cancellation. If
3727// the context is nil a panic will occur. In the future the SDK may create
3728// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3729// for more information on using Contexts.
3730func (c *RoboMaker) ListRobotApplicationsWithContext(ctx aws.Context, input *ListRobotApplicationsInput, opts ...request.Option) (*ListRobotApplicationsOutput, error) {
3731	req, out := c.ListRobotApplicationsRequest(input)
3732	req.SetContext(ctx)
3733	req.ApplyOptions(opts...)
3734	return out, req.Send()
3735}
3736
3737// ListRobotApplicationsPages iterates over the pages of a ListRobotApplications operation,
3738// calling the "fn" function with the response data for each page. To stop
3739// iterating, return false from the fn function.
3740//
3741// See ListRobotApplications method for more information on how to use this operation.
3742//
3743// Note: This operation can generate multiple requests to a service.
3744//
3745//    // Example iterating over at most 3 pages of a ListRobotApplications operation.
3746//    pageNum := 0
3747//    err := client.ListRobotApplicationsPages(params,
3748//        func(page *robomaker.ListRobotApplicationsOutput, lastPage bool) bool {
3749//            pageNum++
3750//            fmt.Println(page)
3751//            return pageNum <= 3
3752//        })
3753//
3754func (c *RoboMaker) ListRobotApplicationsPages(input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool) error {
3755	return c.ListRobotApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
3756}
3757
3758// ListRobotApplicationsPagesWithContext same as ListRobotApplicationsPages except
3759// it takes a Context and allows setting request options on the pages.
3760//
3761// The context must be non-nil and will be used for request cancellation. If
3762// the context is nil a panic will occur. In the future the SDK may create
3763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3764// for more information on using Contexts.
3765func (c *RoboMaker) ListRobotApplicationsPagesWithContext(ctx aws.Context, input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool, opts ...request.Option) error {
3766	p := request.Pagination{
3767		NewRequest: func() (*request.Request, error) {
3768			var inCpy *ListRobotApplicationsInput
3769			if input != nil {
3770				tmp := *input
3771				inCpy = &tmp
3772			}
3773			req, _ := c.ListRobotApplicationsRequest(inCpy)
3774			req.SetContext(ctx)
3775			req.ApplyOptions(opts...)
3776			return req, nil
3777		},
3778	}
3779
3780	for p.Next() {
3781		if !fn(p.Page().(*ListRobotApplicationsOutput), !p.HasNextPage()) {
3782			break
3783		}
3784	}
3785
3786	return p.Err()
3787}
3788
3789const opListRobots = "ListRobots"
3790
3791// ListRobotsRequest generates a "aws/request.Request" representing the
3792// client's request for the ListRobots operation. The "output" return
3793// value will be populated with the request's response once the request completes
3794// successfully.
3795//
3796// Use "Send" method on the returned Request to send the API call to the service.
3797// the "output" return value is not valid until after Send returns without error.
3798//
3799// See ListRobots for more information on using the ListRobots
3800// API call, and error handling.
3801//
3802// This method is useful when you want to inject custom logic or configuration
3803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3804//
3805//
3806//    // Example sending a request using the ListRobotsRequest method.
3807//    req, resp := client.ListRobotsRequest(params)
3808//
3809//    err := req.Send()
3810//    if err == nil { // resp is now filled
3811//        fmt.Println(resp)
3812//    }
3813//
3814// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
3815func (c *RoboMaker) ListRobotsRequest(input *ListRobotsInput) (req *request.Request, output *ListRobotsOutput) {
3816	op := &request.Operation{
3817		Name:       opListRobots,
3818		HTTPMethod: "POST",
3819		HTTPPath:   "/listRobots",
3820		Paginator: &request.Paginator{
3821			InputTokens:     []string{"nextToken"},
3822			OutputTokens:    []string{"nextToken"},
3823			LimitToken:      "maxResults",
3824			TruncationToken: "",
3825		},
3826	}
3827
3828	if input == nil {
3829		input = &ListRobotsInput{}
3830	}
3831
3832	output = &ListRobotsOutput{}
3833	req = c.newRequest(op, input, output)
3834	return
3835}
3836
3837// ListRobots API operation for AWS RoboMaker.
3838//
3839// Returns a list of robots. You can optionally provide filters to retrieve
3840// specific robots.
3841//
3842// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3843// with awserr.Error's Code and Message methods to get detailed information about
3844// the error.
3845//
3846// See the AWS API reference guide for AWS RoboMaker's
3847// API operation ListRobots for usage and error information.
3848//
3849// Returned Error Types:
3850//   * ResourceNotFoundException
3851//   The specified resource does not exist.
3852//
3853//   * InvalidParameterException
3854//   A parameter specified in a request is not valid, is unsupported, or cannot
3855//   be used. The returned message provides an explanation of the error value.
3856//
3857//   * InternalServerException
3858//   AWS RoboMaker experienced a service issue. Try your call again.
3859//
3860//   * ThrottlingException
3861//   AWS RoboMaker is temporarily unable to process the request. Try your call
3862//   again.
3863//
3864// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
3865func (c *RoboMaker) ListRobots(input *ListRobotsInput) (*ListRobotsOutput, error) {
3866	req, out := c.ListRobotsRequest(input)
3867	return out, req.Send()
3868}
3869
3870// ListRobotsWithContext is the same as ListRobots with the addition of
3871// the ability to pass a context and additional request options.
3872//
3873// See ListRobots for details on how to use this API operation.
3874//
3875// The context must be non-nil and will be used for request cancellation. If
3876// the context is nil a panic will occur. In the future the SDK may create
3877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3878// for more information on using Contexts.
3879func (c *RoboMaker) ListRobotsWithContext(ctx aws.Context, input *ListRobotsInput, opts ...request.Option) (*ListRobotsOutput, error) {
3880	req, out := c.ListRobotsRequest(input)
3881	req.SetContext(ctx)
3882	req.ApplyOptions(opts...)
3883	return out, req.Send()
3884}
3885
3886// ListRobotsPages iterates over the pages of a ListRobots operation,
3887// calling the "fn" function with the response data for each page. To stop
3888// iterating, return false from the fn function.
3889//
3890// See ListRobots method for more information on how to use this operation.
3891//
3892// Note: This operation can generate multiple requests to a service.
3893//
3894//    // Example iterating over at most 3 pages of a ListRobots operation.
3895//    pageNum := 0
3896//    err := client.ListRobotsPages(params,
3897//        func(page *robomaker.ListRobotsOutput, lastPage bool) bool {
3898//            pageNum++
3899//            fmt.Println(page)
3900//            return pageNum <= 3
3901//        })
3902//
3903func (c *RoboMaker) ListRobotsPages(input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool) error {
3904	return c.ListRobotsPagesWithContext(aws.BackgroundContext(), input, fn)
3905}
3906
3907// ListRobotsPagesWithContext same as ListRobotsPages except
3908// it takes a Context and allows setting request options on the pages.
3909//
3910// The context must be non-nil and will be used for request cancellation. If
3911// the context is nil a panic will occur. In the future the SDK may create
3912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3913// for more information on using Contexts.
3914func (c *RoboMaker) ListRobotsPagesWithContext(ctx aws.Context, input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool, opts ...request.Option) error {
3915	p := request.Pagination{
3916		NewRequest: func() (*request.Request, error) {
3917			var inCpy *ListRobotsInput
3918			if input != nil {
3919				tmp := *input
3920				inCpy = &tmp
3921			}
3922			req, _ := c.ListRobotsRequest(inCpy)
3923			req.SetContext(ctx)
3924			req.ApplyOptions(opts...)
3925			return req, nil
3926		},
3927	}
3928
3929	for p.Next() {
3930		if !fn(p.Page().(*ListRobotsOutput), !p.HasNextPage()) {
3931			break
3932		}
3933	}
3934
3935	return p.Err()
3936}
3937
3938const opListSimulationApplications = "ListSimulationApplications"
3939
3940// ListSimulationApplicationsRequest generates a "aws/request.Request" representing the
3941// client's request for the ListSimulationApplications operation. The "output" return
3942// value will be populated with the request's response once the request completes
3943// successfully.
3944//
3945// Use "Send" method on the returned Request to send the API call to the service.
3946// the "output" return value is not valid until after Send returns without error.
3947//
3948// See ListSimulationApplications for more information on using the ListSimulationApplications
3949// API call, and error handling.
3950//
3951// This method is useful when you want to inject custom logic or configuration
3952// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3953//
3954//
3955//    // Example sending a request using the ListSimulationApplicationsRequest method.
3956//    req, resp := client.ListSimulationApplicationsRequest(params)
3957//
3958//    err := req.Send()
3959//    if err == nil { // resp is now filled
3960//        fmt.Println(resp)
3961//    }
3962//
3963// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
3964func (c *RoboMaker) ListSimulationApplicationsRequest(input *ListSimulationApplicationsInput) (req *request.Request, output *ListSimulationApplicationsOutput) {
3965	op := &request.Operation{
3966		Name:       opListSimulationApplications,
3967		HTTPMethod: "POST",
3968		HTTPPath:   "/listSimulationApplications",
3969		Paginator: &request.Paginator{
3970			InputTokens:     []string{"nextToken"},
3971			OutputTokens:    []string{"nextToken"},
3972			LimitToken:      "maxResults",
3973			TruncationToken: "",
3974		},
3975	}
3976
3977	if input == nil {
3978		input = &ListSimulationApplicationsInput{}
3979	}
3980
3981	output = &ListSimulationApplicationsOutput{}
3982	req = c.newRequest(op, input, output)
3983	return
3984}
3985
3986// ListSimulationApplications API operation for AWS RoboMaker.
3987//
3988// Returns a list of simulation applications. You can optionally provide filters
3989// to retrieve specific simulation applications.
3990//
3991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3992// with awserr.Error's Code and Message methods to get detailed information about
3993// the error.
3994//
3995// See the AWS API reference guide for AWS RoboMaker's
3996// API operation ListSimulationApplications for usage and error information.
3997//
3998// Returned Error Types:
3999//   * InvalidParameterException
4000//   A parameter specified in a request is not valid, is unsupported, or cannot
4001//   be used. The returned message provides an explanation of the error value.
4002//
4003//   * ThrottlingException
4004//   AWS RoboMaker is temporarily unable to process the request. Try your call
4005//   again.
4006//
4007//   * InternalServerException
4008//   AWS RoboMaker experienced a service issue. Try your call again.
4009//
4010// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
4011func (c *RoboMaker) ListSimulationApplications(input *ListSimulationApplicationsInput) (*ListSimulationApplicationsOutput, error) {
4012	req, out := c.ListSimulationApplicationsRequest(input)
4013	return out, req.Send()
4014}
4015
4016// ListSimulationApplicationsWithContext is the same as ListSimulationApplications with the addition of
4017// the ability to pass a context and additional request options.
4018//
4019// See ListSimulationApplications for details on how to use this API operation.
4020//
4021// The context must be non-nil and will be used for request cancellation. If
4022// the context is nil a panic will occur. In the future the SDK may create
4023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4024// for more information on using Contexts.
4025func (c *RoboMaker) ListSimulationApplicationsWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, opts ...request.Option) (*ListSimulationApplicationsOutput, error) {
4026	req, out := c.ListSimulationApplicationsRequest(input)
4027	req.SetContext(ctx)
4028	req.ApplyOptions(opts...)
4029	return out, req.Send()
4030}
4031
4032// ListSimulationApplicationsPages iterates over the pages of a ListSimulationApplications operation,
4033// calling the "fn" function with the response data for each page. To stop
4034// iterating, return false from the fn function.
4035//
4036// See ListSimulationApplications method for more information on how to use this operation.
4037//
4038// Note: This operation can generate multiple requests to a service.
4039//
4040//    // Example iterating over at most 3 pages of a ListSimulationApplications operation.
4041//    pageNum := 0
4042//    err := client.ListSimulationApplicationsPages(params,
4043//        func(page *robomaker.ListSimulationApplicationsOutput, lastPage bool) bool {
4044//            pageNum++
4045//            fmt.Println(page)
4046//            return pageNum <= 3
4047//        })
4048//
4049func (c *RoboMaker) ListSimulationApplicationsPages(input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool) error {
4050	return c.ListSimulationApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
4051}
4052
4053// ListSimulationApplicationsPagesWithContext same as ListSimulationApplicationsPages except
4054// it takes a Context and allows setting request options on the pages.
4055//
4056// The context must be non-nil and will be used for request cancellation. If
4057// the context is nil a panic will occur. In the future the SDK may create
4058// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4059// for more information on using Contexts.
4060func (c *RoboMaker) ListSimulationApplicationsPagesWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool, opts ...request.Option) error {
4061	p := request.Pagination{
4062		NewRequest: func() (*request.Request, error) {
4063			var inCpy *ListSimulationApplicationsInput
4064			if input != nil {
4065				tmp := *input
4066				inCpy = &tmp
4067			}
4068			req, _ := c.ListSimulationApplicationsRequest(inCpy)
4069			req.SetContext(ctx)
4070			req.ApplyOptions(opts...)
4071			return req, nil
4072		},
4073	}
4074
4075	for p.Next() {
4076		if !fn(p.Page().(*ListSimulationApplicationsOutput), !p.HasNextPage()) {
4077			break
4078		}
4079	}
4080
4081	return p.Err()
4082}
4083
4084const opListSimulationJobBatches = "ListSimulationJobBatches"
4085
4086// ListSimulationJobBatchesRequest generates a "aws/request.Request" representing the
4087// client's request for the ListSimulationJobBatches operation. The "output" return
4088// value will be populated with the request's response once the request completes
4089// successfully.
4090//
4091// Use "Send" method on the returned Request to send the API call to the service.
4092// the "output" return value is not valid until after Send returns without error.
4093//
4094// See ListSimulationJobBatches for more information on using the ListSimulationJobBatches
4095// API call, and error handling.
4096//
4097// This method is useful when you want to inject custom logic or configuration
4098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4099//
4100//
4101//    // Example sending a request using the ListSimulationJobBatchesRequest method.
4102//    req, resp := client.ListSimulationJobBatchesRequest(params)
4103//
4104//    err := req.Send()
4105//    if err == nil { // resp is now filled
4106//        fmt.Println(resp)
4107//    }
4108//
4109// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobBatches
4110func (c *RoboMaker) ListSimulationJobBatchesRequest(input *ListSimulationJobBatchesInput) (req *request.Request, output *ListSimulationJobBatchesOutput) {
4111	op := &request.Operation{
4112		Name:       opListSimulationJobBatches,
4113		HTTPMethod: "POST",
4114		HTTPPath:   "/listSimulationJobBatches",
4115		Paginator: &request.Paginator{
4116			InputTokens:     []string{"nextToken"},
4117			OutputTokens:    []string{"nextToken"},
4118			LimitToken:      "maxResults",
4119			TruncationToken: "",
4120		},
4121	}
4122
4123	if input == nil {
4124		input = &ListSimulationJobBatchesInput{}
4125	}
4126
4127	output = &ListSimulationJobBatchesOutput{}
4128	req = c.newRequest(op, input, output)
4129	return
4130}
4131
4132// ListSimulationJobBatches API operation for AWS RoboMaker.
4133//
4134// Returns a list simulation job batches. You can optionally provide filters
4135// to retrieve specific simulation batch jobs.
4136//
4137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4138// with awserr.Error's Code and Message methods to get detailed information about
4139// the error.
4140//
4141// See the AWS API reference guide for AWS RoboMaker's
4142// API operation ListSimulationJobBatches for usage and error information.
4143//
4144// Returned Error Types:
4145//   * InvalidParameterException
4146//   A parameter specified in a request is not valid, is unsupported, or cannot
4147//   be used. The returned message provides an explanation of the error value.
4148//
4149//   * InternalServerException
4150//   AWS RoboMaker experienced a service issue. Try your call again.
4151//
4152// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobBatches
4153func (c *RoboMaker) ListSimulationJobBatches(input *ListSimulationJobBatchesInput) (*ListSimulationJobBatchesOutput, error) {
4154	req, out := c.ListSimulationJobBatchesRequest(input)
4155	return out, req.Send()
4156}
4157
4158// ListSimulationJobBatchesWithContext is the same as ListSimulationJobBatches with the addition of
4159// the ability to pass a context and additional request options.
4160//
4161// See ListSimulationJobBatches for details on how to use this API operation.
4162//
4163// The context must be non-nil and will be used for request cancellation. If
4164// the context is nil a panic will occur. In the future the SDK may create
4165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4166// for more information on using Contexts.
4167func (c *RoboMaker) ListSimulationJobBatchesWithContext(ctx aws.Context, input *ListSimulationJobBatchesInput, opts ...request.Option) (*ListSimulationJobBatchesOutput, error) {
4168	req, out := c.ListSimulationJobBatchesRequest(input)
4169	req.SetContext(ctx)
4170	req.ApplyOptions(opts...)
4171	return out, req.Send()
4172}
4173
4174// ListSimulationJobBatchesPages iterates over the pages of a ListSimulationJobBatches operation,
4175// calling the "fn" function with the response data for each page. To stop
4176// iterating, return false from the fn function.
4177//
4178// See ListSimulationJobBatches method for more information on how to use this operation.
4179//
4180// Note: This operation can generate multiple requests to a service.
4181//
4182//    // Example iterating over at most 3 pages of a ListSimulationJobBatches operation.
4183//    pageNum := 0
4184//    err := client.ListSimulationJobBatchesPages(params,
4185//        func(page *robomaker.ListSimulationJobBatchesOutput, lastPage bool) bool {
4186//            pageNum++
4187//            fmt.Println(page)
4188//            return pageNum <= 3
4189//        })
4190//
4191func (c *RoboMaker) ListSimulationJobBatchesPages(input *ListSimulationJobBatchesInput, fn func(*ListSimulationJobBatchesOutput, bool) bool) error {
4192	return c.ListSimulationJobBatchesPagesWithContext(aws.BackgroundContext(), input, fn)
4193}
4194
4195// ListSimulationJobBatchesPagesWithContext same as ListSimulationJobBatchesPages except
4196// it takes a Context and allows setting request options on the pages.
4197//
4198// The context must be non-nil and will be used for request cancellation. If
4199// the context is nil a panic will occur. In the future the SDK may create
4200// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4201// for more information on using Contexts.
4202func (c *RoboMaker) ListSimulationJobBatchesPagesWithContext(ctx aws.Context, input *ListSimulationJobBatchesInput, fn func(*ListSimulationJobBatchesOutput, bool) bool, opts ...request.Option) error {
4203	p := request.Pagination{
4204		NewRequest: func() (*request.Request, error) {
4205			var inCpy *ListSimulationJobBatchesInput
4206			if input != nil {
4207				tmp := *input
4208				inCpy = &tmp
4209			}
4210			req, _ := c.ListSimulationJobBatchesRequest(inCpy)
4211			req.SetContext(ctx)
4212			req.ApplyOptions(opts...)
4213			return req, nil
4214		},
4215	}
4216
4217	for p.Next() {
4218		if !fn(p.Page().(*ListSimulationJobBatchesOutput), !p.HasNextPage()) {
4219			break
4220		}
4221	}
4222
4223	return p.Err()
4224}
4225
4226const opListSimulationJobs = "ListSimulationJobs"
4227
4228// ListSimulationJobsRequest generates a "aws/request.Request" representing the
4229// client's request for the ListSimulationJobs operation. The "output" return
4230// value will be populated with the request's response once the request completes
4231// successfully.
4232//
4233// Use "Send" method on the returned Request to send the API call to the service.
4234// the "output" return value is not valid until after Send returns without error.
4235//
4236// See ListSimulationJobs for more information on using the ListSimulationJobs
4237// API call, and error handling.
4238//
4239// This method is useful when you want to inject custom logic or configuration
4240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4241//
4242//
4243//    // Example sending a request using the ListSimulationJobsRequest method.
4244//    req, resp := client.ListSimulationJobsRequest(params)
4245//
4246//    err := req.Send()
4247//    if err == nil { // resp is now filled
4248//        fmt.Println(resp)
4249//    }
4250//
4251// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
4252func (c *RoboMaker) ListSimulationJobsRequest(input *ListSimulationJobsInput) (req *request.Request, output *ListSimulationJobsOutput) {
4253	op := &request.Operation{
4254		Name:       opListSimulationJobs,
4255		HTTPMethod: "POST",
4256		HTTPPath:   "/listSimulationJobs",
4257		Paginator: &request.Paginator{
4258			InputTokens:     []string{"nextToken"},
4259			OutputTokens:    []string{"nextToken"},
4260			LimitToken:      "maxResults",
4261			TruncationToken: "",
4262		},
4263	}
4264
4265	if input == nil {
4266		input = &ListSimulationJobsInput{}
4267	}
4268
4269	output = &ListSimulationJobsOutput{}
4270	req = c.newRequest(op, input, output)
4271	return
4272}
4273
4274// ListSimulationJobs API operation for AWS RoboMaker.
4275//
4276// Returns a list of simulation jobs. You can optionally provide filters to
4277// retrieve specific simulation jobs.
4278//
4279// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4280// with awserr.Error's Code and Message methods to get detailed information about
4281// the error.
4282//
4283// See the AWS API reference guide for AWS RoboMaker's
4284// API operation ListSimulationJobs for usage and error information.
4285//
4286// Returned Error Types:
4287//   * InvalidParameterException
4288//   A parameter specified in a request is not valid, is unsupported, or cannot
4289//   be used. The returned message provides an explanation of the error value.
4290//
4291//   * InternalServerException
4292//   AWS RoboMaker experienced a service issue. Try your call again.
4293//
4294//   * ThrottlingException
4295//   AWS RoboMaker is temporarily unable to process the request. Try your call
4296//   again.
4297//
4298// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
4299func (c *RoboMaker) ListSimulationJobs(input *ListSimulationJobsInput) (*ListSimulationJobsOutput, error) {
4300	req, out := c.ListSimulationJobsRequest(input)
4301	return out, req.Send()
4302}
4303
4304// ListSimulationJobsWithContext is the same as ListSimulationJobs with the addition of
4305// the ability to pass a context and additional request options.
4306//
4307// See ListSimulationJobs for details on how to use this API operation.
4308//
4309// The context must be non-nil and will be used for request cancellation. If
4310// the context is nil a panic will occur. In the future the SDK may create
4311// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4312// for more information on using Contexts.
4313func (c *RoboMaker) ListSimulationJobsWithContext(ctx aws.Context, input *ListSimulationJobsInput, opts ...request.Option) (*ListSimulationJobsOutput, error) {
4314	req, out := c.ListSimulationJobsRequest(input)
4315	req.SetContext(ctx)
4316	req.ApplyOptions(opts...)
4317	return out, req.Send()
4318}
4319
4320// ListSimulationJobsPages iterates over the pages of a ListSimulationJobs operation,
4321// calling the "fn" function with the response data for each page. To stop
4322// iterating, return false from the fn function.
4323//
4324// See ListSimulationJobs method for more information on how to use this operation.
4325//
4326// Note: This operation can generate multiple requests to a service.
4327//
4328//    // Example iterating over at most 3 pages of a ListSimulationJobs operation.
4329//    pageNum := 0
4330//    err := client.ListSimulationJobsPages(params,
4331//        func(page *robomaker.ListSimulationJobsOutput, lastPage bool) bool {
4332//            pageNum++
4333//            fmt.Println(page)
4334//            return pageNum <= 3
4335//        })
4336//
4337func (c *RoboMaker) ListSimulationJobsPages(input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool) error {
4338	return c.ListSimulationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
4339}
4340
4341// ListSimulationJobsPagesWithContext same as ListSimulationJobsPages except
4342// it takes a Context and allows setting request options on the pages.
4343//
4344// The context must be non-nil and will be used for request cancellation. If
4345// the context is nil a panic will occur. In the future the SDK may create
4346// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4347// for more information on using Contexts.
4348func (c *RoboMaker) ListSimulationJobsPagesWithContext(ctx aws.Context, input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool, opts ...request.Option) error {
4349	p := request.Pagination{
4350		NewRequest: func() (*request.Request, error) {
4351			var inCpy *ListSimulationJobsInput
4352			if input != nil {
4353				tmp := *input
4354				inCpy = &tmp
4355			}
4356			req, _ := c.ListSimulationJobsRequest(inCpy)
4357			req.SetContext(ctx)
4358			req.ApplyOptions(opts...)
4359			return req, nil
4360		},
4361	}
4362
4363	for p.Next() {
4364		if !fn(p.Page().(*ListSimulationJobsOutput), !p.HasNextPage()) {
4365			break
4366		}
4367	}
4368
4369	return p.Err()
4370}
4371
4372const opListTagsForResource = "ListTagsForResource"
4373
4374// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4375// client's request for the ListTagsForResource operation. The "output" return
4376// value will be populated with the request's response once the request completes
4377// successfully.
4378//
4379// Use "Send" method on the returned Request to send the API call to the service.
4380// the "output" return value is not valid until after Send returns without error.
4381//
4382// See ListTagsForResource for more information on using the ListTagsForResource
4383// API call, and error handling.
4384//
4385// This method is useful when you want to inject custom logic or configuration
4386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4387//
4388//
4389//    // Example sending a request using the ListTagsForResourceRequest method.
4390//    req, resp := client.ListTagsForResourceRequest(params)
4391//
4392//    err := req.Send()
4393//    if err == nil { // resp is now filled
4394//        fmt.Println(resp)
4395//    }
4396//
4397// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
4398func (c *RoboMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4399	op := &request.Operation{
4400		Name:       opListTagsForResource,
4401		HTTPMethod: "GET",
4402		HTTPPath:   "/tags/{resourceArn}",
4403	}
4404
4405	if input == nil {
4406		input = &ListTagsForResourceInput{}
4407	}
4408
4409	output = &ListTagsForResourceOutput{}
4410	req = c.newRequest(op, input, output)
4411	return
4412}
4413
4414// ListTagsForResource API operation for AWS RoboMaker.
4415//
4416// Lists all tags on a AWS RoboMaker resource.
4417//
4418// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4419// with awserr.Error's Code and Message methods to get detailed information about
4420// the error.
4421//
4422// See the AWS API reference guide for AWS RoboMaker's
4423// API operation ListTagsForResource for usage and error information.
4424//
4425// Returned Error Types:
4426//   * InternalServerException
4427//   AWS RoboMaker experienced a service issue. Try your call again.
4428//
4429//   * ResourceNotFoundException
4430//   The specified resource does not exist.
4431//
4432//   * InvalidParameterException
4433//   A parameter specified in a request is not valid, is unsupported, or cannot
4434//   be used. The returned message provides an explanation of the error value.
4435//
4436//   * ThrottlingException
4437//   AWS RoboMaker is temporarily unable to process the request. Try your call
4438//   again.
4439//
4440// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
4441func (c *RoboMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4442	req, out := c.ListTagsForResourceRequest(input)
4443	return out, req.Send()
4444}
4445
4446// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4447// the ability to pass a context and additional request options.
4448//
4449// See ListTagsForResource for details on how to use this API operation.
4450//
4451// The context must be non-nil and will be used for request cancellation. If
4452// the context is nil a panic will occur. In the future the SDK may create
4453// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4454// for more information on using Contexts.
4455func (c *RoboMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4456	req, out := c.ListTagsForResourceRequest(input)
4457	req.SetContext(ctx)
4458	req.ApplyOptions(opts...)
4459	return out, req.Send()
4460}
4461
4462const opListWorldExportJobs = "ListWorldExportJobs"
4463
4464// ListWorldExportJobsRequest generates a "aws/request.Request" representing the
4465// client's request for the ListWorldExportJobs operation. The "output" return
4466// value will be populated with the request's response once the request completes
4467// successfully.
4468//
4469// Use "Send" method on the returned Request to send the API call to the service.
4470// the "output" return value is not valid until after Send returns without error.
4471//
4472// See ListWorldExportJobs for more information on using the ListWorldExportJobs
4473// API call, and error handling.
4474//
4475// This method is useful when you want to inject custom logic or configuration
4476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4477//
4478//
4479//    // Example sending a request using the ListWorldExportJobsRequest method.
4480//    req, resp := client.ListWorldExportJobsRequest(params)
4481//
4482//    err := req.Send()
4483//    if err == nil { // resp is now filled
4484//        fmt.Println(resp)
4485//    }
4486//
4487// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldExportJobs
4488func (c *RoboMaker) ListWorldExportJobsRequest(input *ListWorldExportJobsInput) (req *request.Request, output *ListWorldExportJobsOutput) {
4489	op := &request.Operation{
4490		Name:       opListWorldExportJobs,
4491		HTTPMethod: "POST",
4492		HTTPPath:   "/listWorldExportJobs",
4493		Paginator: &request.Paginator{
4494			InputTokens:     []string{"nextToken"},
4495			OutputTokens:    []string{"nextToken"},
4496			LimitToken:      "maxResults",
4497			TruncationToken: "",
4498		},
4499	}
4500
4501	if input == nil {
4502		input = &ListWorldExportJobsInput{}
4503	}
4504
4505	output = &ListWorldExportJobsOutput{}
4506	req = c.newRequest(op, input, output)
4507	return
4508}
4509
4510// ListWorldExportJobs API operation for AWS RoboMaker.
4511//
4512// Lists world export jobs.
4513//
4514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4515// with awserr.Error's Code and Message methods to get detailed information about
4516// the error.
4517//
4518// See the AWS API reference guide for AWS RoboMaker's
4519// API operation ListWorldExportJobs for usage and error information.
4520//
4521// Returned Error Types:
4522//   * InvalidParameterException
4523//   A parameter specified in a request is not valid, is unsupported, or cannot
4524//   be used. The returned message provides an explanation of the error value.
4525//
4526//   * InternalServerException
4527//   AWS RoboMaker experienced a service issue. Try your call again.
4528//
4529//   * ThrottlingException
4530//   AWS RoboMaker is temporarily unable to process the request. Try your call
4531//   again.
4532//
4533// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldExportJobs
4534func (c *RoboMaker) ListWorldExportJobs(input *ListWorldExportJobsInput) (*ListWorldExportJobsOutput, error) {
4535	req, out := c.ListWorldExportJobsRequest(input)
4536	return out, req.Send()
4537}
4538
4539// ListWorldExportJobsWithContext is the same as ListWorldExportJobs with the addition of
4540// the ability to pass a context and additional request options.
4541//
4542// See ListWorldExportJobs for details on how to use this API operation.
4543//
4544// The context must be non-nil and will be used for request cancellation. If
4545// the context is nil a panic will occur. In the future the SDK may create
4546// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4547// for more information on using Contexts.
4548func (c *RoboMaker) ListWorldExportJobsWithContext(ctx aws.Context, input *ListWorldExportJobsInput, opts ...request.Option) (*ListWorldExportJobsOutput, error) {
4549	req, out := c.ListWorldExportJobsRequest(input)
4550	req.SetContext(ctx)
4551	req.ApplyOptions(opts...)
4552	return out, req.Send()
4553}
4554
4555// ListWorldExportJobsPages iterates over the pages of a ListWorldExportJobs operation,
4556// calling the "fn" function with the response data for each page. To stop
4557// iterating, return false from the fn function.
4558//
4559// See ListWorldExportJobs method for more information on how to use this operation.
4560//
4561// Note: This operation can generate multiple requests to a service.
4562//
4563//    // Example iterating over at most 3 pages of a ListWorldExportJobs operation.
4564//    pageNum := 0
4565//    err := client.ListWorldExportJobsPages(params,
4566//        func(page *robomaker.ListWorldExportJobsOutput, lastPage bool) bool {
4567//            pageNum++
4568//            fmt.Println(page)
4569//            return pageNum <= 3
4570//        })
4571//
4572func (c *RoboMaker) ListWorldExportJobsPages(input *ListWorldExportJobsInput, fn func(*ListWorldExportJobsOutput, bool) bool) error {
4573	return c.ListWorldExportJobsPagesWithContext(aws.BackgroundContext(), input, fn)
4574}
4575
4576// ListWorldExportJobsPagesWithContext same as ListWorldExportJobsPages except
4577// it takes a Context and allows setting request options on the pages.
4578//
4579// The context must be non-nil and will be used for request cancellation. If
4580// the context is nil a panic will occur. In the future the SDK may create
4581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4582// for more information on using Contexts.
4583func (c *RoboMaker) ListWorldExportJobsPagesWithContext(ctx aws.Context, input *ListWorldExportJobsInput, fn func(*ListWorldExportJobsOutput, bool) bool, opts ...request.Option) error {
4584	p := request.Pagination{
4585		NewRequest: func() (*request.Request, error) {
4586			var inCpy *ListWorldExportJobsInput
4587			if input != nil {
4588				tmp := *input
4589				inCpy = &tmp
4590			}
4591			req, _ := c.ListWorldExportJobsRequest(inCpy)
4592			req.SetContext(ctx)
4593			req.ApplyOptions(opts...)
4594			return req, nil
4595		},
4596	}
4597
4598	for p.Next() {
4599		if !fn(p.Page().(*ListWorldExportJobsOutput), !p.HasNextPage()) {
4600			break
4601		}
4602	}
4603
4604	return p.Err()
4605}
4606
4607const opListWorldGenerationJobs = "ListWorldGenerationJobs"
4608
4609// ListWorldGenerationJobsRequest generates a "aws/request.Request" representing the
4610// client's request for the ListWorldGenerationJobs operation. The "output" return
4611// value will be populated with the request's response once the request completes
4612// successfully.
4613//
4614// Use "Send" method on the returned Request to send the API call to the service.
4615// the "output" return value is not valid until after Send returns without error.
4616//
4617// See ListWorldGenerationJobs for more information on using the ListWorldGenerationJobs
4618// API call, and error handling.
4619//
4620// This method is useful when you want to inject custom logic or configuration
4621// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4622//
4623//
4624//    // Example sending a request using the ListWorldGenerationJobsRequest method.
4625//    req, resp := client.ListWorldGenerationJobsRequest(params)
4626//
4627//    err := req.Send()
4628//    if err == nil { // resp is now filled
4629//        fmt.Println(resp)
4630//    }
4631//
4632// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldGenerationJobs
4633func (c *RoboMaker) ListWorldGenerationJobsRequest(input *ListWorldGenerationJobsInput) (req *request.Request, output *ListWorldGenerationJobsOutput) {
4634	op := &request.Operation{
4635		Name:       opListWorldGenerationJobs,
4636		HTTPMethod: "POST",
4637		HTTPPath:   "/listWorldGenerationJobs",
4638		Paginator: &request.Paginator{
4639			InputTokens:     []string{"nextToken"},
4640			OutputTokens:    []string{"nextToken"},
4641			LimitToken:      "maxResults",
4642			TruncationToken: "",
4643		},
4644	}
4645
4646	if input == nil {
4647		input = &ListWorldGenerationJobsInput{}
4648	}
4649
4650	output = &ListWorldGenerationJobsOutput{}
4651	req = c.newRequest(op, input, output)
4652	return
4653}
4654
4655// ListWorldGenerationJobs API operation for AWS RoboMaker.
4656//
4657// Lists world generator jobs.
4658//
4659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4660// with awserr.Error's Code and Message methods to get detailed information about
4661// the error.
4662//
4663// See the AWS API reference guide for AWS RoboMaker's
4664// API operation ListWorldGenerationJobs for usage and error information.
4665//
4666// Returned Error Types:
4667//   * InvalidParameterException
4668//   A parameter specified in a request is not valid, is unsupported, or cannot
4669//   be used. The returned message provides an explanation of the error value.
4670//
4671//   * InternalServerException
4672//   AWS RoboMaker experienced a service issue. Try your call again.
4673//
4674//   * ThrottlingException
4675//   AWS RoboMaker is temporarily unable to process the request. Try your call
4676//   again.
4677//
4678// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldGenerationJobs
4679func (c *RoboMaker) ListWorldGenerationJobs(input *ListWorldGenerationJobsInput) (*ListWorldGenerationJobsOutput, error) {
4680	req, out := c.ListWorldGenerationJobsRequest(input)
4681	return out, req.Send()
4682}
4683
4684// ListWorldGenerationJobsWithContext is the same as ListWorldGenerationJobs with the addition of
4685// the ability to pass a context and additional request options.
4686//
4687// See ListWorldGenerationJobs for details on how to use this API operation.
4688//
4689// The context must be non-nil and will be used for request cancellation. If
4690// the context is nil a panic will occur. In the future the SDK may create
4691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4692// for more information on using Contexts.
4693func (c *RoboMaker) ListWorldGenerationJobsWithContext(ctx aws.Context, input *ListWorldGenerationJobsInput, opts ...request.Option) (*ListWorldGenerationJobsOutput, error) {
4694	req, out := c.ListWorldGenerationJobsRequest(input)
4695	req.SetContext(ctx)
4696	req.ApplyOptions(opts...)
4697	return out, req.Send()
4698}
4699
4700// ListWorldGenerationJobsPages iterates over the pages of a ListWorldGenerationJobs operation,
4701// calling the "fn" function with the response data for each page. To stop
4702// iterating, return false from the fn function.
4703//
4704// See ListWorldGenerationJobs method for more information on how to use this operation.
4705//
4706// Note: This operation can generate multiple requests to a service.
4707//
4708//    // Example iterating over at most 3 pages of a ListWorldGenerationJobs operation.
4709//    pageNum := 0
4710//    err := client.ListWorldGenerationJobsPages(params,
4711//        func(page *robomaker.ListWorldGenerationJobsOutput, lastPage bool) bool {
4712//            pageNum++
4713//            fmt.Println(page)
4714//            return pageNum <= 3
4715//        })
4716//
4717func (c *RoboMaker) ListWorldGenerationJobsPages(input *ListWorldGenerationJobsInput, fn func(*ListWorldGenerationJobsOutput, bool) bool) error {
4718	return c.ListWorldGenerationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
4719}
4720
4721// ListWorldGenerationJobsPagesWithContext same as ListWorldGenerationJobsPages except
4722// it takes a Context and allows setting request options on the pages.
4723//
4724// The context must be non-nil and will be used for request cancellation. If
4725// the context is nil a panic will occur. In the future the SDK may create
4726// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4727// for more information on using Contexts.
4728func (c *RoboMaker) ListWorldGenerationJobsPagesWithContext(ctx aws.Context, input *ListWorldGenerationJobsInput, fn func(*ListWorldGenerationJobsOutput, bool) bool, opts ...request.Option) error {
4729	p := request.Pagination{
4730		NewRequest: func() (*request.Request, error) {
4731			var inCpy *ListWorldGenerationJobsInput
4732			if input != nil {
4733				tmp := *input
4734				inCpy = &tmp
4735			}
4736			req, _ := c.ListWorldGenerationJobsRequest(inCpy)
4737			req.SetContext(ctx)
4738			req.ApplyOptions(opts...)
4739			return req, nil
4740		},
4741	}
4742
4743	for p.Next() {
4744		if !fn(p.Page().(*ListWorldGenerationJobsOutput), !p.HasNextPage()) {
4745			break
4746		}
4747	}
4748
4749	return p.Err()
4750}
4751
4752const opListWorldTemplates = "ListWorldTemplates"
4753
4754// ListWorldTemplatesRequest generates a "aws/request.Request" representing the
4755// client's request for the ListWorldTemplates operation. The "output" return
4756// value will be populated with the request's response once the request completes
4757// successfully.
4758//
4759// Use "Send" method on the returned Request to send the API call to the service.
4760// the "output" return value is not valid until after Send returns without error.
4761//
4762// See ListWorldTemplates for more information on using the ListWorldTemplates
4763// API call, and error handling.
4764//
4765// This method is useful when you want to inject custom logic or configuration
4766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4767//
4768//
4769//    // Example sending a request using the ListWorldTemplatesRequest method.
4770//    req, resp := client.ListWorldTemplatesRequest(params)
4771//
4772//    err := req.Send()
4773//    if err == nil { // resp is now filled
4774//        fmt.Println(resp)
4775//    }
4776//
4777// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldTemplates
4778func (c *RoboMaker) ListWorldTemplatesRequest(input *ListWorldTemplatesInput) (req *request.Request, output *ListWorldTemplatesOutput) {
4779	op := &request.Operation{
4780		Name:       opListWorldTemplates,
4781		HTTPMethod: "POST",
4782		HTTPPath:   "/listWorldTemplates",
4783		Paginator: &request.Paginator{
4784			InputTokens:     []string{"nextToken"},
4785			OutputTokens:    []string{"nextToken"},
4786			LimitToken:      "maxResults",
4787			TruncationToken: "",
4788		},
4789	}
4790
4791	if input == nil {
4792		input = &ListWorldTemplatesInput{}
4793	}
4794
4795	output = &ListWorldTemplatesOutput{}
4796	req = c.newRequest(op, input, output)
4797	return
4798}
4799
4800// ListWorldTemplates API operation for AWS RoboMaker.
4801//
4802// Lists world templates.
4803//
4804// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4805// with awserr.Error's Code and Message methods to get detailed information about
4806// the error.
4807//
4808// See the AWS API reference guide for AWS RoboMaker's
4809// API operation ListWorldTemplates for usage and error information.
4810//
4811// Returned Error Types:
4812//   * InvalidParameterException
4813//   A parameter specified in a request is not valid, is unsupported, or cannot
4814//   be used. The returned message provides an explanation of the error value.
4815//
4816//   * ThrottlingException
4817//   AWS RoboMaker is temporarily unable to process the request. Try your call
4818//   again.
4819//
4820//   * InternalServerException
4821//   AWS RoboMaker experienced a service issue. Try your call again.
4822//
4823// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorldTemplates
4824func (c *RoboMaker) ListWorldTemplates(input *ListWorldTemplatesInput) (*ListWorldTemplatesOutput, error) {
4825	req, out := c.ListWorldTemplatesRequest(input)
4826	return out, req.Send()
4827}
4828
4829// ListWorldTemplatesWithContext is the same as ListWorldTemplates with the addition of
4830// the ability to pass a context and additional request options.
4831//
4832// See ListWorldTemplates for details on how to use this API operation.
4833//
4834// The context must be non-nil and will be used for request cancellation. If
4835// the context is nil a panic will occur. In the future the SDK may create
4836// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4837// for more information on using Contexts.
4838func (c *RoboMaker) ListWorldTemplatesWithContext(ctx aws.Context, input *ListWorldTemplatesInput, opts ...request.Option) (*ListWorldTemplatesOutput, error) {
4839	req, out := c.ListWorldTemplatesRequest(input)
4840	req.SetContext(ctx)
4841	req.ApplyOptions(opts...)
4842	return out, req.Send()
4843}
4844
4845// ListWorldTemplatesPages iterates over the pages of a ListWorldTemplates operation,
4846// calling the "fn" function with the response data for each page. To stop
4847// iterating, return false from the fn function.
4848//
4849// See ListWorldTemplates method for more information on how to use this operation.
4850//
4851// Note: This operation can generate multiple requests to a service.
4852//
4853//    // Example iterating over at most 3 pages of a ListWorldTemplates operation.
4854//    pageNum := 0
4855//    err := client.ListWorldTemplatesPages(params,
4856//        func(page *robomaker.ListWorldTemplatesOutput, lastPage bool) bool {
4857//            pageNum++
4858//            fmt.Println(page)
4859//            return pageNum <= 3
4860//        })
4861//
4862func (c *RoboMaker) ListWorldTemplatesPages(input *ListWorldTemplatesInput, fn func(*ListWorldTemplatesOutput, bool) bool) error {
4863	return c.ListWorldTemplatesPagesWithContext(aws.BackgroundContext(), input, fn)
4864}
4865
4866// ListWorldTemplatesPagesWithContext same as ListWorldTemplatesPages except
4867// it takes a Context and allows setting request options on the pages.
4868//
4869// The context must be non-nil and will be used for request cancellation. If
4870// the context is nil a panic will occur. In the future the SDK may create
4871// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4872// for more information on using Contexts.
4873func (c *RoboMaker) ListWorldTemplatesPagesWithContext(ctx aws.Context, input *ListWorldTemplatesInput, fn func(*ListWorldTemplatesOutput, bool) bool, opts ...request.Option) error {
4874	p := request.Pagination{
4875		NewRequest: func() (*request.Request, error) {
4876			var inCpy *ListWorldTemplatesInput
4877			if input != nil {
4878				tmp := *input
4879				inCpy = &tmp
4880			}
4881			req, _ := c.ListWorldTemplatesRequest(inCpy)
4882			req.SetContext(ctx)
4883			req.ApplyOptions(opts...)
4884			return req, nil
4885		},
4886	}
4887
4888	for p.Next() {
4889		if !fn(p.Page().(*ListWorldTemplatesOutput), !p.HasNextPage()) {
4890			break
4891		}
4892	}
4893
4894	return p.Err()
4895}
4896
4897const opListWorlds = "ListWorlds"
4898
4899// ListWorldsRequest generates a "aws/request.Request" representing the
4900// client's request for the ListWorlds operation. The "output" return
4901// value will be populated with the request's response once the request completes
4902// successfully.
4903//
4904// Use "Send" method on the returned Request to send the API call to the service.
4905// the "output" return value is not valid until after Send returns without error.
4906//
4907// See ListWorlds for more information on using the ListWorlds
4908// API call, and error handling.
4909//
4910// This method is useful when you want to inject custom logic or configuration
4911// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4912//
4913//
4914//    // Example sending a request using the ListWorldsRequest method.
4915//    req, resp := client.ListWorldsRequest(params)
4916//
4917//    err := req.Send()
4918//    if err == nil { // resp is now filled
4919//        fmt.Println(resp)
4920//    }
4921//
4922// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorlds
4923func (c *RoboMaker) ListWorldsRequest(input *ListWorldsInput) (req *request.Request, output *ListWorldsOutput) {
4924	op := &request.Operation{
4925		Name:       opListWorlds,
4926		HTTPMethod: "POST",
4927		HTTPPath:   "/listWorlds",
4928		Paginator: &request.Paginator{
4929			InputTokens:     []string{"nextToken"},
4930			OutputTokens:    []string{"nextToken"},
4931			LimitToken:      "maxResults",
4932			TruncationToken: "",
4933		},
4934	}
4935
4936	if input == nil {
4937		input = &ListWorldsInput{}
4938	}
4939
4940	output = &ListWorldsOutput{}
4941	req = c.newRequest(op, input, output)
4942	return
4943}
4944
4945// ListWorlds API operation for AWS RoboMaker.
4946//
4947// Lists worlds.
4948//
4949// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4950// with awserr.Error's Code and Message methods to get detailed information about
4951// the error.
4952//
4953// See the AWS API reference guide for AWS RoboMaker's
4954// API operation ListWorlds for usage and error information.
4955//
4956// Returned Error Types:
4957//   * InvalidParameterException
4958//   A parameter specified in a request is not valid, is unsupported, or cannot
4959//   be used. The returned message provides an explanation of the error value.
4960//
4961//   * ThrottlingException
4962//   AWS RoboMaker is temporarily unable to process the request. Try your call
4963//   again.
4964//
4965//   * InternalServerException
4966//   AWS RoboMaker experienced a service issue. Try your call again.
4967//
4968// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListWorlds
4969func (c *RoboMaker) ListWorlds(input *ListWorldsInput) (*ListWorldsOutput, error) {
4970	req, out := c.ListWorldsRequest(input)
4971	return out, req.Send()
4972}
4973
4974// ListWorldsWithContext is the same as ListWorlds with the addition of
4975// the ability to pass a context and additional request options.
4976//
4977// See ListWorlds for details on how to use this API operation.
4978//
4979// The context must be non-nil and will be used for request cancellation. If
4980// the context is nil a panic will occur. In the future the SDK may create
4981// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4982// for more information on using Contexts.
4983func (c *RoboMaker) ListWorldsWithContext(ctx aws.Context, input *ListWorldsInput, opts ...request.Option) (*ListWorldsOutput, error) {
4984	req, out := c.ListWorldsRequest(input)
4985	req.SetContext(ctx)
4986	req.ApplyOptions(opts...)
4987	return out, req.Send()
4988}
4989
4990// ListWorldsPages iterates over the pages of a ListWorlds operation,
4991// calling the "fn" function with the response data for each page. To stop
4992// iterating, return false from the fn function.
4993//
4994// See ListWorlds method for more information on how to use this operation.
4995//
4996// Note: This operation can generate multiple requests to a service.
4997//
4998//    // Example iterating over at most 3 pages of a ListWorlds operation.
4999//    pageNum := 0
5000//    err := client.ListWorldsPages(params,
5001//        func(page *robomaker.ListWorldsOutput, lastPage bool) bool {
5002//            pageNum++
5003//            fmt.Println(page)
5004//            return pageNum <= 3
5005//        })
5006//
5007func (c *RoboMaker) ListWorldsPages(input *ListWorldsInput, fn func(*ListWorldsOutput, bool) bool) error {
5008	return c.ListWorldsPagesWithContext(aws.BackgroundContext(), input, fn)
5009}
5010
5011// ListWorldsPagesWithContext same as ListWorldsPages except
5012// it takes a Context and allows setting request options on the pages.
5013//
5014// The context must be non-nil and will be used for request cancellation. If
5015// the context is nil a panic will occur. In the future the SDK may create
5016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5017// for more information on using Contexts.
5018func (c *RoboMaker) ListWorldsPagesWithContext(ctx aws.Context, input *ListWorldsInput, fn func(*ListWorldsOutput, bool) bool, opts ...request.Option) error {
5019	p := request.Pagination{
5020		NewRequest: func() (*request.Request, error) {
5021			var inCpy *ListWorldsInput
5022			if input != nil {
5023				tmp := *input
5024				inCpy = &tmp
5025			}
5026			req, _ := c.ListWorldsRequest(inCpy)
5027			req.SetContext(ctx)
5028			req.ApplyOptions(opts...)
5029			return req, nil
5030		},
5031	}
5032
5033	for p.Next() {
5034		if !fn(p.Page().(*ListWorldsOutput), !p.HasNextPage()) {
5035			break
5036		}
5037	}
5038
5039	return p.Err()
5040}
5041
5042const opRegisterRobot = "RegisterRobot"
5043
5044// RegisterRobotRequest generates a "aws/request.Request" representing the
5045// client's request for the RegisterRobot operation. The "output" return
5046// value will be populated with the request's response once the request completes
5047// successfully.
5048//
5049// Use "Send" method on the returned Request to send the API call to the service.
5050// the "output" return value is not valid until after Send returns without error.
5051//
5052// See RegisterRobot for more information on using the RegisterRobot
5053// API call, and error handling.
5054//
5055// This method is useful when you want to inject custom logic or configuration
5056// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5057//
5058//
5059//    // Example sending a request using the RegisterRobotRequest method.
5060//    req, resp := client.RegisterRobotRequest(params)
5061//
5062//    err := req.Send()
5063//    if err == nil { // resp is now filled
5064//        fmt.Println(resp)
5065//    }
5066//
5067// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
5068func (c *RoboMaker) RegisterRobotRequest(input *RegisterRobotInput) (req *request.Request, output *RegisterRobotOutput) {
5069	op := &request.Operation{
5070		Name:       opRegisterRobot,
5071		HTTPMethod: "POST",
5072		HTTPPath:   "/registerRobot",
5073	}
5074
5075	if input == nil {
5076		input = &RegisterRobotInput{}
5077	}
5078
5079	output = &RegisterRobotOutput{}
5080	req = c.newRequest(op, input, output)
5081	return
5082}
5083
5084// RegisterRobot API operation for AWS RoboMaker.
5085//
5086// Registers a robot with a fleet.
5087//
5088// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5089// with awserr.Error's Code and Message methods to get detailed information about
5090// the error.
5091//
5092// See the AWS API reference guide for AWS RoboMaker's
5093// API operation RegisterRobot for usage and error information.
5094//
5095// Returned Error Types:
5096//   * InvalidParameterException
5097//   A parameter specified in a request is not valid, is unsupported, or cannot
5098//   be used. The returned message provides an explanation of the error value.
5099//
5100//   * InternalServerException
5101//   AWS RoboMaker experienced a service issue. Try your call again.
5102//
5103//   * ThrottlingException
5104//   AWS RoboMaker is temporarily unable to process the request. Try your call
5105//   again.
5106//
5107//   * LimitExceededException
5108//   The requested resource exceeds the maximum number allowed, or the number
5109//   of concurrent stream requests exceeds the maximum number allowed.
5110//
5111//   * ResourceNotFoundException
5112//   The specified resource does not exist.
5113//
5114// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
5115func (c *RoboMaker) RegisterRobot(input *RegisterRobotInput) (*RegisterRobotOutput, error) {
5116	req, out := c.RegisterRobotRequest(input)
5117	return out, req.Send()
5118}
5119
5120// RegisterRobotWithContext is the same as RegisterRobot with the addition of
5121// the ability to pass a context and additional request options.
5122//
5123// See RegisterRobot for details on how to use this API operation.
5124//
5125// The context must be non-nil and will be used for request cancellation. If
5126// the context is nil a panic will occur. In the future the SDK may create
5127// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5128// for more information on using Contexts.
5129func (c *RoboMaker) RegisterRobotWithContext(ctx aws.Context, input *RegisterRobotInput, opts ...request.Option) (*RegisterRobotOutput, error) {
5130	req, out := c.RegisterRobotRequest(input)
5131	req.SetContext(ctx)
5132	req.ApplyOptions(opts...)
5133	return out, req.Send()
5134}
5135
5136const opRestartSimulationJob = "RestartSimulationJob"
5137
5138// RestartSimulationJobRequest generates a "aws/request.Request" representing the
5139// client's request for the RestartSimulationJob operation. The "output" return
5140// value will be populated with the request's response once the request completes
5141// successfully.
5142//
5143// Use "Send" method on the returned Request to send the API call to the service.
5144// the "output" return value is not valid until after Send returns without error.
5145//
5146// See RestartSimulationJob for more information on using the RestartSimulationJob
5147// API call, and error handling.
5148//
5149// This method is useful when you want to inject custom logic or configuration
5150// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5151//
5152//
5153//    // Example sending a request using the RestartSimulationJobRequest method.
5154//    req, resp := client.RestartSimulationJobRequest(params)
5155//
5156//    err := req.Send()
5157//    if err == nil { // resp is now filled
5158//        fmt.Println(resp)
5159//    }
5160//
5161// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
5162func (c *RoboMaker) RestartSimulationJobRequest(input *RestartSimulationJobInput) (req *request.Request, output *RestartSimulationJobOutput) {
5163	op := &request.Operation{
5164		Name:       opRestartSimulationJob,
5165		HTTPMethod: "POST",
5166		HTTPPath:   "/restartSimulationJob",
5167	}
5168
5169	if input == nil {
5170		input = &RestartSimulationJobInput{}
5171	}
5172
5173	output = &RestartSimulationJobOutput{}
5174	req = c.newRequest(op, input, output)
5175	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5176	return
5177}
5178
5179// RestartSimulationJob API operation for AWS RoboMaker.
5180//
5181// Restarts a running simulation job.
5182//
5183// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5184// with awserr.Error's Code and Message methods to get detailed information about
5185// the error.
5186//
5187// See the AWS API reference guide for AWS RoboMaker's
5188// API operation RestartSimulationJob for usage and error information.
5189//
5190// Returned Error Types:
5191//   * ResourceNotFoundException
5192//   The specified resource does not exist.
5193//
5194//   * ThrottlingException
5195//   AWS RoboMaker is temporarily unable to process the request. Try your call
5196//   again.
5197//
5198//   * LimitExceededException
5199//   The requested resource exceeds the maximum number allowed, or the number
5200//   of concurrent stream requests exceeds the maximum number allowed.
5201//
5202//   * InvalidParameterException
5203//   A parameter specified in a request is not valid, is unsupported, or cannot
5204//   be used. The returned message provides an explanation of the error value.
5205//
5206//   * InternalServerException
5207//   AWS RoboMaker experienced a service issue. Try your call again.
5208//
5209// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
5210func (c *RoboMaker) RestartSimulationJob(input *RestartSimulationJobInput) (*RestartSimulationJobOutput, error) {
5211	req, out := c.RestartSimulationJobRequest(input)
5212	return out, req.Send()
5213}
5214
5215// RestartSimulationJobWithContext is the same as RestartSimulationJob with the addition of
5216// the ability to pass a context and additional request options.
5217//
5218// See RestartSimulationJob for details on how to use this API operation.
5219//
5220// The context must be non-nil and will be used for request cancellation. If
5221// the context is nil a panic will occur. In the future the SDK may create
5222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5223// for more information on using Contexts.
5224func (c *RoboMaker) RestartSimulationJobWithContext(ctx aws.Context, input *RestartSimulationJobInput, opts ...request.Option) (*RestartSimulationJobOutput, error) {
5225	req, out := c.RestartSimulationJobRequest(input)
5226	req.SetContext(ctx)
5227	req.ApplyOptions(opts...)
5228	return out, req.Send()
5229}
5230
5231const opStartSimulationJobBatch = "StartSimulationJobBatch"
5232
5233// StartSimulationJobBatchRequest generates a "aws/request.Request" representing the
5234// client's request for the StartSimulationJobBatch operation. The "output" return
5235// value will be populated with the request's response once the request completes
5236// successfully.
5237//
5238// Use "Send" method on the returned Request to send the API call to the service.
5239// the "output" return value is not valid until after Send returns without error.
5240//
5241// See StartSimulationJobBatch for more information on using the StartSimulationJobBatch
5242// API call, and error handling.
5243//
5244// This method is useful when you want to inject custom logic or configuration
5245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5246//
5247//
5248//    // Example sending a request using the StartSimulationJobBatchRequest method.
5249//    req, resp := client.StartSimulationJobBatchRequest(params)
5250//
5251//    err := req.Send()
5252//    if err == nil { // resp is now filled
5253//        fmt.Println(resp)
5254//    }
5255//
5256// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/StartSimulationJobBatch
5257func (c *RoboMaker) StartSimulationJobBatchRequest(input *StartSimulationJobBatchInput) (req *request.Request, output *StartSimulationJobBatchOutput) {
5258	op := &request.Operation{
5259		Name:       opStartSimulationJobBatch,
5260		HTTPMethod: "POST",
5261		HTTPPath:   "/startSimulationJobBatch",
5262	}
5263
5264	if input == nil {
5265		input = &StartSimulationJobBatchInput{}
5266	}
5267
5268	output = &StartSimulationJobBatchOutput{}
5269	req = c.newRequest(op, input, output)
5270	return
5271}
5272
5273// StartSimulationJobBatch API operation for AWS RoboMaker.
5274//
5275// Starts a new simulation job batch. The batch is defined using one or more
5276// SimulationJobRequest objects.
5277//
5278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5279// with awserr.Error's Code and Message methods to get detailed information about
5280// the error.
5281//
5282// See the AWS API reference guide for AWS RoboMaker's
5283// API operation StartSimulationJobBatch for usage and error information.
5284//
5285// Returned Error Types:
5286//   * InvalidParameterException
5287//   A parameter specified in a request is not valid, is unsupported, or cannot
5288//   be used. The returned message provides an explanation of the error value.
5289//
5290//   * LimitExceededException
5291//   The requested resource exceeds the maximum number allowed, or the number
5292//   of concurrent stream requests exceeds the maximum number allowed.
5293//
5294//   * ThrottlingException
5295//   AWS RoboMaker is temporarily unable to process the request. Try your call
5296//   again.
5297//
5298//   * IdempotentParameterMismatchException
5299//   The request uses the same client token as a previous, but non-identical request.
5300//   Do not reuse a client token with different requests, unless the requests
5301//   are identical.
5302//
5303//   * InternalServerException
5304//   AWS RoboMaker experienced a service issue. Try your call again.
5305//
5306// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/StartSimulationJobBatch
5307func (c *RoboMaker) StartSimulationJobBatch(input *StartSimulationJobBatchInput) (*StartSimulationJobBatchOutput, error) {
5308	req, out := c.StartSimulationJobBatchRequest(input)
5309	return out, req.Send()
5310}
5311
5312// StartSimulationJobBatchWithContext is the same as StartSimulationJobBatch with the addition of
5313// the ability to pass a context and additional request options.
5314//
5315// See StartSimulationJobBatch for details on how to use this API operation.
5316//
5317// The context must be non-nil and will be used for request cancellation. If
5318// the context is nil a panic will occur. In the future the SDK may create
5319// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5320// for more information on using Contexts.
5321func (c *RoboMaker) StartSimulationJobBatchWithContext(ctx aws.Context, input *StartSimulationJobBatchInput, opts ...request.Option) (*StartSimulationJobBatchOutput, error) {
5322	req, out := c.StartSimulationJobBatchRequest(input)
5323	req.SetContext(ctx)
5324	req.ApplyOptions(opts...)
5325	return out, req.Send()
5326}
5327
5328const opSyncDeploymentJob = "SyncDeploymentJob"
5329
5330// SyncDeploymentJobRequest generates a "aws/request.Request" representing the
5331// client's request for the SyncDeploymentJob operation. The "output" return
5332// value will be populated with the request's response once the request completes
5333// successfully.
5334//
5335// Use "Send" method on the returned Request to send the API call to the service.
5336// the "output" return value is not valid until after Send returns without error.
5337//
5338// See SyncDeploymentJob for more information on using the SyncDeploymentJob
5339// API call, and error handling.
5340//
5341// This method is useful when you want to inject custom logic or configuration
5342// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5343//
5344//
5345//    // Example sending a request using the SyncDeploymentJobRequest method.
5346//    req, resp := client.SyncDeploymentJobRequest(params)
5347//
5348//    err := req.Send()
5349//    if err == nil { // resp is now filled
5350//        fmt.Println(resp)
5351//    }
5352//
5353// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
5354func (c *RoboMaker) SyncDeploymentJobRequest(input *SyncDeploymentJobInput) (req *request.Request, output *SyncDeploymentJobOutput) {
5355	op := &request.Operation{
5356		Name:       opSyncDeploymentJob,
5357		HTTPMethod: "POST",
5358		HTTPPath:   "/syncDeploymentJob",
5359	}
5360
5361	if input == nil {
5362		input = &SyncDeploymentJobInput{}
5363	}
5364
5365	output = &SyncDeploymentJobOutput{}
5366	req = c.newRequest(op, input, output)
5367	return
5368}
5369
5370// SyncDeploymentJob API operation for AWS RoboMaker.
5371//
5372// Syncrhonizes robots in a fleet to the latest deployment. This is helpful
5373// if robots were added after a deployment.
5374//
5375// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5376// with awserr.Error's Code and Message methods to get detailed information about
5377// the error.
5378//
5379// See the AWS API reference guide for AWS RoboMaker's
5380// API operation SyncDeploymentJob for usage and error information.
5381//
5382// Returned Error Types:
5383//   * ResourceNotFoundException
5384//   The specified resource does not exist.
5385//
5386//   * InvalidParameterException
5387//   A parameter specified in a request is not valid, is unsupported, or cannot
5388//   be used. The returned message provides an explanation of the error value.
5389//
5390//   * InternalServerException
5391//   AWS RoboMaker experienced a service issue. Try your call again.
5392//
5393//   * ThrottlingException
5394//   AWS RoboMaker is temporarily unable to process the request. Try your call
5395//   again.
5396//
5397//   * LimitExceededException
5398//   The requested resource exceeds the maximum number allowed, or the number
5399//   of concurrent stream requests exceeds the maximum number allowed.
5400//
5401//   * ConcurrentDeploymentException
5402//   The failure percentage threshold percentage was met.
5403//
5404//   * IdempotentParameterMismatchException
5405//   The request uses the same client token as a previous, but non-identical request.
5406//   Do not reuse a client token with different requests, unless the requests
5407//   are identical.
5408//
5409// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
5410func (c *RoboMaker) SyncDeploymentJob(input *SyncDeploymentJobInput) (*SyncDeploymentJobOutput, error) {
5411	req, out := c.SyncDeploymentJobRequest(input)
5412	return out, req.Send()
5413}
5414
5415// SyncDeploymentJobWithContext is the same as SyncDeploymentJob with the addition of
5416// the ability to pass a context and additional request options.
5417//
5418// See SyncDeploymentJob for details on how to use this API operation.
5419//
5420// The context must be non-nil and will be used for request cancellation. If
5421// the context is nil a panic will occur. In the future the SDK may create
5422// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5423// for more information on using Contexts.
5424func (c *RoboMaker) SyncDeploymentJobWithContext(ctx aws.Context, input *SyncDeploymentJobInput, opts ...request.Option) (*SyncDeploymentJobOutput, error) {
5425	req, out := c.SyncDeploymentJobRequest(input)
5426	req.SetContext(ctx)
5427	req.ApplyOptions(opts...)
5428	return out, req.Send()
5429}
5430
5431const opTagResource = "TagResource"
5432
5433// TagResourceRequest generates a "aws/request.Request" representing the
5434// client's request for the TagResource operation. The "output" return
5435// value will be populated with the request's response once the request completes
5436// successfully.
5437//
5438// Use "Send" method on the returned Request to send the API call to the service.
5439// the "output" return value is not valid until after Send returns without error.
5440//
5441// See TagResource for more information on using the TagResource
5442// API call, and error handling.
5443//
5444// This method is useful when you want to inject custom logic or configuration
5445// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5446//
5447//
5448//    // Example sending a request using the TagResourceRequest method.
5449//    req, resp := client.TagResourceRequest(params)
5450//
5451//    err := req.Send()
5452//    if err == nil { // resp is now filled
5453//        fmt.Println(resp)
5454//    }
5455//
5456// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
5457func (c *RoboMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5458	op := &request.Operation{
5459		Name:       opTagResource,
5460		HTTPMethod: "POST",
5461		HTTPPath:   "/tags/{resourceArn}",
5462	}
5463
5464	if input == nil {
5465		input = &TagResourceInput{}
5466	}
5467
5468	output = &TagResourceOutput{}
5469	req = c.newRequest(op, input, output)
5470	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5471	return
5472}
5473
5474// TagResource API operation for AWS RoboMaker.
5475//
5476// Adds or edits tags for a AWS RoboMaker resource.
5477//
5478// Each tag consists of a tag key and a tag value. Tag keys and tag values are
5479// both required, but tag values can be empty strings.
5480//
5481// For information about the rules that apply to tag keys and tag values, see
5482// User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
5483// in the AWS Billing and Cost Management User Guide.
5484//
5485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5486// with awserr.Error's Code and Message methods to get detailed information about
5487// the error.
5488//
5489// See the AWS API reference guide for AWS RoboMaker's
5490// API operation TagResource for usage and error information.
5491//
5492// Returned Error Types:
5493//   * InternalServerException
5494//   AWS RoboMaker experienced a service issue. Try your call again.
5495//
5496//   * ResourceNotFoundException
5497//   The specified resource does not exist.
5498//
5499//   * InvalidParameterException
5500//   A parameter specified in a request is not valid, is unsupported, or cannot
5501//   be used. The returned message provides an explanation of the error value.
5502//
5503//   * ThrottlingException
5504//   AWS RoboMaker is temporarily unable to process the request. Try your call
5505//   again.
5506//
5507// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
5508func (c *RoboMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5509	req, out := c.TagResourceRequest(input)
5510	return out, req.Send()
5511}
5512
5513// TagResourceWithContext is the same as TagResource with the addition of
5514// the ability to pass a context and additional request options.
5515//
5516// See TagResource for details on how to use this API operation.
5517//
5518// The context must be non-nil and will be used for request cancellation. If
5519// the context is nil a panic will occur. In the future the SDK may create
5520// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5521// for more information on using Contexts.
5522func (c *RoboMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5523	req, out := c.TagResourceRequest(input)
5524	req.SetContext(ctx)
5525	req.ApplyOptions(opts...)
5526	return out, req.Send()
5527}
5528
5529const opUntagResource = "UntagResource"
5530
5531// UntagResourceRequest generates a "aws/request.Request" representing the
5532// client's request for the UntagResource operation. The "output" return
5533// value will be populated with the request's response once the request completes
5534// successfully.
5535//
5536// Use "Send" method on the returned Request to send the API call to the service.
5537// the "output" return value is not valid until after Send returns without error.
5538//
5539// See UntagResource for more information on using the UntagResource
5540// API call, and error handling.
5541//
5542// This method is useful when you want to inject custom logic or configuration
5543// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5544//
5545//
5546//    // Example sending a request using the UntagResourceRequest method.
5547//    req, resp := client.UntagResourceRequest(params)
5548//
5549//    err := req.Send()
5550//    if err == nil { // resp is now filled
5551//        fmt.Println(resp)
5552//    }
5553//
5554// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
5555func (c *RoboMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5556	op := &request.Operation{
5557		Name:       opUntagResource,
5558		HTTPMethod: "DELETE",
5559		HTTPPath:   "/tags/{resourceArn}",
5560	}
5561
5562	if input == nil {
5563		input = &UntagResourceInput{}
5564	}
5565
5566	output = &UntagResourceOutput{}
5567	req = c.newRequest(op, input, output)
5568	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5569	return
5570}
5571
5572// UntagResource API operation for AWS RoboMaker.
5573//
5574// Removes the specified tags from the specified AWS RoboMaker resource.
5575//
5576// To remove a tag, specify the tag key. To change the tag value of an existing
5577// tag key, use TagResource (https://docs.aws.amazon.com/robomaker/latest/dg/API_TagResource.html).
5578//
5579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5580// with awserr.Error's Code and Message methods to get detailed information about
5581// the error.
5582//
5583// See the AWS API reference guide for AWS RoboMaker's
5584// API operation UntagResource for usage and error information.
5585//
5586// Returned Error Types:
5587//   * InternalServerException
5588//   AWS RoboMaker experienced a service issue. Try your call again.
5589//
5590//   * ResourceNotFoundException
5591//   The specified resource does not exist.
5592//
5593//   * InvalidParameterException
5594//   A parameter specified in a request is not valid, is unsupported, or cannot
5595//   be used. The returned message provides an explanation of the error value.
5596//
5597//   * ThrottlingException
5598//   AWS RoboMaker is temporarily unable to process the request. Try your call
5599//   again.
5600//
5601// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
5602func (c *RoboMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5603	req, out := c.UntagResourceRequest(input)
5604	return out, req.Send()
5605}
5606
5607// UntagResourceWithContext is the same as UntagResource with the addition of
5608// the ability to pass a context and additional request options.
5609//
5610// See UntagResource for details on how to use this API operation.
5611//
5612// The context must be non-nil and will be used for request cancellation. If
5613// the context is nil a panic will occur. In the future the SDK may create
5614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5615// for more information on using Contexts.
5616func (c *RoboMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5617	req, out := c.UntagResourceRequest(input)
5618	req.SetContext(ctx)
5619	req.ApplyOptions(opts...)
5620	return out, req.Send()
5621}
5622
5623const opUpdateRobotApplication = "UpdateRobotApplication"
5624
5625// UpdateRobotApplicationRequest generates a "aws/request.Request" representing the
5626// client's request for the UpdateRobotApplication operation. The "output" return
5627// value will be populated with the request's response once the request completes
5628// successfully.
5629//
5630// Use "Send" method on the returned Request to send the API call to the service.
5631// the "output" return value is not valid until after Send returns without error.
5632//
5633// See UpdateRobotApplication for more information on using the UpdateRobotApplication
5634// API call, and error handling.
5635//
5636// This method is useful when you want to inject custom logic or configuration
5637// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5638//
5639//
5640//    // Example sending a request using the UpdateRobotApplicationRequest method.
5641//    req, resp := client.UpdateRobotApplicationRequest(params)
5642//
5643//    err := req.Send()
5644//    if err == nil { // resp is now filled
5645//        fmt.Println(resp)
5646//    }
5647//
5648// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
5649func (c *RoboMaker) UpdateRobotApplicationRequest(input *UpdateRobotApplicationInput) (req *request.Request, output *UpdateRobotApplicationOutput) {
5650	op := &request.Operation{
5651		Name:       opUpdateRobotApplication,
5652		HTTPMethod: "POST",
5653		HTTPPath:   "/updateRobotApplication",
5654	}
5655
5656	if input == nil {
5657		input = &UpdateRobotApplicationInput{}
5658	}
5659
5660	output = &UpdateRobotApplicationOutput{}
5661	req = c.newRequest(op, input, output)
5662	return
5663}
5664
5665// UpdateRobotApplication API operation for AWS RoboMaker.
5666//
5667// Updates a robot application.
5668//
5669// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5670// with awserr.Error's Code and Message methods to get detailed information about
5671// the error.
5672//
5673// See the AWS API reference guide for AWS RoboMaker's
5674// API operation UpdateRobotApplication for usage and error information.
5675//
5676// Returned Error Types:
5677//   * InvalidParameterException
5678//   A parameter specified in a request is not valid, is unsupported, or cannot
5679//   be used. The returned message provides an explanation of the error value.
5680//
5681//   * ResourceNotFoundException
5682//   The specified resource does not exist.
5683//
5684//   * LimitExceededException
5685//   The requested resource exceeds the maximum number allowed, or the number
5686//   of concurrent stream requests exceeds the maximum number allowed.
5687//
5688//   * ThrottlingException
5689//   AWS RoboMaker is temporarily unable to process the request. Try your call
5690//   again.
5691//
5692//   * InternalServerException
5693//   AWS RoboMaker experienced a service issue. Try your call again.
5694//
5695// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
5696func (c *RoboMaker) UpdateRobotApplication(input *UpdateRobotApplicationInput) (*UpdateRobotApplicationOutput, error) {
5697	req, out := c.UpdateRobotApplicationRequest(input)
5698	return out, req.Send()
5699}
5700
5701// UpdateRobotApplicationWithContext is the same as UpdateRobotApplication with the addition of
5702// the ability to pass a context and additional request options.
5703//
5704// See UpdateRobotApplication for details on how to use this API operation.
5705//
5706// The context must be non-nil and will be used for request cancellation. If
5707// the context is nil a panic will occur. In the future the SDK may create
5708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5709// for more information on using Contexts.
5710func (c *RoboMaker) UpdateRobotApplicationWithContext(ctx aws.Context, input *UpdateRobotApplicationInput, opts ...request.Option) (*UpdateRobotApplicationOutput, error) {
5711	req, out := c.UpdateRobotApplicationRequest(input)
5712	req.SetContext(ctx)
5713	req.ApplyOptions(opts...)
5714	return out, req.Send()
5715}
5716
5717const opUpdateSimulationApplication = "UpdateSimulationApplication"
5718
5719// UpdateSimulationApplicationRequest generates a "aws/request.Request" representing the
5720// client's request for the UpdateSimulationApplication operation. The "output" return
5721// value will be populated with the request's response once the request completes
5722// successfully.
5723//
5724// Use "Send" method on the returned Request to send the API call to the service.
5725// the "output" return value is not valid until after Send returns without error.
5726//
5727// See UpdateSimulationApplication for more information on using the UpdateSimulationApplication
5728// API call, and error handling.
5729//
5730// This method is useful when you want to inject custom logic or configuration
5731// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5732//
5733//
5734//    // Example sending a request using the UpdateSimulationApplicationRequest method.
5735//    req, resp := client.UpdateSimulationApplicationRequest(params)
5736//
5737//    err := req.Send()
5738//    if err == nil { // resp is now filled
5739//        fmt.Println(resp)
5740//    }
5741//
5742// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
5743func (c *RoboMaker) UpdateSimulationApplicationRequest(input *UpdateSimulationApplicationInput) (req *request.Request, output *UpdateSimulationApplicationOutput) {
5744	op := &request.Operation{
5745		Name:       opUpdateSimulationApplication,
5746		HTTPMethod: "POST",
5747		HTTPPath:   "/updateSimulationApplication",
5748	}
5749
5750	if input == nil {
5751		input = &UpdateSimulationApplicationInput{}
5752	}
5753
5754	output = &UpdateSimulationApplicationOutput{}
5755	req = c.newRequest(op, input, output)
5756	return
5757}
5758
5759// UpdateSimulationApplication API operation for AWS RoboMaker.
5760//
5761// Updates a simulation application.
5762//
5763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5764// with awserr.Error's Code and Message methods to get detailed information about
5765// the error.
5766//
5767// See the AWS API reference guide for AWS RoboMaker's
5768// API operation UpdateSimulationApplication for usage and error information.
5769//
5770// Returned Error Types:
5771//   * InvalidParameterException
5772//   A parameter specified in a request is not valid, is unsupported, or cannot
5773//   be used. The returned message provides an explanation of the error value.
5774//
5775//   * ResourceNotFoundException
5776//   The specified resource does not exist.
5777//
5778//   * LimitExceededException
5779//   The requested resource exceeds the maximum number allowed, or the number
5780//   of concurrent stream requests exceeds the maximum number allowed.
5781//
5782//   * ThrottlingException
5783//   AWS RoboMaker is temporarily unable to process the request. Try your call
5784//   again.
5785//
5786//   * InternalServerException
5787//   AWS RoboMaker experienced a service issue. Try your call again.
5788//
5789// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
5790func (c *RoboMaker) UpdateSimulationApplication(input *UpdateSimulationApplicationInput) (*UpdateSimulationApplicationOutput, error) {
5791	req, out := c.UpdateSimulationApplicationRequest(input)
5792	return out, req.Send()
5793}
5794
5795// UpdateSimulationApplicationWithContext is the same as UpdateSimulationApplication with the addition of
5796// the ability to pass a context and additional request options.
5797//
5798// See UpdateSimulationApplication for details on how to use this API operation.
5799//
5800// The context must be non-nil and will be used for request cancellation. If
5801// the context is nil a panic will occur. In the future the SDK may create
5802// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5803// for more information on using Contexts.
5804func (c *RoboMaker) UpdateSimulationApplicationWithContext(ctx aws.Context, input *UpdateSimulationApplicationInput, opts ...request.Option) (*UpdateSimulationApplicationOutput, error) {
5805	req, out := c.UpdateSimulationApplicationRequest(input)
5806	req.SetContext(ctx)
5807	req.ApplyOptions(opts...)
5808	return out, req.Send()
5809}
5810
5811const opUpdateWorldTemplate = "UpdateWorldTemplate"
5812
5813// UpdateWorldTemplateRequest generates a "aws/request.Request" representing the
5814// client's request for the UpdateWorldTemplate operation. The "output" return
5815// value will be populated with the request's response once the request completes
5816// successfully.
5817//
5818// Use "Send" method on the returned Request to send the API call to the service.
5819// the "output" return value is not valid until after Send returns without error.
5820//
5821// See UpdateWorldTemplate for more information on using the UpdateWorldTemplate
5822// API call, and error handling.
5823//
5824// This method is useful when you want to inject custom logic or configuration
5825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5826//
5827//
5828//    // Example sending a request using the UpdateWorldTemplateRequest method.
5829//    req, resp := client.UpdateWorldTemplateRequest(params)
5830//
5831//    err := req.Send()
5832//    if err == nil { // resp is now filled
5833//        fmt.Println(resp)
5834//    }
5835//
5836// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateWorldTemplate
5837func (c *RoboMaker) UpdateWorldTemplateRequest(input *UpdateWorldTemplateInput) (req *request.Request, output *UpdateWorldTemplateOutput) {
5838	op := &request.Operation{
5839		Name:       opUpdateWorldTemplate,
5840		HTTPMethod: "POST",
5841		HTTPPath:   "/updateWorldTemplate",
5842	}
5843
5844	if input == nil {
5845		input = &UpdateWorldTemplateInput{}
5846	}
5847
5848	output = &UpdateWorldTemplateOutput{}
5849	req = c.newRequest(op, input, output)
5850	return
5851}
5852
5853// UpdateWorldTemplate API operation for AWS RoboMaker.
5854//
5855// Updates a world template.
5856//
5857// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5858// with awserr.Error's Code and Message methods to get detailed information about
5859// the error.
5860//
5861// See the AWS API reference guide for AWS RoboMaker's
5862// API operation UpdateWorldTemplate for usage and error information.
5863//
5864// Returned Error Types:
5865//   * InvalidParameterException
5866//   A parameter specified in a request is not valid, is unsupported, or cannot
5867//   be used. The returned message provides an explanation of the error value.
5868//
5869//   * ResourceNotFoundException
5870//   The specified resource does not exist.
5871//
5872//   * ThrottlingException
5873//   AWS RoboMaker is temporarily unable to process the request. Try your call
5874//   again.
5875//
5876//   * InternalServerException
5877//   AWS RoboMaker experienced a service issue. Try your call again.
5878//
5879// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateWorldTemplate
5880func (c *RoboMaker) UpdateWorldTemplate(input *UpdateWorldTemplateInput) (*UpdateWorldTemplateOutput, error) {
5881	req, out := c.UpdateWorldTemplateRequest(input)
5882	return out, req.Send()
5883}
5884
5885// UpdateWorldTemplateWithContext is the same as UpdateWorldTemplate with the addition of
5886// the ability to pass a context and additional request options.
5887//
5888// See UpdateWorldTemplate for details on how to use this API operation.
5889//
5890// The context must be non-nil and will be used for request cancellation. If
5891// the context is nil a panic will occur. In the future the SDK may create
5892// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5893// for more information on using Contexts.
5894func (c *RoboMaker) UpdateWorldTemplateWithContext(ctx aws.Context, input *UpdateWorldTemplateInput, opts ...request.Option) (*UpdateWorldTemplateOutput, error) {
5895	req, out := c.UpdateWorldTemplateRequest(input)
5896	req.SetContext(ctx)
5897	req.ApplyOptions(opts...)
5898	return out, req.Send()
5899}
5900
5901type BatchDeleteWorldsInput struct {
5902	_ struct{} `type:"structure"`
5903
5904	// A list of Amazon Resource Names (arns) that correspond to worlds to delete.
5905	//
5906	// Worlds is a required field
5907	Worlds []*string `locationName:"worlds" min:"1" type:"list" required:"true"`
5908}
5909
5910// String returns the string representation
5911func (s BatchDeleteWorldsInput) String() string {
5912	return awsutil.Prettify(s)
5913}
5914
5915// GoString returns the string representation
5916func (s BatchDeleteWorldsInput) GoString() string {
5917	return s.String()
5918}
5919
5920// Validate inspects the fields of the type to determine if they are valid.
5921func (s *BatchDeleteWorldsInput) Validate() error {
5922	invalidParams := request.ErrInvalidParams{Context: "BatchDeleteWorldsInput"}
5923	if s.Worlds == nil {
5924		invalidParams.Add(request.NewErrParamRequired("Worlds"))
5925	}
5926	if s.Worlds != nil && len(s.Worlds) < 1 {
5927		invalidParams.Add(request.NewErrParamMinLen("Worlds", 1))
5928	}
5929
5930	if invalidParams.Len() > 0 {
5931		return invalidParams
5932	}
5933	return nil
5934}
5935
5936// SetWorlds sets the Worlds field's value.
5937func (s *BatchDeleteWorldsInput) SetWorlds(v []*string) *BatchDeleteWorldsInput {
5938	s.Worlds = v
5939	return s
5940}
5941
5942type BatchDeleteWorldsOutput struct {
5943	_ struct{} `type:"structure"`
5944
5945	// A list of unprocessed worlds associated with the call. These worlds were
5946	// not deleted.
5947	UnprocessedWorlds []*string `locationName:"unprocessedWorlds" min:"1" type:"list"`
5948}
5949
5950// String returns the string representation
5951func (s BatchDeleteWorldsOutput) String() string {
5952	return awsutil.Prettify(s)
5953}
5954
5955// GoString returns the string representation
5956func (s BatchDeleteWorldsOutput) GoString() string {
5957	return s.String()
5958}
5959
5960// SetUnprocessedWorlds sets the UnprocessedWorlds field's value.
5961func (s *BatchDeleteWorldsOutput) SetUnprocessedWorlds(v []*string) *BatchDeleteWorldsOutput {
5962	s.UnprocessedWorlds = v
5963	return s
5964}
5965
5966type BatchDescribeSimulationJobInput struct {
5967	_ struct{} `type:"structure"`
5968
5969	// A list of Amazon Resource Names (ARNs) of simulation jobs to describe.
5970	//
5971	// Jobs is a required field
5972	Jobs []*string `locationName:"jobs" min:"1" type:"list" required:"true"`
5973}
5974
5975// String returns the string representation
5976func (s BatchDescribeSimulationJobInput) String() string {
5977	return awsutil.Prettify(s)
5978}
5979
5980// GoString returns the string representation
5981func (s BatchDescribeSimulationJobInput) GoString() string {
5982	return s.String()
5983}
5984
5985// Validate inspects the fields of the type to determine if they are valid.
5986func (s *BatchDescribeSimulationJobInput) Validate() error {
5987	invalidParams := request.ErrInvalidParams{Context: "BatchDescribeSimulationJobInput"}
5988	if s.Jobs == nil {
5989		invalidParams.Add(request.NewErrParamRequired("Jobs"))
5990	}
5991	if s.Jobs != nil && len(s.Jobs) < 1 {
5992		invalidParams.Add(request.NewErrParamMinLen("Jobs", 1))
5993	}
5994
5995	if invalidParams.Len() > 0 {
5996		return invalidParams
5997	}
5998	return nil
5999}
6000
6001// SetJobs sets the Jobs field's value.
6002func (s *BatchDescribeSimulationJobInput) SetJobs(v []*string) *BatchDescribeSimulationJobInput {
6003	s.Jobs = v
6004	return s
6005}
6006
6007type BatchDescribeSimulationJobOutput struct {
6008	_ struct{} `type:"structure"`
6009
6010	// A list of simulation jobs.
6011	Jobs []*SimulationJob `locationName:"jobs" type:"list"`
6012
6013	// A list of unprocessed simulation job Amazon Resource Names (ARNs).
6014	UnprocessedJobs []*string `locationName:"unprocessedJobs" min:"1" type:"list"`
6015}
6016
6017// String returns the string representation
6018func (s BatchDescribeSimulationJobOutput) String() string {
6019	return awsutil.Prettify(s)
6020}
6021
6022// GoString returns the string representation
6023func (s BatchDescribeSimulationJobOutput) GoString() string {
6024	return s.String()
6025}
6026
6027// SetJobs sets the Jobs field's value.
6028func (s *BatchDescribeSimulationJobOutput) SetJobs(v []*SimulationJob) *BatchDescribeSimulationJobOutput {
6029	s.Jobs = v
6030	return s
6031}
6032
6033// SetUnprocessedJobs sets the UnprocessedJobs field's value.
6034func (s *BatchDescribeSimulationJobOutput) SetUnprocessedJobs(v []*string) *BatchDescribeSimulationJobOutput {
6035	s.UnprocessedJobs = v
6036	return s
6037}
6038
6039// Information about the batch policy.
6040type BatchPolicy struct {
6041	_ struct{} `type:"structure"`
6042
6043	// The number of active simulation jobs create as part of the batch that can
6044	// be in an active state at the same time.
6045	//
6046	// Active states include: Pending,Preparing, Running, Restarting, RunningFailed
6047	// and Terminating. All other states are terminal states.
6048	MaxConcurrency *int64 `locationName:"maxConcurrency" type:"integer"`
6049
6050	// The amount of time, in seconds, to wait for the batch to complete.
6051	//
6052	// If a batch times out, and there are pending requests that were failing due
6053	// to an internal failure (like InternalServiceError), they will be moved to
6054	// the failed list and the batch status will be Failed. If the pending requests
6055	// were failing for any other reason, the failed pending requests will be moved
6056	// to the failed list and the batch status will be TimedOut.
6057	TimeoutInSeconds *int64 `locationName:"timeoutInSeconds" type:"long"`
6058}
6059
6060// String returns the string representation
6061func (s BatchPolicy) String() string {
6062	return awsutil.Prettify(s)
6063}
6064
6065// GoString returns the string representation
6066func (s BatchPolicy) GoString() string {
6067	return s.String()
6068}
6069
6070// SetMaxConcurrency sets the MaxConcurrency field's value.
6071func (s *BatchPolicy) SetMaxConcurrency(v int64) *BatchPolicy {
6072	s.MaxConcurrency = &v
6073	return s
6074}
6075
6076// SetTimeoutInSeconds sets the TimeoutInSeconds field's value.
6077func (s *BatchPolicy) SetTimeoutInSeconds(v int64) *BatchPolicy {
6078	s.TimeoutInSeconds = &v
6079	return s
6080}
6081
6082type CancelDeploymentJobInput struct {
6083	_ struct{} `type:"structure"`
6084
6085	// The deployment job ARN to cancel.
6086	//
6087	// Job is a required field
6088	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
6089}
6090
6091// String returns the string representation
6092func (s CancelDeploymentJobInput) String() string {
6093	return awsutil.Prettify(s)
6094}
6095
6096// GoString returns the string representation
6097func (s CancelDeploymentJobInput) GoString() string {
6098	return s.String()
6099}
6100
6101// Validate inspects the fields of the type to determine if they are valid.
6102func (s *CancelDeploymentJobInput) Validate() error {
6103	invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentJobInput"}
6104	if s.Job == nil {
6105		invalidParams.Add(request.NewErrParamRequired("Job"))
6106	}
6107	if s.Job != nil && len(*s.Job) < 1 {
6108		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
6109	}
6110
6111	if invalidParams.Len() > 0 {
6112		return invalidParams
6113	}
6114	return nil
6115}
6116
6117// SetJob sets the Job field's value.
6118func (s *CancelDeploymentJobInput) SetJob(v string) *CancelDeploymentJobInput {
6119	s.Job = &v
6120	return s
6121}
6122
6123type CancelDeploymentJobOutput struct {
6124	_ struct{} `type:"structure"`
6125}
6126
6127// String returns the string representation
6128func (s CancelDeploymentJobOutput) String() string {
6129	return awsutil.Prettify(s)
6130}
6131
6132// GoString returns the string representation
6133func (s CancelDeploymentJobOutput) GoString() string {
6134	return s.String()
6135}
6136
6137type CancelSimulationJobBatchInput struct {
6138	_ struct{} `type:"structure"`
6139
6140	// The id of the batch to cancel.
6141	//
6142	// Batch is a required field
6143	Batch *string `locationName:"batch" min:"1" type:"string" required:"true"`
6144}
6145
6146// String returns the string representation
6147func (s CancelSimulationJobBatchInput) String() string {
6148	return awsutil.Prettify(s)
6149}
6150
6151// GoString returns the string representation
6152func (s CancelSimulationJobBatchInput) GoString() string {
6153	return s.String()
6154}
6155
6156// Validate inspects the fields of the type to determine if they are valid.
6157func (s *CancelSimulationJobBatchInput) Validate() error {
6158	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobBatchInput"}
6159	if s.Batch == nil {
6160		invalidParams.Add(request.NewErrParamRequired("Batch"))
6161	}
6162	if s.Batch != nil && len(*s.Batch) < 1 {
6163		invalidParams.Add(request.NewErrParamMinLen("Batch", 1))
6164	}
6165
6166	if invalidParams.Len() > 0 {
6167		return invalidParams
6168	}
6169	return nil
6170}
6171
6172// SetBatch sets the Batch field's value.
6173func (s *CancelSimulationJobBatchInput) SetBatch(v string) *CancelSimulationJobBatchInput {
6174	s.Batch = &v
6175	return s
6176}
6177
6178type CancelSimulationJobBatchOutput struct {
6179	_ struct{} `type:"structure"`
6180}
6181
6182// String returns the string representation
6183func (s CancelSimulationJobBatchOutput) String() string {
6184	return awsutil.Prettify(s)
6185}
6186
6187// GoString returns the string representation
6188func (s CancelSimulationJobBatchOutput) GoString() string {
6189	return s.String()
6190}
6191
6192type CancelSimulationJobInput struct {
6193	_ struct{} `type:"structure"`
6194
6195	// The simulation job ARN to cancel.
6196	//
6197	// Job is a required field
6198	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
6199}
6200
6201// String returns the string representation
6202func (s CancelSimulationJobInput) String() string {
6203	return awsutil.Prettify(s)
6204}
6205
6206// GoString returns the string representation
6207func (s CancelSimulationJobInput) GoString() string {
6208	return s.String()
6209}
6210
6211// Validate inspects the fields of the type to determine if they are valid.
6212func (s *CancelSimulationJobInput) Validate() error {
6213	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobInput"}
6214	if s.Job == nil {
6215		invalidParams.Add(request.NewErrParamRequired("Job"))
6216	}
6217	if s.Job != nil && len(*s.Job) < 1 {
6218		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
6219	}
6220
6221	if invalidParams.Len() > 0 {
6222		return invalidParams
6223	}
6224	return nil
6225}
6226
6227// SetJob sets the Job field's value.
6228func (s *CancelSimulationJobInput) SetJob(v string) *CancelSimulationJobInput {
6229	s.Job = &v
6230	return s
6231}
6232
6233type CancelSimulationJobOutput struct {
6234	_ struct{} `type:"structure"`
6235}
6236
6237// String returns the string representation
6238func (s CancelSimulationJobOutput) String() string {
6239	return awsutil.Prettify(s)
6240}
6241
6242// GoString returns the string representation
6243func (s CancelSimulationJobOutput) GoString() string {
6244	return s.String()
6245}
6246
6247type CancelWorldExportJobInput struct {
6248	_ struct{} `type:"structure"`
6249
6250	// The Amazon Resource Name (arn) of the world export job to cancel.
6251	//
6252	// Job is a required field
6253	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
6254}
6255
6256// String returns the string representation
6257func (s CancelWorldExportJobInput) String() string {
6258	return awsutil.Prettify(s)
6259}
6260
6261// GoString returns the string representation
6262func (s CancelWorldExportJobInput) GoString() string {
6263	return s.String()
6264}
6265
6266// Validate inspects the fields of the type to determine if they are valid.
6267func (s *CancelWorldExportJobInput) Validate() error {
6268	invalidParams := request.ErrInvalidParams{Context: "CancelWorldExportJobInput"}
6269	if s.Job == nil {
6270		invalidParams.Add(request.NewErrParamRequired("Job"))
6271	}
6272	if s.Job != nil && len(*s.Job) < 1 {
6273		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
6274	}
6275
6276	if invalidParams.Len() > 0 {
6277		return invalidParams
6278	}
6279	return nil
6280}
6281
6282// SetJob sets the Job field's value.
6283func (s *CancelWorldExportJobInput) SetJob(v string) *CancelWorldExportJobInput {
6284	s.Job = &v
6285	return s
6286}
6287
6288type CancelWorldExportJobOutput struct {
6289	_ struct{} `type:"structure"`
6290}
6291
6292// String returns the string representation
6293func (s CancelWorldExportJobOutput) String() string {
6294	return awsutil.Prettify(s)
6295}
6296
6297// GoString returns the string representation
6298func (s CancelWorldExportJobOutput) GoString() string {
6299	return s.String()
6300}
6301
6302type CancelWorldGenerationJobInput struct {
6303	_ struct{} `type:"structure"`
6304
6305	// The Amazon Resource Name (arn) of the world generator job to cancel.
6306	//
6307	// Job is a required field
6308	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
6309}
6310
6311// String returns the string representation
6312func (s CancelWorldGenerationJobInput) String() string {
6313	return awsutil.Prettify(s)
6314}
6315
6316// GoString returns the string representation
6317func (s CancelWorldGenerationJobInput) GoString() string {
6318	return s.String()
6319}
6320
6321// Validate inspects the fields of the type to determine if they are valid.
6322func (s *CancelWorldGenerationJobInput) Validate() error {
6323	invalidParams := request.ErrInvalidParams{Context: "CancelWorldGenerationJobInput"}
6324	if s.Job == nil {
6325		invalidParams.Add(request.NewErrParamRequired("Job"))
6326	}
6327	if s.Job != nil && len(*s.Job) < 1 {
6328		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
6329	}
6330
6331	if invalidParams.Len() > 0 {
6332		return invalidParams
6333	}
6334	return nil
6335}
6336
6337// SetJob sets the Job field's value.
6338func (s *CancelWorldGenerationJobInput) SetJob(v string) *CancelWorldGenerationJobInput {
6339	s.Job = &v
6340	return s
6341}
6342
6343type CancelWorldGenerationJobOutput struct {
6344	_ struct{} `type:"structure"`
6345}
6346
6347// String returns the string representation
6348func (s CancelWorldGenerationJobOutput) String() string {
6349	return awsutil.Prettify(s)
6350}
6351
6352// GoString returns the string representation
6353func (s CancelWorldGenerationJobOutput) GoString() string {
6354	return s.String()
6355}
6356
6357// Compute information for the simulation job.
6358type Compute struct {
6359	_ struct{} `type:"structure"`
6360
6361	// The simulation unit limit. Your simulation is allocated CPU and memory proportional
6362	// to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB
6363	// of memory. You are only billed for the SU utilization you consume up to the
6364	// maximim value provided. The default is 15.
6365	SimulationUnitLimit *int64 `locationName:"simulationUnitLimit" min:"1" type:"integer"`
6366}
6367
6368// String returns the string representation
6369func (s Compute) String() string {
6370	return awsutil.Prettify(s)
6371}
6372
6373// GoString returns the string representation
6374func (s Compute) GoString() string {
6375	return s.String()
6376}
6377
6378// Validate inspects the fields of the type to determine if they are valid.
6379func (s *Compute) Validate() error {
6380	invalidParams := request.ErrInvalidParams{Context: "Compute"}
6381	if s.SimulationUnitLimit != nil && *s.SimulationUnitLimit < 1 {
6382		invalidParams.Add(request.NewErrParamMinValue("SimulationUnitLimit", 1))
6383	}
6384
6385	if invalidParams.Len() > 0 {
6386		return invalidParams
6387	}
6388	return nil
6389}
6390
6391// SetSimulationUnitLimit sets the SimulationUnitLimit field's value.
6392func (s *Compute) SetSimulationUnitLimit(v int64) *Compute {
6393	s.SimulationUnitLimit = &v
6394	return s
6395}
6396
6397// Compute information for the simulation job
6398type ComputeResponse struct {
6399	_ struct{} `type:"structure"`
6400
6401	// The simulation unit limit. Your simulation is allocated CPU and memory proportional
6402	// to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB
6403	// of memory. You are only billed for the SU utilization you consume up to the
6404	// maximim value provided. The default is 15.
6405	SimulationUnitLimit *int64 `locationName:"simulationUnitLimit" min:"1" type:"integer"`
6406}
6407
6408// String returns the string representation
6409func (s ComputeResponse) String() string {
6410	return awsutil.Prettify(s)
6411}
6412
6413// GoString returns the string representation
6414func (s ComputeResponse) GoString() string {
6415	return s.String()
6416}
6417
6418// SetSimulationUnitLimit sets the SimulationUnitLimit field's value.
6419func (s *ComputeResponse) SetSimulationUnitLimit(v int64) *ComputeResponse {
6420	s.SimulationUnitLimit = &v
6421	return s
6422}
6423
6424// The failure percentage threshold percentage was met.
6425type ConcurrentDeploymentException struct {
6426	_            struct{}                  `type:"structure"`
6427	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6428
6429	Message_ *string `locationName:"message" type:"string"`
6430}
6431
6432// String returns the string representation
6433func (s ConcurrentDeploymentException) String() string {
6434	return awsutil.Prettify(s)
6435}
6436
6437// GoString returns the string representation
6438func (s ConcurrentDeploymentException) GoString() string {
6439	return s.String()
6440}
6441
6442func newErrorConcurrentDeploymentException(v protocol.ResponseMetadata) error {
6443	return &ConcurrentDeploymentException{
6444		RespMetadata: v,
6445	}
6446}
6447
6448// Code returns the exception type name.
6449func (s *ConcurrentDeploymentException) Code() string {
6450	return "ConcurrentDeploymentException"
6451}
6452
6453// Message returns the exception's message.
6454func (s *ConcurrentDeploymentException) Message() string {
6455	if s.Message_ != nil {
6456		return *s.Message_
6457	}
6458	return ""
6459}
6460
6461// OrigErr always returns nil, satisfies awserr.Error interface.
6462func (s *ConcurrentDeploymentException) OrigErr() error {
6463	return nil
6464}
6465
6466func (s *ConcurrentDeploymentException) Error() string {
6467	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6468}
6469
6470// Status code returns the HTTP status code for the request's response error.
6471func (s *ConcurrentDeploymentException) StatusCode() int {
6472	return s.RespMetadata.StatusCode
6473}
6474
6475// RequestID returns the service's response RequestID for request.
6476func (s *ConcurrentDeploymentException) RequestID() string {
6477	return s.RespMetadata.RequestID
6478}
6479
6480type CreateDeploymentJobInput struct {
6481	_ struct{} `type:"structure"`
6482
6483	// Unique, case-sensitive identifier that you provide to ensure the idempotency
6484	// of the request.
6485	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
6486
6487	// The deployment application configuration.
6488	//
6489	// DeploymentApplicationConfigs is a required field
6490	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list" required:"true"`
6491
6492	// The requested deployment configuration.
6493	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
6494
6495	// The Amazon Resource Name (ARN) of the fleet to deploy.
6496	//
6497	// Fleet is a required field
6498	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
6499
6500	// A map that contains tag keys and tag values that are attached to the deployment
6501	// job.
6502	Tags map[string]*string `locationName:"tags" type:"map"`
6503}
6504
6505// String returns the string representation
6506func (s CreateDeploymentJobInput) String() string {
6507	return awsutil.Prettify(s)
6508}
6509
6510// GoString returns the string representation
6511func (s CreateDeploymentJobInput) GoString() string {
6512	return s.String()
6513}
6514
6515// Validate inspects the fields of the type to determine if they are valid.
6516func (s *CreateDeploymentJobInput) Validate() error {
6517	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentJobInput"}
6518	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
6519		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
6520	}
6521	if s.DeploymentApplicationConfigs == nil {
6522		invalidParams.Add(request.NewErrParamRequired("DeploymentApplicationConfigs"))
6523	}
6524	if s.DeploymentApplicationConfigs != nil && len(s.DeploymentApplicationConfigs) < 1 {
6525		invalidParams.Add(request.NewErrParamMinLen("DeploymentApplicationConfigs", 1))
6526	}
6527	if s.Fleet == nil {
6528		invalidParams.Add(request.NewErrParamRequired("Fleet"))
6529	}
6530	if s.Fleet != nil && len(*s.Fleet) < 1 {
6531		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
6532	}
6533	if s.DeploymentApplicationConfigs != nil {
6534		for i, v := range s.DeploymentApplicationConfigs {
6535			if v == nil {
6536				continue
6537			}
6538			if err := v.Validate(); err != nil {
6539				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeploymentApplicationConfigs", i), err.(request.ErrInvalidParams))
6540			}
6541		}
6542	}
6543	if s.DeploymentConfig != nil {
6544		if err := s.DeploymentConfig.Validate(); err != nil {
6545			invalidParams.AddNested("DeploymentConfig", err.(request.ErrInvalidParams))
6546		}
6547	}
6548
6549	if invalidParams.Len() > 0 {
6550		return invalidParams
6551	}
6552	return nil
6553}
6554
6555// SetClientRequestToken sets the ClientRequestToken field's value.
6556func (s *CreateDeploymentJobInput) SetClientRequestToken(v string) *CreateDeploymentJobInput {
6557	s.ClientRequestToken = &v
6558	return s
6559}
6560
6561// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
6562func (s *CreateDeploymentJobInput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobInput {
6563	s.DeploymentApplicationConfigs = v
6564	return s
6565}
6566
6567// SetDeploymentConfig sets the DeploymentConfig field's value.
6568func (s *CreateDeploymentJobInput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobInput {
6569	s.DeploymentConfig = v
6570	return s
6571}
6572
6573// SetFleet sets the Fleet field's value.
6574func (s *CreateDeploymentJobInput) SetFleet(v string) *CreateDeploymentJobInput {
6575	s.Fleet = &v
6576	return s
6577}
6578
6579// SetTags sets the Tags field's value.
6580func (s *CreateDeploymentJobInput) SetTags(v map[string]*string) *CreateDeploymentJobInput {
6581	s.Tags = v
6582	return s
6583}
6584
6585type CreateDeploymentJobOutput struct {
6586	_ struct{} `type:"structure"`
6587
6588	// The Amazon Resource Name (ARN) of the deployment job.
6589	Arn *string `locationName:"arn" min:"1" type:"string"`
6590
6591	// The time, in milliseconds since the epoch, when the fleet was created.
6592	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6593
6594	// The deployment application configuration.
6595	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
6596
6597	// The deployment configuration.
6598	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
6599
6600	// The failure code of the simulation job if it failed:
6601	//
6602	// BadPermissionError
6603	//
6604	// AWS Greengrass requires a service-level role permission to access other services.
6605	// The role must include the AWSGreengrassResourceAccessRolePolicy managed policy
6606	// (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor).
6607	//
6608	// ExtractingBundleFailure
6609	//
6610	// The robot application could not be extracted from the bundle.
6611	//
6612	// FailureThresholdBreached
6613	//
6614	// The percentage of robots that could not be updated exceeded the percentage
6615	// set for the deployment.
6616	//
6617	// GreengrassDeploymentFailed
6618	//
6619	// The robot application could not be deployed to the robot.
6620	//
6621	// GreengrassGroupVersionDoesNotExist
6622	//
6623	// The AWS Greengrass group or version associated with a robot is missing.
6624	//
6625	// InternalServerError
6626	//
6627	// An internal error has occurred. Retry your request, but if the problem persists,
6628	// contact us with details.
6629	//
6630	// MissingRobotApplicationArchitecture
6631	//
6632	// The robot application does not have a source that matches the architecture
6633	// of the robot.
6634	//
6635	// MissingRobotDeploymentResource
6636	//
6637	// One or more of the resources specified for the robot application are missing.
6638	// For example, does the robot application have the correct launch package and
6639	// launch file?
6640	//
6641	// PostLaunchFileFailure
6642	//
6643	// The post-launch script failed.
6644	//
6645	// PreLaunchFileFailure
6646	//
6647	// The pre-launch script failed.
6648	//
6649	// ResourceNotFound
6650	//
6651	// One or more deployment resources are missing. For example, do robot application
6652	// source bundles still exist?
6653	//
6654	// RobotDeploymentNoResponse
6655	//
6656	// There is no response from the robot. It might not be powered on or connected
6657	// to the internet.
6658	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
6659
6660	// The failure reason of the deployment job if it failed.
6661	FailureReason *string `locationName:"failureReason" type:"string"`
6662
6663	// The target fleet for the deployment job.
6664	Fleet *string `locationName:"fleet" min:"1" type:"string"`
6665
6666	// The status of the deployment job.
6667	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
6668
6669	// The list of all tags added to the deployment job.
6670	Tags map[string]*string `locationName:"tags" type:"map"`
6671}
6672
6673// String returns the string representation
6674func (s CreateDeploymentJobOutput) String() string {
6675	return awsutil.Prettify(s)
6676}
6677
6678// GoString returns the string representation
6679func (s CreateDeploymentJobOutput) GoString() string {
6680	return s.String()
6681}
6682
6683// SetArn sets the Arn field's value.
6684func (s *CreateDeploymentJobOutput) SetArn(v string) *CreateDeploymentJobOutput {
6685	s.Arn = &v
6686	return s
6687}
6688
6689// SetCreatedAt sets the CreatedAt field's value.
6690func (s *CreateDeploymentJobOutput) SetCreatedAt(v time.Time) *CreateDeploymentJobOutput {
6691	s.CreatedAt = &v
6692	return s
6693}
6694
6695// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
6696func (s *CreateDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobOutput {
6697	s.DeploymentApplicationConfigs = v
6698	return s
6699}
6700
6701// SetDeploymentConfig sets the DeploymentConfig field's value.
6702func (s *CreateDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobOutput {
6703	s.DeploymentConfig = v
6704	return s
6705}
6706
6707// SetFailureCode sets the FailureCode field's value.
6708func (s *CreateDeploymentJobOutput) SetFailureCode(v string) *CreateDeploymentJobOutput {
6709	s.FailureCode = &v
6710	return s
6711}
6712
6713// SetFailureReason sets the FailureReason field's value.
6714func (s *CreateDeploymentJobOutput) SetFailureReason(v string) *CreateDeploymentJobOutput {
6715	s.FailureReason = &v
6716	return s
6717}
6718
6719// SetFleet sets the Fleet field's value.
6720func (s *CreateDeploymentJobOutput) SetFleet(v string) *CreateDeploymentJobOutput {
6721	s.Fleet = &v
6722	return s
6723}
6724
6725// SetStatus sets the Status field's value.
6726func (s *CreateDeploymentJobOutput) SetStatus(v string) *CreateDeploymentJobOutput {
6727	s.Status = &v
6728	return s
6729}
6730
6731// SetTags sets the Tags field's value.
6732func (s *CreateDeploymentJobOutput) SetTags(v map[string]*string) *CreateDeploymentJobOutput {
6733	s.Tags = v
6734	return s
6735}
6736
6737type CreateFleetInput struct {
6738	_ struct{} `type:"structure"`
6739
6740	// The name of the fleet.
6741	//
6742	// Name is a required field
6743	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6744
6745	// A map that contains tag keys and tag values that are attached to the fleet.
6746	Tags map[string]*string `locationName:"tags" type:"map"`
6747}
6748
6749// String returns the string representation
6750func (s CreateFleetInput) String() string {
6751	return awsutil.Prettify(s)
6752}
6753
6754// GoString returns the string representation
6755func (s CreateFleetInput) GoString() string {
6756	return s.String()
6757}
6758
6759// Validate inspects the fields of the type to determine if they are valid.
6760func (s *CreateFleetInput) Validate() error {
6761	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
6762	if s.Name == nil {
6763		invalidParams.Add(request.NewErrParamRequired("Name"))
6764	}
6765	if s.Name != nil && len(*s.Name) < 1 {
6766		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6767	}
6768
6769	if invalidParams.Len() > 0 {
6770		return invalidParams
6771	}
6772	return nil
6773}
6774
6775// SetName sets the Name field's value.
6776func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
6777	s.Name = &v
6778	return s
6779}
6780
6781// SetTags sets the Tags field's value.
6782func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
6783	s.Tags = v
6784	return s
6785}
6786
6787type CreateFleetOutput struct {
6788	_ struct{} `type:"structure"`
6789
6790	// The Amazon Resource Name (ARN) of the fleet.
6791	Arn *string `locationName:"arn" min:"1" type:"string"`
6792
6793	// The time, in milliseconds since the epoch, when the fleet was created.
6794	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6795
6796	// The name of the fleet.
6797	Name *string `locationName:"name" min:"1" type:"string"`
6798
6799	// The list of all tags added to the fleet.
6800	Tags map[string]*string `locationName:"tags" type:"map"`
6801}
6802
6803// String returns the string representation
6804func (s CreateFleetOutput) String() string {
6805	return awsutil.Prettify(s)
6806}
6807
6808// GoString returns the string representation
6809func (s CreateFleetOutput) GoString() string {
6810	return s.String()
6811}
6812
6813// SetArn sets the Arn field's value.
6814func (s *CreateFleetOutput) SetArn(v string) *CreateFleetOutput {
6815	s.Arn = &v
6816	return s
6817}
6818
6819// SetCreatedAt sets the CreatedAt field's value.
6820func (s *CreateFleetOutput) SetCreatedAt(v time.Time) *CreateFleetOutput {
6821	s.CreatedAt = &v
6822	return s
6823}
6824
6825// SetName sets the Name field's value.
6826func (s *CreateFleetOutput) SetName(v string) *CreateFleetOutput {
6827	s.Name = &v
6828	return s
6829}
6830
6831// SetTags sets the Tags field's value.
6832func (s *CreateFleetOutput) SetTags(v map[string]*string) *CreateFleetOutput {
6833	s.Tags = v
6834	return s
6835}
6836
6837type CreateRobotApplicationInput struct {
6838	_ struct{} `type:"structure"`
6839
6840	// The name of the robot application.
6841	//
6842	// Name is a required field
6843	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6844
6845	// The robot software suite (ROS distribuition) used by the robot application.
6846	//
6847	// RobotSoftwareSuite is a required field
6848	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
6849
6850	// The sources of the robot application.
6851	//
6852	// Sources is a required field
6853	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
6854
6855	// A map that contains tag keys and tag values that are attached to the robot
6856	// application.
6857	Tags map[string]*string `locationName:"tags" type:"map"`
6858}
6859
6860// String returns the string representation
6861func (s CreateRobotApplicationInput) String() string {
6862	return awsutil.Prettify(s)
6863}
6864
6865// GoString returns the string representation
6866func (s CreateRobotApplicationInput) GoString() string {
6867	return s.String()
6868}
6869
6870// Validate inspects the fields of the type to determine if they are valid.
6871func (s *CreateRobotApplicationInput) Validate() error {
6872	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationInput"}
6873	if s.Name == nil {
6874		invalidParams.Add(request.NewErrParamRequired("Name"))
6875	}
6876	if s.Name != nil && len(*s.Name) < 1 {
6877		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6878	}
6879	if s.RobotSoftwareSuite == nil {
6880		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
6881	}
6882	if s.Sources == nil {
6883		invalidParams.Add(request.NewErrParamRequired("Sources"))
6884	}
6885	if s.Sources != nil {
6886		for i, v := range s.Sources {
6887			if v == nil {
6888				continue
6889			}
6890			if err := v.Validate(); err != nil {
6891				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
6892			}
6893		}
6894	}
6895
6896	if invalidParams.Len() > 0 {
6897		return invalidParams
6898	}
6899	return nil
6900}
6901
6902// SetName sets the Name field's value.
6903func (s *CreateRobotApplicationInput) SetName(v string) *CreateRobotApplicationInput {
6904	s.Name = &v
6905	return s
6906}
6907
6908// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
6909func (s *CreateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationInput {
6910	s.RobotSoftwareSuite = v
6911	return s
6912}
6913
6914// SetSources sets the Sources field's value.
6915func (s *CreateRobotApplicationInput) SetSources(v []*SourceConfig) *CreateRobotApplicationInput {
6916	s.Sources = v
6917	return s
6918}
6919
6920// SetTags sets the Tags field's value.
6921func (s *CreateRobotApplicationInput) SetTags(v map[string]*string) *CreateRobotApplicationInput {
6922	s.Tags = v
6923	return s
6924}
6925
6926type CreateRobotApplicationOutput struct {
6927	_ struct{} `type:"structure"`
6928
6929	// The Amazon Resource Name (ARN) of the robot application.
6930	Arn *string `locationName:"arn" min:"1" type:"string"`
6931
6932	// The time, in milliseconds since the epoch, when the robot application was
6933	// last updated.
6934	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
6935
6936	// The name of the robot application.
6937	Name *string `locationName:"name" min:"1" type:"string"`
6938
6939	// The revision id of the robot application.
6940	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
6941
6942	// The robot software suite (ROS distribution) used by the robot application.
6943	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
6944
6945	// The sources of the robot application.
6946	Sources []*Source `locationName:"sources" type:"list"`
6947
6948	// The list of all tags added to the robot application.
6949	Tags map[string]*string `locationName:"tags" type:"map"`
6950
6951	// The version of the robot application.
6952	Version *string `locationName:"version" min:"1" type:"string"`
6953}
6954
6955// String returns the string representation
6956func (s CreateRobotApplicationOutput) String() string {
6957	return awsutil.Prettify(s)
6958}
6959
6960// GoString returns the string representation
6961func (s CreateRobotApplicationOutput) GoString() string {
6962	return s.String()
6963}
6964
6965// SetArn sets the Arn field's value.
6966func (s *CreateRobotApplicationOutput) SetArn(v string) *CreateRobotApplicationOutput {
6967	s.Arn = &v
6968	return s
6969}
6970
6971// SetLastUpdatedAt sets the LastUpdatedAt field's value.
6972func (s *CreateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationOutput {
6973	s.LastUpdatedAt = &v
6974	return s
6975}
6976
6977// SetName sets the Name field's value.
6978func (s *CreateRobotApplicationOutput) SetName(v string) *CreateRobotApplicationOutput {
6979	s.Name = &v
6980	return s
6981}
6982
6983// SetRevisionId sets the RevisionId field's value.
6984func (s *CreateRobotApplicationOutput) SetRevisionId(v string) *CreateRobotApplicationOutput {
6985	s.RevisionId = &v
6986	return s
6987}
6988
6989// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
6990func (s *CreateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationOutput {
6991	s.RobotSoftwareSuite = v
6992	return s
6993}
6994
6995// SetSources sets the Sources field's value.
6996func (s *CreateRobotApplicationOutput) SetSources(v []*Source) *CreateRobotApplicationOutput {
6997	s.Sources = v
6998	return s
6999}
7000
7001// SetTags sets the Tags field's value.
7002func (s *CreateRobotApplicationOutput) SetTags(v map[string]*string) *CreateRobotApplicationOutput {
7003	s.Tags = v
7004	return s
7005}
7006
7007// SetVersion sets the Version field's value.
7008func (s *CreateRobotApplicationOutput) SetVersion(v string) *CreateRobotApplicationOutput {
7009	s.Version = &v
7010	return s
7011}
7012
7013type CreateRobotApplicationVersionInput struct {
7014	_ struct{} `type:"structure"`
7015
7016	// The application information for the robot application.
7017	//
7018	// Application is a required field
7019	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
7020
7021	// The current revision id for the robot application. If you provide a value
7022	// and it matches the latest revision ID, a new version will be created.
7023	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
7024}
7025
7026// String returns the string representation
7027func (s CreateRobotApplicationVersionInput) String() string {
7028	return awsutil.Prettify(s)
7029}
7030
7031// GoString returns the string representation
7032func (s CreateRobotApplicationVersionInput) GoString() string {
7033	return s.String()
7034}
7035
7036// Validate inspects the fields of the type to determine if they are valid.
7037func (s *CreateRobotApplicationVersionInput) Validate() error {
7038	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationVersionInput"}
7039	if s.Application == nil {
7040		invalidParams.Add(request.NewErrParamRequired("Application"))
7041	}
7042	if s.Application != nil && len(*s.Application) < 1 {
7043		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
7044	}
7045	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
7046		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
7047	}
7048
7049	if invalidParams.Len() > 0 {
7050		return invalidParams
7051	}
7052	return nil
7053}
7054
7055// SetApplication sets the Application field's value.
7056func (s *CreateRobotApplicationVersionInput) SetApplication(v string) *CreateRobotApplicationVersionInput {
7057	s.Application = &v
7058	return s
7059}
7060
7061// SetCurrentRevisionId sets the CurrentRevisionId field's value.
7062func (s *CreateRobotApplicationVersionInput) SetCurrentRevisionId(v string) *CreateRobotApplicationVersionInput {
7063	s.CurrentRevisionId = &v
7064	return s
7065}
7066
7067type CreateRobotApplicationVersionOutput struct {
7068	_ struct{} `type:"structure"`
7069
7070	// The Amazon Resource Name (ARN) of the robot application.
7071	Arn *string `locationName:"arn" min:"1" type:"string"`
7072
7073	// The time, in milliseconds since the epoch, when the robot application was
7074	// last updated.
7075	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7076
7077	// The name of the robot application.
7078	Name *string `locationName:"name" min:"1" type:"string"`
7079
7080	// The revision id of the robot application.
7081	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
7082
7083	// The robot software suite (ROS distribution) used by the robot application.
7084	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
7085
7086	// The sources of the robot application.
7087	Sources []*Source `locationName:"sources" type:"list"`
7088
7089	// The version of the robot application.
7090	Version *string `locationName:"version" min:"1" type:"string"`
7091}
7092
7093// String returns the string representation
7094func (s CreateRobotApplicationVersionOutput) String() string {
7095	return awsutil.Prettify(s)
7096}
7097
7098// GoString returns the string representation
7099func (s CreateRobotApplicationVersionOutput) GoString() string {
7100	return s.String()
7101}
7102
7103// SetArn sets the Arn field's value.
7104func (s *CreateRobotApplicationVersionOutput) SetArn(v string) *CreateRobotApplicationVersionOutput {
7105	s.Arn = &v
7106	return s
7107}
7108
7109// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7110func (s *CreateRobotApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationVersionOutput {
7111	s.LastUpdatedAt = &v
7112	return s
7113}
7114
7115// SetName sets the Name field's value.
7116func (s *CreateRobotApplicationVersionOutput) SetName(v string) *CreateRobotApplicationVersionOutput {
7117	s.Name = &v
7118	return s
7119}
7120
7121// SetRevisionId sets the RevisionId field's value.
7122func (s *CreateRobotApplicationVersionOutput) SetRevisionId(v string) *CreateRobotApplicationVersionOutput {
7123	s.RevisionId = &v
7124	return s
7125}
7126
7127// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
7128func (s *CreateRobotApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationVersionOutput {
7129	s.RobotSoftwareSuite = v
7130	return s
7131}
7132
7133// SetSources sets the Sources field's value.
7134func (s *CreateRobotApplicationVersionOutput) SetSources(v []*Source) *CreateRobotApplicationVersionOutput {
7135	s.Sources = v
7136	return s
7137}
7138
7139// SetVersion sets the Version field's value.
7140func (s *CreateRobotApplicationVersionOutput) SetVersion(v string) *CreateRobotApplicationVersionOutput {
7141	s.Version = &v
7142	return s
7143}
7144
7145type CreateRobotInput struct {
7146	_ struct{} `type:"structure"`
7147
7148	// The target architecture of the robot.
7149	//
7150	// Architecture is a required field
7151	Architecture *string `locationName:"architecture" type:"string" required:"true" enum:"Architecture"`
7152
7153	// The Greengrass group id.
7154	//
7155	// GreengrassGroupId is a required field
7156	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string" required:"true"`
7157
7158	// The name for the robot.
7159	//
7160	// Name is a required field
7161	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7162
7163	// A map that contains tag keys and tag values that are attached to the robot.
7164	Tags map[string]*string `locationName:"tags" type:"map"`
7165}
7166
7167// String returns the string representation
7168func (s CreateRobotInput) String() string {
7169	return awsutil.Prettify(s)
7170}
7171
7172// GoString returns the string representation
7173func (s CreateRobotInput) GoString() string {
7174	return s.String()
7175}
7176
7177// Validate inspects the fields of the type to determine if they are valid.
7178func (s *CreateRobotInput) Validate() error {
7179	invalidParams := request.ErrInvalidParams{Context: "CreateRobotInput"}
7180	if s.Architecture == nil {
7181		invalidParams.Add(request.NewErrParamRequired("Architecture"))
7182	}
7183	if s.GreengrassGroupId == nil {
7184		invalidParams.Add(request.NewErrParamRequired("GreengrassGroupId"))
7185	}
7186	if s.GreengrassGroupId != nil && len(*s.GreengrassGroupId) < 1 {
7187		invalidParams.Add(request.NewErrParamMinLen("GreengrassGroupId", 1))
7188	}
7189	if s.Name == nil {
7190		invalidParams.Add(request.NewErrParamRequired("Name"))
7191	}
7192	if s.Name != nil && len(*s.Name) < 1 {
7193		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7194	}
7195
7196	if invalidParams.Len() > 0 {
7197		return invalidParams
7198	}
7199	return nil
7200}
7201
7202// SetArchitecture sets the Architecture field's value.
7203func (s *CreateRobotInput) SetArchitecture(v string) *CreateRobotInput {
7204	s.Architecture = &v
7205	return s
7206}
7207
7208// SetGreengrassGroupId sets the GreengrassGroupId field's value.
7209func (s *CreateRobotInput) SetGreengrassGroupId(v string) *CreateRobotInput {
7210	s.GreengrassGroupId = &v
7211	return s
7212}
7213
7214// SetName sets the Name field's value.
7215func (s *CreateRobotInput) SetName(v string) *CreateRobotInput {
7216	s.Name = &v
7217	return s
7218}
7219
7220// SetTags sets the Tags field's value.
7221func (s *CreateRobotInput) SetTags(v map[string]*string) *CreateRobotInput {
7222	s.Tags = v
7223	return s
7224}
7225
7226type CreateRobotOutput struct {
7227	_ struct{} `type:"structure"`
7228
7229	// The target architecture of the robot.
7230	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
7231
7232	// The Amazon Resource Name (ARN) of the robot.
7233	Arn *string `locationName:"arn" min:"1" type:"string"`
7234
7235	// The time, in milliseconds since the epoch, when the robot was created.
7236	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7237
7238	// The Amazon Resource Name (ARN) of the Greengrass group associated with the
7239	// robot.
7240	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
7241
7242	// The name of the robot.
7243	Name *string `locationName:"name" min:"1" type:"string"`
7244
7245	// The list of all tags added to the robot.
7246	Tags map[string]*string `locationName:"tags" type:"map"`
7247}
7248
7249// String returns the string representation
7250func (s CreateRobotOutput) String() string {
7251	return awsutil.Prettify(s)
7252}
7253
7254// GoString returns the string representation
7255func (s CreateRobotOutput) GoString() string {
7256	return s.String()
7257}
7258
7259// SetArchitecture sets the Architecture field's value.
7260func (s *CreateRobotOutput) SetArchitecture(v string) *CreateRobotOutput {
7261	s.Architecture = &v
7262	return s
7263}
7264
7265// SetArn sets the Arn field's value.
7266func (s *CreateRobotOutput) SetArn(v string) *CreateRobotOutput {
7267	s.Arn = &v
7268	return s
7269}
7270
7271// SetCreatedAt sets the CreatedAt field's value.
7272func (s *CreateRobotOutput) SetCreatedAt(v time.Time) *CreateRobotOutput {
7273	s.CreatedAt = &v
7274	return s
7275}
7276
7277// SetGreengrassGroupId sets the GreengrassGroupId field's value.
7278func (s *CreateRobotOutput) SetGreengrassGroupId(v string) *CreateRobotOutput {
7279	s.GreengrassGroupId = &v
7280	return s
7281}
7282
7283// SetName sets the Name field's value.
7284func (s *CreateRobotOutput) SetName(v string) *CreateRobotOutput {
7285	s.Name = &v
7286	return s
7287}
7288
7289// SetTags sets the Tags field's value.
7290func (s *CreateRobotOutput) SetTags(v map[string]*string) *CreateRobotOutput {
7291	s.Tags = v
7292	return s
7293}
7294
7295type CreateSimulationApplicationInput struct {
7296	_ struct{} `type:"structure"`
7297
7298	// The name of the simulation application.
7299	//
7300	// Name is a required field
7301	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7302
7303	// The rendering engine for the simulation application.
7304	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
7305
7306	// The robot software suite (ROS distribution) used by the simulation application.
7307	//
7308	// RobotSoftwareSuite is a required field
7309	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
7310
7311	// The simulation software suite used by the simulation application.
7312	//
7313	// SimulationSoftwareSuite is a required field
7314	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
7315
7316	// The sources of the simulation application.
7317	//
7318	// Sources is a required field
7319	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
7320
7321	// A map that contains tag keys and tag values that are attached to the simulation
7322	// application.
7323	Tags map[string]*string `locationName:"tags" type:"map"`
7324}
7325
7326// String returns the string representation
7327func (s CreateSimulationApplicationInput) String() string {
7328	return awsutil.Prettify(s)
7329}
7330
7331// GoString returns the string representation
7332func (s CreateSimulationApplicationInput) GoString() string {
7333	return s.String()
7334}
7335
7336// Validate inspects the fields of the type to determine if they are valid.
7337func (s *CreateSimulationApplicationInput) Validate() error {
7338	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationInput"}
7339	if s.Name == nil {
7340		invalidParams.Add(request.NewErrParamRequired("Name"))
7341	}
7342	if s.Name != nil && len(*s.Name) < 1 {
7343		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7344	}
7345	if s.RobotSoftwareSuite == nil {
7346		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
7347	}
7348	if s.SimulationSoftwareSuite == nil {
7349		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
7350	}
7351	if s.Sources == nil {
7352		invalidParams.Add(request.NewErrParamRequired("Sources"))
7353	}
7354	if s.RenderingEngine != nil {
7355		if err := s.RenderingEngine.Validate(); err != nil {
7356			invalidParams.AddNested("RenderingEngine", err.(request.ErrInvalidParams))
7357		}
7358	}
7359	if s.Sources != nil {
7360		for i, v := range s.Sources {
7361			if v == nil {
7362				continue
7363			}
7364			if err := v.Validate(); err != nil {
7365				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
7366			}
7367		}
7368	}
7369
7370	if invalidParams.Len() > 0 {
7371		return invalidParams
7372	}
7373	return nil
7374}
7375
7376// SetName sets the Name field's value.
7377func (s *CreateSimulationApplicationInput) SetName(v string) *CreateSimulationApplicationInput {
7378	s.Name = &v
7379	return s
7380}
7381
7382// SetRenderingEngine sets the RenderingEngine field's value.
7383func (s *CreateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationInput {
7384	s.RenderingEngine = v
7385	return s
7386}
7387
7388// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
7389func (s *CreateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationInput {
7390	s.RobotSoftwareSuite = v
7391	return s
7392}
7393
7394// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
7395func (s *CreateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationInput {
7396	s.SimulationSoftwareSuite = v
7397	return s
7398}
7399
7400// SetSources sets the Sources field's value.
7401func (s *CreateSimulationApplicationInput) SetSources(v []*SourceConfig) *CreateSimulationApplicationInput {
7402	s.Sources = v
7403	return s
7404}
7405
7406// SetTags sets the Tags field's value.
7407func (s *CreateSimulationApplicationInput) SetTags(v map[string]*string) *CreateSimulationApplicationInput {
7408	s.Tags = v
7409	return s
7410}
7411
7412type CreateSimulationApplicationOutput struct {
7413	_ struct{} `type:"structure"`
7414
7415	// The Amazon Resource Name (ARN) of the simulation application.
7416	Arn *string `locationName:"arn" min:"1" type:"string"`
7417
7418	// The time, in milliseconds since the epoch, when the simulation application
7419	// was last updated.
7420	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7421
7422	// The name of the simulation application.
7423	Name *string `locationName:"name" min:"1" type:"string"`
7424
7425	// The rendering engine for the simulation application.
7426	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
7427
7428	// The revision id of the simulation application.
7429	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
7430
7431	// Information about the robot software suite (ROS distribution).
7432	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
7433
7434	// The simulation software suite used by the simulation application.
7435	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
7436
7437	// The sources of the simulation application.
7438	Sources []*Source `locationName:"sources" type:"list"`
7439
7440	// The list of all tags added to the simulation application.
7441	Tags map[string]*string `locationName:"tags" type:"map"`
7442
7443	// The version of the simulation application.
7444	Version *string `locationName:"version" min:"1" type:"string"`
7445}
7446
7447// String returns the string representation
7448func (s CreateSimulationApplicationOutput) String() string {
7449	return awsutil.Prettify(s)
7450}
7451
7452// GoString returns the string representation
7453func (s CreateSimulationApplicationOutput) GoString() string {
7454	return s.String()
7455}
7456
7457// SetArn sets the Arn field's value.
7458func (s *CreateSimulationApplicationOutput) SetArn(v string) *CreateSimulationApplicationOutput {
7459	s.Arn = &v
7460	return s
7461}
7462
7463// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7464func (s *CreateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationOutput {
7465	s.LastUpdatedAt = &v
7466	return s
7467}
7468
7469// SetName sets the Name field's value.
7470func (s *CreateSimulationApplicationOutput) SetName(v string) *CreateSimulationApplicationOutput {
7471	s.Name = &v
7472	return s
7473}
7474
7475// SetRenderingEngine sets the RenderingEngine field's value.
7476func (s *CreateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationOutput {
7477	s.RenderingEngine = v
7478	return s
7479}
7480
7481// SetRevisionId sets the RevisionId field's value.
7482func (s *CreateSimulationApplicationOutput) SetRevisionId(v string) *CreateSimulationApplicationOutput {
7483	s.RevisionId = &v
7484	return s
7485}
7486
7487// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
7488func (s *CreateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationOutput {
7489	s.RobotSoftwareSuite = v
7490	return s
7491}
7492
7493// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
7494func (s *CreateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationOutput {
7495	s.SimulationSoftwareSuite = v
7496	return s
7497}
7498
7499// SetSources sets the Sources field's value.
7500func (s *CreateSimulationApplicationOutput) SetSources(v []*Source) *CreateSimulationApplicationOutput {
7501	s.Sources = v
7502	return s
7503}
7504
7505// SetTags sets the Tags field's value.
7506func (s *CreateSimulationApplicationOutput) SetTags(v map[string]*string) *CreateSimulationApplicationOutput {
7507	s.Tags = v
7508	return s
7509}
7510
7511// SetVersion sets the Version field's value.
7512func (s *CreateSimulationApplicationOutput) SetVersion(v string) *CreateSimulationApplicationOutput {
7513	s.Version = &v
7514	return s
7515}
7516
7517type CreateSimulationApplicationVersionInput struct {
7518	_ struct{} `type:"structure"`
7519
7520	// The application information for the simulation application.
7521	//
7522	// Application is a required field
7523	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
7524
7525	// The current revision id for the simulation application. If you provide a
7526	// value and it matches the latest revision ID, a new version will be created.
7527	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
7528}
7529
7530// String returns the string representation
7531func (s CreateSimulationApplicationVersionInput) String() string {
7532	return awsutil.Prettify(s)
7533}
7534
7535// GoString returns the string representation
7536func (s CreateSimulationApplicationVersionInput) GoString() string {
7537	return s.String()
7538}
7539
7540// Validate inspects the fields of the type to determine if they are valid.
7541func (s *CreateSimulationApplicationVersionInput) Validate() error {
7542	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationVersionInput"}
7543	if s.Application == nil {
7544		invalidParams.Add(request.NewErrParamRequired("Application"))
7545	}
7546	if s.Application != nil && len(*s.Application) < 1 {
7547		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
7548	}
7549	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
7550		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
7551	}
7552
7553	if invalidParams.Len() > 0 {
7554		return invalidParams
7555	}
7556	return nil
7557}
7558
7559// SetApplication sets the Application field's value.
7560func (s *CreateSimulationApplicationVersionInput) SetApplication(v string) *CreateSimulationApplicationVersionInput {
7561	s.Application = &v
7562	return s
7563}
7564
7565// SetCurrentRevisionId sets the CurrentRevisionId field's value.
7566func (s *CreateSimulationApplicationVersionInput) SetCurrentRevisionId(v string) *CreateSimulationApplicationVersionInput {
7567	s.CurrentRevisionId = &v
7568	return s
7569}
7570
7571type CreateSimulationApplicationVersionOutput struct {
7572	_ struct{} `type:"structure"`
7573
7574	// The Amazon Resource Name (ARN) of the simulation application.
7575	Arn *string `locationName:"arn" min:"1" type:"string"`
7576
7577	// The time, in milliseconds since the epoch, when the simulation application
7578	// was last updated.
7579	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7580
7581	// The name of the simulation application.
7582	Name *string `locationName:"name" min:"1" type:"string"`
7583
7584	// The rendering engine for the simulation application.
7585	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
7586
7587	// The revision ID of the simulation application.
7588	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
7589
7590	// Information about the robot software suite (ROS distribution).
7591	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
7592
7593	// The simulation software suite used by the simulation application.
7594	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
7595
7596	// The sources of the simulation application.
7597	Sources []*Source `locationName:"sources" type:"list"`
7598
7599	// The version of the simulation application.
7600	Version *string `locationName:"version" min:"1" type:"string"`
7601}
7602
7603// String returns the string representation
7604func (s CreateSimulationApplicationVersionOutput) String() string {
7605	return awsutil.Prettify(s)
7606}
7607
7608// GoString returns the string representation
7609func (s CreateSimulationApplicationVersionOutput) GoString() string {
7610	return s.String()
7611}
7612
7613// SetArn sets the Arn field's value.
7614func (s *CreateSimulationApplicationVersionOutput) SetArn(v string) *CreateSimulationApplicationVersionOutput {
7615	s.Arn = &v
7616	return s
7617}
7618
7619// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7620func (s *CreateSimulationApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationVersionOutput {
7621	s.LastUpdatedAt = &v
7622	return s
7623}
7624
7625// SetName sets the Name field's value.
7626func (s *CreateSimulationApplicationVersionOutput) SetName(v string) *CreateSimulationApplicationVersionOutput {
7627	s.Name = &v
7628	return s
7629}
7630
7631// SetRenderingEngine sets the RenderingEngine field's value.
7632func (s *CreateSimulationApplicationVersionOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationVersionOutput {
7633	s.RenderingEngine = v
7634	return s
7635}
7636
7637// SetRevisionId sets the RevisionId field's value.
7638func (s *CreateSimulationApplicationVersionOutput) SetRevisionId(v string) *CreateSimulationApplicationVersionOutput {
7639	s.RevisionId = &v
7640	return s
7641}
7642
7643// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
7644func (s *CreateSimulationApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationVersionOutput {
7645	s.RobotSoftwareSuite = v
7646	return s
7647}
7648
7649// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
7650func (s *CreateSimulationApplicationVersionOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationVersionOutput {
7651	s.SimulationSoftwareSuite = v
7652	return s
7653}
7654
7655// SetSources sets the Sources field's value.
7656func (s *CreateSimulationApplicationVersionOutput) SetSources(v []*Source) *CreateSimulationApplicationVersionOutput {
7657	s.Sources = v
7658	return s
7659}
7660
7661// SetVersion sets the Version field's value.
7662func (s *CreateSimulationApplicationVersionOutput) SetVersion(v string) *CreateSimulationApplicationVersionOutput {
7663	s.Version = &v
7664	return s
7665}
7666
7667type CreateSimulationJobInput struct {
7668	_ struct{} `type:"structure"`
7669
7670	// Unique, case-sensitive identifier that you provide to ensure the idempotency
7671	// of the request.
7672	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
7673
7674	// Compute information for the simulation job.
7675	Compute *Compute `locationName:"compute" type:"structure"`
7676
7677	// Specify data sources to mount read-only files from S3 into your simulation.
7678	// These files are available under /opt/robomaker/datasources/data_source_name.
7679	//
7680	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
7681	// objects.
7682	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
7683
7684	// The failure behavior the simulation job.
7685	//
7686	// Continue
7687	//
7688	// Restart the simulation job in the same host instance.
7689	//
7690	// Fail
7691	//
7692	// Stop the simulation job and terminate the instance.
7693	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
7694
7695	// The IAM role name that allows the simulation instance to call the AWS APIs
7696	// that are specified in its associated policies on your behalf. This is how
7697	// credentials are passed in to your simulation job.
7698	//
7699	// IamRole is a required field
7700	IamRole *string `locationName:"iamRole" min:"1" type:"string" required:"true"`
7701
7702	// The logging configuration.
7703	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
7704
7705	// The maximum simulation job duration in seconds (up to 14 days or 1,209,600
7706	// seconds. When maxJobDurationInSeconds is reached, the simulation job will
7707	// status will transition to Completed.
7708	//
7709	// MaxJobDurationInSeconds is a required field
7710	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
7711
7712	// Location for output files generated by the simulation job.
7713	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
7714
7715	// The robot application to use in the simulation job.
7716	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
7717
7718	// The simulation application to use in the simulation job.
7719	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
7720
7721	// A map that contains tag keys and tag values that are attached to the simulation
7722	// job.
7723	Tags map[string]*string `locationName:"tags" type:"map"`
7724
7725	// If your simulation job accesses resources in a VPC, you provide this parameter
7726	// identifying the list of security group IDs and subnet IDs. These must belong
7727	// to the same VPC. You must provide at least one security group and one subnet
7728	// ID.
7729	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
7730}
7731
7732// String returns the string representation
7733func (s CreateSimulationJobInput) String() string {
7734	return awsutil.Prettify(s)
7735}
7736
7737// GoString returns the string representation
7738func (s CreateSimulationJobInput) GoString() string {
7739	return s.String()
7740}
7741
7742// Validate inspects the fields of the type to determine if they are valid.
7743func (s *CreateSimulationJobInput) Validate() error {
7744	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationJobInput"}
7745	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
7746		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
7747	}
7748	if s.DataSources != nil && len(s.DataSources) < 1 {
7749		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
7750	}
7751	if s.IamRole == nil {
7752		invalidParams.Add(request.NewErrParamRequired("IamRole"))
7753	}
7754	if s.IamRole != nil && len(*s.IamRole) < 1 {
7755		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
7756	}
7757	if s.MaxJobDurationInSeconds == nil {
7758		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
7759	}
7760	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
7761		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
7762	}
7763	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
7764		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
7765	}
7766	if s.Compute != nil {
7767		if err := s.Compute.Validate(); err != nil {
7768			invalidParams.AddNested("Compute", err.(request.ErrInvalidParams))
7769		}
7770	}
7771	if s.DataSources != nil {
7772		for i, v := range s.DataSources {
7773			if v == nil {
7774				continue
7775			}
7776			if err := v.Validate(); err != nil {
7777				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
7778			}
7779		}
7780	}
7781	if s.LoggingConfig != nil {
7782		if err := s.LoggingConfig.Validate(); err != nil {
7783			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
7784		}
7785	}
7786	if s.OutputLocation != nil {
7787		if err := s.OutputLocation.Validate(); err != nil {
7788			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
7789		}
7790	}
7791	if s.RobotApplications != nil {
7792		for i, v := range s.RobotApplications {
7793			if v == nil {
7794				continue
7795			}
7796			if err := v.Validate(); err != nil {
7797				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
7798			}
7799		}
7800	}
7801	if s.SimulationApplications != nil {
7802		for i, v := range s.SimulationApplications {
7803			if v == nil {
7804				continue
7805			}
7806			if err := v.Validate(); err != nil {
7807				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
7808			}
7809		}
7810	}
7811	if s.VpcConfig != nil {
7812		if err := s.VpcConfig.Validate(); err != nil {
7813			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
7814		}
7815	}
7816
7817	if invalidParams.Len() > 0 {
7818		return invalidParams
7819	}
7820	return nil
7821}
7822
7823// SetClientRequestToken sets the ClientRequestToken field's value.
7824func (s *CreateSimulationJobInput) SetClientRequestToken(v string) *CreateSimulationJobInput {
7825	s.ClientRequestToken = &v
7826	return s
7827}
7828
7829// SetCompute sets the Compute field's value.
7830func (s *CreateSimulationJobInput) SetCompute(v *Compute) *CreateSimulationJobInput {
7831	s.Compute = v
7832	return s
7833}
7834
7835// SetDataSources sets the DataSources field's value.
7836func (s *CreateSimulationJobInput) SetDataSources(v []*DataSourceConfig) *CreateSimulationJobInput {
7837	s.DataSources = v
7838	return s
7839}
7840
7841// SetFailureBehavior sets the FailureBehavior field's value.
7842func (s *CreateSimulationJobInput) SetFailureBehavior(v string) *CreateSimulationJobInput {
7843	s.FailureBehavior = &v
7844	return s
7845}
7846
7847// SetIamRole sets the IamRole field's value.
7848func (s *CreateSimulationJobInput) SetIamRole(v string) *CreateSimulationJobInput {
7849	s.IamRole = &v
7850	return s
7851}
7852
7853// SetLoggingConfig sets the LoggingConfig field's value.
7854func (s *CreateSimulationJobInput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobInput {
7855	s.LoggingConfig = v
7856	return s
7857}
7858
7859// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
7860func (s *CreateSimulationJobInput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobInput {
7861	s.MaxJobDurationInSeconds = &v
7862	return s
7863}
7864
7865// SetOutputLocation sets the OutputLocation field's value.
7866func (s *CreateSimulationJobInput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobInput {
7867	s.OutputLocation = v
7868	return s
7869}
7870
7871// SetRobotApplications sets the RobotApplications field's value.
7872func (s *CreateSimulationJobInput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobInput {
7873	s.RobotApplications = v
7874	return s
7875}
7876
7877// SetSimulationApplications sets the SimulationApplications field's value.
7878func (s *CreateSimulationJobInput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobInput {
7879	s.SimulationApplications = v
7880	return s
7881}
7882
7883// SetTags sets the Tags field's value.
7884func (s *CreateSimulationJobInput) SetTags(v map[string]*string) *CreateSimulationJobInput {
7885	s.Tags = v
7886	return s
7887}
7888
7889// SetVpcConfig sets the VpcConfig field's value.
7890func (s *CreateSimulationJobInput) SetVpcConfig(v *VPCConfig) *CreateSimulationJobInput {
7891	s.VpcConfig = v
7892	return s
7893}
7894
7895type CreateSimulationJobOutput struct {
7896	_ struct{} `type:"structure"`
7897
7898	// The Amazon Resource Name (ARN) of the simulation job.
7899	Arn *string `locationName:"arn" min:"1" type:"string"`
7900
7901	// Unique, case-sensitive identifier that you provide to ensure the idempotency
7902	// of the request.
7903	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
7904
7905	// Compute information for the simulation job.
7906	Compute *ComputeResponse `locationName:"compute" type:"structure"`
7907
7908	// The data sources for the simulation job.
7909	DataSources []*DataSource `locationName:"dataSources" type:"list"`
7910
7911	// the failure behavior for the simulation job.
7912	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
7913
7914	// The failure code of the simulation job if it failed:
7915	//
7916	// InternalServiceError
7917	//
7918	// Internal service error.
7919	//
7920	// RobotApplicationCrash
7921	//
7922	// Robot application exited abnormally.
7923	//
7924	// SimulationApplicationCrash
7925	//
7926	// Simulation application exited abnormally.
7927	//
7928	// BadPermissionsRobotApplication
7929	//
7930	// Robot application bundle could not be downloaded.
7931	//
7932	// BadPermissionsSimulationApplication
7933	//
7934	// Simulation application bundle could not be downloaded.
7935	//
7936	// BadPermissionsS3Output
7937	//
7938	// Unable to publish outputs to customer-provided S3 bucket.
7939	//
7940	// BadPermissionsCloudwatchLogs
7941	//
7942	// Unable to publish logs to customer-provided CloudWatch Logs resource.
7943	//
7944	// SubnetIpLimitExceeded
7945	//
7946	// Subnet IP limit exceeded.
7947	//
7948	// ENILimitExceeded
7949	//
7950	// ENI limit exceeded.
7951	//
7952	// BadPermissionsUserCredentials
7953	//
7954	// Unable to use the Role provided.
7955	//
7956	// InvalidBundleRobotApplication
7957	//
7958	// Robot bundle cannot be extracted (invalid format, bundling error, or other
7959	// issue).
7960	//
7961	// InvalidBundleSimulationApplication
7962	//
7963	// Simulation bundle cannot be extracted (invalid format, bundling error, or
7964	// other issue).
7965	//
7966	// RobotApplicationVersionMismatchedEtag
7967	//
7968	// Etag for RobotApplication does not match value during version creation.
7969	//
7970	// SimulationApplicationVersionMismatchedEtag
7971	//
7972	// Etag for SimulationApplication does not match value during version creation.
7973	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
7974
7975	// The IAM role that allows the simulation job to call the AWS APIs that are
7976	// specified in its associated policies on your behalf.
7977	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
7978
7979	// The time, in milliseconds since the epoch, when the simulation job was last
7980	// started.
7981	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
7982
7983	// The time, in milliseconds since the epoch, when the simulation job was last
7984	// updated.
7985	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7986
7987	// The logging configuration.
7988	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
7989
7990	// The maximum simulation job duration in seconds.
7991	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
7992
7993	// Simulation job output files location.
7994	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
7995
7996	// The robot application used by the simulation job.
7997	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
7998
7999	// The simulation application used by the simulation job.
8000	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
8001
8002	// The simulation job execution duration in milliseconds.
8003	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
8004
8005	// The status of the simulation job.
8006	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
8007
8008	// The list of all tags added to the simulation job.
8009	Tags map[string]*string `locationName:"tags" type:"map"`
8010
8011	// Information about the vpc configuration.
8012	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
8013}
8014
8015// String returns the string representation
8016func (s CreateSimulationJobOutput) String() string {
8017	return awsutil.Prettify(s)
8018}
8019
8020// GoString returns the string representation
8021func (s CreateSimulationJobOutput) GoString() string {
8022	return s.String()
8023}
8024
8025// SetArn sets the Arn field's value.
8026func (s *CreateSimulationJobOutput) SetArn(v string) *CreateSimulationJobOutput {
8027	s.Arn = &v
8028	return s
8029}
8030
8031// SetClientRequestToken sets the ClientRequestToken field's value.
8032func (s *CreateSimulationJobOutput) SetClientRequestToken(v string) *CreateSimulationJobOutput {
8033	s.ClientRequestToken = &v
8034	return s
8035}
8036
8037// SetCompute sets the Compute field's value.
8038func (s *CreateSimulationJobOutput) SetCompute(v *ComputeResponse) *CreateSimulationJobOutput {
8039	s.Compute = v
8040	return s
8041}
8042
8043// SetDataSources sets the DataSources field's value.
8044func (s *CreateSimulationJobOutput) SetDataSources(v []*DataSource) *CreateSimulationJobOutput {
8045	s.DataSources = v
8046	return s
8047}
8048
8049// SetFailureBehavior sets the FailureBehavior field's value.
8050func (s *CreateSimulationJobOutput) SetFailureBehavior(v string) *CreateSimulationJobOutput {
8051	s.FailureBehavior = &v
8052	return s
8053}
8054
8055// SetFailureCode sets the FailureCode field's value.
8056func (s *CreateSimulationJobOutput) SetFailureCode(v string) *CreateSimulationJobOutput {
8057	s.FailureCode = &v
8058	return s
8059}
8060
8061// SetIamRole sets the IamRole field's value.
8062func (s *CreateSimulationJobOutput) SetIamRole(v string) *CreateSimulationJobOutput {
8063	s.IamRole = &v
8064	return s
8065}
8066
8067// SetLastStartedAt sets the LastStartedAt field's value.
8068func (s *CreateSimulationJobOutput) SetLastStartedAt(v time.Time) *CreateSimulationJobOutput {
8069	s.LastStartedAt = &v
8070	return s
8071}
8072
8073// SetLastUpdatedAt sets the LastUpdatedAt field's value.
8074func (s *CreateSimulationJobOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationJobOutput {
8075	s.LastUpdatedAt = &v
8076	return s
8077}
8078
8079// SetLoggingConfig sets the LoggingConfig field's value.
8080func (s *CreateSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobOutput {
8081	s.LoggingConfig = v
8082	return s
8083}
8084
8085// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
8086func (s *CreateSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobOutput {
8087	s.MaxJobDurationInSeconds = &v
8088	return s
8089}
8090
8091// SetOutputLocation sets the OutputLocation field's value.
8092func (s *CreateSimulationJobOutput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobOutput {
8093	s.OutputLocation = v
8094	return s
8095}
8096
8097// SetRobotApplications sets the RobotApplications field's value.
8098func (s *CreateSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobOutput {
8099	s.RobotApplications = v
8100	return s
8101}
8102
8103// SetSimulationApplications sets the SimulationApplications field's value.
8104func (s *CreateSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobOutput {
8105	s.SimulationApplications = v
8106	return s
8107}
8108
8109// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
8110func (s *CreateSimulationJobOutput) SetSimulationTimeMillis(v int64) *CreateSimulationJobOutput {
8111	s.SimulationTimeMillis = &v
8112	return s
8113}
8114
8115// SetStatus sets the Status field's value.
8116func (s *CreateSimulationJobOutput) SetStatus(v string) *CreateSimulationJobOutput {
8117	s.Status = &v
8118	return s
8119}
8120
8121// SetTags sets the Tags field's value.
8122func (s *CreateSimulationJobOutput) SetTags(v map[string]*string) *CreateSimulationJobOutput {
8123	s.Tags = v
8124	return s
8125}
8126
8127// SetVpcConfig sets the VpcConfig field's value.
8128func (s *CreateSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *CreateSimulationJobOutput {
8129	s.VpcConfig = v
8130	return s
8131}
8132
8133type CreateWorldExportJobInput struct {
8134	_ struct{} `type:"structure"`
8135
8136	// Unique, case-sensitive identifier that you provide to ensure the idempotency
8137	// of the request.
8138	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
8139
8140	// The IAM role that the world export process uses to access the Amazon S3 bucket
8141	// and put the export.
8142	//
8143	// IamRole is a required field
8144	IamRole *string `locationName:"iamRole" min:"1" type:"string" required:"true"`
8145
8146	// The output location.
8147	//
8148	// OutputLocation is a required field
8149	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure" required:"true"`
8150
8151	// A map that contains tag keys and tag values that are attached to the world
8152	// export job.
8153	Tags map[string]*string `locationName:"tags" type:"map"`
8154
8155	// A list of Amazon Resource Names (arns) that correspond to worlds to export.
8156	//
8157	// Worlds is a required field
8158	Worlds []*string `locationName:"worlds" min:"1" type:"list" required:"true"`
8159}
8160
8161// String returns the string representation
8162func (s CreateWorldExportJobInput) String() string {
8163	return awsutil.Prettify(s)
8164}
8165
8166// GoString returns the string representation
8167func (s CreateWorldExportJobInput) GoString() string {
8168	return s.String()
8169}
8170
8171// Validate inspects the fields of the type to determine if they are valid.
8172func (s *CreateWorldExportJobInput) Validate() error {
8173	invalidParams := request.ErrInvalidParams{Context: "CreateWorldExportJobInput"}
8174	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
8175		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
8176	}
8177	if s.IamRole == nil {
8178		invalidParams.Add(request.NewErrParamRequired("IamRole"))
8179	}
8180	if s.IamRole != nil && len(*s.IamRole) < 1 {
8181		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
8182	}
8183	if s.OutputLocation == nil {
8184		invalidParams.Add(request.NewErrParamRequired("OutputLocation"))
8185	}
8186	if s.Worlds == nil {
8187		invalidParams.Add(request.NewErrParamRequired("Worlds"))
8188	}
8189	if s.Worlds != nil && len(s.Worlds) < 1 {
8190		invalidParams.Add(request.NewErrParamMinLen("Worlds", 1))
8191	}
8192	if s.OutputLocation != nil {
8193		if err := s.OutputLocation.Validate(); err != nil {
8194			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
8195		}
8196	}
8197
8198	if invalidParams.Len() > 0 {
8199		return invalidParams
8200	}
8201	return nil
8202}
8203
8204// SetClientRequestToken sets the ClientRequestToken field's value.
8205func (s *CreateWorldExportJobInput) SetClientRequestToken(v string) *CreateWorldExportJobInput {
8206	s.ClientRequestToken = &v
8207	return s
8208}
8209
8210// SetIamRole sets the IamRole field's value.
8211func (s *CreateWorldExportJobInput) SetIamRole(v string) *CreateWorldExportJobInput {
8212	s.IamRole = &v
8213	return s
8214}
8215
8216// SetOutputLocation sets the OutputLocation field's value.
8217func (s *CreateWorldExportJobInput) SetOutputLocation(v *OutputLocation) *CreateWorldExportJobInput {
8218	s.OutputLocation = v
8219	return s
8220}
8221
8222// SetTags sets the Tags field's value.
8223func (s *CreateWorldExportJobInput) SetTags(v map[string]*string) *CreateWorldExportJobInput {
8224	s.Tags = v
8225	return s
8226}
8227
8228// SetWorlds sets the Worlds field's value.
8229func (s *CreateWorldExportJobInput) SetWorlds(v []*string) *CreateWorldExportJobInput {
8230	s.Worlds = v
8231	return s
8232}
8233
8234type CreateWorldExportJobOutput struct {
8235	_ struct{} `type:"structure"`
8236
8237	// The Amazon Resource Name (ARN) of the world export job.
8238	Arn *string `locationName:"arn" min:"1" type:"string"`
8239
8240	// Unique, case-sensitive identifier that you provide to ensure the idempotency
8241	// of the request.
8242	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
8243
8244	// The time, in milliseconds since the epoch, when the world export job was
8245	// created.
8246	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8247
8248	// The failure code of the world export job if it failed:
8249	//
8250	// InternalServiceError
8251	//
8252	// Internal service error.
8253	//
8254	// LimitExceeded
8255	//
8256	// The requested resource exceeds the maximum number allowed, or the number
8257	// of concurrent stream requests exceeds the maximum number allowed.
8258	//
8259	// ResourceNotFound
8260	//
8261	// The specified resource could not be found.
8262	//
8263	// RequestThrottled
8264	//
8265	// The request was throttled.
8266	//
8267	// InvalidInput
8268	//
8269	// An input parameter in the request is not valid.
8270	//
8271	// AllWorldGenerationFailed
8272	//
8273	// All of the worlds in the world generation job failed. This can happen if
8274	// your worldCount is greater than 50 or less than 1.
8275	//
8276	// For more information about troubleshooting WorldForge, see Troubleshooting
8277	// Simulation WorldForge (https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting-worldforge.html).
8278	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldExportJobErrorCode"`
8279
8280	// The IAM role that the world export process uses to access the Amazon S3 bucket
8281	// and put the export.
8282	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
8283
8284	// The output location.
8285	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
8286
8287	// The status of the world export job.
8288	//
8289	// Pending
8290	//
8291	// The world export job request is pending.
8292	//
8293	// Running
8294	//
8295	// The world export job is running.
8296	//
8297	// Completed
8298	//
8299	// The world export job completed.
8300	//
8301	// Failed
8302	//
8303	// The world export job failed. See failureCode for more information.
8304	//
8305	// Canceled
8306	//
8307	// The world export job was cancelled.
8308	//
8309	// Canceling
8310	//
8311	// The world export job is being cancelled.
8312	Status *string `locationName:"status" type:"string" enum:"WorldExportJobStatus"`
8313
8314	// A map that contains tag keys and tag values that are attached to the world
8315	// export job.
8316	Tags map[string]*string `locationName:"tags" type:"map"`
8317}
8318
8319// String returns the string representation
8320func (s CreateWorldExportJobOutput) String() string {
8321	return awsutil.Prettify(s)
8322}
8323
8324// GoString returns the string representation
8325func (s CreateWorldExportJobOutput) GoString() string {
8326	return s.String()
8327}
8328
8329// SetArn sets the Arn field's value.
8330func (s *CreateWorldExportJobOutput) SetArn(v string) *CreateWorldExportJobOutput {
8331	s.Arn = &v
8332	return s
8333}
8334
8335// SetClientRequestToken sets the ClientRequestToken field's value.
8336func (s *CreateWorldExportJobOutput) SetClientRequestToken(v string) *CreateWorldExportJobOutput {
8337	s.ClientRequestToken = &v
8338	return s
8339}
8340
8341// SetCreatedAt sets the CreatedAt field's value.
8342func (s *CreateWorldExportJobOutput) SetCreatedAt(v time.Time) *CreateWorldExportJobOutput {
8343	s.CreatedAt = &v
8344	return s
8345}
8346
8347// SetFailureCode sets the FailureCode field's value.
8348func (s *CreateWorldExportJobOutput) SetFailureCode(v string) *CreateWorldExportJobOutput {
8349	s.FailureCode = &v
8350	return s
8351}
8352
8353// SetIamRole sets the IamRole field's value.
8354func (s *CreateWorldExportJobOutput) SetIamRole(v string) *CreateWorldExportJobOutput {
8355	s.IamRole = &v
8356	return s
8357}
8358
8359// SetOutputLocation sets the OutputLocation field's value.
8360func (s *CreateWorldExportJobOutput) SetOutputLocation(v *OutputLocation) *CreateWorldExportJobOutput {
8361	s.OutputLocation = v
8362	return s
8363}
8364
8365// SetStatus sets the Status field's value.
8366func (s *CreateWorldExportJobOutput) SetStatus(v string) *CreateWorldExportJobOutput {
8367	s.Status = &v
8368	return s
8369}
8370
8371// SetTags sets the Tags field's value.
8372func (s *CreateWorldExportJobOutput) SetTags(v map[string]*string) *CreateWorldExportJobOutput {
8373	s.Tags = v
8374	return s
8375}
8376
8377type CreateWorldGenerationJobInput struct {
8378	_ struct{} `type:"structure"`
8379
8380	// Unique, case-sensitive identifier that you provide to ensure the idempotency
8381	// of the request.
8382	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
8383
8384	// A map that contains tag keys and tag values that are attached to the world
8385	// generator job.
8386	Tags map[string]*string `locationName:"tags" type:"map"`
8387
8388	// The Amazon Resource Name (arn) of the world template describing the worlds
8389	// you want to create.
8390	//
8391	// Template is a required field
8392	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
8393
8394	// Information about the world count.
8395	//
8396	// WorldCount is a required field
8397	WorldCount *WorldCount `locationName:"worldCount" type:"structure" required:"true"`
8398
8399	// A map that contains tag keys and tag values that are attached to the generated
8400	// worlds.
8401	WorldTags map[string]*string `locationName:"worldTags" type:"map"`
8402}
8403
8404// String returns the string representation
8405func (s CreateWorldGenerationJobInput) String() string {
8406	return awsutil.Prettify(s)
8407}
8408
8409// GoString returns the string representation
8410func (s CreateWorldGenerationJobInput) GoString() string {
8411	return s.String()
8412}
8413
8414// Validate inspects the fields of the type to determine if they are valid.
8415func (s *CreateWorldGenerationJobInput) Validate() error {
8416	invalidParams := request.ErrInvalidParams{Context: "CreateWorldGenerationJobInput"}
8417	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
8418		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
8419	}
8420	if s.Template == nil {
8421		invalidParams.Add(request.NewErrParamRequired("Template"))
8422	}
8423	if s.Template != nil && len(*s.Template) < 1 {
8424		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
8425	}
8426	if s.WorldCount == nil {
8427		invalidParams.Add(request.NewErrParamRequired("WorldCount"))
8428	}
8429
8430	if invalidParams.Len() > 0 {
8431		return invalidParams
8432	}
8433	return nil
8434}
8435
8436// SetClientRequestToken sets the ClientRequestToken field's value.
8437func (s *CreateWorldGenerationJobInput) SetClientRequestToken(v string) *CreateWorldGenerationJobInput {
8438	s.ClientRequestToken = &v
8439	return s
8440}
8441
8442// SetTags sets the Tags field's value.
8443func (s *CreateWorldGenerationJobInput) SetTags(v map[string]*string) *CreateWorldGenerationJobInput {
8444	s.Tags = v
8445	return s
8446}
8447
8448// SetTemplate sets the Template field's value.
8449func (s *CreateWorldGenerationJobInput) SetTemplate(v string) *CreateWorldGenerationJobInput {
8450	s.Template = &v
8451	return s
8452}
8453
8454// SetWorldCount sets the WorldCount field's value.
8455func (s *CreateWorldGenerationJobInput) SetWorldCount(v *WorldCount) *CreateWorldGenerationJobInput {
8456	s.WorldCount = v
8457	return s
8458}
8459
8460// SetWorldTags sets the WorldTags field's value.
8461func (s *CreateWorldGenerationJobInput) SetWorldTags(v map[string]*string) *CreateWorldGenerationJobInput {
8462	s.WorldTags = v
8463	return s
8464}
8465
8466type CreateWorldGenerationJobOutput struct {
8467	_ struct{} `type:"structure"`
8468
8469	// The Amazon Resource Name (ARN) of the world generator job.
8470	Arn *string `locationName:"arn" min:"1" type:"string"`
8471
8472	// Unique, case-sensitive identifier that you provide to ensure the idempotency
8473	// of the request.
8474	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
8475
8476	// The time, in milliseconds since the epoch, when the world generator job was
8477	// created.
8478	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8479
8480	// The failure code of the world generator job if it failed:
8481	//
8482	// InternalServiceError
8483	//
8484	// Internal service error.
8485	//
8486	// LimitExceeded
8487	//
8488	// The requested resource exceeds the maximum number allowed, or the number
8489	// of concurrent stream requests exceeds the maximum number allowed.
8490	//
8491	// ResourceNotFound
8492	//
8493	// The specified resource could not be found.
8494	//
8495	// RequestThrottled
8496	//
8497	// The request was throttled.
8498	//
8499	// InvalidInput
8500	//
8501	// An input parameter in the request is not valid.
8502	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldGenerationJobErrorCode"`
8503
8504	// The status of the world generator job.
8505	//
8506	// Pending
8507	//
8508	// The world generator job request is pending.
8509	//
8510	// Running
8511	//
8512	// The world generator job is running.
8513	//
8514	// Completed
8515	//
8516	// The world generator job completed.
8517	//
8518	// Failed
8519	//
8520	// The world generator job failed. See failureCode for more information.
8521	//
8522	// PartialFailed
8523	//
8524	// Some worlds did not generate.
8525	//
8526	// Canceled
8527	//
8528	// The world generator job was cancelled.
8529	//
8530	// Canceling
8531	//
8532	// The world generator job is being cancelled.
8533	Status *string `locationName:"status" type:"string" enum:"WorldGenerationJobStatus"`
8534
8535	// A map that contains tag keys and tag values that are attached to the world
8536	// generator job.
8537	Tags map[string]*string `locationName:"tags" type:"map"`
8538
8539	// The Amazon Resource Name (arn) of the world template.
8540	Template *string `locationName:"template" min:"1" type:"string"`
8541
8542	// Information about the world count.
8543	WorldCount *WorldCount `locationName:"worldCount" type:"structure"`
8544
8545	// A map that contains tag keys and tag values that are attached to the generated
8546	// worlds.
8547	WorldTags map[string]*string `locationName:"worldTags" type:"map"`
8548}
8549
8550// String returns the string representation
8551func (s CreateWorldGenerationJobOutput) String() string {
8552	return awsutil.Prettify(s)
8553}
8554
8555// GoString returns the string representation
8556func (s CreateWorldGenerationJobOutput) GoString() string {
8557	return s.String()
8558}
8559
8560// SetArn sets the Arn field's value.
8561func (s *CreateWorldGenerationJobOutput) SetArn(v string) *CreateWorldGenerationJobOutput {
8562	s.Arn = &v
8563	return s
8564}
8565
8566// SetClientRequestToken sets the ClientRequestToken field's value.
8567func (s *CreateWorldGenerationJobOutput) SetClientRequestToken(v string) *CreateWorldGenerationJobOutput {
8568	s.ClientRequestToken = &v
8569	return s
8570}
8571
8572// SetCreatedAt sets the CreatedAt field's value.
8573func (s *CreateWorldGenerationJobOutput) SetCreatedAt(v time.Time) *CreateWorldGenerationJobOutput {
8574	s.CreatedAt = &v
8575	return s
8576}
8577
8578// SetFailureCode sets the FailureCode field's value.
8579func (s *CreateWorldGenerationJobOutput) SetFailureCode(v string) *CreateWorldGenerationJobOutput {
8580	s.FailureCode = &v
8581	return s
8582}
8583
8584// SetStatus sets the Status field's value.
8585func (s *CreateWorldGenerationJobOutput) SetStatus(v string) *CreateWorldGenerationJobOutput {
8586	s.Status = &v
8587	return s
8588}
8589
8590// SetTags sets the Tags field's value.
8591func (s *CreateWorldGenerationJobOutput) SetTags(v map[string]*string) *CreateWorldGenerationJobOutput {
8592	s.Tags = v
8593	return s
8594}
8595
8596// SetTemplate sets the Template field's value.
8597func (s *CreateWorldGenerationJobOutput) SetTemplate(v string) *CreateWorldGenerationJobOutput {
8598	s.Template = &v
8599	return s
8600}
8601
8602// SetWorldCount sets the WorldCount field's value.
8603func (s *CreateWorldGenerationJobOutput) SetWorldCount(v *WorldCount) *CreateWorldGenerationJobOutput {
8604	s.WorldCount = v
8605	return s
8606}
8607
8608// SetWorldTags sets the WorldTags field's value.
8609func (s *CreateWorldGenerationJobOutput) SetWorldTags(v map[string]*string) *CreateWorldGenerationJobOutput {
8610	s.WorldTags = v
8611	return s
8612}
8613
8614type CreateWorldTemplateInput struct {
8615	_ struct{} `type:"structure"`
8616
8617	// Unique, case-sensitive identifier that you provide to ensure the idempotency
8618	// of the request.
8619	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
8620
8621	// The name of the world template.
8622	Name *string `locationName:"name" type:"string"`
8623
8624	// A map that contains tag keys and tag values that are attached to the world
8625	// template.
8626	Tags map[string]*string `locationName:"tags" type:"map"`
8627
8628	// The world template body.
8629	TemplateBody *string `locationName:"templateBody" min:"1" type:"string"`
8630
8631	// The location of the world template.
8632	TemplateLocation *TemplateLocation `locationName:"templateLocation" type:"structure"`
8633}
8634
8635// String returns the string representation
8636func (s CreateWorldTemplateInput) String() string {
8637	return awsutil.Prettify(s)
8638}
8639
8640// GoString returns the string representation
8641func (s CreateWorldTemplateInput) GoString() string {
8642	return s.String()
8643}
8644
8645// Validate inspects the fields of the type to determine if they are valid.
8646func (s *CreateWorldTemplateInput) Validate() error {
8647	invalidParams := request.ErrInvalidParams{Context: "CreateWorldTemplateInput"}
8648	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
8649		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
8650	}
8651	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
8652		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
8653	}
8654	if s.TemplateLocation != nil {
8655		if err := s.TemplateLocation.Validate(); err != nil {
8656			invalidParams.AddNested("TemplateLocation", err.(request.ErrInvalidParams))
8657		}
8658	}
8659
8660	if invalidParams.Len() > 0 {
8661		return invalidParams
8662	}
8663	return nil
8664}
8665
8666// SetClientRequestToken sets the ClientRequestToken field's value.
8667func (s *CreateWorldTemplateInput) SetClientRequestToken(v string) *CreateWorldTemplateInput {
8668	s.ClientRequestToken = &v
8669	return s
8670}
8671
8672// SetName sets the Name field's value.
8673func (s *CreateWorldTemplateInput) SetName(v string) *CreateWorldTemplateInput {
8674	s.Name = &v
8675	return s
8676}
8677
8678// SetTags sets the Tags field's value.
8679func (s *CreateWorldTemplateInput) SetTags(v map[string]*string) *CreateWorldTemplateInput {
8680	s.Tags = v
8681	return s
8682}
8683
8684// SetTemplateBody sets the TemplateBody field's value.
8685func (s *CreateWorldTemplateInput) SetTemplateBody(v string) *CreateWorldTemplateInput {
8686	s.TemplateBody = &v
8687	return s
8688}
8689
8690// SetTemplateLocation sets the TemplateLocation field's value.
8691func (s *CreateWorldTemplateInput) SetTemplateLocation(v *TemplateLocation) *CreateWorldTemplateInput {
8692	s.TemplateLocation = v
8693	return s
8694}
8695
8696type CreateWorldTemplateOutput struct {
8697	_ struct{} `type:"structure"`
8698
8699	// The Amazon Resource Name (ARN) of the world template.
8700	Arn *string `locationName:"arn" min:"1" type:"string"`
8701
8702	// Unique, case-sensitive identifier that you provide to ensure the idempotency
8703	// of the request.
8704	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
8705
8706	// The time, in milliseconds since the epoch, when the world template was created.
8707	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8708
8709	// The name of the world template.
8710	Name *string `locationName:"name" type:"string"`
8711
8712	// A map that contains tag keys and tag values that are attached to the world
8713	// template.
8714	Tags map[string]*string `locationName:"tags" type:"map"`
8715}
8716
8717// String returns the string representation
8718func (s CreateWorldTemplateOutput) String() string {
8719	return awsutil.Prettify(s)
8720}
8721
8722// GoString returns the string representation
8723func (s CreateWorldTemplateOutput) GoString() string {
8724	return s.String()
8725}
8726
8727// SetArn sets the Arn field's value.
8728func (s *CreateWorldTemplateOutput) SetArn(v string) *CreateWorldTemplateOutput {
8729	s.Arn = &v
8730	return s
8731}
8732
8733// SetClientRequestToken sets the ClientRequestToken field's value.
8734func (s *CreateWorldTemplateOutput) SetClientRequestToken(v string) *CreateWorldTemplateOutput {
8735	s.ClientRequestToken = &v
8736	return s
8737}
8738
8739// SetCreatedAt sets the CreatedAt field's value.
8740func (s *CreateWorldTemplateOutput) SetCreatedAt(v time.Time) *CreateWorldTemplateOutput {
8741	s.CreatedAt = &v
8742	return s
8743}
8744
8745// SetName sets the Name field's value.
8746func (s *CreateWorldTemplateOutput) SetName(v string) *CreateWorldTemplateOutput {
8747	s.Name = &v
8748	return s
8749}
8750
8751// SetTags sets the Tags field's value.
8752func (s *CreateWorldTemplateOutput) SetTags(v map[string]*string) *CreateWorldTemplateOutput {
8753	s.Tags = v
8754	return s
8755}
8756
8757// Information about a data source.
8758type DataSource struct {
8759	_ struct{} `type:"structure"`
8760
8761	// The name of the data source.
8762	Name *string `locationName:"name" min:"1" type:"string"`
8763
8764	// The S3 bucket where the data files are located.
8765	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
8766
8767	// The list of S3 keys identifying the data source files.
8768	S3Keys []*S3KeyOutput `locationName:"s3Keys" type:"list"`
8769}
8770
8771// String returns the string representation
8772func (s DataSource) String() string {
8773	return awsutil.Prettify(s)
8774}
8775
8776// GoString returns the string representation
8777func (s DataSource) GoString() string {
8778	return s.String()
8779}
8780
8781// SetName sets the Name field's value.
8782func (s *DataSource) SetName(v string) *DataSource {
8783	s.Name = &v
8784	return s
8785}
8786
8787// SetS3Bucket sets the S3Bucket field's value.
8788func (s *DataSource) SetS3Bucket(v string) *DataSource {
8789	s.S3Bucket = &v
8790	return s
8791}
8792
8793// SetS3Keys sets the S3Keys field's value.
8794func (s *DataSource) SetS3Keys(v []*S3KeyOutput) *DataSource {
8795	s.S3Keys = v
8796	return s
8797}
8798
8799// Information about a data source.
8800type DataSourceConfig struct {
8801	_ struct{} `type:"structure"`
8802
8803	// The name of the data source.
8804	//
8805	// Name is a required field
8806	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8807
8808	// The S3 bucket where the data files are located.
8809	//
8810	// S3Bucket is a required field
8811	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string" required:"true"`
8812
8813	// The list of S3 keys identifying the data source files.
8814	//
8815	// S3Keys is a required field
8816	S3Keys []*string `locationName:"s3Keys" min:"1" type:"list" required:"true"`
8817}
8818
8819// String returns the string representation
8820func (s DataSourceConfig) String() string {
8821	return awsutil.Prettify(s)
8822}
8823
8824// GoString returns the string representation
8825func (s DataSourceConfig) GoString() string {
8826	return s.String()
8827}
8828
8829// Validate inspects the fields of the type to determine if they are valid.
8830func (s *DataSourceConfig) Validate() error {
8831	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfig"}
8832	if s.Name == nil {
8833		invalidParams.Add(request.NewErrParamRequired("Name"))
8834	}
8835	if s.Name != nil && len(*s.Name) < 1 {
8836		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
8837	}
8838	if s.S3Bucket == nil {
8839		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
8840	}
8841	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
8842		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
8843	}
8844	if s.S3Keys == nil {
8845		invalidParams.Add(request.NewErrParamRequired("S3Keys"))
8846	}
8847	if s.S3Keys != nil && len(s.S3Keys) < 1 {
8848		invalidParams.Add(request.NewErrParamMinLen("S3Keys", 1))
8849	}
8850
8851	if invalidParams.Len() > 0 {
8852		return invalidParams
8853	}
8854	return nil
8855}
8856
8857// SetName sets the Name field's value.
8858func (s *DataSourceConfig) SetName(v string) *DataSourceConfig {
8859	s.Name = &v
8860	return s
8861}
8862
8863// SetS3Bucket sets the S3Bucket field's value.
8864func (s *DataSourceConfig) SetS3Bucket(v string) *DataSourceConfig {
8865	s.S3Bucket = &v
8866	return s
8867}
8868
8869// SetS3Keys sets the S3Keys field's value.
8870func (s *DataSourceConfig) SetS3Keys(v []*string) *DataSourceConfig {
8871	s.S3Keys = v
8872	return s
8873}
8874
8875type DeleteFleetInput struct {
8876	_ struct{} `type:"structure"`
8877
8878	// The Amazon Resource Name (ARN) of the fleet.
8879	//
8880	// Fleet is a required field
8881	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
8882}
8883
8884// String returns the string representation
8885func (s DeleteFleetInput) String() string {
8886	return awsutil.Prettify(s)
8887}
8888
8889// GoString returns the string representation
8890func (s DeleteFleetInput) GoString() string {
8891	return s.String()
8892}
8893
8894// Validate inspects the fields of the type to determine if they are valid.
8895func (s *DeleteFleetInput) Validate() error {
8896	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
8897	if s.Fleet == nil {
8898		invalidParams.Add(request.NewErrParamRequired("Fleet"))
8899	}
8900	if s.Fleet != nil && len(*s.Fleet) < 1 {
8901		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
8902	}
8903
8904	if invalidParams.Len() > 0 {
8905		return invalidParams
8906	}
8907	return nil
8908}
8909
8910// SetFleet sets the Fleet field's value.
8911func (s *DeleteFleetInput) SetFleet(v string) *DeleteFleetInput {
8912	s.Fleet = &v
8913	return s
8914}
8915
8916type DeleteFleetOutput struct {
8917	_ struct{} `type:"structure"`
8918}
8919
8920// String returns the string representation
8921func (s DeleteFleetOutput) String() string {
8922	return awsutil.Prettify(s)
8923}
8924
8925// GoString returns the string representation
8926func (s DeleteFleetOutput) GoString() string {
8927	return s.String()
8928}
8929
8930type DeleteRobotApplicationInput struct {
8931	_ struct{} `type:"structure"`
8932
8933	// The Amazon Resource Name (ARN) of the the robot application.
8934	//
8935	// Application is a required field
8936	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
8937
8938	// The version of the robot application to delete.
8939	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
8940}
8941
8942// String returns the string representation
8943func (s DeleteRobotApplicationInput) String() string {
8944	return awsutil.Prettify(s)
8945}
8946
8947// GoString returns the string representation
8948func (s DeleteRobotApplicationInput) GoString() string {
8949	return s.String()
8950}
8951
8952// Validate inspects the fields of the type to determine if they are valid.
8953func (s *DeleteRobotApplicationInput) Validate() error {
8954	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotApplicationInput"}
8955	if s.Application == nil {
8956		invalidParams.Add(request.NewErrParamRequired("Application"))
8957	}
8958	if s.Application != nil && len(*s.Application) < 1 {
8959		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
8960	}
8961	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
8962		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
8963	}
8964
8965	if invalidParams.Len() > 0 {
8966		return invalidParams
8967	}
8968	return nil
8969}
8970
8971// SetApplication sets the Application field's value.
8972func (s *DeleteRobotApplicationInput) SetApplication(v string) *DeleteRobotApplicationInput {
8973	s.Application = &v
8974	return s
8975}
8976
8977// SetApplicationVersion sets the ApplicationVersion field's value.
8978func (s *DeleteRobotApplicationInput) SetApplicationVersion(v string) *DeleteRobotApplicationInput {
8979	s.ApplicationVersion = &v
8980	return s
8981}
8982
8983type DeleteRobotApplicationOutput struct {
8984	_ struct{} `type:"structure"`
8985}
8986
8987// String returns the string representation
8988func (s DeleteRobotApplicationOutput) String() string {
8989	return awsutil.Prettify(s)
8990}
8991
8992// GoString returns the string representation
8993func (s DeleteRobotApplicationOutput) GoString() string {
8994	return s.String()
8995}
8996
8997type DeleteRobotInput struct {
8998	_ struct{} `type:"structure"`
8999
9000	// The Amazon Resource Name (ARN) of the robot.
9001	//
9002	// Robot is a required field
9003	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
9004}
9005
9006// String returns the string representation
9007func (s DeleteRobotInput) String() string {
9008	return awsutil.Prettify(s)
9009}
9010
9011// GoString returns the string representation
9012func (s DeleteRobotInput) GoString() string {
9013	return s.String()
9014}
9015
9016// Validate inspects the fields of the type to determine if they are valid.
9017func (s *DeleteRobotInput) Validate() error {
9018	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotInput"}
9019	if s.Robot == nil {
9020		invalidParams.Add(request.NewErrParamRequired("Robot"))
9021	}
9022	if s.Robot != nil && len(*s.Robot) < 1 {
9023		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
9024	}
9025
9026	if invalidParams.Len() > 0 {
9027		return invalidParams
9028	}
9029	return nil
9030}
9031
9032// SetRobot sets the Robot field's value.
9033func (s *DeleteRobotInput) SetRobot(v string) *DeleteRobotInput {
9034	s.Robot = &v
9035	return s
9036}
9037
9038type DeleteRobotOutput struct {
9039	_ struct{} `type:"structure"`
9040}
9041
9042// String returns the string representation
9043func (s DeleteRobotOutput) String() string {
9044	return awsutil.Prettify(s)
9045}
9046
9047// GoString returns the string representation
9048func (s DeleteRobotOutput) GoString() string {
9049	return s.String()
9050}
9051
9052type DeleteSimulationApplicationInput struct {
9053	_ struct{} `type:"structure"`
9054
9055	// The application information for the simulation application to delete.
9056	//
9057	// Application is a required field
9058	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
9059
9060	// The version of the simulation application to delete.
9061	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
9062}
9063
9064// String returns the string representation
9065func (s DeleteSimulationApplicationInput) String() string {
9066	return awsutil.Prettify(s)
9067}
9068
9069// GoString returns the string representation
9070func (s DeleteSimulationApplicationInput) GoString() string {
9071	return s.String()
9072}
9073
9074// Validate inspects the fields of the type to determine if they are valid.
9075func (s *DeleteSimulationApplicationInput) Validate() error {
9076	invalidParams := request.ErrInvalidParams{Context: "DeleteSimulationApplicationInput"}
9077	if s.Application == nil {
9078		invalidParams.Add(request.NewErrParamRequired("Application"))
9079	}
9080	if s.Application != nil && len(*s.Application) < 1 {
9081		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
9082	}
9083	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
9084		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
9085	}
9086
9087	if invalidParams.Len() > 0 {
9088		return invalidParams
9089	}
9090	return nil
9091}
9092
9093// SetApplication sets the Application field's value.
9094func (s *DeleteSimulationApplicationInput) SetApplication(v string) *DeleteSimulationApplicationInput {
9095	s.Application = &v
9096	return s
9097}
9098
9099// SetApplicationVersion sets the ApplicationVersion field's value.
9100func (s *DeleteSimulationApplicationInput) SetApplicationVersion(v string) *DeleteSimulationApplicationInput {
9101	s.ApplicationVersion = &v
9102	return s
9103}
9104
9105type DeleteSimulationApplicationOutput struct {
9106	_ struct{} `type:"structure"`
9107}
9108
9109// String returns the string representation
9110func (s DeleteSimulationApplicationOutput) String() string {
9111	return awsutil.Prettify(s)
9112}
9113
9114// GoString returns the string representation
9115func (s DeleteSimulationApplicationOutput) GoString() string {
9116	return s.String()
9117}
9118
9119type DeleteWorldTemplateInput struct {
9120	_ struct{} `type:"structure"`
9121
9122	// The Amazon Resource Name (arn) of the world template you want to delete.
9123	//
9124	// Template is a required field
9125	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
9126}
9127
9128// String returns the string representation
9129func (s DeleteWorldTemplateInput) String() string {
9130	return awsutil.Prettify(s)
9131}
9132
9133// GoString returns the string representation
9134func (s DeleteWorldTemplateInput) GoString() string {
9135	return s.String()
9136}
9137
9138// Validate inspects the fields of the type to determine if they are valid.
9139func (s *DeleteWorldTemplateInput) Validate() error {
9140	invalidParams := request.ErrInvalidParams{Context: "DeleteWorldTemplateInput"}
9141	if s.Template == nil {
9142		invalidParams.Add(request.NewErrParamRequired("Template"))
9143	}
9144	if s.Template != nil && len(*s.Template) < 1 {
9145		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
9146	}
9147
9148	if invalidParams.Len() > 0 {
9149		return invalidParams
9150	}
9151	return nil
9152}
9153
9154// SetTemplate sets the Template field's value.
9155func (s *DeleteWorldTemplateInput) SetTemplate(v string) *DeleteWorldTemplateInput {
9156	s.Template = &v
9157	return s
9158}
9159
9160type DeleteWorldTemplateOutput struct {
9161	_ struct{} `type:"structure"`
9162}
9163
9164// String returns the string representation
9165func (s DeleteWorldTemplateOutput) String() string {
9166	return awsutil.Prettify(s)
9167}
9168
9169// GoString returns the string representation
9170func (s DeleteWorldTemplateOutput) GoString() string {
9171	return s.String()
9172}
9173
9174// Information about a deployment application configuration.
9175type DeploymentApplicationConfig struct {
9176	_ struct{} `type:"structure"`
9177
9178	// The Amazon Resource Name (ARN) of the robot application.
9179	//
9180	// Application is a required field
9181	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
9182
9183	// The version of the application.
9184	//
9185	// ApplicationVersion is a required field
9186	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string" required:"true"`
9187
9188	// The launch configuration.
9189	//
9190	// LaunchConfig is a required field
9191	LaunchConfig *DeploymentLaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
9192}
9193
9194// String returns the string representation
9195func (s DeploymentApplicationConfig) String() string {
9196	return awsutil.Prettify(s)
9197}
9198
9199// GoString returns the string representation
9200func (s DeploymentApplicationConfig) GoString() string {
9201	return s.String()
9202}
9203
9204// Validate inspects the fields of the type to determine if they are valid.
9205func (s *DeploymentApplicationConfig) Validate() error {
9206	invalidParams := request.ErrInvalidParams{Context: "DeploymentApplicationConfig"}
9207	if s.Application == nil {
9208		invalidParams.Add(request.NewErrParamRequired("Application"))
9209	}
9210	if s.Application != nil && len(*s.Application) < 1 {
9211		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
9212	}
9213	if s.ApplicationVersion == nil {
9214		invalidParams.Add(request.NewErrParamRequired("ApplicationVersion"))
9215	}
9216	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
9217		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
9218	}
9219	if s.LaunchConfig == nil {
9220		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
9221	}
9222	if s.LaunchConfig != nil {
9223		if err := s.LaunchConfig.Validate(); err != nil {
9224			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
9225		}
9226	}
9227
9228	if invalidParams.Len() > 0 {
9229		return invalidParams
9230	}
9231	return nil
9232}
9233
9234// SetApplication sets the Application field's value.
9235func (s *DeploymentApplicationConfig) SetApplication(v string) *DeploymentApplicationConfig {
9236	s.Application = &v
9237	return s
9238}
9239
9240// SetApplicationVersion sets the ApplicationVersion field's value.
9241func (s *DeploymentApplicationConfig) SetApplicationVersion(v string) *DeploymentApplicationConfig {
9242	s.ApplicationVersion = &v
9243	return s
9244}
9245
9246// SetLaunchConfig sets the LaunchConfig field's value.
9247func (s *DeploymentApplicationConfig) SetLaunchConfig(v *DeploymentLaunchConfig) *DeploymentApplicationConfig {
9248	s.LaunchConfig = v
9249	return s
9250}
9251
9252// Information about a deployment configuration.
9253type DeploymentConfig struct {
9254	_ struct{} `type:"structure"`
9255
9256	// The percentage of robots receiving the deployment at the same time.
9257	ConcurrentDeploymentPercentage *int64 `locationName:"concurrentDeploymentPercentage" min:"1" type:"integer"`
9258
9259	// The download condition file.
9260	DownloadConditionFile *S3Object `locationName:"downloadConditionFile" type:"structure"`
9261
9262	// The percentage of deployments that need to fail before stopping deployment.
9263	FailureThresholdPercentage *int64 `locationName:"failureThresholdPercentage" min:"1" type:"integer"`
9264
9265	// The amount of time, in seconds, to wait for deployment to a single robot
9266	// to complete. Choose a time between 1 minute and 7 days. The default is 5
9267	// hours.
9268	RobotDeploymentTimeoutInSeconds *int64 `locationName:"robotDeploymentTimeoutInSeconds" type:"long"`
9269}
9270
9271// String returns the string representation
9272func (s DeploymentConfig) String() string {
9273	return awsutil.Prettify(s)
9274}
9275
9276// GoString returns the string representation
9277func (s DeploymentConfig) GoString() string {
9278	return s.String()
9279}
9280
9281// Validate inspects the fields of the type to determine if they are valid.
9282func (s *DeploymentConfig) Validate() error {
9283	invalidParams := request.ErrInvalidParams{Context: "DeploymentConfig"}
9284	if s.ConcurrentDeploymentPercentage != nil && *s.ConcurrentDeploymentPercentage < 1 {
9285		invalidParams.Add(request.NewErrParamMinValue("ConcurrentDeploymentPercentage", 1))
9286	}
9287	if s.FailureThresholdPercentage != nil && *s.FailureThresholdPercentage < 1 {
9288		invalidParams.Add(request.NewErrParamMinValue("FailureThresholdPercentage", 1))
9289	}
9290	if s.DownloadConditionFile != nil {
9291		if err := s.DownloadConditionFile.Validate(); err != nil {
9292			invalidParams.AddNested("DownloadConditionFile", err.(request.ErrInvalidParams))
9293		}
9294	}
9295
9296	if invalidParams.Len() > 0 {
9297		return invalidParams
9298	}
9299	return nil
9300}
9301
9302// SetConcurrentDeploymentPercentage sets the ConcurrentDeploymentPercentage field's value.
9303func (s *DeploymentConfig) SetConcurrentDeploymentPercentage(v int64) *DeploymentConfig {
9304	s.ConcurrentDeploymentPercentage = &v
9305	return s
9306}
9307
9308// SetDownloadConditionFile sets the DownloadConditionFile field's value.
9309func (s *DeploymentConfig) SetDownloadConditionFile(v *S3Object) *DeploymentConfig {
9310	s.DownloadConditionFile = v
9311	return s
9312}
9313
9314// SetFailureThresholdPercentage sets the FailureThresholdPercentage field's value.
9315func (s *DeploymentConfig) SetFailureThresholdPercentage(v int64) *DeploymentConfig {
9316	s.FailureThresholdPercentage = &v
9317	return s
9318}
9319
9320// SetRobotDeploymentTimeoutInSeconds sets the RobotDeploymentTimeoutInSeconds field's value.
9321func (s *DeploymentConfig) SetRobotDeploymentTimeoutInSeconds(v int64) *DeploymentConfig {
9322	s.RobotDeploymentTimeoutInSeconds = &v
9323	return s
9324}
9325
9326// Information about a deployment job.
9327type DeploymentJob struct {
9328	_ struct{} `type:"structure"`
9329
9330	// The Amazon Resource Name (ARN) of the deployment job.
9331	Arn *string `locationName:"arn" min:"1" type:"string"`
9332
9333	// The time, in milliseconds since the epoch, when the deployment job was created.
9334	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
9335
9336	// The deployment application configuration.
9337	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
9338
9339	// The deployment configuration.
9340	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
9341
9342	// The deployment job failure code.
9343	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
9344
9345	// A short description of the reason why the deployment job failed.
9346	FailureReason *string `locationName:"failureReason" type:"string"`
9347
9348	// The Amazon Resource Name (ARN) of the fleet.
9349	Fleet *string `locationName:"fleet" min:"1" type:"string"`
9350
9351	// The status of the deployment job.
9352	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
9353}
9354
9355// String returns the string representation
9356func (s DeploymentJob) String() string {
9357	return awsutil.Prettify(s)
9358}
9359
9360// GoString returns the string representation
9361func (s DeploymentJob) GoString() string {
9362	return s.String()
9363}
9364
9365// SetArn sets the Arn field's value.
9366func (s *DeploymentJob) SetArn(v string) *DeploymentJob {
9367	s.Arn = &v
9368	return s
9369}
9370
9371// SetCreatedAt sets the CreatedAt field's value.
9372func (s *DeploymentJob) SetCreatedAt(v time.Time) *DeploymentJob {
9373	s.CreatedAt = &v
9374	return s
9375}
9376
9377// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
9378func (s *DeploymentJob) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DeploymentJob {
9379	s.DeploymentApplicationConfigs = v
9380	return s
9381}
9382
9383// SetDeploymentConfig sets the DeploymentConfig field's value.
9384func (s *DeploymentJob) SetDeploymentConfig(v *DeploymentConfig) *DeploymentJob {
9385	s.DeploymentConfig = v
9386	return s
9387}
9388
9389// SetFailureCode sets the FailureCode field's value.
9390func (s *DeploymentJob) SetFailureCode(v string) *DeploymentJob {
9391	s.FailureCode = &v
9392	return s
9393}
9394
9395// SetFailureReason sets the FailureReason field's value.
9396func (s *DeploymentJob) SetFailureReason(v string) *DeploymentJob {
9397	s.FailureReason = &v
9398	return s
9399}
9400
9401// SetFleet sets the Fleet field's value.
9402func (s *DeploymentJob) SetFleet(v string) *DeploymentJob {
9403	s.Fleet = &v
9404	return s
9405}
9406
9407// SetStatus sets the Status field's value.
9408func (s *DeploymentJob) SetStatus(v string) *DeploymentJob {
9409	s.Status = &v
9410	return s
9411}
9412
9413// Configuration information for a deployment launch.
9414type DeploymentLaunchConfig struct {
9415	_ struct{} `type:"structure"`
9416
9417	// An array of key/value pairs specifying environment variables for the robot
9418	// application
9419	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
9420
9421	// The launch file name.
9422	//
9423	// LaunchFile is a required field
9424	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
9425
9426	// The package name.
9427	//
9428	// PackageName is a required field
9429	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
9430
9431	// The deployment post-launch file. This file will be executed after the launch
9432	// file.
9433	PostLaunchFile *string `locationName:"postLaunchFile" min:"1" type:"string"`
9434
9435	// The deployment pre-launch file. This file will be executed prior to the launch
9436	// file.
9437	PreLaunchFile *string `locationName:"preLaunchFile" min:"1" type:"string"`
9438}
9439
9440// String returns the string representation
9441func (s DeploymentLaunchConfig) String() string {
9442	return awsutil.Prettify(s)
9443}
9444
9445// GoString returns the string representation
9446func (s DeploymentLaunchConfig) GoString() string {
9447	return s.String()
9448}
9449
9450// Validate inspects the fields of the type to determine if they are valid.
9451func (s *DeploymentLaunchConfig) Validate() error {
9452	invalidParams := request.ErrInvalidParams{Context: "DeploymentLaunchConfig"}
9453	if s.LaunchFile == nil {
9454		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
9455	}
9456	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
9457		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
9458	}
9459	if s.PackageName == nil {
9460		invalidParams.Add(request.NewErrParamRequired("PackageName"))
9461	}
9462	if s.PackageName != nil && len(*s.PackageName) < 1 {
9463		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
9464	}
9465	if s.PostLaunchFile != nil && len(*s.PostLaunchFile) < 1 {
9466		invalidParams.Add(request.NewErrParamMinLen("PostLaunchFile", 1))
9467	}
9468	if s.PreLaunchFile != nil && len(*s.PreLaunchFile) < 1 {
9469		invalidParams.Add(request.NewErrParamMinLen("PreLaunchFile", 1))
9470	}
9471
9472	if invalidParams.Len() > 0 {
9473		return invalidParams
9474	}
9475	return nil
9476}
9477
9478// SetEnvironmentVariables sets the EnvironmentVariables field's value.
9479func (s *DeploymentLaunchConfig) SetEnvironmentVariables(v map[string]*string) *DeploymentLaunchConfig {
9480	s.EnvironmentVariables = v
9481	return s
9482}
9483
9484// SetLaunchFile sets the LaunchFile field's value.
9485func (s *DeploymentLaunchConfig) SetLaunchFile(v string) *DeploymentLaunchConfig {
9486	s.LaunchFile = &v
9487	return s
9488}
9489
9490// SetPackageName sets the PackageName field's value.
9491func (s *DeploymentLaunchConfig) SetPackageName(v string) *DeploymentLaunchConfig {
9492	s.PackageName = &v
9493	return s
9494}
9495
9496// SetPostLaunchFile sets the PostLaunchFile field's value.
9497func (s *DeploymentLaunchConfig) SetPostLaunchFile(v string) *DeploymentLaunchConfig {
9498	s.PostLaunchFile = &v
9499	return s
9500}
9501
9502// SetPreLaunchFile sets the PreLaunchFile field's value.
9503func (s *DeploymentLaunchConfig) SetPreLaunchFile(v string) *DeploymentLaunchConfig {
9504	s.PreLaunchFile = &v
9505	return s
9506}
9507
9508type DeregisterRobotInput struct {
9509	_ struct{} `type:"structure"`
9510
9511	// The Amazon Resource Name (ARN) of the fleet.
9512	//
9513	// Fleet is a required field
9514	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
9515
9516	// The Amazon Resource Name (ARN) of the robot.
9517	//
9518	// Robot is a required field
9519	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
9520}
9521
9522// String returns the string representation
9523func (s DeregisterRobotInput) String() string {
9524	return awsutil.Prettify(s)
9525}
9526
9527// GoString returns the string representation
9528func (s DeregisterRobotInput) GoString() string {
9529	return s.String()
9530}
9531
9532// Validate inspects the fields of the type to determine if they are valid.
9533func (s *DeregisterRobotInput) Validate() error {
9534	invalidParams := request.ErrInvalidParams{Context: "DeregisterRobotInput"}
9535	if s.Fleet == nil {
9536		invalidParams.Add(request.NewErrParamRequired("Fleet"))
9537	}
9538	if s.Fleet != nil && len(*s.Fleet) < 1 {
9539		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
9540	}
9541	if s.Robot == nil {
9542		invalidParams.Add(request.NewErrParamRequired("Robot"))
9543	}
9544	if s.Robot != nil && len(*s.Robot) < 1 {
9545		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
9546	}
9547
9548	if invalidParams.Len() > 0 {
9549		return invalidParams
9550	}
9551	return nil
9552}
9553
9554// SetFleet sets the Fleet field's value.
9555func (s *DeregisterRobotInput) SetFleet(v string) *DeregisterRobotInput {
9556	s.Fleet = &v
9557	return s
9558}
9559
9560// SetRobot sets the Robot field's value.
9561func (s *DeregisterRobotInput) SetRobot(v string) *DeregisterRobotInput {
9562	s.Robot = &v
9563	return s
9564}
9565
9566type DeregisterRobotOutput struct {
9567	_ struct{} `type:"structure"`
9568
9569	// The Amazon Resource Name (ARN) of the fleet.
9570	Fleet *string `locationName:"fleet" min:"1" type:"string"`
9571
9572	// The Amazon Resource Name (ARN) of the robot.
9573	Robot *string `locationName:"robot" min:"1" type:"string"`
9574}
9575
9576// String returns the string representation
9577func (s DeregisterRobotOutput) String() string {
9578	return awsutil.Prettify(s)
9579}
9580
9581// GoString returns the string representation
9582func (s DeregisterRobotOutput) GoString() string {
9583	return s.String()
9584}
9585
9586// SetFleet sets the Fleet field's value.
9587func (s *DeregisterRobotOutput) SetFleet(v string) *DeregisterRobotOutput {
9588	s.Fleet = &v
9589	return s
9590}
9591
9592// SetRobot sets the Robot field's value.
9593func (s *DeregisterRobotOutput) SetRobot(v string) *DeregisterRobotOutput {
9594	s.Robot = &v
9595	return s
9596}
9597
9598type DescribeDeploymentJobInput struct {
9599	_ struct{} `type:"structure"`
9600
9601	// The Amazon Resource Name (ARN) of the deployment job.
9602	//
9603	// Job is a required field
9604	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
9605}
9606
9607// String returns the string representation
9608func (s DescribeDeploymentJobInput) String() string {
9609	return awsutil.Prettify(s)
9610}
9611
9612// GoString returns the string representation
9613func (s DescribeDeploymentJobInput) GoString() string {
9614	return s.String()
9615}
9616
9617// Validate inspects the fields of the type to determine if they are valid.
9618func (s *DescribeDeploymentJobInput) Validate() error {
9619	invalidParams := request.ErrInvalidParams{Context: "DescribeDeploymentJobInput"}
9620	if s.Job == nil {
9621		invalidParams.Add(request.NewErrParamRequired("Job"))
9622	}
9623	if s.Job != nil && len(*s.Job) < 1 {
9624		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
9625	}
9626
9627	if invalidParams.Len() > 0 {
9628		return invalidParams
9629	}
9630	return nil
9631}
9632
9633// SetJob sets the Job field's value.
9634func (s *DescribeDeploymentJobInput) SetJob(v string) *DescribeDeploymentJobInput {
9635	s.Job = &v
9636	return s
9637}
9638
9639type DescribeDeploymentJobOutput struct {
9640	_ struct{} `type:"structure"`
9641
9642	// The Amazon Resource Name (ARN) of the deployment job.
9643	Arn *string `locationName:"arn" min:"1" type:"string"`
9644
9645	// The time, in milliseconds since the epoch, when the deployment job was created.
9646	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
9647
9648	// The deployment application configuration.
9649	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
9650
9651	// The deployment configuration.
9652	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
9653
9654	// The deployment job failure code.
9655	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
9656
9657	// A short description of the reason why the deployment job failed.
9658	FailureReason *string `locationName:"failureReason" type:"string"`
9659
9660	// The Amazon Resource Name (ARN) of the fleet.
9661	Fleet *string `locationName:"fleet" min:"1" type:"string"`
9662
9663	// A list of robot deployment summaries.
9664	RobotDeploymentSummary []*RobotDeployment `locationName:"robotDeploymentSummary" type:"list"`
9665
9666	// The status of the deployment job.
9667	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
9668
9669	// The list of all tags added to the specified deployment job.
9670	Tags map[string]*string `locationName:"tags" type:"map"`
9671}
9672
9673// String returns the string representation
9674func (s DescribeDeploymentJobOutput) String() string {
9675	return awsutil.Prettify(s)
9676}
9677
9678// GoString returns the string representation
9679func (s DescribeDeploymentJobOutput) GoString() string {
9680	return s.String()
9681}
9682
9683// SetArn sets the Arn field's value.
9684func (s *DescribeDeploymentJobOutput) SetArn(v string) *DescribeDeploymentJobOutput {
9685	s.Arn = &v
9686	return s
9687}
9688
9689// SetCreatedAt sets the CreatedAt field's value.
9690func (s *DescribeDeploymentJobOutput) SetCreatedAt(v time.Time) *DescribeDeploymentJobOutput {
9691	s.CreatedAt = &v
9692	return s
9693}
9694
9695// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
9696func (s *DescribeDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DescribeDeploymentJobOutput {
9697	s.DeploymentApplicationConfigs = v
9698	return s
9699}
9700
9701// SetDeploymentConfig sets the DeploymentConfig field's value.
9702func (s *DescribeDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *DescribeDeploymentJobOutput {
9703	s.DeploymentConfig = v
9704	return s
9705}
9706
9707// SetFailureCode sets the FailureCode field's value.
9708func (s *DescribeDeploymentJobOutput) SetFailureCode(v string) *DescribeDeploymentJobOutput {
9709	s.FailureCode = &v
9710	return s
9711}
9712
9713// SetFailureReason sets the FailureReason field's value.
9714func (s *DescribeDeploymentJobOutput) SetFailureReason(v string) *DescribeDeploymentJobOutput {
9715	s.FailureReason = &v
9716	return s
9717}
9718
9719// SetFleet sets the Fleet field's value.
9720func (s *DescribeDeploymentJobOutput) SetFleet(v string) *DescribeDeploymentJobOutput {
9721	s.Fleet = &v
9722	return s
9723}
9724
9725// SetRobotDeploymentSummary sets the RobotDeploymentSummary field's value.
9726func (s *DescribeDeploymentJobOutput) SetRobotDeploymentSummary(v []*RobotDeployment) *DescribeDeploymentJobOutput {
9727	s.RobotDeploymentSummary = v
9728	return s
9729}
9730
9731// SetStatus sets the Status field's value.
9732func (s *DescribeDeploymentJobOutput) SetStatus(v string) *DescribeDeploymentJobOutput {
9733	s.Status = &v
9734	return s
9735}
9736
9737// SetTags sets the Tags field's value.
9738func (s *DescribeDeploymentJobOutput) SetTags(v map[string]*string) *DescribeDeploymentJobOutput {
9739	s.Tags = v
9740	return s
9741}
9742
9743type DescribeFleetInput struct {
9744	_ struct{} `type:"structure"`
9745
9746	// The Amazon Resource Name (ARN) of the fleet.
9747	//
9748	// Fleet is a required field
9749	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
9750}
9751
9752// String returns the string representation
9753func (s DescribeFleetInput) String() string {
9754	return awsutil.Prettify(s)
9755}
9756
9757// GoString returns the string representation
9758func (s DescribeFleetInput) GoString() string {
9759	return s.String()
9760}
9761
9762// Validate inspects the fields of the type to determine if they are valid.
9763func (s *DescribeFleetInput) Validate() error {
9764	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInput"}
9765	if s.Fleet == nil {
9766		invalidParams.Add(request.NewErrParamRequired("Fleet"))
9767	}
9768	if s.Fleet != nil && len(*s.Fleet) < 1 {
9769		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
9770	}
9771
9772	if invalidParams.Len() > 0 {
9773		return invalidParams
9774	}
9775	return nil
9776}
9777
9778// SetFleet sets the Fleet field's value.
9779func (s *DescribeFleetInput) SetFleet(v string) *DescribeFleetInput {
9780	s.Fleet = &v
9781	return s
9782}
9783
9784type DescribeFleetOutput struct {
9785	_ struct{} `type:"structure"`
9786
9787	// The Amazon Resource Name (ARN) of the fleet.
9788	Arn *string `locationName:"arn" min:"1" type:"string"`
9789
9790	// The time, in milliseconds since the epoch, when the fleet was created.
9791	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
9792
9793	// The Amazon Resource Name (ARN) of the last deployment job.
9794	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
9795
9796	// The status of the last deployment.
9797	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
9798
9799	// The time of the last deployment.
9800	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
9801
9802	// The name of the fleet.
9803	Name *string `locationName:"name" min:"1" type:"string"`
9804
9805	// A list of robots.
9806	Robots []*Robot `locationName:"robots" type:"list"`
9807
9808	// The list of all tags added to the specified fleet.
9809	Tags map[string]*string `locationName:"tags" type:"map"`
9810}
9811
9812// String returns the string representation
9813func (s DescribeFleetOutput) String() string {
9814	return awsutil.Prettify(s)
9815}
9816
9817// GoString returns the string representation
9818func (s DescribeFleetOutput) GoString() string {
9819	return s.String()
9820}
9821
9822// SetArn sets the Arn field's value.
9823func (s *DescribeFleetOutput) SetArn(v string) *DescribeFleetOutput {
9824	s.Arn = &v
9825	return s
9826}
9827
9828// SetCreatedAt sets the CreatedAt field's value.
9829func (s *DescribeFleetOutput) SetCreatedAt(v time.Time) *DescribeFleetOutput {
9830	s.CreatedAt = &v
9831	return s
9832}
9833
9834// SetLastDeploymentJob sets the LastDeploymentJob field's value.
9835func (s *DescribeFleetOutput) SetLastDeploymentJob(v string) *DescribeFleetOutput {
9836	s.LastDeploymentJob = &v
9837	return s
9838}
9839
9840// SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
9841func (s *DescribeFleetOutput) SetLastDeploymentStatus(v string) *DescribeFleetOutput {
9842	s.LastDeploymentStatus = &v
9843	return s
9844}
9845
9846// SetLastDeploymentTime sets the LastDeploymentTime field's value.
9847func (s *DescribeFleetOutput) SetLastDeploymentTime(v time.Time) *DescribeFleetOutput {
9848	s.LastDeploymentTime = &v
9849	return s
9850}
9851
9852// SetName sets the Name field's value.
9853func (s *DescribeFleetOutput) SetName(v string) *DescribeFleetOutput {
9854	s.Name = &v
9855	return s
9856}
9857
9858// SetRobots sets the Robots field's value.
9859func (s *DescribeFleetOutput) SetRobots(v []*Robot) *DescribeFleetOutput {
9860	s.Robots = v
9861	return s
9862}
9863
9864// SetTags sets the Tags field's value.
9865func (s *DescribeFleetOutput) SetTags(v map[string]*string) *DescribeFleetOutput {
9866	s.Tags = v
9867	return s
9868}
9869
9870type DescribeRobotApplicationInput struct {
9871	_ struct{} `type:"structure"`
9872
9873	// The Amazon Resource Name (ARN) of the robot application.
9874	//
9875	// Application is a required field
9876	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
9877
9878	// The version of the robot application to describe.
9879	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
9880}
9881
9882// String returns the string representation
9883func (s DescribeRobotApplicationInput) String() string {
9884	return awsutil.Prettify(s)
9885}
9886
9887// GoString returns the string representation
9888func (s DescribeRobotApplicationInput) GoString() string {
9889	return s.String()
9890}
9891
9892// Validate inspects the fields of the type to determine if they are valid.
9893func (s *DescribeRobotApplicationInput) Validate() error {
9894	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotApplicationInput"}
9895	if s.Application == nil {
9896		invalidParams.Add(request.NewErrParamRequired("Application"))
9897	}
9898	if s.Application != nil && len(*s.Application) < 1 {
9899		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
9900	}
9901	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
9902		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
9903	}
9904
9905	if invalidParams.Len() > 0 {
9906		return invalidParams
9907	}
9908	return nil
9909}
9910
9911// SetApplication sets the Application field's value.
9912func (s *DescribeRobotApplicationInput) SetApplication(v string) *DescribeRobotApplicationInput {
9913	s.Application = &v
9914	return s
9915}
9916
9917// SetApplicationVersion sets the ApplicationVersion field's value.
9918func (s *DescribeRobotApplicationInput) SetApplicationVersion(v string) *DescribeRobotApplicationInput {
9919	s.ApplicationVersion = &v
9920	return s
9921}
9922
9923type DescribeRobotApplicationOutput struct {
9924	_ struct{} `type:"structure"`
9925
9926	// The Amazon Resource Name (ARN) of the robot application.
9927	Arn *string `locationName:"arn" min:"1" type:"string"`
9928
9929	// The time, in milliseconds since the epoch, when the robot application was
9930	// last updated.
9931	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
9932
9933	// The name of the robot application.
9934	Name *string `locationName:"name" min:"1" type:"string"`
9935
9936	// The revision id of the robot application.
9937	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
9938
9939	// The robot software suite (ROS distribution) used by the robot application.
9940	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
9941
9942	// The sources of the robot application.
9943	Sources []*Source `locationName:"sources" type:"list"`
9944
9945	// The list of all tags added to the specified robot application.
9946	Tags map[string]*string `locationName:"tags" type:"map"`
9947
9948	// The version of the robot application.
9949	Version *string `locationName:"version" min:"1" type:"string"`
9950}
9951
9952// String returns the string representation
9953func (s DescribeRobotApplicationOutput) String() string {
9954	return awsutil.Prettify(s)
9955}
9956
9957// GoString returns the string representation
9958func (s DescribeRobotApplicationOutput) GoString() string {
9959	return s.String()
9960}
9961
9962// SetArn sets the Arn field's value.
9963func (s *DescribeRobotApplicationOutput) SetArn(v string) *DescribeRobotApplicationOutput {
9964	s.Arn = &v
9965	return s
9966}
9967
9968// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9969func (s *DescribeRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeRobotApplicationOutput {
9970	s.LastUpdatedAt = &v
9971	return s
9972}
9973
9974// SetName sets the Name field's value.
9975func (s *DescribeRobotApplicationOutput) SetName(v string) *DescribeRobotApplicationOutput {
9976	s.Name = &v
9977	return s
9978}
9979
9980// SetRevisionId sets the RevisionId field's value.
9981func (s *DescribeRobotApplicationOutput) SetRevisionId(v string) *DescribeRobotApplicationOutput {
9982	s.RevisionId = &v
9983	return s
9984}
9985
9986// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
9987func (s *DescribeRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeRobotApplicationOutput {
9988	s.RobotSoftwareSuite = v
9989	return s
9990}
9991
9992// SetSources sets the Sources field's value.
9993func (s *DescribeRobotApplicationOutput) SetSources(v []*Source) *DescribeRobotApplicationOutput {
9994	s.Sources = v
9995	return s
9996}
9997
9998// SetTags sets the Tags field's value.
9999func (s *DescribeRobotApplicationOutput) SetTags(v map[string]*string) *DescribeRobotApplicationOutput {
10000	s.Tags = v
10001	return s
10002}
10003
10004// SetVersion sets the Version field's value.
10005func (s *DescribeRobotApplicationOutput) SetVersion(v string) *DescribeRobotApplicationOutput {
10006	s.Version = &v
10007	return s
10008}
10009
10010type DescribeRobotInput struct {
10011	_ struct{} `type:"structure"`
10012
10013	// The Amazon Resource Name (ARN) of the robot to be described.
10014	//
10015	// Robot is a required field
10016	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
10017}
10018
10019// String returns the string representation
10020func (s DescribeRobotInput) String() string {
10021	return awsutil.Prettify(s)
10022}
10023
10024// GoString returns the string representation
10025func (s DescribeRobotInput) GoString() string {
10026	return s.String()
10027}
10028
10029// Validate inspects the fields of the type to determine if they are valid.
10030func (s *DescribeRobotInput) Validate() error {
10031	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotInput"}
10032	if s.Robot == nil {
10033		invalidParams.Add(request.NewErrParamRequired("Robot"))
10034	}
10035	if s.Robot != nil && len(*s.Robot) < 1 {
10036		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
10037	}
10038
10039	if invalidParams.Len() > 0 {
10040		return invalidParams
10041	}
10042	return nil
10043}
10044
10045// SetRobot sets the Robot field's value.
10046func (s *DescribeRobotInput) SetRobot(v string) *DescribeRobotInput {
10047	s.Robot = &v
10048	return s
10049}
10050
10051type DescribeRobotOutput struct {
10052	_ struct{} `type:"structure"`
10053
10054	// The target architecture of the robot application.
10055	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
10056
10057	// The Amazon Resource Name (ARN) of the robot.
10058	Arn *string `locationName:"arn" min:"1" type:"string"`
10059
10060	// The time, in milliseconds since the epoch, when the robot was created.
10061	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
10062
10063	// The Amazon Resource Name (ARN) of the fleet.
10064	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
10065
10066	// The Greengrass group id.
10067	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
10068
10069	// The Amazon Resource Name (ARN) of the last deployment job.
10070	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
10071
10072	// The time of the last deployment job.
10073	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
10074
10075	// The name of the robot.
10076	Name *string `locationName:"name" min:"1" type:"string"`
10077
10078	// The status of the fleet.
10079	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
10080
10081	// The list of all tags added to the specified robot.
10082	Tags map[string]*string `locationName:"tags" type:"map"`
10083}
10084
10085// String returns the string representation
10086func (s DescribeRobotOutput) String() string {
10087	return awsutil.Prettify(s)
10088}
10089
10090// GoString returns the string representation
10091func (s DescribeRobotOutput) GoString() string {
10092	return s.String()
10093}
10094
10095// SetArchitecture sets the Architecture field's value.
10096func (s *DescribeRobotOutput) SetArchitecture(v string) *DescribeRobotOutput {
10097	s.Architecture = &v
10098	return s
10099}
10100
10101// SetArn sets the Arn field's value.
10102func (s *DescribeRobotOutput) SetArn(v string) *DescribeRobotOutput {
10103	s.Arn = &v
10104	return s
10105}
10106
10107// SetCreatedAt sets the CreatedAt field's value.
10108func (s *DescribeRobotOutput) SetCreatedAt(v time.Time) *DescribeRobotOutput {
10109	s.CreatedAt = &v
10110	return s
10111}
10112
10113// SetFleetArn sets the FleetArn field's value.
10114func (s *DescribeRobotOutput) SetFleetArn(v string) *DescribeRobotOutput {
10115	s.FleetArn = &v
10116	return s
10117}
10118
10119// SetGreengrassGroupId sets the GreengrassGroupId field's value.
10120func (s *DescribeRobotOutput) SetGreengrassGroupId(v string) *DescribeRobotOutput {
10121	s.GreengrassGroupId = &v
10122	return s
10123}
10124
10125// SetLastDeploymentJob sets the LastDeploymentJob field's value.
10126func (s *DescribeRobotOutput) SetLastDeploymentJob(v string) *DescribeRobotOutput {
10127	s.LastDeploymentJob = &v
10128	return s
10129}
10130
10131// SetLastDeploymentTime sets the LastDeploymentTime field's value.
10132func (s *DescribeRobotOutput) SetLastDeploymentTime(v time.Time) *DescribeRobotOutput {
10133	s.LastDeploymentTime = &v
10134	return s
10135}
10136
10137// SetName sets the Name field's value.
10138func (s *DescribeRobotOutput) SetName(v string) *DescribeRobotOutput {
10139	s.Name = &v
10140	return s
10141}
10142
10143// SetStatus sets the Status field's value.
10144func (s *DescribeRobotOutput) SetStatus(v string) *DescribeRobotOutput {
10145	s.Status = &v
10146	return s
10147}
10148
10149// SetTags sets the Tags field's value.
10150func (s *DescribeRobotOutput) SetTags(v map[string]*string) *DescribeRobotOutput {
10151	s.Tags = v
10152	return s
10153}
10154
10155type DescribeSimulationApplicationInput struct {
10156	_ struct{} `type:"structure"`
10157
10158	// The application information for the simulation application.
10159	//
10160	// Application is a required field
10161	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
10162
10163	// The version of the simulation application to describe.
10164	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
10165}
10166
10167// String returns the string representation
10168func (s DescribeSimulationApplicationInput) String() string {
10169	return awsutil.Prettify(s)
10170}
10171
10172// GoString returns the string representation
10173func (s DescribeSimulationApplicationInput) GoString() string {
10174	return s.String()
10175}
10176
10177// Validate inspects the fields of the type to determine if they are valid.
10178func (s *DescribeSimulationApplicationInput) Validate() error {
10179	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationApplicationInput"}
10180	if s.Application == nil {
10181		invalidParams.Add(request.NewErrParamRequired("Application"))
10182	}
10183	if s.Application != nil && len(*s.Application) < 1 {
10184		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
10185	}
10186	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
10187		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
10188	}
10189
10190	if invalidParams.Len() > 0 {
10191		return invalidParams
10192	}
10193	return nil
10194}
10195
10196// SetApplication sets the Application field's value.
10197func (s *DescribeSimulationApplicationInput) SetApplication(v string) *DescribeSimulationApplicationInput {
10198	s.Application = &v
10199	return s
10200}
10201
10202// SetApplicationVersion sets the ApplicationVersion field's value.
10203func (s *DescribeSimulationApplicationInput) SetApplicationVersion(v string) *DescribeSimulationApplicationInput {
10204	s.ApplicationVersion = &v
10205	return s
10206}
10207
10208type DescribeSimulationApplicationOutput struct {
10209	_ struct{} `type:"structure"`
10210
10211	// The Amazon Resource Name (ARN) of the robot simulation application.
10212	Arn *string `locationName:"arn" min:"1" type:"string"`
10213
10214	// The time, in milliseconds since the epoch, when the simulation application
10215	// was last updated.
10216	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10217
10218	// The name of the simulation application.
10219	Name *string `locationName:"name" min:"1" type:"string"`
10220
10221	// The rendering engine for the simulation application.
10222	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
10223
10224	// The revision id of the simulation application.
10225	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
10226
10227	// Information about the robot software suite (ROS distribution).
10228	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
10229
10230	// The simulation software suite used by the simulation application.
10231	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
10232
10233	// The sources of the simulation application.
10234	Sources []*Source `locationName:"sources" type:"list"`
10235
10236	// The list of all tags added to the specified simulation application.
10237	Tags map[string]*string `locationName:"tags" type:"map"`
10238
10239	// The version of the simulation application.
10240	Version *string `locationName:"version" min:"1" type:"string"`
10241}
10242
10243// String returns the string representation
10244func (s DescribeSimulationApplicationOutput) String() string {
10245	return awsutil.Prettify(s)
10246}
10247
10248// GoString returns the string representation
10249func (s DescribeSimulationApplicationOutput) GoString() string {
10250	return s.String()
10251}
10252
10253// SetArn sets the Arn field's value.
10254func (s *DescribeSimulationApplicationOutput) SetArn(v string) *DescribeSimulationApplicationOutput {
10255	s.Arn = &v
10256	return s
10257}
10258
10259// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10260func (s *DescribeSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationApplicationOutput {
10261	s.LastUpdatedAt = &v
10262	return s
10263}
10264
10265// SetName sets the Name field's value.
10266func (s *DescribeSimulationApplicationOutput) SetName(v string) *DescribeSimulationApplicationOutput {
10267	s.Name = &v
10268	return s
10269}
10270
10271// SetRenderingEngine sets the RenderingEngine field's value.
10272func (s *DescribeSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *DescribeSimulationApplicationOutput {
10273	s.RenderingEngine = v
10274	return s
10275}
10276
10277// SetRevisionId sets the RevisionId field's value.
10278func (s *DescribeSimulationApplicationOutput) SetRevisionId(v string) *DescribeSimulationApplicationOutput {
10279	s.RevisionId = &v
10280	return s
10281}
10282
10283// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10284func (s *DescribeSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeSimulationApplicationOutput {
10285	s.RobotSoftwareSuite = v
10286	return s
10287}
10288
10289// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
10290func (s *DescribeSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *DescribeSimulationApplicationOutput {
10291	s.SimulationSoftwareSuite = v
10292	return s
10293}
10294
10295// SetSources sets the Sources field's value.
10296func (s *DescribeSimulationApplicationOutput) SetSources(v []*Source) *DescribeSimulationApplicationOutput {
10297	s.Sources = v
10298	return s
10299}
10300
10301// SetTags sets the Tags field's value.
10302func (s *DescribeSimulationApplicationOutput) SetTags(v map[string]*string) *DescribeSimulationApplicationOutput {
10303	s.Tags = v
10304	return s
10305}
10306
10307// SetVersion sets the Version field's value.
10308func (s *DescribeSimulationApplicationOutput) SetVersion(v string) *DescribeSimulationApplicationOutput {
10309	s.Version = &v
10310	return s
10311}
10312
10313type DescribeSimulationJobBatchInput struct {
10314	_ struct{} `type:"structure"`
10315
10316	// The id of the batch to describe.
10317	//
10318	// Batch is a required field
10319	Batch *string `locationName:"batch" min:"1" type:"string" required:"true"`
10320}
10321
10322// String returns the string representation
10323func (s DescribeSimulationJobBatchInput) String() string {
10324	return awsutil.Prettify(s)
10325}
10326
10327// GoString returns the string representation
10328func (s DescribeSimulationJobBatchInput) GoString() string {
10329	return s.String()
10330}
10331
10332// Validate inspects the fields of the type to determine if they are valid.
10333func (s *DescribeSimulationJobBatchInput) Validate() error {
10334	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobBatchInput"}
10335	if s.Batch == nil {
10336		invalidParams.Add(request.NewErrParamRequired("Batch"))
10337	}
10338	if s.Batch != nil && len(*s.Batch) < 1 {
10339		invalidParams.Add(request.NewErrParamMinLen("Batch", 1))
10340	}
10341
10342	if invalidParams.Len() > 0 {
10343		return invalidParams
10344	}
10345	return nil
10346}
10347
10348// SetBatch sets the Batch field's value.
10349func (s *DescribeSimulationJobBatchInput) SetBatch(v string) *DescribeSimulationJobBatchInput {
10350	s.Batch = &v
10351	return s
10352}
10353
10354type DescribeSimulationJobBatchOutput struct {
10355	_ struct{} `type:"structure"`
10356
10357	// The Amazon Resource Name (ARN) of the batch.
10358	Arn *string `locationName:"arn" min:"1" type:"string"`
10359
10360	// The batch policy.
10361	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
10362
10363	// Unique, case-sensitive identifier that you provide to ensure the idempotency
10364	// of the request.
10365	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
10366
10367	// The time, in milliseconds since the epoch, when the simulation job batch
10368	// was created.
10369	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
10370
10371	// A list of created simulation job summaries.
10372	CreatedRequests []*SimulationJobSummary `locationName:"createdRequests" type:"list"`
10373
10374	// A list of failed create simulation job requests. The request failed to be
10375	// created into a simulation job. Failed requests do not have a simulation job
10376	// ID.
10377	FailedRequests []*FailedCreateSimulationJobRequest `locationName:"failedRequests" type:"list"`
10378
10379	// The failure code of the simulation job batch.
10380	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobBatchErrorCode"`
10381
10382	// The reason the simulation job batch failed.
10383	FailureReason *string `locationName:"failureReason" type:"string"`
10384
10385	// The time, in milliseconds since the epoch, when the simulation job batch
10386	// was last updated.
10387	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10388
10389	// A list of pending simulation job requests. These requests have not yet been
10390	// created into simulation jobs.
10391	PendingRequests []*SimulationJobRequest `locationName:"pendingRequests" min:"1" type:"list"`
10392
10393	// The status of the batch.
10394	//
10395	// Pending
10396	//
10397	// The simulation job batch request is pending.
10398	//
10399	// InProgress
10400	//
10401	// The simulation job batch is in progress.
10402	//
10403	// Failed
10404	//
10405	// The simulation job batch failed. One or more simulation job requests could
10406	// not be completed due to an internal failure (like InternalServiceError).
10407	// See failureCode and failureReason for more information.
10408	//
10409	// Completed
10410	//
10411	// The simulation batch job completed. A batch is complete when (1) there are
10412	// no pending simulation job requests in the batch and none of the failed simulation
10413	// job requests are due to InternalServiceError and (2) when all created simulation
10414	// jobs have reached a terminal state (for example, Completed or Failed).
10415	//
10416	// Canceled
10417	//
10418	// The simulation batch job was cancelled.
10419	//
10420	// Canceling
10421	//
10422	// The simulation batch job is being cancelled.
10423	//
10424	// Completing
10425	//
10426	// The simulation batch job is completing.
10427	//
10428	// TimingOut
10429	//
10430	// The simulation job batch is timing out.
10431	//
10432	// If a batch timing out, and there are pending requests that were failing due
10433	// to an internal failure (like InternalServiceError), the batch status will
10434	// be Failed. If there are no such failing request, the batch status will be
10435	// TimedOut.
10436	//
10437	// TimedOut
10438	//
10439	// The simulation batch job timed out.
10440	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
10441
10442	// A map that contains tag keys and tag values that are attached to the simulation
10443	// job batch.
10444	Tags map[string]*string `locationName:"tags" type:"map"`
10445}
10446
10447// String returns the string representation
10448func (s DescribeSimulationJobBatchOutput) String() string {
10449	return awsutil.Prettify(s)
10450}
10451
10452// GoString returns the string representation
10453func (s DescribeSimulationJobBatchOutput) GoString() string {
10454	return s.String()
10455}
10456
10457// SetArn sets the Arn field's value.
10458func (s *DescribeSimulationJobBatchOutput) SetArn(v string) *DescribeSimulationJobBatchOutput {
10459	s.Arn = &v
10460	return s
10461}
10462
10463// SetBatchPolicy sets the BatchPolicy field's value.
10464func (s *DescribeSimulationJobBatchOutput) SetBatchPolicy(v *BatchPolicy) *DescribeSimulationJobBatchOutput {
10465	s.BatchPolicy = v
10466	return s
10467}
10468
10469// SetClientRequestToken sets the ClientRequestToken field's value.
10470func (s *DescribeSimulationJobBatchOutput) SetClientRequestToken(v string) *DescribeSimulationJobBatchOutput {
10471	s.ClientRequestToken = &v
10472	return s
10473}
10474
10475// SetCreatedAt sets the CreatedAt field's value.
10476func (s *DescribeSimulationJobBatchOutput) SetCreatedAt(v time.Time) *DescribeSimulationJobBatchOutput {
10477	s.CreatedAt = &v
10478	return s
10479}
10480
10481// SetCreatedRequests sets the CreatedRequests field's value.
10482func (s *DescribeSimulationJobBatchOutput) SetCreatedRequests(v []*SimulationJobSummary) *DescribeSimulationJobBatchOutput {
10483	s.CreatedRequests = v
10484	return s
10485}
10486
10487// SetFailedRequests sets the FailedRequests field's value.
10488func (s *DescribeSimulationJobBatchOutput) SetFailedRequests(v []*FailedCreateSimulationJobRequest) *DescribeSimulationJobBatchOutput {
10489	s.FailedRequests = v
10490	return s
10491}
10492
10493// SetFailureCode sets the FailureCode field's value.
10494func (s *DescribeSimulationJobBatchOutput) SetFailureCode(v string) *DescribeSimulationJobBatchOutput {
10495	s.FailureCode = &v
10496	return s
10497}
10498
10499// SetFailureReason sets the FailureReason field's value.
10500func (s *DescribeSimulationJobBatchOutput) SetFailureReason(v string) *DescribeSimulationJobBatchOutput {
10501	s.FailureReason = &v
10502	return s
10503}
10504
10505// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10506func (s *DescribeSimulationJobBatchOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobBatchOutput {
10507	s.LastUpdatedAt = &v
10508	return s
10509}
10510
10511// SetPendingRequests sets the PendingRequests field's value.
10512func (s *DescribeSimulationJobBatchOutput) SetPendingRequests(v []*SimulationJobRequest) *DescribeSimulationJobBatchOutput {
10513	s.PendingRequests = v
10514	return s
10515}
10516
10517// SetStatus sets the Status field's value.
10518func (s *DescribeSimulationJobBatchOutput) SetStatus(v string) *DescribeSimulationJobBatchOutput {
10519	s.Status = &v
10520	return s
10521}
10522
10523// SetTags sets the Tags field's value.
10524func (s *DescribeSimulationJobBatchOutput) SetTags(v map[string]*string) *DescribeSimulationJobBatchOutput {
10525	s.Tags = v
10526	return s
10527}
10528
10529type DescribeSimulationJobInput struct {
10530	_ struct{} `type:"structure"`
10531
10532	// The Amazon Resource Name (ARN) of the simulation job to be described.
10533	//
10534	// Job is a required field
10535	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
10536}
10537
10538// String returns the string representation
10539func (s DescribeSimulationJobInput) String() string {
10540	return awsutil.Prettify(s)
10541}
10542
10543// GoString returns the string representation
10544func (s DescribeSimulationJobInput) GoString() string {
10545	return s.String()
10546}
10547
10548// Validate inspects the fields of the type to determine if they are valid.
10549func (s *DescribeSimulationJobInput) Validate() error {
10550	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobInput"}
10551	if s.Job == nil {
10552		invalidParams.Add(request.NewErrParamRequired("Job"))
10553	}
10554	if s.Job != nil && len(*s.Job) < 1 {
10555		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
10556	}
10557
10558	if invalidParams.Len() > 0 {
10559		return invalidParams
10560	}
10561	return nil
10562}
10563
10564// SetJob sets the Job field's value.
10565func (s *DescribeSimulationJobInput) SetJob(v string) *DescribeSimulationJobInput {
10566	s.Job = &v
10567	return s
10568}
10569
10570type DescribeSimulationJobOutput struct {
10571	_ struct{} `type:"structure"`
10572
10573	// The Amazon Resource Name (ARN) of the simulation job.
10574	Arn *string `locationName:"arn" min:"1" type:"string"`
10575
10576	// Unique, case-sensitive identifier that you provide to ensure the idempotency
10577	// of the request.
10578	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
10579
10580	// Compute information for the simulation job.
10581	Compute *ComputeResponse `locationName:"compute" type:"structure"`
10582
10583	// The data sources for the simulation job.
10584	DataSources []*DataSource `locationName:"dataSources" type:"list"`
10585
10586	// The failure behavior for the simulation job.
10587	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
10588
10589	// The failure code of the simulation job if it failed:
10590	//
10591	// InternalServiceError
10592	//
10593	// Internal service error.
10594	//
10595	// RobotApplicationCrash
10596	//
10597	// Robot application exited abnormally.
10598	//
10599	// SimulationApplicationCrash
10600	//
10601	// Simulation application exited abnormally.
10602	//
10603	// BadPermissionsRobotApplication
10604	//
10605	// Robot application bundle could not be downloaded.
10606	//
10607	// BadPermissionsSimulationApplication
10608	//
10609	// Simulation application bundle could not be downloaded.
10610	//
10611	// BadPermissionsS3Output
10612	//
10613	// Unable to publish outputs to customer-provided S3 bucket.
10614	//
10615	// BadPermissionsCloudwatchLogs
10616	//
10617	// Unable to publish logs to customer-provided CloudWatch Logs resource.
10618	//
10619	// SubnetIpLimitExceeded
10620	//
10621	// Subnet IP limit exceeded.
10622	//
10623	// ENILimitExceeded
10624	//
10625	// ENI limit exceeded.
10626	//
10627	// BadPermissionsUserCredentials
10628	//
10629	// Unable to use the Role provided.
10630	//
10631	// InvalidBundleRobotApplication
10632	//
10633	// Robot bundle cannot be extracted (invalid format, bundling error, or other
10634	// issue).
10635	//
10636	// InvalidBundleSimulationApplication
10637	//
10638	// Simulation bundle cannot be extracted (invalid format, bundling error, or
10639	// other issue).
10640	//
10641	// RobotApplicationVersionMismatchedEtag
10642	//
10643	// Etag for RobotApplication does not match value during version creation.
10644	//
10645	// SimulationApplicationVersionMismatchedEtag
10646	//
10647	// Etag for SimulationApplication does not match value during version creation.
10648	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
10649
10650	// Details about why the simulation job failed. For more information about troubleshooting,
10651	// see Troubleshooting (https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting.html).
10652	FailureReason *string `locationName:"failureReason" type:"string"`
10653
10654	// The IAM role that allows the simulation instance to call the AWS APIs that
10655	// are specified in its associated policies on your behalf.
10656	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
10657
10658	// The time, in milliseconds since the epoch, when the simulation job was last
10659	// started.
10660	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
10661
10662	// The time, in milliseconds since the epoch, when the simulation job was last
10663	// updated.
10664	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10665
10666	// The logging configuration.
10667	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
10668
10669	// The maximum job duration in seconds. The value must be 8 days (691,200 seconds)
10670	// or less.
10671	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
10672
10673	// The name of the simulation job.
10674	Name *string `locationName:"name" min:"1" type:"string"`
10675
10676	// The network interface information for the simulation job.
10677	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
10678
10679	// Location for output files generated by the simulation job.
10680	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
10681
10682	// A list of robot applications.
10683	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
10684
10685	// A list of simulation applications.
10686	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
10687
10688	// The simulation job execution duration in milliseconds.
10689	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
10690
10691	// The status of the simulation job.
10692	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
10693
10694	// The list of all tags added to the specified simulation job.
10695	Tags map[string]*string `locationName:"tags" type:"map"`
10696
10697	// The VPC configuration.
10698	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
10699}
10700
10701// String returns the string representation
10702func (s DescribeSimulationJobOutput) String() string {
10703	return awsutil.Prettify(s)
10704}
10705
10706// GoString returns the string representation
10707func (s DescribeSimulationJobOutput) GoString() string {
10708	return s.String()
10709}
10710
10711// SetArn sets the Arn field's value.
10712func (s *DescribeSimulationJobOutput) SetArn(v string) *DescribeSimulationJobOutput {
10713	s.Arn = &v
10714	return s
10715}
10716
10717// SetClientRequestToken sets the ClientRequestToken field's value.
10718func (s *DescribeSimulationJobOutput) SetClientRequestToken(v string) *DescribeSimulationJobOutput {
10719	s.ClientRequestToken = &v
10720	return s
10721}
10722
10723// SetCompute sets the Compute field's value.
10724func (s *DescribeSimulationJobOutput) SetCompute(v *ComputeResponse) *DescribeSimulationJobOutput {
10725	s.Compute = v
10726	return s
10727}
10728
10729// SetDataSources sets the DataSources field's value.
10730func (s *DescribeSimulationJobOutput) SetDataSources(v []*DataSource) *DescribeSimulationJobOutput {
10731	s.DataSources = v
10732	return s
10733}
10734
10735// SetFailureBehavior sets the FailureBehavior field's value.
10736func (s *DescribeSimulationJobOutput) SetFailureBehavior(v string) *DescribeSimulationJobOutput {
10737	s.FailureBehavior = &v
10738	return s
10739}
10740
10741// SetFailureCode sets the FailureCode field's value.
10742func (s *DescribeSimulationJobOutput) SetFailureCode(v string) *DescribeSimulationJobOutput {
10743	s.FailureCode = &v
10744	return s
10745}
10746
10747// SetFailureReason sets the FailureReason field's value.
10748func (s *DescribeSimulationJobOutput) SetFailureReason(v string) *DescribeSimulationJobOutput {
10749	s.FailureReason = &v
10750	return s
10751}
10752
10753// SetIamRole sets the IamRole field's value.
10754func (s *DescribeSimulationJobOutput) SetIamRole(v string) *DescribeSimulationJobOutput {
10755	s.IamRole = &v
10756	return s
10757}
10758
10759// SetLastStartedAt sets the LastStartedAt field's value.
10760func (s *DescribeSimulationJobOutput) SetLastStartedAt(v time.Time) *DescribeSimulationJobOutput {
10761	s.LastStartedAt = &v
10762	return s
10763}
10764
10765// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10766func (s *DescribeSimulationJobOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobOutput {
10767	s.LastUpdatedAt = &v
10768	return s
10769}
10770
10771// SetLoggingConfig sets the LoggingConfig field's value.
10772func (s *DescribeSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *DescribeSimulationJobOutput {
10773	s.LoggingConfig = v
10774	return s
10775}
10776
10777// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
10778func (s *DescribeSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *DescribeSimulationJobOutput {
10779	s.MaxJobDurationInSeconds = &v
10780	return s
10781}
10782
10783// SetName sets the Name field's value.
10784func (s *DescribeSimulationJobOutput) SetName(v string) *DescribeSimulationJobOutput {
10785	s.Name = &v
10786	return s
10787}
10788
10789// SetNetworkInterface sets the NetworkInterface field's value.
10790func (s *DescribeSimulationJobOutput) SetNetworkInterface(v *NetworkInterface) *DescribeSimulationJobOutput {
10791	s.NetworkInterface = v
10792	return s
10793}
10794
10795// SetOutputLocation sets the OutputLocation field's value.
10796func (s *DescribeSimulationJobOutput) SetOutputLocation(v *OutputLocation) *DescribeSimulationJobOutput {
10797	s.OutputLocation = v
10798	return s
10799}
10800
10801// SetRobotApplications sets the RobotApplications field's value.
10802func (s *DescribeSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *DescribeSimulationJobOutput {
10803	s.RobotApplications = v
10804	return s
10805}
10806
10807// SetSimulationApplications sets the SimulationApplications field's value.
10808func (s *DescribeSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *DescribeSimulationJobOutput {
10809	s.SimulationApplications = v
10810	return s
10811}
10812
10813// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
10814func (s *DescribeSimulationJobOutput) SetSimulationTimeMillis(v int64) *DescribeSimulationJobOutput {
10815	s.SimulationTimeMillis = &v
10816	return s
10817}
10818
10819// SetStatus sets the Status field's value.
10820func (s *DescribeSimulationJobOutput) SetStatus(v string) *DescribeSimulationJobOutput {
10821	s.Status = &v
10822	return s
10823}
10824
10825// SetTags sets the Tags field's value.
10826func (s *DescribeSimulationJobOutput) SetTags(v map[string]*string) *DescribeSimulationJobOutput {
10827	s.Tags = v
10828	return s
10829}
10830
10831// SetVpcConfig sets the VpcConfig field's value.
10832func (s *DescribeSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *DescribeSimulationJobOutput {
10833	s.VpcConfig = v
10834	return s
10835}
10836
10837type DescribeWorldExportJobInput struct {
10838	_ struct{} `type:"structure"`
10839
10840	// The Amazon Resource Name (arn) of the world export job to describe.
10841	//
10842	// Job is a required field
10843	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
10844}
10845
10846// String returns the string representation
10847func (s DescribeWorldExportJobInput) String() string {
10848	return awsutil.Prettify(s)
10849}
10850
10851// GoString returns the string representation
10852func (s DescribeWorldExportJobInput) GoString() string {
10853	return s.String()
10854}
10855
10856// Validate inspects the fields of the type to determine if they are valid.
10857func (s *DescribeWorldExportJobInput) Validate() error {
10858	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldExportJobInput"}
10859	if s.Job == nil {
10860		invalidParams.Add(request.NewErrParamRequired("Job"))
10861	}
10862	if s.Job != nil && len(*s.Job) < 1 {
10863		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
10864	}
10865
10866	if invalidParams.Len() > 0 {
10867		return invalidParams
10868	}
10869	return nil
10870}
10871
10872// SetJob sets the Job field's value.
10873func (s *DescribeWorldExportJobInput) SetJob(v string) *DescribeWorldExportJobInput {
10874	s.Job = &v
10875	return s
10876}
10877
10878type DescribeWorldExportJobOutput struct {
10879	_ struct{} `type:"structure"`
10880
10881	// The Amazon Resource Name (ARN) of the world export job.
10882	Arn *string `locationName:"arn" min:"1" type:"string"`
10883
10884	// Unique, case-sensitive identifier that you provide to ensure the idempotency
10885	// of the request.
10886	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
10887
10888	// The time, in milliseconds since the epoch, when the world export job was
10889	// created.
10890	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
10891
10892	// The failure code of the world export job if it failed:
10893	//
10894	// InternalServiceError
10895	//
10896	// Internal service error.
10897	//
10898	// LimitExceeded
10899	//
10900	// The requested resource exceeds the maximum number allowed, or the number
10901	// of concurrent stream requests exceeds the maximum number allowed.
10902	//
10903	// ResourceNotFound
10904	//
10905	// The specified resource could not be found.
10906	//
10907	// RequestThrottled
10908	//
10909	// The request was throttled.
10910	//
10911	// InvalidInput
10912	//
10913	// An input parameter in the request is not valid.
10914	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldExportJobErrorCode"`
10915
10916	// The reason why the world export job failed.
10917	FailureReason *string `locationName:"failureReason" type:"string"`
10918
10919	// The IAM role that the world export process uses to access the Amazon S3 bucket
10920	// and put the export.
10921	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
10922
10923	// The output location.
10924	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
10925
10926	// The status of the world export job.
10927	//
10928	// Pending
10929	//
10930	// The world export job request is pending.
10931	//
10932	// Running
10933	//
10934	// The world export job is running.
10935	//
10936	// Completed
10937	//
10938	// The world export job completed.
10939	//
10940	// Failed
10941	//
10942	// The world export job failed. See failureCode and failureReason for more information.
10943	//
10944	// Canceled
10945	//
10946	// The world export job was cancelled.
10947	//
10948	// Canceling
10949	//
10950	// The world export job is being cancelled.
10951	Status *string `locationName:"status" type:"string" enum:"WorldExportJobStatus"`
10952
10953	// A map that contains tag keys and tag values that are attached to the world
10954	// export job.
10955	Tags map[string]*string `locationName:"tags" type:"map"`
10956
10957	// A list of Amazon Resource Names (arns) that correspond to worlds to be exported.
10958	Worlds []*string `locationName:"worlds" min:"1" type:"list"`
10959}
10960
10961// String returns the string representation
10962func (s DescribeWorldExportJobOutput) String() string {
10963	return awsutil.Prettify(s)
10964}
10965
10966// GoString returns the string representation
10967func (s DescribeWorldExportJobOutput) GoString() string {
10968	return s.String()
10969}
10970
10971// SetArn sets the Arn field's value.
10972func (s *DescribeWorldExportJobOutput) SetArn(v string) *DescribeWorldExportJobOutput {
10973	s.Arn = &v
10974	return s
10975}
10976
10977// SetClientRequestToken sets the ClientRequestToken field's value.
10978func (s *DescribeWorldExportJobOutput) SetClientRequestToken(v string) *DescribeWorldExportJobOutput {
10979	s.ClientRequestToken = &v
10980	return s
10981}
10982
10983// SetCreatedAt sets the CreatedAt field's value.
10984func (s *DescribeWorldExportJobOutput) SetCreatedAt(v time.Time) *DescribeWorldExportJobOutput {
10985	s.CreatedAt = &v
10986	return s
10987}
10988
10989// SetFailureCode sets the FailureCode field's value.
10990func (s *DescribeWorldExportJobOutput) SetFailureCode(v string) *DescribeWorldExportJobOutput {
10991	s.FailureCode = &v
10992	return s
10993}
10994
10995// SetFailureReason sets the FailureReason field's value.
10996func (s *DescribeWorldExportJobOutput) SetFailureReason(v string) *DescribeWorldExportJobOutput {
10997	s.FailureReason = &v
10998	return s
10999}
11000
11001// SetIamRole sets the IamRole field's value.
11002func (s *DescribeWorldExportJobOutput) SetIamRole(v string) *DescribeWorldExportJobOutput {
11003	s.IamRole = &v
11004	return s
11005}
11006
11007// SetOutputLocation sets the OutputLocation field's value.
11008func (s *DescribeWorldExportJobOutput) SetOutputLocation(v *OutputLocation) *DescribeWorldExportJobOutput {
11009	s.OutputLocation = v
11010	return s
11011}
11012
11013// SetStatus sets the Status field's value.
11014func (s *DescribeWorldExportJobOutput) SetStatus(v string) *DescribeWorldExportJobOutput {
11015	s.Status = &v
11016	return s
11017}
11018
11019// SetTags sets the Tags field's value.
11020func (s *DescribeWorldExportJobOutput) SetTags(v map[string]*string) *DescribeWorldExportJobOutput {
11021	s.Tags = v
11022	return s
11023}
11024
11025// SetWorlds sets the Worlds field's value.
11026func (s *DescribeWorldExportJobOutput) SetWorlds(v []*string) *DescribeWorldExportJobOutput {
11027	s.Worlds = v
11028	return s
11029}
11030
11031type DescribeWorldGenerationJobInput struct {
11032	_ struct{} `type:"structure"`
11033
11034	// The Amazon Resource Name (arn) of the world generation job to describe.
11035	//
11036	// Job is a required field
11037	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
11038}
11039
11040// String returns the string representation
11041func (s DescribeWorldGenerationJobInput) String() string {
11042	return awsutil.Prettify(s)
11043}
11044
11045// GoString returns the string representation
11046func (s DescribeWorldGenerationJobInput) GoString() string {
11047	return s.String()
11048}
11049
11050// Validate inspects the fields of the type to determine if they are valid.
11051func (s *DescribeWorldGenerationJobInput) Validate() error {
11052	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldGenerationJobInput"}
11053	if s.Job == nil {
11054		invalidParams.Add(request.NewErrParamRequired("Job"))
11055	}
11056	if s.Job != nil && len(*s.Job) < 1 {
11057		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
11058	}
11059
11060	if invalidParams.Len() > 0 {
11061		return invalidParams
11062	}
11063	return nil
11064}
11065
11066// SetJob sets the Job field's value.
11067func (s *DescribeWorldGenerationJobInput) SetJob(v string) *DescribeWorldGenerationJobInput {
11068	s.Job = &v
11069	return s
11070}
11071
11072type DescribeWorldGenerationJobOutput struct {
11073	_ struct{} `type:"structure"`
11074
11075	// The Amazon Resource Name (ARN) of the world generation job.
11076	Arn *string `locationName:"arn" min:"1" type:"string"`
11077
11078	// Unique, case-sensitive identifier that you provide to ensure the idempotency
11079	// of the request.
11080	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
11081
11082	// The time, in milliseconds since the epoch, when the world generation job
11083	// was created.
11084	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11085
11086	// The failure code of the world generation job if it failed:
11087	//
11088	// InternalServiceError
11089	//
11090	// Internal service error.
11091	//
11092	// LimitExceeded
11093	//
11094	// The requested resource exceeds the maximum number allowed, or the number
11095	// of concurrent stream requests exceeds the maximum number allowed.
11096	//
11097	// ResourceNotFound
11098	//
11099	// The specified resource could not be found.
11100	//
11101	// RequestThrottled
11102	//
11103	// The request was throttled.
11104	//
11105	// InvalidInput
11106	//
11107	// An input parameter in the request is not valid.
11108	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldGenerationJobErrorCode"`
11109
11110	// The reason why the world generation job failed.
11111	FailureReason *string `locationName:"failureReason" type:"string"`
11112
11113	// Summary information about finished worlds.
11114	FinishedWorldsSummary *FinishedWorldsSummary `locationName:"finishedWorldsSummary" type:"structure"`
11115
11116	// The status of the world generation job:
11117	//
11118	// Pending
11119	//
11120	// The world generation job request is pending.
11121	//
11122	// Running
11123	//
11124	// The world generation job is running.
11125	//
11126	// Completed
11127	//
11128	// The world generation job completed.
11129	//
11130	// Failed
11131	//
11132	// The world generation job failed. See failureCode for more information.
11133	//
11134	// PartialFailed
11135	//
11136	// Some worlds did not generate.
11137	//
11138	// Canceled
11139	//
11140	// The world generation job was cancelled.
11141	//
11142	// Canceling
11143	//
11144	// The world generation job is being cancelled.
11145	Status *string `locationName:"status" type:"string" enum:"WorldGenerationJobStatus"`
11146
11147	// A map that contains tag keys and tag values that are attached to the world
11148	// generation job.
11149	Tags map[string]*string `locationName:"tags" type:"map"`
11150
11151	// The Amazon Resource Name (arn) of the world template.
11152	Template *string `locationName:"template" min:"1" type:"string"`
11153
11154	// Information about the world count.
11155	WorldCount *WorldCount `locationName:"worldCount" type:"structure"`
11156
11157	// A map that contains tag keys and tag values that are attached to the generated
11158	// worlds.
11159	WorldTags map[string]*string `locationName:"worldTags" type:"map"`
11160}
11161
11162// String returns the string representation
11163func (s DescribeWorldGenerationJobOutput) String() string {
11164	return awsutil.Prettify(s)
11165}
11166
11167// GoString returns the string representation
11168func (s DescribeWorldGenerationJobOutput) GoString() string {
11169	return s.String()
11170}
11171
11172// SetArn sets the Arn field's value.
11173func (s *DescribeWorldGenerationJobOutput) SetArn(v string) *DescribeWorldGenerationJobOutput {
11174	s.Arn = &v
11175	return s
11176}
11177
11178// SetClientRequestToken sets the ClientRequestToken field's value.
11179func (s *DescribeWorldGenerationJobOutput) SetClientRequestToken(v string) *DescribeWorldGenerationJobOutput {
11180	s.ClientRequestToken = &v
11181	return s
11182}
11183
11184// SetCreatedAt sets the CreatedAt field's value.
11185func (s *DescribeWorldGenerationJobOutput) SetCreatedAt(v time.Time) *DescribeWorldGenerationJobOutput {
11186	s.CreatedAt = &v
11187	return s
11188}
11189
11190// SetFailureCode sets the FailureCode field's value.
11191func (s *DescribeWorldGenerationJobOutput) SetFailureCode(v string) *DescribeWorldGenerationJobOutput {
11192	s.FailureCode = &v
11193	return s
11194}
11195
11196// SetFailureReason sets the FailureReason field's value.
11197func (s *DescribeWorldGenerationJobOutput) SetFailureReason(v string) *DescribeWorldGenerationJobOutput {
11198	s.FailureReason = &v
11199	return s
11200}
11201
11202// SetFinishedWorldsSummary sets the FinishedWorldsSummary field's value.
11203func (s *DescribeWorldGenerationJobOutput) SetFinishedWorldsSummary(v *FinishedWorldsSummary) *DescribeWorldGenerationJobOutput {
11204	s.FinishedWorldsSummary = v
11205	return s
11206}
11207
11208// SetStatus sets the Status field's value.
11209func (s *DescribeWorldGenerationJobOutput) SetStatus(v string) *DescribeWorldGenerationJobOutput {
11210	s.Status = &v
11211	return s
11212}
11213
11214// SetTags sets the Tags field's value.
11215func (s *DescribeWorldGenerationJobOutput) SetTags(v map[string]*string) *DescribeWorldGenerationJobOutput {
11216	s.Tags = v
11217	return s
11218}
11219
11220// SetTemplate sets the Template field's value.
11221func (s *DescribeWorldGenerationJobOutput) SetTemplate(v string) *DescribeWorldGenerationJobOutput {
11222	s.Template = &v
11223	return s
11224}
11225
11226// SetWorldCount sets the WorldCount field's value.
11227func (s *DescribeWorldGenerationJobOutput) SetWorldCount(v *WorldCount) *DescribeWorldGenerationJobOutput {
11228	s.WorldCount = v
11229	return s
11230}
11231
11232// SetWorldTags sets the WorldTags field's value.
11233func (s *DescribeWorldGenerationJobOutput) SetWorldTags(v map[string]*string) *DescribeWorldGenerationJobOutput {
11234	s.WorldTags = v
11235	return s
11236}
11237
11238type DescribeWorldInput struct {
11239	_ struct{} `type:"structure"`
11240
11241	// The Amazon Resource Name (arn) of the world you want to describe.
11242	//
11243	// World is a required field
11244	World *string `locationName:"world" min:"1" type:"string" required:"true"`
11245}
11246
11247// String returns the string representation
11248func (s DescribeWorldInput) String() string {
11249	return awsutil.Prettify(s)
11250}
11251
11252// GoString returns the string representation
11253func (s DescribeWorldInput) GoString() string {
11254	return s.String()
11255}
11256
11257// Validate inspects the fields of the type to determine if they are valid.
11258func (s *DescribeWorldInput) Validate() error {
11259	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldInput"}
11260	if s.World == nil {
11261		invalidParams.Add(request.NewErrParamRequired("World"))
11262	}
11263	if s.World != nil && len(*s.World) < 1 {
11264		invalidParams.Add(request.NewErrParamMinLen("World", 1))
11265	}
11266
11267	if invalidParams.Len() > 0 {
11268		return invalidParams
11269	}
11270	return nil
11271}
11272
11273// SetWorld sets the World field's value.
11274func (s *DescribeWorldInput) SetWorld(v string) *DescribeWorldInput {
11275	s.World = &v
11276	return s
11277}
11278
11279type DescribeWorldOutput struct {
11280	_ struct{} `type:"structure"`
11281
11282	// The Amazon Resource Name (arn) of the world.
11283	Arn *string `locationName:"arn" min:"1" type:"string"`
11284
11285	// The time, in milliseconds since the epoch, when the world was created.
11286	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11287
11288	// The Amazon Resource Name (arn) of the world generation job that generated
11289	// the world.
11290	GenerationJob *string `locationName:"generationJob" min:"1" type:"string"`
11291
11292	// A map that contains tag keys and tag values that are attached to the world.
11293	Tags map[string]*string `locationName:"tags" type:"map"`
11294
11295	// The world template.
11296	Template *string `locationName:"template" min:"1" type:"string"`
11297}
11298
11299// String returns the string representation
11300func (s DescribeWorldOutput) String() string {
11301	return awsutil.Prettify(s)
11302}
11303
11304// GoString returns the string representation
11305func (s DescribeWorldOutput) GoString() string {
11306	return s.String()
11307}
11308
11309// SetArn sets the Arn field's value.
11310func (s *DescribeWorldOutput) SetArn(v string) *DescribeWorldOutput {
11311	s.Arn = &v
11312	return s
11313}
11314
11315// SetCreatedAt sets the CreatedAt field's value.
11316func (s *DescribeWorldOutput) SetCreatedAt(v time.Time) *DescribeWorldOutput {
11317	s.CreatedAt = &v
11318	return s
11319}
11320
11321// SetGenerationJob sets the GenerationJob field's value.
11322func (s *DescribeWorldOutput) SetGenerationJob(v string) *DescribeWorldOutput {
11323	s.GenerationJob = &v
11324	return s
11325}
11326
11327// SetTags sets the Tags field's value.
11328func (s *DescribeWorldOutput) SetTags(v map[string]*string) *DescribeWorldOutput {
11329	s.Tags = v
11330	return s
11331}
11332
11333// SetTemplate sets the Template field's value.
11334func (s *DescribeWorldOutput) SetTemplate(v string) *DescribeWorldOutput {
11335	s.Template = &v
11336	return s
11337}
11338
11339type DescribeWorldTemplateInput struct {
11340	_ struct{} `type:"structure"`
11341
11342	// The Amazon Resource Name (arn) of the world template you want to describe.
11343	//
11344	// Template is a required field
11345	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
11346}
11347
11348// String returns the string representation
11349func (s DescribeWorldTemplateInput) String() string {
11350	return awsutil.Prettify(s)
11351}
11352
11353// GoString returns the string representation
11354func (s DescribeWorldTemplateInput) GoString() string {
11355	return s.String()
11356}
11357
11358// Validate inspects the fields of the type to determine if they are valid.
11359func (s *DescribeWorldTemplateInput) Validate() error {
11360	invalidParams := request.ErrInvalidParams{Context: "DescribeWorldTemplateInput"}
11361	if s.Template == nil {
11362		invalidParams.Add(request.NewErrParamRequired("Template"))
11363	}
11364	if s.Template != nil && len(*s.Template) < 1 {
11365		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
11366	}
11367
11368	if invalidParams.Len() > 0 {
11369		return invalidParams
11370	}
11371	return nil
11372}
11373
11374// SetTemplate sets the Template field's value.
11375func (s *DescribeWorldTemplateInput) SetTemplate(v string) *DescribeWorldTemplateInput {
11376	s.Template = &v
11377	return s
11378}
11379
11380type DescribeWorldTemplateOutput struct {
11381	_ struct{} `type:"structure"`
11382
11383	// The Amazon Resource Name (ARN) of the world template.
11384	Arn *string `locationName:"arn" min:"1" type:"string"`
11385
11386	// Unique, case-sensitive identifier that you provide to ensure the idempotency
11387	// of the request.
11388	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
11389
11390	// The time, in milliseconds since the epoch, when the world template was created.
11391	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11392
11393	// The time, in milliseconds since the epoch, when the world template was last
11394	// updated.
11395	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
11396
11397	// The name of the world template.
11398	Name *string `locationName:"name" type:"string"`
11399
11400	// A map that contains tag keys and tag values that are attached to the world
11401	// template.
11402	Tags map[string]*string `locationName:"tags" type:"map"`
11403}
11404
11405// String returns the string representation
11406func (s DescribeWorldTemplateOutput) String() string {
11407	return awsutil.Prettify(s)
11408}
11409
11410// GoString returns the string representation
11411func (s DescribeWorldTemplateOutput) GoString() string {
11412	return s.String()
11413}
11414
11415// SetArn sets the Arn field's value.
11416func (s *DescribeWorldTemplateOutput) SetArn(v string) *DescribeWorldTemplateOutput {
11417	s.Arn = &v
11418	return s
11419}
11420
11421// SetClientRequestToken sets the ClientRequestToken field's value.
11422func (s *DescribeWorldTemplateOutput) SetClientRequestToken(v string) *DescribeWorldTemplateOutput {
11423	s.ClientRequestToken = &v
11424	return s
11425}
11426
11427// SetCreatedAt sets the CreatedAt field's value.
11428func (s *DescribeWorldTemplateOutput) SetCreatedAt(v time.Time) *DescribeWorldTemplateOutput {
11429	s.CreatedAt = &v
11430	return s
11431}
11432
11433// SetLastUpdatedAt sets the LastUpdatedAt field's value.
11434func (s *DescribeWorldTemplateOutput) SetLastUpdatedAt(v time.Time) *DescribeWorldTemplateOutput {
11435	s.LastUpdatedAt = &v
11436	return s
11437}
11438
11439// SetName sets the Name field's value.
11440func (s *DescribeWorldTemplateOutput) SetName(v string) *DescribeWorldTemplateOutput {
11441	s.Name = &v
11442	return s
11443}
11444
11445// SetTags sets the Tags field's value.
11446func (s *DescribeWorldTemplateOutput) SetTags(v map[string]*string) *DescribeWorldTemplateOutput {
11447	s.Tags = v
11448	return s
11449}
11450
11451// Information about a failed create simulation job request.
11452type FailedCreateSimulationJobRequest struct {
11453	_ struct{} `type:"structure"`
11454
11455	// The time, in milliseconds since the epoch, when the simulation job batch
11456	// failed.
11457	FailedAt *time.Time `locationName:"failedAt" type:"timestamp"`
11458
11459	// The failure code.
11460	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
11461
11462	// The failure reason of the simulation job request.
11463	FailureReason *string `locationName:"failureReason" type:"string"`
11464
11465	// The simulation job request.
11466	Request *SimulationJobRequest `locationName:"request" type:"structure"`
11467}
11468
11469// String returns the string representation
11470func (s FailedCreateSimulationJobRequest) String() string {
11471	return awsutil.Prettify(s)
11472}
11473
11474// GoString returns the string representation
11475func (s FailedCreateSimulationJobRequest) GoString() string {
11476	return s.String()
11477}
11478
11479// SetFailedAt sets the FailedAt field's value.
11480func (s *FailedCreateSimulationJobRequest) SetFailedAt(v time.Time) *FailedCreateSimulationJobRequest {
11481	s.FailedAt = &v
11482	return s
11483}
11484
11485// SetFailureCode sets the FailureCode field's value.
11486func (s *FailedCreateSimulationJobRequest) SetFailureCode(v string) *FailedCreateSimulationJobRequest {
11487	s.FailureCode = &v
11488	return s
11489}
11490
11491// SetFailureReason sets the FailureReason field's value.
11492func (s *FailedCreateSimulationJobRequest) SetFailureReason(v string) *FailedCreateSimulationJobRequest {
11493	s.FailureReason = &v
11494	return s
11495}
11496
11497// SetRequest sets the Request field's value.
11498func (s *FailedCreateSimulationJobRequest) SetRequest(v *SimulationJobRequest) *FailedCreateSimulationJobRequest {
11499	s.Request = v
11500	return s
11501}
11502
11503// Information about worlds that failed.
11504type FailureSummary struct {
11505	_ struct{} `type:"structure"`
11506
11507	// The worlds that failed.
11508	Failures []*WorldFailure `locationName:"failures" type:"list"`
11509
11510	// The total number of failures.
11511	TotalFailureCount *int64 `locationName:"totalFailureCount" type:"integer"`
11512}
11513
11514// String returns the string representation
11515func (s FailureSummary) String() string {
11516	return awsutil.Prettify(s)
11517}
11518
11519// GoString returns the string representation
11520func (s FailureSummary) GoString() string {
11521	return s.String()
11522}
11523
11524// SetFailures sets the Failures field's value.
11525func (s *FailureSummary) SetFailures(v []*WorldFailure) *FailureSummary {
11526	s.Failures = v
11527	return s
11528}
11529
11530// SetTotalFailureCount sets the TotalFailureCount field's value.
11531func (s *FailureSummary) SetTotalFailureCount(v int64) *FailureSummary {
11532	s.TotalFailureCount = &v
11533	return s
11534}
11535
11536// Information about a filter.
11537type Filter struct {
11538	_ struct{} `type:"structure"`
11539
11540	// The name of the filter.
11541	Name *string `locationName:"name" min:"1" type:"string"`
11542
11543	// A list of values.
11544	Values []*string `locationName:"values" min:"1" type:"list"`
11545}
11546
11547// String returns the string representation
11548func (s Filter) String() string {
11549	return awsutil.Prettify(s)
11550}
11551
11552// GoString returns the string representation
11553func (s Filter) GoString() string {
11554	return s.String()
11555}
11556
11557// Validate inspects the fields of the type to determine if they are valid.
11558func (s *Filter) Validate() error {
11559	invalidParams := request.ErrInvalidParams{Context: "Filter"}
11560	if s.Name != nil && len(*s.Name) < 1 {
11561		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
11562	}
11563	if s.Values != nil && len(s.Values) < 1 {
11564		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
11565	}
11566
11567	if invalidParams.Len() > 0 {
11568		return invalidParams
11569	}
11570	return nil
11571}
11572
11573// SetName sets the Name field's value.
11574func (s *Filter) SetName(v string) *Filter {
11575	s.Name = &v
11576	return s
11577}
11578
11579// SetValues sets the Values field's value.
11580func (s *Filter) SetValues(v []*string) *Filter {
11581	s.Values = v
11582	return s
11583}
11584
11585// Information about worlds that finished.
11586type FinishedWorldsSummary struct {
11587	_ struct{} `type:"structure"`
11588
11589	// Information about worlds that failed.
11590	FailureSummary *FailureSummary `locationName:"failureSummary" type:"structure"`
11591
11592	// The total number of finished worlds.
11593	FinishedCount *int64 `locationName:"finishedCount" type:"integer"`
11594
11595	// A list of worlds that succeeded.
11596	SucceededWorlds []*string `locationName:"succeededWorlds" min:"1" type:"list"`
11597}
11598
11599// String returns the string representation
11600func (s FinishedWorldsSummary) String() string {
11601	return awsutil.Prettify(s)
11602}
11603
11604// GoString returns the string representation
11605func (s FinishedWorldsSummary) GoString() string {
11606	return s.String()
11607}
11608
11609// SetFailureSummary sets the FailureSummary field's value.
11610func (s *FinishedWorldsSummary) SetFailureSummary(v *FailureSummary) *FinishedWorldsSummary {
11611	s.FailureSummary = v
11612	return s
11613}
11614
11615// SetFinishedCount sets the FinishedCount field's value.
11616func (s *FinishedWorldsSummary) SetFinishedCount(v int64) *FinishedWorldsSummary {
11617	s.FinishedCount = &v
11618	return s
11619}
11620
11621// SetSucceededWorlds sets the SucceededWorlds field's value.
11622func (s *FinishedWorldsSummary) SetSucceededWorlds(v []*string) *FinishedWorldsSummary {
11623	s.SucceededWorlds = v
11624	return s
11625}
11626
11627// Information about a fleet.
11628type Fleet struct {
11629	_ struct{} `type:"structure"`
11630
11631	// The Amazon Resource Name (ARN) of the fleet.
11632	Arn *string `locationName:"arn" min:"1" type:"string"`
11633
11634	// The time, in milliseconds since the epoch, when the fleet was created.
11635	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11636
11637	// The Amazon Resource Name (ARN) of the last deployment job.
11638	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
11639
11640	// The status of the last fleet deployment.
11641	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
11642
11643	// The time of the last deployment.
11644	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
11645
11646	// The name of the fleet.
11647	Name *string `locationName:"name" min:"1" type:"string"`
11648}
11649
11650// String returns the string representation
11651func (s Fleet) String() string {
11652	return awsutil.Prettify(s)
11653}
11654
11655// GoString returns the string representation
11656func (s Fleet) GoString() string {
11657	return s.String()
11658}
11659
11660// SetArn sets the Arn field's value.
11661func (s *Fleet) SetArn(v string) *Fleet {
11662	s.Arn = &v
11663	return s
11664}
11665
11666// SetCreatedAt sets the CreatedAt field's value.
11667func (s *Fleet) SetCreatedAt(v time.Time) *Fleet {
11668	s.CreatedAt = &v
11669	return s
11670}
11671
11672// SetLastDeploymentJob sets the LastDeploymentJob field's value.
11673func (s *Fleet) SetLastDeploymentJob(v string) *Fleet {
11674	s.LastDeploymentJob = &v
11675	return s
11676}
11677
11678// SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
11679func (s *Fleet) SetLastDeploymentStatus(v string) *Fleet {
11680	s.LastDeploymentStatus = &v
11681	return s
11682}
11683
11684// SetLastDeploymentTime sets the LastDeploymentTime field's value.
11685func (s *Fleet) SetLastDeploymentTime(v time.Time) *Fleet {
11686	s.LastDeploymentTime = &v
11687	return s
11688}
11689
11690// SetName sets the Name field's value.
11691func (s *Fleet) SetName(v string) *Fleet {
11692	s.Name = &v
11693	return s
11694}
11695
11696type GetWorldTemplateBodyInput struct {
11697	_ struct{} `type:"structure"`
11698
11699	// The Amazon Resource Name (arn) of the world generator job.
11700	GenerationJob *string `locationName:"generationJob" min:"1" type:"string"`
11701
11702	// The Amazon Resource Name (arn) of the world template.
11703	Template *string `locationName:"template" min:"1" type:"string"`
11704}
11705
11706// String returns the string representation
11707func (s GetWorldTemplateBodyInput) String() string {
11708	return awsutil.Prettify(s)
11709}
11710
11711// GoString returns the string representation
11712func (s GetWorldTemplateBodyInput) GoString() string {
11713	return s.String()
11714}
11715
11716// Validate inspects the fields of the type to determine if they are valid.
11717func (s *GetWorldTemplateBodyInput) Validate() error {
11718	invalidParams := request.ErrInvalidParams{Context: "GetWorldTemplateBodyInput"}
11719	if s.GenerationJob != nil && len(*s.GenerationJob) < 1 {
11720		invalidParams.Add(request.NewErrParamMinLen("GenerationJob", 1))
11721	}
11722	if s.Template != nil && len(*s.Template) < 1 {
11723		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
11724	}
11725
11726	if invalidParams.Len() > 0 {
11727		return invalidParams
11728	}
11729	return nil
11730}
11731
11732// SetGenerationJob sets the GenerationJob field's value.
11733func (s *GetWorldTemplateBodyInput) SetGenerationJob(v string) *GetWorldTemplateBodyInput {
11734	s.GenerationJob = &v
11735	return s
11736}
11737
11738// SetTemplate sets the Template field's value.
11739func (s *GetWorldTemplateBodyInput) SetTemplate(v string) *GetWorldTemplateBodyInput {
11740	s.Template = &v
11741	return s
11742}
11743
11744type GetWorldTemplateBodyOutput struct {
11745	_ struct{} `type:"structure"`
11746
11747	// The world template body.
11748	TemplateBody *string `locationName:"templateBody" min:"1" type:"string"`
11749}
11750
11751// String returns the string representation
11752func (s GetWorldTemplateBodyOutput) String() string {
11753	return awsutil.Prettify(s)
11754}
11755
11756// GoString returns the string representation
11757func (s GetWorldTemplateBodyOutput) GoString() string {
11758	return s.String()
11759}
11760
11761// SetTemplateBody sets the TemplateBody field's value.
11762func (s *GetWorldTemplateBodyOutput) SetTemplateBody(v string) *GetWorldTemplateBodyOutput {
11763	s.TemplateBody = &v
11764	return s
11765}
11766
11767// The request uses the same client token as a previous, but non-identical request.
11768// Do not reuse a client token with different requests, unless the requests
11769// are identical.
11770type IdempotentParameterMismatchException struct {
11771	_            struct{}                  `type:"structure"`
11772	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11773
11774	Message_ *string `locationName:"message" type:"string"`
11775}
11776
11777// String returns the string representation
11778func (s IdempotentParameterMismatchException) String() string {
11779	return awsutil.Prettify(s)
11780}
11781
11782// GoString returns the string representation
11783func (s IdempotentParameterMismatchException) GoString() string {
11784	return s.String()
11785}
11786
11787func newErrorIdempotentParameterMismatchException(v protocol.ResponseMetadata) error {
11788	return &IdempotentParameterMismatchException{
11789		RespMetadata: v,
11790	}
11791}
11792
11793// Code returns the exception type name.
11794func (s *IdempotentParameterMismatchException) Code() string {
11795	return "IdempotentParameterMismatchException"
11796}
11797
11798// Message returns the exception's message.
11799func (s *IdempotentParameterMismatchException) Message() string {
11800	if s.Message_ != nil {
11801		return *s.Message_
11802	}
11803	return ""
11804}
11805
11806// OrigErr always returns nil, satisfies awserr.Error interface.
11807func (s *IdempotentParameterMismatchException) OrigErr() error {
11808	return nil
11809}
11810
11811func (s *IdempotentParameterMismatchException) Error() string {
11812	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11813}
11814
11815// Status code returns the HTTP status code for the request's response error.
11816func (s *IdempotentParameterMismatchException) StatusCode() int {
11817	return s.RespMetadata.StatusCode
11818}
11819
11820// RequestID returns the service's response RequestID for request.
11821func (s *IdempotentParameterMismatchException) RequestID() string {
11822	return s.RespMetadata.RequestID
11823}
11824
11825// AWS RoboMaker experienced a service issue. Try your call again.
11826type InternalServerException struct {
11827	_            struct{}                  `type:"structure"`
11828	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11829
11830	Message_ *string `locationName:"message" type:"string"`
11831}
11832
11833// String returns the string representation
11834func (s InternalServerException) String() string {
11835	return awsutil.Prettify(s)
11836}
11837
11838// GoString returns the string representation
11839func (s InternalServerException) GoString() string {
11840	return s.String()
11841}
11842
11843func newErrorInternalServerException(v protocol.ResponseMetadata) error {
11844	return &InternalServerException{
11845		RespMetadata: v,
11846	}
11847}
11848
11849// Code returns the exception type name.
11850func (s *InternalServerException) Code() string {
11851	return "InternalServerException"
11852}
11853
11854// Message returns the exception's message.
11855func (s *InternalServerException) Message() string {
11856	if s.Message_ != nil {
11857		return *s.Message_
11858	}
11859	return ""
11860}
11861
11862// OrigErr always returns nil, satisfies awserr.Error interface.
11863func (s *InternalServerException) OrigErr() error {
11864	return nil
11865}
11866
11867func (s *InternalServerException) Error() string {
11868	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11869}
11870
11871// Status code returns the HTTP status code for the request's response error.
11872func (s *InternalServerException) StatusCode() int {
11873	return s.RespMetadata.StatusCode
11874}
11875
11876// RequestID returns the service's response RequestID for request.
11877func (s *InternalServerException) RequestID() string {
11878	return s.RespMetadata.RequestID
11879}
11880
11881// A parameter specified in a request is not valid, is unsupported, or cannot
11882// be used. The returned message provides an explanation of the error value.
11883type InvalidParameterException struct {
11884	_            struct{}                  `type:"structure"`
11885	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11886
11887	Message_ *string `locationName:"message" type:"string"`
11888}
11889
11890// String returns the string representation
11891func (s InvalidParameterException) String() string {
11892	return awsutil.Prettify(s)
11893}
11894
11895// GoString returns the string representation
11896func (s InvalidParameterException) GoString() string {
11897	return s.String()
11898}
11899
11900func newErrorInvalidParameterException(v protocol.ResponseMetadata) error {
11901	return &InvalidParameterException{
11902		RespMetadata: v,
11903	}
11904}
11905
11906// Code returns the exception type name.
11907func (s *InvalidParameterException) Code() string {
11908	return "InvalidParameterException"
11909}
11910
11911// Message returns the exception's message.
11912func (s *InvalidParameterException) Message() string {
11913	if s.Message_ != nil {
11914		return *s.Message_
11915	}
11916	return ""
11917}
11918
11919// OrigErr always returns nil, satisfies awserr.Error interface.
11920func (s *InvalidParameterException) OrigErr() error {
11921	return nil
11922}
11923
11924func (s *InvalidParameterException) Error() string {
11925	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11926}
11927
11928// Status code returns the HTTP status code for the request's response error.
11929func (s *InvalidParameterException) StatusCode() int {
11930	return s.RespMetadata.StatusCode
11931}
11932
11933// RequestID returns the service's response RequestID for request.
11934func (s *InvalidParameterException) RequestID() string {
11935	return s.RespMetadata.RequestID
11936}
11937
11938// Information about a launch configuration.
11939type LaunchConfig struct {
11940	_ struct{} `type:"structure"`
11941
11942	// The environment variables for the application launch.
11943	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
11944
11945	// The launch file name.
11946	//
11947	// LaunchFile is a required field
11948	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
11949
11950	// The package name.
11951	//
11952	// PackageName is a required field
11953	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
11954
11955	// The port forwarding configuration.
11956	PortForwardingConfig *PortForwardingConfig `locationName:"portForwardingConfig" type:"structure"`
11957
11958	// Boolean indicating whether a streaming session will be configured for the
11959	// application. If True, AWS RoboMaker will configure a connection so you can
11960	// interact with your application as it is running in the simulation. You must
11961	// configure and launch the component. It must have a graphical user interface.
11962	StreamUI *bool `locationName:"streamUI" type:"boolean"`
11963}
11964
11965// String returns the string representation
11966func (s LaunchConfig) String() string {
11967	return awsutil.Prettify(s)
11968}
11969
11970// GoString returns the string representation
11971func (s LaunchConfig) GoString() string {
11972	return s.String()
11973}
11974
11975// Validate inspects the fields of the type to determine if they are valid.
11976func (s *LaunchConfig) Validate() error {
11977	invalidParams := request.ErrInvalidParams{Context: "LaunchConfig"}
11978	if s.LaunchFile == nil {
11979		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
11980	}
11981	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
11982		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
11983	}
11984	if s.PackageName == nil {
11985		invalidParams.Add(request.NewErrParamRequired("PackageName"))
11986	}
11987	if s.PackageName != nil && len(*s.PackageName) < 1 {
11988		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
11989	}
11990	if s.PortForwardingConfig != nil {
11991		if err := s.PortForwardingConfig.Validate(); err != nil {
11992			invalidParams.AddNested("PortForwardingConfig", err.(request.ErrInvalidParams))
11993		}
11994	}
11995
11996	if invalidParams.Len() > 0 {
11997		return invalidParams
11998	}
11999	return nil
12000}
12001
12002// SetEnvironmentVariables sets the EnvironmentVariables field's value.
12003func (s *LaunchConfig) SetEnvironmentVariables(v map[string]*string) *LaunchConfig {
12004	s.EnvironmentVariables = v
12005	return s
12006}
12007
12008// SetLaunchFile sets the LaunchFile field's value.
12009func (s *LaunchConfig) SetLaunchFile(v string) *LaunchConfig {
12010	s.LaunchFile = &v
12011	return s
12012}
12013
12014// SetPackageName sets the PackageName field's value.
12015func (s *LaunchConfig) SetPackageName(v string) *LaunchConfig {
12016	s.PackageName = &v
12017	return s
12018}
12019
12020// SetPortForwardingConfig sets the PortForwardingConfig field's value.
12021func (s *LaunchConfig) SetPortForwardingConfig(v *PortForwardingConfig) *LaunchConfig {
12022	s.PortForwardingConfig = v
12023	return s
12024}
12025
12026// SetStreamUI sets the StreamUI field's value.
12027func (s *LaunchConfig) SetStreamUI(v bool) *LaunchConfig {
12028	s.StreamUI = &v
12029	return s
12030}
12031
12032// The requested resource exceeds the maximum number allowed, or the number
12033// of concurrent stream requests exceeds the maximum number allowed.
12034type LimitExceededException struct {
12035	_            struct{}                  `type:"structure"`
12036	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
12037
12038	Message_ *string `locationName:"message" type:"string"`
12039}
12040
12041// String returns the string representation
12042func (s LimitExceededException) String() string {
12043	return awsutil.Prettify(s)
12044}
12045
12046// GoString returns the string representation
12047func (s LimitExceededException) GoString() string {
12048	return s.String()
12049}
12050
12051func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
12052	return &LimitExceededException{
12053		RespMetadata: v,
12054	}
12055}
12056
12057// Code returns the exception type name.
12058func (s *LimitExceededException) Code() string {
12059	return "LimitExceededException"
12060}
12061
12062// Message returns the exception's message.
12063func (s *LimitExceededException) Message() string {
12064	if s.Message_ != nil {
12065		return *s.Message_
12066	}
12067	return ""
12068}
12069
12070// OrigErr always returns nil, satisfies awserr.Error interface.
12071func (s *LimitExceededException) OrigErr() error {
12072	return nil
12073}
12074
12075func (s *LimitExceededException) Error() string {
12076	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
12077}
12078
12079// Status code returns the HTTP status code for the request's response error.
12080func (s *LimitExceededException) StatusCode() int {
12081	return s.RespMetadata.StatusCode
12082}
12083
12084// RequestID returns the service's response RequestID for request.
12085func (s *LimitExceededException) RequestID() string {
12086	return s.RespMetadata.RequestID
12087}
12088
12089type ListDeploymentJobsInput struct {
12090	_ struct{} `type:"structure"`
12091
12092	// Optional filters to limit results.
12093	//
12094	// The filter names status and fleetName are supported. When filtering, you
12095	// must use the complete value of the filtered item. You can use up to three
12096	// filters, but they must be for the same named item. For example, if you are
12097	// looking for items with the status InProgress or the status Pending.
12098	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12099
12100	// When this parameter is used, ListDeploymentJobs only returns maxResults results
12101	// in a single page along with a nextToken response element. The remaining results
12102	// of the initial request can be seen by sending another ListDeploymentJobs
12103	// request with the returned nextToken value. This value can be between 1 and
12104	// 200. If this parameter is not used, then ListDeploymentJobs returns up to
12105	// 200 results and a nextToken value if applicable.
12106	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12107
12108	// If the previous paginated request did not return all of the remaining results,
12109	// the response object's nextToken parameter value is set to a token. To retrieve
12110	// the next set of results, call ListDeploymentJobs again and assign that token
12111	// to the request object's nextToken parameter. If there are no remaining results,
12112	// the previous response object's NextToken parameter is set to null.
12113	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12114}
12115
12116// String returns the string representation
12117func (s ListDeploymentJobsInput) String() string {
12118	return awsutil.Prettify(s)
12119}
12120
12121// GoString returns the string representation
12122func (s ListDeploymentJobsInput) GoString() string {
12123	return s.String()
12124}
12125
12126// Validate inspects the fields of the type to determine if they are valid.
12127func (s *ListDeploymentJobsInput) Validate() error {
12128	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentJobsInput"}
12129	if s.Filters != nil && len(s.Filters) < 1 {
12130		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12131	}
12132	if s.NextToken != nil && len(*s.NextToken) < 1 {
12133		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12134	}
12135	if s.Filters != nil {
12136		for i, v := range s.Filters {
12137			if v == nil {
12138				continue
12139			}
12140			if err := v.Validate(); err != nil {
12141				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12142			}
12143		}
12144	}
12145
12146	if invalidParams.Len() > 0 {
12147		return invalidParams
12148	}
12149	return nil
12150}
12151
12152// SetFilters sets the Filters field's value.
12153func (s *ListDeploymentJobsInput) SetFilters(v []*Filter) *ListDeploymentJobsInput {
12154	s.Filters = v
12155	return s
12156}
12157
12158// SetMaxResults sets the MaxResults field's value.
12159func (s *ListDeploymentJobsInput) SetMaxResults(v int64) *ListDeploymentJobsInput {
12160	s.MaxResults = &v
12161	return s
12162}
12163
12164// SetNextToken sets the NextToken field's value.
12165func (s *ListDeploymentJobsInput) SetNextToken(v string) *ListDeploymentJobsInput {
12166	s.NextToken = &v
12167	return s
12168}
12169
12170type ListDeploymentJobsOutput struct {
12171	_ struct{} `type:"structure"`
12172
12173	// A list of deployment jobs that meet the criteria of the request.
12174	DeploymentJobs []*DeploymentJob `locationName:"deploymentJobs" type:"list"`
12175
12176	// If the previous paginated request did not return all of the remaining results,
12177	// the response object's nextToken parameter value is set to a token. To retrieve
12178	// the next set of results, call ListDeploymentJobs again and assign that token
12179	// to the request object's nextToken parameter. If there are no remaining results,
12180	// the previous response object's NextToken parameter is set to null.
12181	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12182}
12183
12184// String returns the string representation
12185func (s ListDeploymentJobsOutput) String() string {
12186	return awsutil.Prettify(s)
12187}
12188
12189// GoString returns the string representation
12190func (s ListDeploymentJobsOutput) GoString() string {
12191	return s.String()
12192}
12193
12194// SetDeploymentJobs sets the DeploymentJobs field's value.
12195func (s *ListDeploymentJobsOutput) SetDeploymentJobs(v []*DeploymentJob) *ListDeploymentJobsOutput {
12196	s.DeploymentJobs = v
12197	return s
12198}
12199
12200// SetNextToken sets the NextToken field's value.
12201func (s *ListDeploymentJobsOutput) SetNextToken(v string) *ListDeploymentJobsOutput {
12202	s.NextToken = &v
12203	return s
12204}
12205
12206type ListFleetsInput struct {
12207	_ struct{} `type:"structure"`
12208
12209	// Optional filters to limit results.
12210	//
12211	// The filter name name is supported. When filtering, you must use the complete
12212	// value of the filtered item. You can use up to three filters.
12213	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12214
12215	// When this parameter is used, ListFleets only returns maxResults results in
12216	// a single page along with a nextToken response element. The remaining results
12217	// of the initial request can be seen by sending another ListFleets request
12218	// with the returned nextToken value. This value can be between 1 and 200. If
12219	// this parameter is not used, then ListFleets returns up to 200 results and
12220	// a nextToken value if applicable.
12221	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12222
12223	// If the previous paginated request did not return all of the remaining results,
12224	// the response object's nextToken parameter value is set to a token. To retrieve
12225	// the next set of results, call ListFleets again and assign that token to the
12226	// request object's nextToken parameter. If there are no remaining results,
12227	// the previous response object's NextToken parameter is set to null.
12228	//
12229	// This token should be treated as an opaque identifier that is only used to
12230	// retrieve the next items in a list and not for other programmatic purposes.
12231	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12232}
12233
12234// String returns the string representation
12235func (s ListFleetsInput) String() string {
12236	return awsutil.Prettify(s)
12237}
12238
12239// GoString returns the string representation
12240func (s ListFleetsInput) GoString() string {
12241	return s.String()
12242}
12243
12244// Validate inspects the fields of the type to determine if they are valid.
12245func (s *ListFleetsInput) Validate() error {
12246	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
12247	if s.Filters != nil && len(s.Filters) < 1 {
12248		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12249	}
12250	if s.NextToken != nil && len(*s.NextToken) < 1 {
12251		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12252	}
12253	if s.Filters != nil {
12254		for i, v := range s.Filters {
12255			if v == nil {
12256				continue
12257			}
12258			if err := v.Validate(); err != nil {
12259				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12260			}
12261		}
12262	}
12263
12264	if invalidParams.Len() > 0 {
12265		return invalidParams
12266	}
12267	return nil
12268}
12269
12270// SetFilters sets the Filters field's value.
12271func (s *ListFleetsInput) SetFilters(v []*Filter) *ListFleetsInput {
12272	s.Filters = v
12273	return s
12274}
12275
12276// SetMaxResults sets the MaxResults field's value.
12277func (s *ListFleetsInput) SetMaxResults(v int64) *ListFleetsInput {
12278	s.MaxResults = &v
12279	return s
12280}
12281
12282// SetNextToken sets the NextToken field's value.
12283func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
12284	s.NextToken = &v
12285	return s
12286}
12287
12288type ListFleetsOutput struct {
12289	_ struct{} `type:"structure"`
12290
12291	// A list of fleet details meeting the request criteria.
12292	FleetDetails []*Fleet `locationName:"fleetDetails" type:"list"`
12293
12294	// If the previous paginated request did not return all of the remaining results,
12295	// the response object's nextToken parameter value is set to a token. To retrieve
12296	// the next set of results, call ListFleets again and assign that token to the
12297	// request object's nextToken parameter. If there are no remaining results,
12298	// the previous response object's NextToken parameter is set to null.
12299	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12300}
12301
12302// String returns the string representation
12303func (s ListFleetsOutput) String() string {
12304	return awsutil.Prettify(s)
12305}
12306
12307// GoString returns the string representation
12308func (s ListFleetsOutput) GoString() string {
12309	return s.String()
12310}
12311
12312// SetFleetDetails sets the FleetDetails field's value.
12313func (s *ListFleetsOutput) SetFleetDetails(v []*Fleet) *ListFleetsOutput {
12314	s.FleetDetails = v
12315	return s
12316}
12317
12318// SetNextToken sets the NextToken field's value.
12319func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
12320	s.NextToken = &v
12321	return s
12322}
12323
12324type ListRobotApplicationsInput struct {
12325	_ struct{} `type:"structure"`
12326
12327	// Optional filters to limit results.
12328	//
12329	// The filter name name is supported. When filtering, you must use the complete
12330	// value of the filtered item. You can use up to three filters.
12331	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12332
12333	// When this parameter is used, ListRobotApplications only returns maxResults
12334	// results in a single page along with a nextToken response element. The remaining
12335	// results of the initial request can be seen by sending another ListRobotApplications
12336	// request with the returned nextToken value. This value can be between 1 and
12337	// 100. If this parameter is not used, then ListRobotApplications returns up
12338	// to 100 results and a nextToken value if applicable.
12339	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12340
12341	// If the previous paginated request did not return all of the remaining results,
12342	// the response object's nextToken parameter value is set to a token. To retrieve
12343	// the next set of results, call ListRobotApplications again and assign that
12344	// token to the request object's nextToken parameter. If there are no remaining
12345	// results, the previous response object's NextToken parameter is set to null.
12346	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12347
12348	// The version qualifier of the robot application.
12349	VersionQualifier *string `locationName:"versionQualifier" min:"1" type:"string"`
12350}
12351
12352// String returns the string representation
12353func (s ListRobotApplicationsInput) String() string {
12354	return awsutil.Prettify(s)
12355}
12356
12357// GoString returns the string representation
12358func (s ListRobotApplicationsInput) GoString() string {
12359	return s.String()
12360}
12361
12362// Validate inspects the fields of the type to determine if they are valid.
12363func (s *ListRobotApplicationsInput) Validate() error {
12364	invalidParams := request.ErrInvalidParams{Context: "ListRobotApplicationsInput"}
12365	if s.Filters != nil && len(s.Filters) < 1 {
12366		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12367	}
12368	if s.NextToken != nil && len(*s.NextToken) < 1 {
12369		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12370	}
12371	if s.VersionQualifier != nil && len(*s.VersionQualifier) < 1 {
12372		invalidParams.Add(request.NewErrParamMinLen("VersionQualifier", 1))
12373	}
12374	if s.Filters != nil {
12375		for i, v := range s.Filters {
12376			if v == nil {
12377				continue
12378			}
12379			if err := v.Validate(); err != nil {
12380				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12381			}
12382		}
12383	}
12384
12385	if invalidParams.Len() > 0 {
12386		return invalidParams
12387	}
12388	return nil
12389}
12390
12391// SetFilters sets the Filters field's value.
12392func (s *ListRobotApplicationsInput) SetFilters(v []*Filter) *ListRobotApplicationsInput {
12393	s.Filters = v
12394	return s
12395}
12396
12397// SetMaxResults sets the MaxResults field's value.
12398func (s *ListRobotApplicationsInput) SetMaxResults(v int64) *ListRobotApplicationsInput {
12399	s.MaxResults = &v
12400	return s
12401}
12402
12403// SetNextToken sets the NextToken field's value.
12404func (s *ListRobotApplicationsInput) SetNextToken(v string) *ListRobotApplicationsInput {
12405	s.NextToken = &v
12406	return s
12407}
12408
12409// SetVersionQualifier sets the VersionQualifier field's value.
12410func (s *ListRobotApplicationsInput) SetVersionQualifier(v string) *ListRobotApplicationsInput {
12411	s.VersionQualifier = &v
12412	return s
12413}
12414
12415type ListRobotApplicationsOutput struct {
12416	_ struct{} `type:"structure"`
12417
12418	// If the previous paginated request did not return all of the remaining results,
12419	// the response object's nextToken parameter value is set to a token. To retrieve
12420	// the next set of results, call ListRobotApplications again and assign that
12421	// token to the request object's nextToken parameter. If there are no remaining
12422	// results, the previous response object's NextToken parameter is set to null.
12423	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12424
12425	// A list of robot application summaries that meet the criteria of the request.
12426	RobotApplicationSummaries []*RobotApplicationSummary `locationName:"robotApplicationSummaries" type:"list"`
12427}
12428
12429// String returns the string representation
12430func (s ListRobotApplicationsOutput) String() string {
12431	return awsutil.Prettify(s)
12432}
12433
12434// GoString returns the string representation
12435func (s ListRobotApplicationsOutput) GoString() string {
12436	return s.String()
12437}
12438
12439// SetNextToken sets the NextToken field's value.
12440func (s *ListRobotApplicationsOutput) SetNextToken(v string) *ListRobotApplicationsOutput {
12441	s.NextToken = &v
12442	return s
12443}
12444
12445// SetRobotApplicationSummaries sets the RobotApplicationSummaries field's value.
12446func (s *ListRobotApplicationsOutput) SetRobotApplicationSummaries(v []*RobotApplicationSummary) *ListRobotApplicationsOutput {
12447	s.RobotApplicationSummaries = v
12448	return s
12449}
12450
12451type ListRobotsInput struct {
12452	_ struct{} `type:"structure"`
12453
12454	// Optional filters to limit results.
12455	//
12456	// The filter names status and fleetName are supported. When filtering, you
12457	// must use the complete value of the filtered item. You can use up to three
12458	// filters, but they must be for the same named item. For example, if you are
12459	// looking for items with the status Registered or the status Available.
12460	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12461
12462	// When this parameter is used, ListRobots only returns maxResults results in
12463	// a single page along with a nextToken response element. The remaining results
12464	// of the initial request can be seen by sending another ListRobots request
12465	// with the returned nextToken value. This value can be between 1 and 200. If
12466	// this parameter is not used, then ListRobots returns up to 200 results and
12467	// a nextToken value if applicable.
12468	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12469
12470	// If the previous paginated request did not return all of the remaining results,
12471	// the response object's nextToken parameter value is set to a token. To retrieve
12472	// the next set of results, call ListRobots again and assign that token to the
12473	// request object's nextToken parameter. If there are no remaining results,
12474	// the previous response object's NextToken parameter is set to null.
12475	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12476}
12477
12478// String returns the string representation
12479func (s ListRobotsInput) String() string {
12480	return awsutil.Prettify(s)
12481}
12482
12483// GoString returns the string representation
12484func (s ListRobotsInput) GoString() string {
12485	return s.String()
12486}
12487
12488// Validate inspects the fields of the type to determine if they are valid.
12489func (s *ListRobotsInput) Validate() error {
12490	invalidParams := request.ErrInvalidParams{Context: "ListRobotsInput"}
12491	if s.Filters != nil && len(s.Filters) < 1 {
12492		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12493	}
12494	if s.NextToken != nil && len(*s.NextToken) < 1 {
12495		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12496	}
12497	if s.Filters != nil {
12498		for i, v := range s.Filters {
12499			if v == nil {
12500				continue
12501			}
12502			if err := v.Validate(); err != nil {
12503				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12504			}
12505		}
12506	}
12507
12508	if invalidParams.Len() > 0 {
12509		return invalidParams
12510	}
12511	return nil
12512}
12513
12514// SetFilters sets the Filters field's value.
12515func (s *ListRobotsInput) SetFilters(v []*Filter) *ListRobotsInput {
12516	s.Filters = v
12517	return s
12518}
12519
12520// SetMaxResults sets the MaxResults field's value.
12521func (s *ListRobotsInput) SetMaxResults(v int64) *ListRobotsInput {
12522	s.MaxResults = &v
12523	return s
12524}
12525
12526// SetNextToken sets the NextToken field's value.
12527func (s *ListRobotsInput) SetNextToken(v string) *ListRobotsInput {
12528	s.NextToken = &v
12529	return s
12530}
12531
12532type ListRobotsOutput struct {
12533	_ struct{} `type:"structure"`
12534
12535	// If the previous paginated request did not return all of the remaining results,
12536	// the response object's nextToken parameter value is set to a token. To retrieve
12537	// the next set of results, call ListRobots again and assign that token to the
12538	// request object's nextToken parameter. If there are no remaining results,
12539	// the previous response object's NextToken parameter is set to null.
12540	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12541
12542	// A list of robots that meet the criteria of the request.
12543	Robots []*Robot `locationName:"robots" type:"list"`
12544}
12545
12546// String returns the string representation
12547func (s ListRobotsOutput) String() string {
12548	return awsutil.Prettify(s)
12549}
12550
12551// GoString returns the string representation
12552func (s ListRobotsOutput) GoString() string {
12553	return s.String()
12554}
12555
12556// SetNextToken sets the NextToken field's value.
12557func (s *ListRobotsOutput) SetNextToken(v string) *ListRobotsOutput {
12558	s.NextToken = &v
12559	return s
12560}
12561
12562// SetRobots sets the Robots field's value.
12563func (s *ListRobotsOutput) SetRobots(v []*Robot) *ListRobotsOutput {
12564	s.Robots = v
12565	return s
12566}
12567
12568type ListSimulationApplicationsInput struct {
12569	_ struct{} `type:"structure"`
12570
12571	// Optional list of filters to limit results.
12572	//
12573	// The filter name name is supported. When filtering, you must use the complete
12574	// value of the filtered item. You can use up to three filters.
12575	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12576
12577	// When this parameter is used, ListSimulationApplications only returns maxResults
12578	// results in a single page along with a nextToken response element. The remaining
12579	// results of the initial request can be seen by sending another ListSimulationApplications
12580	// request with the returned nextToken value. This value can be between 1 and
12581	// 100. If this parameter is not used, then ListSimulationApplications returns
12582	// up to 100 results and a nextToken value if applicable.
12583	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12584
12585	// If the previous paginated request did not return all of the remaining results,
12586	// the response object's nextToken parameter value is set to a token. To retrieve
12587	// the next set of results, call ListSimulationApplications again and assign
12588	// that token to the request object's nextToken parameter. If there are no remaining
12589	// results, the previous response object's NextToken parameter is set to null.
12590	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12591
12592	// The version qualifier of the simulation application.
12593	VersionQualifier *string `locationName:"versionQualifier" min:"1" type:"string"`
12594}
12595
12596// String returns the string representation
12597func (s ListSimulationApplicationsInput) String() string {
12598	return awsutil.Prettify(s)
12599}
12600
12601// GoString returns the string representation
12602func (s ListSimulationApplicationsInput) GoString() string {
12603	return s.String()
12604}
12605
12606// Validate inspects the fields of the type to determine if they are valid.
12607func (s *ListSimulationApplicationsInput) Validate() error {
12608	invalidParams := request.ErrInvalidParams{Context: "ListSimulationApplicationsInput"}
12609	if s.Filters != nil && len(s.Filters) < 1 {
12610		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12611	}
12612	if s.NextToken != nil && len(*s.NextToken) < 1 {
12613		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12614	}
12615	if s.VersionQualifier != nil && len(*s.VersionQualifier) < 1 {
12616		invalidParams.Add(request.NewErrParamMinLen("VersionQualifier", 1))
12617	}
12618	if s.Filters != nil {
12619		for i, v := range s.Filters {
12620			if v == nil {
12621				continue
12622			}
12623			if err := v.Validate(); err != nil {
12624				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12625			}
12626		}
12627	}
12628
12629	if invalidParams.Len() > 0 {
12630		return invalidParams
12631	}
12632	return nil
12633}
12634
12635// SetFilters sets the Filters field's value.
12636func (s *ListSimulationApplicationsInput) SetFilters(v []*Filter) *ListSimulationApplicationsInput {
12637	s.Filters = v
12638	return s
12639}
12640
12641// SetMaxResults sets the MaxResults field's value.
12642func (s *ListSimulationApplicationsInput) SetMaxResults(v int64) *ListSimulationApplicationsInput {
12643	s.MaxResults = &v
12644	return s
12645}
12646
12647// SetNextToken sets the NextToken field's value.
12648func (s *ListSimulationApplicationsInput) SetNextToken(v string) *ListSimulationApplicationsInput {
12649	s.NextToken = &v
12650	return s
12651}
12652
12653// SetVersionQualifier sets the VersionQualifier field's value.
12654func (s *ListSimulationApplicationsInput) SetVersionQualifier(v string) *ListSimulationApplicationsInput {
12655	s.VersionQualifier = &v
12656	return s
12657}
12658
12659type ListSimulationApplicationsOutput struct {
12660	_ struct{} `type:"structure"`
12661
12662	// If the previous paginated request did not return all of the remaining results,
12663	// the response object's nextToken parameter value is set to a token. To retrieve
12664	// the next set of results, call ListSimulationApplications again and assign
12665	// that token to the request object's nextToken parameter. If there are no remaining
12666	// results, the previous response object's NextToken parameter is set to null.
12667	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12668
12669	// A list of simulation application summaries that meet the criteria of the
12670	// request.
12671	SimulationApplicationSummaries []*SimulationApplicationSummary `locationName:"simulationApplicationSummaries" type:"list"`
12672}
12673
12674// String returns the string representation
12675func (s ListSimulationApplicationsOutput) String() string {
12676	return awsutil.Prettify(s)
12677}
12678
12679// GoString returns the string representation
12680func (s ListSimulationApplicationsOutput) GoString() string {
12681	return s.String()
12682}
12683
12684// SetNextToken sets the NextToken field's value.
12685func (s *ListSimulationApplicationsOutput) SetNextToken(v string) *ListSimulationApplicationsOutput {
12686	s.NextToken = &v
12687	return s
12688}
12689
12690// SetSimulationApplicationSummaries sets the SimulationApplicationSummaries field's value.
12691func (s *ListSimulationApplicationsOutput) SetSimulationApplicationSummaries(v []*SimulationApplicationSummary) *ListSimulationApplicationsOutput {
12692	s.SimulationApplicationSummaries = v
12693	return s
12694}
12695
12696type ListSimulationJobBatchesInput struct {
12697	_ struct{} `type:"structure"`
12698
12699	// Optional filters to limit results.
12700	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12701
12702	// When this parameter is used, ListSimulationJobBatches only returns maxResults
12703	// results in a single page along with a nextToken response element. The remaining
12704	// results of the initial request can be seen by sending another ListSimulationJobBatches
12705	// request with the returned nextToken value.
12706	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12707
12708	// If the previous paginated request did not return all of the remaining results,
12709	// the response object's nextToken parameter value is set to a token. To retrieve
12710	// the next set of results, call ListSimulationJobBatches again and assign that
12711	// token to the request object's nextToken parameter. If there are no remaining
12712	// results, the previous response object's NextToken parameter is set to null.
12713	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12714}
12715
12716// String returns the string representation
12717func (s ListSimulationJobBatchesInput) String() string {
12718	return awsutil.Prettify(s)
12719}
12720
12721// GoString returns the string representation
12722func (s ListSimulationJobBatchesInput) GoString() string {
12723	return s.String()
12724}
12725
12726// Validate inspects the fields of the type to determine if they are valid.
12727func (s *ListSimulationJobBatchesInput) Validate() error {
12728	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobBatchesInput"}
12729	if s.Filters != nil && len(s.Filters) < 1 {
12730		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12731	}
12732	if s.NextToken != nil && len(*s.NextToken) < 1 {
12733		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12734	}
12735	if s.Filters != nil {
12736		for i, v := range s.Filters {
12737			if v == nil {
12738				continue
12739			}
12740			if err := v.Validate(); err != nil {
12741				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12742			}
12743		}
12744	}
12745
12746	if invalidParams.Len() > 0 {
12747		return invalidParams
12748	}
12749	return nil
12750}
12751
12752// SetFilters sets the Filters field's value.
12753func (s *ListSimulationJobBatchesInput) SetFilters(v []*Filter) *ListSimulationJobBatchesInput {
12754	s.Filters = v
12755	return s
12756}
12757
12758// SetMaxResults sets the MaxResults field's value.
12759func (s *ListSimulationJobBatchesInput) SetMaxResults(v int64) *ListSimulationJobBatchesInput {
12760	s.MaxResults = &v
12761	return s
12762}
12763
12764// SetNextToken sets the NextToken field's value.
12765func (s *ListSimulationJobBatchesInput) SetNextToken(v string) *ListSimulationJobBatchesInput {
12766	s.NextToken = &v
12767	return s
12768}
12769
12770type ListSimulationJobBatchesOutput struct {
12771	_ struct{} `type:"structure"`
12772
12773	// If the previous paginated request did not return all of the remaining results,
12774	// the response object's nextToken parameter value is set to a token. To retrieve
12775	// the next set of results, call ListSimulationJobBatches again and assign that
12776	// token to the request object's nextToken parameter. If there are no remaining
12777	// results, the previous response object's NextToken parameter is set to null.
12778	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12779
12780	// A list of simulation job batch summaries.
12781	SimulationJobBatchSummaries []*SimulationJobBatchSummary `locationName:"simulationJobBatchSummaries" type:"list"`
12782}
12783
12784// String returns the string representation
12785func (s ListSimulationJobBatchesOutput) String() string {
12786	return awsutil.Prettify(s)
12787}
12788
12789// GoString returns the string representation
12790func (s ListSimulationJobBatchesOutput) GoString() string {
12791	return s.String()
12792}
12793
12794// SetNextToken sets the NextToken field's value.
12795func (s *ListSimulationJobBatchesOutput) SetNextToken(v string) *ListSimulationJobBatchesOutput {
12796	s.NextToken = &v
12797	return s
12798}
12799
12800// SetSimulationJobBatchSummaries sets the SimulationJobBatchSummaries field's value.
12801func (s *ListSimulationJobBatchesOutput) SetSimulationJobBatchSummaries(v []*SimulationJobBatchSummary) *ListSimulationJobBatchesOutput {
12802	s.SimulationJobBatchSummaries = v
12803	return s
12804}
12805
12806type ListSimulationJobsInput struct {
12807	_ struct{} `type:"structure"`
12808
12809	// Optional filters to limit results.
12810	//
12811	// The filter names status and simulationApplicationName and robotApplicationName
12812	// are supported. When filtering, you must use the complete value of the filtered
12813	// item. You can use up to three filters, but they must be for the same named
12814	// item. For example, if you are looking for items with the status Preparing
12815	// or the status Running.
12816	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12817
12818	// When this parameter is used, ListSimulationJobs only returns maxResults results
12819	// in a single page along with a nextToken response element. The remaining results
12820	// of the initial request can be seen by sending another ListSimulationJobs
12821	// request with the returned nextToken value. This value can be between 1 and
12822	// 1000. If this parameter is not used, then ListSimulationJobs returns up to
12823	// 1000 results and a nextToken value if applicable.
12824	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12825
12826	// If the previous paginated request did not return all of the remaining results,
12827	// the response object's nextToken parameter value is set to a token. To retrieve
12828	// the next set of results, call ListSimulationJobs again and assign that token
12829	// to the request object's nextToken parameter. If there are no remaining results,
12830	// the previous response object's NextToken parameter is set to null.
12831	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12832}
12833
12834// String returns the string representation
12835func (s ListSimulationJobsInput) String() string {
12836	return awsutil.Prettify(s)
12837}
12838
12839// GoString returns the string representation
12840func (s ListSimulationJobsInput) GoString() string {
12841	return s.String()
12842}
12843
12844// Validate inspects the fields of the type to determine if they are valid.
12845func (s *ListSimulationJobsInput) Validate() error {
12846	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobsInput"}
12847	if s.Filters != nil && len(s.Filters) < 1 {
12848		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
12849	}
12850	if s.NextToken != nil && len(*s.NextToken) < 1 {
12851		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
12852	}
12853	if s.Filters != nil {
12854		for i, v := range s.Filters {
12855			if v == nil {
12856				continue
12857			}
12858			if err := v.Validate(); err != nil {
12859				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
12860			}
12861		}
12862	}
12863
12864	if invalidParams.Len() > 0 {
12865		return invalidParams
12866	}
12867	return nil
12868}
12869
12870// SetFilters sets the Filters field's value.
12871func (s *ListSimulationJobsInput) SetFilters(v []*Filter) *ListSimulationJobsInput {
12872	s.Filters = v
12873	return s
12874}
12875
12876// SetMaxResults sets the MaxResults field's value.
12877func (s *ListSimulationJobsInput) SetMaxResults(v int64) *ListSimulationJobsInput {
12878	s.MaxResults = &v
12879	return s
12880}
12881
12882// SetNextToken sets the NextToken field's value.
12883func (s *ListSimulationJobsInput) SetNextToken(v string) *ListSimulationJobsInput {
12884	s.NextToken = &v
12885	return s
12886}
12887
12888type ListSimulationJobsOutput struct {
12889	_ struct{} `type:"structure"`
12890
12891	// If the previous paginated request did not return all of the remaining results,
12892	// the response object's nextToken parameter value is set to a token. To retrieve
12893	// the next set of results, call ListSimulationJobs again and assign that token
12894	// to the request object's nextToken parameter. If there are no remaining results,
12895	// the previous response object's NextToken parameter is set to null.
12896	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
12897
12898	// A list of simulation job summaries that meet the criteria of the request.
12899	//
12900	// SimulationJobSummaries is a required field
12901	SimulationJobSummaries []*SimulationJobSummary `locationName:"simulationJobSummaries" type:"list" required:"true"`
12902}
12903
12904// String returns the string representation
12905func (s ListSimulationJobsOutput) String() string {
12906	return awsutil.Prettify(s)
12907}
12908
12909// GoString returns the string representation
12910func (s ListSimulationJobsOutput) GoString() string {
12911	return s.String()
12912}
12913
12914// SetNextToken sets the NextToken field's value.
12915func (s *ListSimulationJobsOutput) SetNextToken(v string) *ListSimulationJobsOutput {
12916	s.NextToken = &v
12917	return s
12918}
12919
12920// SetSimulationJobSummaries sets the SimulationJobSummaries field's value.
12921func (s *ListSimulationJobsOutput) SetSimulationJobSummaries(v []*SimulationJobSummary) *ListSimulationJobsOutput {
12922	s.SimulationJobSummaries = v
12923	return s
12924}
12925
12926type ListTagsForResourceInput struct {
12927	_ struct{} `type:"structure"`
12928
12929	// The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.
12930	//
12931	// ResourceArn is a required field
12932	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
12933}
12934
12935// String returns the string representation
12936func (s ListTagsForResourceInput) String() string {
12937	return awsutil.Prettify(s)
12938}
12939
12940// GoString returns the string representation
12941func (s ListTagsForResourceInput) GoString() string {
12942	return s.String()
12943}
12944
12945// Validate inspects the fields of the type to determine if they are valid.
12946func (s *ListTagsForResourceInput) Validate() error {
12947	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
12948	if s.ResourceArn == nil {
12949		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12950	}
12951	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12952		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12953	}
12954
12955	if invalidParams.Len() > 0 {
12956		return invalidParams
12957	}
12958	return nil
12959}
12960
12961// SetResourceArn sets the ResourceArn field's value.
12962func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
12963	s.ResourceArn = &v
12964	return s
12965}
12966
12967type ListTagsForResourceOutput struct {
12968	_ struct{} `type:"structure"`
12969
12970	// The list of all tags added to the specified resource.
12971	Tags map[string]*string `locationName:"tags" type:"map"`
12972}
12973
12974// String returns the string representation
12975func (s ListTagsForResourceOutput) String() string {
12976	return awsutil.Prettify(s)
12977}
12978
12979// GoString returns the string representation
12980func (s ListTagsForResourceOutput) GoString() string {
12981	return s.String()
12982}
12983
12984// SetTags sets the Tags field's value.
12985func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
12986	s.Tags = v
12987	return s
12988}
12989
12990type ListWorldExportJobsInput struct {
12991	_ struct{} `type:"structure"`
12992
12993	// Optional filters to limit results. You can use generationJobId and templateId.
12994	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
12995
12996	// When this parameter is used, ListWorldExportJobs only returns maxResults
12997	// results in a single page along with a nextToken response element. The remaining
12998	// results of the initial request can be seen by sending another ListWorldExportJobs
12999	// request with the returned nextToken value. This value can be between 1 and
13000	// 100. If this parameter is not used, then ListWorldExportJobs returns up to
13001	// 100 results and a nextToken value if applicable.
13002	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13003
13004	// If the previous paginated request did not return all of the remaining results,
13005	// the response object's nextToken parameter value is set to a token. To retrieve
13006	// the next set of results, call ListWorldExportJobs again and assign that token
13007	// to the request object's nextToken parameter. If there are no remaining results,
13008	// the previous response object's NextToken parameter is set to null.
13009	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13010}
13011
13012// String returns the string representation
13013func (s ListWorldExportJobsInput) String() string {
13014	return awsutil.Prettify(s)
13015}
13016
13017// GoString returns the string representation
13018func (s ListWorldExportJobsInput) GoString() string {
13019	return s.String()
13020}
13021
13022// Validate inspects the fields of the type to determine if they are valid.
13023func (s *ListWorldExportJobsInput) Validate() error {
13024	invalidParams := request.ErrInvalidParams{Context: "ListWorldExportJobsInput"}
13025	if s.Filters != nil && len(s.Filters) < 1 {
13026		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
13027	}
13028	if s.NextToken != nil && len(*s.NextToken) < 1 {
13029		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13030	}
13031	if s.Filters != nil {
13032		for i, v := range s.Filters {
13033			if v == nil {
13034				continue
13035			}
13036			if err := v.Validate(); err != nil {
13037				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13038			}
13039		}
13040	}
13041
13042	if invalidParams.Len() > 0 {
13043		return invalidParams
13044	}
13045	return nil
13046}
13047
13048// SetFilters sets the Filters field's value.
13049func (s *ListWorldExportJobsInput) SetFilters(v []*Filter) *ListWorldExportJobsInput {
13050	s.Filters = v
13051	return s
13052}
13053
13054// SetMaxResults sets the MaxResults field's value.
13055func (s *ListWorldExportJobsInput) SetMaxResults(v int64) *ListWorldExportJobsInput {
13056	s.MaxResults = &v
13057	return s
13058}
13059
13060// SetNextToken sets the NextToken field's value.
13061func (s *ListWorldExportJobsInput) SetNextToken(v string) *ListWorldExportJobsInput {
13062	s.NextToken = &v
13063	return s
13064}
13065
13066type ListWorldExportJobsOutput struct {
13067	_ struct{} `type:"structure"`
13068
13069	// If the previous paginated request did not return all of the remaining results,
13070	// the response object's nextToken parameter value is set to a token. To retrieve
13071	// the next set of results, call ListWorldExportJobsRequest again and assign
13072	// that token to the request object's nextToken parameter. If there are no remaining
13073	// results, the previous response object's NextToken parameter is set to null.
13074	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13075
13076	// Summary information for world export jobs.
13077	//
13078	// WorldExportJobSummaries is a required field
13079	WorldExportJobSummaries []*WorldExportJobSummary `locationName:"worldExportJobSummaries" type:"list" required:"true"`
13080}
13081
13082// String returns the string representation
13083func (s ListWorldExportJobsOutput) String() string {
13084	return awsutil.Prettify(s)
13085}
13086
13087// GoString returns the string representation
13088func (s ListWorldExportJobsOutput) GoString() string {
13089	return s.String()
13090}
13091
13092// SetNextToken sets the NextToken field's value.
13093func (s *ListWorldExportJobsOutput) SetNextToken(v string) *ListWorldExportJobsOutput {
13094	s.NextToken = &v
13095	return s
13096}
13097
13098// SetWorldExportJobSummaries sets the WorldExportJobSummaries field's value.
13099func (s *ListWorldExportJobsOutput) SetWorldExportJobSummaries(v []*WorldExportJobSummary) *ListWorldExportJobsOutput {
13100	s.WorldExportJobSummaries = v
13101	return s
13102}
13103
13104type ListWorldGenerationJobsInput struct {
13105	_ struct{} `type:"structure"`
13106
13107	// Optional filters to limit results. You can use status and templateId.
13108	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
13109
13110	// When this parameter is used, ListWorldGeneratorJobs only returns maxResults
13111	// results in a single page along with a nextToken response element. The remaining
13112	// results of the initial request can be seen by sending another ListWorldGeneratorJobs
13113	// request with the returned nextToken value. This value can be between 1 and
13114	// 100. If this parameter is not used, then ListWorldGeneratorJobs returns up
13115	// to 100 results and a nextToken value if applicable.
13116	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13117
13118	// If the previous paginated request did not return all of the remaining results,
13119	// the response object's nextToken parameter value is set to a token. To retrieve
13120	// the next set of results, call ListWorldGenerationJobsRequest again and assign
13121	// that token to the request object's nextToken parameter. If there are no remaining
13122	// results, the previous response object's NextToken parameter is set to null.
13123	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13124}
13125
13126// String returns the string representation
13127func (s ListWorldGenerationJobsInput) String() string {
13128	return awsutil.Prettify(s)
13129}
13130
13131// GoString returns the string representation
13132func (s ListWorldGenerationJobsInput) GoString() string {
13133	return s.String()
13134}
13135
13136// Validate inspects the fields of the type to determine if they are valid.
13137func (s *ListWorldGenerationJobsInput) Validate() error {
13138	invalidParams := request.ErrInvalidParams{Context: "ListWorldGenerationJobsInput"}
13139	if s.Filters != nil && len(s.Filters) < 1 {
13140		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
13141	}
13142	if s.NextToken != nil && len(*s.NextToken) < 1 {
13143		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13144	}
13145	if s.Filters != nil {
13146		for i, v := range s.Filters {
13147			if v == nil {
13148				continue
13149			}
13150			if err := v.Validate(); err != nil {
13151				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13152			}
13153		}
13154	}
13155
13156	if invalidParams.Len() > 0 {
13157		return invalidParams
13158	}
13159	return nil
13160}
13161
13162// SetFilters sets the Filters field's value.
13163func (s *ListWorldGenerationJobsInput) SetFilters(v []*Filter) *ListWorldGenerationJobsInput {
13164	s.Filters = v
13165	return s
13166}
13167
13168// SetMaxResults sets the MaxResults field's value.
13169func (s *ListWorldGenerationJobsInput) SetMaxResults(v int64) *ListWorldGenerationJobsInput {
13170	s.MaxResults = &v
13171	return s
13172}
13173
13174// SetNextToken sets the NextToken field's value.
13175func (s *ListWorldGenerationJobsInput) SetNextToken(v string) *ListWorldGenerationJobsInput {
13176	s.NextToken = &v
13177	return s
13178}
13179
13180type ListWorldGenerationJobsOutput struct {
13181	_ struct{} `type:"structure"`
13182
13183	// If the previous paginated request did not return all of the remaining results,
13184	// the response object's nextToken parameter value is set to a token. To retrieve
13185	// the next set of results, call ListWorldGeneratorJobsRequest again and assign
13186	// that token to the request object's nextToken parameter. If there are no remaining
13187	// results, the previous response object's NextToken parameter is set to null.
13188	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13189
13190	// Summary information for world generator jobs.
13191	//
13192	// WorldGenerationJobSummaries is a required field
13193	WorldGenerationJobSummaries []*WorldGenerationJobSummary `locationName:"worldGenerationJobSummaries" type:"list" required:"true"`
13194}
13195
13196// String returns the string representation
13197func (s ListWorldGenerationJobsOutput) String() string {
13198	return awsutil.Prettify(s)
13199}
13200
13201// GoString returns the string representation
13202func (s ListWorldGenerationJobsOutput) GoString() string {
13203	return s.String()
13204}
13205
13206// SetNextToken sets the NextToken field's value.
13207func (s *ListWorldGenerationJobsOutput) SetNextToken(v string) *ListWorldGenerationJobsOutput {
13208	s.NextToken = &v
13209	return s
13210}
13211
13212// SetWorldGenerationJobSummaries sets the WorldGenerationJobSummaries field's value.
13213func (s *ListWorldGenerationJobsOutput) SetWorldGenerationJobSummaries(v []*WorldGenerationJobSummary) *ListWorldGenerationJobsOutput {
13214	s.WorldGenerationJobSummaries = v
13215	return s
13216}
13217
13218type ListWorldTemplatesInput struct {
13219	_ struct{} `type:"structure"`
13220
13221	// When this parameter is used, ListWorldTemplates only returns maxResults results
13222	// in a single page along with a nextToken response element. The remaining results
13223	// of the initial request can be seen by sending another ListWorldTemplates
13224	// request with the returned nextToken value. This value can be between 1 and
13225	// 100. If this parameter is not used, then ListWorldTemplates returns up to
13226	// 100 results and a nextToken value if applicable.
13227	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13228
13229	// If the previous paginated request did not return all of the remaining results,
13230	// the response object's nextToken parameter value is set to a token. To retrieve
13231	// the next set of results, call ListWorldTemplates again and assign that token
13232	// to the request object's nextToken parameter. If there are no remaining results,
13233	// the previous response object's NextToken parameter is set to null.
13234	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13235}
13236
13237// String returns the string representation
13238func (s ListWorldTemplatesInput) String() string {
13239	return awsutil.Prettify(s)
13240}
13241
13242// GoString returns the string representation
13243func (s ListWorldTemplatesInput) GoString() string {
13244	return s.String()
13245}
13246
13247// Validate inspects the fields of the type to determine if they are valid.
13248func (s *ListWorldTemplatesInput) Validate() error {
13249	invalidParams := request.ErrInvalidParams{Context: "ListWorldTemplatesInput"}
13250	if s.NextToken != nil && len(*s.NextToken) < 1 {
13251		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13252	}
13253
13254	if invalidParams.Len() > 0 {
13255		return invalidParams
13256	}
13257	return nil
13258}
13259
13260// SetMaxResults sets the MaxResults field's value.
13261func (s *ListWorldTemplatesInput) SetMaxResults(v int64) *ListWorldTemplatesInput {
13262	s.MaxResults = &v
13263	return s
13264}
13265
13266// SetNextToken sets the NextToken field's value.
13267func (s *ListWorldTemplatesInput) SetNextToken(v string) *ListWorldTemplatesInput {
13268	s.NextToken = &v
13269	return s
13270}
13271
13272type ListWorldTemplatesOutput struct {
13273	_ struct{} `type:"structure"`
13274
13275	// If the previous paginated request did not return all of the remaining results,
13276	// the response object's nextToken parameter value is set to a token. To retrieve
13277	// the next set of results, call ListWorldTemplates again and assign that token
13278	// to the request object's nextToken parameter. If there are no remaining results,
13279	// the previous response object's NextToken parameter is set to null.
13280	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13281
13282	// Summary information for templates.
13283	TemplateSummaries []*TemplateSummary `locationName:"templateSummaries" type:"list"`
13284}
13285
13286// String returns the string representation
13287func (s ListWorldTemplatesOutput) String() string {
13288	return awsutil.Prettify(s)
13289}
13290
13291// GoString returns the string representation
13292func (s ListWorldTemplatesOutput) GoString() string {
13293	return s.String()
13294}
13295
13296// SetNextToken sets the NextToken field's value.
13297func (s *ListWorldTemplatesOutput) SetNextToken(v string) *ListWorldTemplatesOutput {
13298	s.NextToken = &v
13299	return s
13300}
13301
13302// SetTemplateSummaries sets the TemplateSummaries field's value.
13303func (s *ListWorldTemplatesOutput) SetTemplateSummaries(v []*TemplateSummary) *ListWorldTemplatesOutput {
13304	s.TemplateSummaries = v
13305	return s
13306}
13307
13308type ListWorldsInput struct {
13309	_ struct{} `type:"structure"`
13310
13311	// Optional filters to limit results. You can use status.
13312	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
13313
13314	// When this parameter is used, ListWorlds only returns maxResults results in
13315	// a single page along with a nextToken response element. The remaining results
13316	// of the initial request can be seen by sending another ListWorlds request
13317	// with the returned nextToken value. This value can be between 1 and 100. If
13318	// this parameter is not used, then ListWorlds returns up to 100 results and
13319	// a nextToken value if applicable.
13320	MaxResults *int64 `locationName:"maxResults" type:"integer"`
13321
13322	// If the previous paginated request did not return all of the remaining results,
13323	// the response object's nextToken parameter value is set to a token. To retrieve
13324	// the next set of results, call ListWorlds again and assign that token to the
13325	// request object's nextToken parameter. If there are no remaining results,
13326	// the previous response object's NextToken parameter is set to null.
13327	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13328}
13329
13330// String returns the string representation
13331func (s ListWorldsInput) String() string {
13332	return awsutil.Prettify(s)
13333}
13334
13335// GoString returns the string representation
13336func (s ListWorldsInput) GoString() string {
13337	return s.String()
13338}
13339
13340// Validate inspects the fields of the type to determine if they are valid.
13341func (s *ListWorldsInput) Validate() error {
13342	invalidParams := request.ErrInvalidParams{Context: "ListWorldsInput"}
13343	if s.Filters != nil && len(s.Filters) < 1 {
13344		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
13345	}
13346	if s.NextToken != nil && len(*s.NextToken) < 1 {
13347		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
13348	}
13349	if s.Filters != nil {
13350		for i, v := range s.Filters {
13351			if v == nil {
13352				continue
13353			}
13354			if err := v.Validate(); err != nil {
13355				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
13356			}
13357		}
13358	}
13359
13360	if invalidParams.Len() > 0 {
13361		return invalidParams
13362	}
13363	return nil
13364}
13365
13366// SetFilters sets the Filters field's value.
13367func (s *ListWorldsInput) SetFilters(v []*Filter) *ListWorldsInput {
13368	s.Filters = v
13369	return s
13370}
13371
13372// SetMaxResults sets the MaxResults field's value.
13373func (s *ListWorldsInput) SetMaxResults(v int64) *ListWorldsInput {
13374	s.MaxResults = &v
13375	return s
13376}
13377
13378// SetNextToken sets the NextToken field's value.
13379func (s *ListWorldsInput) SetNextToken(v string) *ListWorldsInput {
13380	s.NextToken = &v
13381	return s
13382}
13383
13384type ListWorldsOutput struct {
13385	_ struct{} `type:"structure"`
13386
13387	// If the previous paginated request did not return all of the remaining results,
13388	// the response object's nextToken parameter value is set to a token. To retrieve
13389	// the next set of results, call ListWorlds again and assign that token to the
13390	// request object's nextToken parameter. If there are no remaining results,
13391	// the previous response object's NextToken parameter is set to null.
13392	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
13393
13394	// Summary information for worlds.
13395	WorldSummaries []*WorldSummary `locationName:"worldSummaries" type:"list"`
13396}
13397
13398// String returns the string representation
13399func (s ListWorldsOutput) String() string {
13400	return awsutil.Prettify(s)
13401}
13402
13403// GoString returns the string representation
13404func (s ListWorldsOutput) GoString() string {
13405	return s.String()
13406}
13407
13408// SetNextToken sets the NextToken field's value.
13409func (s *ListWorldsOutput) SetNextToken(v string) *ListWorldsOutput {
13410	s.NextToken = &v
13411	return s
13412}
13413
13414// SetWorldSummaries sets the WorldSummaries field's value.
13415func (s *ListWorldsOutput) SetWorldSummaries(v []*WorldSummary) *ListWorldsOutput {
13416	s.WorldSummaries = v
13417	return s
13418}
13419
13420// The logging configuration.
13421type LoggingConfig struct {
13422	_ struct{} `type:"structure"`
13423
13424	// A boolean indicating whether to record all ROS topics.
13425	//
13426	// RecordAllRosTopics is a required field
13427	RecordAllRosTopics *bool `locationName:"recordAllRosTopics" type:"boolean" required:"true"`
13428}
13429
13430// String returns the string representation
13431func (s LoggingConfig) String() string {
13432	return awsutil.Prettify(s)
13433}
13434
13435// GoString returns the string representation
13436func (s LoggingConfig) GoString() string {
13437	return s.String()
13438}
13439
13440// Validate inspects the fields of the type to determine if they are valid.
13441func (s *LoggingConfig) Validate() error {
13442	invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"}
13443	if s.RecordAllRosTopics == nil {
13444		invalidParams.Add(request.NewErrParamRequired("RecordAllRosTopics"))
13445	}
13446
13447	if invalidParams.Len() > 0 {
13448		return invalidParams
13449	}
13450	return nil
13451}
13452
13453// SetRecordAllRosTopics sets the RecordAllRosTopics field's value.
13454func (s *LoggingConfig) SetRecordAllRosTopics(v bool) *LoggingConfig {
13455	s.RecordAllRosTopics = &v
13456	return s
13457}
13458
13459// Describes a network interface.
13460type NetworkInterface struct {
13461	_ struct{} `type:"structure"`
13462
13463	// The ID of the network interface.
13464	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
13465
13466	// The IPv4 address of the network interface within the subnet.
13467	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
13468
13469	// The IPv4 public address of the network interface.
13470	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
13471}
13472
13473// String returns the string representation
13474func (s NetworkInterface) String() string {
13475	return awsutil.Prettify(s)
13476}
13477
13478// GoString returns the string representation
13479func (s NetworkInterface) GoString() string {
13480	return s.String()
13481}
13482
13483// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
13484func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
13485	s.NetworkInterfaceId = &v
13486	return s
13487}
13488
13489// SetPrivateIpAddress sets the PrivateIpAddress field's value.
13490func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
13491	s.PrivateIpAddress = &v
13492	return s
13493}
13494
13495// SetPublicIpAddress sets the PublicIpAddress field's value.
13496func (s *NetworkInterface) SetPublicIpAddress(v string) *NetworkInterface {
13497	s.PublicIpAddress = &v
13498	return s
13499}
13500
13501// The output location.
13502type OutputLocation struct {
13503	_ struct{} `type:"structure"`
13504
13505	// The S3 bucket for output.
13506	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
13507
13508	// The S3 folder in the s3Bucket where output files will be placed.
13509	S3Prefix *string `locationName:"s3Prefix" min:"1" type:"string"`
13510}
13511
13512// String returns the string representation
13513func (s OutputLocation) String() string {
13514	return awsutil.Prettify(s)
13515}
13516
13517// GoString returns the string representation
13518func (s OutputLocation) GoString() string {
13519	return s.String()
13520}
13521
13522// Validate inspects the fields of the type to determine if they are valid.
13523func (s *OutputLocation) Validate() error {
13524	invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
13525	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
13526		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
13527	}
13528	if s.S3Prefix != nil && len(*s.S3Prefix) < 1 {
13529		invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1))
13530	}
13531
13532	if invalidParams.Len() > 0 {
13533		return invalidParams
13534	}
13535	return nil
13536}
13537
13538// SetS3Bucket sets the S3Bucket field's value.
13539func (s *OutputLocation) SetS3Bucket(v string) *OutputLocation {
13540	s.S3Bucket = &v
13541	return s
13542}
13543
13544// SetS3Prefix sets the S3Prefix field's value.
13545func (s *OutputLocation) SetS3Prefix(v string) *OutputLocation {
13546	s.S3Prefix = &v
13547	return s
13548}
13549
13550// Configuration information for port forwarding.
13551type PortForwardingConfig struct {
13552	_ struct{} `type:"structure"`
13553
13554	// The port mappings for the configuration.
13555	PortMappings []*PortMapping `locationName:"portMappings" type:"list"`
13556}
13557
13558// String returns the string representation
13559func (s PortForwardingConfig) String() string {
13560	return awsutil.Prettify(s)
13561}
13562
13563// GoString returns the string representation
13564func (s PortForwardingConfig) GoString() string {
13565	return s.String()
13566}
13567
13568// Validate inspects the fields of the type to determine if they are valid.
13569func (s *PortForwardingConfig) Validate() error {
13570	invalidParams := request.ErrInvalidParams{Context: "PortForwardingConfig"}
13571	if s.PortMappings != nil {
13572		for i, v := range s.PortMappings {
13573			if v == nil {
13574				continue
13575			}
13576			if err := v.Validate(); err != nil {
13577				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortMappings", i), err.(request.ErrInvalidParams))
13578			}
13579		}
13580	}
13581
13582	if invalidParams.Len() > 0 {
13583		return invalidParams
13584	}
13585	return nil
13586}
13587
13588// SetPortMappings sets the PortMappings field's value.
13589func (s *PortForwardingConfig) SetPortMappings(v []*PortMapping) *PortForwardingConfig {
13590	s.PortMappings = v
13591	return s
13592}
13593
13594// An object representing a port mapping.
13595type PortMapping struct {
13596	_ struct{} `type:"structure"`
13597
13598	// The port number on the application.
13599	//
13600	// ApplicationPort is a required field
13601	ApplicationPort *int64 `locationName:"applicationPort" min:"1024" type:"integer" required:"true"`
13602
13603	// A Boolean indicating whether to enable this port mapping on public IP.
13604	EnableOnPublicIp *bool `locationName:"enableOnPublicIp" type:"boolean"`
13605
13606	// The port number on the simulation job instance to use as a remote connection
13607	// point.
13608	//
13609	// JobPort is a required field
13610	JobPort *int64 `locationName:"jobPort" min:"1" type:"integer" required:"true"`
13611}
13612
13613// String returns the string representation
13614func (s PortMapping) String() string {
13615	return awsutil.Prettify(s)
13616}
13617
13618// GoString returns the string representation
13619func (s PortMapping) GoString() string {
13620	return s.String()
13621}
13622
13623// Validate inspects the fields of the type to determine if they are valid.
13624func (s *PortMapping) Validate() error {
13625	invalidParams := request.ErrInvalidParams{Context: "PortMapping"}
13626	if s.ApplicationPort == nil {
13627		invalidParams.Add(request.NewErrParamRequired("ApplicationPort"))
13628	}
13629	if s.ApplicationPort != nil && *s.ApplicationPort < 1024 {
13630		invalidParams.Add(request.NewErrParamMinValue("ApplicationPort", 1024))
13631	}
13632	if s.JobPort == nil {
13633		invalidParams.Add(request.NewErrParamRequired("JobPort"))
13634	}
13635	if s.JobPort != nil && *s.JobPort < 1 {
13636		invalidParams.Add(request.NewErrParamMinValue("JobPort", 1))
13637	}
13638
13639	if invalidParams.Len() > 0 {
13640		return invalidParams
13641	}
13642	return nil
13643}
13644
13645// SetApplicationPort sets the ApplicationPort field's value.
13646func (s *PortMapping) SetApplicationPort(v int64) *PortMapping {
13647	s.ApplicationPort = &v
13648	return s
13649}
13650
13651// SetEnableOnPublicIp sets the EnableOnPublicIp field's value.
13652func (s *PortMapping) SetEnableOnPublicIp(v bool) *PortMapping {
13653	s.EnableOnPublicIp = &v
13654	return s
13655}
13656
13657// SetJobPort sets the JobPort field's value.
13658func (s *PortMapping) SetJobPort(v int64) *PortMapping {
13659	s.JobPort = &v
13660	return s
13661}
13662
13663// Information about the progress of a deployment job.
13664type ProgressDetail struct {
13665	_ struct{} `type:"structure"`
13666
13667	// The current progress status.
13668	//
13669	// Validating
13670	//
13671	// Validating the deployment.
13672	//
13673	// DownloadingExtracting
13674	//
13675	// Downloading and extracting the bundle on the robot.
13676	//
13677	// ExecutingPreLaunch
13678	//
13679	// Executing pre-launch script(s) if provided.
13680	//
13681	// Launching
13682	//
13683	// Launching the robot application.
13684	//
13685	// ExecutingPostLaunch
13686	//
13687	// Executing post-launch script(s) if provided.
13688	//
13689	// Finished
13690	//
13691	// Deployment is complete.
13692	CurrentProgress *string `locationName:"currentProgress" type:"string" enum:"RobotDeploymentStep"`
13693
13694	// Estimated amount of time in seconds remaining in the step. This currently
13695	// only applies to the Downloading/Extracting step of the deployment. It is
13696	// empty for other steps.
13697	EstimatedTimeRemainingSeconds *int64 `locationName:"estimatedTimeRemainingSeconds" type:"integer"`
13698
13699	// Precentage of the step that is done. This currently only applies to the Downloading/Extracting
13700	// step of the deployment. It is empty for other steps.
13701	PercentDone *float64 `locationName:"percentDone" type:"float"`
13702
13703	// The Amazon Resource Name (ARN) of the deployment job.
13704	TargetResource *string `locationName:"targetResource" type:"string"`
13705}
13706
13707// String returns the string representation
13708func (s ProgressDetail) String() string {
13709	return awsutil.Prettify(s)
13710}
13711
13712// GoString returns the string representation
13713func (s ProgressDetail) GoString() string {
13714	return s.String()
13715}
13716
13717// SetCurrentProgress sets the CurrentProgress field's value.
13718func (s *ProgressDetail) SetCurrentProgress(v string) *ProgressDetail {
13719	s.CurrentProgress = &v
13720	return s
13721}
13722
13723// SetEstimatedTimeRemainingSeconds sets the EstimatedTimeRemainingSeconds field's value.
13724func (s *ProgressDetail) SetEstimatedTimeRemainingSeconds(v int64) *ProgressDetail {
13725	s.EstimatedTimeRemainingSeconds = &v
13726	return s
13727}
13728
13729// SetPercentDone sets the PercentDone field's value.
13730func (s *ProgressDetail) SetPercentDone(v float64) *ProgressDetail {
13731	s.PercentDone = &v
13732	return s
13733}
13734
13735// SetTargetResource sets the TargetResource field's value.
13736func (s *ProgressDetail) SetTargetResource(v string) *ProgressDetail {
13737	s.TargetResource = &v
13738	return s
13739}
13740
13741type RegisterRobotInput struct {
13742	_ struct{} `type:"structure"`
13743
13744	// The Amazon Resource Name (ARN) of the fleet.
13745	//
13746	// Fleet is a required field
13747	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
13748
13749	// The Amazon Resource Name (ARN) of the robot.
13750	//
13751	// Robot is a required field
13752	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
13753}
13754
13755// String returns the string representation
13756func (s RegisterRobotInput) String() string {
13757	return awsutil.Prettify(s)
13758}
13759
13760// GoString returns the string representation
13761func (s RegisterRobotInput) GoString() string {
13762	return s.String()
13763}
13764
13765// Validate inspects the fields of the type to determine if they are valid.
13766func (s *RegisterRobotInput) Validate() error {
13767	invalidParams := request.ErrInvalidParams{Context: "RegisterRobotInput"}
13768	if s.Fleet == nil {
13769		invalidParams.Add(request.NewErrParamRequired("Fleet"))
13770	}
13771	if s.Fleet != nil && len(*s.Fleet) < 1 {
13772		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
13773	}
13774	if s.Robot == nil {
13775		invalidParams.Add(request.NewErrParamRequired("Robot"))
13776	}
13777	if s.Robot != nil && len(*s.Robot) < 1 {
13778		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
13779	}
13780
13781	if invalidParams.Len() > 0 {
13782		return invalidParams
13783	}
13784	return nil
13785}
13786
13787// SetFleet sets the Fleet field's value.
13788func (s *RegisterRobotInput) SetFleet(v string) *RegisterRobotInput {
13789	s.Fleet = &v
13790	return s
13791}
13792
13793// SetRobot sets the Robot field's value.
13794func (s *RegisterRobotInput) SetRobot(v string) *RegisterRobotInput {
13795	s.Robot = &v
13796	return s
13797}
13798
13799type RegisterRobotOutput struct {
13800	_ struct{} `type:"structure"`
13801
13802	// The Amazon Resource Name (ARN) of the fleet that the robot will join.
13803	Fleet *string `locationName:"fleet" min:"1" type:"string"`
13804
13805	// Information about the robot registration.
13806	Robot *string `locationName:"robot" min:"1" type:"string"`
13807}
13808
13809// String returns the string representation
13810func (s RegisterRobotOutput) String() string {
13811	return awsutil.Prettify(s)
13812}
13813
13814// GoString returns the string representation
13815func (s RegisterRobotOutput) GoString() string {
13816	return s.String()
13817}
13818
13819// SetFleet sets the Fleet field's value.
13820func (s *RegisterRobotOutput) SetFleet(v string) *RegisterRobotOutput {
13821	s.Fleet = &v
13822	return s
13823}
13824
13825// SetRobot sets the Robot field's value.
13826func (s *RegisterRobotOutput) SetRobot(v string) *RegisterRobotOutput {
13827	s.Robot = &v
13828	return s
13829}
13830
13831// Information about a rendering engine.
13832type RenderingEngine struct {
13833	_ struct{} `type:"structure"`
13834
13835	// The name of the rendering engine.
13836	Name *string `locationName:"name" type:"string" enum:"RenderingEngineType"`
13837
13838	// The version of the rendering engine.
13839	Version *string `locationName:"version" min:"1" type:"string"`
13840}
13841
13842// String returns the string representation
13843func (s RenderingEngine) String() string {
13844	return awsutil.Prettify(s)
13845}
13846
13847// GoString returns the string representation
13848func (s RenderingEngine) GoString() string {
13849	return s.String()
13850}
13851
13852// Validate inspects the fields of the type to determine if they are valid.
13853func (s *RenderingEngine) Validate() error {
13854	invalidParams := request.ErrInvalidParams{Context: "RenderingEngine"}
13855	if s.Version != nil && len(*s.Version) < 1 {
13856		invalidParams.Add(request.NewErrParamMinLen("Version", 1))
13857	}
13858
13859	if invalidParams.Len() > 0 {
13860		return invalidParams
13861	}
13862	return nil
13863}
13864
13865// SetName sets the Name field's value.
13866func (s *RenderingEngine) SetName(v string) *RenderingEngine {
13867	s.Name = &v
13868	return s
13869}
13870
13871// SetVersion sets the Version field's value.
13872func (s *RenderingEngine) SetVersion(v string) *RenderingEngine {
13873	s.Version = &v
13874	return s
13875}
13876
13877// The specified resource already exists.
13878type ResourceAlreadyExistsException struct {
13879	_            struct{}                  `type:"structure"`
13880	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13881
13882	Message_ *string `locationName:"message" type:"string"`
13883}
13884
13885// String returns the string representation
13886func (s ResourceAlreadyExistsException) String() string {
13887	return awsutil.Prettify(s)
13888}
13889
13890// GoString returns the string representation
13891func (s ResourceAlreadyExistsException) GoString() string {
13892	return s.String()
13893}
13894
13895func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error {
13896	return &ResourceAlreadyExistsException{
13897		RespMetadata: v,
13898	}
13899}
13900
13901// Code returns the exception type name.
13902func (s *ResourceAlreadyExistsException) Code() string {
13903	return "ResourceAlreadyExistsException"
13904}
13905
13906// Message returns the exception's message.
13907func (s *ResourceAlreadyExistsException) Message() string {
13908	if s.Message_ != nil {
13909		return *s.Message_
13910	}
13911	return ""
13912}
13913
13914// OrigErr always returns nil, satisfies awserr.Error interface.
13915func (s *ResourceAlreadyExistsException) OrigErr() error {
13916	return nil
13917}
13918
13919func (s *ResourceAlreadyExistsException) Error() string {
13920	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13921}
13922
13923// Status code returns the HTTP status code for the request's response error.
13924func (s *ResourceAlreadyExistsException) StatusCode() int {
13925	return s.RespMetadata.StatusCode
13926}
13927
13928// RequestID returns the service's response RequestID for request.
13929func (s *ResourceAlreadyExistsException) RequestID() string {
13930	return s.RespMetadata.RequestID
13931}
13932
13933// The specified resource does not exist.
13934type ResourceNotFoundException struct {
13935	_            struct{}                  `type:"structure"`
13936	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13937
13938	Message_ *string `locationName:"message" type:"string"`
13939}
13940
13941// String returns the string representation
13942func (s ResourceNotFoundException) String() string {
13943	return awsutil.Prettify(s)
13944}
13945
13946// GoString returns the string representation
13947func (s ResourceNotFoundException) GoString() string {
13948	return s.String()
13949}
13950
13951func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
13952	return &ResourceNotFoundException{
13953		RespMetadata: v,
13954	}
13955}
13956
13957// Code returns the exception type name.
13958func (s *ResourceNotFoundException) Code() string {
13959	return "ResourceNotFoundException"
13960}
13961
13962// Message returns the exception's message.
13963func (s *ResourceNotFoundException) Message() string {
13964	if s.Message_ != nil {
13965		return *s.Message_
13966	}
13967	return ""
13968}
13969
13970// OrigErr always returns nil, satisfies awserr.Error interface.
13971func (s *ResourceNotFoundException) OrigErr() error {
13972	return nil
13973}
13974
13975func (s *ResourceNotFoundException) Error() string {
13976	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13977}
13978
13979// Status code returns the HTTP status code for the request's response error.
13980func (s *ResourceNotFoundException) StatusCode() int {
13981	return s.RespMetadata.StatusCode
13982}
13983
13984// RequestID returns the service's response RequestID for request.
13985func (s *ResourceNotFoundException) RequestID() string {
13986	return s.RespMetadata.RequestID
13987}
13988
13989type RestartSimulationJobInput struct {
13990	_ struct{} `type:"structure"`
13991
13992	// The Amazon Resource Name (ARN) of the simulation job.
13993	//
13994	// Job is a required field
13995	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
13996}
13997
13998// String returns the string representation
13999func (s RestartSimulationJobInput) String() string {
14000	return awsutil.Prettify(s)
14001}
14002
14003// GoString returns the string representation
14004func (s RestartSimulationJobInput) GoString() string {
14005	return s.String()
14006}
14007
14008// Validate inspects the fields of the type to determine if they are valid.
14009func (s *RestartSimulationJobInput) Validate() error {
14010	invalidParams := request.ErrInvalidParams{Context: "RestartSimulationJobInput"}
14011	if s.Job == nil {
14012		invalidParams.Add(request.NewErrParamRequired("Job"))
14013	}
14014	if s.Job != nil && len(*s.Job) < 1 {
14015		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
14016	}
14017
14018	if invalidParams.Len() > 0 {
14019		return invalidParams
14020	}
14021	return nil
14022}
14023
14024// SetJob sets the Job field's value.
14025func (s *RestartSimulationJobInput) SetJob(v string) *RestartSimulationJobInput {
14026	s.Job = &v
14027	return s
14028}
14029
14030type RestartSimulationJobOutput struct {
14031	_ struct{} `type:"structure"`
14032}
14033
14034// String returns the string representation
14035func (s RestartSimulationJobOutput) String() string {
14036	return awsutil.Prettify(s)
14037}
14038
14039// GoString returns the string representation
14040func (s RestartSimulationJobOutput) GoString() string {
14041	return s.String()
14042}
14043
14044// Information about a robot.
14045type Robot struct {
14046	_ struct{} `type:"structure"`
14047
14048	// The architecture of the robot.
14049	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
14050
14051	// The Amazon Resource Name (ARN) of the robot.
14052	Arn *string `locationName:"arn" min:"1" type:"string"`
14053
14054	// The time, in milliseconds since the epoch, when the robot was created.
14055	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
14056
14057	// The Amazon Resource Name (ARN) of the fleet.
14058	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
14059
14060	// The Greengrass group associated with the robot.
14061	GreenGrassGroupId *string `locationName:"greenGrassGroupId" min:"1" type:"string"`
14062
14063	// The Amazon Resource Name (ARN) of the last deployment job.
14064	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
14065
14066	// The time of the last deployment.
14067	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
14068
14069	// The name of the robot.
14070	Name *string `locationName:"name" min:"1" type:"string"`
14071
14072	// The status of the robot.
14073	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
14074}
14075
14076// String returns the string representation
14077func (s Robot) String() string {
14078	return awsutil.Prettify(s)
14079}
14080
14081// GoString returns the string representation
14082func (s Robot) GoString() string {
14083	return s.String()
14084}
14085
14086// SetArchitecture sets the Architecture field's value.
14087func (s *Robot) SetArchitecture(v string) *Robot {
14088	s.Architecture = &v
14089	return s
14090}
14091
14092// SetArn sets the Arn field's value.
14093func (s *Robot) SetArn(v string) *Robot {
14094	s.Arn = &v
14095	return s
14096}
14097
14098// SetCreatedAt sets the CreatedAt field's value.
14099func (s *Robot) SetCreatedAt(v time.Time) *Robot {
14100	s.CreatedAt = &v
14101	return s
14102}
14103
14104// SetFleetArn sets the FleetArn field's value.
14105func (s *Robot) SetFleetArn(v string) *Robot {
14106	s.FleetArn = &v
14107	return s
14108}
14109
14110// SetGreenGrassGroupId sets the GreenGrassGroupId field's value.
14111func (s *Robot) SetGreenGrassGroupId(v string) *Robot {
14112	s.GreenGrassGroupId = &v
14113	return s
14114}
14115
14116// SetLastDeploymentJob sets the LastDeploymentJob field's value.
14117func (s *Robot) SetLastDeploymentJob(v string) *Robot {
14118	s.LastDeploymentJob = &v
14119	return s
14120}
14121
14122// SetLastDeploymentTime sets the LastDeploymentTime field's value.
14123func (s *Robot) SetLastDeploymentTime(v time.Time) *Robot {
14124	s.LastDeploymentTime = &v
14125	return s
14126}
14127
14128// SetName sets the Name field's value.
14129func (s *Robot) SetName(v string) *Robot {
14130	s.Name = &v
14131	return s
14132}
14133
14134// SetStatus sets the Status field's value.
14135func (s *Robot) SetStatus(v string) *Robot {
14136	s.Status = &v
14137	return s
14138}
14139
14140// Application configuration information for a robot.
14141type RobotApplicationConfig struct {
14142	_ struct{} `type:"structure"`
14143
14144	// The application information for the robot application.
14145	//
14146	// Application is a required field
14147	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
14148
14149	// The version of the robot application.
14150	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
14151
14152	// The launch configuration for the robot application.
14153	//
14154	// LaunchConfig is a required field
14155	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
14156
14157	// The upload configurations for the robot application.
14158	UploadConfigurations []*UploadConfiguration `locationName:"uploadConfigurations" type:"list"`
14159
14160	// A Boolean indicating whether to use default upload configurations. By default,
14161	// .ros and .gazebo files are uploaded when the application terminates and all
14162	// ROS topics will be recorded.
14163	//
14164	// If you set this value, you must specify an outputLocation.
14165	UseDefaultUploadConfigurations *bool `locationName:"useDefaultUploadConfigurations" type:"boolean"`
14166}
14167
14168// String returns the string representation
14169func (s RobotApplicationConfig) String() string {
14170	return awsutil.Prettify(s)
14171}
14172
14173// GoString returns the string representation
14174func (s RobotApplicationConfig) GoString() string {
14175	return s.String()
14176}
14177
14178// Validate inspects the fields of the type to determine if they are valid.
14179func (s *RobotApplicationConfig) Validate() error {
14180	invalidParams := request.ErrInvalidParams{Context: "RobotApplicationConfig"}
14181	if s.Application == nil {
14182		invalidParams.Add(request.NewErrParamRequired("Application"))
14183	}
14184	if s.Application != nil && len(*s.Application) < 1 {
14185		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
14186	}
14187	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
14188		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
14189	}
14190	if s.LaunchConfig == nil {
14191		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
14192	}
14193	if s.LaunchConfig != nil {
14194		if err := s.LaunchConfig.Validate(); err != nil {
14195			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
14196		}
14197	}
14198	if s.UploadConfigurations != nil {
14199		for i, v := range s.UploadConfigurations {
14200			if v == nil {
14201				continue
14202			}
14203			if err := v.Validate(); err != nil {
14204				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UploadConfigurations", i), err.(request.ErrInvalidParams))
14205			}
14206		}
14207	}
14208
14209	if invalidParams.Len() > 0 {
14210		return invalidParams
14211	}
14212	return nil
14213}
14214
14215// SetApplication sets the Application field's value.
14216func (s *RobotApplicationConfig) SetApplication(v string) *RobotApplicationConfig {
14217	s.Application = &v
14218	return s
14219}
14220
14221// SetApplicationVersion sets the ApplicationVersion field's value.
14222func (s *RobotApplicationConfig) SetApplicationVersion(v string) *RobotApplicationConfig {
14223	s.ApplicationVersion = &v
14224	return s
14225}
14226
14227// SetLaunchConfig sets the LaunchConfig field's value.
14228func (s *RobotApplicationConfig) SetLaunchConfig(v *LaunchConfig) *RobotApplicationConfig {
14229	s.LaunchConfig = v
14230	return s
14231}
14232
14233// SetUploadConfigurations sets the UploadConfigurations field's value.
14234func (s *RobotApplicationConfig) SetUploadConfigurations(v []*UploadConfiguration) *RobotApplicationConfig {
14235	s.UploadConfigurations = v
14236	return s
14237}
14238
14239// SetUseDefaultUploadConfigurations sets the UseDefaultUploadConfigurations field's value.
14240func (s *RobotApplicationConfig) SetUseDefaultUploadConfigurations(v bool) *RobotApplicationConfig {
14241	s.UseDefaultUploadConfigurations = &v
14242	return s
14243}
14244
14245// Summary information for a robot application.
14246type RobotApplicationSummary struct {
14247	_ struct{} `type:"structure"`
14248
14249	// The Amazon Resource Name (ARN) of the robot.
14250	Arn *string `locationName:"arn" min:"1" type:"string"`
14251
14252	// The time, in milliseconds since the epoch, when the robot application was
14253	// last updated.
14254	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
14255
14256	// The name of the robot application.
14257	Name *string `locationName:"name" min:"1" type:"string"`
14258
14259	// Information about a robot software suite (ROS distribution).
14260	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
14261
14262	// The version of the robot application.
14263	Version *string `locationName:"version" min:"1" type:"string"`
14264}
14265
14266// String returns the string representation
14267func (s RobotApplicationSummary) String() string {
14268	return awsutil.Prettify(s)
14269}
14270
14271// GoString returns the string representation
14272func (s RobotApplicationSummary) GoString() string {
14273	return s.String()
14274}
14275
14276// SetArn sets the Arn field's value.
14277func (s *RobotApplicationSummary) SetArn(v string) *RobotApplicationSummary {
14278	s.Arn = &v
14279	return s
14280}
14281
14282// SetLastUpdatedAt sets the LastUpdatedAt field's value.
14283func (s *RobotApplicationSummary) SetLastUpdatedAt(v time.Time) *RobotApplicationSummary {
14284	s.LastUpdatedAt = &v
14285	return s
14286}
14287
14288// SetName sets the Name field's value.
14289func (s *RobotApplicationSummary) SetName(v string) *RobotApplicationSummary {
14290	s.Name = &v
14291	return s
14292}
14293
14294// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
14295func (s *RobotApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *RobotApplicationSummary {
14296	s.RobotSoftwareSuite = v
14297	return s
14298}
14299
14300// SetVersion sets the Version field's value.
14301func (s *RobotApplicationSummary) SetVersion(v string) *RobotApplicationSummary {
14302	s.Version = &v
14303	return s
14304}
14305
14306// Information about a robot deployment.
14307type RobotDeployment struct {
14308	_ struct{} `type:"structure"`
14309
14310	// The robot deployment Amazon Resource Name (ARN).
14311	Arn *string `locationName:"arn" min:"1" type:"string"`
14312
14313	// The time, in milliseconds since the epoch, when the deployment finished.
14314	DeploymentFinishTime *time.Time `locationName:"deploymentFinishTime" type:"timestamp"`
14315
14316	// The time, in milliseconds since the epoch, when the deployment was started.
14317	DeploymentStartTime *time.Time `locationName:"deploymentStartTime" type:"timestamp"`
14318
14319	// The robot deployment failure code.
14320	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
14321
14322	// A short description of the reason why the robot deployment failed.
14323	FailureReason *string `locationName:"failureReason" type:"string"`
14324
14325	// Information about how the deployment is progressing.
14326	ProgressDetail *ProgressDetail `locationName:"progressDetail" type:"structure"`
14327
14328	// The status of the robot deployment.
14329	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
14330}
14331
14332// String returns the string representation
14333func (s RobotDeployment) String() string {
14334	return awsutil.Prettify(s)
14335}
14336
14337// GoString returns the string representation
14338func (s RobotDeployment) GoString() string {
14339	return s.String()
14340}
14341
14342// SetArn sets the Arn field's value.
14343func (s *RobotDeployment) SetArn(v string) *RobotDeployment {
14344	s.Arn = &v
14345	return s
14346}
14347
14348// SetDeploymentFinishTime sets the DeploymentFinishTime field's value.
14349func (s *RobotDeployment) SetDeploymentFinishTime(v time.Time) *RobotDeployment {
14350	s.DeploymentFinishTime = &v
14351	return s
14352}
14353
14354// SetDeploymentStartTime sets the DeploymentStartTime field's value.
14355func (s *RobotDeployment) SetDeploymentStartTime(v time.Time) *RobotDeployment {
14356	s.DeploymentStartTime = &v
14357	return s
14358}
14359
14360// SetFailureCode sets the FailureCode field's value.
14361func (s *RobotDeployment) SetFailureCode(v string) *RobotDeployment {
14362	s.FailureCode = &v
14363	return s
14364}
14365
14366// SetFailureReason sets the FailureReason field's value.
14367func (s *RobotDeployment) SetFailureReason(v string) *RobotDeployment {
14368	s.FailureReason = &v
14369	return s
14370}
14371
14372// SetProgressDetail sets the ProgressDetail field's value.
14373func (s *RobotDeployment) SetProgressDetail(v *ProgressDetail) *RobotDeployment {
14374	s.ProgressDetail = v
14375	return s
14376}
14377
14378// SetStatus sets the Status field's value.
14379func (s *RobotDeployment) SetStatus(v string) *RobotDeployment {
14380	s.Status = &v
14381	return s
14382}
14383
14384// Information about a robot software suite (ROS distribution).
14385type RobotSoftwareSuite struct {
14386	_ struct{} `type:"structure"`
14387
14388	// The name of the robot software suite (ROS distribution).
14389	Name *string `locationName:"name" type:"string" enum:"RobotSoftwareSuiteType"`
14390
14391	// The version of the robot software suite (ROS distribution).
14392	Version *string `locationName:"version" type:"string" enum:"RobotSoftwareSuiteVersionType"`
14393}
14394
14395// String returns the string representation
14396func (s RobotSoftwareSuite) String() string {
14397	return awsutil.Prettify(s)
14398}
14399
14400// GoString returns the string representation
14401func (s RobotSoftwareSuite) GoString() string {
14402	return s.String()
14403}
14404
14405// SetName sets the Name field's value.
14406func (s *RobotSoftwareSuite) SetName(v string) *RobotSoftwareSuite {
14407	s.Name = &v
14408	return s
14409}
14410
14411// SetVersion sets the Version field's value.
14412func (s *RobotSoftwareSuite) SetVersion(v string) *RobotSoftwareSuite {
14413	s.Version = &v
14414	return s
14415}
14416
14417// Information about S3 keys.
14418type S3KeyOutput struct {
14419	_ struct{} `type:"structure"`
14420
14421	// The etag for the object.
14422	Etag *string `locationName:"etag" type:"string"`
14423
14424	// The S3 key.
14425	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
14426}
14427
14428// String returns the string representation
14429func (s S3KeyOutput) String() string {
14430	return awsutil.Prettify(s)
14431}
14432
14433// GoString returns the string representation
14434func (s S3KeyOutput) GoString() string {
14435	return s.String()
14436}
14437
14438// SetEtag sets the Etag field's value.
14439func (s *S3KeyOutput) SetEtag(v string) *S3KeyOutput {
14440	s.Etag = &v
14441	return s
14442}
14443
14444// SetS3Key sets the S3Key field's value.
14445func (s *S3KeyOutput) SetS3Key(v string) *S3KeyOutput {
14446	s.S3Key = &v
14447	return s
14448}
14449
14450// Information about an S3 object.
14451type S3Object struct {
14452	_ struct{} `type:"structure"`
14453
14454	// The bucket containing the object.
14455	//
14456	// Bucket is a required field
14457	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
14458
14459	// The etag of the object.
14460	Etag *string `locationName:"etag" type:"string"`
14461
14462	// The key of the object.
14463	//
14464	// Key is a required field
14465	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
14466}
14467
14468// String returns the string representation
14469func (s S3Object) String() string {
14470	return awsutil.Prettify(s)
14471}
14472
14473// GoString returns the string representation
14474func (s S3Object) GoString() string {
14475	return s.String()
14476}
14477
14478// Validate inspects the fields of the type to determine if they are valid.
14479func (s *S3Object) Validate() error {
14480	invalidParams := request.ErrInvalidParams{Context: "S3Object"}
14481	if s.Bucket == nil {
14482		invalidParams.Add(request.NewErrParamRequired("Bucket"))
14483	}
14484	if s.Bucket != nil && len(*s.Bucket) < 3 {
14485		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
14486	}
14487	if s.Key == nil {
14488		invalidParams.Add(request.NewErrParamRequired("Key"))
14489	}
14490	if s.Key != nil && len(*s.Key) < 1 {
14491		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
14492	}
14493
14494	if invalidParams.Len() > 0 {
14495		return invalidParams
14496	}
14497	return nil
14498}
14499
14500// SetBucket sets the Bucket field's value.
14501func (s *S3Object) SetBucket(v string) *S3Object {
14502	s.Bucket = &v
14503	return s
14504}
14505
14506// SetEtag sets the Etag field's value.
14507func (s *S3Object) SetEtag(v string) *S3Object {
14508	s.Etag = &v
14509	return s
14510}
14511
14512// SetKey sets the Key field's value.
14513func (s *S3Object) SetKey(v string) *S3Object {
14514	s.Key = &v
14515	return s
14516}
14517
14518// The request has failed due to a temporary failure of the server.
14519type ServiceUnavailableException struct {
14520	_            struct{}                  `type:"structure"`
14521	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14522
14523	Message_ *string `locationName:"message" type:"string"`
14524}
14525
14526// String returns the string representation
14527func (s ServiceUnavailableException) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation
14532func (s ServiceUnavailableException) GoString() string {
14533	return s.String()
14534}
14535
14536func newErrorServiceUnavailableException(v protocol.ResponseMetadata) error {
14537	return &ServiceUnavailableException{
14538		RespMetadata: v,
14539	}
14540}
14541
14542// Code returns the exception type name.
14543func (s *ServiceUnavailableException) Code() string {
14544	return "ServiceUnavailableException"
14545}
14546
14547// Message returns the exception's message.
14548func (s *ServiceUnavailableException) Message() string {
14549	if s.Message_ != nil {
14550		return *s.Message_
14551	}
14552	return ""
14553}
14554
14555// OrigErr always returns nil, satisfies awserr.Error interface.
14556func (s *ServiceUnavailableException) OrigErr() error {
14557	return nil
14558}
14559
14560func (s *ServiceUnavailableException) Error() string {
14561	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14562}
14563
14564// Status code returns the HTTP status code for the request's response error.
14565func (s *ServiceUnavailableException) StatusCode() int {
14566	return s.RespMetadata.StatusCode
14567}
14568
14569// RequestID returns the service's response RequestID for request.
14570func (s *ServiceUnavailableException) RequestID() string {
14571	return s.RespMetadata.RequestID
14572}
14573
14574// Information about a simulation application configuration.
14575type SimulationApplicationConfig struct {
14576	_ struct{} `type:"structure"`
14577
14578	// The application information for the simulation application.
14579	//
14580	// Application is a required field
14581	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
14582
14583	// The version of the simulation application.
14584	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
14585
14586	// The launch configuration for the simulation application.
14587	//
14588	// LaunchConfig is a required field
14589	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
14590
14591	// Information about upload configurations for the simulation application.
14592	UploadConfigurations []*UploadConfiguration `locationName:"uploadConfigurations" type:"list"`
14593
14594	// A Boolean indicating whether to use default upload configurations. By default,
14595	// .ros and .gazebo files are uploaded when the application terminates and all
14596	// ROS topics will be recorded.
14597	//
14598	// If you set this value, you must specify an outputLocation.
14599	UseDefaultUploadConfigurations *bool `locationName:"useDefaultUploadConfigurations" type:"boolean"`
14600
14601	// A list of world configurations.
14602	WorldConfigs []*WorldConfig `locationName:"worldConfigs" type:"list"`
14603}
14604
14605// String returns the string representation
14606func (s SimulationApplicationConfig) String() string {
14607	return awsutil.Prettify(s)
14608}
14609
14610// GoString returns the string representation
14611func (s SimulationApplicationConfig) GoString() string {
14612	return s.String()
14613}
14614
14615// Validate inspects the fields of the type to determine if they are valid.
14616func (s *SimulationApplicationConfig) Validate() error {
14617	invalidParams := request.ErrInvalidParams{Context: "SimulationApplicationConfig"}
14618	if s.Application == nil {
14619		invalidParams.Add(request.NewErrParamRequired("Application"))
14620	}
14621	if s.Application != nil && len(*s.Application) < 1 {
14622		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
14623	}
14624	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
14625		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
14626	}
14627	if s.LaunchConfig == nil {
14628		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
14629	}
14630	if s.LaunchConfig != nil {
14631		if err := s.LaunchConfig.Validate(); err != nil {
14632			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
14633		}
14634	}
14635	if s.UploadConfigurations != nil {
14636		for i, v := range s.UploadConfigurations {
14637			if v == nil {
14638				continue
14639			}
14640			if err := v.Validate(); err != nil {
14641				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UploadConfigurations", i), err.(request.ErrInvalidParams))
14642			}
14643		}
14644	}
14645	if s.WorldConfigs != nil {
14646		for i, v := range s.WorldConfigs {
14647			if v == nil {
14648				continue
14649			}
14650			if err := v.Validate(); err != nil {
14651				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WorldConfigs", i), err.(request.ErrInvalidParams))
14652			}
14653		}
14654	}
14655
14656	if invalidParams.Len() > 0 {
14657		return invalidParams
14658	}
14659	return nil
14660}
14661
14662// SetApplication sets the Application field's value.
14663func (s *SimulationApplicationConfig) SetApplication(v string) *SimulationApplicationConfig {
14664	s.Application = &v
14665	return s
14666}
14667
14668// SetApplicationVersion sets the ApplicationVersion field's value.
14669func (s *SimulationApplicationConfig) SetApplicationVersion(v string) *SimulationApplicationConfig {
14670	s.ApplicationVersion = &v
14671	return s
14672}
14673
14674// SetLaunchConfig sets the LaunchConfig field's value.
14675func (s *SimulationApplicationConfig) SetLaunchConfig(v *LaunchConfig) *SimulationApplicationConfig {
14676	s.LaunchConfig = v
14677	return s
14678}
14679
14680// SetUploadConfigurations sets the UploadConfigurations field's value.
14681func (s *SimulationApplicationConfig) SetUploadConfigurations(v []*UploadConfiguration) *SimulationApplicationConfig {
14682	s.UploadConfigurations = v
14683	return s
14684}
14685
14686// SetUseDefaultUploadConfigurations sets the UseDefaultUploadConfigurations field's value.
14687func (s *SimulationApplicationConfig) SetUseDefaultUploadConfigurations(v bool) *SimulationApplicationConfig {
14688	s.UseDefaultUploadConfigurations = &v
14689	return s
14690}
14691
14692// SetWorldConfigs sets the WorldConfigs field's value.
14693func (s *SimulationApplicationConfig) SetWorldConfigs(v []*WorldConfig) *SimulationApplicationConfig {
14694	s.WorldConfigs = v
14695	return s
14696}
14697
14698// Summary information for a simulation application.
14699type SimulationApplicationSummary struct {
14700	_ struct{} `type:"structure"`
14701
14702	// The Amazon Resource Name (ARN) of the simulation application.
14703	Arn *string `locationName:"arn" min:"1" type:"string"`
14704
14705	// The time, in milliseconds since the epoch, when the simulation application
14706	// was last updated.
14707	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
14708
14709	// The name of the simulation application.
14710	Name *string `locationName:"name" min:"1" type:"string"`
14711
14712	// Information about a robot software suite (ROS distribution).
14713	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
14714
14715	// Information about a simulation software suite.
14716	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
14717
14718	// The version of the simulation application.
14719	Version *string `locationName:"version" min:"1" type:"string"`
14720}
14721
14722// String returns the string representation
14723func (s SimulationApplicationSummary) String() string {
14724	return awsutil.Prettify(s)
14725}
14726
14727// GoString returns the string representation
14728func (s SimulationApplicationSummary) GoString() string {
14729	return s.String()
14730}
14731
14732// SetArn sets the Arn field's value.
14733func (s *SimulationApplicationSummary) SetArn(v string) *SimulationApplicationSummary {
14734	s.Arn = &v
14735	return s
14736}
14737
14738// SetLastUpdatedAt sets the LastUpdatedAt field's value.
14739func (s *SimulationApplicationSummary) SetLastUpdatedAt(v time.Time) *SimulationApplicationSummary {
14740	s.LastUpdatedAt = &v
14741	return s
14742}
14743
14744// SetName sets the Name field's value.
14745func (s *SimulationApplicationSummary) SetName(v string) *SimulationApplicationSummary {
14746	s.Name = &v
14747	return s
14748}
14749
14750// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
14751func (s *SimulationApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *SimulationApplicationSummary {
14752	s.RobotSoftwareSuite = v
14753	return s
14754}
14755
14756// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
14757func (s *SimulationApplicationSummary) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *SimulationApplicationSummary {
14758	s.SimulationSoftwareSuite = v
14759	return s
14760}
14761
14762// SetVersion sets the Version field's value.
14763func (s *SimulationApplicationSummary) SetVersion(v string) *SimulationApplicationSummary {
14764	s.Version = &v
14765	return s
14766}
14767
14768// Information about a simulation job.
14769type SimulationJob struct {
14770	_ struct{} `type:"structure"`
14771
14772	// The Amazon Resource Name (ARN) of the simulation job.
14773	Arn *string `locationName:"arn" min:"1" type:"string"`
14774
14775	// A unique identifier for this SimulationJob request.
14776	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
14777
14778	// Compute information for the simulation job
14779	Compute *ComputeResponse `locationName:"compute" type:"structure"`
14780
14781	// The data sources for the simulation job.
14782	DataSources []*DataSource `locationName:"dataSources" type:"list"`
14783
14784	// The failure behavior the simulation job.
14785	//
14786	// Continue
14787	//
14788	// Restart the simulation job in the same host instance.
14789	//
14790	// Fail
14791	//
14792	// Stop the simulation job and terminate the instance.
14793	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
14794
14795	// The failure code of the simulation job if it failed.
14796	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
14797
14798	// The reason why the simulation job failed.
14799	FailureReason *string `locationName:"failureReason" type:"string"`
14800
14801	// The IAM role that allows the simulation instance to call the AWS APIs that
14802	// are specified in its associated policies on your behalf. This is how credentials
14803	// are passed in to your simulation job.
14804	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
14805
14806	// The time, in milliseconds since the epoch, when the simulation job was last
14807	// started.
14808	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
14809
14810	// The time, in milliseconds since the epoch, when the simulation job was last
14811	// updated.
14812	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
14813
14814	// The logging configuration.
14815	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
14816
14817	// The maximum simulation job duration in seconds. The value must be 8 days
14818	// (691,200 seconds) or less.
14819	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
14820
14821	// The name of the simulation job.
14822	Name *string `locationName:"name" min:"1" type:"string"`
14823
14824	// Information about a network interface.
14825	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
14826
14827	// Location for output files generated by the simulation job.
14828	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
14829
14830	// A list of robot applications.
14831	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
14832
14833	// A list of simulation applications.
14834	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
14835
14836	// The simulation job execution duration in milliseconds.
14837	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
14838
14839	// Status of the simulation job.
14840	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
14841
14842	// A map that contains tag keys and tag values that are attached to the simulation
14843	// job.
14844	Tags map[string]*string `locationName:"tags" type:"map"`
14845
14846	// VPC configuration information.
14847	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
14848}
14849
14850// String returns the string representation
14851func (s SimulationJob) String() string {
14852	return awsutil.Prettify(s)
14853}
14854
14855// GoString returns the string representation
14856func (s SimulationJob) GoString() string {
14857	return s.String()
14858}
14859
14860// SetArn sets the Arn field's value.
14861func (s *SimulationJob) SetArn(v string) *SimulationJob {
14862	s.Arn = &v
14863	return s
14864}
14865
14866// SetClientRequestToken sets the ClientRequestToken field's value.
14867func (s *SimulationJob) SetClientRequestToken(v string) *SimulationJob {
14868	s.ClientRequestToken = &v
14869	return s
14870}
14871
14872// SetCompute sets the Compute field's value.
14873func (s *SimulationJob) SetCompute(v *ComputeResponse) *SimulationJob {
14874	s.Compute = v
14875	return s
14876}
14877
14878// SetDataSources sets the DataSources field's value.
14879func (s *SimulationJob) SetDataSources(v []*DataSource) *SimulationJob {
14880	s.DataSources = v
14881	return s
14882}
14883
14884// SetFailureBehavior sets the FailureBehavior field's value.
14885func (s *SimulationJob) SetFailureBehavior(v string) *SimulationJob {
14886	s.FailureBehavior = &v
14887	return s
14888}
14889
14890// SetFailureCode sets the FailureCode field's value.
14891func (s *SimulationJob) SetFailureCode(v string) *SimulationJob {
14892	s.FailureCode = &v
14893	return s
14894}
14895
14896// SetFailureReason sets the FailureReason field's value.
14897func (s *SimulationJob) SetFailureReason(v string) *SimulationJob {
14898	s.FailureReason = &v
14899	return s
14900}
14901
14902// SetIamRole sets the IamRole field's value.
14903func (s *SimulationJob) SetIamRole(v string) *SimulationJob {
14904	s.IamRole = &v
14905	return s
14906}
14907
14908// SetLastStartedAt sets the LastStartedAt field's value.
14909func (s *SimulationJob) SetLastStartedAt(v time.Time) *SimulationJob {
14910	s.LastStartedAt = &v
14911	return s
14912}
14913
14914// SetLastUpdatedAt sets the LastUpdatedAt field's value.
14915func (s *SimulationJob) SetLastUpdatedAt(v time.Time) *SimulationJob {
14916	s.LastUpdatedAt = &v
14917	return s
14918}
14919
14920// SetLoggingConfig sets the LoggingConfig field's value.
14921func (s *SimulationJob) SetLoggingConfig(v *LoggingConfig) *SimulationJob {
14922	s.LoggingConfig = v
14923	return s
14924}
14925
14926// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
14927func (s *SimulationJob) SetMaxJobDurationInSeconds(v int64) *SimulationJob {
14928	s.MaxJobDurationInSeconds = &v
14929	return s
14930}
14931
14932// SetName sets the Name field's value.
14933func (s *SimulationJob) SetName(v string) *SimulationJob {
14934	s.Name = &v
14935	return s
14936}
14937
14938// SetNetworkInterface sets the NetworkInterface field's value.
14939func (s *SimulationJob) SetNetworkInterface(v *NetworkInterface) *SimulationJob {
14940	s.NetworkInterface = v
14941	return s
14942}
14943
14944// SetOutputLocation sets the OutputLocation field's value.
14945func (s *SimulationJob) SetOutputLocation(v *OutputLocation) *SimulationJob {
14946	s.OutputLocation = v
14947	return s
14948}
14949
14950// SetRobotApplications sets the RobotApplications field's value.
14951func (s *SimulationJob) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJob {
14952	s.RobotApplications = v
14953	return s
14954}
14955
14956// SetSimulationApplications sets the SimulationApplications field's value.
14957func (s *SimulationJob) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJob {
14958	s.SimulationApplications = v
14959	return s
14960}
14961
14962// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
14963func (s *SimulationJob) SetSimulationTimeMillis(v int64) *SimulationJob {
14964	s.SimulationTimeMillis = &v
14965	return s
14966}
14967
14968// SetStatus sets the Status field's value.
14969func (s *SimulationJob) SetStatus(v string) *SimulationJob {
14970	s.Status = &v
14971	return s
14972}
14973
14974// SetTags sets the Tags field's value.
14975func (s *SimulationJob) SetTags(v map[string]*string) *SimulationJob {
14976	s.Tags = v
14977	return s
14978}
14979
14980// SetVpcConfig sets the VpcConfig field's value.
14981func (s *SimulationJob) SetVpcConfig(v *VPCConfigResponse) *SimulationJob {
14982	s.VpcConfig = v
14983	return s
14984}
14985
14986// Information about a simulation job batch.
14987type SimulationJobBatchSummary struct {
14988	_ struct{} `type:"structure"`
14989
14990	// The Amazon Resource Name (ARN) of the batch.
14991	Arn *string `locationName:"arn" min:"1" type:"string"`
14992
14993	// The time, in milliseconds since the epoch, when the simulation job batch
14994	// was created.
14995	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
14996
14997	// The number of created simulation job requests.
14998	CreatedRequestCount *int64 `locationName:"createdRequestCount" type:"integer"`
14999
15000	// The number of failed simulation job requests.
15001	FailedRequestCount *int64 `locationName:"failedRequestCount" type:"integer"`
15002
15003	// The time, in milliseconds since the epoch, when the simulation job batch
15004	// was last updated.
15005	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
15006
15007	// The number of pending simulation job requests.
15008	PendingRequestCount *int64 `locationName:"pendingRequestCount" type:"integer"`
15009
15010	// The status of the simulation job batch.
15011	//
15012	// Pending
15013	//
15014	// The simulation job batch request is pending.
15015	//
15016	// InProgress
15017	//
15018	// The simulation job batch is in progress.
15019	//
15020	// Failed
15021	//
15022	// The simulation job batch failed. One or more simulation job requests could
15023	// not be completed due to an internal failure (like InternalServiceError).
15024	// See failureCode and failureReason for more information.
15025	//
15026	// Completed
15027	//
15028	// The simulation batch job completed. A batch is complete when (1) there are
15029	// no pending simulation job requests in the batch and none of the failed simulation
15030	// job requests are due to InternalServiceError and (2) when all created simulation
15031	// jobs have reached a terminal state (for example, Completed or Failed).
15032	//
15033	// Canceled
15034	//
15035	// The simulation batch job was cancelled.
15036	//
15037	// Canceling
15038	//
15039	// The simulation batch job is being cancelled.
15040	//
15041	// Completing
15042	//
15043	// The simulation batch job is completing.
15044	//
15045	// TimingOut
15046	//
15047	// The simulation job batch is timing out.
15048	//
15049	// If a batch timing out, and there are pending requests that were failing due
15050	// to an internal failure (like InternalServiceError), the batch status will
15051	// be Failed. If there are no such failing request, the batch status will be
15052	// TimedOut.
15053	//
15054	// TimedOut
15055	//
15056	// The simulation batch job timed out.
15057	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
15058}
15059
15060// String returns the string representation
15061func (s SimulationJobBatchSummary) String() string {
15062	return awsutil.Prettify(s)
15063}
15064
15065// GoString returns the string representation
15066func (s SimulationJobBatchSummary) GoString() string {
15067	return s.String()
15068}
15069
15070// SetArn sets the Arn field's value.
15071func (s *SimulationJobBatchSummary) SetArn(v string) *SimulationJobBatchSummary {
15072	s.Arn = &v
15073	return s
15074}
15075
15076// SetCreatedAt sets the CreatedAt field's value.
15077func (s *SimulationJobBatchSummary) SetCreatedAt(v time.Time) *SimulationJobBatchSummary {
15078	s.CreatedAt = &v
15079	return s
15080}
15081
15082// SetCreatedRequestCount sets the CreatedRequestCount field's value.
15083func (s *SimulationJobBatchSummary) SetCreatedRequestCount(v int64) *SimulationJobBatchSummary {
15084	s.CreatedRequestCount = &v
15085	return s
15086}
15087
15088// SetFailedRequestCount sets the FailedRequestCount field's value.
15089func (s *SimulationJobBatchSummary) SetFailedRequestCount(v int64) *SimulationJobBatchSummary {
15090	s.FailedRequestCount = &v
15091	return s
15092}
15093
15094// SetLastUpdatedAt sets the LastUpdatedAt field's value.
15095func (s *SimulationJobBatchSummary) SetLastUpdatedAt(v time.Time) *SimulationJobBatchSummary {
15096	s.LastUpdatedAt = &v
15097	return s
15098}
15099
15100// SetPendingRequestCount sets the PendingRequestCount field's value.
15101func (s *SimulationJobBatchSummary) SetPendingRequestCount(v int64) *SimulationJobBatchSummary {
15102	s.PendingRequestCount = &v
15103	return s
15104}
15105
15106// SetStatus sets the Status field's value.
15107func (s *SimulationJobBatchSummary) SetStatus(v string) *SimulationJobBatchSummary {
15108	s.Status = &v
15109	return s
15110}
15111
15112// Information about a simulation job request.
15113type SimulationJobRequest struct {
15114	_ struct{} `type:"structure"`
15115
15116	// Compute information for the simulation job
15117	Compute *Compute `locationName:"compute" type:"structure"`
15118
15119	// Specify data sources to mount read-only files from S3 into your simulation.
15120	// These files are available under /opt/robomaker/datasources/data_source_name.
15121	//
15122	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
15123	// objects.
15124	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
15125
15126	// The failure behavior the simulation job.
15127	//
15128	// Continue
15129	//
15130	// Restart the simulation job in the same host instance.
15131	//
15132	// Fail
15133	//
15134	// Stop the simulation job and terminate the instance.
15135	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
15136
15137	// The IAM role name that allows the simulation instance to call the AWS APIs
15138	// that are specified in its associated policies on your behalf. This is how
15139	// credentials are passed in to your simulation job.
15140	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
15141
15142	// The logging configuration.
15143	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
15144
15145	// The maximum simulation job duration in seconds. The value must be 8 days
15146	// (691,200 seconds) or less.
15147	//
15148	// MaxJobDurationInSeconds is a required field
15149	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
15150
15151	// The output location.
15152	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
15153
15154	// The robot applications to use in the simulation job.
15155	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
15156
15157	// The simulation applications to use in the simulation job.
15158	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
15159
15160	// A map that contains tag keys and tag values that are attached to the simulation
15161	// job request.
15162	Tags map[string]*string `locationName:"tags" type:"map"`
15163
15164	// A Boolean indicating whether to use default applications in the simulation
15165	// job. Default applications include Gazebo, rqt, rviz and terminal access.
15166	UseDefaultApplications *bool `locationName:"useDefaultApplications" type:"boolean"`
15167
15168	// If your simulation job accesses resources in a VPC, you provide this parameter
15169	// identifying the list of security group IDs and subnet IDs. These must belong
15170	// to the same VPC. You must provide at least one security group and two subnet
15171	// IDs.
15172	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
15173}
15174
15175// String returns the string representation
15176func (s SimulationJobRequest) String() string {
15177	return awsutil.Prettify(s)
15178}
15179
15180// GoString returns the string representation
15181func (s SimulationJobRequest) GoString() string {
15182	return s.String()
15183}
15184
15185// Validate inspects the fields of the type to determine if they are valid.
15186func (s *SimulationJobRequest) Validate() error {
15187	invalidParams := request.ErrInvalidParams{Context: "SimulationJobRequest"}
15188	if s.DataSources != nil && len(s.DataSources) < 1 {
15189		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
15190	}
15191	if s.IamRole != nil && len(*s.IamRole) < 1 {
15192		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
15193	}
15194	if s.MaxJobDurationInSeconds == nil {
15195		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
15196	}
15197	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
15198		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
15199	}
15200	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
15201		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
15202	}
15203	if s.Compute != nil {
15204		if err := s.Compute.Validate(); err != nil {
15205			invalidParams.AddNested("Compute", err.(request.ErrInvalidParams))
15206		}
15207	}
15208	if s.DataSources != nil {
15209		for i, v := range s.DataSources {
15210			if v == nil {
15211				continue
15212			}
15213			if err := v.Validate(); err != nil {
15214				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
15215			}
15216		}
15217	}
15218	if s.LoggingConfig != nil {
15219		if err := s.LoggingConfig.Validate(); err != nil {
15220			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
15221		}
15222	}
15223	if s.OutputLocation != nil {
15224		if err := s.OutputLocation.Validate(); err != nil {
15225			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
15226		}
15227	}
15228	if s.RobotApplications != nil {
15229		for i, v := range s.RobotApplications {
15230			if v == nil {
15231				continue
15232			}
15233			if err := v.Validate(); err != nil {
15234				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
15235			}
15236		}
15237	}
15238	if s.SimulationApplications != nil {
15239		for i, v := range s.SimulationApplications {
15240			if v == nil {
15241				continue
15242			}
15243			if err := v.Validate(); err != nil {
15244				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
15245			}
15246		}
15247	}
15248	if s.VpcConfig != nil {
15249		if err := s.VpcConfig.Validate(); err != nil {
15250			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
15251		}
15252	}
15253
15254	if invalidParams.Len() > 0 {
15255		return invalidParams
15256	}
15257	return nil
15258}
15259
15260// SetCompute sets the Compute field's value.
15261func (s *SimulationJobRequest) SetCompute(v *Compute) *SimulationJobRequest {
15262	s.Compute = v
15263	return s
15264}
15265
15266// SetDataSources sets the DataSources field's value.
15267func (s *SimulationJobRequest) SetDataSources(v []*DataSourceConfig) *SimulationJobRequest {
15268	s.DataSources = v
15269	return s
15270}
15271
15272// SetFailureBehavior sets the FailureBehavior field's value.
15273func (s *SimulationJobRequest) SetFailureBehavior(v string) *SimulationJobRequest {
15274	s.FailureBehavior = &v
15275	return s
15276}
15277
15278// SetIamRole sets the IamRole field's value.
15279func (s *SimulationJobRequest) SetIamRole(v string) *SimulationJobRequest {
15280	s.IamRole = &v
15281	return s
15282}
15283
15284// SetLoggingConfig sets the LoggingConfig field's value.
15285func (s *SimulationJobRequest) SetLoggingConfig(v *LoggingConfig) *SimulationJobRequest {
15286	s.LoggingConfig = v
15287	return s
15288}
15289
15290// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
15291func (s *SimulationJobRequest) SetMaxJobDurationInSeconds(v int64) *SimulationJobRequest {
15292	s.MaxJobDurationInSeconds = &v
15293	return s
15294}
15295
15296// SetOutputLocation sets the OutputLocation field's value.
15297func (s *SimulationJobRequest) SetOutputLocation(v *OutputLocation) *SimulationJobRequest {
15298	s.OutputLocation = v
15299	return s
15300}
15301
15302// SetRobotApplications sets the RobotApplications field's value.
15303func (s *SimulationJobRequest) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJobRequest {
15304	s.RobotApplications = v
15305	return s
15306}
15307
15308// SetSimulationApplications sets the SimulationApplications field's value.
15309func (s *SimulationJobRequest) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJobRequest {
15310	s.SimulationApplications = v
15311	return s
15312}
15313
15314// SetTags sets the Tags field's value.
15315func (s *SimulationJobRequest) SetTags(v map[string]*string) *SimulationJobRequest {
15316	s.Tags = v
15317	return s
15318}
15319
15320// SetUseDefaultApplications sets the UseDefaultApplications field's value.
15321func (s *SimulationJobRequest) SetUseDefaultApplications(v bool) *SimulationJobRequest {
15322	s.UseDefaultApplications = &v
15323	return s
15324}
15325
15326// SetVpcConfig sets the VpcConfig field's value.
15327func (s *SimulationJobRequest) SetVpcConfig(v *VPCConfig) *SimulationJobRequest {
15328	s.VpcConfig = v
15329	return s
15330}
15331
15332// Summary information for a simulation job.
15333type SimulationJobSummary struct {
15334	_ struct{} `type:"structure"`
15335
15336	// The Amazon Resource Name (ARN) of the simulation job.
15337	Arn *string `locationName:"arn" min:"1" type:"string"`
15338
15339	// The names of the data sources.
15340	DataSourceNames []*string `locationName:"dataSourceNames" type:"list"`
15341
15342	// The time, in milliseconds since the epoch, when the simulation job was last
15343	// updated.
15344	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
15345
15346	// The name of the simulation job.
15347	Name *string `locationName:"name" min:"1" type:"string"`
15348
15349	// A list of simulation job robot application names.
15350	RobotApplicationNames []*string `locationName:"robotApplicationNames" type:"list"`
15351
15352	// A list of simulation job simulation application names.
15353	SimulationApplicationNames []*string `locationName:"simulationApplicationNames" type:"list"`
15354
15355	// The status of the simulation job.
15356	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
15357}
15358
15359// String returns the string representation
15360func (s SimulationJobSummary) String() string {
15361	return awsutil.Prettify(s)
15362}
15363
15364// GoString returns the string representation
15365func (s SimulationJobSummary) GoString() string {
15366	return s.String()
15367}
15368
15369// SetArn sets the Arn field's value.
15370func (s *SimulationJobSummary) SetArn(v string) *SimulationJobSummary {
15371	s.Arn = &v
15372	return s
15373}
15374
15375// SetDataSourceNames sets the DataSourceNames field's value.
15376func (s *SimulationJobSummary) SetDataSourceNames(v []*string) *SimulationJobSummary {
15377	s.DataSourceNames = v
15378	return s
15379}
15380
15381// SetLastUpdatedAt sets the LastUpdatedAt field's value.
15382func (s *SimulationJobSummary) SetLastUpdatedAt(v time.Time) *SimulationJobSummary {
15383	s.LastUpdatedAt = &v
15384	return s
15385}
15386
15387// SetName sets the Name field's value.
15388func (s *SimulationJobSummary) SetName(v string) *SimulationJobSummary {
15389	s.Name = &v
15390	return s
15391}
15392
15393// SetRobotApplicationNames sets the RobotApplicationNames field's value.
15394func (s *SimulationJobSummary) SetRobotApplicationNames(v []*string) *SimulationJobSummary {
15395	s.RobotApplicationNames = v
15396	return s
15397}
15398
15399// SetSimulationApplicationNames sets the SimulationApplicationNames field's value.
15400func (s *SimulationJobSummary) SetSimulationApplicationNames(v []*string) *SimulationJobSummary {
15401	s.SimulationApplicationNames = v
15402	return s
15403}
15404
15405// SetStatus sets the Status field's value.
15406func (s *SimulationJobSummary) SetStatus(v string) *SimulationJobSummary {
15407	s.Status = &v
15408	return s
15409}
15410
15411// Information about a simulation software suite.
15412type SimulationSoftwareSuite struct {
15413	_ struct{} `type:"structure"`
15414
15415	// The name of the simulation software suite.
15416	Name *string `locationName:"name" type:"string" enum:"SimulationSoftwareSuiteType"`
15417
15418	// The version of the simulation software suite.
15419	Version *string `locationName:"version" type:"string"`
15420}
15421
15422// String returns the string representation
15423func (s SimulationSoftwareSuite) String() string {
15424	return awsutil.Prettify(s)
15425}
15426
15427// GoString returns the string representation
15428func (s SimulationSoftwareSuite) GoString() string {
15429	return s.String()
15430}
15431
15432// SetName sets the Name field's value.
15433func (s *SimulationSoftwareSuite) SetName(v string) *SimulationSoftwareSuite {
15434	s.Name = &v
15435	return s
15436}
15437
15438// SetVersion sets the Version field's value.
15439func (s *SimulationSoftwareSuite) SetVersion(v string) *SimulationSoftwareSuite {
15440	s.Version = &v
15441	return s
15442}
15443
15444// Information about a source.
15445type Source struct {
15446	_ struct{} `type:"structure"`
15447
15448	// The taget processor architecture for the application.
15449	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
15450
15451	// A hash of the object specified by s3Bucket and s3Key.
15452	Etag *string `locationName:"etag" type:"string"`
15453
15454	// The s3 bucket name.
15455	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
15456
15457	// The s3 object key.
15458	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
15459}
15460
15461// String returns the string representation
15462func (s Source) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation
15467func (s Source) GoString() string {
15468	return s.String()
15469}
15470
15471// SetArchitecture sets the Architecture field's value.
15472func (s *Source) SetArchitecture(v string) *Source {
15473	s.Architecture = &v
15474	return s
15475}
15476
15477// SetEtag sets the Etag field's value.
15478func (s *Source) SetEtag(v string) *Source {
15479	s.Etag = &v
15480	return s
15481}
15482
15483// SetS3Bucket sets the S3Bucket field's value.
15484func (s *Source) SetS3Bucket(v string) *Source {
15485	s.S3Bucket = &v
15486	return s
15487}
15488
15489// SetS3Key sets the S3Key field's value.
15490func (s *Source) SetS3Key(v string) *Source {
15491	s.S3Key = &v
15492	return s
15493}
15494
15495// Information about a source configuration.
15496type SourceConfig struct {
15497	_ struct{} `type:"structure"`
15498
15499	// The target processor architecture for the application.
15500	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
15501
15502	// The Amazon S3 bucket name.
15503	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
15504
15505	// The s3 object key.
15506	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
15507}
15508
15509// String returns the string representation
15510func (s SourceConfig) String() string {
15511	return awsutil.Prettify(s)
15512}
15513
15514// GoString returns the string representation
15515func (s SourceConfig) GoString() string {
15516	return s.String()
15517}
15518
15519// Validate inspects the fields of the type to determine if they are valid.
15520func (s *SourceConfig) Validate() error {
15521	invalidParams := request.ErrInvalidParams{Context: "SourceConfig"}
15522	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
15523		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
15524	}
15525	if s.S3Key != nil && len(*s.S3Key) < 1 {
15526		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
15527	}
15528
15529	if invalidParams.Len() > 0 {
15530		return invalidParams
15531	}
15532	return nil
15533}
15534
15535// SetArchitecture sets the Architecture field's value.
15536func (s *SourceConfig) SetArchitecture(v string) *SourceConfig {
15537	s.Architecture = &v
15538	return s
15539}
15540
15541// SetS3Bucket sets the S3Bucket field's value.
15542func (s *SourceConfig) SetS3Bucket(v string) *SourceConfig {
15543	s.S3Bucket = &v
15544	return s
15545}
15546
15547// SetS3Key sets the S3Key field's value.
15548func (s *SourceConfig) SetS3Key(v string) *SourceConfig {
15549	s.S3Key = &v
15550	return s
15551}
15552
15553type StartSimulationJobBatchInput struct {
15554	_ struct{} `type:"structure"`
15555
15556	// The batch policy.
15557	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
15558
15559	// Unique, case-sensitive identifier that you provide to ensure the idempotency
15560	// of the request.
15561	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
15562
15563	// A list of simulation job requests to create in the batch.
15564	//
15565	// CreateSimulationJobRequests is a required field
15566	CreateSimulationJobRequests []*SimulationJobRequest `locationName:"createSimulationJobRequests" min:"1" type:"list" required:"true"`
15567
15568	// A map that contains tag keys and tag values that are attached to the deployment
15569	// job batch.
15570	Tags map[string]*string `locationName:"tags" type:"map"`
15571}
15572
15573// String returns the string representation
15574func (s StartSimulationJobBatchInput) String() string {
15575	return awsutil.Prettify(s)
15576}
15577
15578// GoString returns the string representation
15579func (s StartSimulationJobBatchInput) GoString() string {
15580	return s.String()
15581}
15582
15583// Validate inspects the fields of the type to determine if they are valid.
15584func (s *StartSimulationJobBatchInput) Validate() error {
15585	invalidParams := request.ErrInvalidParams{Context: "StartSimulationJobBatchInput"}
15586	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
15587		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
15588	}
15589	if s.CreateSimulationJobRequests == nil {
15590		invalidParams.Add(request.NewErrParamRequired("CreateSimulationJobRequests"))
15591	}
15592	if s.CreateSimulationJobRequests != nil && len(s.CreateSimulationJobRequests) < 1 {
15593		invalidParams.Add(request.NewErrParamMinLen("CreateSimulationJobRequests", 1))
15594	}
15595	if s.CreateSimulationJobRequests != nil {
15596		for i, v := range s.CreateSimulationJobRequests {
15597			if v == nil {
15598				continue
15599			}
15600			if err := v.Validate(); err != nil {
15601				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateSimulationJobRequests", i), err.(request.ErrInvalidParams))
15602			}
15603		}
15604	}
15605
15606	if invalidParams.Len() > 0 {
15607		return invalidParams
15608	}
15609	return nil
15610}
15611
15612// SetBatchPolicy sets the BatchPolicy field's value.
15613func (s *StartSimulationJobBatchInput) SetBatchPolicy(v *BatchPolicy) *StartSimulationJobBatchInput {
15614	s.BatchPolicy = v
15615	return s
15616}
15617
15618// SetClientRequestToken sets the ClientRequestToken field's value.
15619func (s *StartSimulationJobBatchInput) SetClientRequestToken(v string) *StartSimulationJobBatchInput {
15620	s.ClientRequestToken = &v
15621	return s
15622}
15623
15624// SetCreateSimulationJobRequests sets the CreateSimulationJobRequests field's value.
15625func (s *StartSimulationJobBatchInput) SetCreateSimulationJobRequests(v []*SimulationJobRequest) *StartSimulationJobBatchInput {
15626	s.CreateSimulationJobRequests = v
15627	return s
15628}
15629
15630// SetTags sets the Tags field's value.
15631func (s *StartSimulationJobBatchInput) SetTags(v map[string]*string) *StartSimulationJobBatchInput {
15632	s.Tags = v
15633	return s
15634}
15635
15636type StartSimulationJobBatchOutput struct {
15637	_ struct{} `type:"structure"`
15638
15639	// The Amazon Resource Name (arn) of the batch.
15640	Arn *string `locationName:"arn" min:"1" type:"string"`
15641
15642	// The batch policy.
15643	BatchPolicy *BatchPolicy `locationName:"batchPolicy" type:"structure"`
15644
15645	// Unique, case-sensitive identifier that you provide to ensure the idempotency
15646	// of the request.
15647	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
15648
15649	// The time, in milliseconds since the epoch, when the simulation job batch
15650	// was created.
15651	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15652
15653	// A list of created simulation job request summaries.
15654	CreatedRequests []*SimulationJobSummary `locationName:"createdRequests" type:"list"`
15655
15656	// A list of failed simulation job requests. The request failed to be created
15657	// into a simulation job. Failed requests do not have a simulation job ID.
15658	FailedRequests []*FailedCreateSimulationJobRequest `locationName:"failedRequests" type:"list"`
15659
15660	// The failure code if the simulation job batch failed.
15661	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobBatchErrorCode"`
15662
15663	// The reason the simulation job batch failed.
15664	FailureReason *string `locationName:"failureReason" type:"string"`
15665
15666	// A list of pending simulation job requests. These requests have not yet been
15667	// created into simulation jobs.
15668	PendingRequests []*SimulationJobRequest `locationName:"pendingRequests" min:"1" type:"list"`
15669
15670	// The status of the simulation job batch.
15671	//
15672	// Pending
15673	//
15674	// The simulation job batch request is pending.
15675	//
15676	// InProgress
15677	//
15678	// The simulation job batch is in progress.
15679	//
15680	// Failed
15681	//
15682	// The simulation job batch failed. One or more simulation job requests could
15683	// not be completed due to an internal failure (like InternalServiceError).
15684	// See failureCode and failureReason for more information.
15685	//
15686	// Completed
15687	//
15688	// The simulation batch job completed. A batch is complete when (1) there are
15689	// no pending simulation job requests in the batch and none of the failed simulation
15690	// job requests are due to InternalServiceError and (2) when all created simulation
15691	// jobs have reached a terminal state (for example, Completed or Failed).
15692	//
15693	// Canceled
15694	//
15695	// The simulation batch job was cancelled.
15696	//
15697	// Canceling
15698	//
15699	// The simulation batch job is being cancelled.
15700	//
15701	// Completing
15702	//
15703	// The simulation batch job is completing.
15704	//
15705	// TimingOut
15706	//
15707	// The simulation job batch is timing out.
15708	//
15709	// If a batch timing out, and there are pending requests that were failing due
15710	// to an internal failure (like InternalServiceError), the batch status will
15711	// be Failed. If there are no such failing request, the batch status will be
15712	// TimedOut.
15713	//
15714	// TimedOut
15715	//
15716	// The simulation batch job timed out.
15717	Status *string `locationName:"status" type:"string" enum:"SimulationJobBatchStatus"`
15718
15719	// A map that contains tag keys and tag values that are attached to the deployment
15720	// job batch.
15721	Tags map[string]*string `locationName:"tags" type:"map"`
15722}
15723
15724// String returns the string representation
15725func (s StartSimulationJobBatchOutput) String() string {
15726	return awsutil.Prettify(s)
15727}
15728
15729// GoString returns the string representation
15730func (s StartSimulationJobBatchOutput) GoString() string {
15731	return s.String()
15732}
15733
15734// SetArn sets the Arn field's value.
15735func (s *StartSimulationJobBatchOutput) SetArn(v string) *StartSimulationJobBatchOutput {
15736	s.Arn = &v
15737	return s
15738}
15739
15740// SetBatchPolicy sets the BatchPolicy field's value.
15741func (s *StartSimulationJobBatchOutput) SetBatchPolicy(v *BatchPolicy) *StartSimulationJobBatchOutput {
15742	s.BatchPolicy = v
15743	return s
15744}
15745
15746// SetClientRequestToken sets the ClientRequestToken field's value.
15747func (s *StartSimulationJobBatchOutput) SetClientRequestToken(v string) *StartSimulationJobBatchOutput {
15748	s.ClientRequestToken = &v
15749	return s
15750}
15751
15752// SetCreatedAt sets the CreatedAt field's value.
15753func (s *StartSimulationJobBatchOutput) SetCreatedAt(v time.Time) *StartSimulationJobBatchOutput {
15754	s.CreatedAt = &v
15755	return s
15756}
15757
15758// SetCreatedRequests sets the CreatedRequests field's value.
15759func (s *StartSimulationJobBatchOutput) SetCreatedRequests(v []*SimulationJobSummary) *StartSimulationJobBatchOutput {
15760	s.CreatedRequests = v
15761	return s
15762}
15763
15764// SetFailedRequests sets the FailedRequests field's value.
15765func (s *StartSimulationJobBatchOutput) SetFailedRequests(v []*FailedCreateSimulationJobRequest) *StartSimulationJobBatchOutput {
15766	s.FailedRequests = v
15767	return s
15768}
15769
15770// SetFailureCode sets the FailureCode field's value.
15771func (s *StartSimulationJobBatchOutput) SetFailureCode(v string) *StartSimulationJobBatchOutput {
15772	s.FailureCode = &v
15773	return s
15774}
15775
15776// SetFailureReason sets the FailureReason field's value.
15777func (s *StartSimulationJobBatchOutput) SetFailureReason(v string) *StartSimulationJobBatchOutput {
15778	s.FailureReason = &v
15779	return s
15780}
15781
15782// SetPendingRequests sets the PendingRequests field's value.
15783func (s *StartSimulationJobBatchOutput) SetPendingRequests(v []*SimulationJobRequest) *StartSimulationJobBatchOutput {
15784	s.PendingRequests = v
15785	return s
15786}
15787
15788// SetStatus sets the Status field's value.
15789func (s *StartSimulationJobBatchOutput) SetStatus(v string) *StartSimulationJobBatchOutput {
15790	s.Status = &v
15791	return s
15792}
15793
15794// SetTags sets the Tags field's value.
15795func (s *StartSimulationJobBatchOutput) SetTags(v map[string]*string) *StartSimulationJobBatchOutput {
15796	s.Tags = v
15797	return s
15798}
15799
15800type SyncDeploymentJobInput struct {
15801	_ struct{} `type:"structure"`
15802
15803	// Unique, case-sensitive identifier that you provide to ensure the idempotency
15804	// of the request.
15805	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
15806
15807	// The target fleet for the synchronization.
15808	//
15809	// Fleet is a required field
15810	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
15811}
15812
15813// String returns the string representation
15814func (s SyncDeploymentJobInput) String() string {
15815	return awsutil.Prettify(s)
15816}
15817
15818// GoString returns the string representation
15819func (s SyncDeploymentJobInput) GoString() string {
15820	return s.String()
15821}
15822
15823// Validate inspects the fields of the type to determine if they are valid.
15824func (s *SyncDeploymentJobInput) Validate() error {
15825	invalidParams := request.ErrInvalidParams{Context: "SyncDeploymentJobInput"}
15826	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
15827		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
15828	}
15829	if s.Fleet == nil {
15830		invalidParams.Add(request.NewErrParamRequired("Fleet"))
15831	}
15832	if s.Fleet != nil && len(*s.Fleet) < 1 {
15833		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
15834	}
15835
15836	if invalidParams.Len() > 0 {
15837		return invalidParams
15838	}
15839	return nil
15840}
15841
15842// SetClientRequestToken sets the ClientRequestToken field's value.
15843func (s *SyncDeploymentJobInput) SetClientRequestToken(v string) *SyncDeploymentJobInput {
15844	s.ClientRequestToken = &v
15845	return s
15846}
15847
15848// SetFleet sets the Fleet field's value.
15849func (s *SyncDeploymentJobInput) SetFleet(v string) *SyncDeploymentJobInput {
15850	s.Fleet = &v
15851	return s
15852}
15853
15854type SyncDeploymentJobOutput struct {
15855	_ struct{} `type:"structure"`
15856
15857	// The Amazon Resource Name (ARN) of the synchronization request.
15858	Arn *string `locationName:"arn" min:"1" type:"string"`
15859
15860	// The time, in milliseconds since the epoch, when the fleet was created.
15861	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
15862
15863	// Information about the deployment application configurations.
15864	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
15865
15866	// Information about the deployment configuration.
15867	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
15868
15869	// The failure code if the job fails:
15870	//
15871	// InternalServiceError
15872	//
15873	// Internal service error.
15874	//
15875	// RobotApplicationCrash
15876	//
15877	// Robot application exited abnormally.
15878	//
15879	// SimulationApplicationCrash
15880	//
15881	// Simulation application exited abnormally.
15882	//
15883	// BadPermissionsRobotApplication
15884	//
15885	// Robot application bundle could not be downloaded.
15886	//
15887	// BadPermissionsSimulationApplication
15888	//
15889	// Simulation application bundle could not be downloaded.
15890	//
15891	// BadPermissionsS3Output
15892	//
15893	// Unable to publish outputs to customer-provided S3 bucket.
15894	//
15895	// BadPermissionsCloudwatchLogs
15896	//
15897	// Unable to publish logs to customer-provided CloudWatch Logs resource.
15898	//
15899	// SubnetIpLimitExceeded
15900	//
15901	// Subnet IP limit exceeded.
15902	//
15903	// ENILimitExceeded
15904	//
15905	// ENI limit exceeded.
15906	//
15907	// BadPermissionsUserCredentials
15908	//
15909	// Unable to use the Role provided.
15910	//
15911	// InvalidBundleRobotApplication
15912	//
15913	// Robot bundle cannot be extracted (invalid format, bundling error, or other
15914	// issue).
15915	//
15916	// InvalidBundleSimulationApplication
15917	//
15918	// Simulation bundle cannot be extracted (invalid format, bundling error, or
15919	// other issue).
15920	//
15921	// RobotApplicationVersionMismatchedEtag
15922	//
15923	// Etag for RobotApplication does not match value during version creation.
15924	//
15925	// SimulationApplicationVersionMismatchedEtag
15926	//
15927	// Etag for SimulationApplication does not match value during version creation.
15928	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
15929
15930	// The failure reason if the job fails.
15931	FailureReason *string `locationName:"failureReason" type:"string"`
15932
15933	// The Amazon Resource Name (ARN) of the fleet.
15934	Fleet *string `locationName:"fleet" min:"1" type:"string"`
15935
15936	// The status of the synchronization job.
15937	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
15938}
15939
15940// String returns the string representation
15941func (s SyncDeploymentJobOutput) String() string {
15942	return awsutil.Prettify(s)
15943}
15944
15945// GoString returns the string representation
15946func (s SyncDeploymentJobOutput) GoString() string {
15947	return s.String()
15948}
15949
15950// SetArn sets the Arn field's value.
15951func (s *SyncDeploymentJobOutput) SetArn(v string) *SyncDeploymentJobOutput {
15952	s.Arn = &v
15953	return s
15954}
15955
15956// SetCreatedAt sets the CreatedAt field's value.
15957func (s *SyncDeploymentJobOutput) SetCreatedAt(v time.Time) *SyncDeploymentJobOutput {
15958	s.CreatedAt = &v
15959	return s
15960}
15961
15962// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
15963func (s *SyncDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *SyncDeploymentJobOutput {
15964	s.DeploymentApplicationConfigs = v
15965	return s
15966}
15967
15968// SetDeploymentConfig sets the DeploymentConfig field's value.
15969func (s *SyncDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *SyncDeploymentJobOutput {
15970	s.DeploymentConfig = v
15971	return s
15972}
15973
15974// SetFailureCode sets the FailureCode field's value.
15975func (s *SyncDeploymentJobOutput) SetFailureCode(v string) *SyncDeploymentJobOutput {
15976	s.FailureCode = &v
15977	return s
15978}
15979
15980// SetFailureReason sets the FailureReason field's value.
15981func (s *SyncDeploymentJobOutput) SetFailureReason(v string) *SyncDeploymentJobOutput {
15982	s.FailureReason = &v
15983	return s
15984}
15985
15986// SetFleet sets the Fleet field's value.
15987func (s *SyncDeploymentJobOutput) SetFleet(v string) *SyncDeploymentJobOutput {
15988	s.Fleet = &v
15989	return s
15990}
15991
15992// SetStatus sets the Status field's value.
15993func (s *SyncDeploymentJobOutput) SetStatus(v string) *SyncDeploymentJobOutput {
15994	s.Status = &v
15995	return s
15996}
15997
15998type TagResourceInput struct {
15999	_ struct{} `type:"structure"`
16000
16001	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.
16002	//
16003	// ResourceArn is a required field
16004	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
16005
16006	// A map that contains tag keys and tag values that are attached to the resource.
16007	//
16008	// Tags is a required field
16009	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
16010}
16011
16012// String returns the string representation
16013func (s TagResourceInput) String() string {
16014	return awsutil.Prettify(s)
16015}
16016
16017// GoString returns the string representation
16018func (s TagResourceInput) GoString() string {
16019	return s.String()
16020}
16021
16022// Validate inspects the fields of the type to determine if they are valid.
16023func (s *TagResourceInput) Validate() error {
16024	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
16025	if s.ResourceArn == nil {
16026		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
16027	}
16028	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
16029		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
16030	}
16031	if s.Tags == nil {
16032		invalidParams.Add(request.NewErrParamRequired("Tags"))
16033	}
16034
16035	if invalidParams.Len() > 0 {
16036		return invalidParams
16037	}
16038	return nil
16039}
16040
16041// SetResourceArn sets the ResourceArn field's value.
16042func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
16043	s.ResourceArn = &v
16044	return s
16045}
16046
16047// SetTags sets the Tags field's value.
16048func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
16049	s.Tags = v
16050	return s
16051}
16052
16053type TagResourceOutput struct {
16054	_ struct{} `type:"structure"`
16055}
16056
16057// String returns the string representation
16058func (s TagResourceOutput) String() string {
16059	return awsutil.Prettify(s)
16060}
16061
16062// GoString returns the string representation
16063func (s TagResourceOutput) GoString() string {
16064	return s.String()
16065}
16066
16067// Information about a template location.
16068type TemplateLocation struct {
16069	_ struct{} `type:"structure"`
16070
16071	// The Amazon S3 bucket name.
16072	//
16073	// S3Bucket is a required field
16074	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string" required:"true"`
16075
16076	// The list of S3 keys identifying the data source files.
16077	//
16078	// S3Key is a required field
16079	S3Key *string `locationName:"s3Key" min:"1" type:"string" required:"true"`
16080}
16081
16082// String returns the string representation
16083func (s TemplateLocation) String() string {
16084	return awsutil.Prettify(s)
16085}
16086
16087// GoString returns the string representation
16088func (s TemplateLocation) GoString() string {
16089	return s.String()
16090}
16091
16092// Validate inspects the fields of the type to determine if they are valid.
16093func (s *TemplateLocation) Validate() error {
16094	invalidParams := request.ErrInvalidParams{Context: "TemplateLocation"}
16095	if s.S3Bucket == nil {
16096		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
16097	}
16098	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
16099		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
16100	}
16101	if s.S3Key == nil {
16102		invalidParams.Add(request.NewErrParamRequired("S3Key"))
16103	}
16104	if s.S3Key != nil && len(*s.S3Key) < 1 {
16105		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
16106	}
16107
16108	if invalidParams.Len() > 0 {
16109		return invalidParams
16110	}
16111	return nil
16112}
16113
16114// SetS3Bucket sets the S3Bucket field's value.
16115func (s *TemplateLocation) SetS3Bucket(v string) *TemplateLocation {
16116	s.S3Bucket = &v
16117	return s
16118}
16119
16120// SetS3Key sets the S3Key field's value.
16121func (s *TemplateLocation) SetS3Key(v string) *TemplateLocation {
16122	s.S3Key = &v
16123	return s
16124}
16125
16126// Summary information for a template.
16127type TemplateSummary struct {
16128	_ struct{} `type:"structure"`
16129
16130	// The Amazon Resource Name (ARN) of the template.
16131	Arn *string `locationName:"arn" min:"1" type:"string"`
16132
16133	// The time, in milliseconds since the epoch, when the template was created.
16134	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16135
16136	// The time, in milliseconds since the epoch, when the template was last updated.
16137	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
16138
16139	// The name of the template.
16140	Name *string `locationName:"name" type:"string"`
16141}
16142
16143// String returns the string representation
16144func (s TemplateSummary) String() string {
16145	return awsutil.Prettify(s)
16146}
16147
16148// GoString returns the string representation
16149func (s TemplateSummary) GoString() string {
16150	return s.String()
16151}
16152
16153// SetArn sets the Arn field's value.
16154func (s *TemplateSummary) SetArn(v string) *TemplateSummary {
16155	s.Arn = &v
16156	return s
16157}
16158
16159// SetCreatedAt sets the CreatedAt field's value.
16160func (s *TemplateSummary) SetCreatedAt(v time.Time) *TemplateSummary {
16161	s.CreatedAt = &v
16162	return s
16163}
16164
16165// SetLastUpdatedAt sets the LastUpdatedAt field's value.
16166func (s *TemplateSummary) SetLastUpdatedAt(v time.Time) *TemplateSummary {
16167	s.LastUpdatedAt = &v
16168	return s
16169}
16170
16171// SetName sets the Name field's value.
16172func (s *TemplateSummary) SetName(v string) *TemplateSummary {
16173	s.Name = &v
16174	return s
16175}
16176
16177// AWS RoboMaker is temporarily unable to process the request. Try your call
16178// again.
16179type ThrottlingException struct {
16180	_            struct{}                  `type:"structure"`
16181	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16182
16183	Message_ *string `locationName:"message" type:"string"`
16184}
16185
16186// String returns the string representation
16187func (s ThrottlingException) String() string {
16188	return awsutil.Prettify(s)
16189}
16190
16191// GoString returns the string representation
16192func (s ThrottlingException) GoString() string {
16193	return s.String()
16194}
16195
16196func newErrorThrottlingException(v protocol.ResponseMetadata) error {
16197	return &ThrottlingException{
16198		RespMetadata: v,
16199	}
16200}
16201
16202// Code returns the exception type name.
16203func (s *ThrottlingException) Code() string {
16204	return "ThrottlingException"
16205}
16206
16207// Message returns the exception's message.
16208func (s *ThrottlingException) Message() string {
16209	if s.Message_ != nil {
16210		return *s.Message_
16211	}
16212	return ""
16213}
16214
16215// OrigErr always returns nil, satisfies awserr.Error interface.
16216func (s *ThrottlingException) OrigErr() error {
16217	return nil
16218}
16219
16220func (s *ThrottlingException) Error() string {
16221	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16222}
16223
16224// Status code returns the HTTP status code for the request's response error.
16225func (s *ThrottlingException) StatusCode() int {
16226	return s.RespMetadata.StatusCode
16227}
16228
16229// RequestID returns the service's response RequestID for request.
16230func (s *ThrottlingException) RequestID() string {
16231	return s.RespMetadata.RequestID
16232}
16233
16234type UntagResourceInput struct {
16235	_ struct{} `type:"structure"`
16236
16237	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing
16238	// tags.
16239	//
16240	// ResourceArn is a required field
16241	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
16242
16243	// A map that contains tag keys and tag values that will be unattached from
16244	// the resource.
16245	//
16246	// TagKeys is a required field
16247	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
16248}
16249
16250// String returns the string representation
16251func (s UntagResourceInput) String() string {
16252	return awsutil.Prettify(s)
16253}
16254
16255// GoString returns the string representation
16256func (s UntagResourceInput) GoString() string {
16257	return s.String()
16258}
16259
16260// Validate inspects the fields of the type to determine if they are valid.
16261func (s *UntagResourceInput) Validate() error {
16262	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
16263	if s.ResourceArn == nil {
16264		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
16265	}
16266	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
16267		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
16268	}
16269	if s.TagKeys == nil {
16270		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
16271	}
16272
16273	if invalidParams.Len() > 0 {
16274		return invalidParams
16275	}
16276	return nil
16277}
16278
16279// SetResourceArn sets the ResourceArn field's value.
16280func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
16281	s.ResourceArn = &v
16282	return s
16283}
16284
16285// SetTagKeys sets the TagKeys field's value.
16286func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
16287	s.TagKeys = v
16288	return s
16289}
16290
16291type UntagResourceOutput struct {
16292	_ struct{} `type:"structure"`
16293}
16294
16295// String returns the string representation
16296func (s UntagResourceOutput) String() string {
16297	return awsutil.Prettify(s)
16298}
16299
16300// GoString returns the string representation
16301func (s UntagResourceOutput) GoString() string {
16302	return s.String()
16303}
16304
16305type UpdateRobotApplicationInput struct {
16306	_ struct{} `type:"structure"`
16307
16308	// The application information for the robot application.
16309	//
16310	// Application is a required field
16311	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
16312
16313	// The revision id for the robot application.
16314	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
16315
16316	// The robot software suite (ROS distribution) used by the robot application.
16317	//
16318	// RobotSoftwareSuite is a required field
16319	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
16320
16321	// The sources of the robot application.
16322	//
16323	// Sources is a required field
16324	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
16325}
16326
16327// String returns the string representation
16328func (s UpdateRobotApplicationInput) String() string {
16329	return awsutil.Prettify(s)
16330}
16331
16332// GoString returns the string representation
16333func (s UpdateRobotApplicationInput) GoString() string {
16334	return s.String()
16335}
16336
16337// Validate inspects the fields of the type to determine if they are valid.
16338func (s *UpdateRobotApplicationInput) Validate() error {
16339	invalidParams := request.ErrInvalidParams{Context: "UpdateRobotApplicationInput"}
16340	if s.Application == nil {
16341		invalidParams.Add(request.NewErrParamRequired("Application"))
16342	}
16343	if s.Application != nil && len(*s.Application) < 1 {
16344		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
16345	}
16346	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
16347		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
16348	}
16349	if s.RobotSoftwareSuite == nil {
16350		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
16351	}
16352	if s.Sources == nil {
16353		invalidParams.Add(request.NewErrParamRequired("Sources"))
16354	}
16355	if s.Sources != nil {
16356		for i, v := range s.Sources {
16357			if v == nil {
16358				continue
16359			}
16360			if err := v.Validate(); err != nil {
16361				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
16362			}
16363		}
16364	}
16365
16366	if invalidParams.Len() > 0 {
16367		return invalidParams
16368	}
16369	return nil
16370}
16371
16372// SetApplication sets the Application field's value.
16373func (s *UpdateRobotApplicationInput) SetApplication(v string) *UpdateRobotApplicationInput {
16374	s.Application = &v
16375	return s
16376}
16377
16378// SetCurrentRevisionId sets the CurrentRevisionId field's value.
16379func (s *UpdateRobotApplicationInput) SetCurrentRevisionId(v string) *UpdateRobotApplicationInput {
16380	s.CurrentRevisionId = &v
16381	return s
16382}
16383
16384// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
16385func (s *UpdateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationInput {
16386	s.RobotSoftwareSuite = v
16387	return s
16388}
16389
16390// SetSources sets the Sources field's value.
16391func (s *UpdateRobotApplicationInput) SetSources(v []*SourceConfig) *UpdateRobotApplicationInput {
16392	s.Sources = v
16393	return s
16394}
16395
16396type UpdateRobotApplicationOutput struct {
16397	_ struct{} `type:"structure"`
16398
16399	// The Amazon Resource Name (ARN) of the updated robot application.
16400	Arn *string `locationName:"arn" min:"1" type:"string"`
16401
16402	// The time, in milliseconds since the epoch, when the robot application was
16403	// last updated.
16404	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
16405
16406	// The name of the robot application.
16407	Name *string `locationName:"name" min:"1" type:"string"`
16408
16409	// The revision id of the robot application.
16410	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
16411
16412	// The robot software suite (ROS distribution) used by the robot application.
16413	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
16414
16415	// The sources of the robot application.
16416	Sources []*Source `locationName:"sources" type:"list"`
16417
16418	// The version of the robot application.
16419	Version *string `locationName:"version" min:"1" type:"string"`
16420}
16421
16422// String returns the string representation
16423func (s UpdateRobotApplicationOutput) String() string {
16424	return awsutil.Prettify(s)
16425}
16426
16427// GoString returns the string representation
16428func (s UpdateRobotApplicationOutput) GoString() string {
16429	return s.String()
16430}
16431
16432// SetArn sets the Arn field's value.
16433func (s *UpdateRobotApplicationOutput) SetArn(v string) *UpdateRobotApplicationOutput {
16434	s.Arn = &v
16435	return s
16436}
16437
16438// SetLastUpdatedAt sets the LastUpdatedAt field's value.
16439func (s *UpdateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateRobotApplicationOutput {
16440	s.LastUpdatedAt = &v
16441	return s
16442}
16443
16444// SetName sets the Name field's value.
16445func (s *UpdateRobotApplicationOutput) SetName(v string) *UpdateRobotApplicationOutput {
16446	s.Name = &v
16447	return s
16448}
16449
16450// SetRevisionId sets the RevisionId field's value.
16451func (s *UpdateRobotApplicationOutput) SetRevisionId(v string) *UpdateRobotApplicationOutput {
16452	s.RevisionId = &v
16453	return s
16454}
16455
16456// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
16457func (s *UpdateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationOutput {
16458	s.RobotSoftwareSuite = v
16459	return s
16460}
16461
16462// SetSources sets the Sources field's value.
16463func (s *UpdateRobotApplicationOutput) SetSources(v []*Source) *UpdateRobotApplicationOutput {
16464	s.Sources = v
16465	return s
16466}
16467
16468// SetVersion sets the Version field's value.
16469func (s *UpdateRobotApplicationOutput) SetVersion(v string) *UpdateRobotApplicationOutput {
16470	s.Version = &v
16471	return s
16472}
16473
16474type UpdateSimulationApplicationInput struct {
16475	_ struct{} `type:"structure"`
16476
16477	// The application information for the simulation application.
16478	//
16479	// Application is a required field
16480	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
16481
16482	// The revision id for the robot application.
16483	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
16484
16485	// The rendering engine for the simulation application.
16486	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
16487
16488	// Information about the robot software suite (ROS distribution).
16489	//
16490	// RobotSoftwareSuite is a required field
16491	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
16492
16493	// The simulation software suite used by the simulation application.
16494	//
16495	// SimulationSoftwareSuite is a required field
16496	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
16497
16498	// The sources of the simulation application.
16499	//
16500	// Sources is a required field
16501	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
16502}
16503
16504// String returns the string representation
16505func (s UpdateSimulationApplicationInput) String() string {
16506	return awsutil.Prettify(s)
16507}
16508
16509// GoString returns the string representation
16510func (s UpdateSimulationApplicationInput) GoString() string {
16511	return s.String()
16512}
16513
16514// Validate inspects the fields of the type to determine if they are valid.
16515func (s *UpdateSimulationApplicationInput) Validate() error {
16516	invalidParams := request.ErrInvalidParams{Context: "UpdateSimulationApplicationInput"}
16517	if s.Application == nil {
16518		invalidParams.Add(request.NewErrParamRequired("Application"))
16519	}
16520	if s.Application != nil && len(*s.Application) < 1 {
16521		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
16522	}
16523	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
16524		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
16525	}
16526	if s.RobotSoftwareSuite == nil {
16527		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
16528	}
16529	if s.SimulationSoftwareSuite == nil {
16530		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
16531	}
16532	if s.Sources == nil {
16533		invalidParams.Add(request.NewErrParamRequired("Sources"))
16534	}
16535	if s.RenderingEngine != nil {
16536		if err := s.RenderingEngine.Validate(); err != nil {
16537			invalidParams.AddNested("RenderingEngine", err.(request.ErrInvalidParams))
16538		}
16539	}
16540	if s.Sources != nil {
16541		for i, v := range s.Sources {
16542			if v == nil {
16543				continue
16544			}
16545			if err := v.Validate(); err != nil {
16546				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
16547			}
16548		}
16549	}
16550
16551	if invalidParams.Len() > 0 {
16552		return invalidParams
16553	}
16554	return nil
16555}
16556
16557// SetApplication sets the Application field's value.
16558func (s *UpdateSimulationApplicationInput) SetApplication(v string) *UpdateSimulationApplicationInput {
16559	s.Application = &v
16560	return s
16561}
16562
16563// SetCurrentRevisionId sets the CurrentRevisionId field's value.
16564func (s *UpdateSimulationApplicationInput) SetCurrentRevisionId(v string) *UpdateSimulationApplicationInput {
16565	s.CurrentRevisionId = &v
16566	return s
16567}
16568
16569// SetRenderingEngine sets the RenderingEngine field's value.
16570func (s *UpdateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationInput {
16571	s.RenderingEngine = v
16572	return s
16573}
16574
16575// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
16576func (s *UpdateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationInput {
16577	s.RobotSoftwareSuite = v
16578	return s
16579}
16580
16581// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
16582func (s *UpdateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationInput {
16583	s.SimulationSoftwareSuite = v
16584	return s
16585}
16586
16587// SetSources sets the Sources field's value.
16588func (s *UpdateSimulationApplicationInput) SetSources(v []*SourceConfig) *UpdateSimulationApplicationInput {
16589	s.Sources = v
16590	return s
16591}
16592
16593type UpdateSimulationApplicationOutput struct {
16594	_ struct{} `type:"structure"`
16595
16596	// The Amazon Resource Name (ARN) of the updated simulation application.
16597	Arn *string `locationName:"arn" min:"1" type:"string"`
16598
16599	// The time, in milliseconds since the epoch, when the simulation application
16600	// was last updated.
16601	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
16602
16603	// The name of the simulation application.
16604	Name *string `locationName:"name" min:"1" type:"string"`
16605
16606	// The rendering engine for the simulation application.
16607	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
16608
16609	// The revision id of the simulation application.
16610	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
16611
16612	// Information about the robot software suite (ROS distribution).
16613	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
16614
16615	// The simulation software suite used by the simulation application.
16616	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
16617
16618	// The sources of the simulation application.
16619	Sources []*Source `locationName:"sources" type:"list"`
16620
16621	// The version of the robot application.
16622	Version *string `locationName:"version" min:"1" type:"string"`
16623}
16624
16625// String returns the string representation
16626func (s UpdateSimulationApplicationOutput) String() string {
16627	return awsutil.Prettify(s)
16628}
16629
16630// GoString returns the string representation
16631func (s UpdateSimulationApplicationOutput) GoString() string {
16632	return s.String()
16633}
16634
16635// SetArn sets the Arn field's value.
16636func (s *UpdateSimulationApplicationOutput) SetArn(v string) *UpdateSimulationApplicationOutput {
16637	s.Arn = &v
16638	return s
16639}
16640
16641// SetLastUpdatedAt sets the LastUpdatedAt field's value.
16642func (s *UpdateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateSimulationApplicationOutput {
16643	s.LastUpdatedAt = &v
16644	return s
16645}
16646
16647// SetName sets the Name field's value.
16648func (s *UpdateSimulationApplicationOutput) SetName(v string) *UpdateSimulationApplicationOutput {
16649	s.Name = &v
16650	return s
16651}
16652
16653// SetRenderingEngine sets the RenderingEngine field's value.
16654func (s *UpdateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationOutput {
16655	s.RenderingEngine = v
16656	return s
16657}
16658
16659// SetRevisionId sets the RevisionId field's value.
16660func (s *UpdateSimulationApplicationOutput) SetRevisionId(v string) *UpdateSimulationApplicationOutput {
16661	s.RevisionId = &v
16662	return s
16663}
16664
16665// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
16666func (s *UpdateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationOutput {
16667	s.RobotSoftwareSuite = v
16668	return s
16669}
16670
16671// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
16672func (s *UpdateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationOutput {
16673	s.SimulationSoftwareSuite = v
16674	return s
16675}
16676
16677// SetSources sets the Sources field's value.
16678func (s *UpdateSimulationApplicationOutput) SetSources(v []*Source) *UpdateSimulationApplicationOutput {
16679	s.Sources = v
16680	return s
16681}
16682
16683// SetVersion sets the Version field's value.
16684func (s *UpdateSimulationApplicationOutput) SetVersion(v string) *UpdateSimulationApplicationOutput {
16685	s.Version = &v
16686	return s
16687}
16688
16689type UpdateWorldTemplateInput struct {
16690	_ struct{} `type:"structure"`
16691
16692	// The name of the template.
16693	Name *string `locationName:"name" type:"string"`
16694
16695	// The Amazon Resource Name (arn) of the world template to update.
16696	//
16697	// Template is a required field
16698	Template *string `locationName:"template" min:"1" type:"string" required:"true"`
16699
16700	// The world template body.
16701	TemplateBody *string `locationName:"templateBody" min:"1" type:"string"`
16702
16703	// The location of the world template.
16704	TemplateLocation *TemplateLocation `locationName:"templateLocation" type:"structure"`
16705}
16706
16707// String returns the string representation
16708func (s UpdateWorldTemplateInput) String() string {
16709	return awsutil.Prettify(s)
16710}
16711
16712// GoString returns the string representation
16713func (s UpdateWorldTemplateInput) GoString() string {
16714	return s.String()
16715}
16716
16717// Validate inspects the fields of the type to determine if they are valid.
16718func (s *UpdateWorldTemplateInput) Validate() error {
16719	invalidParams := request.ErrInvalidParams{Context: "UpdateWorldTemplateInput"}
16720	if s.Template == nil {
16721		invalidParams.Add(request.NewErrParamRequired("Template"))
16722	}
16723	if s.Template != nil && len(*s.Template) < 1 {
16724		invalidParams.Add(request.NewErrParamMinLen("Template", 1))
16725	}
16726	if s.TemplateBody != nil && len(*s.TemplateBody) < 1 {
16727		invalidParams.Add(request.NewErrParamMinLen("TemplateBody", 1))
16728	}
16729	if s.TemplateLocation != nil {
16730		if err := s.TemplateLocation.Validate(); err != nil {
16731			invalidParams.AddNested("TemplateLocation", err.(request.ErrInvalidParams))
16732		}
16733	}
16734
16735	if invalidParams.Len() > 0 {
16736		return invalidParams
16737	}
16738	return nil
16739}
16740
16741// SetName sets the Name field's value.
16742func (s *UpdateWorldTemplateInput) SetName(v string) *UpdateWorldTemplateInput {
16743	s.Name = &v
16744	return s
16745}
16746
16747// SetTemplate sets the Template field's value.
16748func (s *UpdateWorldTemplateInput) SetTemplate(v string) *UpdateWorldTemplateInput {
16749	s.Template = &v
16750	return s
16751}
16752
16753// SetTemplateBody sets the TemplateBody field's value.
16754func (s *UpdateWorldTemplateInput) SetTemplateBody(v string) *UpdateWorldTemplateInput {
16755	s.TemplateBody = &v
16756	return s
16757}
16758
16759// SetTemplateLocation sets the TemplateLocation field's value.
16760func (s *UpdateWorldTemplateInput) SetTemplateLocation(v *TemplateLocation) *UpdateWorldTemplateInput {
16761	s.TemplateLocation = v
16762	return s
16763}
16764
16765type UpdateWorldTemplateOutput struct {
16766	_ struct{} `type:"structure"`
16767
16768	// The Amazon Resource Name (arn) of the world template.
16769	Arn *string `locationName:"arn" min:"1" type:"string"`
16770
16771	// The time, in milliseconds since the epoch, when the world template was created.
16772	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
16773
16774	// The time, in milliseconds since the epoch, when the world template was last
16775	// updated.
16776	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
16777
16778	// The name of the world template.
16779	Name *string `locationName:"name" type:"string"`
16780}
16781
16782// String returns the string representation
16783func (s UpdateWorldTemplateOutput) String() string {
16784	return awsutil.Prettify(s)
16785}
16786
16787// GoString returns the string representation
16788func (s UpdateWorldTemplateOutput) GoString() string {
16789	return s.String()
16790}
16791
16792// SetArn sets the Arn field's value.
16793func (s *UpdateWorldTemplateOutput) SetArn(v string) *UpdateWorldTemplateOutput {
16794	s.Arn = &v
16795	return s
16796}
16797
16798// SetCreatedAt sets the CreatedAt field's value.
16799func (s *UpdateWorldTemplateOutput) SetCreatedAt(v time.Time) *UpdateWorldTemplateOutput {
16800	s.CreatedAt = &v
16801	return s
16802}
16803
16804// SetLastUpdatedAt sets the LastUpdatedAt field's value.
16805func (s *UpdateWorldTemplateOutput) SetLastUpdatedAt(v time.Time) *UpdateWorldTemplateOutput {
16806	s.LastUpdatedAt = &v
16807	return s
16808}
16809
16810// SetName sets the Name field's value.
16811func (s *UpdateWorldTemplateOutput) SetName(v string) *UpdateWorldTemplateOutput {
16812	s.Name = &v
16813	return s
16814}
16815
16816// Provides upload configuration information. Files are uploaded from the simulation
16817// job to a location you specify.
16818type UploadConfiguration struct {
16819	_ struct{} `type:"structure"`
16820
16821	// A prefix that specifies where files will be uploaded in Amazon S3. It is
16822	// appended to the simulation output location to determine the final path.
16823	//
16824	// For example, if your simulation output location is s3://my-bucket and your
16825	// upload configuration name is robot-test, your files will be uploaded to s3://my-bucket/<simid>/<runid>/robot-test.
16826	//
16827	// Name is a required field
16828	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
16829
16830	// Specifies the path of the file(s) to upload. Standard Unix glob matching
16831	// rules are accepted, with the addition of ** as a super asterisk. For example,
16832	// specifying /var/log/**.log causes all .log files in the /var/log directory
16833	// tree to be collected. For more examples, see Glob Library (https://github.com/gobwas/glob).
16834	//
16835	// Path is a required field
16836	Path *string `locationName:"path" min:"1" type:"string" required:"true"`
16837
16838	// Specifies how to upload the files:
16839	//
16840	// UPLOAD_ON_TERMINATE
16841	//
16842	// Matching files are uploaded once the simulation enters the TERMINATING state.
16843	// Matching files are not uploaded until all of your code (including tools)
16844	// have stopped.
16845	//
16846	// If there is a problem uploading a file, the upload is retried. If problems
16847	// persist, no further upload attempts will be made.
16848	//
16849	// UPLOAD_ROLLING_AUTO_REMOVE
16850	//
16851	// Matching files are uploaded as they are created. They are deleted after they
16852	// are uploaded. The specified path is checked every 5 seconds. A final check
16853	// is made when all of your code (including tools) have stopped.
16854	//
16855	// UploadBehavior is a required field
16856	UploadBehavior *string `locationName:"uploadBehavior" type:"string" required:"true" enum:"UploadBehavior"`
16857}
16858
16859// String returns the string representation
16860func (s UploadConfiguration) String() string {
16861	return awsutil.Prettify(s)
16862}
16863
16864// GoString returns the string representation
16865func (s UploadConfiguration) GoString() string {
16866	return s.String()
16867}
16868
16869// Validate inspects the fields of the type to determine if they are valid.
16870func (s *UploadConfiguration) Validate() error {
16871	invalidParams := request.ErrInvalidParams{Context: "UploadConfiguration"}
16872	if s.Name == nil {
16873		invalidParams.Add(request.NewErrParamRequired("Name"))
16874	}
16875	if s.Name != nil && len(*s.Name) < 1 {
16876		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
16877	}
16878	if s.Path == nil {
16879		invalidParams.Add(request.NewErrParamRequired("Path"))
16880	}
16881	if s.Path != nil && len(*s.Path) < 1 {
16882		invalidParams.Add(request.NewErrParamMinLen("Path", 1))
16883	}
16884	if s.UploadBehavior == nil {
16885		invalidParams.Add(request.NewErrParamRequired("UploadBehavior"))
16886	}
16887
16888	if invalidParams.Len() > 0 {
16889		return invalidParams
16890	}
16891	return nil
16892}
16893
16894// SetName sets the Name field's value.
16895func (s *UploadConfiguration) SetName(v string) *UploadConfiguration {
16896	s.Name = &v
16897	return s
16898}
16899
16900// SetPath sets the Path field's value.
16901func (s *UploadConfiguration) SetPath(v string) *UploadConfiguration {
16902	s.Path = &v
16903	return s
16904}
16905
16906// SetUploadBehavior sets the UploadBehavior field's value.
16907func (s *UploadConfiguration) SetUploadBehavior(v string) *UploadConfiguration {
16908	s.UploadBehavior = &v
16909	return s
16910}
16911
16912// If your simulation job accesses resources in a VPC, you provide this parameter
16913// identifying the list of security group IDs and subnet IDs. These must belong
16914// to the same VPC. You must provide at least one security group and two subnet
16915// IDs.
16916type VPCConfig struct {
16917	_ struct{} `type:"structure"`
16918
16919	// A boolean indicating whether to assign a public IP address.
16920	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
16921
16922	// A list of one or more security groups IDs in your VPC.
16923	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
16924
16925	// A list of one or more subnet IDs in your VPC.
16926	//
16927	// Subnets is a required field
16928	Subnets []*string `locationName:"subnets" min:"1" type:"list" required:"true"`
16929}
16930
16931// String returns the string representation
16932func (s VPCConfig) String() string {
16933	return awsutil.Prettify(s)
16934}
16935
16936// GoString returns the string representation
16937func (s VPCConfig) GoString() string {
16938	return s.String()
16939}
16940
16941// Validate inspects the fields of the type to determine if they are valid.
16942func (s *VPCConfig) Validate() error {
16943	invalidParams := request.ErrInvalidParams{Context: "VPCConfig"}
16944	if s.SecurityGroups != nil && len(s.SecurityGroups) < 1 {
16945		invalidParams.Add(request.NewErrParamMinLen("SecurityGroups", 1))
16946	}
16947	if s.Subnets == nil {
16948		invalidParams.Add(request.NewErrParamRequired("Subnets"))
16949	}
16950	if s.Subnets != nil && len(s.Subnets) < 1 {
16951		invalidParams.Add(request.NewErrParamMinLen("Subnets", 1))
16952	}
16953
16954	if invalidParams.Len() > 0 {
16955		return invalidParams
16956	}
16957	return nil
16958}
16959
16960// SetAssignPublicIp sets the AssignPublicIp field's value.
16961func (s *VPCConfig) SetAssignPublicIp(v bool) *VPCConfig {
16962	s.AssignPublicIp = &v
16963	return s
16964}
16965
16966// SetSecurityGroups sets the SecurityGroups field's value.
16967func (s *VPCConfig) SetSecurityGroups(v []*string) *VPCConfig {
16968	s.SecurityGroups = v
16969	return s
16970}
16971
16972// SetSubnets sets the Subnets field's value.
16973func (s *VPCConfig) SetSubnets(v []*string) *VPCConfig {
16974	s.Subnets = v
16975	return s
16976}
16977
16978// VPC configuration associated with your simulation job.
16979type VPCConfigResponse struct {
16980	_ struct{} `type:"structure"`
16981
16982	// A boolean indicating if a public IP was assigned.
16983	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
16984
16985	// A list of security group IDs associated with the simulation job.
16986	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
16987
16988	// A list of subnet IDs associated with the simulation job.
16989	Subnets []*string `locationName:"subnets" min:"1" type:"list"`
16990
16991	// The VPC ID associated with your simulation job.
16992	VpcId *string `locationName:"vpcId" type:"string"`
16993}
16994
16995// String returns the string representation
16996func (s VPCConfigResponse) String() string {
16997	return awsutil.Prettify(s)
16998}
16999
17000// GoString returns the string representation
17001func (s VPCConfigResponse) GoString() string {
17002	return s.String()
17003}
17004
17005// SetAssignPublicIp sets the AssignPublicIp field's value.
17006func (s *VPCConfigResponse) SetAssignPublicIp(v bool) *VPCConfigResponse {
17007	s.AssignPublicIp = &v
17008	return s
17009}
17010
17011// SetSecurityGroups sets the SecurityGroups field's value.
17012func (s *VPCConfigResponse) SetSecurityGroups(v []*string) *VPCConfigResponse {
17013	s.SecurityGroups = v
17014	return s
17015}
17016
17017// SetSubnets sets the Subnets field's value.
17018func (s *VPCConfigResponse) SetSubnets(v []*string) *VPCConfigResponse {
17019	s.Subnets = v
17020	return s
17021}
17022
17023// SetVpcId sets the VpcId field's value.
17024func (s *VPCConfigResponse) SetVpcId(v string) *VPCConfigResponse {
17025	s.VpcId = &v
17026	return s
17027}
17028
17029// Configuration information for a world.
17030type WorldConfig struct {
17031	_ struct{} `type:"structure"`
17032
17033	// The world generated by Simulation WorldForge.
17034	World *string `locationName:"world" min:"1" type:"string"`
17035}
17036
17037// String returns the string representation
17038func (s WorldConfig) String() string {
17039	return awsutil.Prettify(s)
17040}
17041
17042// GoString returns the string representation
17043func (s WorldConfig) GoString() string {
17044	return s.String()
17045}
17046
17047// Validate inspects the fields of the type to determine if they are valid.
17048func (s *WorldConfig) Validate() error {
17049	invalidParams := request.ErrInvalidParams{Context: "WorldConfig"}
17050	if s.World != nil && len(*s.World) < 1 {
17051		invalidParams.Add(request.NewErrParamMinLen("World", 1))
17052	}
17053
17054	if invalidParams.Len() > 0 {
17055		return invalidParams
17056	}
17057	return nil
17058}
17059
17060// SetWorld sets the World field's value.
17061func (s *WorldConfig) SetWorld(v string) *WorldConfig {
17062	s.World = &v
17063	return s
17064}
17065
17066// The number of worlds that will be created. You can configure the number of
17067// unique floorplans and the number of unique interiors for each floor plan.
17068// For example, if you want 1 world with 20 unique interiors, you set floorplanCount
17069// = 1 and interiorCountPerFloorplan = 20. This will result in 20 worlds (floorplanCount
17070// * interiorCountPerFloorplan).
17071//
17072// If you set floorplanCount = 4 and interiorCountPerFloorplan = 5, there will
17073// be 20 worlds with 5 unique floor plans.
17074type WorldCount struct {
17075	_ struct{} `type:"structure"`
17076
17077	// The number of unique floorplans.
17078	FloorplanCount *int64 `locationName:"floorplanCount" type:"integer"`
17079
17080	// The number of unique interiors per floorplan.
17081	InteriorCountPerFloorplan *int64 `locationName:"interiorCountPerFloorplan" type:"integer"`
17082}
17083
17084// String returns the string representation
17085func (s WorldCount) String() string {
17086	return awsutil.Prettify(s)
17087}
17088
17089// GoString returns the string representation
17090func (s WorldCount) GoString() string {
17091	return s.String()
17092}
17093
17094// SetFloorplanCount sets the FloorplanCount field's value.
17095func (s *WorldCount) SetFloorplanCount(v int64) *WorldCount {
17096	s.FloorplanCount = &v
17097	return s
17098}
17099
17100// SetInteriorCountPerFloorplan sets the InteriorCountPerFloorplan field's value.
17101func (s *WorldCount) SetInteriorCountPerFloorplan(v int64) *WorldCount {
17102	s.InteriorCountPerFloorplan = &v
17103	return s
17104}
17105
17106// Information about a world export job.
17107type WorldExportJobSummary struct {
17108	_ struct{} `type:"structure"`
17109
17110	// The Amazon Resource Name (ARN) of the world export job.
17111	Arn *string `locationName:"arn" min:"1" type:"string"`
17112
17113	// The time, in milliseconds since the epoch, when the world export job was
17114	// created.
17115	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17116
17117	// The status of the world export job.
17118	//
17119	// Pending
17120	//
17121	// The world export job request is pending.
17122	//
17123	// Running
17124	//
17125	// The world export job is running.
17126	//
17127	// Completed
17128	//
17129	// The world export job completed.
17130	//
17131	// Failed
17132	//
17133	// The world export job failed. See failureCode for more information.
17134	//
17135	// Canceled
17136	//
17137	// The world export job was cancelled.
17138	//
17139	// Canceling
17140	//
17141	// The world export job is being cancelled.
17142	Status *string `locationName:"status" type:"string" enum:"WorldExportJobStatus"`
17143
17144	// A list of worlds.
17145	Worlds []*string `locationName:"worlds" min:"1" type:"list"`
17146}
17147
17148// String returns the string representation
17149func (s WorldExportJobSummary) String() string {
17150	return awsutil.Prettify(s)
17151}
17152
17153// GoString returns the string representation
17154func (s WorldExportJobSummary) GoString() string {
17155	return s.String()
17156}
17157
17158// SetArn sets the Arn field's value.
17159func (s *WorldExportJobSummary) SetArn(v string) *WorldExportJobSummary {
17160	s.Arn = &v
17161	return s
17162}
17163
17164// SetCreatedAt sets the CreatedAt field's value.
17165func (s *WorldExportJobSummary) SetCreatedAt(v time.Time) *WorldExportJobSummary {
17166	s.CreatedAt = &v
17167	return s
17168}
17169
17170// SetStatus sets the Status field's value.
17171func (s *WorldExportJobSummary) SetStatus(v string) *WorldExportJobSummary {
17172	s.Status = &v
17173	return s
17174}
17175
17176// SetWorlds sets the Worlds field's value.
17177func (s *WorldExportJobSummary) SetWorlds(v []*string) *WorldExportJobSummary {
17178	s.Worlds = v
17179	return s
17180}
17181
17182// Information about a failed world.
17183type WorldFailure struct {
17184	_ struct{} `type:"structure"`
17185
17186	// The failure code of the world export job if it failed:
17187	//
17188	// InternalServiceError
17189	//
17190	// Internal service error.
17191	//
17192	// LimitExceeded
17193	//
17194	// The requested resource exceeds the maximum number allowed, or the number
17195	// of concurrent stream requests exceeds the maximum number allowed.
17196	//
17197	// ResourceNotFound
17198	//
17199	// The specified resource could not be found.
17200	//
17201	// RequestThrottled
17202	//
17203	// The request was throttled.
17204	//
17205	// InvalidInput
17206	//
17207	// An input parameter in the request is not valid.
17208	FailureCode *string `locationName:"failureCode" type:"string" enum:"WorldGenerationJobErrorCode"`
17209
17210	// The number of failed worlds.
17211	FailureCount *int64 `locationName:"failureCount" type:"integer"`
17212
17213	// The sample reason why the world failed. World errors are aggregated. A sample
17214	// is used as the sampleFailureReason.
17215	SampleFailureReason *string `locationName:"sampleFailureReason" type:"string"`
17216}
17217
17218// String returns the string representation
17219func (s WorldFailure) String() string {
17220	return awsutil.Prettify(s)
17221}
17222
17223// GoString returns the string representation
17224func (s WorldFailure) GoString() string {
17225	return s.String()
17226}
17227
17228// SetFailureCode sets the FailureCode field's value.
17229func (s *WorldFailure) SetFailureCode(v string) *WorldFailure {
17230	s.FailureCode = &v
17231	return s
17232}
17233
17234// SetFailureCount sets the FailureCount field's value.
17235func (s *WorldFailure) SetFailureCount(v int64) *WorldFailure {
17236	s.FailureCount = &v
17237	return s
17238}
17239
17240// SetSampleFailureReason sets the SampleFailureReason field's value.
17241func (s *WorldFailure) SetSampleFailureReason(v string) *WorldFailure {
17242	s.SampleFailureReason = &v
17243	return s
17244}
17245
17246// Information about a world generator job.
17247type WorldGenerationJobSummary struct {
17248	_ struct{} `type:"structure"`
17249
17250	// The Amazon Resource Name (ARN) of the world generator job.
17251	Arn *string `locationName:"arn" min:"1" type:"string"`
17252
17253	// The time, in milliseconds since the epoch, when the world generator job was
17254	// created.
17255	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17256
17257	// The number of worlds that failed.
17258	FailedWorldCount *int64 `locationName:"failedWorldCount" type:"integer"`
17259
17260	// The status of the world generator job:
17261	//
17262	// Pending
17263	//
17264	// The world generator job request is pending.
17265	//
17266	// Running
17267	//
17268	// The world generator job is running.
17269	//
17270	// Completed
17271	//
17272	// The world generator job completed.
17273	//
17274	// Failed
17275	//
17276	// The world generator job failed. See failureCode for more information.
17277	//
17278	// PartialFailed
17279	//
17280	// Some worlds did not generate.
17281	//
17282	// Canceled
17283	//
17284	// The world generator job was cancelled.
17285	//
17286	// Canceling
17287	//
17288	// The world generator job is being cancelled.
17289	Status *string `locationName:"status" type:"string" enum:"WorldGenerationJobStatus"`
17290
17291	// The number of worlds that were generated.
17292	SucceededWorldCount *int64 `locationName:"succeededWorldCount" type:"integer"`
17293
17294	// The Amazon Resource Name (arn) of the world template.
17295	Template *string `locationName:"template" min:"1" type:"string"`
17296
17297	// Information about the world count.
17298	WorldCount *WorldCount `locationName:"worldCount" type:"structure"`
17299}
17300
17301// String returns the string representation
17302func (s WorldGenerationJobSummary) String() string {
17303	return awsutil.Prettify(s)
17304}
17305
17306// GoString returns the string representation
17307func (s WorldGenerationJobSummary) GoString() string {
17308	return s.String()
17309}
17310
17311// SetArn sets the Arn field's value.
17312func (s *WorldGenerationJobSummary) SetArn(v string) *WorldGenerationJobSummary {
17313	s.Arn = &v
17314	return s
17315}
17316
17317// SetCreatedAt sets the CreatedAt field's value.
17318func (s *WorldGenerationJobSummary) SetCreatedAt(v time.Time) *WorldGenerationJobSummary {
17319	s.CreatedAt = &v
17320	return s
17321}
17322
17323// SetFailedWorldCount sets the FailedWorldCount field's value.
17324func (s *WorldGenerationJobSummary) SetFailedWorldCount(v int64) *WorldGenerationJobSummary {
17325	s.FailedWorldCount = &v
17326	return s
17327}
17328
17329// SetStatus sets the Status field's value.
17330func (s *WorldGenerationJobSummary) SetStatus(v string) *WorldGenerationJobSummary {
17331	s.Status = &v
17332	return s
17333}
17334
17335// SetSucceededWorldCount sets the SucceededWorldCount field's value.
17336func (s *WorldGenerationJobSummary) SetSucceededWorldCount(v int64) *WorldGenerationJobSummary {
17337	s.SucceededWorldCount = &v
17338	return s
17339}
17340
17341// SetTemplate sets the Template field's value.
17342func (s *WorldGenerationJobSummary) SetTemplate(v string) *WorldGenerationJobSummary {
17343	s.Template = &v
17344	return s
17345}
17346
17347// SetWorldCount sets the WorldCount field's value.
17348func (s *WorldGenerationJobSummary) SetWorldCount(v *WorldCount) *WorldGenerationJobSummary {
17349	s.WorldCount = v
17350	return s
17351}
17352
17353// Information about a world.
17354type WorldSummary struct {
17355	_ struct{} `type:"structure"`
17356
17357	// The Amazon Resource Name (ARN) of the world.
17358	Arn *string `locationName:"arn" min:"1" type:"string"`
17359
17360	// The time, in milliseconds since the epoch, when the world was created.
17361	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
17362
17363	// The Amazon Resource Name (arn) of the world generation job.
17364	GenerationJob *string `locationName:"generationJob" min:"1" type:"string"`
17365
17366	// The Amazon Resource Name (arn) of the world template.
17367	Template *string `locationName:"template" min:"1" type:"string"`
17368}
17369
17370// String returns the string representation
17371func (s WorldSummary) String() string {
17372	return awsutil.Prettify(s)
17373}
17374
17375// GoString returns the string representation
17376func (s WorldSummary) GoString() string {
17377	return s.String()
17378}
17379
17380// SetArn sets the Arn field's value.
17381func (s *WorldSummary) SetArn(v string) *WorldSummary {
17382	s.Arn = &v
17383	return s
17384}
17385
17386// SetCreatedAt sets the CreatedAt field's value.
17387func (s *WorldSummary) SetCreatedAt(v time.Time) *WorldSummary {
17388	s.CreatedAt = &v
17389	return s
17390}
17391
17392// SetGenerationJob sets the GenerationJob field's value.
17393func (s *WorldSummary) SetGenerationJob(v string) *WorldSummary {
17394	s.GenerationJob = &v
17395	return s
17396}
17397
17398// SetTemplate sets the Template field's value.
17399func (s *WorldSummary) SetTemplate(v string) *WorldSummary {
17400	s.Template = &v
17401	return s
17402}
17403
17404const (
17405	// ArchitectureX8664 is a Architecture enum value
17406	ArchitectureX8664 = "X86_64"
17407
17408	// ArchitectureArm64 is a Architecture enum value
17409	ArchitectureArm64 = "ARM64"
17410
17411	// ArchitectureArmhf is a Architecture enum value
17412	ArchitectureArmhf = "ARMHF"
17413)
17414
17415// Architecture_Values returns all elements of the Architecture enum
17416func Architecture_Values() []string {
17417	return []string{
17418		ArchitectureX8664,
17419		ArchitectureArm64,
17420		ArchitectureArmhf,
17421	}
17422}
17423
17424const (
17425	// DeploymentJobErrorCodeResourceNotFound is a DeploymentJobErrorCode enum value
17426	DeploymentJobErrorCodeResourceNotFound = "ResourceNotFound"
17427
17428	// DeploymentJobErrorCodeEnvironmentSetupError is a DeploymentJobErrorCode enum value
17429	DeploymentJobErrorCodeEnvironmentSetupError = "EnvironmentSetupError"
17430
17431	// DeploymentJobErrorCodeEtagMismatch is a DeploymentJobErrorCode enum value
17432	DeploymentJobErrorCodeEtagMismatch = "EtagMismatch"
17433
17434	// DeploymentJobErrorCodeFailureThresholdBreached is a DeploymentJobErrorCode enum value
17435	DeploymentJobErrorCodeFailureThresholdBreached = "FailureThresholdBreached"
17436
17437	// DeploymentJobErrorCodeRobotDeploymentAborted is a DeploymentJobErrorCode enum value
17438	DeploymentJobErrorCodeRobotDeploymentAborted = "RobotDeploymentAborted"
17439
17440	// DeploymentJobErrorCodeRobotDeploymentNoResponse is a DeploymentJobErrorCode enum value
17441	DeploymentJobErrorCodeRobotDeploymentNoResponse = "RobotDeploymentNoResponse"
17442
17443	// DeploymentJobErrorCodeRobotAgentConnectionTimeout is a DeploymentJobErrorCode enum value
17444	DeploymentJobErrorCodeRobotAgentConnectionTimeout = "RobotAgentConnectionTimeout"
17445
17446	// DeploymentJobErrorCodeGreengrassDeploymentFailed is a DeploymentJobErrorCode enum value
17447	DeploymentJobErrorCodeGreengrassDeploymentFailed = "GreengrassDeploymentFailed"
17448
17449	// DeploymentJobErrorCodeInvalidGreengrassGroup is a DeploymentJobErrorCode enum value
17450	DeploymentJobErrorCodeInvalidGreengrassGroup = "InvalidGreengrassGroup"
17451
17452	// DeploymentJobErrorCodeMissingRobotArchitecture is a DeploymentJobErrorCode enum value
17453	DeploymentJobErrorCodeMissingRobotArchitecture = "MissingRobotArchitecture"
17454
17455	// DeploymentJobErrorCodeMissingRobotApplicationArchitecture is a DeploymentJobErrorCode enum value
17456	DeploymentJobErrorCodeMissingRobotApplicationArchitecture = "MissingRobotApplicationArchitecture"
17457
17458	// DeploymentJobErrorCodeMissingRobotDeploymentResource is a DeploymentJobErrorCode enum value
17459	DeploymentJobErrorCodeMissingRobotDeploymentResource = "MissingRobotDeploymentResource"
17460
17461	// DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist is a DeploymentJobErrorCode enum value
17462	DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist = "GreengrassGroupVersionDoesNotExist"
17463
17464	// DeploymentJobErrorCodeLambdaDeleted is a DeploymentJobErrorCode enum value
17465	DeploymentJobErrorCodeLambdaDeleted = "LambdaDeleted"
17466
17467	// DeploymentJobErrorCodeExtractingBundleFailure is a DeploymentJobErrorCode enum value
17468	DeploymentJobErrorCodeExtractingBundleFailure = "ExtractingBundleFailure"
17469
17470	// DeploymentJobErrorCodePreLaunchFileFailure is a DeploymentJobErrorCode enum value
17471	DeploymentJobErrorCodePreLaunchFileFailure = "PreLaunchFileFailure"
17472
17473	// DeploymentJobErrorCodePostLaunchFileFailure is a DeploymentJobErrorCode enum value
17474	DeploymentJobErrorCodePostLaunchFileFailure = "PostLaunchFileFailure"
17475
17476	// DeploymentJobErrorCodeBadPermissionError is a DeploymentJobErrorCode enum value
17477	DeploymentJobErrorCodeBadPermissionError = "BadPermissionError"
17478
17479	// DeploymentJobErrorCodeDownloadConditionFailed is a DeploymentJobErrorCode enum value
17480	DeploymentJobErrorCodeDownloadConditionFailed = "DownloadConditionFailed"
17481
17482	// DeploymentJobErrorCodeInternalServerError is a DeploymentJobErrorCode enum value
17483	DeploymentJobErrorCodeInternalServerError = "InternalServerError"
17484)
17485
17486// DeploymentJobErrorCode_Values returns all elements of the DeploymentJobErrorCode enum
17487func DeploymentJobErrorCode_Values() []string {
17488	return []string{
17489		DeploymentJobErrorCodeResourceNotFound,
17490		DeploymentJobErrorCodeEnvironmentSetupError,
17491		DeploymentJobErrorCodeEtagMismatch,
17492		DeploymentJobErrorCodeFailureThresholdBreached,
17493		DeploymentJobErrorCodeRobotDeploymentAborted,
17494		DeploymentJobErrorCodeRobotDeploymentNoResponse,
17495		DeploymentJobErrorCodeRobotAgentConnectionTimeout,
17496		DeploymentJobErrorCodeGreengrassDeploymentFailed,
17497		DeploymentJobErrorCodeInvalidGreengrassGroup,
17498		DeploymentJobErrorCodeMissingRobotArchitecture,
17499		DeploymentJobErrorCodeMissingRobotApplicationArchitecture,
17500		DeploymentJobErrorCodeMissingRobotDeploymentResource,
17501		DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist,
17502		DeploymentJobErrorCodeLambdaDeleted,
17503		DeploymentJobErrorCodeExtractingBundleFailure,
17504		DeploymentJobErrorCodePreLaunchFileFailure,
17505		DeploymentJobErrorCodePostLaunchFileFailure,
17506		DeploymentJobErrorCodeBadPermissionError,
17507		DeploymentJobErrorCodeDownloadConditionFailed,
17508		DeploymentJobErrorCodeInternalServerError,
17509	}
17510}
17511
17512const (
17513	// DeploymentStatusPending is a DeploymentStatus enum value
17514	DeploymentStatusPending = "Pending"
17515
17516	// DeploymentStatusPreparing is a DeploymentStatus enum value
17517	DeploymentStatusPreparing = "Preparing"
17518
17519	// DeploymentStatusInProgress is a DeploymentStatus enum value
17520	DeploymentStatusInProgress = "InProgress"
17521
17522	// DeploymentStatusFailed is a DeploymentStatus enum value
17523	DeploymentStatusFailed = "Failed"
17524
17525	// DeploymentStatusSucceeded is a DeploymentStatus enum value
17526	DeploymentStatusSucceeded = "Succeeded"
17527
17528	// DeploymentStatusCanceled is a DeploymentStatus enum value
17529	DeploymentStatusCanceled = "Canceled"
17530)
17531
17532// DeploymentStatus_Values returns all elements of the DeploymentStatus enum
17533func DeploymentStatus_Values() []string {
17534	return []string{
17535		DeploymentStatusPending,
17536		DeploymentStatusPreparing,
17537		DeploymentStatusInProgress,
17538		DeploymentStatusFailed,
17539		DeploymentStatusSucceeded,
17540		DeploymentStatusCanceled,
17541	}
17542}
17543
17544const (
17545	// FailureBehaviorFail is a FailureBehavior enum value
17546	FailureBehaviorFail = "Fail"
17547
17548	// FailureBehaviorContinue is a FailureBehavior enum value
17549	FailureBehaviorContinue = "Continue"
17550)
17551
17552// FailureBehavior_Values returns all elements of the FailureBehavior enum
17553func FailureBehavior_Values() []string {
17554	return []string{
17555		FailureBehaviorFail,
17556		FailureBehaviorContinue,
17557	}
17558}
17559
17560const (
17561	// RenderingEngineTypeOgre is a RenderingEngineType enum value
17562	RenderingEngineTypeOgre = "OGRE"
17563)
17564
17565// RenderingEngineType_Values returns all elements of the RenderingEngineType enum
17566func RenderingEngineType_Values() []string {
17567	return []string{
17568		RenderingEngineTypeOgre,
17569	}
17570}
17571
17572const (
17573	// RobotDeploymentStepValidating is a RobotDeploymentStep enum value
17574	RobotDeploymentStepValidating = "Validating"
17575
17576	// RobotDeploymentStepDownloadingExtracting is a RobotDeploymentStep enum value
17577	RobotDeploymentStepDownloadingExtracting = "DownloadingExtracting"
17578
17579	// RobotDeploymentStepExecutingDownloadCondition is a RobotDeploymentStep enum value
17580	RobotDeploymentStepExecutingDownloadCondition = "ExecutingDownloadCondition"
17581
17582	// RobotDeploymentStepExecutingPreLaunch is a RobotDeploymentStep enum value
17583	RobotDeploymentStepExecutingPreLaunch = "ExecutingPreLaunch"
17584
17585	// RobotDeploymentStepLaunching is a RobotDeploymentStep enum value
17586	RobotDeploymentStepLaunching = "Launching"
17587
17588	// RobotDeploymentStepExecutingPostLaunch is a RobotDeploymentStep enum value
17589	RobotDeploymentStepExecutingPostLaunch = "ExecutingPostLaunch"
17590
17591	// RobotDeploymentStepFinished is a RobotDeploymentStep enum value
17592	RobotDeploymentStepFinished = "Finished"
17593)
17594
17595// RobotDeploymentStep_Values returns all elements of the RobotDeploymentStep enum
17596func RobotDeploymentStep_Values() []string {
17597	return []string{
17598		RobotDeploymentStepValidating,
17599		RobotDeploymentStepDownloadingExtracting,
17600		RobotDeploymentStepExecutingDownloadCondition,
17601		RobotDeploymentStepExecutingPreLaunch,
17602		RobotDeploymentStepLaunching,
17603		RobotDeploymentStepExecutingPostLaunch,
17604		RobotDeploymentStepFinished,
17605	}
17606}
17607
17608const (
17609	// RobotSoftwareSuiteTypeRos is a RobotSoftwareSuiteType enum value
17610	RobotSoftwareSuiteTypeRos = "ROS"
17611
17612	// RobotSoftwareSuiteTypeRos2 is a RobotSoftwareSuiteType enum value
17613	RobotSoftwareSuiteTypeRos2 = "ROS2"
17614)
17615
17616// RobotSoftwareSuiteType_Values returns all elements of the RobotSoftwareSuiteType enum
17617func RobotSoftwareSuiteType_Values() []string {
17618	return []string{
17619		RobotSoftwareSuiteTypeRos,
17620		RobotSoftwareSuiteTypeRos2,
17621	}
17622}
17623
17624const (
17625	// RobotSoftwareSuiteVersionTypeKinetic is a RobotSoftwareSuiteVersionType enum value
17626	RobotSoftwareSuiteVersionTypeKinetic = "Kinetic"
17627
17628	// RobotSoftwareSuiteVersionTypeMelodic is a RobotSoftwareSuiteVersionType enum value
17629	RobotSoftwareSuiteVersionTypeMelodic = "Melodic"
17630
17631	// RobotSoftwareSuiteVersionTypeDashing is a RobotSoftwareSuiteVersionType enum value
17632	RobotSoftwareSuiteVersionTypeDashing = "Dashing"
17633)
17634
17635// RobotSoftwareSuiteVersionType_Values returns all elements of the RobotSoftwareSuiteVersionType enum
17636func RobotSoftwareSuiteVersionType_Values() []string {
17637	return []string{
17638		RobotSoftwareSuiteVersionTypeKinetic,
17639		RobotSoftwareSuiteVersionTypeMelodic,
17640		RobotSoftwareSuiteVersionTypeDashing,
17641	}
17642}
17643
17644const (
17645	// RobotStatusAvailable is a RobotStatus enum value
17646	RobotStatusAvailable = "Available"
17647
17648	// RobotStatusRegistered is a RobotStatus enum value
17649	RobotStatusRegistered = "Registered"
17650
17651	// RobotStatusPendingNewDeployment is a RobotStatus enum value
17652	RobotStatusPendingNewDeployment = "PendingNewDeployment"
17653
17654	// RobotStatusDeploying is a RobotStatus enum value
17655	RobotStatusDeploying = "Deploying"
17656
17657	// RobotStatusFailed is a RobotStatus enum value
17658	RobotStatusFailed = "Failed"
17659
17660	// RobotStatusInSync is a RobotStatus enum value
17661	RobotStatusInSync = "InSync"
17662
17663	// RobotStatusNoResponse is a RobotStatus enum value
17664	RobotStatusNoResponse = "NoResponse"
17665)
17666
17667// RobotStatus_Values returns all elements of the RobotStatus enum
17668func RobotStatus_Values() []string {
17669	return []string{
17670		RobotStatusAvailable,
17671		RobotStatusRegistered,
17672		RobotStatusPendingNewDeployment,
17673		RobotStatusDeploying,
17674		RobotStatusFailed,
17675		RobotStatusInSync,
17676		RobotStatusNoResponse,
17677	}
17678}
17679
17680const (
17681	// SimulationJobBatchErrorCodeInternalServiceError is a SimulationJobBatchErrorCode enum value
17682	SimulationJobBatchErrorCodeInternalServiceError = "InternalServiceError"
17683)
17684
17685// SimulationJobBatchErrorCode_Values returns all elements of the SimulationJobBatchErrorCode enum
17686func SimulationJobBatchErrorCode_Values() []string {
17687	return []string{
17688		SimulationJobBatchErrorCodeInternalServiceError,
17689	}
17690}
17691
17692const (
17693	// SimulationJobBatchStatusPending is a SimulationJobBatchStatus enum value
17694	SimulationJobBatchStatusPending = "Pending"
17695
17696	// SimulationJobBatchStatusInProgress is a SimulationJobBatchStatus enum value
17697	SimulationJobBatchStatusInProgress = "InProgress"
17698
17699	// SimulationJobBatchStatusFailed is a SimulationJobBatchStatus enum value
17700	SimulationJobBatchStatusFailed = "Failed"
17701
17702	// SimulationJobBatchStatusCompleted is a SimulationJobBatchStatus enum value
17703	SimulationJobBatchStatusCompleted = "Completed"
17704
17705	// SimulationJobBatchStatusCanceled is a SimulationJobBatchStatus enum value
17706	SimulationJobBatchStatusCanceled = "Canceled"
17707
17708	// SimulationJobBatchStatusCanceling is a SimulationJobBatchStatus enum value
17709	SimulationJobBatchStatusCanceling = "Canceling"
17710
17711	// SimulationJobBatchStatusCompleting is a SimulationJobBatchStatus enum value
17712	SimulationJobBatchStatusCompleting = "Completing"
17713
17714	// SimulationJobBatchStatusTimingOut is a SimulationJobBatchStatus enum value
17715	SimulationJobBatchStatusTimingOut = "TimingOut"
17716
17717	// SimulationJobBatchStatusTimedOut is a SimulationJobBatchStatus enum value
17718	SimulationJobBatchStatusTimedOut = "TimedOut"
17719)
17720
17721// SimulationJobBatchStatus_Values returns all elements of the SimulationJobBatchStatus enum
17722func SimulationJobBatchStatus_Values() []string {
17723	return []string{
17724		SimulationJobBatchStatusPending,
17725		SimulationJobBatchStatusInProgress,
17726		SimulationJobBatchStatusFailed,
17727		SimulationJobBatchStatusCompleted,
17728		SimulationJobBatchStatusCanceled,
17729		SimulationJobBatchStatusCanceling,
17730		SimulationJobBatchStatusCompleting,
17731		SimulationJobBatchStatusTimingOut,
17732		SimulationJobBatchStatusTimedOut,
17733	}
17734}
17735
17736const (
17737	// SimulationJobErrorCodeInternalServiceError is a SimulationJobErrorCode enum value
17738	SimulationJobErrorCodeInternalServiceError = "InternalServiceError"
17739
17740	// SimulationJobErrorCodeRobotApplicationCrash is a SimulationJobErrorCode enum value
17741	SimulationJobErrorCodeRobotApplicationCrash = "RobotApplicationCrash"
17742
17743	// SimulationJobErrorCodeSimulationApplicationCrash is a SimulationJobErrorCode enum value
17744	SimulationJobErrorCodeSimulationApplicationCrash = "SimulationApplicationCrash"
17745
17746	// SimulationJobErrorCodeBadPermissionsRobotApplication is a SimulationJobErrorCode enum value
17747	SimulationJobErrorCodeBadPermissionsRobotApplication = "BadPermissionsRobotApplication"
17748
17749	// SimulationJobErrorCodeBadPermissionsSimulationApplication is a SimulationJobErrorCode enum value
17750	SimulationJobErrorCodeBadPermissionsSimulationApplication = "BadPermissionsSimulationApplication"
17751
17752	// SimulationJobErrorCodeBadPermissionsS3object is a SimulationJobErrorCode enum value
17753	SimulationJobErrorCodeBadPermissionsS3object = "BadPermissionsS3Object"
17754
17755	// SimulationJobErrorCodeBadPermissionsS3output is a SimulationJobErrorCode enum value
17756	SimulationJobErrorCodeBadPermissionsS3output = "BadPermissionsS3Output"
17757
17758	// SimulationJobErrorCodeBadPermissionsCloudwatchLogs is a SimulationJobErrorCode enum value
17759	SimulationJobErrorCodeBadPermissionsCloudwatchLogs = "BadPermissionsCloudwatchLogs"
17760
17761	// SimulationJobErrorCodeSubnetIpLimitExceeded is a SimulationJobErrorCode enum value
17762	SimulationJobErrorCodeSubnetIpLimitExceeded = "SubnetIpLimitExceeded"
17763
17764	// SimulationJobErrorCodeEnilimitExceeded is a SimulationJobErrorCode enum value
17765	SimulationJobErrorCodeEnilimitExceeded = "ENILimitExceeded"
17766
17767	// SimulationJobErrorCodeBadPermissionsUserCredentials is a SimulationJobErrorCode enum value
17768	SimulationJobErrorCodeBadPermissionsUserCredentials = "BadPermissionsUserCredentials"
17769
17770	// SimulationJobErrorCodeInvalidBundleRobotApplication is a SimulationJobErrorCode enum value
17771	SimulationJobErrorCodeInvalidBundleRobotApplication = "InvalidBundleRobotApplication"
17772
17773	// SimulationJobErrorCodeInvalidBundleSimulationApplication is a SimulationJobErrorCode enum value
17774	SimulationJobErrorCodeInvalidBundleSimulationApplication = "InvalidBundleSimulationApplication"
17775
17776	// SimulationJobErrorCodeInvalidS3resource is a SimulationJobErrorCode enum value
17777	SimulationJobErrorCodeInvalidS3resource = "InvalidS3Resource"
17778
17779	// SimulationJobErrorCodeLimitExceeded is a SimulationJobErrorCode enum value
17780	SimulationJobErrorCodeLimitExceeded = "LimitExceeded"
17781
17782	// SimulationJobErrorCodeMismatchedEtag is a SimulationJobErrorCode enum value
17783	SimulationJobErrorCodeMismatchedEtag = "MismatchedEtag"
17784
17785	// SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
17786	SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag = "RobotApplicationVersionMismatchedEtag"
17787
17788	// SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
17789	SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag = "SimulationApplicationVersionMismatchedEtag"
17790
17791	// SimulationJobErrorCodeResourceNotFound is a SimulationJobErrorCode enum value
17792	SimulationJobErrorCodeResourceNotFound = "ResourceNotFound"
17793
17794	// SimulationJobErrorCodeRequestThrottled is a SimulationJobErrorCode enum value
17795	SimulationJobErrorCodeRequestThrottled = "RequestThrottled"
17796
17797	// SimulationJobErrorCodeBatchTimedOut is a SimulationJobErrorCode enum value
17798	SimulationJobErrorCodeBatchTimedOut = "BatchTimedOut"
17799
17800	// SimulationJobErrorCodeBatchCanceled is a SimulationJobErrorCode enum value
17801	SimulationJobErrorCodeBatchCanceled = "BatchCanceled"
17802
17803	// SimulationJobErrorCodeInvalidInput is a SimulationJobErrorCode enum value
17804	SimulationJobErrorCodeInvalidInput = "InvalidInput"
17805
17806	// SimulationJobErrorCodeWrongRegionS3bucket is a SimulationJobErrorCode enum value
17807	SimulationJobErrorCodeWrongRegionS3bucket = "WrongRegionS3Bucket"
17808
17809	// SimulationJobErrorCodeWrongRegionS3output is a SimulationJobErrorCode enum value
17810	SimulationJobErrorCodeWrongRegionS3output = "WrongRegionS3Output"
17811
17812	// SimulationJobErrorCodeWrongRegionRobotApplication is a SimulationJobErrorCode enum value
17813	SimulationJobErrorCodeWrongRegionRobotApplication = "WrongRegionRobotApplication"
17814
17815	// SimulationJobErrorCodeWrongRegionSimulationApplication is a SimulationJobErrorCode enum value
17816	SimulationJobErrorCodeWrongRegionSimulationApplication = "WrongRegionSimulationApplication"
17817
17818	// SimulationJobErrorCodeUploadContentMismatchError is a SimulationJobErrorCode enum value
17819	SimulationJobErrorCodeUploadContentMismatchError = "UploadContentMismatchError"
17820)
17821
17822// SimulationJobErrorCode_Values returns all elements of the SimulationJobErrorCode enum
17823func SimulationJobErrorCode_Values() []string {
17824	return []string{
17825		SimulationJobErrorCodeInternalServiceError,
17826		SimulationJobErrorCodeRobotApplicationCrash,
17827		SimulationJobErrorCodeSimulationApplicationCrash,
17828		SimulationJobErrorCodeBadPermissionsRobotApplication,
17829		SimulationJobErrorCodeBadPermissionsSimulationApplication,
17830		SimulationJobErrorCodeBadPermissionsS3object,
17831		SimulationJobErrorCodeBadPermissionsS3output,
17832		SimulationJobErrorCodeBadPermissionsCloudwatchLogs,
17833		SimulationJobErrorCodeSubnetIpLimitExceeded,
17834		SimulationJobErrorCodeEnilimitExceeded,
17835		SimulationJobErrorCodeBadPermissionsUserCredentials,
17836		SimulationJobErrorCodeInvalidBundleRobotApplication,
17837		SimulationJobErrorCodeInvalidBundleSimulationApplication,
17838		SimulationJobErrorCodeInvalidS3resource,
17839		SimulationJobErrorCodeLimitExceeded,
17840		SimulationJobErrorCodeMismatchedEtag,
17841		SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag,
17842		SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag,
17843		SimulationJobErrorCodeResourceNotFound,
17844		SimulationJobErrorCodeRequestThrottled,
17845		SimulationJobErrorCodeBatchTimedOut,
17846		SimulationJobErrorCodeBatchCanceled,
17847		SimulationJobErrorCodeInvalidInput,
17848		SimulationJobErrorCodeWrongRegionS3bucket,
17849		SimulationJobErrorCodeWrongRegionS3output,
17850		SimulationJobErrorCodeWrongRegionRobotApplication,
17851		SimulationJobErrorCodeWrongRegionSimulationApplication,
17852		SimulationJobErrorCodeUploadContentMismatchError,
17853	}
17854}
17855
17856const (
17857	// SimulationJobStatusPending is a SimulationJobStatus enum value
17858	SimulationJobStatusPending = "Pending"
17859
17860	// SimulationJobStatusPreparing is a SimulationJobStatus enum value
17861	SimulationJobStatusPreparing = "Preparing"
17862
17863	// SimulationJobStatusRunning is a SimulationJobStatus enum value
17864	SimulationJobStatusRunning = "Running"
17865
17866	// SimulationJobStatusRestarting is a SimulationJobStatus enum value
17867	SimulationJobStatusRestarting = "Restarting"
17868
17869	// SimulationJobStatusCompleted is a SimulationJobStatus enum value
17870	SimulationJobStatusCompleted = "Completed"
17871
17872	// SimulationJobStatusFailed is a SimulationJobStatus enum value
17873	SimulationJobStatusFailed = "Failed"
17874
17875	// SimulationJobStatusRunningFailed is a SimulationJobStatus enum value
17876	SimulationJobStatusRunningFailed = "RunningFailed"
17877
17878	// SimulationJobStatusTerminating is a SimulationJobStatus enum value
17879	SimulationJobStatusTerminating = "Terminating"
17880
17881	// SimulationJobStatusTerminated is a SimulationJobStatus enum value
17882	SimulationJobStatusTerminated = "Terminated"
17883
17884	// SimulationJobStatusCanceled is a SimulationJobStatus enum value
17885	SimulationJobStatusCanceled = "Canceled"
17886)
17887
17888// SimulationJobStatus_Values returns all elements of the SimulationJobStatus enum
17889func SimulationJobStatus_Values() []string {
17890	return []string{
17891		SimulationJobStatusPending,
17892		SimulationJobStatusPreparing,
17893		SimulationJobStatusRunning,
17894		SimulationJobStatusRestarting,
17895		SimulationJobStatusCompleted,
17896		SimulationJobStatusFailed,
17897		SimulationJobStatusRunningFailed,
17898		SimulationJobStatusTerminating,
17899		SimulationJobStatusTerminated,
17900		SimulationJobStatusCanceled,
17901	}
17902}
17903
17904const (
17905	// SimulationSoftwareSuiteTypeGazebo is a SimulationSoftwareSuiteType enum value
17906	SimulationSoftwareSuiteTypeGazebo = "Gazebo"
17907
17908	// SimulationSoftwareSuiteTypeRosbagPlay is a SimulationSoftwareSuiteType enum value
17909	SimulationSoftwareSuiteTypeRosbagPlay = "RosbagPlay"
17910)
17911
17912// SimulationSoftwareSuiteType_Values returns all elements of the SimulationSoftwareSuiteType enum
17913func SimulationSoftwareSuiteType_Values() []string {
17914	return []string{
17915		SimulationSoftwareSuiteTypeGazebo,
17916		SimulationSoftwareSuiteTypeRosbagPlay,
17917	}
17918}
17919
17920const (
17921	// UploadBehaviorUploadOnTerminate is a UploadBehavior enum value
17922	UploadBehaviorUploadOnTerminate = "UPLOAD_ON_TERMINATE"
17923
17924	// UploadBehaviorUploadRollingAutoRemove is a UploadBehavior enum value
17925	UploadBehaviorUploadRollingAutoRemove = "UPLOAD_ROLLING_AUTO_REMOVE"
17926)
17927
17928// UploadBehavior_Values returns all elements of the UploadBehavior enum
17929func UploadBehavior_Values() []string {
17930	return []string{
17931		UploadBehaviorUploadOnTerminate,
17932		UploadBehaviorUploadRollingAutoRemove,
17933	}
17934}
17935
17936const (
17937	// WorldExportJobErrorCodeInternalServiceError is a WorldExportJobErrorCode enum value
17938	WorldExportJobErrorCodeInternalServiceError = "InternalServiceError"
17939
17940	// WorldExportJobErrorCodeLimitExceeded is a WorldExportJobErrorCode enum value
17941	WorldExportJobErrorCodeLimitExceeded = "LimitExceeded"
17942
17943	// WorldExportJobErrorCodeResourceNotFound is a WorldExportJobErrorCode enum value
17944	WorldExportJobErrorCodeResourceNotFound = "ResourceNotFound"
17945
17946	// WorldExportJobErrorCodeRequestThrottled is a WorldExportJobErrorCode enum value
17947	WorldExportJobErrorCodeRequestThrottled = "RequestThrottled"
17948
17949	// WorldExportJobErrorCodeInvalidInput is a WorldExportJobErrorCode enum value
17950	WorldExportJobErrorCodeInvalidInput = "InvalidInput"
17951
17952	// WorldExportJobErrorCodeAccessDenied is a WorldExportJobErrorCode enum value
17953	WorldExportJobErrorCodeAccessDenied = "AccessDenied"
17954)
17955
17956// WorldExportJobErrorCode_Values returns all elements of the WorldExportJobErrorCode enum
17957func WorldExportJobErrorCode_Values() []string {
17958	return []string{
17959		WorldExportJobErrorCodeInternalServiceError,
17960		WorldExportJobErrorCodeLimitExceeded,
17961		WorldExportJobErrorCodeResourceNotFound,
17962		WorldExportJobErrorCodeRequestThrottled,
17963		WorldExportJobErrorCodeInvalidInput,
17964		WorldExportJobErrorCodeAccessDenied,
17965	}
17966}
17967
17968const (
17969	// WorldExportJobStatusPending is a WorldExportJobStatus enum value
17970	WorldExportJobStatusPending = "Pending"
17971
17972	// WorldExportJobStatusRunning is a WorldExportJobStatus enum value
17973	WorldExportJobStatusRunning = "Running"
17974
17975	// WorldExportJobStatusCompleted is a WorldExportJobStatus enum value
17976	WorldExportJobStatusCompleted = "Completed"
17977
17978	// WorldExportJobStatusFailed is a WorldExportJobStatus enum value
17979	WorldExportJobStatusFailed = "Failed"
17980
17981	// WorldExportJobStatusCanceling is a WorldExportJobStatus enum value
17982	WorldExportJobStatusCanceling = "Canceling"
17983
17984	// WorldExportJobStatusCanceled is a WorldExportJobStatus enum value
17985	WorldExportJobStatusCanceled = "Canceled"
17986)
17987
17988// WorldExportJobStatus_Values returns all elements of the WorldExportJobStatus enum
17989func WorldExportJobStatus_Values() []string {
17990	return []string{
17991		WorldExportJobStatusPending,
17992		WorldExportJobStatusRunning,
17993		WorldExportJobStatusCompleted,
17994		WorldExportJobStatusFailed,
17995		WorldExportJobStatusCanceling,
17996		WorldExportJobStatusCanceled,
17997	}
17998}
17999
18000const (
18001	// WorldGenerationJobErrorCodeInternalServiceError is a WorldGenerationJobErrorCode enum value
18002	WorldGenerationJobErrorCodeInternalServiceError = "InternalServiceError"
18003
18004	// WorldGenerationJobErrorCodeLimitExceeded is a WorldGenerationJobErrorCode enum value
18005	WorldGenerationJobErrorCodeLimitExceeded = "LimitExceeded"
18006
18007	// WorldGenerationJobErrorCodeResourceNotFound is a WorldGenerationJobErrorCode enum value
18008	WorldGenerationJobErrorCodeResourceNotFound = "ResourceNotFound"
18009
18010	// WorldGenerationJobErrorCodeRequestThrottled is a WorldGenerationJobErrorCode enum value
18011	WorldGenerationJobErrorCodeRequestThrottled = "RequestThrottled"
18012
18013	// WorldGenerationJobErrorCodeInvalidInput is a WorldGenerationJobErrorCode enum value
18014	WorldGenerationJobErrorCodeInvalidInput = "InvalidInput"
18015
18016	// WorldGenerationJobErrorCodeAllWorldGenerationFailed is a WorldGenerationJobErrorCode enum value
18017	WorldGenerationJobErrorCodeAllWorldGenerationFailed = "AllWorldGenerationFailed"
18018)
18019
18020// WorldGenerationJobErrorCode_Values returns all elements of the WorldGenerationJobErrorCode enum
18021func WorldGenerationJobErrorCode_Values() []string {
18022	return []string{
18023		WorldGenerationJobErrorCodeInternalServiceError,
18024		WorldGenerationJobErrorCodeLimitExceeded,
18025		WorldGenerationJobErrorCodeResourceNotFound,
18026		WorldGenerationJobErrorCodeRequestThrottled,
18027		WorldGenerationJobErrorCodeInvalidInput,
18028		WorldGenerationJobErrorCodeAllWorldGenerationFailed,
18029	}
18030}
18031
18032const (
18033	// WorldGenerationJobStatusPending is a WorldGenerationJobStatus enum value
18034	WorldGenerationJobStatusPending = "Pending"
18035
18036	// WorldGenerationJobStatusRunning is a WorldGenerationJobStatus enum value
18037	WorldGenerationJobStatusRunning = "Running"
18038
18039	// WorldGenerationJobStatusCompleted is a WorldGenerationJobStatus enum value
18040	WorldGenerationJobStatusCompleted = "Completed"
18041
18042	// WorldGenerationJobStatusFailed is a WorldGenerationJobStatus enum value
18043	WorldGenerationJobStatusFailed = "Failed"
18044
18045	// WorldGenerationJobStatusPartialFailed is a WorldGenerationJobStatus enum value
18046	WorldGenerationJobStatusPartialFailed = "PartialFailed"
18047
18048	// WorldGenerationJobStatusCanceling is a WorldGenerationJobStatus enum value
18049	WorldGenerationJobStatusCanceling = "Canceling"
18050
18051	// WorldGenerationJobStatusCanceled is a WorldGenerationJobStatus enum value
18052	WorldGenerationJobStatusCanceled = "Canceled"
18053)
18054
18055// WorldGenerationJobStatus_Values returns all elements of the WorldGenerationJobStatus enum
18056func WorldGenerationJobStatus_Values() []string {
18057	return []string{
18058		WorldGenerationJobStatusPending,
18059		WorldGenerationJobStatusRunning,
18060		WorldGenerationJobStatusCompleted,
18061		WorldGenerationJobStatusFailed,
18062		WorldGenerationJobStatusPartialFailed,
18063		WorldGenerationJobStatusCanceling,
18064		WorldGenerationJobStatusCanceled,
18065	}
18066}
18067