1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package robomaker
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opBatchDescribeSimulationJob = "BatchDescribeSimulationJob"
17
18// BatchDescribeSimulationJobRequest generates a "aws/request.Request" representing the
19// client's request for the BatchDescribeSimulationJob operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See BatchDescribeSimulationJob for more information on using the BatchDescribeSimulationJob
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the BatchDescribeSimulationJobRequest method.
34//    req, resp := client.BatchDescribeSimulationJobRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
42func (c *RoboMaker) BatchDescribeSimulationJobRequest(input *BatchDescribeSimulationJobInput) (req *request.Request, output *BatchDescribeSimulationJobOutput) {
43	op := &request.Operation{
44		Name:       opBatchDescribeSimulationJob,
45		HTTPMethod: "POST",
46		HTTPPath:   "/batchDescribeSimulationJob",
47	}
48
49	if input == nil {
50		input = &BatchDescribeSimulationJobInput{}
51	}
52
53	output = &BatchDescribeSimulationJobOutput{}
54	req = c.newRequest(op, input, output)
55	return
56}
57
58// BatchDescribeSimulationJob API operation for AWS RoboMaker.
59//
60// Describes one or more simulation jobs.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for AWS RoboMaker's
67// API operation BatchDescribeSimulationJob for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
71//   The specified resource does not exist.
72//
73//   * ErrCodeInvalidParameterException "InvalidParameterException"
74//   A parameter specified in a request is not valid, is unsupported, or cannot
75//   be used. The returned message provides an explanation of the error value.
76//
77//   * ErrCodeInternalServerException "InternalServerException"
78//   AWS RoboMaker experienced a service issue. Try your call again.
79//
80//   * ErrCodeThrottlingException "ThrottlingException"
81//   AWS RoboMaker is temporarily unable to process the request. Try your call
82//   again.
83//
84// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/BatchDescribeSimulationJob
85func (c *RoboMaker) BatchDescribeSimulationJob(input *BatchDescribeSimulationJobInput) (*BatchDescribeSimulationJobOutput, error) {
86	req, out := c.BatchDescribeSimulationJobRequest(input)
87	return out, req.Send()
88}
89
90// BatchDescribeSimulationJobWithContext is the same as BatchDescribeSimulationJob with the addition of
91// the ability to pass a context and additional request options.
92//
93// See BatchDescribeSimulationJob for details on how to use this API operation.
94//
95// The context must be non-nil and will be used for request cancellation. If
96// the context is nil a panic will occur. In the future the SDK may create
97// sub-contexts for http.Requests. See https://golang.org/pkg/context/
98// for more information on using Contexts.
99func (c *RoboMaker) BatchDescribeSimulationJobWithContext(ctx aws.Context, input *BatchDescribeSimulationJobInput, opts ...request.Option) (*BatchDescribeSimulationJobOutput, error) {
100	req, out := c.BatchDescribeSimulationJobRequest(input)
101	req.SetContext(ctx)
102	req.ApplyOptions(opts...)
103	return out, req.Send()
104}
105
106const opCancelDeploymentJob = "CancelDeploymentJob"
107
108// CancelDeploymentJobRequest generates a "aws/request.Request" representing the
109// client's request for the CancelDeploymentJob operation. The "output" return
110// value will be populated with the request's response once the request completes
111// successfully.
112//
113// Use "Send" method on the returned Request to send the API call to the service.
114// the "output" return value is not valid until after Send returns without error.
115//
116// See CancelDeploymentJob for more information on using the CancelDeploymentJob
117// API call, and error handling.
118//
119// This method is useful when you want to inject custom logic or configuration
120// into the SDK's request lifecycle. Such as custom headers, or retry logic.
121//
122//
123//    // Example sending a request using the CancelDeploymentJobRequest method.
124//    req, resp := client.CancelDeploymentJobRequest(params)
125//
126//    err := req.Send()
127//    if err == nil { // resp is now filled
128//        fmt.Println(resp)
129//    }
130//
131// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
132func (c *RoboMaker) CancelDeploymentJobRequest(input *CancelDeploymentJobInput) (req *request.Request, output *CancelDeploymentJobOutput) {
133	op := &request.Operation{
134		Name:       opCancelDeploymentJob,
135		HTTPMethod: "POST",
136		HTTPPath:   "/cancelDeploymentJob",
137	}
138
139	if input == nil {
140		input = &CancelDeploymentJobInput{}
141	}
142
143	output = &CancelDeploymentJobOutput{}
144	req = c.newRequest(op, input, output)
145	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
146	return
147}
148
149// CancelDeploymentJob API operation for AWS RoboMaker.
150//
151// Cancels the specified deployment job.
152//
153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
154// with awserr.Error's Code and Message methods to get detailed information about
155// the error.
156//
157// See the AWS API reference guide for AWS RoboMaker's
158// API operation CancelDeploymentJob for usage and error information.
159//
160// Returned Error Codes:
161//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
162//   The specified resource does not exist.
163//
164//   * ErrCodeInvalidParameterException "InvalidParameterException"
165//   A parameter specified in a request is not valid, is unsupported, or cannot
166//   be used. The returned message provides an explanation of the error value.
167//
168//   * ErrCodeInternalServerException "InternalServerException"
169//   AWS RoboMaker experienced a service issue. Try your call again.
170//
171//   * ErrCodeThrottlingException "ThrottlingException"
172//   AWS RoboMaker is temporarily unable to process the request. Try your call
173//   again.
174//
175// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelDeploymentJob
176func (c *RoboMaker) CancelDeploymentJob(input *CancelDeploymentJobInput) (*CancelDeploymentJobOutput, error) {
177	req, out := c.CancelDeploymentJobRequest(input)
178	return out, req.Send()
179}
180
181// CancelDeploymentJobWithContext is the same as CancelDeploymentJob with the addition of
182// the ability to pass a context and additional request options.
183//
184// See CancelDeploymentJob for details on how to use this API operation.
185//
186// The context must be non-nil and will be used for request cancellation. If
187// the context is nil a panic will occur. In the future the SDK may create
188// sub-contexts for http.Requests. See https://golang.org/pkg/context/
189// for more information on using Contexts.
190func (c *RoboMaker) CancelDeploymentJobWithContext(ctx aws.Context, input *CancelDeploymentJobInput, opts ...request.Option) (*CancelDeploymentJobOutput, error) {
191	req, out := c.CancelDeploymentJobRequest(input)
192	req.SetContext(ctx)
193	req.ApplyOptions(opts...)
194	return out, req.Send()
195}
196
197const opCancelSimulationJob = "CancelSimulationJob"
198
199// CancelSimulationJobRequest generates a "aws/request.Request" representing the
200// client's request for the CancelSimulationJob operation. The "output" return
201// value will be populated with the request's response once the request completes
202// successfully.
203//
204// Use "Send" method on the returned Request to send the API call to the service.
205// the "output" return value is not valid until after Send returns without error.
206//
207// See CancelSimulationJob for more information on using the CancelSimulationJob
208// API call, and error handling.
209//
210// This method is useful when you want to inject custom logic or configuration
211// into the SDK's request lifecycle. Such as custom headers, or retry logic.
212//
213//
214//    // Example sending a request using the CancelSimulationJobRequest method.
215//    req, resp := client.CancelSimulationJobRequest(params)
216//
217//    err := req.Send()
218//    if err == nil { // resp is now filled
219//        fmt.Println(resp)
220//    }
221//
222// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
223func (c *RoboMaker) CancelSimulationJobRequest(input *CancelSimulationJobInput) (req *request.Request, output *CancelSimulationJobOutput) {
224	op := &request.Operation{
225		Name:       opCancelSimulationJob,
226		HTTPMethod: "POST",
227		HTTPPath:   "/cancelSimulationJob",
228	}
229
230	if input == nil {
231		input = &CancelSimulationJobInput{}
232	}
233
234	output = &CancelSimulationJobOutput{}
235	req = c.newRequest(op, input, output)
236	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
237	return
238}
239
240// CancelSimulationJob API operation for AWS RoboMaker.
241//
242// Cancels the specified simulation job.
243//
244// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
245// with awserr.Error's Code and Message methods to get detailed information about
246// the error.
247//
248// See the AWS API reference guide for AWS RoboMaker's
249// API operation CancelSimulationJob for usage and error information.
250//
251// Returned Error Codes:
252//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
253//   The specified resource does not exist.
254//
255//   * ErrCodeInvalidParameterException "InvalidParameterException"
256//   A parameter specified in a request is not valid, is unsupported, or cannot
257//   be used. The returned message provides an explanation of the error value.
258//
259//   * ErrCodeInternalServerException "InternalServerException"
260//   AWS RoboMaker experienced a service issue. Try your call again.
261//
262//   * ErrCodeThrottlingException "ThrottlingException"
263//   AWS RoboMaker is temporarily unable to process the request. Try your call
264//   again.
265//
266// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CancelSimulationJob
267func (c *RoboMaker) CancelSimulationJob(input *CancelSimulationJobInput) (*CancelSimulationJobOutput, error) {
268	req, out := c.CancelSimulationJobRequest(input)
269	return out, req.Send()
270}
271
272// CancelSimulationJobWithContext is the same as CancelSimulationJob with the addition of
273// the ability to pass a context and additional request options.
274//
275// See CancelSimulationJob for details on how to use this API operation.
276//
277// The context must be non-nil and will be used for request cancellation. If
278// the context is nil a panic will occur. In the future the SDK may create
279// sub-contexts for http.Requests. See https://golang.org/pkg/context/
280// for more information on using Contexts.
281func (c *RoboMaker) CancelSimulationJobWithContext(ctx aws.Context, input *CancelSimulationJobInput, opts ...request.Option) (*CancelSimulationJobOutput, error) {
282	req, out := c.CancelSimulationJobRequest(input)
283	req.SetContext(ctx)
284	req.ApplyOptions(opts...)
285	return out, req.Send()
286}
287
288const opCreateDeploymentJob = "CreateDeploymentJob"
289
290// CreateDeploymentJobRequest generates a "aws/request.Request" representing the
291// client's request for the CreateDeploymentJob operation. The "output" return
292// value will be populated with the request's response once the request completes
293// successfully.
294//
295// Use "Send" method on the returned Request to send the API call to the service.
296// the "output" return value is not valid until after Send returns without error.
297//
298// See CreateDeploymentJob for more information on using the CreateDeploymentJob
299// API call, and error handling.
300//
301// This method is useful when you want to inject custom logic or configuration
302// into the SDK's request lifecycle. Such as custom headers, or retry logic.
303//
304//
305//    // Example sending a request using the CreateDeploymentJobRequest method.
306//    req, resp := client.CreateDeploymentJobRequest(params)
307//
308//    err := req.Send()
309//    if err == nil { // resp is now filled
310//        fmt.Println(resp)
311//    }
312//
313// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
314func (c *RoboMaker) CreateDeploymentJobRequest(input *CreateDeploymentJobInput) (req *request.Request, output *CreateDeploymentJobOutput) {
315	op := &request.Operation{
316		Name:       opCreateDeploymentJob,
317		HTTPMethod: "POST",
318		HTTPPath:   "/createDeploymentJob",
319	}
320
321	if input == nil {
322		input = &CreateDeploymentJobInput{}
323	}
324
325	output = &CreateDeploymentJobOutput{}
326	req = c.newRequest(op, input, output)
327	return
328}
329
330// CreateDeploymentJob API operation for AWS RoboMaker.
331//
332// Deploys a specific version of a robot application to robots in a fleet.
333//
334// The robot application must have a numbered applicationVersion for consistency
335// reasons. To create a new version, use CreateRobotApplicationVersion or see
336// Creating a Robot Application Version (https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html).
337//
338// After 90 days, deployment jobs expire and will be deleted. They will no longer
339// be accessible.
340//
341// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
342// with awserr.Error's Code and Message methods to get detailed information about
343// the error.
344//
345// See the AWS API reference guide for AWS RoboMaker's
346// API operation CreateDeploymentJob for usage and error information.
347//
348// Returned Error Codes:
349//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
350//   The specified resource does not exist.
351//
352//   * ErrCodeInvalidParameterException "InvalidParameterException"
353//   A parameter specified in a request is not valid, is unsupported, or cannot
354//   be used. The returned message provides an explanation of the error value.
355//
356//   * ErrCodeInternalServerException "InternalServerException"
357//   AWS RoboMaker experienced a service issue. Try your call again.
358//
359//   * ErrCodeThrottlingException "ThrottlingException"
360//   AWS RoboMaker is temporarily unable to process the request. Try your call
361//   again.
362//
363//   * ErrCodeLimitExceededException "LimitExceededException"
364//   The requested resource exceeds the maximum number allowed, or the number
365//   of concurrent stream requests exceeds the maximum number allowed.
366//
367//   * ErrCodeConcurrentDeploymentException "ConcurrentDeploymentException"
368//   The failure percentage threshold percentage was met.
369//
370//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
371//   The request uses the same client token as a previous, but non-identical request.
372//   Do not reuse a client token with different requests, unless the requests
373//   are identical.
374//
375// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateDeploymentJob
376func (c *RoboMaker) CreateDeploymentJob(input *CreateDeploymentJobInput) (*CreateDeploymentJobOutput, error) {
377	req, out := c.CreateDeploymentJobRequest(input)
378	return out, req.Send()
379}
380
381// CreateDeploymentJobWithContext is the same as CreateDeploymentJob with the addition of
382// the ability to pass a context and additional request options.
383//
384// See CreateDeploymentJob for details on how to use this API operation.
385//
386// The context must be non-nil and will be used for request cancellation. If
387// the context is nil a panic will occur. In the future the SDK may create
388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
389// for more information on using Contexts.
390func (c *RoboMaker) CreateDeploymentJobWithContext(ctx aws.Context, input *CreateDeploymentJobInput, opts ...request.Option) (*CreateDeploymentJobOutput, error) {
391	req, out := c.CreateDeploymentJobRequest(input)
392	req.SetContext(ctx)
393	req.ApplyOptions(opts...)
394	return out, req.Send()
395}
396
397const opCreateFleet = "CreateFleet"
398
399// CreateFleetRequest generates a "aws/request.Request" representing the
400// client's request for the CreateFleet operation. The "output" return
401// value will be populated with the request's response once the request completes
402// successfully.
403//
404// Use "Send" method on the returned Request to send the API call to the service.
405// the "output" return value is not valid until after Send returns without error.
406//
407// See CreateFleet for more information on using the CreateFleet
408// API call, and error handling.
409//
410// This method is useful when you want to inject custom logic or configuration
411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
412//
413//
414//    // Example sending a request using the CreateFleetRequest method.
415//    req, resp := client.CreateFleetRequest(params)
416//
417//    err := req.Send()
418//    if err == nil { // resp is now filled
419//        fmt.Println(resp)
420//    }
421//
422// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
423func (c *RoboMaker) CreateFleetRequest(input *CreateFleetInput) (req *request.Request, output *CreateFleetOutput) {
424	op := &request.Operation{
425		Name:       opCreateFleet,
426		HTTPMethod: "POST",
427		HTTPPath:   "/createFleet",
428	}
429
430	if input == nil {
431		input = &CreateFleetInput{}
432	}
433
434	output = &CreateFleetOutput{}
435	req = c.newRequest(op, input, output)
436	return
437}
438
439// CreateFleet API operation for AWS RoboMaker.
440//
441// Creates a fleet, a logical group of robots running the same robot application.
442//
443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
444// with awserr.Error's Code and Message methods to get detailed information about
445// the error.
446//
447// See the AWS API reference guide for AWS RoboMaker's
448// API operation CreateFleet for usage and error information.
449//
450// Returned Error Codes:
451//   * ErrCodeInvalidParameterException "InvalidParameterException"
452//   A parameter specified in a request is not valid, is unsupported, or cannot
453//   be used. The returned message provides an explanation of the error value.
454//
455//   * ErrCodeInternalServerException "InternalServerException"
456//   AWS RoboMaker experienced a service issue. Try your call again.
457//
458//   * ErrCodeThrottlingException "ThrottlingException"
459//   AWS RoboMaker is temporarily unable to process the request. Try your call
460//   again.
461//
462//   * ErrCodeLimitExceededException "LimitExceededException"
463//   The requested resource exceeds the maximum number allowed, or the number
464//   of concurrent stream requests exceeds the maximum number allowed.
465//
466// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateFleet
467func (c *RoboMaker) CreateFleet(input *CreateFleetInput) (*CreateFleetOutput, error) {
468	req, out := c.CreateFleetRequest(input)
469	return out, req.Send()
470}
471
472// CreateFleetWithContext is the same as CreateFleet with the addition of
473// the ability to pass a context and additional request options.
474//
475// See CreateFleet for details on how to use this API operation.
476//
477// The context must be non-nil and will be used for request cancellation. If
478// the context is nil a panic will occur. In the future the SDK may create
479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
480// for more information on using Contexts.
481func (c *RoboMaker) CreateFleetWithContext(ctx aws.Context, input *CreateFleetInput, opts ...request.Option) (*CreateFleetOutput, error) {
482	req, out := c.CreateFleetRequest(input)
483	req.SetContext(ctx)
484	req.ApplyOptions(opts...)
485	return out, req.Send()
486}
487
488const opCreateRobot = "CreateRobot"
489
490// CreateRobotRequest generates a "aws/request.Request" representing the
491// client's request for the CreateRobot operation. The "output" return
492// value will be populated with the request's response once the request completes
493// successfully.
494//
495// Use "Send" method on the returned Request to send the API call to the service.
496// the "output" return value is not valid until after Send returns without error.
497//
498// See CreateRobot for more information on using the CreateRobot
499// API call, and error handling.
500//
501// This method is useful when you want to inject custom logic or configuration
502// into the SDK's request lifecycle. Such as custom headers, or retry logic.
503//
504//
505//    // Example sending a request using the CreateRobotRequest method.
506//    req, resp := client.CreateRobotRequest(params)
507//
508//    err := req.Send()
509//    if err == nil { // resp is now filled
510//        fmt.Println(resp)
511//    }
512//
513// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
514func (c *RoboMaker) CreateRobotRequest(input *CreateRobotInput) (req *request.Request, output *CreateRobotOutput) {
515	op := &request.Operation{
516		Name:       opCreateRobot,
517		HTTPMethod: "POST",
518		HTTPPath:   "/createRobot",
519	}
520
521	if input == nil {
522		input = &CreateRobotInput{}
523	}
524
525	output = &CreateRobotOutput{}
526	req = c.newRequest(op, input, output)
527	return
528}
529
530// CreateRobot API operation for AWS RoboMaker.
531//
532// Creates a robot.
533//
534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
535// with awserr.Error's Code and Message methods to get detailed information about
536// the error.
537//
538// See the AWS API reference guide for AWS RoboMaker's
539// API operation CreateRobot for usage and error information.
540//
541// Returned Error Codes:
542//   * ErrCodeInvalidParameterException "InvalidParameterException"
543//   A parameter specified in a request is not valid, is unsupported, or cannot
544//   be used. The returned message provides an explanation of the error value.
545//
546//   * ErrCodeInternalServerException "InternalServerException"
547//   AWS RoboMaker experienced a service issue. Try your call again.
548//
549//   * ErrCodeThrottlingException "ThrottlingException"
550//   AWS RoboMaker is temporarily unable to process the request. Try your call
551//   again.
552//
553//   * ErrCodeLimitExceededException "LimitExceededException"
554//   The requested resource exceeds the maximum number allowed, or the number
555//   of concurrent stream requests exceeds the maximum number allowed.
556//
557//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
558//   The specified resource already exists.
559//
560// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobot
561func (c *RoboMaker) CreateRobot(input *CreateRobotInput) (*CreateRobotOutput, error) {
562	req, out := c.CreateRobotRequest(input)
563	return out, req.Send()
564}
565
566// CreateRobotWithContext is the same as CreateRobot with the addition of
567// the ability to pass a context and additional request options.
568//
569// See CreateRobot for details on how to use this API operation.
570//
571// The context must be non-nil and will be used for request cancellation. If
572// the context is nil a panic will occur. In the future the SDK may create
573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
574// for more information on using Contexts.
575func (c *RoboMaker) CreateRobotWithContext(ctx aws.Context, input *CreateRobotInput, opts ...request.Option) (*CreateRobotOutput, error) {
576	req, out := c.CreateRobotRequest(input)
577	req.SetContext(ctx)
578	req.ApplyOptions(opts...)
579	return out, req.Send()
580}
581
582const opCreateRobotApplication = "CreateRobotApplication"
583
584// CreateRobotApplicationRequest generates a "aws/request.Request" representing the
585// client's request for the CreateRobotApplication operation. The "output" return
586// value will be populated with the request's response once the request completes
587// successfully.
588//
589// Use "Send" method on the returned Request to send the API call to the service.
590// the "output" return value is not valid until after Send returns without error.
591//
592// See CreateRobotApplication for more information on using the CreateRobotApplication
593// API call, and error handling.
594//
595// This method is useful when you want to inject custom logic or configuration
596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
597//
598//
599//    // Example sending a request using the CreateRobotApplicationRequest method.
600//    req, resp := client.CreateRobotApplicationRequest(params)
601//
602//    err := req.Send()
603//    if err == nil { // resp is now filled
604//        fmt.Println(resp)
605//    }
606//
607// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
608func (c *RoboMaker) CreateRobotApplicationRequest(input *CreateRobotApplicationInput) (req *request.Request, output *CreateRobotApplicationOutput) {
609	op := &request.Operation{
610		Name:       opCreateRobotApplication,
611		HTTPMethod: "POST",
612		HTTPPath:   "/createRobotApplication",
613	}
614
615	if input == nil {
616		input = &CreateRobotApplicationInput{}
617	}
618
619	output = &CreateRobotApplicationOutput{}
620	req = c.newRequest(op, input, output)
621	return
622}
623
624// CreateRobotApplication API operation for AWS RoboMaker.
625//
626// Creates a robot application.
627//
628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
629// with awserr.Error's Code and Message methods to get detailed information about
630// the error.
631//
632// See the AWS API reference guide for AWS RoboMaker's
633// API operation CreateRobotApplication for usage and error information.
634//
635// Returned Error Codes:
636//   * ErrCodeInvalidParameterException "InvalidParameterException"
637//   A parameter specified in a request is not valid, is unsupported, or cannot
638//   be used. The returned message provides an explanation of the error value.
639//
640//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
641//   The specified resource already exists.
642//
643//   * ErrCodeLimitExceededException "LimitExceededException"
644//   The requested resource exceeds the maximum number allowed, or the number
645//   of concurrent stream requests exceeds the maximum number allowed.
646//
647//   * ErrCodeThrottlingException "ThrottlingException"
648//   AWS RoboMaker is temporarily unable to process the request. Try your call
649//   again.
650//
651//   * ErrCodeInternalServerException "InternalServerException"
652//   AWS RoboMaker experienced a service issue. Try your call again.
653//
654//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
655//   The request uses the same client token as a previous, but non-identical request.
656//   Do not reuse a client token with different requests, unless the requests
657//   are identical.
658//
659// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplication
660func (c *RoboMaker) CreateRobotApplication(input *CreateRobotApplicationInput) (*CreateRobotApplicationOutput, error) {
661	req, out := c.CreateRobotApplicationRequest(input)
662	return out, req.Send()
663}
664
665// CreateRobotApplicationWithContext is the same as CreateRobotApplication with the addition of
666// the ability to pass a context and additional request options.
667//
668// See CreateRobotApplication for details on how to use this API operation.
669//
670// The context must be non-nil and will be used for request cancellation. If
671// the context is nil a panic will occur. In the future the SDK may create
672// sub-contexts for http.Requests. See https://golang.org/pkg/context/
673// for more information on using Contexts.
674func (c *RoboMaker) CreateRobotApplicationWithContext(ctx aws.Context, input *CreateRobotApplicationInput, opts ...request.Option) (*CreateRobotApplicationOutput, error) {
675	req, out := c.CreateRobotApplicationRequest(input)
676	req.SetContext(ctx)
677	req.ApplyOptions(opts...)
678	return out, req.Send()
679}
680
681const opCreateRobotApplicationVersion = "CreateRobotApplicationVersion"
682
683// CreateRobotApplicationVersionRequest generates a "aws/request.Request" representing the
684// client's request for the CreateRobotApplicationVersion operation. The "output" return
685// value will be populated with the request's response once the request completes
686// successfully.
687//
688// Use "Send" method on the returned Request to send the API call to the service.
689// the "output" return value is not valid until after Send returns without error.
690//
691// See CreateRobotApplicationVersion for more information on using the CreateRobotApplicationVersion
692// API call, and error handling.
693//
694// This method is useful when you want to inject custom logic or configuration
695// into the SDK's request lifecycle. Such as custom headers, or retry logic.
696//
697//
698//    // Example sending a request using the CreateRobotApplicationVersionRequest method.
699//    req, resp := client.CreateRobotApplicationVersionRequest(params)
700//
701//    err := req.Send()
702//    if err == nil { // resp is now filled
703//        fmt.Println(resp)
704//    }
705//
706// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
707func (c *RoboMaker) CreateRobotApplicationVersionRequest(input *CreateRobotApplicationVersionInput) (req *request.Request, output *CreateRobotApplicationVersionOutput) {
708	op := &request.Operation{
709		Name:       opCreateRobotApplicationVersion,
710		HTTPMethod: "POST",
711		HTTPPath:   "/createRobotApplicationVersion",
712	}
713
714	if input == nil {
715		input = &CreateRobotApplicationVersionInput{}
716	}
717
718	output = &CreateRobotApplicationVersionOutput{}
719	req = c.newRequest(op, input, output)
720	return
721}
722
723// CreateRobotApplicationVersion API operation for AWS RoboMaker.
724//
725// Creates a version of a robot application.
726//
727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
728// with awserr.Error's Code and Message methods to get detailed information about
729// the error.
730//
731// See the AWS API reference guide for AWS RoboMaker's
732// API operation CreateRobotApplicationVersion for usage and error information.
733//
734// Returned Error Codes:
735//   * ErrCodeInvalidParameterException "InvalidParameterException"
736//   A parameter specified in a request is not valid, is unsupported, or cannot
737//   be used. The returned message provides an explanation of the error value.
738//
739//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
740//   The request uses the same client token as a previous, but non-identical request.
741//   Do not reuse a client token with different requests, unless the requests
742//   are identical.
743//
744//   * ErrCodeLimitExceededException "LimitExceededException"
745//   The requested resource exceeds the maximum number allowed, or the number
746//   of concurrent stream requests exceeds the maximum number allowed.
747//
748//   * ErrCodeThrottlingException "ThrottlingException"
749//   AWS RoboMaker is temporarily unable to process the request. Try your call
750//   again.
751//
752//   * ErrCodeInternalServerException "InternalServerException"
753//   AWS RoboMaker experienced a service issue. Try your call again.
754//
755// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateRobotApplicationVersion
756func (c *RoboMaker) CreateRobotApplicationVersion(input *CreateRobotApplicationVersionInput) (*CreateRobotApplicationVersionOutput, error) {
757	req, out := c.CreateRobotApplicationVersionRequest(input)
758	return out, req.Send()
759}
760
761// CreateRobotApplicationVersionWithContext is the same as CreateRobotApplicationVersion with the addition of
762// the ability to pass a context and additional request options.
763//
764// See CreateRobotApplicationVersion for details on how to use this API operation.
765//
766// The context must be non-nil and will be used for request cancellation. If
767// the context is nil a panic will occur. In the future the SDK may create
768// sub-contexts for http.Requests. See https://golang.org/pkg/context/
769// for more information on using Contexts.
770func (c *RoboMaker) CreateRobotApplicationVersionWithContext(ctx aws.Context, input *CreateRobotApplicationVersionInput, opts ...request.Option) (*CreateRobotApplicationVersionOutput, error) {
771	req, out := c.CreateRobotApplicationVersionRequest(input)
772	req.SetContext(ctx)
773	req.ApplyOptions(opts...)
774	return out, req.Send()
775}
776
777const opCreateSimulationApplication = "CreateSimulationApplication"
778
779// CreateSimulationApplicationRequest generates a "aws/request.Request" representing the
780// client's request for the CreateSimulationApplication operation. The "output" return
781// value will be populated with the request's response once the request completes
782// successfully.
783//
784// Use "Send" method on the returned Request to send the API call to the service.
785// the "output" return value is not valid until after Send returns without error.
786//
787// See CreateSimulationApplication for more information on using the CreateSimulationApplication
788// API call, and error handling.
789//
790// This method is useful when you want to inject custom logic or configuration
791// into the SDK's request lifecycle. Such as custom headers, or retry logic.
792//
793//
794//    // Example sending a request using the CreateSimulationApplicationRequest method.
795//    req, resp := client.CreateSimulationApplicationRequest(params)
796//
797//    err := req.Send()
798//    if err == nil { // resp is now filled
799//        fmt.Println(resp)
800//    }
801//
802// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
803func (c *RoboMaker) CreateSimulationApplicationRequest(input *CreateSimulationApplicationInput) (req *request.Request, output *CreateSimulationApplicationOutput) {
804	op := &request.Operation{
805		Name:       opCreateSimulationApplication,
806		HTTPMethod: "POST",
807		HTTPPath:   "/createSimulationApplication",
808	}
809
810	if input == nil {
811		input = &CreateSimulationApplicationInput{}
812	}
813
814	output = &CreateSimulationApplicationOutput{}
815	req = c.newRequest(op, input, output)
816	return
817}
818
819// CreateSimulationApplication API operation for AWS RoboMaker.
820//
821// Creates a simulation application.
822//
823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
824// with awserr.Error's Code and Message methods to get detailed information about
825// the error.
826//
827// See the AWS API reference guide for AWS RoboMaker's
828// API operation CreateSimulationApplication for usage and error information.
829//
830// Returned Error Codes:
831//   * ErrCodeInvalidParameterException "InvalidParameterException"
832//   A parameter specified in a request is not valid, is unsupported, or cannot
833//   be used. The returned message provides an explanation of the error value.
834//
835//   * ErrCodeResourceAlreadyExistsException "ResourceAlreadyExistsException"
836//   The specified resource already exists.
837//
838//   * ErrCodeLimitExceededException "LimitExceededException"
839//   The requested resource exceeds the maximum number allowed, or the number
840//   of concurrent stream requests exceeds the maximum number allowed.
841//
842//   * ErrCodeThrottlingException "ThrottlingException"
843//   AWS RoboMaker is temporarily unable to process the request. Try your call
844//   again.
845//
846//   * ErrCodeInternalServerException "InternalServerException"
847//   AWS RoboMaker experienced a service issue. Try your call again.
848//
849//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
850//   The request uses the same client token as a previous, but non-identical request.
851//   Do not reuse a client token with different requests, unless the requests
852//   are identical.
853//
854// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplication
855func (c *RoboMaker) CreateSimulationApplication(input *CreateSimulationApplicationInput) (*CreateSimulationApplicationOutput, error) {
856	req, out := c.CreateSimulationApplicationRequest(input)
857	return out, req.Send()
858}
859
860// CreateSimulationApplicationWithContext is the same as CreateSimulationApplication with the addition of
861// the ability to pass a context and additional request options.
862//
863// See CreateSimulationApplication for details on how to use this API operation.
864//
865// The context must be non-nil and will be used for request cancellation. If
866// the context is nil a panic will occur. In the future the SDK may create
867// sub-contexts for http.Requests. See https://golang.org/pkg/context/
868// for more information on using Contexts.
869func (c *RoboMaker) CreateSimulationApplicationWithContext(ctx aws.Context, input *CreateSimulationApplicationInput, opts ...request.Option) (*CreateSimulationApplicationOutput, error) {
870	req, out := c.CreateSimulationApplicationRequest(input)
871	req.SetContext(ctx)
872	req.ApplyOptions(opts...)
873	return out, req.Send()
874}
875
876const opCreateSimulationApplicationVersion = "CreateSimulationApplicationVersion"
877
878// CreateSimulationApplicationVersionRequest generates a "aws/request.Request" representing the
879// client's request for the CreateSimulationApplicationVersion operation. The "output" return
880// value will be populated with the request's response once the request completes
881// successfully.
882//
883// Use "Send" method on the returned Request to send the API call to the service.
884// the "output" return value is not valid until after Send returns without error.
885//
886// See CreateSimulationApplicationVersion for more information on using the CreateSimulationApplicationVersion
887// API call, and error handling.
888//
889// This method is useful when you want to inject custom logic or configuration
890// into the SDK's request lifecycle. Such as custom headers, or retry logic.
891//
892//
893//    // Example sending a request using the CreateSimulationApplicationVersionRequest method.
894//    req, resp := client.CreateSimulationApplicationVersionRequest(params)
895//
896//    err := req.Send()
897//    if err == nil { // resp is now filled
898//        fmt.Println(resp)
899//    }
900//
901// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
902func (c *RoboMaker) CreateSimulationApplicationVersionRequest(input *CreateSimulationApplicationVersionInput) (req *request.Request, output *CreateSimulationApplicationVersionOutput) {
903	op := &request.Operation{
904		Name:       opCreateSimulationApplicationVersion,
905		HTTPMethod: "POST",
906		HTTPPath:   "/createSimulationApplicationVersion",
907	}
908
909	if input == nil {
910		input = &CreateSimulationApplicationVersionInput{}
911	}
912
913	output = &CreateSimulationApplicationVersionOutput{}
914	req = c.newRequest(op, input, output)
915	return
916}
917
918// CreateSimulationApplicationVersion API operation for AWS RoboMaker.
919//
920// Creates a simulation application with a specific revision id.
921//
922// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
923// with awserr.Error's Code and Message methods to get detailed information about
924// the error.
925//
926// See the AWS API reference guide for AWS RoboMaker's
927// API operation CreateSimulationApplicationVersion for usage and error information.
928//
929// Returned Error Codes:
930//   * ErrCodeInvalidParameterException "InvalidParameterException"
931//   A parameter specified in a request is not valid, is unsupported, or cannot
932//   be used. The returned message provides an explanation of the error value.
933//
934//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
935//   The request uses the same client token as a previous, but non-identical request.
936//   Do not reuse a client token with different requests, unless the requests
937//   are identical.
938//
939//   * ErrCodeLimitExceededException "LimitExceededException"
940//   The requested resource exceeds the maximum number allowed, or the number
941//   of concurrent stream requests exceeds the maximum number allowed.
942//
943//   * ErrCodeThrottlingException "ThrottlingException"
944//   AWS RoboMaker is temporarily unable to process the request. Try your call
945//   again.
946//
947//   * ErrCodeInternalServerException "InternalServerException"
948//   AWS RoboMaker experienced a service issue. Try your call again.
949//
950// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationApplicationVersion
951func (c *RoboMaker) CreateSimulationApplicationVersion(input *CreateSimulationApplicationVersionInput) (*CreateSimulationApplicationVersionOutput, error) {
952	req, out := c.CreateSimulationApplicationVersionRequest(input)
953	return out, req.Send()
954}
955
956// CreateSimulationApplicationVersionWithContext is the same as CreateSimulationApplicationVersion with the addition of
957// the ability to pass a context and additional request options.
958//
959// See CreateSimulationApplicationVersion for details on how to use this API operation.
960//
961// The context must be non-nil and will be used for request cancellation. If
962// the context is nil a panic will occur. In the future the SDK may create
963// sub-contexts for http.Requests. See https://golang.org/pkg/context/
964// for more information on using Contexts.
965func (c *RoboMaker) CreateSimulationApplicationVersionWithContext(ctx aws.Context, input *CreateSimulationApplicationVersionInput, opts ...request.Option) (*CreateSimulationApplicationVersionOutput, error) {
966	req, out := c.CreateSimulationApplicationVersionRequest(input)
967	req.SetContext(ctx)
968	req.ApplyOptions(opts...)
969	return out, req.Send()
970}
971
972const opCreateSimulationJob = "CreateSimulationJob"
973
974// CreateSimulationJobRequest generates a "aws/request.Request" representing the
975// client's request for the CreateSimulationJob operation. The "output" return
976// value will be populated with the request's response once the request completes
977// successfully.
978//
979// Use "Send" method on the returned Request to send the API call to the service.
980// the "output" return value is not valid until after Send returns without error.
981//
982// See CreateSimulationJob for more information on using the CreateSimulationJob
983// API call, and error handling.
984//
985// This method is useful when you want to inject custom logic or configuration
986// into the SDK's request lifecycle. Such as custom headers, or retry logic.
987//
988//
989//    // Example sending a request using the CreateSimulationJobRequest method.
990//    req, resp := client.CreateSimulationJobRequest(params)
991//
992//    err := req.Send()
993//    if err == nil { // resp is now filled
994//        fmt.Println(resp)
995//    }
996//
997// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
998func (c *RoboMaker) CreateSimulationJobRequest(input *CreateSimulationJobInput) (req *request.Request, output *CreateSimulationJobOutput) {
999	op := &request.Operation{
1000		Name:       opCreateSimulationJob,
1001		HTTPMethod: "POST",
1002		HTTPPath:   "/createSimulationJob",
1003	}
1004
1005	if input == nil {
1006		input = &CreateSimulationJobInput{}
1007	}
1008
1009	output = &CreateSimulationJobOutput{}
1010	req = c.newRequest(op, input, output)
1011	return
1012}
1013
1014// CreateSimulationJob API operation for AWS RoboMaker.
1015//
1016// Creates a simulation job.
1017//
1018// After 90 days, simulation jobs expire and will be deleted. They will no longer
1019// be accessible.
1020//
1021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1022// with awserr.Error's Code and Message methods to get detailed information about
1023// the error.
1024//
1025// See the AWS API reference guide for AWS RoboMaker's
1026// API operation CreateSimulationJob for usage and error information.
1027//
1028// Returned Error Codes:
1029//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1030//   The specified resource does not exist.
1031//
1032//   * ErrCodeInvalidParameterException "InvalidParameterException"
1033//   A parameter specified in a request is not valid, is unsupported, or cannot
1034//   be used. The returned message provides an explanation of the error value.
1035//
1036//   * ErrCodeInternalServerException "InternalServerException"
1037//   AWS RoboMaker experienced a service issue. Try your call again.
1038//
1039//   * ErrCodeThrottlingException "ThrottlingException"
1040//   AWS RoboMaker is temporarily unable to process the request. Try your call
1041//   again.
1042//
1043//   * ErrCodeLimitExceededException "LimitExceededException"
1044//   The requested resource exceeds the maximum number allowed, or the number
1045//   of concurrent stream requests exceeds the maximum number allowed.
1046//
1047//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
1048//   The request uses the same client token as a previous, but non-identical request.
1049//   Do not reuse a client token with different requests, unless the requests
1050//   are identical.
1051//
1052//   * ErrCodeServiceUnavailableException "ServiceUnavailableException"
1053//   The request has failed due to a temporary failure of the server.
1054//
1055// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/CreateSimulationJob
1056func (c *RoboMaker) CreateSimulationJob(input *CreateSimulationJobInput) (*CreateSimulationJobOutput, error) {
1057	req, out := c.CreateSimulationJobRequest(input)
1058	return out, req.Send()
1059}
1060
1061// CreateSimulationJobWithContext is the same as CreateSimulationJob with the addition of
1062// the ability to pass a context and additional request options.
1063//
1064// See CreateSimulationJob for details on how to use this API operation.
1065//
1066// The context must be non-nil and will be used for request cancellation. If
1067// the context is nil a panic will occur. In the future the SDK may create
1068// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1069// for more information on using Contexts.
1070func (c *RoboMaker) CreateSimulationJobWithContext(ctx aws.Context, input *CreateSimulationJobInput, opts ...request.Option) (*CreateSimulationJobOutput, error) {
1071	req, out := c.CreateSimulationJobRequest(input)
1072	req.SetContext(ctx)
1073	req.ApplyOptions(opts...)
1074	return out, req.Send()
1075}
1076
1077const opDeleteFleet = "DeleteFleet"
1078
1079// DeleteFleetRequest generates a "aws/request.Request" representing the
1080// client's request for the DeleteFleet operation. The "output" return
1081// value will be populated with the request's response once the request completes
1082// successfully.
1083//
1084// Use "Send" method on the returned Request to send the API call to the service.
1085// the "output" return value is not valid until after Send returns without error.
1086//
1087// See DeleteFleet for more information on using the DeleteFleet
1088// API call, and error handling.
1089//
1090// This method is useful when you want to inject custom logic or configuration
1091// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1092//
1093//
1094//    // Example sending a request using the DeleteFleetRequest method.
1095//    req, resp := client.DeleteFleetRequest(params)
1096//
1097//    err := req.Send()
1098//    if err == nil { // resp is now filled
1099//        fmt.Println(resp)
1100//    }
1101//
1102// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
1103func (c *RoboMaker) DeleteFleetRequest(input *DeleteFleetInput) (req *request.Request, output *DeleteFleetOutput) {
1104	op := &request.Operation{
1105		Name:       opDeleteFleet,
1106		HTTPMethod: "POST",
1107		HTTPPath:   "/deleteFleet",
1108	}
1109
1110	if input == nil {
1111		input = &DeleteFleetInput{}
1112	}
1113
1114	output = &DeleteFleetOutput{}
1115	req = c.newRequest(op, input, output)
1116	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1117	return
1118}
1119
1120// DeleteFleet API operation for AWS RoboMaker.
1121//
1122// Deletes a fleet.
1123//
1124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1125// with awserr.Error's Code and Message methods to get detailed information about
1126// the error.
1127//
1128// See the AWS API reference guide for AWS RoboMaker's
1129// API operation DeleteFleet for usage and error information.
1130//
1131// Returned Error Codes:
1132//   * ErrCodeInvalidParameterException "InvalidParameterException"
1133//   A parameter specified in a request is not valid, is unsupported, or cannot
1134//   be used. The returned message provides an explanation of the error value.
1135//
1136//   * ErrCodeInternalServerException "InternalServerException"
1137//   AWS RoboMaker experienced a service issue. Try your call again.
1138//
1139//   * ErrCodeThrottlingException "ThrottlingException"
1140//   AWS RoboMaker is temporarily unable to process the request. Try your call
1141//   again.
1142//
1143// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteFleet
1144func (c *RoboMaker) DeleteFleet(input *DeleteFleetInput) (*DeleteFleetOutput, error) {
1145	req, out := c.DeleteFleetRequest(input)
1146	return out, req.Send()
1147}
1148
1149// DeleteFleetWithContext is the same as DeleteFleet with the addition of
1150// the ability to pass a context and additional request options.
1151//
1152// See DeleteFleet for details on how to use this API operation.
1153//
1154// The context must be non-nil and will be used for request cancellation. If
1155// the context is nil a panic will occur. In the future the SDK may create
1156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1157// for more information on using Contexts.
1158func (c *RoboMaker) DeleteFleetWithContext(ctx aws.Context, input *DeleteFleetInput, opts ...request.Option) (*DeleteFleetOutput, error) {
1159	req, out := c.DeleteFleetRequest(input)
1160	req.SetContext(ctx)
1161	req.ApplyOptions(opts...)
1162	return out, req.Send()
1163}
1164
1165const opDeleteRobot = "DeleteRobot"
1166
1167// DeleteRobotRequest generates a "aws/request.Request" representing the
1168// client's request for the DeleteRobot operation. The "output" return
1169// value will be populated with the request's response once the request completes
1170// successfully.
1171//
1172// Use "Send" method on the returned Request to send the API call to the service.
1173// the "output" return value is not valid until after Send returns without error.
1174//
1175// See DeleteRobot for more information on using the DeleteRobot
1176// API call, and error handling.
1177//
1178// This method is useful when you want to inject custom logic or configuration
1179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1180//
1181//
1182//    // Example sending a request using the DeleteRobotRequest method.
1183//    req, resp := client.DeleteRobotRequest(params)
1184//
1185//    err := req.Send()
1186//    if err == nil { // resp is now filled
1187//        fmt.Println(resp)
1188//    }
1189//
1190// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
1191func (c *RoboMaker) DeleteRobotRequest(input *DeleteRobotInput) (req *request.Request, output *DeleteRobotOutput) {
1192	op := &request.Operation{
1193		Name:       opDeleteRobot,
1194		HTTPMethod: "POST",
1195		HTTPPath:   "/deleteRobot",
1196	}
1197
1198	if input == nil {
1199		input = &DeleteRobotInput{}
1200	}
1201
1202	output = &DeleteRobotOutput{}
1203	req = c.newRequest(op, input, output)
1204	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1205	return
1206}
1207
1208// DeleteRobot API operation for AWS RoboMaker.
1209//
1210// Deletes a robot.
1211//
1212// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1213// with awserr.Error's Code and Message methods to get detailed information about
1214// the error.
1215//
1216// See the AWS API reference guide for AWS RoboMaker's
1217// API operation DeleteRobot for usage and error information.
1218//
1219// Returned Error Codes:
1220//   * ErrCodeInvalidParameterException "InvalidParameterException"
1221//   A parameter specified in a request is not valid, is unsupported, or cannot
1222//   be used. The returned message provides an explanation of the error value.
1223//
1224//   * ErrCodeInternalServerException "InternalServerException"
1225//   AWS RoboMaker experienced a service issue. Try your call again.
1226//
1227//   * ErrCodeThrottlingException "ThrottlingException"
1228//   AWS RoboMaker is temporarily unable to process the request. Try your call
1229//   again.
1230//
1231// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobot
1232func (c *RoboMaker) DeleteRobot(input *DeleteRobotInput) (*DeleteRobotOutput, error) {
1233	req, out := c.DeleteRobotRequest(input)
1234	return out, req.Send()
1235}
1236
1237// DeleteRobotWithContext is the same as DeleteRobot with the addition of
1238// the ability to pass a context and additional request options.
1239//
1240// See DeleteRobot for details on how to use this API operation.
1241//
1242// The context must be non-nil and will be used for request cancellation. If
1243// the context is nil a panic will occur. In the future the SDK may create
1244// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1245// for more information on using Contexts.
1246func (c *RoboMaker) DeleteRobotWithContext(ctx aws.Context, input *DeleteRobotInput, opts ...request.Option) (*DeleteRobotOutput, error) {
1247	req, out := c.DeleteRobotRequest(input)
1248	req.SetContext(ctx)
1249	req.ApplyOptions(opts...)
1250	return out, req.Send()
1251}
1252
1253const opDeleteRobotApplication = "DeleteRobotApplication"
1254
1255// DeleteRobotApplicationRequest generates a "aws/request.Request" representing the
1256// client's request for the DeleteRobotApplication operation. The "output" return
1257// value will be populated with the request's response once the request completes
1258// successfully.
1259//
1260// Use "Send" method on the returned Request to send the API call to the service.
1261// the "output" return value is not valid until after Send returns without error.
1262//
1263// See DeleteRobotApplication for more information on using the DeleteRobotApplication
1264// API call, and error handling.
1265//
1266// This method is useful when you want to inject custom logic or configuration
1267// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1268//
1269//
1270//    // Example sending a request using the DeleteRobotApplicationRequest method.
1271//    req, resp := client.DeleteRobotApplicationRequest(params)
1272//
1273//    err := req.Send()
1274//    if err == nil { // resp is now filled
1275//        fmt.Println(resp)
1276//    }
1277//
1278// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
1279func (c *RoboMaker) DeleteRobotApplicationRequest(input *DeleteRobotApplicationInput) (req *request.Request, output *DeleteRobotApplicationOutput) {
1280	op := &request.Operation{
1281		Name:       opDeleteRobotApplication,
1282		HTTPMethod: "POST",
1283		HTTPPath:   "/deleteRobotApplication",
1284	}
1285
1286	if input == nil {
1287		input = &DeleteRobotApplicationInput{}
1288	}
1289
1290	output = &DeleteRobotApplicationOutput{}
1291	req = c.newRequest(op, input, output)
1292	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1293	return
1294}
1295
1296// DeleteRobotApplication API operation for AWS RoboMaker.
1297//
1298// Deletes a robot application.
1299//
1300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1301// with awserr.Error's Code and Message methods to get detailed information about
1302// the error.
1303//
1304// See the AWS API reference guide for AWS RoboMaker's
1305// API operation DeleteRobotApplication for usage and error information.
1306//
1307// Returned Error Codes:
1308//   * ErrCodeInvalidParameterException "InvalidParameterException"
1309//   A parameter specified in a request is not valid, is unsupported, or cannot
1310//   be used. The returned message provides an explanation of the error value.
1311//
1312//   * ErrCodeThrottlingException "ThrottlingException"
1313//   AWS RoboMaker is temporarily unable to process the request. Try your call
1314//   again.
1315//
1316//   * ErrCodeInternalServerException "InternalServerException"
1317//   AWS RoboMaker experienced a service issue. Try your call again.
1318//
1319// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteRobotApplication
1320func (c *RoboMaker) DeleteRobotApplication(input *DeleteRobotApplicationInput) (*DeleteRobotApplicationOutput, error) {
1321	req, out := c.DeleteRobotApplicationRequest(input)
1322	return out, req.Send()
1323}
1324
1325// DeleteRobotApplicationWithContext is the same as DeleteRobotApplication with the addition of
1326// the ability to pass a context and additional request options.
1327//
1328// See DeleteRobotApplication for details on how to use this API operation.
1329//
1330// The context must be non-nil and will be used for request cancellation. If
1331// the context is nil a panic will occur. In the future the SDK may create
1332// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1333// for more information on using Contexts.
1334func (c *RoboMaker) DeleteRobotApplicationWithContext(ctx aws.Context, input *DeleteRobotApplicationInput, opts ...request.Option) (*DeleteRobotApplicationOutput, error) {
1335	req, out := c.DeleteRobotApplicationRequest(input)
1336	req.SetContext(ctx)
1337	req.ApplyOptions(opts...)
1338	return out, req.Send()
1339}
1340
1341const opDeleteSimulationApplication = "DeleteSimulationApplication"
1342
1343// DeleteSimulationApplicationRequest generates a "aws/request.Request" representing the
1344// client's request for the DeleteSimulationApplication operation. The "output" return
1345// value will be populated with the request's response once the request completes
1346// successfully.
1347//
1348// Use "Send" method on the returned Request to send the API call to the service.
1349// the "output" return value is not valid until after Send returns without error.
1350//
1351// See DeleteSimulationApplication for more information on using the DeleteSimulationApplication
1352// API call, and error handling.
1353//
1354// This method is useful when you want to inject custom logic or configuration
1355// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1356//
1357//
1358//    // Example sending a request using the DeleteSimulationApplicationRequest method.
1359//    req, resp := client.DeleteSimulationApplicationRequest(params)
1360//
1361//    err := req.Send()
1362//    if err == nil { // resp is now filled
1363//        fmt.Println(resp)
1364//    }
1365//
1366// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
1367func (c *RoboMaker) DeleteSimulationApplicationRequest(input *DeleteSimulationApplicationInput) (req *request.Request, output *DeleteSimulationApplicationOutput) {
1368	op := &request.Operation{
1369		Name:       opDeleteSimulationApplication,
1370		HTTPMethod: "POST",
1371		HTTPPath:   "/deleteSimulationApplication",
1372	}
1373
1374	if input == nil {
1375		input = &DeleteSimulationApplicationInput{}
1376	}
1377
1378	output = &DeleteSimulationApplicationOutput{}
1379	req = c.newRequest(op, input, output)
1380	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1381	return
1382}
1383
1384// DeleteSimulationApplication API operation for AWS RoboMaker.
1385//
1386// Deletes a simulation application.
1387//
1388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1389// with awserr.Error's Code and Message methods to get detailed information about
1390// the error.
1391//
1392// See the AWS API reference guide for AWS RoboMaker's
1393// API operation DeleteSimulationApplication for usage and error information.
1394//
1395// Returned Error Codes:
1396//   * ErrCodeInvalidParameterException "InvalidParameterException"
1397//   A parameter specified in a request is not valid, is unsupported, or cannot
1398//   be used. The returned message provides an explanation of the error value.
1399//
1400//   * ErrCodeThrottlingException "ThrottlingException"
1401//   AWS RoboMaker is temporarily unable to process the request. Try your call
1402//   again.
1403//
1404//   * ErrCodeInternalServerException "InternalServerException"
1405//   AWS RoboMaker experienced a service issue. Try your call again.
1406//
1407// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeleteSimulationApplication
1408func (c *RoboMaker) DeleteSimulationApplication(input *DeleteSimulationApplicationInput) (*DeleteSimulationApplicationOutput, error) {
1409	req, out := c.DeleteSimulationApplicationRequest(input)
1410	return out, req.Send()
1411}
1412
1413// DeleteSimulationApplicationWithContext is the same as DeleteSimulationApplication with the addition of
1414// the ability to pass a context and additional request options.
1415//
1416// See DeleteSimulationApplication for details on how to use this API operation.
1417//
1418// The context must be non-nil and will be used for request cancellation. If
1419// the context is nil a panic will occur. In the future the SDK may create
1420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1421// for more information on using Contexts.
1422func (c *RoboMaker) DeleteSimulationApplicationWithContext(ctx aws.Context, input *DeleteSimulationApplicationInput, opts ...request.Option) (*DeleteSimulationApplicationOutput, error) {
1423	req, out := c.DeleteSimulationApplicationRequest(input)
1424	req.SetContext(ctx)
1425	req.ApplyOptions(opts...)
1426	return out, req.Send()
1427}
1428
1429const opDeregisterRobot = "DeregisterRobot"
1430
1431// DeregisterRobotRequest generates a "aws/request.Request" representing the
1432// client's request for the DeregisterRobot operation. The "output" return
1433// value will be populated with the request's response once the request completes
1434// successfully.
1435//
1436// Use "Send" method on the returned Request to send the API call to the service.
1437// the "output" return value is not valid until after Send returns without error.
1438//
1439// See DeregisterRobot for more information on using the DeregisterRobot
1440// API call, and error handling.
1441//
1442// This method is useful when you want to inject custom logic or configuration
1443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1444//
1445//
1446//    // Example sending a request using the DeregisterRobotRequest method.
1447//    req, resp := client.DeregisterRobotRequest(params)
1448//
1449//    err := req.Send()
1450//    if err == nil { // resp is now filled
1451//        fmt.Println(resp)
1452//    }
1453//
1454// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
1455func (c *RoboMaker) DeregisterRobotRequest(input *DeregisterRobotInput) (req *request.Request, output *DeregisterRobotOutput) {
1456	op := &request.Operation{
1457		Name:       opDeregisterRobot,
1458		HTTPMethod: "POST",
1459		HTTPPath:   "/deregisterRobot",
1460	}
1461
1462	if input == nil {
1463		input = &DeregisterRobotInput{}
1464	}
1465
1466	output = &DeregisterRobotOutput{}
1467	req = c.newRequest(op, input, output)
1468	return
1469}
1470
1471// DeregisterRobot API operation for AWS RoboMaker.
1472//
1473// Deregisters a robot.
1474//
1475// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1476// with awserr.Error's Code and Message methods to get detailed information about
1477// the error.
1478//
1479// See the AWS API reference guide for AWS RoboMaker's
1480// API operation DeregisterRobot for usage and error information.
1481//
1482// Returned Error Codes:
1483//   * ErrCodeInvalidParameterException "InvalidParameterException"
1484//   A parameter specified in a request is not valid, is unsupported, or cannot
1485//   be used. The returned message provides an explanation of the error value.
1486//
1487//   * ErrCodeInternalServerException "InternalServerException"
1488//   AWS RoboMaker experienced a service issue. Try your call again.
1489//
1490//   * ErrCodeThrottlingException "ThrottlingException"
1491//   AWS RoboMaker is temporarily unable to process the request. Try your call
1492//   again.
1493//
1494//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1495//   The specified resource does not exist.
1496//
1497// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DeregisterRobot
1498func (c *RoboMaker) DeregisterRobot(input *DeregisterRobotInput) (*DeregisterRobotOutput, error) {
1499	req, out := c.DeregisterRobotRequest(input)
1500	return out, req.Send()
1501}
1502
1503// DeregisterRobotWithContext is the same as DeregisterRobot with the addition of
1504// the ability to pass a context and additional request options.
1505//
1506// See DeregisterRobot for details on how to use this API operation.
1507//
1508// The context must be non-nil and will be used for request cancellation. If
1509// the context is nil a panic will occur. In the future the SDK may create
1510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1511// for more information on using Contexts.
1512func (c *RoboMaker) DeregisterRobotWithContext(ctx aws.Context, input *DeregisterRobotInput, opts ...request.Option) (*DeregisterRobotOutput, error) {
1513	req, out := c.DeregisterRobotRequest(input)
1514	req.SetContext(ctx)
1515	req.ApplyOptions(opts...)
1516	return out, req.Send()
1517}
1518
1519const opDescribeDeploymentJob = "DescribeDeploymentJob"
1520
1521// DescribeDeploymentJobRequest generates a "aws/request.Request" representing the
1522// client's request for the DescribeDeploymentJob operation. The "output" return
1523// value will be populated with the request's response once the request completes
1524// successfully.
1525//
1526// Use "Send" method on the returned Request to send the API call to the service.
1527// the "output" return value is not valid until after Send returns without error.
1528//
1529// See DescribeDeploymentJob for more information on using the DescribeDeploymentJob
1530// API call, and error handling.
1531//
1532// This method is useful when you want to inject custom logic or configuration
1533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1534//
1535//
1536//    // Example sending a request using the DescribeDeploymentJobRequest method.
1537//    req, resp := client.DescribeDeploymentJobRequest(params)
1538//
1539//    err := req.Send()
1540//    if err == nil { // resp is now filled
1541//        fmt.Println(resp)
1542//    }
1543//
1544// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
1545func (c *RoboMaker) DescribeDeploymentJobRequest(input *DescribeDeploymentJobInput) (req *request.Request, output *DescribeDeploymentJobOutput) {
1546	op := &request.Operation{
1547		Name:       opDescribeDeploymentJob,
1548		HTTPMethod: "POST",
1549		HTTPPath:   "/describeDeploymentJob",
1550	}
1551
1552	if input == nil {
1553		input = &DescribeDeploymentJobInput{}
1554	}
1555
1556	output = &DescribeDeploymentJobOutput{}
1557	req = c.newRequest(op, input, output)
1558	return
1559}
1560
1561// DescribeDeploymentJob API operation for AWS RoboMaker.
1562//
1563// Describes a deployment job.
1564//
1565// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1566// with awserr.Error's Code and Message methods to get detailed information about
1567// the error.
1568//
1569// See the AWS API reference guide for AWS RoboMaker's
1570// API operation DescribeDeploymentJob for usage and error information.
1571//
1572// Returned Error Codes:
1573//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1574//   The specified resource does not exist.
1575//
1576//   * ErrCodeInvalidParameterException "InvalidParameterException"
1577//   A parameter specified in a request is not valid, is unsupported, or cannot
1578//   be used. The returned message provides an explanation of the error value.
1579//
1580//   * ErrCodeInternalServerException "InternalServerException"
1581//   AWS RoboMaker experienced a service issue. Try your call again.
1582//
1583//   * ErrCodeThrottlingException "ThrottlingException"
1584//   AWS RoboMaker is temporarily unable to process the request. Try your call
1585//   again.
1586//
1587// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeDeploymentJob
1588func (c *RoboMaker) DescribeDeploymentJob(input *DescribeDeploymentJobInput) (*DescribeDeploymentJobOutput, error) {
1589	req, out := c.DescribeDeploymentJobRequest(input)
1590	return out, req.Send()
1591}
1592
1593// DescribeDeploymentJobWithContext is the same as DescribeDeploymentJob with the addition of
1594// the ability to pass a context and additional request options.
1595//
1596// See DescribeDeploymentJob for details on how to use this API operation.
1597//
1598// The context must be non-nil and will be used for request cancellation. If
1599// the context is nil a panic will occur. In the future the SDK may create
1600// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1601// for more information on using Contexts.
1602func (c *RoboMaker) DescribeDeploymentJobWithContext(ctx aws.Context, input *DescribeDeploymentJobInput, opts ...request.Option) (*DescribeDeploymentJobOutput, error) {
1603	req, out := c.DescribeDeploymentJobRequest(input)
1604	req.SetContext(ctx)
1605	req.ApplyOptions(opts...)
1606	return out, req.Send()
1607}
1608
1609const opDescribeFleet = "DescribeFleet"
1610
1611// DescribeFleetRequest generates a "aws/request.Request" representing the
1612// client's request for the DescribeFleet operation. The "output" return
1613// value will be populated with the request's response once the request completes
1614// successfully.
1615//
1616// Use "Send" method on the returned Request to send the API call to the service.
1617// the "output" return value is not valid until after Send returns without error.
1618//
1619// See DescribeFleet for more information on using the DescribeFleet
1620// API call, and error handling.
1621//
1622// This method is useful when you want to inject custom logic or configuration
1623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1624//
1625//
1626//    // Example sending a request using the DescribeFleetRequest method.
1627//    req, resp := client.DescribeFleetRequest(params)
1628//
1629//    err := req.Send()
1630//    if err == nil { // resp is now filled
1631//        fmt.Println(resp)
1632//    }
1633//
1634// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
1635func (c *RoboMaker) DescribeFleetRequest(input *DescribeFleetInput) (req *request.Request, output *DescribeFleetOutput) {
1636	op := &request.Operation{
1637		Name:       opDescribeFleet,
1638		HTTPMethod: "POST",
1639		HTTPPath:   "/describeFleet",
1640	}
1641
1642	if input == nil {
1643		input = &DescribeFleetInput{}
1644	}
1645
1646	output = &DescribeFleetOutput{}
1647	req = c.newRequest(op, input, output)
1648	return
1649}
1650
1651// DescribeFleet API operation for AWS RoboMaker.
1652//
1653// Describes a fleet.
1654//
1655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1656// with awserr.Error's Code and Message methods to get detailed information about
1657// the error.
1658//
1659// See the AWS API reference guide for AWS RoboMaker's
1660// API operation DescribeFleet for usage and error information.
1661//
1662// Returned Error Codes:
1663//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1664//   The specified resource does not exist.
1665//
1666//   * ErrCodeInvalidParameterException "InvalidParameterException"
1667//   A parameter specified in a request is not valid, is unsupported, or cannot
1668//   be used. The returned message provides an explanation of the error value.
1669//
1670//   * ErrCodeInternalServerException "InternalServerException"
1671//   AWS RoboMaker experienced a service issue. Try your call again.
1672//
1673//   * ErrCodeThrottlingException "ThrottlingException"
1674//   AWS RoboMaker is temporarily unable to process the request. Try your call
1675//   again.
1676//
1677// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeFleet
1678func (c *RoboMaker) DescribeFleet(input *DescribeFleetInput) (*DescribeFleetOutput, error) {
1679	req, out := c.DescribeFleetRequest(input)
1680	return out, req.Send()
1681}
1682
1683// DescribeFleetWithContext is the same as DescribeFleet with the addition of
1684// the ability to pass a context and additional request options.
1685//
1686// See DescribeFleet for details on how to use this API operation.
1687//
1688// The context must be non-nil and will be used for request cancellation. If
1689// the context is nil a panic will occur. In the future the SDK may create
1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1691// for more information on using Contexts.
1692func (c *RoboMaker) DescribeFleetWithContext(ctx aws.Context, input *DescribeFleetInput, opts ...request.Option) (*DescribeFleetOutput, error) {
1693	req, out := c.DescribeFleetRequest(input)
1694	req.SetContext(ctx)
1695	req.ApplyOptions(opts...)
1696	return out, req.Send()
1697}
1698
1699const opDescribeRobot = "DescribeRobot"
1700
1701// DescribeRobotRequest generates a "aws/request.Request" representing the
1702// client's request for the DescribeRobot operation. The "output" return
1703// value will be populated with the request's response once the request completes
1704// successfully.
1705//
1706// Use "Send" method on the returned Request to send the API call to the service.
1707// the "output" return value is not valid until after Send returns without error.
1708//
1709// See DescribeRobot for more information on using the DescribeRobot
1710// API call, and error handling.
1711//
1712// This method is useful when you want to inject custom logic or configuration
1713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1714//
1715//
1716//    // Example sending a request using the DescribeRobotRequest method.
1717//    req, resp := client.DescribeRobotRequest(params)
1718//
1719//    err := req.Send()
1720//    if err == nil { // resp is now filled
1721//        fmt.Println(resp)
1722//    }
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
1725func (c *RoboMaker) DescribeRobotRequest(input *DescribeRobotInput) (req *request.Request, output *DescribeRobotOutput) {
1726	op := &request.Operation{
1727		Name:       opDescribeRobot,
1728		HTTPMethod: "POST",
1729		HTTPPath:   "/describeRobot",
1730	}
1731
1732	if input == nil {
1733		input = &DescribeRobotInput{}
1734	}
1735
1736	output = &DescribeRobotOutput{}
1737	req = c.newRequest(op, input, output)
1738	return
1739}
1740
1741// DescribeRobot API operation for AWS RoboMaker.
1742//
1743// Describes a robot.
1744//
1745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1746// with awserr.Error's Code and Message methods to get detailed information about
1747// the error.
1748//
1749// See the AWS API reference guide for AWS RoboMaker's
1750// API operation DescribeRobot for usage and error information.
1751//
1752// Returned Error Codes:
1753//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1754//   The specified resource does not exist.
1755//
1756//   * ErrCodeInvalidParameterException "InvalidParameterException"
1757//   A parameter specified in a request is not valid, is unsupported, or cannot
1758//   be used. The returned message provides an explanation of the error value.
1759//
1760//   * ErrCodeInternalServerException "InternalServerException"
1761//   AWS RoboMaker experienced a service issue. Try your call again.
1762//
1763//   * ErrCodeThrottlingException "ThrottlingException"
1764//   AWS RoboMaker is temporarily unable to process the request. Try your call
1765//   again.
1766//
1767// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobot
1768func (c *RoboMaker) DescribeRobot(input *DescribeRobotInput) (*DescribeRobotOutput, error) {
1769	req, out := c.DescribeRobotRequest(input)
1770	return out, req.Send()
1771}
1772
1773// DescribeRobotWithContext is the same as DescribeRobot with the addition of
1774// the ability to pass a context and additional request options.
1775//
1776// See DescribeRobot for details on how to use this API operation.
1777//
1778// The context must be non-nil and will be used for request cancellation. If
1779// the context is nil a panic will occur. In the future the SDK may create
1780// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1781// for more information on using Contexts.
1782func (c *RoboMaker) DescribeRobotWithContext(ctx aws.Context, input *DescribeRobotInput, opts ...request.Option) (*DescribeRobotOutput, error) {
1783	req, out := c.DescribeRobotRequest(input)
1784	req.SetContext(ctx)
1785	req.ApplyOptions(opts...)
1786	return out, req.Send()
1787}
1788
1789const opDescribeRobotApplication = "DescribeRobotApplication"
1790
1791// DescribeRobotApplicationRequest generates a "aws/request.Request" representing the
1792// client's request for the DescribeRobotApplication operation. The "output" return
1793// value will be populated with the request's response once the request completes
1794// successfully.
1795//
1796// Use "Send" method on the returned Request to send the API call to the service.
1797// the "output" return value is not valid until after Send returns without error.
1798//
1799// See DescribeRobotApplication for more information on using the DescribeRobotApplication
1800// API call, and error handling.
1801//
1802// This method is useful when you want to inject custom logic or configuration
1803// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1804//
1805//
1806//    // Example sending a request using the DescribeRobotApplicationRequest method.
1807//    req, resp := client.DescribeRobotApplicationRequest(params)
1808//
1809//    err := req.Send()
1810//    if err == nil { // resp is now filled
1811//        fmt.Println(resp)
1812//    }
1813//
1814// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
1815func (c *RoboMaker) DescribeRobotApplicationRequest(input *DescribeRobotApplicationInput) (req *request.Request, output *DescribeRobotApplicationOutput) {
1816	op := &request.Operation{
1817		Name:       opDescribeRobotApplication,
1818		HTTPMethod: "POST",
1819		HTTPPath:   "/describeRobotApplication",
1820	}
1821
1822	if input == nil {
1823		input = &DescribeRobotApplicationInput{}
1824	}
1825
1826	output = &DescribeRobotApplicationOutput{}
1827	req = c.newRequest(op, input, output)
1828	return
1829}
1830
1831// DescribeRobotApplication API operation for AWS RoboMaker.
1832//
1833// Describes a robot application.
1834//
1835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1836// with awserr.Error's Code and Message methods to get detailed information about
1837// the error.
1838//
1839// See the AWS API reference guide for AWS RoboMaker's
1840// API operation DescribeRobotApplication for usage and error information.
1841//
1842// Returned Error Codes:
1843//   * ErrCodeInvalidParameterException "InvalidParameterException"
1844//   A parameter specified in a request is not valid, is unsupported, or cannot
1845//   be used. The returned message provides an explanation of the error value.
1846//
1847//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1848//   The specified resource does not exist.
1849//
1850//   * ErrCodeThrottlingException "ThrottlingException"
1851//   AWS RoboMaker is temporarily unable to process the request. Try your call
1852//   again.
1853//
1854//   * ErrCodeInternalServerException "InternalServerException"
1855//   AWS RoboMaker experienced a service issue. Try your call again.
1856//
1857// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeRobotApplication
1858func (c *RoboMaker) DescribeRobotApplication(input *DescribeRobotApplicationInput) (*DescribeRobotApplicationOutput, error) {
1859	req, out := c.DescribeRobotApplicationRequest(input)
1860	return out, req.Send()
1861}
1862
1863// DescribeRobotApplicationWithContext is the same as DescribeRobotApplication with the addition of
1864// the ability to pass a context and additional request options.
1865//
1866// See DescribeRobotApplication for details on how to use this API operation.
1867//
1868// The context must be non-nil and will be used for request cancellation. If
1869// the context is nil a panic will occur. In the future the SDK may create
1870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1871// for more information on using Contexts.
1872func (c *RoboMaker) DescribeRobotApplicationWithContext(ctx aws.Context, input *DescribeRobotApplicationInput, opts ...request.Option) (*DescribeRobotApplicationOutput, error) {
1873	req, out := c.DescribeRobotApplicationRequest(input)
1874	req.SetContext(ctx)
1875	req.ApplyOptions(opts...)
1876	return out, req.Send()
1877}
1878
1879const opDescribeSimulationApplication = "DescribeSimulationApplication"
1880
1881// DescribeSimulationApplicationRequest generates a "aws/request.Request" representing the
1882// client's request for the DescribeSimulationApplication operation. The "output" return
1883// value will be populated with the request's response once the request completes
1884// successfully.
1885//
1886// Use "Send" method on the returned Request to send the API call to the service.
1887// the "output" return value is not valid until after Send returns without error.
1888//
1889// See DescribeSimulationApplication for more information on using the DescribeSimulationApplication
1890// API call, and error handling.
1891//
1892// This method is useful when you want to inject custom logic or configuration
1893// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1894//
1895//
1896//    // Example sending a request using the DescribeSimulationApplicationRequest method.
1897//    req, resp := client.DescribeSimulationApplicationRequest(params)
1898//
1899//    err := req.Send()
1900//    if err == nil { // resp is now filled
1901//        fmt.Println(resp)
1902//    }
1903//
1904// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
1905func (c *RoboMaker) DescribeSimulationApplicationRequest(input *DescribeSimulationApplicationInput) (req *request.Request, output *DescribeSimulationApplicationOutput) {
1906	op := &request.Operation{
1907		Name:       opDescribeSimulationApplication,
1908		HTTPMethod: "POST",
1909		HTTPPath:   "/describeSimulationApplication",
1910	}
1911
1912	if input == nil {
1913		input = &DescribeSimulationApplicationInput{}
1914	}
1915
1916	output = &DescribeSimulationApplicationOutput{}
1917	req = c.newRequest(op, input, output)
1918	return
1919}
1920
1921// DescribeSimulationApplication API operation for AWS RoboMaker.
1922//
1923// Describes a simulation application.
1924//
1925// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1926// with awserr.Error's Code and Message methods to get detailed information about
1927// the error.
1928//
1929// See the AWS API reference guide for AWS RoboMaker's
1930// API operation DescribeSimulationApplication for usage and error information.
1931//
1932// Returned Error Codes:
1933//   * ErrCodeInvalidParameterException "InvalidParameterException"
1934//   A parameter specified in a request is not valid, is unsupported, or cannot
1935//   be used. The returned message provides an explanation of the error value.
1936//
1937//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
1938//   The specified resource does not exist.
1939//
1940//   * ErrCodeThrottlingException "ThrottlingException"
1941//   AWS RoboMaker is temporarily unable to process the request. Try your call
1942//   again.
1943//
1944//   * ErrCodeInternalServerException "InternalServerException"
1945//   AWS RoboMaker experienced a service issue. Try your call again.
1946//
1947// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationApplication
1948func (c *RoboMaker) DescribeSimulationApplication(input *DescribeSimulationApplicationInput) (*DescribeSimulationApplicationOutput, error) {
1949	req, out := c.DescribeSimulationApplicationRequest(input)
1950	return out, req.Send()
1951}
1952
1953// DescribeSimulationApplicationWithContext is the same as DescribeSimulationApplication with the addition of
1954// the ability to pass a context and additional request options.
1955//
1956// See DescribeSimulationApplication for details on how to use this API operation.
1957//
1958// The context must be non-nil and will be used for request cancellation. If
1959// the context is nil a panic will occur. In the future the SDK may create
1960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1961// for more information on using Contexts.
1962func (c *RoboMaker) DescribeSimulationApplicationWithContext(ctx aws.Context, input *DescribeSimulationApplicationInput, opts ...request.Option) (*DescribeSimulationApplicationOutput, error) {
1963	req, out := c.DescribeSimulationApplicationRequest(input)
1964	req.SetContext(ctx)
1965	req.ApplyOptions(opts...)
1966	return out, req.Send()
1967}
1968
1969const opDescribeSimulationJob = "DescribeSimulationJob"
1970
1971// DescribeSimulationJobRequest generates a "aws/request.Request" representing the
1972// client's request for the DescribeSimulationJob operation. The "output" return
1973// value will be populated with the request's response once the request completes
1974// successfully.
1975//
1976// Use "Send" method on the returned Request to send the API call to the service.
1977// the "output" return value is not valid until after Send returns without error.
1978//
1979// See DescribeSimulationJob for more information on using the DescribeSimulationJob
1980// API call, and error handling.
1981//
1982// This method is useful when you want to inject custom logic or configuration
1983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1984//
1985//
1986//    // Example sending a request using the DescribeSimulationJobRequest method.
1987//    req, resp := client.DescribeSimulationJobRequest(params)
1988//
1989//    err := req.Send()
1990//    if err == nil { // resp is now filled
1991//        fmt.Println(resp)
1992//    }
1993//
1994// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
1995func (c *RoboMaker) DescribeSimulationJobRequest(input *DescribeSimulationJobInput) (req *request.Request, output *DescribeSimulationJobOutput) {
1996	op := &request.Operation{
1997		Name:       opDescribeSimulationJob,
1998		HTTPMethod: "POST",
1999		HTTPPath:   "/describeSimulationJob",
2000	}
2001
2002	if input == nil {
2003		input = &DescribeSimulationJobInput{}
2004	}
2005
2006	output = &DescribeSimulationJobOutput{}
2007	req = c.newRequest(op, input, output)
2008	return
2009}
2010
2011// DescribeSimulationJob API operation for AWS RoboMaker.
2012//
2013// Describes a simulation job.
2014//
2015// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2016// with awserr.Error's Code and Message methods to get detailed information about
2017// the error.
2018//
2019// See the AWS API reference guide for AWS RoboMaker's
2020// API operation DescribeSimulationJob for usage and error information.
2021//
2022// Returned Error Codes:
2023//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2024//   The specified resource does not exist.
2025//
2026//   * ErrCodeInvalidParameterException "InvalidParameterException"
2027//   A parameter specified in a request is not valid, is unsupported, or cannot
2028//   be used. The returned message provides an explanation of the error value.
2029//
2030//   * ErrCodeInternalServerException "InternalServerException"
2031//   AWS RoboMaker experienced a service issue. Try your call again.
2032//
2033//   * ErrCodeThrottlingException "ThrottlingException"
2034//   AWS RoboMaker is temporarily unable to process the request. Try your call
2035//   again.
2036//
2037// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/DescribeSimulationJob
2038func (c *RoboMaker) DescribeSimulationJob(input *DescribeSimulationJobInput) (*DescribeSimulationJobOutput, error) {
2039	req, out := c.DescribeSimulationJobRequest(input)
2040	return out, req.Send()
2041}
2042
2043// DescribeSimulationJobWithContext is the same as DescribeSimulationJob with the addition of
2044// the ability to pass a context and additional request options.
2045//
2046// See DescribeSimulationJob for details on how to use this API operation.
2047//
2048// The context must be non-nil and will be used for request cancellation. If
2049// the context is nil a panic will occur. In the future the SDK may create
2050// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2051// for more information on using Contexts.
2052func (c *RoboMaker) DescribeSimulationJobWithContext(ctx aws.Context, input *DescribeSimulationJobInput, opts ...request.Option) (*DescribeSimulationJobOutput, error) {
2053	req, out := c.DescribeSimulationJobRequest(input)
2054	req.SetContext(ctx)
2055	req.ApplyOptions(opts...)
2056	return out, req.Send()
2057}
2058
2059const opListDeploymentJobs = "ListDeploymentJobs"
2060
2061// ListDeploymentJobsRequest generates a "aws/request.Request" representing the
2062// client's request for the ListDeploymentJobs operation. The "output" return
2063// value will be populated with the request's response once the request completes
2064// successfully.
2065//
2066// Use "Send" method on the returned Request to send the API call to the service.
2067// the "output" return value is not valid until after Send returns without error.
2068//
2069// See ListDeploymentJobs for more information on using the ListDeploymentJobs
2070// API call, and error handling.
2071//
2072// This method is useful when you want to inject custom logic or configuration
2073// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2074//
2075//
2076//    // Example sending a request using the ListDeploymentJobsRequest method.
2077//    req, resp := client.ListDeploymentJobsRequest(params)
2078//
2079//    err := req.Send()
2080//    if err == nil { // resp is now filled
2081//        fmt.Println(resp)
2082//    }
2083//
2084// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
2085func (c *RoboMaker) ListDeploymentJobsRequest(input *ListDeploymentJobsInput) (req *request.Request, output *ListDeploymentJobsOutput) {
2086	op := &request.Operation{
2087		Name:       opListDeploymentJobs,
2088		HTTPMethod: "POST",
2089		HTTPPath:   "/listDeploymentJobs",
2090		Paginator: &request.Paginator{
2091			InputTokens:     []string{"nextToken"},
2092			OutputTokens:    []string{"nextToken"},
2093			LimitToken:      "maxResults",
2094			TruncationToken: "",
2095		},
2096	}
2097
2098	if input == nil {
2099		input = &ListDeploymentJobsInput{}
2100	}
2101
2102	output = &ListDeploymentJobsOutput{}
2103	req = c.newRequest(op, input, output)
2104	return
2105}
2106
2107// ListDeploymentJobs API operation for AWS RoboMaker.
2108//
2109// Returns a list of deployment jobs for a fleet. You can optionally provide
2110// filters to retrieve specific deployment jobs.
2111//
2112// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2113// with awserr.Error's Code and Message methods to get detailed information about
2114// the error.
2115//
2116// See the AWS API reference guide for AWS RoboMaker's
2117// API operation ListDeploymentJobs for usage and error information.
2118//
2119// Returned Error Codes:
2120//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2121//   The specified resource does not exist.
2122//
2123//   * ErrCodeInvalidParameterException "InvalidParameterException"
2124//   A parameter specified in a request is not valid, is unsupported, or cannot
2125//   be used. The returned message provides an explanation of the error value.
2126//
2127//   * ErrCodeInternalServerException "InternalServerException"
2128//   AWS RoboMaker experienced a service issue. Try your call again.
2129//
2130//   * ErrCodeThrottlingException "ThrottlingException"
2131//   AWS RoboMaker is temporarily unable to process the request. Try your call
2132//   again.
2133//
2134// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListDeploymentJobs
2135func (c *RoboMaker) ListDeploymentJobs(input *ListDeploymentJobsInput) (*ListDeploymentJobsOutput, error) {
2136	req, out := c.ListDeploymentJobsRequest(input)
2137	return out, req.Send()
2138}
2139
2140// ListDeploymentJobsWithContext is the same as ListDeploymentJobs with the addition of
2141// the ability to pass a context and additional request options.
2142//
2143// See ListDeploymentJobs for details on how to use this API operation.
2144//
2145// The context must be non-nil and will be used for request cancellation. If
2146// the context is nil a panic will occur. In the future the SDK may create
2147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2148// for more information on using Contexts.
2149func (c *RoboMaker) ListDeploymentJobsWithContext(ctx aws.Context, input *ListDeploymentJobsInput, opts ...request.Option) (*ListDeploymentJobsOutput, error) {
2150	req, out := c.ListDeploymentJobsRequest(input)
2151	req.SetContext(ctx)
2152	req.ApplyOptions(opts...)
2153	return out, req.Send()
2154}
2155
2156// ListDeploymentJobsPages iterates over the pages of a ListDeploymentJobs operation,
2157// calling the "fn" function with the response data for each page. To stop
2158// iterating, return false from the fn function.
2159//
2160// See ListDeploymentJobs method for more information on how to use this operation.
2161//
2162// Note: This operation can generate multiple requests to a service.
2163//
2164//    // Example iterating over at most 3 pages of a ListDeploymentJobs operation.
2165//    pageNum := 0
2166//    err := client.ListDeploymentJobsPages(params,
2167//        func(page *robomaker.ListDeploymentJobsOutput, lastPage bool) bool {
2168//            pageNum++
2169//            fmt.Println(page)
2170//            return pageNum <= 3
2171//        })
2172//
2173func (c *RoboMaker) ListDeploymentJobsPages(input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool) error {
2174	return c.ListDeploymentJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2175}
2176
2177// ListDeploymentJobsPagesWithContext same as ListDeploymentJobsPages except
2178// it takes a Context and allows setting request options on the pages.
2179//
2180// The context must be non-nil and will be used for request cancellation. If
2181// the context is nil a panic will occur. In the future the SDK may create
2182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2183// for more information on using Contexts.
2184func (c *RoboMaker) ListDeploymentJobsPagesWithContext(ctx aws.Context, input *ListDeploymentJobsInput, fn func(*ListDeploymentJobsOutput, bool) bool, opts ...request.Option) error {
2185	p := request.Pagination{
2186		NewRequest: func() (*request.Request, error) {
2187			var inCpy *ListDeploymentJobsInput
2188			if input != nil {
2189				tmp := *input
2190				inCpy = &tmp
2191			}
2192			req, _ := c.ListDeploymentJobsRequest(inCpy)
2193			req.SetContext(ctx)
2194			req.ApplyOptions(opts...)
2195			return req, nil
2196		},
2197	}
2198
2199	for p.Next() {
2200		if !fn(p.Page().(*ListDeploymentJobsOutput), !p.HasNextPage()) {
2201			break
2202		}
2203	}
2204
2205	return p.Err()
2206}
2207
2208const opListFleets = "ListFleets"
2209
2210// ListFleetsRequest generates a "aws/request.Request" representing the
2211// client's request for the ListFleets operation. The "output" return
2212// value will be populated with the request's response once the request completes
2213// successfully.
2214//
2215// Use "Send" method on the returned Request to send the API call to the service.
2216// the "output" return value is not valid until after Send returns without error.
2217//
2218// See ListFleets for more information on using the ListFleets
2219// API call, and error handling.
2220//
2221// This method is useful when you want to inject custom logic or configuration
2222// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2223//
2224//
2225//    // Example sending a request using the ListFleetsRequest method.
2226//    req, resp := client.ListFleetsRequest(params)
2227//
2228//    err := req.Send()
2229//    if err == nil { // resp is now filled
2230//        fmt.Println(resp)
2231//    }
2232//
2233// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
2234func (c *RoboMaker) ListFleetsRequest(input *ListFleetsInput) (req *request.Request, output *ListFleetsOutput) {
2235	op := &request.Operation{
2236		Name:       opListFleets,
2237		HTTPMethod: "POST",
2238		HTTPPath:   "/listFleets",
2239		Paginator: &request.Paginator{
2240			InputTokens:     []string{"nextToken"},
2241			OutputTokens:    []string{"nextToken"},
2242			LimitToken:      "maxResults",
2243			TruncationToken: "",
2244		},
2245	}
2246
2247	if input == nil {
2248		input = &ListFleetsInput{}
2249	}
2250
2251	output = &ListFleetsOutput{}
2252	req = c.newRequest(op, input, output)
2253	return
2254}
2255
2256// ListFleets API operation for AWS RoboMaker.
2257//
2258// Returns a list of fleets. You can optionally provide filters to retrieve
2259// specific fleets.
2260//
2261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2262// with awserr.Error's Code and Message methods to get detailed information about
2263// the error.
2264//
2265// See the AWS API reference guide for AWS RoboMaker's
2266// API operation ListFleets for usage and error information.
2267//
2268// Returned Error Codes:
2269//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2270//   The specified resource does not exist.
2271//
2272//   * ErrCodeInvalidParameterException "InvalidParameterException"
2273//   A parameter specified in a request is not valid, is unsupported, or cannot
2274//   be used. The returned message provides an explanation of the error value.
2275//
2276//   * ErrCodeInternalServerException "InternalServerException"
2277//   AWS RoboMaker experienced a service issue. Try your call again.
2278//
2279//   * ErrCodeThrottlingException "ThrottlingException"
2280//   AWS RoboMaker is temporarily unable to process the request. Try your call
2281//   again.
2282//
2283// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListFleets
2284func (c *RoboMaker) ListFleets(input *ListFleetsInput) (*ListFleetsOutput, error) {
2285	req, out := c.ListFleetsRequest(input)
2286	return out, req.Send()
2287}
2288
2289// ListFleetsWithContext is the same as ListFleets with the addition of
2290// the ability to pass a context and additional request options.
2291//
2292// See ListFleets for details on how to use this API operation.
2293//
2294// The context must be non-nil and will be used for request cancellation. If
2295// the context is nil a panic will occur. In the future the SDK may create
2296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2297// for more information on using Contexts.
2298func (c *RoboMaker) ListFleetsWithContext(ctx aws.Context, input *ListFleetsInput, opts ...request.Option) (*ListFleetsOutput, error) {
2299	req, out := c.ListFleetsRequest(input)
2300	req.SetContext(ctx)
2301	req.ApplyOptions(opts...)
2302	return out, req.Send()
2303}
2304
2305// ListFleetsPages iterates over the pages of a ListFleets operation,
2306// calling the "fn" function with the response data for each page. To stop
2307// iterating, return false from the fn function.
2308//
2309// See ListFleets method for more information on how to use this operation.
2310//
2311// Note: This operation can generate multiple requests to a service.
2312//
2313//    // Example iterating over at most 3 pages of a ListFleets operation.
2314//    pageNum := 0
2315//    err := client.ListFleetsPages(params,
2316//        func(page *robomaker.ListFleetsOutput, lastPage bool) bool {
2317//            pageNum++
2318//            fmt.Println(page)
2319//            return pageNum <= 3
2320//        })
2321//
2322func (c *RoboMaker) ListFleetsPages(input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool) error {
2323	return c.ListFleetsPagesWithContext(aws.BackgroundContext(), input, fn)
2324}
2325
2326// ListFleetsPagesWithContext same as ListFleetsPages except
2327// it takes a Context and allows setting request options on the pages.
2328//
2329// The context must be non-nil and will be used for request cancellation. If
2330// the context is nil a panic will occur. In the future the SDK may create
2331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2332// for more information on using Contexts.
2333func (c *RoboMaker) ListFleetsPagesWithContext(ctx aws.Context, input *ListFleetsInput, fn func(*ListFleetsOutput, bool) bool, opts ...request.Option) error {
2334	p := request.Pagination{
2335		NewRequest: func() (*request.Request, error) {
2336			var inCpy *ListFleetsInput
2337			if input != nil {
2338				tmp := *input
2339				inCpy = &tmp
2340			}
2341			req, _ := c.ListFleetsRequest(inCpy)
2342			req.SetContext(ctx)
2343			req.ApplyOptions(opts...)
2344			return req, nil
2345		},
2346	}
2347
2348	for p.Next() {
2349		if !fn(p.Page().(*ListFleetsOutput), !p.HasNextPage()) {
2350			break
2351		}
2352	}
2353
2354	return p.Err()
2355}
2356
2357const opListRobotApplications = "ListRobotApplications"
2358
2359// ListRobotApplicationsRequest generates a "aws/request.Request" representing the
2360// client's request for the ListRobotApplications operation. The "output" return
2361// value will be populated with the request's response once the request completes
2362// successfully.
2363//
2364// Use "Send" method on the returned Request to send the API call to the service.
2365// the "output" return value is not valid until after Send returns without error.
2366//
2367// See ListRobotApplications for more information on using the ListRobotApplications
2368// API call, and error handling.
2369//
2370// This method is useful when you want to inject custom logic or configuration
2371// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2372//
2373//
2374//    // Example sending a request using the ListRobotApplicationsRequest method.
2375//    req, resp := client.ListRobotApplicationsRequest(params)
2376//
2377//    err := req.Send()
2378//    if err == nil { // resp is now filled
2379//        fmt.Println(resp)
2380//    }
2381//
2382// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
2383func (c *RoboMaker) ListRobotApplicationsRequest(input *ListRobotApplicationsInput) (req *request.Request, output *ListRobotApplicationsOutput) {
2384	op := &request.Operation{
2385		Name:       opListRobotApplications,
2386		HTTPMethod: "POST",
2387		HTTPPath:   "/listRobotApplications",
2388		Paginator: &request.Paginator{
2389			InputTokens:     []string{"nextToken"},
2390			OutputTokens:    []string{"nextToken"},
2391			LimitToken:      "maxResults",
2392			TruncationToken: "",
2393		},
2394	}
2395
2396	if input == nil {
2397		input = &ListRobotApplicationsInput{}
2398	}
2399
2400	output = &ListRobotApplicationsOutput{}
2401	req = c.newRequest(op, input, output)
2402	return
2403}
2404
2405// ListRobotApplications API operation for AWS RoboMaker.
2406//
2407// Returns a list of robot application. You can optionally provide filters to
2408// retrieve specific robot applications.
2409//
2410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2411// with awserr.Error's Code and Message methods to get detailed information about
2412// the error.
2413//
2414// See the AWS API reference guide for AWS RoboMaker's
2415// API operation ListRobotApplications for usage and error information.
2416//
2417// Returned Error Codes:
2418//   * ErrCodeInvalidParameterException "InvalidParameterException"
2419//   A parameter specified in a request is not valid, is unsupported, or cannot
2420//   be used. The returned message provides an explanation of the error value.
2421//
2422//   * ErrCodeThrottlingException "ThrottlingException"
2423//   AWS RoboMaker is temporarily unable to process the request. Try your call
2424//   again.
2425//
2426//   * ErrCodeInternalServerException "InternalServerException"
2427//   AWS RoboMaker experienced a service issue. Try your call again.
2428//
2429// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobotApplications
2430func (c *RoboMaker) ListRobotApplications(input *ListRobotApplicationsInput) (*ListRobotApplicationsOutput, error) {
2431	req, out := c.ListRobotApplicationsRequest(input)
2432	return out, req.Send()
2433}
2434
2435// ListRobotApplicationsWithContext is the same as ListRobotApplications with the addition of
2436// the ability to pass a context and additional request options.
2437//
2438// See ListRobotApplications for details on how to use this API operation.
2439//
2440// The context must be non-nil and will be used for request cancellation. If
2441// the context is nil a panic will occur. In the future the SDK may create
2442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2443// for more information on using Contexts.
2444func (c *RoboMaker) ListRobotApplicationsWithContext(ctx aws.Context, input *ListRobotApplicationsInput, opts ...request.Option) (*ListRobotApplicationsOutput, error) {
2445	req, out := c.ListRobotApplicationsRequest(input)
2446	req.SetContext(ctx)
2447	req.ApplyOptions(opts...)
2448	return out, req.Send()
2449}
2450
2451// ListRobotApplicationsPages iterates over the pages of a ListRobotApplications operation,
2452// calling the "fn" function with the response data for each page. To stop
2453// iterating, return false from the fn function.
2454//
2455// See ListRobotApplications method for more information on how to use this operation.
2456//
2457// Note: This operation can generate multiple requests to a service.
2458//
2459//    // Example iterating over at most 3 pages of a ListRobotApplications operation.
2460//    pageNum := 0
2461//    err := client.ListRobotApplicationsPages(params,
2462//        func(page *robomaker.ListRobotApplicationsOutput, lastPage bool) bool {
2463//            pageNum++
2464//            fmt.Println(page)
2465//            return pageNum <= 3
2466//        })
2467//
2468func (c *RoboMaker) ListRobotApplicationsPages(input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool) error {
2469	return c.ListRobotApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
2470}
2471
2472// ListRobotApplicationsPagesWithContext same as ListRobotApplicationsPages except
2473// it takes a Context and allows setting request options on the pages.
2474//
2475// The context must be non-nil and will be used for request cancellation. If
2476// the context is nil a panic will occur. In the future the SDK may create
2477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2478// for more information on using Contexts.
2479func (c *RoboMaker) ListRobotApplicationsPagesWithContext(ctx aws.Context, input *ListRobotApplicationsInput, fn func(*ListRobotApplicationsOutput, bool) bool, opts ...request.Option) error {
2480	p := request.Pagination{
2481		NewRequest: func() (*request.Request, error) {
2482			var inCpy *ListRobotApplicationsInput
2483			if input != nil {
2484				tmp := *input
2485				inCpy = &tmp
2486			}
2487			req, _ := c.ListRobotApplicationsRequest(inCpy)
2488			req.SetContext(ctx)
2489			req.ApplyOptions(opts...)
2490			return req, nil
2491		},
2492	}
2493
2494	for p.Next() {
2495		if !fn(p.Page().(*ListRobotApplicationsOutput), !p.HasNextPage()) {
2496			break
2497		}
2498	}
2499
2500	return p.Err()
2501}
2502
2503const opListRobots = "ListRobots"
2504
2505// ListRobotsRequest generates a "aws/request.Request" representing the
2506// client's request for the ListRobots operation. The "output" return
2507// value will be populated with the request's response once the request completes
2508// successfully.
2509//
2510// Use "Send" method on the returned Request to send the API call to the service.
2511// the "output" return value is not valid until after Send returns without error.
2512//
2513// See ListRobots for more information on using the ListRobots
2514// API call, and error handling.
2515//
2516// This method is useful when you want to inject custom logic or configuration
2517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2518//
2519//
2520//    // Example sending a request using the ListRobotsRequest method.
2521//    req, resp := client.ListRobotsRequest(params)
2522//
2523//    err := req.Send()
2524//    if err == nil { // resp is now filled
2525//        fmt.Println(resp)
2526//    }
2527//
2528// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
2529func (c *RoboMaker) ListRobotsRequest(input *ListRobotsInput) (req *request.Request, output *ListRobotsOutput) {
2530	op := &request.Operation{
2531		Name:       opListRobots,
2532		HTTPMethod: "POST",
2533		HTTPPath:   "/listRobots",
2534		Paginator: &request.Paginator{
2535			InputTokens:     []string{"nextToken"},
2536			OutputTokens:    []string{"nextToken"},
2537			LimitToken:      "maxResults",
2538			TruncationToken: "",
2539		},
2540	}
2541
2542	if input == nil {
2543		input = &ListRobotsInput{}
2544	}
2545
2546	output = &ListRobotsOutput{}
2547	req = c.newRequest(op, input, output)
2548	return
2549}
2550
2551// ListRobots API operation for AWS RoboMaker.
2552//
2553// Returns a list of robots. You can optionally provide filters to retrieve
2554// specific robots.
2555//
2556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2557// with awserr.Error's Code and Message methods to get detailed information about
2558// the error.
2559//
2560// See the AWS API reference guide for AWS RoboMaker's
2561// API operation ListRobots for usage and error information.
2562//
2563// Returned Error Codes:
2564//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
2565//   The specified resource does not exist.
2566//
2567//   * ErrCodeInvalidParameterException "InvalidParameterException"
2568//   A parameter specified in a request is not valid, is unsupported, or cannot
2569//   be used. The returned message provides an explanation of the error value.
2570//
2571//   * ErrCodeInternalServerException "InternalServerException"
2572//   AWS RoboMaker experienced a service issue. Try your call again.
2573//
2574//   * ErrCodeThrottlingException "ThrottlingException"
2575//   AWS RoboMaker is temporarily unable to process the request. Try your call
2576//   again.
2577//
2578// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListRobots
2579func (c *RoboMaker) ListRobots(input *ListRobotsInput) (*ListRobotsOutput, error) {
2580	req, out := c.ListRobotsRequest(input)
2581	return out, req.Send()
2582}
2583
2584// ListRobotsWithContext is the same as ListRobots with the addition of
2585// the ability to pass a context and additional request options.
2586//
2587// See ListRobots for details on how to use this API operation.
2588//
2589// The context must be non-nil and will be used for request cancellation. If
2590// the context is nil a panic will occur. In the future the SDK may create
2591// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2592// for more information on using Contexts.
2593func (c *RoboMaker) ListRobotsWithContext(ctx aws.Context, input *ListRobotsInput, opts ...request.Option) (*ListRobotsOutput, error) {
2594	req, out := c.ListRobotsRequest(input)
2595	req.SetContext(ctx)
2596	req.ApplyOptions(opts...)
2597	return out, req.Send()
2598}
2599
2600// ListRobotsPages iterates over the pages of a ListRobots operation,
2601// calling the "fn" function with the response data for each page. To stop
2602// iterating, return false from the fn function.
2603//
2604// See ListRobots method for more information on how to use this operation.
2605//
2606// Note: This operation can generate multiple requests to a service.
2607//
2608//    // Example iterating over at most 3 pages of a ListRobots operation.
2609//    pageNum := 0
2610//    err := client.ListRobotsPages(params,
2611//        func(page *robomaker.ListRobotsOutput, lastPage bool) bool {
2612//            pageNum++
2613//            fmt.Println(page)
2614//            return pageNum <= 3
2615//        })
2616//
2617func (c *RoboMaker) ListRobotsPages(input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool) error {
2618	return c.ListRobotsPagesWithContext(aws.BackgroundContext(), input, fn)
2619}
2620
2621// ListRobotsPagesWithContext same as ListRobotsPages except
2622// it takes a Context and allows setting request options on the pages.
2623//
2624// The context must be non-nil and will be used for request cancellation. If
2625// the context is nil a panic will occur. In the future the SDK may create
2626// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2627// for more information on using Contexts.
2628func (c *RoboMaker) ListRobotsPagesWithContext(ctx aws.Context, input *ListRobotsInput, fn func(*ListRobotsOutput, bool) bool, opts ...request.Option) error {
2629	p := request.Pagination{
2630		NewRequest: func() (*request.Request, error) {
2631			var inCpy *ListRobotsInput
2632			if input != nil {
2633				tmp := *input
2634				inCpy = &tmp
2635			}
2636			req, _ := c.ListRobotsRequest(inCpy)
2637			req.SetContext(ctx)
2638			req.ApplyOptions(opts...)
2639			return req, nil
2640		},
2641	}
2642
2643	for p.Next() {
2644		if !fn(p.Page().(*ListRobotsOutput), !p.HasNextPage()) {
2645			break
2646		}
2647	}
2648
2649	return p.Err()
2650}
2651
2652const opListSimulationApplications = "ListSimulationApplications"
2653
2654// ListSimulationApplicationsRequest generates a "aws/request.Request" representing the
2655// client's request for the ListSimulationApplications operation. The "output" return
2656// value will be populated with the request's response once the request completes
2657// successfully.
2658//
2659// Use "Send" method on the returned Request to send the API call to the service.
2660// the "output" return value is not valid until after Send returns without error.
2661//
2662// See ListSimulationApplications for more information on using the ListSimulationApplications
2663// API call, and error handling.
2664//
2665// This method is useful when you want to inject custom logic or configuration
2666// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2667//
2668//
2669//    // Example sending a request using the ListSimulationApplicationsRequest method.
2670//    req, resp := client.ListSimulationApplicationsRequest(params)
2671//
2672//    err := req.Send()
2673//    if err == nil { // resp is now filled
2674//        fmt.Println(resp)
2675//    }
2676//
2677// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
2678func (c *RoboMaker) ListSimulationApplicationsRequest(input *ListSimulationApplicationsInput) (req *request.Request, output *ListSimulationApplicationsOutput) {
2679	op := &request.Operation{
2680		Name:       opListSimulationApplications,
2681		HTTPMethod: "POST",
2682		HTTPPath:   "/listSimulationApplications",
2683		Paginator: &request.Paginator{
2684			InputTokens:     []string{"nextToken"},
2685			OutputTokens:    []string{"nextToken"},
2686			LimitToken:      "maxResults",
2687			TruncationToken: "",
2688		},
2689	}
2690
2691	if input == nil {
2692		input = &ListSimulationApplicationsInput{}
2693	}
2694
2695	output = &ListSimulationApplicationsOutput{}
2696	req = c.newRequest(op, input, output)
2697	return
2698}
2699
2700// ListSimulationApplications API operation for AWS RoboMaker.
2701//
2702// Returns a list of simulation applications. You can optionally provide filters
2703// to retrieve specific simulation applications.
2704//
2705// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2706// with awserr.Error's Code and Message methods to get detailed information about
2707// the error.
2708//
2709// See the AWS API reference guide for AWS RoboMaker's
2710// API operation ListSimulationApplications for usage and error information.
2711//
2712// Returned Error Codes:
2713//   * ErrCodeInvalidParameterException "InvalidParameterException"
2714//   A parameter specified in a request is not valid, is unsupported, or cannot
2715//   be used. The returned message provides an explanation of the error value.
2716//
2717//   * ErrCodeThrottlingException "ThrottlingException"
2718//   AWS RoboMaker is temporarily unable to process the request. Try your call
2719//   again.
2720//
2721//   * ErrCodeInternalServerException "InternalServerException"
2722//   AWS RoboMaker experienced a service issue. Try your call again.
2723//
2724// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationApplications
2725func (c *RoboMaker) ListSimulationApplications(input *ListSimulationApplicationsInput) (*ListSimulationApplicationsOutput, error) {
2726	req, out := c.ListSimulationApplicationsRequest(input)
2727	return out, req.Send()
2728}
2729
2730// ListSimulationApplicationsWithContext is the same as ListSimulationApplications with the addition of
2731// the ability to pass a context and additional request options.
2732//
2733// See ListSimulationApplications for details on how to use this API operation.
2734//
2735// The context must be non-nil and will be used for request cancellation. If
2736// the context is nil a panic will occur. In the future the SDK may create
2737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2738// for more information on using Contexts.
2739func (c *RoboMaker) ListSimulationApplicationsWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, opts ...request.Option) (*ListSimulationApplicationsOutput, error) {
2740	req, out := c.ListSimulationApplicationsRequest(input)
2741	req.SetContext(ctx)
2742	req.ApplyOptions(opts...)
2743	return out, req.Send()
2744}
2745
2746// ListSimulationApplicationsPages iterates over the pages of a ListSimulationApplications operation,
2747// calling the "fn" function with the response data for each page. To stop
2748// iterating, return false from the fn function.
2749//
2750// See ListSimulationApplications method for more information on how to use this operation.
2751//
2752// Note: This operation can generate multiple requests to a service.
2753//
2754//    // Example iterating over at most 3 pages of a ListSimulationApplications operation.
2755//    pageNum := 0
2756//    err := client.ListSimulationApplicationsPages(params,
2757//        func(page *robomaker.ListSimulationApplicationsOutput, lastPage bool) bool {
2758//            pageNum++
2759//            fmt.Println(page)
2760//            return pageNum <= 3
2761//        })
2762//
2763func (c *RoboMaker) ListSimulationApplicationsPages(input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool) error {
2764	return c.ListSimulationApplicationsPagesWithContext(aws.BackgroundContext(), input, fn)
2765}
2766
2767// ListSimulationApplicationsPagesWithContext same as ListSimulationApplicationsPages except
2768// it takes a Context and allows setting request options on the pages.
2769//
2770// The context must be non-nil and will be used for request cancellation. If
2771// the context is nil a panic will occur. In the future the SDK may create
2772// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2773// for more information on using Contexts.
2774func (c *RoboMaker) ListSimulationApplicationsPagesWithContext(ctx aws.Context, input *ListSimulationApplicationsInput, fn func(*ListSimulationApplicationsOutput, bool) bool, opts ...request.Option) error {
2775	p := request.Pagination{
2776		NewRequest: func() (*request.Request, error) {
2777			var inCpy *ListSimulationApplicationsInput
2778			if input != nil {
2779				tmp := *input
2780				inCpy = &tmp
2781			}
2782			req, _ := c.ListSimulationApplicationsRequest(inCpy)
2783			req.SetContext(ctx)
2784			req.ApplyOptions(opts...)
2785			return req, nil
2786		},
2787	}
2788
2789	for p.Next() {
2790		if !fn(p.Page().(*ListSimulationApplicationsOutput), !p.HasNextPage()) {
2791			break
2792		}
2793	}
2794
2795	return p.Err()
2796}
2797
2798const opListSimulationJobs = "ListSimulationJobs"
2799
2800// ListSimulationJobsRequest generates a "aws/request.Request" representing the
2801// client's request for the ListSimulationJobs operation. The "output" return
2802// value will be populated with the request's response once the request completes
2803// successfully.
2804//
2805// Use "Send" method on the returned Request to send the API call to the service.
2806// the "output" return value is not valid until after Send returns without error.
2807//
2808// See ListSimulationJobs for more information on using the ListSimulationJobs
2809// API call, and error handling.
2810//
2811// This method is useful when you want to inject custom logic or configuration
2812// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2813//
2814//
2815//    // Example sending a request using the ListSimulationJobsRequest method.
2816//    req, resp := client.ListSimulationJobsRequest(params)
2817//
2818//    err := req.Send()
2819//    if err == nil { // resp is now filled
2820//        fmt.Println(resp)
2821//    }
2822//
2823// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
2824func (c *RoboMaker) ListSimulationJobsRequest(input *ListSimulationJobsInput) (req *request.Request, output *ListSimulationJobsOutput) {
2825	op := &request.Operation{
2826		Name:       opListSimulationJobs,
2827		HTTPMethod: "POST",
2828		HTTPPath:   "/listSimulationJobs",
2829		Paginator: &request.Paginator{
2830			InputTokens:     []string{"nextToken"},
2831			OutputTokens:    []string{"nextToken"},
2832			LimitToken:      "maxResults",
2833			TruncationToken: "",
2834		},
2835	}
2836
2837	if input == nil {
2838		input = &ListSimulationJobsInput{}
2839	}
2840
2841	output = &ListSimulationJobsOutput{}
2842	req = c.newRequest(op, input, output)
2843	return
2844}
2845
2846// ListSimulationJobs API operation for AWS RoboMaker.
2847//
2848// Returns a list of simulation jobs. You can optionally provide filters to
2849// retrieve specific simulation jobs.
2850//
2851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2852// with awserr.Error's Code and Message methods to get detailed information about
2853// the error.
2854//
2855// See the AWS API reference guide for AWS RoboMaker's
2856// API operation ListSimulationJobs for usage and error information.
2857//
2858// Returned Error Codes:
2859//   * ErrCodeInvalidParameterException "InvalidParameterException"
2860//   A parameter specified in a request is not valid, is unsupported, or cannot
2861//   be used. The returned message provides an explanation of the error value.
2862//
2863//   * ErrCodeInternalServerException "InternalServerException"
2864//   AWS RoboMaker experienced a service issue. Try your call again.
2865//
2866//   * ErrCodeThrottlingException "ThrottlingException"
2867//   AWS RoboMaker is temporarily unable to process the request. Try your call
2868//   again.
2869//
2870// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListSimulationJobs
2871func (c *RoboMaker) ListSimulationJobs(input *ListSimulationJobsInput) (*ListSimulationJobsOutput, error) {
2872	req, out := c.ListSimulationJobsRequest(input)
2873	return out, req.Send()
2874}
2875
2876// ListSimulationJobsWithContext is the same as ListSimulationJobs with the addition of
2877// the ability to pass a context and additional request options.
2878//
2879// See ListSimulationJobs for details on how to use this API operation.
2880//
2881// The context must be non-nil and will be used for request cancellation. If
2882// the context is nil a panic will occur. In the future the SDK may create
2883// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2884// for more information on using Contexts.
2885func (c *RoboMaker) ListSimulationJobsWithContext(ctx aws.Context, input *ListSimulationJobsInput, opts ...request.Option) (*ListSimulationJobsOutput, error) {
2886	req, out := c.ListSimulationJobsRequest(input)
2887	req.SetContext(ctx)
2888	req.ApplyOptions(opts...)
2889	return out, req.Send()
2890}
2891
2892// ListSimulationJobsPages iterates over the pages of a ListSimulationJobs operation,
2893// calling the "fn" function with the response data for each page. To stop
2894// iterating, return false from the fn function.
2895//
2896// See ListSimulationJobs method for more information on how to use this operation.
2897//
2898// Note: This operation can generate multiple requests to a service.
2899//
2900//    // Example iterating over at most 3 pages of a ListSimulationJobs operation.
2901//    pageNum := 0
2902//    err := client.ListSimulationJobsPages(params,
2903//        func(page *robomaker.ListSimulationJobsOutput, lastPage bool) bool {
2904//            pageNum++
2905//            fmt.Println(page)
2906//            return pageNum <= 3
2907//        })
2908//
2909func (c *RoboMaker) ListSimulationJobsPages(input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool) error {
2910	return c.ListSimulationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
2911}
2912
2913// ListSimulationJobsPagesWithContext same as ListSimulationJobsPages except
2914// it takes a Context and allows setting request options on the pages.
2915//
2916// The context must be non-nil and will be used for request cancellation. If
2917// the context is nil a panic will occur. In the future the SDK may create
2918// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2919// for more information on using Contexts.
2920func (c *RoboMaker) ListSimulationJobsPagesWithContext(ctx aws.Context, input *ListSimulationJobsInput, fn func(*ListSimulationJobsOutput, bool) bool, opts ...request.Option) error {
2921	p := request.Pagination{
2922		NewRequest: func() (*request.Request, error) {
2923			var inCpy *ListSimulationJobsInput
2924			if input != nil {
2925				tmp := *input
2926				inCpy = &tmp
2927			}
2928			req, _ := c.ListSimulationJobsRequest(inCpy)
2929			req.SetContext(ctx)
2930			req.ApplyOptions(opts...)
2931			return req, nil
2932		},
2933	}
2934
2935	for p.Next() {
2936		if !fn(p.Page().(*ListSimulationJobsOutput), !p.HasNextPage()) {
2937			break
2938		}
2939	}
2940
2941	return p.Err()
2942}
2943
2944const opListTagsForResource = "ListTagsForResource"
2945
2946// ListTagsForResourceRequest generates a "aws/request.Request" representing the
2947// client's request for the ListTagsForResource operation. The "output" return
2948// value will be populated with the request's response once the request completes
2949// successfully.
2950//
2951// Use "Send" method on the returned Request to send the API call to the service.
2952// the "output" return value is not valid until after Send returns without error.
2953//
2954// See ListTagsForResource for more information on using the ListTagsForResource
2955// API call, and error handling.
2956//
2957// This method is useful when you want to inject custom logic or configuration
2958// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2959//
2960//
2961//    // Example sending a request using the ListTagsForResourceRequest method.
2962//    req, resp := client.ListTagsForResourceRequest(params)
2963//
2964//    err := req.Send()
2965//    if err == nil { // resp is now filled
2966//        fmt.Println(resp)
2967//    }
2968//
2969// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
2970func (c *RoboMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
2971	op := &request.Operation{
2972		Name:       opListTagsForResource,
2973		HTTPMethod: "GET",
2974		HTTPPath:   "/tags/{resourceArn}",
2975	}
2976
2977	if input == nil {
2978		input = &ListTagsForResourceInput{}
2979	}
2980
2981	output = &ListTagsForResourceOutput{}
2982	req = c.newRequest(op, input, output)
2983	return
2984}
2985
2986// ListTagsForResource API operation for AWS RoboMaker.
2987//
2988// Lists all tags on a AWS RoboMaker resource.
2989//
2990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2991// with awserr.Error's Code and Message methods to get detailed information about
2992// the error.
2993//
2994// See the AWS API reference guide for AWS RoboMaker's
2995// API operation ListTagsForResource for usage and error information.
2996//
2997// Returned Error Codes:
2998//   * ErrCodeInternalServerException "InternalServerException"
2999//   AWS RoboMaker experienced a service issue. Try your call again.
3000//
3001//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3002//   The specified resource does not exist.
3003//
3004//   * ErrCodeInvalidParameterException "InvalidParameterException"
3005//   A parameter specified in a request is not valid, is unsupported, or cannot
3006//   be used. The returned message provides an explanation of the error value.
3007//
3008//   * ErrCodeThrottlingException "ThrottlingException"
3009//   AWS RoboMaker is temporarily unable to process the request. Try your call
3010//   again.
3011//
3012// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/ListTagsForResource
3013func (c *RoboMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3014	req, out := c.ListTagsForResourceRequest(input)
3015	return out, req.Send()
3016}
3017
3018// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3019// the ability to pass a context and additional request options.
3020//
3021// See ListTagsForResource for details on how to use this API operation.
3022//
3023// The context must be non-nil and will be used for request cancellation. If
3024// the context is nil a panic will occur. In the future the SDK may create
3025// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3026// for more information on using Contexts.
3027func (c *RoboMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3028	req, out := c.ListTagsForResourceRequest(input)
3029	req.SetContext(ctx)
3030	req.ApplyOptions(opts...)
3031	return out, req.Send()
3032}
3033
3034const opRegisterRobot = "RegisterRobot"
3035
3036// RegisterRobotRequest generates a "aws/request.Request" representing the
3037// client's request for the RegisterRobot operation. The "output" return
3038// value will be populated with the request's response once the request completes
3039// successfully.
3040//
3041// Use "Send" method on the returned Request to send the API call to the service.
3042// the "output" return value is not valid until after Send returns without error.
3043//
3044// See RegisterRobot for more information on using the RegisterRobot
3045// API call, and error handling.
3046//
3047// This method is useful when you want to inject custom logic or configuration
3048// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3049//
3050//
3051//    // Example sending a request using the RegisterRobotRequest method.
3052//    req, resp := client.RegisterRobotRequest(params)
3053//
3054//    err := req.Send()
3055//    if err == nil { // resp is now filled
3056//        fmt.Println(resp)
3057//    }
3058//
3059// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
3060func (c *RoboMaker) RegisterRobotRequest(input *RegisterRobotInput) (req *request.Request, output *RegisterRobotOutput) {
3061	op := &request.Operation{
3062		Name:       opRegisterRobot,
3063		HTTPMethod: "POST",
3064		HTTPPath:   "/registerRobot",
3065	}
3066
3067	if input == nil {
3068		input = &RegisterRobotInput{}
3069	}
3070
3071	output = &RegisterRobotOutput{}
3072	req = c.newRequest(op, input, output)
3073	return
3074}
3075
3076// RegisterRobot API operation for AWS RoboMaker.
3077//
3078// Registers a robot with a fleet.
3079//
3080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3081// with awserr.Error's Code and Message methods to get detailed information about
3082// the error.
3083//
3084// See the AWS API reference guide for AWS RoboMaker's
3085// API operation RegisterRobot for usage and error information.
3086//
3087// Returned Error Codes:
3088//   * ErrCodeInvalidParameterException "InvalidParameterException"
3089//   A parameter specified in a request is not valid, is unsupported, or cannot
3090//   be used. The returned message provides an explanation of the error value.
3091//
3092//   * ErrCodeInternalServerException "InternalServerException"
3093//   AWS RoboMaker experienced a service issue. Try your call again.
3094//
3095//   * ErrCodeThrottlingException "ThrottlingException"
3096//   AWS RoboMaker is temporarily unable to process the request. Try your call
3097//   again.
3098//
3099//   * ErrCodeLimitExceededException "LimitExceededException"
3100//   The requested resource exceeds the maximum number allowed, or the number
3101//   of concurrent stream requests exceeds the maximum number allowed.
3102//
3103//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3104//   The specified resource does not exist.
3105//
3106// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RegisterRobot
3107func (c *RoboMaker) RegisterRobot(input *RegisterRobotInput) (*RegisterRobotOutput, error) {
3108	req, out := c.RegisterRobotRequest(input)
3109	return out, req.Send()
3110}
3111
3112// RegisterRobotWithContext is the same as RegisterRobot with the addition of
3113// the ability to pass a context and additional request options.
3114//
3115// See RegisterRobot for details on how to use this API operation.
3116//
3117// The context must be non-nil and will be used for request cancellation. If
3118// the context is nil a panic will occur. In the future the SDK may create
3119// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3120// for more information on using Contexts.
3121func (c *RoboMaker) RegisterRobotWithContext(ctx aws.Context, input *RegisterRobotInput, opts ...request.Option) (*RegisterRobotOutput, error) {
3122	req, out := c.RegisterRobotRequest(input)
3123	req.SetContext(ctx)
3124	req.ApplyOptions(opts...)
3125	return out, req.Send()
3126}
3127
3128const opRestartSimulationJob = "RestartSimulationJob"
3129
3130// RestartSimulationJobRequest generates a "aws/request.Request" representing the
3131// client's request for the RestartSimulationJob operation. The "output" return
3132// value will be populated with the request's response once the request completes
3133// successfully.
3134//
3135// Use "Send" method on the returned Request to send the API call to the service.
3136// the "output" return value is not valid until after Send returns without error.
3137//
3138// See RestartSimulationJob for more information on using the RestartSimulationJob
3139// API call, and error handling.
3140//
3141// This method is useful when you want to inject custom logic or configuration
3142// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3143//
3144//
3145//    // Example sending a request using the RestartSimulationJobRequest method.
3146//    req, resp := client.RestartSimulationJobRequest(params)
3147//
3148//    err := req.Send()
3149//    if err == nil { // resp is now filled
3150//        fmt.Println(resp)
3151//    }
3152//
3153// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
3154func (c *RoboMaker) RestartSimulationJobRequest(input *RestartSimulationJobInput) (req *request.Request, output *RestartSimulationJobOutput) {
3155	op := &request.Operation{
3156		Name:       opRestartSimulationJob,
3157		HTTPMethod: "POST",
3158		HTTPPath:   "/restartSimulationJob",
3159	}
3160
3161	if input == nil {
3162		input = &RestartSimulationJobInput{}
3163	}
3164
3165	output = &RestartSimulationJobOutput{}
3166	req = c.newRequest(op, input, output)
3167	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3168	return
3169}
3170
3171// RestartSimulationJob API operation for AWS RoboMaker.
3172//
3173// Restarts a running simulation job.
3174//
3175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3176// with awserr.Error's Code and Message methods to get detailed information about
3177// the error.
3178//
3179// See the AWS API reference guide for AWS RoboMaker's
3180// API operation RestartSimulationJob for usage and error information.
3181//
3182// Returned Error Codes:
3183//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3184//   The specified resource does not exist.
3185//
3186//   * ErrCodeThrottlingException "ThrottlingException"
3187//   AWS RoboMaker is temporarily unable to process the request. Try your call
3188//   again.
3189//
3190//   * ErrCodeLimitExceededException "LimitExceededException"
3191//   The requested resource exceeds the maximum number allowed, or the number
3192//   of concurrent stream requests exceeds the maximum number allowed.
3193//
3194//   * ErrCodeInvalidParameterException "InvalidParameterException"
3195//   A parameter specified in a request is not valid, is unsupported, or cannot
3196//   be used. The returned message provides an explanation of the error value.
3197//
3198//   * ErrCodeInternalServerException "InternalServerException"
3199//   AWS RoboMaker experienced a service issue. Try your call again.
3200//
3201// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/RestartSimulationJob
3202func (c *RoboMaker) RestartSimulationJob(input *RestartSimulationJobInput) (*RestartSimulationJobOutput, error) {
3203	req, out := c.RestartSimulationJobRequest(input)
3204	return out, req.Send()
3205}
3206
3207// RestartSimulationJobWithContext is the same as RestartSimulationJob with the addition of
3208// the ability to pass a context and additional request options.
3209//
3210// See RestartSimulationJob for details on how to use this API operation.
3211//
3212// The context must be non-nil and will be used for request cancellation. If
3213// the context is nil a panic will occur. In the future the SDK may create
3214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3215// for more information on using Contexts.
3216func (c *RoboMaker) RestartSimulationJobWithContext(ctx aws.Context, input *RestartSimulationJobInput, opts ...request.Option) (*RestartSimulationJobOutput, error) {
3217	req, out := c.RestartSimulationJobRequest(input)
3218	req.SetContext(ctx)
3219	req.ApplyOptions(opts...)
3220	return out, req.Send()
3221}
3222
3223const opSyncDeploymentJob = "SyncDeploymentJob"
3224
3225// SyncDeploymentJobRequest generates a "aws/request.Request" representing the
3226// client's request for the SyncDeploymentJob operation. The "output" return
3227// value will be populated with the request's response once the request completes
3228// successfully.
3229//
3230// Use "Send" method on the returned Request to send the API call to the service.
3231// the "output" return value is not valid until after Send returns without error.
3232//
3233// See SyncDeploymentJob for more information on using the SyncDeploymentJob
3234// API call, and error handling.
3235//
3236// This method is useful when you want to inject custom logic or configuration
3237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3238//
3239//
3240//    // Example sending a request using the SyncDeploymentJobRequest method.
3241//    req, resp := client.SyncDeploymentJobRequest(params)
3242//
3243//    err := req.Send()
3244//    if err == nil { // resp is now filled
3245//        fmt.Println(resp)
3246//    }
3247//
3248// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
3249func (c *RoboMaker) SyncDeploymentJobRequest(input *SyncDeploymentJobInput) (req *request.Request, output *SyncDeploymentJobOutput) {
3250	op := &request.Operation{
3251		Name:       opSyncDeploymentJob,
3252		HTTPMethod: "POST",
3253		HTTPPath:   "/syncDeploymentJob",
3254	}
3255
3256	if input == nil {
3257		input = &SyncDeploymentJobInput{}
3258	}
3259
3260	output = &SyncDeploymentJobOutput{}
3261	req = c.newRequest(op, input, output)
3262	return
3263}
3264
3265// SyncDeploymentJob API operation for AWS RoboMaker.
3266//
3267// Syncrhonizes robots in a fleet to the latest deployment. This is helpful
3268// if robots were added after a deployment.
3269//
3270// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3271// with awserr.Error's Code and Message methods to get detailed information about
3272// the error.
3273//
3274// See the AWS API reference guide for AWS RoboMaker's
3275// API operation SyncDeploymentJob for usage and error information.
3276//
3277// Returned Error Codes:
3278//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3279//   The specified resource does not exist.
3280//
3281//   * ErrCodeInvalidParameterException "InvalidParameterException"
3282//   A parameter specified in a request is not valid, is unsupported, or cannot
3283//   be used. The returned message provides an explanation of the error value.
3284//
3285//   * ErrCodeInternalServerException "InternalServerException"
3286//   AWS RoboMaker experienced a service issue. Try your call again.
3287//
3288//   * ErrCodeThrottlingException "ThrottlingException"
3289//   AWS RoboMaker is temporarily unable to process the request. Try your call
3290//   again.
3291//
3292//   * ErrCodeLimitExceededException "LimitExceededException"
3293//   The requested resource exceeds the maximum number allowed, or the number
3294//   of concurrent stream requests exceeds the maximum number allowed.
3295//
3296//   * ErrCodeConcurrentDeploymentException "ConcurrentDeploymentException"
3297//   The failure percentage threshold percentage was met.
3298//
3299//   * ErrCodeIdempotentParameterMismatchException "IdempotentParameterMismatchException"
3300//   The request uses the same client token as a previous, but non-identical request.
3301//   Do not reuse a client token with different requests, unless the requests
3302//   are identical.
3303//
3304// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/SyncDeploymentJob
3305func (c *RoboMaker) SyncDeploymentJob(input *SyncDeploymentJobInput) (*SyncDeploymentJobOutput, error) {
3306	req, out := c.SyncDeploymentJobRequest(input)
3307	return out, req.Send()
3308}
3309
3310// SyncDeploymentJobWithContext is the same as SyncDeploymentJob with the addition of
3311// the ability to pass a context and additional request options.
3312//
3313// See SyncDeploymentJob for details on how to use this API operation.
3314//
3315// The context must be non-nil and will be used for request cancellation. If
3316// the context is nil a panic will occur. In the future the SDK may create
3317// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3318// for more information on using Contexts.
3319func (c *RoboMaker) SyncDeploymentJobWithContext(ctx aws.Context, input *SyncDeploymentJobInput, opts ...request.Option) (*SyncDeploymentJobOutput, error) {
3320	req, out := c.SyncDeploymentJobRequest(input)
3321	req.SetContext(ctx)
3322	req.ApplyOptions(opts...)
3323	return out, req.Send()
3324}
3325
3326const opTagResource = "TagResource"
3327
3328// TagResourceRequest generates a "aws/request.Request" representing the
3329// client's request for the TagResource operation. The "output" return
3330// value will be populated with the request's response once the request completes
3331// successfully.
3332//
3333// Use "Send" method on the returned Request to send the API call to the service.
3334// the "output" return value is not valid until after Send returns without error.
3335//
3336// See TagResource for more information on using the TagResource
3337// API call, and error handling.
3338//
3339// This method is useful when you want to inject custom logic or configuration
3340// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3341//
3342//
3343//    // Example sending a request using the TagResourceRequest method.
3344//    req, resp := client.TagResourceRequest(params)
3345//
3346//    err := req.Send()
3347//    if err == nil { // resp is now filled
3348//        fmt.Println(resp)
3349//    }
3350//
3351// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
3352func (c *RoboMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3353	op := &request.Operation{
3354		Name:       opTagResource,
3355		HTTPMethod: "POST",
3356		HTTPPath:   "/tags/{resourceArn}",
3357	}
3358
3359	if input == nil {
3360		input = &TagResourceInput{}
3361	}
3362
3363	output = &TagResourceOutput{}
3364	req = c.newRequest(op, input, output)
3365	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3366	return
3367}
3368
3369// TagResource API operation for AWS RoboMaker.
3370//
3371// Adds or edits tags for a AWS RoboMaker resource.
3372//
3373// Each tag consists of a tag key and a tag value. Tag keys and tag values are
3374// both required, but tag values can be empty strings.
3375//
3376// For information about the rules that apply to tag keys and tag values, see
3377// User-Defined Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
3378// in the AWS Billing and Cost Management User Guide.
3379//
3380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3381// with awserr.Error's Code and Message methods to get detailed information about
3382// the error.
3383//
3384// See the AWS API reference guide for AWS RoboMaker's
3385// API operation TagResource for usage and error information.
3386//
3387// Returned Error Codes:
3388//   * ErrCodeInternalServerException "InternalServerException"
3389//   AWS RoboMaker experienced a service issue. Try your call again.
3390//
3391//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3392//   The specified resource does not exist.
3393//
3394//   * ErrCodeInvalidParameterException "InvalidParameterException"
3395//   A parameter specified in a request is not valid, is unsupported, or cannot
3396//   be used. The returned message provides an explanation of the error value.
3397//
3398//   * ErrCodeThrottlingException "ThrottlingException"
3399//   AWS RoboMaker is temporarily unable to process the request. Try your call
3400//   again.
3401//
3402// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/TagResource
3403func (c *RoboMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3404	req, out := c.TagResourceRequest(input)
3405	return out, req.Send()
3406}
3407
3408// TagResourceWithContext is the same as TagResource with the addition of
3409// the ability to pass a context and additional request options.
3410//
3411// See TagResource for details on how to use this API operation.
3412//
3413// The context must be non-nil and will be used for request cancellation. If
3414// the context is nil a panic will occur. In the future the SDK may create
3415// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3416// for more information on using Contexts.
3417func (c *RoboMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3418	req, out := c.TagResourceRequest(input)
3419	req.SetContext(ctx)
3420	req.ApplyOptions(opts...)
3421	return out, req.Send()
3422}
3423
3424const opUntagResource = "UntagResource"
3425
3426// UntagResourceRequest generates a "aws/request.Request" representing the
3427// client's request for the UntagResource operation. The "output" return
3428// value will be populated with the request's response once the request completes
3429// successfully.
3430//
3431// Use "Send" method on the returned Request to send the API call to the service.
3432// the "output" return value is not valid until after Send returns without error.
3433//
3434// See UntagResource for more information on using the UntagResource
3435// API call, and error handling.
3436//
3437// This method is useful when you want to inject custom logic or configuration
3438// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3439//
3440//
3441//    // Example sending a request using the UntagResourceRequest method.
3442//    req, resp := client.UntagResourceRequest(params)
3443//
3444//    err := req.Send()
3445//    if err == nil { // resp is now filled
3446//        fmt.Println(resp)
3447//    }
3448//
3449// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
3450func (c *RoboMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3451	op := &request.Operation{
3452		Name:       opUntagResource,
3453		HTTPMethod: "DELETE",
3454		HTTPPath:   "/tags/{resourceArn}",
3455	}
3456
3457	if input == nil {
3458		input = &UntagResourceInput{}
3459	}
3460
3461	output = &UntagResourceOutput{}
3462	req = c.newRequest(op, input, output)
3463	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3464	return
3465}
3466
3467// UntagResource API operation for AWS RoboMaker.
3468//
3469// Removes the specified tags from the specified AWS RoboMaker resource.
3470//
3471// To remove a tag, specify the tag key. To change the tag value of an existing
3472// tag key, use TagResource (https://docs.aws.amazon.com/robomaker/latest/dg/API_TagResource.html).
3473//
3474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3475// with awserr.Error's Code and Message methods to get detailed information about
3476// the error.
3477//
3478// See the AWS API reference guide for AWS RoboMaker's
3479// API operation UntagResource for usage and error information.
3480//
3481// Returned Error Codes:
3482//   * ErrCodeInternalServerException "InternalServerException"
3483//   AWS RoboMaker experienced a service issue. Try your call again.
3484//
3485//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3486//   The specified resource does not exist.
3487//
3488//   * ErrCodeInvalidParameterException "InvalidParameterException"
3489//   A parameter specified in a request is not valid, is unsupported, or cannot
3490//   be used. The returned message provides an explanation of the error value.
3491//
3492//   * ErrCodeThrottlingException "ThrottlingException"
3493//   AWS RoboMaker is temporarily unable to process the request. Try your call
3494//   again.
3495//
3496// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UntagResource
3497func (c *RoboMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3498	req, out := c.UntagResourceRequest(input)
3499	return out, req.Send()
3500}
3501
3502// UntagResourceWithContext is the same as UntagResource with the addition of
3503// the ability to pass a context and additional request options.
3504//
3505// See UntagResource for details on how to use this API operation.
3506//
3507// The context must be non-nil and will be used for request cancellation. If
3508// the context is nil a panic will occur. In the future the SDK may create
3509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3510// for more information on using Contexts.
3511func (c *RoboMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3512	req, out := c.UntagResourceRequest(input)
3513	req.SetContext(ctx)
3514	req.ApplyOptions(opts...)
3515	return out, req.Send()
3516}
3517
3518const opUpdateRobotApplication = "UpdateRobotApplication"
3519
3520// UpdateRobotApplicationRequest generates a "aws/request.Request" representing the
3521// client's request for the UpdateRobotApplication operation. The "output" return
3522// value will be populated with the request's response once the request completes
3523// successfully.
3524//
3525// Use "Send" method on the returned Request to send the API call to the service.
3526// the "output" return value is not valid until after Send returns without error.
3527//
3528// See UpdateRobotApplication for more information on using the UpdateRobotApplication
3529// API call, and error handling.
3530//
3531// This method is useful when you want to inject custom logic or configuration
3532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3533//
3534//
3535//    // Example sending a request using the UpdateRobotApplicationRequest method.
3536//    req, resp := client.UpdateRobotApplicationRequest(params)
3537//
3538//    err := req.Send()
3539//    if err == nil { // resp is now filled
3540//        fmt.Println(resp)
3541//    }
3542//
3543// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
3544func (c *RoboMaker) UpdateRobotApplicationRequest(input *UpdateRobotApplicationInput) (req *request.Request, output *UpdateRobotApplicationOutput) {
3545	op := &request.Operation{
3546		Name:       opUpdateRobotApplication,
3547		HTTPMethod: "POST",
3548		HTTPPath:   "/updateRobotApplication",
3549	}
3550
3551	if input == nil {
3552		input = &UpdateRobotApplicationInput{}
3553	}
3554
3555	output = &UpdateRobotApplicationOutput{}
3556	req = c.newRequest(op, input, output)
3557	return
3558}
3559
3560// UpdateRobotApplication API operation for AWS RoboMaker.
3561//
3562// Updates a robot application.
3563//
3564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3565// with awserr.Error's Code and Message methods to get detailed information about
3566// the error.
3567//
3568// See the AWS API reference guide for AWS RoboMaker's
3569// API operation UpdateRobotApplication for usage and error information.
3570//
3571// Returned Error Codes:
3572//   * ErrCodeInvalidParameterException "InvalidParameterException"
3573//   A parameter specified in a request is not valid, is unsupported, or cannot
3574//   be used. The returned message provides an explanation of the error value.
3575//
3576//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3577//   The specified resource does not exist.
3578//
3579//   * ErrCodeLimitExceededException "LimitExceededException"
3580//   The requested resource exceeds the maximum number allowed, or the number
3581//   of concurrent stream requests exceeds the maximum number allowed.
3582//
3583//   * ErrCodeThrottlingException "ThrottlingException"
3584//   AWS RoboMaker is temporarily unable to process the request. Try your call
3585//   again.
3586//
3587//   * ErrCodeInternalServerException "InternalServerException"
3588//   AWS RoboMaker experienced a service issue. Try your call again.
3589//
3590// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateRobotApplication
3591func (c *RoboMaker) UpdateRobotApplication(input *UpdateRobotApplicationInput) (*UpdateRobotApplicationOutput, error) {
3592	req, out := c.UpdateRobotApplicationRequest(input)
3593	return out, req.Send()
3594}
3595
3596// UpdateRobotApplicationWithContext is the same as UpdateRobotApplication with the addition of
3597// the ability to pass a context and additional request options.
3598//
3599// See UpdateRobotApplication for details on how to use this API operation.
3600//
3601// The context must be non-nil and will be used for request cancellation. If
3602// the context is nil a panic will occur. In the future the SDK may create
3603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3604// for more information on using Contexts.
3605func (c *RoboMaker) UpdateRobotApplicationWithContext(ctx aws.Context, input *UpdateRobotApplicationInput, opts ...request.Option) (*UpdateRobotApplicationOutput, error) {
3606	req, out := c.UpdateRobotApplicationRequest(input)
3607	req.SetContext(ctx)
3608	req.ApplyOptions(opts...)
3609	return out, req.Send()
3610}
3611
3612const opUpdateSimulationApplication = "UpdateSimulationApplication"
3613
3614// UpdateSimulationApplicationRequest generates a "aws/request.Request" representing the
3615// client's request for the UpdateSimulationApplication operation. The "output" return
3616// value will be populated with the request's response once the request completes
3617// successfully.
3618//
3619// Use "Send" method on the returned Request to send the API call to the service.
3620// the "output" return value is not valid until after Send returns without error.
3621//
3622// See UpdateSimulationApplication for more information on using the UpdateSimulationApplication
3623// API call, and error handling.
3624//
3625// This method is useful when you want to inject custom logic or configuration
3626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3627//
3628//
3629//    // Example sending a request using the UpdateSimulationApplicationRequest method.
3630//    req, resp := client.UpdateSimulationApplicationRequest(params)
3631//
3632//    err := req.Send()
3633//    if err == nil { // resp is now filled
3634//        fmt.Println(resp)
3635//    }
3636//
3637// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
3638func (c *RoboMaker) UpdateSimulationApplicationRequest(input *UpdateSimulationApplicationInput) (req *request.Request, output *UpdateSimulationApplicationOutput) {
3639	op := &request.Operation{
3640		Name:       opUpdateSimulationApplication,
3641		HTTPMethod: "POST",
3642		HTTPPath:   "/updateSimulationApplication",
3643	}
3644
3645	if input == nil {
3646		input = &UpdateSimulationApplicationInput{}
3647	}
3648
3649	output = &UpdateSimulationApplicationOutput{}
3650	req = c.newRequest(op, input, output)
3651	return
3652}
3653
3654// UpdateSimulationApplication API operation for AWS RoboMaker.
3655//
3656// Updates a simulation application.
3657//
3658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3659// with awserr.Error's Code and Message methods to get detailed information about
3660// the error.
3661//
3662// See the AWS API reference guide for AWS RoboMaker's
3663// API operation UpdateSimulationApplication for usage and error information.
3664//
3665// Returned Error Codes:
3666//   * ErrCodeInvalidParameterException "InvalidParameterException"
3667//   A parameter specified in a request is not valid, is unsupported, or cannot
3668//   be used. The returned message provides an explanation of the error value.
3669//
3670//   * ErrCodeResourceNotFoundException "ResourceNotFoundException"
3671//   The specified resource does not exist.
3672//
3673//   * ErrCodeLimitExceededException "LimitExceededException"
3674//   The requested resource exceeds the maximum number allowed, or the number
3675//   of concurrent stream requests exceeds the maximum number allowed.
3676//
3677//   * ErrCodeThrottlingException "ThrottlingException"
3678//   AWS RoboMaker is temporarily unable to process the request. Try your call
3679//   again.
3680//
3681//   * ErrCodeInternalServerException "InternalServerException"
3682//   AWS RoboMaker experienced a service issue. Try your call again.
3683//
3684// See also, https://docs.aws.amazon.com/goto/WebAPI/robomaker-2018-06-29/UpdateSimulationApplication
3685func (c *RoboMaker) UpdateSimulationApplication(input *UpdateSimulationApplicationInput) (*UpdateSimulationApplicationOutput, error) {
3686	req, out := c.UpdateSimulationApplicationRequest(input)
3687	return out, req.Send()
3688}
3689
3690// UpdateSimulationApplicationWithContext is the same as UpdateSimulationApplication with the addition of
3691// the ability to pass a context and additional request options.
3692//
3693// See UpdateSimulationApplication for details on how to use this API operation.
3694//
3695// The context must be non-nil and will be used for request cancellation. If
3696// the context is nil a panic will occur. In the future the SDK may create
3697// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3698// for more information on using Contexts.
3699func (c *RoboMaker) UpdateSimulationApplicationWithContext(ctx aws.Context, input *UpdateSimulationApplicationInput, opts ...request.Option) (*UpdateSimulationApplicationOutput, error) {
3700	req, out := c.UpdateSimulationApplicationRequest(input)
3701	req.SetContext(ctx)
3702	req.ApplyOptions(opts...)
3703	return out, req.Send()
3704}
3705
3706type BatchDescribeSimulationJobInput struct {
3707	_ struct{} `type:"structure"`
3708
3709	// A list of Amazon Resource Names (ARNs) of simulation jobs to describe.
3710	//
3711	// Jobs is a required field
3712	Jobs []*string `locationName:"jobs" min:"1" type:"list" required:"true"`
3713}
3714
3715// String returns the string representation
3716func (s BatchDescribeSimulationJobInput) String() string {
3717	return awsutil.Prettify(s)
3718}
3719
3720// GoString returns the string representation
3721func (s BatchDescribeSimulationJobInput) GoString() string {
3722	return s.String()
3723}
3724
3725// Validate inspects the fields of the type to determine if they are valid.
3726func (s *BatchDescribeSimulationJobInput) Validate() error {
3727	invalidParams := request.ErrInvalidParams{Context: "BatchDescribeSimulationJobInput"}
3728	if s.Jobs == nil {
3729		invalidParams.Add(request.NewErrParamRequired("Jobs"))
3730	}
3731	if s.Jobs != nil && len(s.Jobs) < 1 {
3732		invalidParams.Add(request.NewErrParamMinLen("Jobs", 1))
3733	}
3734
3735	if invalidParams.Len() > 0 {
3736		return invalidParams
3737	}
3738	return nil
3739}
3740
3741// SetJobs sets the Jobs field's value.
3742func (s *BatchDescribeSimulationJobInput) SetJobs(v []*string) *BatchDescribeSimulationJobInput {
3743	s.Jobs = v
3744	return s
3745}
3746
3747type BatchDescribeSimulationJobOutput struct {
3748	_ struct{} `type:"structure"`
3749
3750	// A list of simulation jobs.
3751	Jobs []*SimulationJob `locationName:"jobs" type:"list"`
3752
3753	// A list of unprocessed simulation job Amazon Resource Names (ARNs).
3754	UnprocessedJobs []*string `locationName:"unprocessedJobs" min:"1" type:"list"`
3755}
3756
3757// String returns the string representation
3758func (s BatchDescribeSimulationJobOutput) String() string {
3759	return awsutil.Prettify(s)
3760}
3761
3762// GoString returns the string representation
3763func (s BatchDescribeSimulationJobOutput) GoString() string {
3764	return s.String()
3765}
3766
3767// SetJobs sets the Jobs field's value.
3768func (s *BatchDescribeSimulationJobOutput) SetJobs(v []*SimulationJob) *BatchDescribeSimulationJobOutput {
3769	s.Jobs = v
3770	return s
3771}
3772
3773// SetUnprocessedJobs sets the UnprocessedJobs field's value.
3774func (s *BatchDescribeSimulationJobOutput) SetUnprocessedJobs(v []*string) *BatchDescribeSimulationJobOutput {
3775	s.UnprocessedJobs = v
3776	return s
3777}
3778
3779type CancelDeploymentJobInput struct {
3780	_ struct{} `type:"structure"`
3781
3782	// The deployment job ARN to cancel.
3783	//
3784	// Job is a required field
3785	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
3786}
3787
3788// String returns the string representation
3789func (s CancelDeploymentJobInput) String() string {
3790	return awsutil.Prettify(s)
3791}
3792
3793// GoString returns the string representation
3794func (s CancelDeploymentJobInput) GoString() string {
3795	return s.String()
3796}
3797
3798// Validate inspects the fields of the type to determine if they are valid.
3799func (s *CancelDeploymentJobInput) Validate() error {
3800	invalidParams := request.ErrInvalidParams{Context: "CancelDeploymentJobInput"}
3801	if s.Job == nil {
3802		invalidParams.Add(request.NewErrParamRequired("Job"))
3803	}
3804	if s.Job != nil && len(*s.Job) < 1 {
3805		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
3806	}
3807
3808	if invalidParams.Len() > 0 {
3809		return invalidParams
3810	}
3811	return nil
3812}
3813
3814// SetJob sets the Job field's value.
3815func (s *CancelDeploymentJobInput) SetJob(v string) *CancelDeploymentJobInput {
3816	s.Job = &v
3817	return s
3818}
3819
3820type CancelDeploymentJobOutput struct {
3821	_ struct{} `type:"structure"`
3822}
3823
3824// String returns the string representation
3825func (s CancelDeploymentJobOutput) String() string {
3826	return awsutil.Prettify(s)
3827}
3828
3829// GoString returns the string representation
3830func (s CancelDeploymentJobOutput) GoString() string {
3831	return s.String()
3832}
3833
3834type CancelSimulationJobInput struct {
3835	_ struct{} `type:"structure"`
3836
3837	// The simulation job ARN to cancel.
3838	//
3839	// Job is a required field
3840	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
3841}
3842
3843// String returns the string representation
3844func (s CancelSimulationJobInput) String() string {
3845	return awsutil.Prettify(s)
3846}
3847
3848// GoString returns the string representation
3849func (s CancelSimulationJobInput) GoString() string {
3850	return s.String()
3851}
3852
3853// Validate inspects the fields of the type to determine if they are valid.
3854func (s *CancelSimulationJobInput) Validate() error {
3855	invalidParams := request.ErrInvalidParams{Context: "CancelSimulationJobInput"}
3856	if s.Job == nil {
3857		invalidParams.Add(request.NewErrParamRequired("Job"))
3858	}
3859	if s.Job != nil && len(*s.Job) < 1 {
3860		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
3861	}
3862
3863	if invalidParams.Len() > 0 {
3864		return invalidParams
3865	}
3866	return nil
3867}
3868
3869// SetJob sets the Job field's value.
3870func (s *CancelSimulationJobInput) SetJob(v string) *CancelSimulationJobInput {
3871	s.Job = &v
3872	return s
3873}
3874
3875type CancelSimulationJobOutput struct {
3876	_ struct{} `type:"structure"`
3877}
3878
3879// String returns the string representation
3880func (s CancelSimulationJobOutput) String() string {
3881	return awsutil.Prettify(s)
3882}
3883
3884// GoString returns the string representation
3885func (s CancelSimulationJobOutput) GoString() string {
3886	return s.String()
3887}
3888
3889type CreateDeploymentJobInput struct {
3890	_ struct{} `type:"structure"`
3891
3892	// Unique, case-sensitive identifier that you provide to ensure the idempotency
3893	// of the request.
3894	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
3895
3896	// The deployment application configuration.
3897	//
3898	// DeploymentApplicationConfigs is a required field
3899	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list" required:"true"`
3900
3901	// The requested deployment configuration.
3902	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
3903
3904	// The Amazon Resource Name (ARN) of the fleet to deploy.
3905	//
3906	// Fleet is a required field
3907	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
3908
3909	// A map that contains tag keys and tag values that are attached to the deployment
3910	// job.
3911	Tags map[string]*string `locationName:"tags" type:"map"`
3912}
3913
3914// String returns the string representation
3915func (s CreateDeploymentJobInput) String() string {
3916	return awsutil.Prettify(s)
3917}
3918
3919// GoString returns the string representation
3920func (s CreateDeploymentJobInput) GoString() string {
3921	return s.String()
3922}
3923
3924// Validate inspects the fields of the type to determine if they are valid.
3925func (s *CreateDeploymentJobInput) Validate() error {
3926	invalidParams := request.ErrInvalidParams{Context: "CreateDeploymentJobInput"}
3927	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
3928		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
3929	}
3930	if s.DeploymentApplicationConfigs == nil {
3931		invalidParams.Add(request.NewErrParamRequired("DeploymentApplicationConfigs"))
3932	}
3933	if s.DeploymentApplicationConfigs != nil && len(s.DeploymentApplicationConfigs) < 1 {
3934		invalidParams.Add(request.NewErrParamMinLen("DeploymentApplicationConfigs", 1))
3935	}
3936	if s.Fleet == nil {
3937		invalidParams.Add(request.NewErrParamRequired("Fleet"))
3938	}
3939	if s.Fleet != nil && len(*s.Fleet) < 1 {
3940		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
3941	}
3942	if s.DeploymentApplicationConfigs != nil {
3943		for i, v := range s.DeploymentApplicationConfigs {
3944			if v == nil {
3945				continue
3946			}
3947			if err := v.Validate(); err != nil {
3948				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DeploymentApplicationConfigs", i), err.(request.ErrInvalidParams))
3949			}
3950		}
3951	}
3952	if s.DeploymentConfig != nil {
3953		if err := s.DeploymentConfig.Validate(); err != nil {
3954			invalidParams.AddNested("DeploymentConfig", err.(request.ErrInvalidParams))
3955		}
3956	}
3957
3958	if invalidParams.Len() > 0 {
3959		return invalidParams
3960	}
3961	return nil
3962}
3963
3964// SetClientRequestToken sets the ClientRequestToken field's value.
3965func (s *CreateDeploymentJobInput) SetClientRequestToken(v string) *CreateDeploymentJobInput {
3966	s.ClientRequestToken = &v
3967	return s
3968}
3969
3970// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
3971func (s *CreateDeploymentJobInput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobInput {
3972	s.DeploymentApplicationConfigs = v
3973	return s
3974}
3975
3976// SetDeploymentConfig sets the DeploymentConfig field's value.
3977func (s *CreateDeploymentJobInput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobInput {
3978	s.DeploymentConfig = v
3979	return s
3980}
3981
3982// SetFleet sets the Fleet field's value.
3983func (s *CreateDeploymentJobInput) SetFleet(v string) *CreateDeploymentJobInput {
3984	s.Fleet = &v
3985	return s
3986}
3987
3988// SetTags sets the Tags field's value.
3989func (s *CreateDeploymentJobInput) SetTags(v map[string]*string) *CreateDeploymentJobInput {
3990	s.Tags = v
3991	return s
3992}
3993
3994type CreateDeploymentJobOutput struct {
3995	_ struct{} `type:"structure"`
3996
3997	// The Amazon Resource Name (ARN) of the deployment job.
3998	Arn *string `locationName:"arn" min:"1" type:"string"`
3999
4000	// The time, in milliseconds since the epoch, when the fleet was created.
4001	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4002
4003	// The deployment application configuration.
4004	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
4005
4006	// The deployment configuration.
4007	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
4008
4009	// The failure code of the simulation job if it failed:
4010	//
4011	// BadPermissionError
4012	//
4013	// AWS Greengrass requires a service-level role permission to access other services.
4014	// The role must include the AWSGreengrassResourceAccessRolePolicy managed policy
4015	// (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor).
4016	//
4017	// ExtractingBundleFailure
4018	//
4019	// The robot application could not be extracted from the bundle.
4020	//
4021	// FailureThresholdBreached
4022	//
4023	// The percentage of robots that could not be updated exceeded the percentage
4024	// set for the deployment.
4025	//
4026	// GreengrassDeploymentFailed
4027	//
4028	// The robot application could not be deployed to the robot.
4029	//
4030	// GreengrassGroupVersionDoesNotExist
4031	//
4032	// The AWS Greengrass group or version associated with a robot is missing.
4033	//
4034	// InternalServerError
4035	//
4036	// An internal error has occurred. Retry your request, but if the problem persists,
4037	// contact us with details.
4038	//
4039	// MissingRobotApplicationArchitecture
4040	//
4041	// The robot application does not have a source that matches the architecture
4042	// of the robot.
4043	//
4044	// MissingRobotDeploymentResource
4045	//
4046	// One or more of the resources specified for the robot application are missing.
4047	// For example, does the robot application have the correct launch package and
4048	// launch file?
4049	//
4050	// PostLaunchFileFailure
4051	//
4052	// The post-launch script failed.
4053	//
4054	// PreLaunchFileFailure
4055	//
4056	// The pre-launch script failed.
4057	//
4058	// ResourceNotFound
4059	//
4060	// One or more deployment resources are missing. For example, do robot application
4061	// source bundles still exist?
4062	//
4063	// RobotDeploymentNoResponse
4064	//
4065	// There is no response from the robot. It might not be powered on or connected
4066	// to the internet.
4067	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
4068
4069	// The failure reason of the deployment job if it failed.
4070	FailureReason *string `locationName:"failureReason" type:"string"`
4071
4072	// The target fleet for the deployment job.
4073	Fleet *string `locationName:"fleet" min:"1" type:"string"`
4074
4075	// The status of the deployment job.
4076	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
4077
4078	// The list of all tags added to the deployment job.
4079	Tags map[string]*string `locationName:"tags" type:"map"`
4080}
4081
4082// String returns the string representation
4083func (s CreateDeploymentJobOutput) String() string {
4084	return awsutil.Prettify(s)
4085}
4086
4087// GoString returns the string representation
4088func (s CreateDeploymentJobOutput) GoString() string {
4089	return s.String()
4090}
4091
4092// SetArn sets the Arn field's value.
4093func (s *CreateDeploymentJobOutput) SetArn(v string) *CreateDeploymentJobOutput {
4094	s.Arn = &v
4095	return s
4096}
4097
4098// SetCreatedAt sets the CreatedAt field's value.
4099func (s *CreateDeploymentJobOutput) SetCreatedAt(v time.Time) *CreateDeploymentJobOutput {
4100	s.CreatedAt = &v
4101	return s
4102}
4103
4104// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
4105func (s *CreateDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *CreateDeploymentJobOutput {
4106	s.DeploymentApplicationConfigs = v
4107	return s
4108}
4109
4110// SetDeploymentConfig sets the DeploymentConfig field's value.
4111func (s *CreateDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *CreateDeploymentJobOutput {
4112	s.DeploymentConfig = v
4113	return s
4114}
4115
4116// SetFailureCode sets the FailureCode field's value.
4117func (s *CreateDeploymentJobOutput) SetFailureCode(v string) *CreateDeploymentJobOutput {
4118	s.FailureCode = &v
4119	return s
4120}
4121
4122// SetFailureReason sets the FailureReason field's value.
4123func (s *CreateDeploymentJobOutput) SetFailureReason(v string) *CreateDeploymentJobOutput {
4124	s.FailureReason = &v
4125	return s
4126}
4127
4128// SetFleet sets the Fleet field's value.
4129func (s *CreateDeploymentJobOutput) SetFleet(v string) *CreateDeploymentJobOutput {
4130	s.Fleet = &v
4131	return s
4132}
4133
4134// SetStatus sets the Status field's value.
4135func (s *CreateDeploymentJobOutput) SetStatus(v string) *CreateDeploymentJobOutput {
4136	s.Status = &v
4137	return s
4138}
4139
4140// SetTags sets the Tags field's value.
4141func (s *CreateDeploymentJobOutput) SetTags(v map[string]*string) *CreateDeploymentJobOutput {
4142	s.Tags = v
4143	return s
4144}
4145
4146type CreateFleetInput struct {
4147	_ struct{} `type:"structure"`
4148
4149	// The name of the fleet.
4150	//
4151	// Name is a required field
4152	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4153
4154	// A map that contains tag keys and tag values that are attached to the fleet.
4155	Tags map[string]*string `locationName:"tags" type:"map"`
4156}
4157
4158// String returns the string representation
4159func (s CreateFleetInput) String() string {
4160	return awsutil.Prettify(s)
4161}
4162
4163// GoString returns the string representation
4164func (s CreateFleetInput) GoString() string {
4165	return s.String()
4166}
4167
4168// Validate inspects the fields of the type to determine if they are valid.
4169func (s *CreateFleetInput) Validate() error {
4170	invalidParams := request.ErrInvalidParams{Context: "CreateFleetInput"}
4171	if s.Name == nil {
4172		invalidParams.Add(request.NewErrParamRequired("Name"))
4173	}
4174	if s.Name != nil && len(*s.Name) < 1 {
4175		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4176	}
4177
4178	if invalidParams.Len() > 0 {
4179		return invalidParams
4180	}
4181	return nil
4182}
4183
4184// SetName sets the Name field's value.
4185func (s *CreateFleetInput) SetName(v string) *CreateFleetInput {
4186	s.Name = &v
4187	return s
4188}
4189
4190// SetTags sets the Tags field's value.
4191func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput {
4192	s.Tags = v
4193	return s
4194}
4195
4196type CreateFleetOutput struct {
4197	_ struct{} `type:"structure"`
4198
4199	// The Amazon Resource Name (ARN) of the fleet.
4200	Arn *string `locationName:"arn" min:"1" type:"string"`
4201
4202	// The time, in milliseconds since the epoch, when the fleet was created.
4203	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4204
4205	// The name of the fleet.
4206	Name *string `locationName:"name" min:"1" type:"string"`
4207
4208	// The list of all tags added to the fleet.
4209	Tags map[string]*string `locationName:"tags" type:"map"`
4210}
4211
4212// String returns the string representation
4213func (s CreateFleetOutput) String() string {
4214	return awsutil.Prettify(s)
4215}
4216
4217// GoString returns the string representation
4218func (s CreateFleetOutput) GoString() string {
4219	return s.String()
4220}
4221
4222// SetArn sets the Arn field's value.
4223func (s *CreateFleetOutput) SetArn(v string) *CreateFleetOutput {
4224	s.Arn = &v
4225	return s
4226}
4227
4228// SetCreatedAt sets the CreatedAt field's value.
4229func (s *CreateFleetOutput) SetCreatedAt(v time.Time) *CreateFleetOutput {
4230	s.CreatedAt = &v
4231	return s
4232}
4233
4234// SetName sets the Name field's value.
4235func (s *CreateFleetOutput) SetName(v string) *CreateFleetOutput {
4236	s.Name = &v
4237	return s
4238}
4239
4240// SetTags sets the Tags field's value.
4241func (s *CreateFleetOutput) SetTags(v map[string]*string) *CreateFleetOutput {
4242	s.Tags = v
4243	return s
4244}
4245
4246type CreateRobotApplicationInput struct {
4247	_ struct{} `type:"structure"`
4248
4249	// The name of the robot application.
4250	//
4251	// Name is a required field
4252	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4253
4254	// The robot software suite used by the robot application.
4255	//
4256	// RobotSoftwareSuite is a required field
4257	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
4258
4259	// The sources of the robot application.
4260	//
4261	// Sources is a required field
4262	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
4263
4264	// A map that contains tag keys and tag values that are attached to the robot
4265	// application.
4266	Tags map[string]*string `locationName:"tags" type:"map"`
4267}
4268
4269// String returns the string representation
4270func (s CreateRobotApplicationInput) String() string {
4271	return awsutil.Prettify(s)
4272}
4273
4274// GoString returns the string representation
4275func (s CreateRobotApplicationInput) GoString() string {
4276	return s.String()
4277}
4278
4279// Validate inspects the fields of the type to determine if they are valid.
4280func (s *CreateRobotApplicationInput) Validate() error {
4281	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationInput"}
4282	if s.Name == nil {
4283		invalidParams.Add(request.NewErrParamRequired("Name"))
4284	}
4285	if s.Name != nil && len(*s.Name) < 1 {
4286		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4287	}
4288	if s.RobotSoftwareSuite == nil {
4289		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
4290	}
4291	if s.Sources == nil {
4292		invalidParams.Add(request.NewErrParamRequired("Sources"))
4293	}
4294	if s.Sources != nil {
4295		for i, v := range s.Sources {
4296			if v == nil {
4297				continue
4298			}
4299			if err := v.Validate(); err != nil {
4300				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
4301			}
4302		}
4303	}
4304
4305	if invalidParams.Len() > 0 {
4306		return invalidParams
4307	}
4308	return nil
4309}
4310
4311// SetName sets the Name field's value.
4312func (s *CreateRobotApplicationInput) SetName(v string) *CreateRobotApplicationInput {
4313	s.Name = &v
4314	return s
4315}
4316
4317// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
4318func (s *CreateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationInput {
4319	s.RobotSoftwareSuite = v
4320	return s
4321}
4322
4323// SetSources sets the Sources field's value.
4324func (s *CreateRobotApplicationInput) SetSources(v []*SourceConfig) *CreateRobotApplicationInput {
4325	s.Sources = v
4326	return s
4327}
4328
4329// SetTags sets the Tags field's value.
4330func (s *CreateRobotApplicationInput) SetTags(v map[string]*string) *CreateRobotApplicationInput {
4331	s.Tags = v
4332	return s
4333}
4334
4335type CreateRobotApplicationOutput struct {
4336	_ struct{} `type:"structure"`
4337
4338	// The Amazon Resource Name (ARN) of the robot application.
4339	Arn *string `locationName:"arn" min:"1" type:"string"`
4340
4341	// The time, in milliseconds since the epoch, when the robot application was
4342	// last updated.
4343	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
4344
4345	// The name of the robot application.
4346	Name *string `locationName:"name" min:"1" type:"string"`
4347
4348	// The revision id of the robot application.
4349	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
4350
4351	// The robot software suite used by the robot application.
4352	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
4353
4354	// The sources of the robot application.
4355	Sources []*Source `locationName:"sources" type:"list"`
4356
4357	// The list of all tags added to the robot application.
4358	Tags map[string]*string `locationName:"tags" type:"map"`
4359
4360	// The version of the robot application.
4361	Version *string `locationName:"version" min:"1" type:"string"`
4362}
4363
4364// String returns the string representation
4365func (s CreateRobotApplicationOutput) String() string {
4366	return awsutil.Prettify(s)
4367}
4368
4369// GoString returns the string representation
4370func (s CreateRobotApplicationOutput) GoString() string {
4371	return s.String()
4372}
4373
4374// SetArn sets the Arn field's value.
4375func (s *CreateRobotApplicationOutput) SetArn(v string) *CreateRobotApplicationOutput {
4376	s.Arn = &v
4377	return s
4378}
4379
4380// SetLastUpdatedAt sets the LastUpdatedAt field's value.
4381func (s *CreateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationOutput {
4382	s.LastUpdatedAt = &v
4383	return s
4384}
4385
4386// SetName sets the Name field's value.
4387func (s *CreateRobotApplicationOutput) SetName(v string) *CreateRobotApplicationOutput {
4388	s.Name = &v
4389	return s
4390}
4391
4392// SetRevisionId sets the RevisionId field's value.
4393func (s *CreateRobotApplicationOutput) SetRevisionId(v string) *CreateRobotApplicationOutput {
4394	s.RevisionId = &v
4395	return s
4396}
4397
4398// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
4399func (s *CreateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationOutput {
4400	s.RobotSoftwareSuite = v
4401	return s
4402}
4403
4404// SetSources sets the Sources field's value.
4405func (s *CreateRobotApplicationOutput) SetSources(v []*Source) *CreateRobotApplicationOutput {
4406	s.Sources = v
4407	return s
4408}
4409
4410// SetTags sets the Tags field's value.
4411func (s *CreateRobotApplicationOutput) SetTags(v map[string]*string) *CreateRobotApplicationOutput {
4412	s.Tags = v
4413	return s
4414}
4415
4416// SetVersion sets the Version field's value.
4417func (s *CreateRobotApplicationOutput) SetVersion(v string) *CreateRobotApplicationOutput {
4418	s.Version = &v
4419	return s
4420}
4421
4422type CreateRobotApplicationVersionInput struct {
4423	_ struct{} `type:"structure"`
4424
4425	// The application information for the robot application.
4426	//
4427	// Application is a required field
4428	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
4429
4430	// The current revision id for the robot application. If you provide a value
4431	// and it matches the latest revision ID, a new version will be created.
4432	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
4433}
4434
4435// String returns the string representation
4436func (s CreateRobotApplicationVersionInput) String() string {
4437	return awsutil.Prettify(s)
4438}
4439
4440// GoString returns the string representation
4441func (s CreateRobotApplicationVersionInput) GoString() string {
4442	return s.String()
4443}
4444
4445// Validate inspects the fields of the type to determine if they are valid.
4446func (s *CreateRobotApplicationVersionInput) Validate() error {
4447	invalidParams := request.ErrInvalidParams{Context: "CreateRobotApplicationVersionInput"}
4448	if s.Application == nil {
4449		invalidParams.Add(request.NewErrParamRequired("Application"))
4450	}
4451	if s.Application != nil && len(*s.Application) < 1 {
4452		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
4453	}
4454	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
4455		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
4456	}
4457
4458	if invalidParams.Len() > 0 {
4459		return invalidParams
4460	}
4461	return nil
4462}
4463
4464// SetApplication sets the Application field's value.
4465func (s *CreateRobotApplicationVersionInput) SetApplication(v string) *CreateRobotApplicationVersionInput {
4466	s.Application = &v
4467	return s
4468}
4469
4470// SetCurrentRevisionId sets the CurrentRevisionId field's value.
4471func (s *CreateRobotApplicationVersionInput) SetCurrentRevisionId(v string) *CreateRobotApplicationVersionInput {
4472	s.CurrentRevisionId = &v
4473	return s
4474}
4475
4476type CreateRobotApplicationVersionOutput struct {
4477	_ struct{} `type:"structure"`
4478
4479	// The Amazon Resource Name (ARN) of the robot application.
4480	Arn *string `locationName:"arn" min:"1" type:"string"`
4481
4482	// The time, in milliseconds since the epoch, when the robot application was
4483	// last updated.
4484	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
4485
4486	// The name of the robot application.
4487	Name *string `locationName:"name" min:"1" type:"string"`
4488
4489	// The revision id of the robot application.
4490	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
4491
4492	// The robot software suite used by the robot application.
4493	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
4494
4495	// The sources of the robot application.
4496	Sources []*Source `locationName:"sources" type:"list"`
4497
4498	// The version of the robot application.
4499	Version *string `locationName:"version" min:"1" type:"string"`
4500}
4501
4502// String returns the string representation
4503func (s CreateRobotApplicationVersionOutput) String() string {
4504	return awsutil.Prettify(s)
4505}
4506
4507// GoString returns the string representation
4508func (s CreateRobotApplicationVersionOutput) GoString() string {
4509	return s.String()
4510}
4511
4512// SetArn sets the Arn field's value.
4513func (s *CreateRobotApplicationVersionOutput) SetArn(v string) *CreateRobotApplicationVersionOutput {
4514	s.Arn = &v
4515	return s
4516}
4517
4518// SetLastUpdatedAt sets the LastUpdatedAt field's value.
4519func (s *CreateRobotApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateRobotApplicationVersionOutput {
4520	s.LastUpdatedAt = &v
4521	return s
4522}
4523
4524// SetName sets the Name field's value.
4525func (s *CreateRobotApplicationVersionOutput) SetName(v string) *CreateRobotApplicationVersionOutput {
4526	s.Name = &v
4527	return s
4528}
4529
4530// SetRevisionId sets the RevisionId field's value.
4531func (s *CreateRobotApplicationVersionOutput) SetRevisionId(v string) *CreateRobotApplicationVersionOutput {
4532	s.RevisionId = &v
4533	return s
4534}
4535
4536// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
4537func (s *CreateRobotApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateRobotApplicationVersionOutput {
4538	s.RobotSoftwareSuite = v
4539	return s
4540}
4541
4542// SetSources sets the Sources field's value.
4543func (s *CreateRobotApplicationVersionOutput) SetSources(v []*Source) *CreateRobotApplicationVersionOutput {
4544	s.Sources = v
4545	return s
4546}
4547
4548// SetVersion sets the Version field's value.
4549func (s *CreateRobotApplicationVersionOutput) SetVersion(v string) *CreateRobotApplicationVersionOutput {
4550	s.Version = &v
4551	return s
4552}
4553
4554type CreateRobotInput struct {
4555	_ struct{} `type:"structure"`
4556
4557	// The target architecture of the robot.
4558	//
4559	// Architecture is a required field
4560	Architecture *string `locationName:"architecture" type:"string" required:"true" enum:"Architecture"`
4561
4562	// The Greengrass group id.
4563	//
4564	// GreengrassGroupId is a required field
4565	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string" required:"true"`
4566
4567	// The name for the robot.
4568	//
4569	// Name is a required field
4570	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4571
4572	// A map that contains tag keys and tag values that are attached to the robot.
4573	Tags map[string]*string `locationName:"tags" type:"map"`
4574}
4575
4576// String returns the string representation
4577func (s CreateRobotInput) String() string {
4578	return awsutil.Prettify(s)
4579}
4580
4581// GoString returns the string representation
4582func (s CreateRobotInput) GoString() string {
4583	return s.String()
4584}
4585
4586// Validate inspects the fields of the type to determine if they are valid.
4587func (s *CreateRobotInput) Validate() error {
4588	invalidParams := request.ErrInvalidParams{Context: "CreateRobotInput"}
4589	if s.Architecture == nil {
4590		invalidParams.Add(request.NewErrParamRequired("Architecture"))
4591	}
4592	if s.GreengrassGroupId == nil {
4593		invalidParams.Add(request.NewErrParamRequired("GreengrassGroupId"))
4594	}
4595	if s.GreengrassGroupId != nil && len(*s.GreengrassGroupId) < 1 {
4596		invalidParams.Add(request.NewErrParamMinLen("GreengrassGroupId", 1))
4597	}
4598	if s.Name == nil {
4599		invalidParams.Add(request.NewErrParamRequired("Name"))
4600	}
4601	if s.Name != nil && len(*s.Name) < 1 {
4602		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4603	}
4604
4605	if invalidParams.Len() > 0 {
4606		return invalidParams
4607	}
4608	return nil
4609}
4610
4611// SetArchitecture sets the Architecture field's value.
4612func (s *CreateRobotInput) SetArchitecture(v string) *CreateRobotInput {
4613	s.Architecture = &v
4614	return s
4615}
4616
4617// SetGreengrassGroupId sets the GreengrassGroupId field's value.
4618func (s *CreateRobotInput) SetGreengrassGroupId(v string) *CreateRobotInput {
4619	s.GreengrassGroupId = &v
4620	return s
4621}
4622
4623// SetName sets the Name field's value.
4624func (s *CreateRobotInput) SetName(v string) *CreateRobotInput {
4625	s.Name = &v
4626	return s
4627}
4628
4629// SetTags sets the Tags field's value.
4630func (s *CreateRobotInput) SetTags(v map[string]*string) *CreateRobotInput {
4631	s.Tags = v
4632	return s
4633}
4634
4635type CreateRobotOutput struct {
4636	_ struct{} `type:"structure"`
4637
4638	// The target architecture of the robot.
4639	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
4640
4641	// The Amazon Resource Name (ARN) of the robot.
4642	Arn *string `locationName:"arn" min:"1" type:"string"`
4643
4644	// The time, in milliseconds since the epoch, when the robot was created.
4645	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
4646
4647	// The Amazon Resource Name (ARN) of the Greengrass group associated with the
4648	// robot.
4649	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
4650
4651	// The name of the robot.
4652	Name *string `locationName:"name" min:"1" type:"string"`
4653
4654	// The list of all tags added to the robot.
4655	Tags map[string]*string `locationName:"tags" type:"map"`
4656}
4657
4658// String returns the string representation
4659func (s CreateRobotOutput) String() string {
4660	return awsutil.Prettify(s)
4661}
4662
4663// GoString returns the string representation
4664func (s CreateRobotOutput) GoString() string {
4665	return s.String()
4666}
4667
4668// SetArchitecture sets the Architecture field's value.
4669func (s *CreateRobotOutput) SetArchitecture(v string) *CreateRobotOutput {
4670	s.Architecture = &v
4671	return s
4672}
4673
4674// SetArn sets the Arn field's value.
4675func (s *CreateRobotOutput) SetArn(v string) *CreateRobotOutput {
4676	s.Arn = &v
4677	return s
4678}
4679
4680// SetCreatedAt sets the CreatedAt field's value.
4681func (s *CreateRobotOutput) SetCreatedAt(v time.Time) *CreateRobotOutput {
4682	s.CreatedAt = &v
4683	return s
4684}
4685
4686// SetGreengrassGroupId sets the GreengrassGroupId field's value.
4687func (s *CreateRobotOutput) SetGreengrassGroupId(v string) *CreateRobotOutput {
4688	s.GreengrassGroupId = &v
4689	return s
4690}
4691
4692// SetName sets the Name field's value.
4693func (s *CreateRobotOutput) SetName(v string) *CreateRobotOutput {
4694	s.Name = &v
4695	return s
4696}
4697
4698// SetTags sets the Tags field's value.
4699func (s *CreateRobotOutput) SetTags(v map[string]*string) *CreateRobotOutput {
4700	s.Tags = v
4701	return s
4702}
4703
4704type CreateSimulationApplicationInput struct {
4705	_ struct{} `type:"structure"`
4706
4707	// The name of the simulation application.
4708	//
4709	// Name is a required field
4710	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
4711
4712	// The rendering engine for the simulation application.
4713	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
4714
4715	// The robot software suite of the simulation application.
4716	//
4717	// RobotSoftwareSuite is a required field
4718	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
4719
4720	// The simulation software suite used by the simulation application.
4721	//
4722	// SimulationSoftwareSuite is a required field
4723	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
4724
4725	// The sources of the simulation application.
4726	//
4727	// Sources is a required field
4728	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
4729
4730	// A map that contains tag keys and tag values that are attached to the simulation
4731	// application.
4732	Tags map[string]*string `locationName:"tags" type:"map"`
4733}
4734
4735// String returns the string representation
4736func (s CreateSimulationApplicationInput) String() string {
4737	return awsutil.Prettify(s)
4738}
4739
4740// GoString returns the string representation
4741func (s CreateSimulationApplicationInput) GoString() string {
4742	return s.String()
4743}
4744
4745// Validate inspects the fields of the type to determine if they are valid.
4746func (s *CreateSimulationApplicationInput) Validate() error {
4747	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationInput"}
4748	if s.Name == nil {
4749		invalidParams.Add(request.NewErrParamRequired("Name"))
4750	}
4751	if s.Name != nil && len(*s.Name) < 1 {
4752		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
4753	}
4754	if s.RobotSoftwareSuite == nil {
4755		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
4756	}
4757	if s.SimulationSoftwareSuite == nil {
4758		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
4759	}
4760	if s.Sources == nil {
4761		invalidParams.Add(request.NewErrParamRequired("Sources"))
4762	}
4763	if s.Sources != nil {
4764		for i, v := range s.Sources {
4765			if v == nil {
4766				continue
4767			}
4768			if err := v.Validate(); err != nil {
4769				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
4770			}
4771		}
4772	}
4773
4774	if invalidParams.Len() > 0 {
4775		return invalidParams
4776	}
4777	return nil
4778}
4779
4780// SetName sets the Name field's value.
4781func (s *CreateSimulationApplicationInput) SetName(v string) *CreateSimulationApplicationInput {
4782	s.Name = &v
4783	return s
4784}
4785
4786// SetRenderingEngine sets the RenderingEngine field's value.
4787func (s *CreateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationInput {
4788	s.RenderingEngine = v
4789	return s
4790}
4791
4792// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
4793func (s *CreateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationInput {
4794	s.RobotSoftwareSuite = v
4795	return s
4796}
4797
4798// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
4799func (s *CreateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationInput {
4800	s.SimulationSoftwareSuite = v
4801	return s
4802}
4803
4804// SetSources sets the Sources field's value.
4805func (s *CreateSimulationApplicationInput) SetSources(v []*SourceConfig) *CreateSimulationApplicationInput {
4806	s.Sources = v
4807	return s
4808}
4809
4810// SetTags sets the Tags field's value.
4811func (s *CreateSimulationApplicationInput) SetTags(v map[string]*string) *CreateSimulationApplicationInput {
4812	s.Tags = v
4813	return s
4814}
4815
4816type CreateSimulationApplicationOutput struct {
4817	_ struct{} `type:"structure"`
4818
4819	// The Amazon Resource Name (ARN) of the simulation application.
4820	Arn *string `locationName:"arn" min:"1" type:"string"`
4821
4822	// The time, in milliseconds since the epoch, when the simulation application
4823	// was last updated.
4824	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
4825
4826	// The name of the simulation application.
4827	Name *string `locationName:"name" min:"1" type:"string"`
4828
4829	// The rendering engine for the simulation application.
4830	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
4831
4832	// The revision id of the simulation application.
4833	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
4834
4835	// Information about the robot software suite.
4836	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
4837
4838	// The simulation software suite used by the simulation application.
4839	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
4840
4841	// The sources of the simulation application.
4842	Sources []*Source `locationName:"sources" type:"list"`
4843
4844	// The list of all tags added to the simulation application.
4845	Tags map[string]*string `locationName:"tags" type:"map"`
4846
4847	// The version of the simulation application.
4848	Version *string `locationName:"version" min:"1" type:"string"`
4849}
4850
4851// String returns the string representation
4852func (s CreateSimulationApplicationOutput) String() string {
4853	return awsutil.Prettify(s)
4854}
4855
4856// GoString returns the string representation
4857func (s CreateSimulationApplicationOutput) GoString() string {
4858	return s.String()
4859}
4860
4861// SetArn sets the Arn field's value.
4862func (s *CreateSimulationApplicationOutput) SetArn(v string) *CreateSimulationApplicationOutput {
4863	s.Arn = &v
4864	return s
4865}
4866
4867// SetLastUpdatedAt sets the LastUpdatedAt field's value.
4868func (s *CreateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationOutput {
4869	s.LastUpdatedAt = &v
4870	return s
4871}
4872
4873// SetName sets the Name field's value.
4874func (s *CreateSimulationApplicationOutput) SetName(v string) *CreateSimulationApplicationOutput {
4875	s.Name = &v
4876	return s
4877}
4878
4879// SetRenderingEngine sets the RenderingEngine field's value.
4880func (s *CreateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationOutput {
4881	s.RenderingEngine = v
4882	return s
4883}
4884
4885// SetRevisionId sets the RevisionId field's value.
4886func (s *CreateSimulationApplicationOutput) SetRevisionId(v string) *CreateSimulationApplicationOutput {
4887	s.RevisionId = &v
4888	return s
4889}
4890
4891// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
4892func (s *CreateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationOutput {
4893	s.RobotSoftwareSuite = v
4894	return s
4895}
4896
4897// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
4898func (s *CreateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationOutput {
4899	s.SimulationSoftwareSuite = v
4900	return s
4901}
4902
4903// SetSources sets the Sources field's value.
4904func (s *CreateSimulationApplicationOutput) SetSources(v []*Source) *CreateSimulationApplicationOutput {
4905	s.Sources = v
4906	return s
4907}
4908
4909// SetTags sets the Tags field's value.
4910func (s *CreateSimulationApplicationOutput) SetTags(v map[string]*string) *CreateSimulationApplicationOutput {
4911	s.Tags = v
4912	return s
4913}
4914
4915// SetVersion sets the Version field's value.
4916func (s *CreateSimulationApplicationOutput) SetVersion(v string) *CreateSimulationApplicationOutput {
4917	s.Version = &v
4918	return s
4919}
4920
4921type CreateSimulationApplicationVersionInput struct {
4922	_ struct{} `type:"structure"`
4923
4924	// The application information for the simulation application.
4925	//
4926	// Application is a required field
4927	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
4928
4929	// The current revision id for the simulation application. If you provide a
4930	// value and it matches the latest revision ID, a new version will be created.
4931	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
4932}
4933
4934// String returns the string representation
4935func (s CreateSimulationApplicationVersionInput) String() string {
4936	return awsutil.Prettify(s)
4937}
4938
4939// GoString returns the string representation
4940func (s CreateSimulationApplicationVersionInput) GoString() string {
4941	return s.String()
4942}
4943
4944// Validate inspects the fields of the type to determine if they are valid.
4945func (s *CreateSimulationApplicationVersionInput) Validate() error {
4946	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationApplicationVersionInput"}
4947	if s.Application == nil {
4948		invalidParams.Add(request.NewErrParamRequired("Application"))
4949	}
4950	if s.Application != nil && len(*s.Application) < 1 {
4951		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
4952	}
4953	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
4954		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
4955	}
4956
4957	if invalidParams.Len() > 0 {
4958		return invalidParams
4959	}
4960	return nil
4961}
4962
4963// SetApplication sets the Application field's value.
4964func (s *CreateSimulationApplicationVersionInput) SetApplication(v string) *CreateSimulationApplicationVersionInput {
4965	s.Application = &v
4966	return s
4967}
4968
4969// SetCurrentRevisionId sets the CurrentRevisionId field's value.
4970func (s *CreateSimulationApplicationVersionInput) SetCurrentRevisionId(v string) *CreateSimulationApplicationVersionInput {
4971	s.CurrentRevisionId = &v
4972	return s
4973}
4974
4975type CreateSimulationApplicationVersionOutput struct {
4976	_ struct{} `type:"structure"`
4977
4978	// The Amazon Resource Name (ARN) of the simulation application.
4979	Arn *string `locationName:"arn" min:"1" type:"string"`
4980
4981	// The time, in milliseconds since the epoch, when the simulation application
4982	// was last updated.
4983	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
4984
4985	// The name of the simulation application.
4986	Name *string `locationName:"name" min:"1" type:"string"`
4987
4988	// The rendering engine for the simulation application.
4989	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
4990
4991	// The revision ID of the simulation application.
4992	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
4993
4994	// Information about the robot software suite.
4995	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
4996
4997	// The simulation software suite used by the simulation application.
4998	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
4999
5000	// The sources of the simulation application.
5001	Sources []*Source `locationName:"sources" type:"list"`
5002
5003	// The version of the simulation application.
5004	Version *string `locationName:"version" min:"1" type:"string"`
5005}
5006
5007// String returns the string representation
5008func (s CreateSimulationApplicationVersionOutput) String() string {
5009	return awsutil.Prettify(s)
5010}
5011
5012// GoString returns the string representation
5013func (s CreateSimulationApplicationVersionOutput) GoString() string {
5014	return s.String()
5015}
5016
5017// SetArn sets the Arn field's value.
5018func (s *CreateSimulationApplicationVersionOutput) SetArn(v string) *CreateSimulationApplicationVersionOutput {
5019	s.Arn = &v
5020	return s
5021}
5022
5023// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5024func (s *CreateSimulationApplicationVersionOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationApplicationVersionOutput {
5025	s.LastUpdatedAt = &v
5026	return s
5027}
5028
5029// SetName sets the Name field's value.
5030func (s *CreateSimulationApplicationVersionOutput) SetName(v string) *CreateSimulationApplicationVersionOutput {
5031	s.Name = &v
5032	return s
5033}
5034
5035// SetRenderingEngine sets the RenderingEngine field's value.
5036func (s *CreateSimulationApplicationVersionOutput) SetRenderingEngine(v *RenderingEngine) *CreateSimulationApplicationVersionOutput {
5037	s.RenderingEngine = v
5038	return s
5039}
5040
5041// SetRevisionId sets the RevisionId field's value.
5042func (s *CreateSimulationApplicationVersionOutput) SetRevisionId(v string) *CreateSimulationApplicationVersionOutput {
5043	s.RevisionId = &v
5044	return s
5045}
5046
5047// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
5048func (s *CreateSimulationApplicationVersionOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *CreateSimulationApplicationVersionOutput {
5049	s.RobotSoftwareSuite = v
5050	return s
5051}
5052
5053// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
5054func (s *CreateSimulationApplicationVersionOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *CreateSimulationApplicationVersionOutput {
5055	s.SimulationSoftwareSuite = v
5056	return s
5057}
5058
5059// SetSources sets the Sources field's value.
5060func (s *CreateSimulationApplicationVersionOutput) SetSources(v []*Source) *CreateSimulationApplicationVersionOutput {
5061	s.Sources = v
5062	return s
5063}
5064
5065// SetVersion sets the Version field's value.
5066func (s *CreateSimulationApplicationVersionOutput) SetVersion(v string) *CreateSimulationApplicationVersionOutput {
5067	s.Version = &v
5068	return s
5069}
5070
5071type CreateSimulationJobInput struct {
5072	_ struct{} `type:"structure"`
5073
5074	// Unique, case-sensitive identifier that you provide to ensure the idempotency
5075	// of the request.
5076	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
5077
5078	// The data sources for the simulation job.
5079	//
5080	// There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig
5081	// objects.
5082	DataSources []*DataSourceConfig `locationName:"dataSources" min:"1" type:"list"`
5083
5084	// The failure behavior the simulation job.
5085	//
5086	// Continue
5087	//
5088	// Restart the simulation job in the same host instance.
5089	//
5090	// Fail
5091	//
5092	// Stop the simulation job and terminate the instance.
5093	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
5094
5095	// The IAM role name that allows the simulation instance to call the AWS APIs
5096	// that are specified in its associated policies on your behalf. This is how
5097	// credentials are passed in to your simulation job.
5098	//
5099	// IamRole is a required field
5100	IamRole *string `locationName:"iamRole" min:"1" type:"string" required:"true"`
5101
5102	// The logging configuration.
5103	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
5104
5105	// The maximum simulation job duration in seconds (up to 14 days or 1,209,600
5106	// seconds. When maxJobDurationInSeconds is reached, the simulation job will
5107	// status will transition to Completed.
5108	//
5109	// MaxJobDurationInSeconds is a required field
5110	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long" required:"true"`
5111
5112	// Location for output files generated by the simulation job.
5113	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
5114
5115	// The robot application to use in the simulation job.
5116	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
5117
5118	// The simulation application to use in the simulation job.
5119	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
5120
5121	// A map that contains tag keys and tag values that are attached to the simulation
5122	// job.
5123	Tags map[string]*string `locationName:"tags" type:"map"`
5124
5125	// If your simulation job accesses resources in a VPC, you provide this parameter
5126	// identifying the list of security group IDs and subnet IDs. These must belong
5127	// to the same VPC. You must provide at least one security group and one subnet
5128	// ID.
5129	VpcConfig *VPCConfig `locationName:"vpcConfig" type:"structure"`
5130}
5131
5132// String returns the string representation
5133func (s CreateSimulationJobInput) String() string {
5134	return awsutil.Prettify(s)
5135}
5136
5137// GoString returns the string representation
5138func (s CreateSimulationJobInput) GoString() string {
5139	return s.String()
5140}
5141
5142// Validate inspects the fields of the type to determine if they are valid.
5143func (s *CreateSimulationJobInput) Validate() error {
5144	invalidParams := request.ErrInvalidParams{Context: "CreateSimulationJobInput"}
5145	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
5146		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
5147	}
5148	if s.DataSources != nil && len(s.DataSources) < 1 {
5149		invalidParams.Add(request.NewErrParamMinLen("DataSources", 1))
5150	}
5151	if s.IamRole == nil {
5152		invalidParams.Add(request.NewErrParamRequired("IamRole"))
5153	}
5154	if s.IamRole != nil && len(*s.IamRole) < 1 {
5155		invalidParams.Add(request.NewErrParamMinLen("IamRole", 1))
5156	}
5157	if s.MaxJobDurationInSeconds == nil {
5158		invalidParams.Add(request.NewErrParamRequired("MaxJobDurationInSeconds"))
5159	}
5160	if s.RobotApplications != nil && len(s.RobotApplications) < 1 {
5161		invalidParams.Add(request.NewErrParamMinLen("RobotApplications", 1))
5162	}
5163	if s.SimulationApplications != nil && len(s.SimulationApplications) < 1 {
5164		invalidParams.Add(request.NewErrParamMinLen("SimulationApplications", 1))
5165	}
5166	if s.DataSources != nil {
5167		for i, v := range s.DataSources {
5168			if v == nil {
5169				continue
5170			}
5171			if err := v.Validate(); err != nil {
5172				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSources", i), err.(request.ErrInvalidParams))
5173			}
5174		}
5175	}
5176	if s.LoggingConfig != nil {
5177		if err := s.LoggingConfig.Validate(); err != nil {
5178			invalidParams.AddNested("LoggingConfig", err.(request.ErrInvalidParams))
5179		}
5180	}
5181	if s.OutputLocation != nil {
5182		if err := s.OutputLocation.Validate(); err != nil {
5183			invalidParams.AddNested("OutputLocation", err.(request.ErrInvalidParams))
5184		}
5185	}
5186	if s.RobotApplications != nil {
5187		for i, v := range s.RobotApplications {
5188			if v == nil {
5189				continue
5190			}
5191			if err := v.Validate(); err != nil {
5192				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RobotApplications", i), err.(request.ErrInvalidParams))
5193			}
5194		}
5195	}
5196	if s.SimulationApplications != nil {
5197		for i, v := range s.SimulationApplications {
5198			if v == nil {
5199				continue
5200			}
5201			if err := v.Validate(); err != nil {
5202				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SimulationApplications", i), err.(request.ErrInvalidParams))
5203			}
5204		}
5205	}
5206	if s.VpcConfig != nil {
5207		if err := s.VpcConfig.Validate(); err != nil {
5208			invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams))
5209		}
5210	}
5211
5212	if invalidParams.Len() > 0 {
5213		return invalidParams
5214	}
5215	return nil
5216}
5217
5218// SetClientRequestToken sets the ClientRequestToken field's value.
5219func (s *CreateSimulationJobInput) SetClientRequestToken(v string) *CreateSimulationJobInput {
5220	s.ClientRequestToken = &v
5221	return s
5222}
5223
5224// SetDataSources sets the DataSources field's value.
5225func (s *CreateSimulationJobInput) SetDataSources(v []*DataSourceConfig) *CreateSimulationJobInput {
5226	s.DataSources = v
5227	return s
5228}
5229
5230// SetFailureBehavior sets the FailureBehavior field's value.
5231func (s *CreateSimulationJobInput) SetFailureBehavior(v string) *CreateSimulationJobInput {
5232	s.FailureBehavior = &v
5233	return s
5234}
5235
5236// SetIamRole sets the IamRole field's value.
5237func (s *CreateSimulationJobInput) SetIamRole(v string) *CreateSimulationJobInput {
5238	s.IamRole = &v
5239	return s
5240}
5241
5242// SetLoggingConfig sets the LoggingConfig field's value.
5243func (s *CreateSimulationJobInput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobInput {
5244	s.LoggingConfig = v
5245	return s
5246}
5247
5248// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
5249func (s *CreateSimulationJobInput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobInput {
5250	s.MaxJobDurationInSeconds = &v
5251	return s
5252}
5253
5254// SetOutputLocation sets the OutputLocation field's value.
5255func (s *CreateSimulationJobInput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobInput {
5256	s.OutputLocation = v
5257	return s
5258}
5259
5260// SetRobotApplications sets the RobotApplications field's value.
5261func (s *CreateSimulationJobInput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobInput {
5262	s.RobotApplications = v
5263	return s
5264}
5265
5266// SetSimulationApplications sets the SimulationApplications field's value.
5267func (s *CreateSimulationJobInput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobInput {
5268	s.SimulationApplications = v
5269	return s
5270}
5271
5272// SetTags sets the Tags field's value.
5273func (s *CreateSimulationJobInput) SetTags(v map[string]*string) *CreateSimulationJobInput {
5274	s.Tags = v
5275	return s
5276}
5277
5278// SetVpcConfig sets the VpcConfig field's value.
5279func (s *CreateSimulationJobInput) SetVpcConfig(v *VPCConfig) *CreateSimulationJobInput {
5280	s.VpcConfig = v
5281	return s
5282}
5283
5284type CreateSimulationJobOutput struct {
5285	_ struct{} `type:"structure"`
5286
5287	// The Amazon Resource Name (ARN) of the simulation job.
5288	Arn *string `locationName:"arn" min:"1" type:"string"`
5289
5290	// Unique, case-sensitive identifier that you provide to ensure the idempotency
5291	// of the request.
5292	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
5293
5294	// The data sources for the simulation job.
5295	DataSources []*DataSource `locationName:"dataSources" type:"list"`
5296
5297	// the failure behavior for the simulation job.
5298	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
5299
5300	// The failure code of the simulation job if it failed:
5301	//
5302	// InternalServiceError
5303	//
5304	// Internal service error.
5305	//
5306	// RobotApplicationCrash
5307	//
5308	// Robot application exited abnormally.
5309	//
5310	// SimulationApplicationCrash
5311	//
5312	// Simulation application exited abnormally.
5313	//
5314	// BadPermissionsRobotApplication
5315	//
5316	// Robot application bundle could not be downloaded.
5317	//
5318	// BadPermissionsSimulationApplication
5319	//
5320	// Simulation application bundle could not be downloaded.
5321	//
5322	// BadPermissionsS3Output
5323	//
5324	// Unable to publish outputs to customer-provided S3 bucket.
5325	//
5326	// BadPermissionsCloudwatchLogs
5327	//
5328	// Unable to publish logs to customer-provided CloudWatch Logs resource.
5329	//
5330	// SubnetIpLimitExceeded
5331	//
5332	// Subnet IP limit exceeded.
5333	//
5334	// ENILimitExceeded
5335	//
5336	// ENI limit exceeded.
5337	//
5338	// BadPermissionsUserCredentials
5339	//
5340	// Unable to use the Role provided.
5341	//
5342	// InvalidBundleRobotApplication
5343	//
5344	// Robot bundle cannot be extracted (invalid format, bundling error, or other
5345	// issue).
5346	//
5347	// InvalidBundleSimulationApplication
5348	//
5349	// Simulation bundle cannot be extracted (invalid format, bundling error, or
5350	// other issue).
5351	//
5352	// RobotApplicationVersionMismatchedEtag
5353	//
5354	// Etag for RobotApplication does not match value during version creation.
5355	//
5356	// SimulationApplicationVersionMismatchedEtag
5357	//
5358	// Etag for SimulationApplication does not match value during version creation.
5359	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
5360
5361	// The IAM role that allows the simulation job to call the AWS APIs that are
5362	// specified in its associated policies on your behalf.
5363	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
5364
5365	// The time, in milliseconds since the epoch, when the simulation job was last
5366	// started.
5367	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
5368
5369	// The time, in milliseconds since the epoch, when the simulation job was last
5370	// updated.
5371	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
5372
5373	// The logging configuration.
5374	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
5375
5376	// The maximum simulation job duration in seconds.
5377	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
5378
5379	// Simulation job output files location.
5380	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
5381
5382	// The robot application used by the simulation job.
5383	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
5384
5385	// The simulation application used by the simulation job.
5386	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
5387
5388	// The simulation job execution duration in milliseconds.
5389	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
5390
5391	// The status of the simulation job.
5392	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
5393
5394	// The list of all tags added to the simulation job.
5395	Tags map[string]*string `locationName:"tags" type:"map"`
5396
5397	// Information about the vpc configuration.
5398	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
5399}
5400
5401// String returns the string representation
5402func (s CreateSimulationJobOutput) String() string {
5403	return awsutil.Prettify(s)
5404}
5405
5406// GoString returns the string representation
5407func (s CreateSimulationJobOutput) GoString() string {
5408	return s.String()
5409}
5410
5411// SetArn sets the Arn field's value.
5412func (s *CreateSimulationJobOutput) SetArn(v string) *CreateSimulationJobOutput {
5413	s.Arn = &v
5414	return s
5415}
5416
5417// SetClientRequestToken sets the ClientRequestToken field's value.
5418func (s *CreateSimulationJobOutput) SetClientRequestToken(v string) *CreateSimulationJobOutput {
5419	s.ClientRequestToken = &v
5420	return s
5421}
5422
5423// SetDataSources sets the DataSources field's value.
5424func (s *CreateSimulationJobOutput) SetDataSources(v []*DataSource) *CreateSimulationJobOutput {
5425	s.DataSources = v
5426	return s
5427}
5428
5429// SetFailureBehavior sets the FailureBehavior field's value.
5430func (s *CreateSimulationJobOutput) SetFailureBehavior(v string) *CreateSimulationJobOutput {
5431	s.FailureBehavior = &v
5432	return s
5433}
5434
5435// SetFailureCode sets the FailureCode field's value.
5436func (s *CreateSimulationJobOutput) SetFailureCode(v string) *CreateSimulationJobOutput {
5437	s.FailureCode = &v
5438	return s
5439}
5440
5441// SetIamRole sets the IamRole field's value.
5442func (s *CreateSimulationJobOutput) SetIamRole(v string) *CreateSimulationJobOutput {
5443	s.IamRole = &v
5444	return s
5445}
5446
5447// SetLastStartedAt sets the LastStartedAt field's value.
5448func (s *CreateSimulationJobOutput) SetLastStartedAt(v time.Time) *CreateSimulationJobOutput {
5449	s.LastStartedAt = &v
5450	return s
5451}
5452
5453// SetLastUpdatedAt sets the LastUpdatedAt field's value.
5454func (s *CreateSimulationJobOutput) SetLastUpdatedAt(v time.Time) *CreateSimulationJobOutput {
5455	s.LastUpdatedAt = &v
5456	return s
5457}
5458
5459// SetLoggingConfig sets the LoggingConfig field's value.
5460func (s *CreateSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *CreateSimulationJobOutput {
5461	s.LoggingConfig = v
5462	return s
5463}
5464
5465// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
5466func (s *CreateSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *CreateSimulationJobOutput {
5467	s.MaxJobDurationInSeconds = &v
5468	return s
5469}
5470
5471// SetOutputLocation sets the OutputLocation field's value.
5472func (s *CreateSimulationJobOutput) SetOutputLocation(v *OutputLocation) *CreateSimulationJobOutput {
5473	s.OutputLocation = v
5474	return s
5475}
5476
5477// SetRobotApplications sets the RobotApplications field's value.
5478func (s *CreateSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *CreateSimulationJobOutput {
5479	s.RobotApplications = v
5480	return s
5481}
5482
5483// SetSimulationApplications sets the SimulationApplications field's value.
5484func (s *CreateSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *CreateSimulationJobOutput {
5485	s.SimulationApplications = v
5486	return s
5487}
5488
5489// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
5490func (s *CreateSimulationJobOutput) SetSimulationTimeMillis(v int64) *CreateSimulationJobOutput {
5491	s.SimulationTimeMillis = &v
5492	return s
5493}
5494
5495// SetStatus sets the Status field's value.
5496func (s *CreateSimulationJobOutput) SetStatus(v string) *CreateSimulationJobOutput {
5497	s.Status = &v
5498	return s
5499}
5500
5501// SetTags sets the Tags field's value.
5502func (s *CreateSimulationJobOutput) SetTags(v map[string]*string) *CreateSimulationJobOutput {
5503	s.Tags = v
5504	return s
5505}
5506
5507// SetVpcConfig sets the VpcConfig field's value.
5508func (s *CreateSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *CreateSimulationJobOutput {
5509	s.VpcConfig = v
5510	return s
5511}
5512
5513// Information about a data source.
5514type DataSource struct {
5515	_ struct{} `type:"structure"`
5516
5517	// The name of the data source.
5518	Name *string `locationName:"name" min:"1" type:"string"`
5519
5520	// The S3 bucket where the data files are located.
5521	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
5522
5523	// The list of S3 keys identifying the data source files.
5524	S3Keys []*S3KeyOutput `locationName:"s3Keys" type:"list"`
5525}
5526
5527// String returns the string representation
5528func (s DataSource) String() string {
5529	return awsutil.Prettify(s)
5530}
5531
5532// GoString returns the string representation
5533func (s DataSource) GoString() string {
5534	return s.String()
5535}
5536
5537// SetName sets the Name field's value.
5538func (s *DataSource) SetName(v string) *DataSource {
5539	s.Name = &v
5540	return s
5541}
5542
5543// SetS3Bucket sets the S3Bucket field's value.
5544func (s *DataSource) SetS3Bucket(v string) *DataSource {
5545	s.S3Bucket = &v
5546	return s
5547}
5548
5549// SetS3Keys sets the S3Keys field's value.
5550func (s *DataSource) SetS3Keys(v []*S3KeyOutput) *DataSource {
5551	s.S3Keys = v
5552	return s
5553}
5554
5555// Information about a data source.
5556type DataSourceConfig struct {
5557	_ struct{} `type:"structure"`
5558
5559	// The name of the data source.
5560	//
5561	// Name is a required field
5562	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5563
5564	// The S3 bucket where the data files are located.
5565	//
5566	// S3Bucket is a required field
5567	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string" required:"true"`
5568
5569	// The list of S3 keys identifying the data source files.
5570	//
5571	// S3Keys is a required field
5572	S3Keys []*string `locationName:"s3Keys" min:"1" type:"list" required:"true"`
5573}
5574
5575// String returns the string representation
5576func (s DataSourceConfig) String() string {
5577	return awsutil.Prettify(s)
5578}
5579
5580// GoString returns the string representation
5581func (s DataSourceConfig) GoString() string {
5582	return s.String()
5583}
5584
5585// Validate inspects the fields of the type to determine if they are valid.
5586func (s *DataSourceConfig) Validate() error {
5587	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfig"}
5588	if s.Name == nil {
5589		invalidParams.Add(request.NewErrParamRequired("Name"))
5590	}
5591	if s.Name != nil && len(*s.Name) < 1 {
5592		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5593	}
5594	if s.S3Bucket == nil {
5595		invalidParams.Add(request.NewErrParamRequired("S3Bucket"))
5596	}
5597	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
5598		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
5599	}
5600	if s.S3Keys == nil {
5601		invalidParams.Add(request.NewErrParamRequired("S3Keys"))
5602	}
5603	if s.S3Keys != nil && len(s.S3Keys) < 1 {
5604		invalidParams.Add(request.NewErrParamMinLen("S3Keys", 1))
5605	}
5606
5607	if invalidParams.Len() > 0 {
5608		return invalidParams
5609	}
5610	return nil
5611}
5612
5613// SetName sets the Name field's value.
5614func (s *DataSourceConfig) SetName(v string) *DataSourceConfig {
5615	s.Name = &v
5616	return s
5617}
5618
5619// SetS3Bucket sets the S3Bucket field's value.
5620func (s *DataSourceConfig) SetS3Bucket(v string) *DataSourceConfig {
5621	s.S3Bucket = &v
5622	return s
5623}
5624
5625// SetS3Keys sets the S3Keys field's value.
5626func (s *DataSourceConfig) SetS3Keys(v []*string) *DataSourceConfig {
5627	s.S3Keys = v
5628	return s
5629}
5630
5631type DeleteFleetInput struct {
5632	_ struct{} `type:"structure"`
5633
5634	// The Amazon Resource Name (ARN) of the fleet.
5635	//
5636	// Fleet is a required field
5637	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
5638}
5639
5640// String returns the string representation
5641func (s DeleteFleetInput) String() string {
5642	return awsutil.Prettify(s)
5643}
5644
5645// GoString returns the string representation
5646func (s DeleteFleetInput) GoString() string {
5647	return s.String()
5648}
5649
5650// Validate inspects the fields of the type to determine if they are valid.
5651func (s *DeleteFleetInput) Validate() error {
5652	invalidParams := request.ErrInvalidParams{Context: "DeleteFleetInput"}
5653	if s.Fleet == nil {
5654		invalidParams.Add(request.NewErrParamRequired("Fleet"))
5655	}
5656	if s.Fleet != nil && len(*s.Fleet) < 1 {
5657		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
5658	}
5659
5660	if invalidParams.Len() > 0 {
5661		return invalidParams
5662	}
5663	return nil
5664}
5665
5666// SetFleet sets the Fleet field's value.
5667func (s *DeleteFleetInput) SetFleet(v string) *DeleteFleetInput {
5668	s.Fleet = &v
5669	return s
5670}
5671
5672type DeleteFleetOutput struct {
5673	_ struct{} `type:"structure"`
5674}
5675
5676// String returns the string representation
5677func (s DeleteFleetOutput) String() string {
5678	return awsutil.Prettify(s)
5679}
5680
5681// GoString returns the string representation
5682func (s DeleteFleetOutput) GoString() string {
5683	return s.String()
5684}
5685
5686type DeleteRobotApplicationInput struct {
5687	_ struct{} `type:"structure"`
5688
5689	// The Amazon Resource Name (ARN) of the the robot application.
5690	//
5691	// Application is a required field
5692	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
5693
5694	// The version of the robot application to delete.
5695	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
5696}
5697
5698// String returns the string representation
5699func (s DeleteRobotApplicationInput) String() string {
5700	return awsutil.Prettify(s)
5701}
5702
5703// GoString returns the string representation
5704func (s DeleteRobotApplicationInput) GoString() string {
5705	return s.String()
5706}
5707
5708// Validate inspects the fields of the type to determine if they are valid.
5709func (s *DeleteRobotApplicationInput) Validate() error {
5710	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotApplicationInput"}
5711	if s.Application == nil {
5712		invalidParams.Add(request.NewErrParamRequired("Application"))
5713	}
5714	if s.Application != nil && len(*s.Application) < 1 {
5715		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
5716	}
5717	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
5718		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
5719	}
5720
5721	if invalidParams.Len() > 0 {
5722		return invalidParams
5723	}
5724	return nil
5725}
5726
5727// SetApplication sets the Application field's value.
5728func (s *DeleteRobotApplicationInput) SetApplication(v string) *DeleteRobotApplicationInput {
5729	s.Application = &v
5730	return s
5731}
5732
5733// SetApplicationVersion sets the ApplicationVersion field's value.
5734func (s *DeleteRobotApplicationInput) SetApplicationVersion(v string) *DeleteRobotApplicationInput {
5735	s.ApplicationVersion = &v
5736	return s
5737}
5738
5739type DeleteRobotApplicationOutput struct {
5740	_ struct{} `type:"structure"`
5741}
5742
5743// String returns the string representation
5744func (s DeleteRobotApplicationOutput) String() string {
5745	return awsutil.Prettify(s)
5746}
5747
5748// GoString returns the string representation
5749func (s DeleteRobotApplicationOutput) GoString() string {
5750	return s.String()
5751}
5752
5753type DeleteRobotInput struct {
5754	_ struct{} `type:"structure"`
5755
5756	// The Amazon Resource Name (ARN) of the robot.
5757	//
5758	// Robot is a required field
5759	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
5760}
5761
5762// String returns the string representation
5763func (s DeleteRobotInput) String() string {
5764	return awsutil.Prettify(s)
5765}
5766
5767// GoString returns the string representation
5768func (s DeleteRobotInput) GoString() string {
5769	return s.String()
5770}
5771
5772// Validate inspects the fields of the type to determine if they are valid.
5773func (s *DeleteRobotInput) Validate() error {
5774	invalidParams := request.ErrInvalidParams{Context: "DeleteRobotInput"}
5775	if s.Robot == nil {
5776		invalidParams.Add(request.NewErrParamRequired("Robot"))
5777	}
5778	if s.Robot != nil && len(*s.Robot) < 1 {
5779		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
5780	}
5781
5782	if invalidParams.Len() > 0 {
5783		return invalidParams
5784	}
5785	return nil
5786}
5787
5788// SetRobot sets the Robot field's value.
5789func (s *DeleteRobotInput) SetRobot(v string) *DeleteRobotInput {
5790	s.Robot = &v
5791	return s
5792}
5793
5794type DeleteRobotOutput struct {
5795	_ struct{} `type:"structure"`
5796}
5797
5798// String returns the string representation
5799func (s DeleteRobotOutput) String() string {
5800	return awsutil.Prettify(s)
5801}
5802
5803// GoString returns the string representation
5804func (s DeleteRobotOutput) GoString() string {
5805	return s.String()
5806}
5807
5808type DeleteSimulationApplicationInput struct {
5809	_ struct{} `type:"structure"`
5810
5811	// The application information for the simulation application to delete.
5812	//
5813	// Application is a required field
5814	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
5815
5816	// The version of the simulation application to delete.
5817	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
5818}
5819
5820// String returns the string representation
5821func (s DeleteSimulationApplicationInput) String() string {
5822	return awsutil.Prettify(s)
5823}
5824
5825// GoString returns the string representation
5826func (s DeleteSimulationApplicationInput) GoString() string {
5827	return s.String()
5828}
5829
5830// Validate inspects the fields of the type to determine if they are valid.
5831func (s *DeleteSimulationApplicationInput) Validate() error {
5832	invalidParams := request.ErrInvalidParams{Context: "DeleteSimulationApplicationInput"}
5833	if s.Application == nil {
5834		invalidParams.Add(request.NewErrParamRequired("Application"))
5835	}
5836	if s.Application != nil && len(*s.Application) < 1 {
5837		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
5838	}
5839	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
5840		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
5841	}
5842
5843	if invalidParams.Len() > 0 {
5844		return invalidParams
5845	}
5846	return nil
5847}
5848
5849// SetApplication sets the Application field's value.
5850func (s *DeleteSimulationApplicationInput) SetApplication(v string) *DeleteSimulationApplicationInput {
5851	s.Application = &v
5852	return s
5853}
5854
5855// SetApplicationVersion sets the ApplicationVersion field's value.
5856func (s *DeleteSimulationApplicationInput) SetApplicationVersion(v string) *DeleteSimulationApplicationInput {
5857	s.ApplicationVersion = &v
5858	return s
5859}
5860
5861type DeleteSimulationApplicationOutput struct {
5862	_ struct{} `type:"structure"`
5863}
5864
5865// String returns the string representation
5866func (s DeleteSimulationApplicationOutput) String() string {
5867	return awsutil.Prettify(s)
5868}
5869
5870// GoString returns the string representation
5871func (s DeleteSimulationApplicationOutput) GoString() string {
5872	return s.String()
5873}
5874
5875// Information about a deployment application configuration.
5876type DeploymentApplicationConfig struct {
5877	_ struct{} `type:"structure"`
5878
5879	// The Amazon Resource Name (ARN) of the robot application.
5880	//
5881	// Application is a required field
5882	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
5883
5884	// The version of the application.
5885	//
5886	// ApplicationVersion is a required field
5887	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string" required:"true"`
5888
5889	// The launch configuration.
5890	//
5891	// LaunchConfig is a required field
5892	LaunchConfig *DeploymentLaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
5893}
5894
5895// String returns the string representation
5896func (s DeploymentApplicationConfig) String() string {
5897	return awsutil.Prettify(s)
5898}
5899
5900// GoString returns the string representation
5901func (s DeploymentApplicationConfig) GoString() string {
5902	return s.String()
5903}
5904
5905// Validate inspects the fields of the type to determine if they are valid.
5906func (s *DeploymentApplicationConfig) Validate() error {
5907	invalidParams := request.ErrInvalidParams{Context: "DeploymentApplicationConfig"}
5908	if s.Application == nil {
5909		invalidParams.Add(request.NewErrParamRequired("Application"))
5910	}
5911	if s.Application != nil && len(*s.Application) < 1 {
5912		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
5913	}
5914	if s.ApplicationVersion == nil {
5915		invalidParams.Add(request.NewErrParamRequired("ApplicationVersion"))
5916	}
5917	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
5918		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
5919	}
5920	if s.LaunchConfig == nil {
5921		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
5922	}
5923	if s.LaunchConfig != nil {
5924		if err := s.LaunchConfig.Validate(); err != nil {
5925			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
5926		}
5927	}
5928
5929	if invalidParams.Len() > 0 {
5930		return invalidParams
5931	}
5932	return nil
5933}
5934
5935// SetApplication sets the Application field's value.
5936func (s *DeploymentApplicationConfig) SetApplication(v string) *DeploymentApplicationConfig {
5937	s.Application = &v
5938	return s
5939}
5940
5941// SetApplicationVersion sets the ApplicationVersion field's value.
5942func (s *DeploymentApplicationConfig) SetApplicationVersion(v string) *DeploymentApplicationConfig {
5943	s.ApplicationVersion = &v
5944	return s
5945}
5946
5947// SetLaunchConfig sets the LaunchConfig field's value.
5948func (s *DeploymentApplicationConfig) SetLaunchConfig(v *DeploymentLaunchConfig) *DeploymentApplicationConfig {
5949	s.LaunchConfig = v
5950	return s
5951}
5952
5953// Information about a deployment configuration.
5954type DeploymentConfig struct {
5955	_ struct{} `type:"structure"`
5956
5957	// The percentage of robots receiving the deployment at the same time.
5958	ConcurrentDeploymentPercentage *int64 `locationName:"concurrentDeploymentPercentage" min:"1" type:"integer"`
5959
5960	// The download condition file.
5961	DownloadConditionFile *S3Object `locationName:"downloadConditionFile" type:"structure"`
5962
5963	// The percentage of deployments that need to fail before stopping deployment.
5964	FailureThresholdPercentage *int64 `locationName:"failureThresholdPercentage" min:"1" type:"integer"`
5965
5966	// The amount of time, in seconds, to wait for deployment to a single robot
5967	// to complete. Choose a time between 1 minute and 7 days. The default is 5
5968	// hours.
5969	RobotDeploymentTimeoutInSeconds *int64 `locationName:"robotDeploymentTimeoutInSeconds" type:"long"`
5970}
5971
5972// String returns the string representation
5973func (s DeploymentConfig) String() string {
5974	return awsutil.Prettify(s)
5975}
5976
5977// GoString returns the string representation
5978func (s DeploymentConfig) GoString() string {
5979	return s.String()
5980}
5981
5982// Validate inspects the fields of the type to determine if they are valid.
5983func (s *DeploymentConfig) Validate() error {
5984	invalidParams := request.ErrInvalidParams{Context: "DeploymentConfig"}
5985	if s.ConcurrentDeploymentPercentage != nil && *s.ConcurrentDeploymentPercentage < 1 {
5986		invalidParams.Add(request.NewErrParamMinValue("ConcurrentDeploymentPercentage", 1))
5987	}
5988	if s.FailureThresholdPercentage != nil && *s.FailureThresholdPercentage < 1 {
5989		invalidParams.Add(request.NewErrParamMinValue("FailureThresholdPercentage", 1))
5990	}
5991	if s.DownloadConditionFile != nil {
5992		if err := s.DownloadConditionFile.Validate(); err != nil {
5993			invalidParams.AddNested("DownloadConditionFile", err.(request.ErrInvalidParams))
5994		}
5995	}
5996
5997	if invalidParams.Len() > 0 {
5998		return invalidParams
5999	}
6000	return nil
6001}
6002
6003// SetConcurrentDeploymentPercentage sets the ConcurrentDeploymentPercentage field's value.
6004func (s *DeploymentConfig) SetConcurrentDeploymentPercentage(v int64) *DeploymentConfig {
6005	s.ConcurrentDeploymentPercentage = &v
6006	return s
6007}
6008
6009// SetDownloadConditionFile sets the DownloadConditionFile field's value.
6010func (s *DeploymentConfig) SetDownloadConditionFile(v *S3Object) *DeploymentConfig {
6011	s.DownloadConditionFile = v
6012	return s
6013}
6014
6015// SetFailureThresholdPercentage sets the FailureThresholdPercentage field's value.
6016func (s *DeploymentConfig) SetFailureThresholdPercentage(v int64) *DeploymentConfig {
6017	s.FailureThresholdPercentage = &v
6018	return s
6019}
6020
6021// SetRobotDeploymentTimeoutInSeconds sets the RobotDeploymentTimeoutInSeconds field's value.
6022func (s *DeploymentConfig) SetRobotDeploymentTimeoutInSeconds(v int64) *DeploymentConfig {
6023	s.RobotDeploymentTimeoutInSeconds = &v
6024	return s
6025}
6026
6027// Information about a deployment job.
6028type DeploymentJob struct {
6029	_ struct{} `type:"structure"`
6030
6031	// The Amazon Resource Name (ARN) of the deployment job.
6032	Arn *string `locationName:"arn" min:"1" type:"string"`
6033
6034	// The time, in milliseconds since the epoch, when the deployment job was created.
6035	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6036
6037	// The deployment application configuration.
6038	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
6039
6040	// The deployment configuration.
6041	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
6042
6043	// The deployment job failure code.
6044	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
6045
6046	// A short description of the reason why the deployment job failed.
6047	FailureReason *string `locationName:"failureReason" type:"string"`
6048
6049	// The Amazon Resource Name (ARN) of the fleet.
6050	Fleet *string `locationName:"fleet" min:"1" type:"string"`
6051
6052	// The status of the deployment job.
6053	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
6054}
6055
6056// String returns the string representation
6057func (s DeploymentJob) String() string {
6058	return awsutil.Prettify(s)
6059}
6060
6061// GoString returns the string representation
6062func (s DeploymentJob) GoString() string {
6063	return s.String()
6064}
6065
6066// SetArn sets the Arn field's value.
6067func (s *DeploymentJob) SetArn(v string) *DeploymentJob {
6068	s.Arn = &v
6069	return s
6070}
6071
6072// SetCreatedAt sets the CreatedAt field's value.
6073func (s *DeploymentJob) SetCreatedAt(v time.Time) *DeploymentJob {
6074	s.CreatedAt = &v
6075	return s
6076}
6077
6078// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
6079func (s *DeploymentJob) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DeploymentJob {
6080	s.DeploymentApplicationConfigs = v
6081	return s
6082}
6083
6084// SetDeploymentConfig sets the DeploymentConfig field's value.
6085func (s *DeploymentJob) SetDeploymentConfig(v *DeploymentConfig) *DeploymentJob {
6086	s.DeploymentConfig = v
6087	return s
6088}
6089
6090// SetFailureCode sets the FailureCode field's value.
6091func (s *DeploymentJob) SetFailureCode(v string) *DeploymentJob {
6092	s.FailureCode = &v
6093	return s
6094}
6095
6096// SetFailureReason sets the FailureReason field's value.
6097func (s *DeploymentJob) SetFailureReason(v string) *DeploymentJob {
6098	s.FailureReason = &v
6099	return s
6100}
6101
6102// SetFleet sets the Fleet field's value.
6103func (s *DeploymentJob) SetFleet(v string) *DeploymentJob {
6104	s.Fleet = &v
6105	return s
6106}
6107
6108// SetStatus sets the Status field's value.
6109func (s *DeploymentJob) SetStatus(v string) *DeploymentJob {
6110	s.Status = &v
6111	return s
6112}
6113
6114// Configuration information for a deployment launch.
6115type DeploymentLaunchConfig struct {
6116	_ struct{} `type:"structure"`
6117
6118	// An array of key/value pairs specifying environment variables for the robot
6119	// application
6120	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
6121
6122	// The launch file name.
6123	//
6124	// LaunchFile is a required field
6125	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
6126
6127	// The package name.
6128	//
6129	// PackageName is a required field
6130	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
6131
6132	// The deployment post-launch file. This file will be executed after the launch
6133	// file.
6134	PostLaunchFile *string `locationName:"postLaunchFile" min:"1" type:"string"`
6135
6136	// The deployment pre-launch file. This file will be executed prior to the launch
6137	// file.
6138	PreLaunchFile *string `locationName:"preLaunchFile" min:"1" type:"string"`
6139}
6140
6141// String returns the string representation
6142func (s DeploymentLaunchConfig) String() string {
6143	return awsutil.Prettify(s)
6144}
6145
6146// GoString returns the string representation
6147func (s DeploymentLaunchConfig) GoString() string {
6148	return s.String()
6149}
6150
6151// Validate inspects the fields of the type to determine if they are valid.
6152func (s *DeploymentLaunchConfig) Validate() error {
6153	invalidParams := request.ErrInvalidParams{Context: "DeploymentLaunchConfig"}
6154	if s.LaunchFile == nil {
6155		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
6156	}
6157	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
6158		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
6159	}
6160	if s.PackageName == nil {
6161		invalidParams.Add(request.NewErrParamRequired("PackageName"))
6162	}
6163	if s.PackageName != nil && len(*s.PackageName) < 1 {
6164		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
6165	}
6166	if s.PostLaunchFile != nil && len(*s.PostLaunchFile) < 1 {
6167		invalidParams.Add(request.NewErrParamMinLen("PostLaunchFile", 1))
6168	}
6169	if s.PreLaunchFile != nil && len(*s.PreLaunchFile) < 1 {
6170		invalidParams.Add(request.NewErrParamMinLen("PreLaunchFile", 1))
6171	}
6172
6173	if invalidParams.Len() > 0 {
6174		return invalidParams
6175	}
6176	return nil
6177}
6178
6179// SetEnvironmentVariables sets the EnvironmentVariables field's value.
6180func (s *DeploymentLaunchConfig) SetEnvironmentVariables(v map[string]*string) *DeploymentLaunchConfig {
6181	s.EnvironmentVariables = v
6182	return s
6183}
6184
6185// SetLaunchFile sets the LaunchFile field's value.
6186func (s *DeploymentLaunchConfig) SetLaunchFile(v string) *DeploymentLaunchConfig {
6187	s.LaunchFile = &v
6188	return s
6189}
6190
6191// SetPackageName sets the PackageName field's value.
6192func (s *DeploymentLaunchConfig) SetPackageName(v string) *DeploymentLaunchConfig {
6193	s.PackageName = &v
6194	return s
6195}
6196
6197// SetPostLaunchFile sets the PostLaunchFile field's value.
6198func (s *DeploymentLaunchConfig) SetPostLaunchFile(v string) *DeploymentLaunchConfig {
6199	s.PostLaunchFile = &v
6200	return s
6201}
6202
6203// SetPreLaunchFile sets the PreLaunchFile field's value.
6204func (s *DeploymentLaunchConfig) SetPreLaunchFile(v string) *DeploymentLaunchConfig {
6205	s.PreLaunchFile = &v
6206	return s
6207}
6208
6209type DeregisterRobotInput struct {
6210	_ struct{} `type:"structure"`
6211
6212	// The Amazon Resource Name (ARN) of the fleet.
6213	//
6214	// Fleet is a required field
6215	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
6216
6217	// The Amazon Resource Name (ARN) of the robot.
6218	//
6219	// Robot is a required field
6220	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
6221}
6222
6223// String returns the string representation
6224func (s DeregisterRobotInput) String() string {
6225	return awsutil.Prettify(s)
6226}
6227
6228// GoString returns the string representation
6229func (s DeregisterRobotInput) GoString() string {
6230	return s.String()
6231}
6232
6233// Validate inspects the fields of the type to determine if they are valid.
6234func (s *DeregisterRobotInput) Validate() error {
6235	invalidParams := request.ErrInvalidParams{Context: "DeregisterRobotInput"}
6236	if s.Fleet == nil {
6237		invalidParams.Add(request.NewErrParamRequired("Fleet"))
6238	}
6239	if s.Fleet != nil && len(*s.Fleet) < 1 {
6240		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
6241	}
6242	if s.Robot == nil {
6243		invalidParams.Add(request.NewErrParamRequired("Robot"))
6244	}
6245	if s.Robot != nil && len(*s.Robot) < 1 {
6246		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
6247	}
6248
6249	if invalidParams.Len() > 0 {
6250		return invalidParams
6251	}
6252	return nil
6253}
6254
6255// SetFleet sets the Fleet field's value.
6256func (s *DeregisterRobotInput) SetFleet(v string) *DeregisterRobotInput {
6257	s.Fleet = &v
6258	return s
6259}
6260
6261// SetRobot sets the Robot field's value.
6262func (s *DeregisterRobotInput) SetRobot(v string) *DeregisterRobotInput {
6263	s.Robot = &v
6264	return s
6265}
6266
6267type DeregisterRobotOutput struct {
6268	_ struct{} `type:"structure"`
6269
6270	// The Amazon Resource Name (ARN) of the fleet.
6271	Fleet *string `locationName:"fleet" min:"1" type:"string"`
6272
6273	// The Amazon Resource Name (ARN) of the robot.
6274	Robot *string `locationName:"robot" min:"1" type:"string"`
6275}
6276
6277// String returns the string representation
6278func (s DeregisterRobotOutput) String() string {
6279	return awsutil.Prettify(s)
6280}
6281
6282// GoString returns the string representation
6283func (s DeregisterRobotOutput) GoString() string {
6284	return s.String()
6285}
6286
6287// SetFleet sets the Fleet field's value.
6288func (s *DeregisterRobotOutput) SetFleet(v string) *DeregisterRobotOutput {
6289	s.Fleet = &v
6290	return s
6291}
6292
6293// SetRobot sets the Robot field's value.
6294func (s *DeregisterRobotOutput) SetRobot(v string) *DeregisterRobotOutput {
6295	s.Robot = &v
6296	return s
6297}
6298
6299type DescribeDeploymentJobInput struct {
6300	_ struct{} `type:"structure"`
6301
6302	// The Amazon Resource Name (ARN) of the deployment job.
6303	//
6304	// Job is a required field
6305	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
6306}
6307
6308// String returns the string representation
6309func (s DescribeDeploymentJobInput) String() string {
6310	return awsutil.Prettify(s)
6311}
6312
6313// GoString returns the string representation
6314func (s DescribeDeploymentJobInput) GoString() string {
6315	return s.String()
6316}
6317
6318// Validate inspects the fields of the type to determine if they are valid.
6319func (s *DescribeDeploymentJobInput) Validate() error {
6320	invalidParams := request.ErrInvalidParams{Context: "DescribeDeploymentJobInput"}
6321	if s.Job == nil {
6322		invalidParams.Add(request.NewErrParamRequired("Job"))
6323	}
6324	if s.Job != nil && len(*s.Job) < 1 {
6325		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
6326	}
6327
6328	if invalidParams.Len() > 0 {
6329		return invalidParams
6330	}
6331	return nil
6332}
6333
6334// SetJob sets the Job field's value.
6335func (s *DescribeDeploymentJobInput) SetJob(v string) *DescribeDeploymentJobInput {
6336	s.Job = &v
6337	return s
6338}
6339
6340type DescribeDeploymentJobOutput struct {
6341	_ struct{} `type:"structure"`
6342
6343	// The Amazon Resource Name (ARN) of the deployment job.
6344	Arn *string `locationName:"arn" min:"1" type:"string"`
6345
6346	// The time, in milliseconds since the epoch, when the deployment job was created.
6347	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6348
6349	// The deployment application configuration.
6350	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
6351
6352	// The deployment configuration.
6353	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
6354
6355	// The deployment job failure code.
6356	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
6357
6358	// A short description of the reason why the deployment job failed.
6359	FailureReason *string `locationName:"failureReason" type:"string"`
6360
6361	// The Amazon Resource Name (ARN) of the fleet.
6362	Fleet *string `locationName:"fleet" min:"1" type:"string"`
6363
6364	// A list of robot deployment summaries.
6365	RobotDeploymentSummary []*RobotDeployment `locationName:"robotDeploymentSummary" type:"list"`
6366
6367	// The status of the deployment job.
6368	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
6369
6370	// The list of all tags added to the specified deployment job.
6371	Tags map[string]*string `locationName:"tags" type:"map"`
6372}
6373
6374// String returns the string representation
6375func (s DescribeDeploymentJobOutput) String() string {
6376	return awsutil.Prettify(s)
6377}
6378
6379// GoString returns the string representation
6380func (s DescribeDeploymentJobOutput) GoString() string {
6381	return s.String()
6382}
6383
6384// SetArn sets the Arn field's value.
6385func (s *DescribeDeploymentJobOutput) SetArn(v string) *DescribeDeploymentJobOutput {
6386	s.Arn = &v
6387	return s
6388}
6389
6390// SetCreatedAt sets the CreatedAt field's value.
6391func (s *DescribeDeploymentJobOutput) SetCreatedAt(v time.Time) *DescribeDeploymentJobOutput {
6392	s.CreatedAt = &v
6393	return s
6394}
6395
6396// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
6397func (s *DescribeDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *DescribeDeploymentJobOutput {
6398	s.DeploymentApplicationConfigs = v
6399	return s
6400}
6401
6402// SetDeploymentConfig sets the DeploymentConfig field's value.
6403func (s *DescribeDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *DescribeDeploymentJobOutput {
6404	s.DeploymentConfig = v
6405	return s
6406}
6407
6408// SetFailureCode sets the FailureCode field's value.
6409func (s *DescribeDeploymentJobOutput) SetFailureCode(v string) *DescribeDeploymentJobOutput {
6410	s.FailureCode = &v
6411	return s
6412}
6413
6414// SetFailureReason sets the FailureReason field's value.
6415func (s *DescribeDeploymentJobOutput) SetFailureReason(v string) *DescribeDeploymentJobOutput {
6416	s.FailureReason = &v
6417	return s
6418}
6419
6420// SetFleet sets the Fleet field's value.
6421func (s *DescribeDeploymentJobOutput) SetFleet(v string) *DescribeDeploymentJobOutput {
6422	s.Fleet = &v
6423	return s
6424}
6425
6426// SetRobotDeploymentSummary sets the RobotDeploymentSummary field's value.
6427func (s *DescribeDeploymentJobOutput) SetRobotDeploymentSummary(v []*RobotDeployment) *DescribeDeploymentJobOutput {
6428	s.RobotDeploymentSummary = v
6429	return s
6430}
6431
6432// SetStatus sets the Status field's value.
6433func (s *DescribeDeploymentJobOutput) SetStatus(v string) *DescribeDeploymentJobOutput {
6434	s.Status = &v
6435	return s
6436}
6437
6438// SetTags sets the Tags field's value.
6439func (s *DescribeDeploymentJobOutput) SetTags(v map[string]*string) *DescribeDeploymentJobOutput {
6440	s.Tags = v
6441	return s
6442}
6443
6444type DescribeFleetInput struct {
6445	_ struct{} `type:"structure"`
6446
6447	// The Amazon Resource Name (ARN) of the fleet.
6448	//
6449	// Fleet is a required field
6450	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
6451}
6452
6453// String returns the string representation
6454func (s DescribeFleetInput) String() string {
6455	return awsutil.Prettify(s)
6456}
6457
6458// GoString returns the string representation
6459func (s DescribeFleetInput) GoString() string {
6460	return s.String()
6461}
6462
6463// Validate inspects the fields of the type to determine if they are valid.
6464func (s *DescribeFleetInput) Validate() error {
6465	invalidParams := request.ErrInvalidParams{Context: "DescribeFleetInput"}
6466	if s.Fleet == nil {
6467		invalidParams.Add(request.NewErrParamRequired("Fleet"))
6468	}
6469	if s.Fleet != nil && len(*s.Fleet) < 1 {
6470		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
6471	}
6472
6473	if invalidParams.Len() > 0 {
6474		return invalidParams
6475	}
6476	return nil
6477}
6478
6479// SetFleet sets the Fleet field's value.
6480func (s *DescribeFleetInput) SetFleet(v string) *DescribeFleetInput {
6481	s.Fleet = &v
6482	return s
6483}
6484
6485type DescribeFleetOutput struct {
6486	_ struct{} `type:"structure"`
6487
6488	// The Amazon Resource Name (ARN) of the fleet.
6489	Arn *string `locationName:"arn" min:"1" type:"string"`
6490
6491	// The time, in milliseconds since the epoch, when the fleet was created.
6492	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6493
6494	// The Amazon Resource Name (ARN) of the last deployment job.
6495	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
6496
6497	// The status of the last deployment.
6498	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
6499
6500	// The time of the last deployment.
6501	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
6502
6503	// The name of the fleet.
6504	Name *string `locationName:"name" min:"1" type:"string"`
6505
6506	// A list of robots.
6507	Robots []*Robot `locationName:"robots" type:"list"`
6508
6509	// The list of all tags added to the specified fleet.
6510	Tags map[string]*string `locationName:"tags" type:"map"`
6511}
6512
6513// String returns the string representation
6514func (s DescribeFleetOutput) String() string {
6515	return awsutil.Prettify(s)
6516}
6517
6518// GoString returns the string representation
6519func (s DescribeFleetOutput) GoString() string {
6520	return s.String()
6521}
6522
6523// SetArn sets the Arn field's value.
6524func (s *DescribeFleetOutput) SetArn(v string) *DescribeFleetOutput {
6525	s.Arn = &v
6526	return s
6527}
6528
6529// SetCreatedAt sets the CreatedAt field's value.
6530func (s *DescribeFleetOutput) SetCreatedAt(v time.Time) *DescribeFleetOutput {
6531	s.CreatedAt = &v
6532	return s
6533}
6534
6535// SetLastDeploymentJob sets the LastDeploymentJob field's value.
6536func (s *DescribeFleetOutput) SetLastDeploymentJob(v string) *DescribeFleetOutput {
6537	s.LastDeploymentJob = &v
6538	return s
6539}
6540
6541// SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
6542func (s *DescribeFleetOutput) SetLastDeploymentStatus(v string) *DescribeFleetOutput {
6543	s.LastDeploymentStatus = &v
6544	return s
6545}
6546
6547// SetLastDeploymentTime sets the LastDeploymentTime field's value.
6548func (s *DescribeFleetOutput) SetLastDeploymentTime(v time.Time) *DescribeFleetOutput {
6549	s.LastDeploymentTime = &v
6550	return s
6551}
6552
6553// SetName sets the Name field's value.
6554func (s *DescribeFleetOutput) SetName(v string) *DescribeFleetOutput {
6555	s.Name = &v
6556	return s
6557}
6558
6559// SetRobots sets the Robots field's value.
6560func (s *DescribeFleetOutput) SetRobots(v []*Robot) *DescribeFleetOutput {
6561	s.Robots = v
6562	return s
6563}
6564
6565// SetTags sets the Tags field's value.
6566func (s *DescribeFleetOutput) SetTags(v map[string]*string) *DescribeFleetOutput {
6567	s.Tags = v
6568	return s
6569}
6570
6571type DescribeRobotApplicationInput struct {
6572	_ struct{} `type:"structure"`
6573
6574	// The Amazon Resource Name (ARN) of the robot application.
6575	//
6576	// Application is a required field
6577	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
6578
6579	// The version of the robot application to describe.
6580	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
6581}
6582
6583// String returns the string representation
6584func (s DescribeRobotApplicationInput) String() string {
6585	return awsutil.Prettify(s)
6586}
6587
6588// GoString returns the string representation
6589func (s DescribeRobotApplicationInput) GoString() string {
6590	return s.String()
6591}
6592
6593// Validate inspects the fields of the type to determine if they are valid.
6594func (s *DescribeRobotApplicationInput) Validate() error {
6595	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotApplicationInput"}
6596	if s.Application == nil {
6597		invalidParams.Add(request.NewErrParamRequired("Application"))
6598	}
6599	if s.Application != nil && len(*s.Application) < 1 {
6600		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
6601	}
6602	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
6603		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
6604	}
6605
6606	if invalidParams.Len() > 0 {
6607		return invalidParams
6608	}
6609	return nil
6610}
6611
6612// SetApplication sets the Application field's value.
6613func (s *DescribeRobotApplicationInput) SetApplication(v string) *DescribeRobotApplicationInput {
6614	s.Application = &v
6615	return s
6616}
6617
6618// SetApplicationVersion sets the ApplicationVersion field's value.
6619func (s *DescribeRobotApplicationInput) SetApplicationVersion(v string) *DescribeRobotApplicationInput {
6620	s.ApplicationVersion = &v
6621	return s
6622}
6623
6624type DescribeRobotApplicationOutput struct {
6625	_ struct{} `type:"structure"`
6626
6627	// The Amazon Resource Name (ARN) of the robot application.
6628	Arn *string `locationName:"arn" min:"1" type:"string"`
6629
6630	// The time, in milliseconds since the epoch, when the robot application was
6631	// last updated.
6632	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
6633
6634	// The name of the robot application.
6635	Name *string `locationName:"name" min:"1" type:"string"`
6636
6637	// The revision id of the robot application.
6638	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
6639
6640	// The robot software suite used by the robot application.
6641	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
6642
6643	// The sources of the robot application.
6644	Sources []*Source `locationName:"sources" type:"list"`
6645
6646	// The list of all tags added to the specified robot application.
6647	Tags map[string]*string `locationName:"tags" type:"map"`
6648
6649	// The version of the robot application.
6650	Version *string `locationName:"version" min:"1" type:"string"`
6651}
6652
6653// String returns the string representation
6654func (s DescribeRobotApplicationOutput) String() string {
6655	return awsutil.Prettify(s)
6656}
6657
6658// GoString returns the string representation
6659func (s DescribeRobotApplicationOutput) GoString() string {
6660	return s.String()
6661}
6662
6663// SetArn sets the Arn field's value.
6664func (s *DescribeRobotApplicationOutput) SetArn(v string) *DescribeRobotApplicationOutput {
6665	s.Arn = &v
6666	return s
6667}
6668
6669// SetLastUpdatedAt sets the LastUpdatedAt field's value.
6670func (s *DescribeRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeRobotApplicationOutput {
6671	s.LastUpdatedAt = &v
6672	return s
6673}
6674
6675// SetName sets the Name field's value.
6676func (s *DescribeRobotApplicationOutput) SetName(v string) *DescribeRobotApplicationOutput {
6677	s.Name = &v
6678	return s
6679}
6680
6681// SetRevisionId sets the RevisionId field's value.
6682func (s *DescribeRobotApplicationOutput) SetRevisionId(v string) *DescribeRobotApplicationOutput {
6683	s.RevisionId = &v
6684	return s
6685}
6686
6687// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
6688func (s *DescribeRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeRobotApplicationOutput {
6689	s.RobotSoftwareSuite = v
6690	return s
6691}
6692
6693// SetSources sets the Sources field's value.
6694func (s *DescribeRobotApplicationOutput) SetSources(v []*Source) *DescribeRobotApplicationOutput {
6695	s.Sources = v
6696	return s
6697}
6698
6699// SetTags sets the Tags field's value.
6700func (s *DescribeRobotApplicationOutput) SetTags(v map[string]*string) *DescribeRobotApplicationOutput {
6701	s.Tags = v
6702	return s
6703}
6704
6705// SetVersion sets the Version field's value.
6706func (s *DescribeRobotApplicationOutput) SetVersion(v string) *DescribeRobotApplicationOutput {
6707	s.Version = &v
6708	return s
6709}
6710
6711type DescribeRobotInput struct {
6712	_ struct{} `type:"structure"`
6713
6714	// The Amazon Resource Name (ARN) of the robot to be described.
6715	//
6716	// Robot is a required field
6717	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
6718}
6719
6720// String returns the string representation
6721func (s DescribeRobotInput) String() string {
6722	return awsutil.Prettify(s)
6723}
6724
6725// GoString returns the string representation
6726func (s DescribeRobotInput) GoString() string {
6727	return s.String()
6728}
6729
6730// Validate inspects the fields of the type to determine if they are valid.
6731func (s *DescribeRobotInput) Validate() error {
6732	invalidParams := request.ErrInvalidParams{Context: "DescribeRobotInput"}
6733	if s.Robot == nil {
6734		invalidParams.Add(request.NewErrParamRequired("Robot"))
6735	}
6736	if s.Robot != nil && len(*s.Robot) < 1 {
6737		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
6738	}
6739
6740	if invalidParams.Len() > 0 {
6741		return invalidParams
6742	}
6743	return nil
6744}
6745
6746// SetRobot sets the Robot field's value.
6747func (s *DescribeRobotInput) SetRobot(v string) *DescribeRobotInput {
6748	s.Robot = &v
6749	return s
6750}
6751
6752type DescribeRobotOutput struct {
6753	_ struct{} `type:"structure"`
6754
6755	// The target architecture of the robot application.
6756	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
6757
6758	// The Amazon Resource Name (ARN) of the robot.
6759	Arn *string `locationName:"arn" min:"1" type:"string"`
6760
6761	// The time, in milliseconds since the epoch, when the robot was created.
6762	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
6763
6764	// The Amazon Resource Name (ARN) of the fleet.
6765	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
6766
6767	// The Greengrass group id.
6768	GreengrassGroupId *string `locationName:"greengrassGroupId" min:"1" type:"string"`
6769
6770	// The Amazon Resource Name (ARN) of the last deployment job.
6771	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
6772
6773	// The time of the last deployment job.
6774	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
6775
6776	// The name of the robot.
6777	Name *string `locationName:"name" min:"1" type:"string"`
6778
6779	// The status of the fleet.
6780	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
6781
6782	// The list of all tags added to the specified robot.
6783	Tags map[string]*string `locationName:"tags" type:"map"`
6784}
6785
6786// String returns the string representation
6787func (s DescribeRobotOutput) String() string {
6788	return awsutil.Prettify(s)
6789}
6790
6791// GoString returns the string representation
6792func (s DescribeRobotOutput) GoString() string {
6793	return s.String()
6794}
6795
6796// SetArchitecture sets the Architecture field's value.
6797func (s *DescribeRobotOutput) SetArchitecture(v string) *DescribeRobotOutput {
6798	s.Architecture = &v
6799	return s
6800}
6801
6802// SetArn sets the Arn field's value.
6803func (s *DescribeRobotOutput) SetArn(v string) *DescribeRobotOutput {
6804	s.Arn = &v
6805	return s
6806}
6807
6808// SetCreatedAt sets the CreatedAt field's value.
6809func (s *DescribeRobotOutput) SetCreatedAt(v time.Time) *DescribeRobotOutput {
6810	s.CreatedAt = &v
6811	return s
6812}
6813
6814// SetFleetArn sets the FleetArn field's value.
6815func (s *DescribeRobotOutput) SetFleetArn(v string) *DescribeRobotOutput {
6816	s.FleetArn = &v
6817	return s
6818}
6819
6820// SetGreengrassGroupId sets the GreengrassGroupId field's value.
6821func (s *DescribeRobotOutput) SetGreengrassGroupId(v string) *DescribeRobotOutput {
6822	s.GreengrassGroupId = &v
6823	return s
6824}
6825
6826// SetLastDeploymentJob sets the LastDeploymentJob field's value.
6827func (s *DescribeRobotOutput) SetLastDeploymentJob(v string) *DescribeRobotOutput {
6828	s.LastDeploymentJob = &v
6829	return s
6830}
6831
6832// SetLastDeploymentTime sets the LastDeploymentTime field's value.
6833func (s *DescribeRobotOutput) SetLastDeploymentTime(v time.Time) *DescribeRobotOutput {
6834	s.LastDeploymentTime = &v
6835	return s
6836}
6837
6838// SetName sets the Name field's value.
6839func (s *DescribeRobotOutput) SetName(v string) *DescribeRobotOutput {
6840	s.Name = &v
6841	return s
6842}
6843
6844// SetStatus sets the Status field's value.
6845func (s *DescribeRobotOutput) SetStatus(v string) *DescribeRobotOutput {
6846	s.Status = &v
6847	return s
6848}
6849
6850// SetTags sets the Tags field's value.
6851func (s *DescribeRobotOutput) SetTags(v map[string]*string) *DescribeRobotOutput {
6852	s.Tags = v
6853	return s
6854}
6855
6856type DescribeSimulationApplicationInput struct {
6857	_ struct{} `type:"structure"`
6858
6859	// The application information for the simulation application.
6860	//
6861	// Application is a required field
6862	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
6863
6864	// The version of the simulation application to describe.
6865	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
6866}
6867
6868// String returns the string representation
6869func (s DescribeSimulationApplicationInput) String() string {
6870	return awsutil.Prettify(s)
6871}
6872
6873// GoString returns the string representation
6874func (s DescribeSimulationApplicationInput) GoString() string {
6875	return s.String()
6876}
6877
6878// Validate inspects the fields of the type to determine if they are valid.
6879func (s *DescribeSimulationApplicationInput) Validate() error {
6880	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationApplicationInput"}
6881	if s.Application == nil {
6882		invalidParams.Add(request.NewErrParamRequired("Application"))
6883	}
6884	if s.Application != nil && len(*s.Application) < 1 {
6885		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
6886	}
6887	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
6888		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
6889	}
6890
6891	if invalidParams.Len() > 0 {
6892		return invalidParams
6893	}
6894	return nil
6895}
6896
6897// SetApplication sets the Application field's value.
6898func (s *DescribeSimulationApplicationInput) SetApplication(v string) *DescribeSimulationApplicationInput {
6899	s.Application = &v
6900	return s
6901}
6902
6903// SetApplicationVersion sets the ApplicationVersion field's value.
6904func (s *DescribeSimulationApplicationInput) SetApplicationVersion(v string) *DescribeSimulationApplicationInput {
6905	s.ApplicationVersion = &v
6906	return s
6907}
6908
6909type DescribeSimulationApplicationOutput struct {
6910	_ struct{} `type:"structure"`
6911
6912	// The Amazon Resource Name (ARN) of the robot simulation application.
6913	Arn *string `locationName:"arn" min:"1" type:"string"`
6914
6915	// The time, in milliseconds since the epoch, when the simulation application
6916	// was last updated.
6917	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
6918
6919	// The name of the simulation application.
6920	Name *string `locationName:"name" min:"1" type:"string"`
6921
6922	// The rendering engine for the simulation application.
6923	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
6924
6925	// The revision id of the simulation application.
6926	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
6927
6928	// Information about the robot software suite.
6929	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
6930
6931	// The simulation software suite used by the simulation application.
6932	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
6933
6934	// The sources of the simulation application.
6935	Sources []*Source `locationName:"sources" type:"list"`
6936
6937	// The list of all tags added to the specified simulation application.
6938	Tags map[string]*string `locationName:"tags" type:"map"`
6939
6940	// The version of the simulation application.
6941	Version *string `locationName:"version" min:"1" type:"string"`
6942}
6943
6944// String returns the string representation
6945func (s DescribeSimulationApplicationOutput) String() string {
6946	return awsutil.Prettify(s)
6947}
6948
6949// GoString returns the string representation
6950func (s DescribeSimulationApplicationOutput) GoString() string {
6951	return s.String()
6952}
6953
6954// SetArn sets the Arn field's value.
6955func (s *DescribeSimulationApplicationOutput) SetArn(v string) *DescribeSimulationApplicationOutput {
6956	s.Arn = &v
6957	return s
6958}
6959
6960// SetLastUpdatedAt sets the LastUpdatedAt field's value.
6961func (s *DescribeSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationApplicationOutput {
6962	s.LastUpdatedAt = &v
6963	return s
6964}
6965
6966// SetName sets the Name field's value.
6967func (s *DescribeSimulationApplicationOutput) SetName(v string) *DescribeSimulationApplicationOutput {
6968	s.Name = &v
6969	return s
6970}
6971
6972// SetRenderingEngine sets the RenderingEngine field's value.
6973func (s *DescribeSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *DescribeSimulationApplicationOutput {
6974	s.RenderingEngine = v
6975	return s
6976}
6977
6978// SetRevisionId sets the RevisionId field's value.
6979func (s *DescribeSimulationApplicationOutput) SetRevisionId(v string) *DescribeSimulationApplicationOutput {
6980	s.RevisionId = &v
6981	return s
6982}
6983
6984// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
6985func (s *DescribeSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *DescribeSimulationApplicationOutput {
6986	s.RobotSoftwareSuite = v
6987	return s
6988}
6989
6990// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
6991func (s *DescribeSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *DescribeSimulationApplicationOutput {
6992	s.SimulationSoftwareSuite = v
6993	return s
6994}
6995
6996// SetSources sets the Sources field's value.
6997func (s *DescribeSimulationApplicationOutput) SetSources(v []*Source) *DescribeSimulationApplicationOutput {
6998	s.Sources = v
6999	return s
7000}
7001
7002// SetTags sets the Tags field's value.
7003func (s *DescribeSimulationApplicationOutput) SetTags(v map[string]*string) *DescribeSimulationApplicationOutput {
7004	s.Tags = v
7005	return s
7006}
7007
7008// SetVersion sets the Version field's value.
7009func (s *DescribeSimulationApplicationOutput) SetVersion(v string) *DescribeSimulationApplicationOutput {
7010	s.Version = &v
7011	return s
7012}
7013
7014type DescribeSimulationJobInput struct {
7015	_ struct{} `type:"structure"`
7016
7017	// The Amazon Resource Name (ARN) of the simulation job to be described.
7018	//
7019	// Job is a required field
7020	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
7021}
7022
7023// String returns the string representation
7024func (s DescribeSimulationJobInput) String() string {
7025	return awsutil.Prettify(s)
7026}
7027
7028// GoString returns the string representation
7029func (s DescribeSimulationJobInput) GoString() string {
7030	return s.String()
7031}
7032
7033// Validate inspects the fields of the type to determine if they are valid.
7034func (s *DescribeSimulationJobInput) Validate() error {
7035	invalidParams := request.ErrInvalidParams{Context: "DescribeSimulationJobInput"}
7036	if s.Job == nil {
7037		invalidParams.Add(request.NewErrParamRequired("Job"))
7038	}
7039	if s.Job != nil && len(*s.Job) < 1 {
7040		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
7041	}
7042
7043	if invalidParams.Len() > 0 {
7044		return invalidParams
7045	}
7046	return nil
7047}
7048
7049// SetJob sets the Job field's value.
7050func (s *DescribeSimulationJobInput) SetJob(v string) *DescribeSimulationJobInput {
7051	s.Job = &v
7052	return s
7053}
7054
7055type DescribeSimulationJobOutput struct {
7056	_ struct{} `type:"structure"`
7057
7058	// The Amazon Resource Name (ARN) of the simulation job.
7059	Arn *string `locationName:"arn" min:"1" type:"string"`
7060
7061	// Unique, case-sensitive identifier that you provide to ensure the idempotency
7062	// of the request.
7063	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
7064
7065	// The data sources for the simulation job.
7066	DataSources []*DataSource `locationName:"dataSources" type:"list"`
7067
7068	// The failure behavior for the simulation job.
7069	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
7070
7071	// The failure code of the simulation job if it failed:
7072	//
7073	// InternalServiceError
7074	//
7075	// Internal service error.
7076	//
7077	// RobotApplicationCrash
7078	//
7079	// Robot application exited abnormally.
7080	//
7081	// SimulationApplicationCrash
7082	//
7083	// Simulation application exited abnormally.
7084	//
7085	// BadPermissionsRobotApplication
7086	//
7087	// Robot application bundle could not be downloaded.
7088	//
7089	// BadPermissionsSimulationApplication
7090	//
7091	// Simulation application bundle could not be downloaded.
7092	//
7093	// BadPermissionsS3Output
7094	//
7095	// Unable to publish outputs to customer-provided S3 bucket.
7096	//
7097	// BadPermissionsCloudwatchLogs
7098	//
7099	// Unable to publish logs to customer-provided CloudWatch Logs resource.
7100	//
7101	// SubnetIpLimitExceeded
7102	//
7103	// Subnet IP limit exceeded.
7104	//
7105	// ENILimitExceeded
7106	//
7107	// ENI limit exceeded.
7108	//
7109	// BadPermissionsUserCredentials
7110	//
7111	// Unable to use the Role provided.
7112	//
7113	// InvalidBundleRobotApplication
7114	//
7115	// Robot bundle cannot be extracted (invalid format, bundling error, or other
7116	// issue).
7117	//
7118	// InvalidBundleSimulationApplication
7119	//
7120	// Simulation bundle cannot be extracted (invalid format, bundling error, or
7121	// other issue).
7122	//
7123	// RobotApplicationVersionMismatchedEtag
7124	//
7125	// Etag for RobotApplication does not match value during version creation.
7126	//
7127	// SimulationApplicationVersionMismatchedEtag
7128	//
7129	// Etag for SimulationApplication does not match value during version creation.
7130	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
7131
7132	// Details about why the simulation job failed. For more information about troubleshooting,
7133	// see Troubleshooting (https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting.html).
7134	FailureReason *string `locationName:"failureReason" type:"string"`
7135
7136	// The IAM role that allows the simulation instance to call the AWS APIs that
7137	// are specified in its associated policies on your behalf.
7138	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
7139
7140	// The time, in milliseconds since the epoch, when the simulation job was last
7141	// started.
7142	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
7143
7144	// The time, in milliseconds since the epoch, when the simulation job was last
7145	// updated.
7146	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
7147
7148	// The logging configuration.
7149	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
7150
7151	// The maximum job duration in seconds. The value must be 8 days (691,200 seconds)
7152	// or less.
7153	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
7154
7155	// The name of the simulation job.
7156	Name *string `locationName:"name" min:"1" type:"string"`
7157
7158	// The network interface information for the simulation job.
7159	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
7160
7161	// Location for output files generated by the simulation job.
7162	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
7163
7164	// A list of robot applications.
7165	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
7166
7167	// A list of simulation applications.
7168	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
7169
7170	// The simulation job execution duration in milliseconds.
7171	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
7172
7173	// The status of the simulation job.
7174	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
7175
7176	// The list of all tags added to the specified simulation job.
7177	Tags map[string]*string `locationName:"tags" type:"map"`
7178
7179	// The VPC configuration.
7180	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
7181}
7182
7183// String returns the string representation
7184func (s DescribeSimulationJobOutput) String() string {
7185	return awsutil.Prettify(s)
7186}
7187
7188// GoString returns the string representation
7189func (s DescribeSimulationJobOutput) GoString() string {
7190	return s.String()
7191}
7192
7193// SetArn sets the Arn field's value.
7194func (s *DescribeSimulationJobOutput) SetArn(v string) *DescribeSimulationJobOutput {
7195	s.Arn = &v
7196	return s
7197}
7198
7199// SetClientRequestToken sets the ClientRequestToken field's value.
7200func (s *DescribeSimulationJobOutput) SetClientRequestToken(v string) *DescribeSimulationJobOutput {
7201	s.ClientRequestToken = &v
7202	return s
7203}
7204
7205// SetDataSources sets the DataSources field's value.
7206func (s *DescribeSimulationJobOutput) SetDataSources(v []*DataSource) *DescribeSimulationJobOutput {
7207	s.DataSources = v
7208	return s
7209}
7210
7211// SetFailureBehavior sets the FailureBehavior field's value.
7212func (s *DescribeSimulationJobOutput) SetFailureBehavior(v string) *DescribeSimulationJobOutput {
7213	s.FailureBehavior = &v
7214	return s
7215}
7216
7217// SetFailureCode sets the FailureCode field's value.
7218func (s *DescribeSimulationJobOutput) SetFailureCode(v string) *DescribeSimulationJobOutput {
7219	s.FailureCode = &v
7220	return s
7221}
7222
7223// SetFailureReason sets the FailureReason field's value.
7224func (s *DescribeSimulationJobOutput) SetFailureReason(v string) *DescribeSimulationJobOutput {
7225	s.FailureReason = &v
7226	return s
7227}
7228
7229// SetIamRole sets the IamRole field's value.
7230func (s *DescribeSimulationJobOutput) SetIamRole(v string) *DescribeSimulationJobOutput {
7231	s.IamRole = &v
7232	return s
7233}
7234
7235// SetLastStartedAt sets the LastStartedAt field's value.
7236func (s *DescribeSimulationJobOutput) SetLastStartedAt(v time.Time) *DescribeSimulationJobOutput {
7237	s.LastStartedAt = &v
7238	return s
7239}
7240
7241// SetLastUpdatedAt sets the LastUpdatedAt field's value.
7242func (s *DescribeSimulationJobOutput) SetLastUpdatedAt(v time.Time) *DescribeSimulationJobOutput {
7243	s.LastUpdatedAt = &v
7244	return s
7245}
7246
7247// SetLoggingConfig sets the LoggingConfig field's value.
7248func (s *DescribeSimulationJobOutput) SetLoggingConfig(v *LoggingConfig) *DescribeSimulationJobOutput {
7249	s.LoggingConfig = v
7250	return s
7251}
7252
7253// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
7254func (s *DescribeSimulationJobOutput) SetMaxJobDurationInSeconds(v int64) *DescribeSimulationJobOutput {
7255	s.MaxJobDurationInSeconds = &v
7256	return s
7257}
7258
7259// SetName sets the Name field's value.
7260func (s *DescribeSimulationJobOutput) SetName(v string) *DescribeSimulationJobOutput {
7261	s.Name = &v
7262	return s
7263}
7264
7265// SetNetworkInterface sets the NetworkInterface field's value.
7266func (s *DescribeSimulationJobOutput) SetNetworkInterface(v *NetworkInterface) *DescribeSimulationJobOutput {
7267	s.NetworkInterface = v
7268	return s
7269}
7270
7271// SetOutputLocation sets the OutputLocation field's value.
7272func (s *DescribeSimulationJobOutput) SetOutputLocation(v *OutputLocation) *DescribeSimulationJobOutput {
7273	s.OutputLocation = v
7274	return s
7275}
7276
7277// SetRobotApplications sets the RobotApplications field's value.
7278func (s *DescribeSimulationJobOutput) SetRobotApplications(v []*RobotApplicationConfig) *DescribeSimulationJobOutput {
7279	s.RobotApplications = v
7280	return s
7281}
7282
7283// SetSimulationApplications sets the SimulationApplications field's value.
7284func (s *DescribeSimulationJobOutput) SetSimulationApplications(v []*SimulationApplicationConfig) *DescribeSimulationJobOutput {
7285	s.SimulationApplications = v
7286	return s
7287}
7288
7289// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
7290func (s *DescribeSimulationJobOutput) SetSimulationTimeMillis(v int64) *DescribeSimulationJobOutput {
7291	s.SimulationTimeMillis = &v
7292	return s
7293}
7294
7295// SetStatus sets the Status field's value.
7296func (s *DescribeSimulationJobOutput) SetStatus(v string) *DescribeSimulationJobOutput {
7297	s.Status = &v
7298	return s
7299}
7300
7301// SetTags sets the Tags field's value.
7302func (s *DescribeSimulationJobOutput) SetTags(v map[string]*string) *DescribeSimulationJobOutput {
7303	s.Tags = v
7304	return s
7305}
7306
7307// SetVpcConfig sets the VpcConfig field's value.
7308func (s *DescribeSimulationJobOutput) SetVpcConfig(v *VPCConfigResponse) *DescribeSimulationJobOutput {
7309	s.VpcConfig = v
7310	return s
7311}
7312
7313// Information about a filter.
7314type Filter struct {
7315	_ struct{} `type:"structure"`
7316
7317	// The name of the filter.
7318	Name *string `locationName:"name" min:"1" type:"string"`
7319
7320	// A list of values.
7321	Values []*string `locationName:"values" min:"1" type:"list"`
7322}
7323
7324// String returns the string representation
7325func (s Filter) String() string {
7326	return awsutil.Prettify(s)
7327}
7328
7329// GoString returns the string representation
7330func (s Filter) GoString() string {
7331	return s.String()
7332}
7333
7334// Validate inspects the fields of the type to determine if they are valid.
7335func (s *Filter) Validate() error {
7336	invalidParams := request.ErrInvalidParams{Context: "Filter"}
7337	if s.Name != nil && len(*s.Name) < 1 {
7338		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7339	}
7340	if s.Values != nil && len(s.Values) < 1 {
7341		invalidParams.Add(request.NewErrParamMinLen("Values", 1))
7342	}
7343
7344	if invalidParams.Len() > 0 {
7345		return invalidParams
7346	}
7347	return nil
7348}
7349
7350// SetName sets the Name field's value.
7351func (s *Filter) SetName(v string) *Filter {
7352	s.Name = &v
7353	return s
7354}
7355
7356// SetValues sets the Values field's value.
7357func (s *Filter) SetValues(v []*string) *Filter {
7358	s.Values = v
7359	return s
7360}
7361
7362// Information about a fleet.
7363type Fleet struct {
7364	_ struct{} `type:"structure"`
7365
7366	// The Amazon Resource Name (ARN) of the fleet.
7367	Arn *string `locationName:"arn" min:"1" type:"string"`
7368
7369	// The time, in milliseconds since the epoch, when the fleet was created.
7370	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
7371
7372	// The Amazon Resource Name (ARN) of the last deployment job.
7373	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
7374
7375	// The status of the last fleet deployment.
7376	LastDeploymentStatus *string `locationName:"lastDeploymentStatus" type:"string" enum:"DeploymentStatus"`
7377
7378	// The time of the last deployment.
7379	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
7380
7381	// The name of the fleet.
7382	Name *string `locationName:"name" min:"1" type:"string"`
7383}
7384
7385// String returns the string representation
7386func (s Fleet) String() string {
7387	return awsutil.Prettify(s)
7388}
7389
7390// GoString returns the string representation
7391func (s Fleet) GoString() string {
7392	return s.String()
7393}
7394
7395// SetArn sets the Arn field's value.
7396func (s *Fleet) SetArn(v string) *Fleet {
7397	s.Arn = &v
7398	return s
7399}
7400
7401// SetCreatedAt sets the CreatedAt field's value.
7402func (s *Fleet) SetCreatedAt(v time.Time) *Fleet {
7403	s.CreatedAt = &v
7404	return s
7405}
7406
7407// SetLastDeploymentJob sets the LastDeploymentJob field's value.
7408func (s *Fleet) SetLastDeploymentJob(v string) *Fleet {
7409	s.LastDeploymentJob = &v
7410	return s
7411}
7412
7413// SetLastDeploymentStatus sets the LastDeploymentStatus field's value.
7414func (s *Fleet) SetLastDeploymentStatus(v string) *Fleet {
7415	s.LastDeploymentStatus = &v
7416	return s
7417}
7418
7419// SetLastDeploymentTime sets the LastDeploymentTime field's value.
7420func (s *Fleet) SetLastDeploymentTime(v time.Time) *Fleet {
7421	s.LastDeploymentTime = &v
7422	return s
7423}
7424
7425// SetName sets the Name field's value.
7426func (s *Fleet) SetName(v string) *Fleet {
7427	s.Name = &v
7428	return s
7429}
7430
7431// Information about a launch configuration.
7432type LaunchConfig struct {
7433	_ struct{} `type:"structure"`
7434
7435	// The environment variables for the application launch.
7436	EnvironmentVariables map[string]*string `locationName:"environmentVariables" type:"map"`
7437
7438	// The launch file name.
7439	//
7440	// LaunchFile is a required field
7441	LaunchFile *string `locationName:"launchFile" min:"1" type:"string" required:"true"`
7442
7443	// The package name.
7444	//
7445	// PackageName is a required field
7446	PackageName *string `locationName:"packageName" min:"1" type:"string" required:"true"`
7447
7448	// The port forwarding configuration.
7449	PortForwardingConfig *PortForwardingConfig `locationName:"portForwardingConfig" type:"structure"`
7450}
7451
7452// String returns the string representation
7453func (s LaunchConfig) String() string {
7454	return awsutil.Prettify(s)
7455}
7456
7457// GoString returns the string representation
7458func (s LaunchConfig) GoString() string {
7459	return s.String()
7460}
7461
7462// Validate inspects the fields of the type to determine if they are valid.
7463func (s *LaunchConfig) Validate() error {
7464	invalidParams := request.ErrInvalidParams{Context: "LaunchConfig"}
7465	if s.LaunchFile == nil {
7466		invalidParams.Add(request.NewErrParamRequired("LaunchFile"))
7467	}
7468	if s.LaunchFile != nil && len(*s.LaunchFile) < 1 {
7469		invalidParams.Add(request.NewErrParamMinLen("LaunchFile", 1))
7470	}
7471	if s.PackageName == nil {
7472		invalidParams.Add(request.NewErrParamRequired("PackageName"))
7473	}
7474	if s.PackageName != nil && len(*s.PackageName) < 1 {
7475		invalidParams.Add(request.NewErrParamMinLen("PackageName", 1))
7476	}
7477	if s.PortForwardingConfig != nil {
7478		if err := s.PortForwardingConfig.Validate(); err != nil {
7479			invalidParams.AddNested("PortForwardingConfig", err.(request.ErrInvalidParams))
7480		}
7481	}
7482
7483	if invalidParams.Len() > 0 {
7484		return invalidParams
7485	}
7486	return nil
7487}
7488
7489// SetEnvironmentVariables sets the EnvironmentVariables field's value.
7490func (s *LaunchConfig) SetEnvironmentVariables(v map[string]*string) *LaunchConfig {
7491	s.EnvironmentVariables = v
7492	return s
7493}
7494
7495// SetLaunchFile sets the LaunchFile field's value.
7496func (s *LaunchConfig) SetLaunchFile(v string) *LaunchConfig {
7497	s.LaunchFile = &v
7498	return s
7499}
7500
7501// SetPackageName sets the PackageName field's value.
7502func (s *LaunchConfig) SetPackageName(v string) *LaunchConfig {
7503	s.PackageName = &v
7504	return s
7505}
7506
7507// SetPortForwardingConfig sets the PortForwardingConfig field's value.
7508func (s *LaunchConfig) SetPortForwardingConfig(v *PortForwardingConfig) *LaunchConfig {
7509	s.PortForwardingConfig = v
7510	return s
7511}
7512
7513type ListDeploymentJobsInput struct {
7514	_ struct{} `type:"structure"`
7515
7516	// Optional filters to limit results.
7517	//
7518	// The filter names status and fleetName are supported. When filtering, you
7519	// must use the complete value of the filtered item. You can use up to three
7520	// filters, but they must be for the same named item. For example, if you are
7521	// looking for items with the status InProgress or the status Pending.
7522	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
7523
7524	// The maximum number of deployment job results returned by ListDeploymentJobs
7525	// in paginated output. When this parameter is used, ListDeploymentJobs only
7526	// returns maxResults results in a single page along with a nextToken response
7527	// element. The remaining results of the initial request can be seen by sending
7528	// another ListDeploymentJobs request with the returned nextToken value. This
7529	// value can be between 1 and 100. If this parameter is not used, then ListDeploymentJobs
7530	// returns up to 100 results and a nextToken value if applicable.
7531	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7532
7533	// The nextToken value returned from a previous paginated ListDeploymentJobs
7534	// request where maxResults was used and the results exceeded the value of that
7535	// parameter. Pagination continues from the end of the previous results that
7536	// returned the nextToken value.
7537	//
7538	// This token should be treated as an opaque identifier that is only used to
7539	// retrieve the next items in a list and not for other programmatic purposes.
7540	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7541}
7542
7543// String returns the string representation
7544func (s ListDeploymentJobsInput) String() string {
7545	return awsutil.Prettify(s)
7546}
7547
7548// GoString returns the string representation
7549func (s ListDeploymentJobsInput) GoString() string {
7550	return s.String()
7551}
7552
7553// Validate inspects the fields of the type to determine if they are valid.
7554func (s *ListDeploymentJobsInput) Validate() error {
7555	invalidParams := request.ErrInvalidParams{Context: "ListDeploymentJobsInput"}
7556	if s.Filters != nil && len(s.Filters) < 1 {
7557		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
7558	}
7559	if s.NextToken != nil && len(*s.NextToken) < 1 {
7560		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7561	}
7562	if s.Filters != nil {
7563		for i, v := range s.Filters {
7564			if v == nil {
7565				continue
7566			}
7567			if err := v.Validate(); err != nil {
7568				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7569			}
7570		}
7571	}
7572
7573	if invalidParams.Len() > 0 {
7574		return invalidParams
7575	}
7576	return nil
7577}
7578
7579// SetFilters sets the Filters field's value.
7580func (s *ListDeploymentJobsInput) SetFilters(v []*Filter) *ListDeploymentJobsInput {
7581	s.Filters = v
7582	return s
7583}
7584
7585// SetMaxResults sets the MaxResults field's value.
7586func (s *ListDeploymentJobsInput) SetMaxResults(v int64) *ListDeploymentJobsInput {
7587	s.MaxResults = &v
7588	return s
7589}
7590
7591// SetNextToken sets the NextToken field's value.
7592func (s *ListDeploymentJobsInput) SetNextToken(v string) *ListDeploymentJobsInput {
7593	s.NextToken = &v
7594	return s
7595}
7596
7597type ListDeploymentJobsOutput struct {
7598	_ struct{} `type:"structure"`
7599
7600	// A list of deployment jobs that meet the criteria of the request.
7601	DeploymentJobs []*DeploymentJob `locationName:"deploymentJobs" type:"list"`
7602
7603	// The nextToken value to include in a future ListDeploymentJobs request. When
7604	// the results of a ListDeploymentJobs request exceed maxResults, this value
7605	// can be used to retrieve the next page of results. This value is null when
7606	// there are no more results to return.
7607	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7608}
7609
7610// String returns the string representation
7611func (s ListDeploymentJobsOutput) String() string {
7612	return awsutil.Prettify(s)
7613}
7614
7615// GoString returns the string representation
7616func (s ListDeploymentJobsOutput) GoString() string {
7617	return s.String()
7618}
7619
7620// SetDeploymentJobs sets the DeploymentJobs field's value.
7621func (s *ListDeploymentJobsOutput) SetDeploymentJobs(v []*DeploymentJob) *ListDeploymentJobsOutput {
7622	s.DeploymentJobs = v
7623	return s
7624}
7625
7626// SetNextToken sets the NextToken field's value.
7627func (s *ListDeploymentJobsOutput) SetNextToken(v string) *ListDeploymentJobsOutput {
7628	s.NextToken = &v
7629	return s
7630}
7631
7632type ListFleetsInput struct {
7633	_ struct{} `type:"structure"`
7634
7635	// Optional filters to limit results.
7636	//
7637	// The filter name name is supported. When filtering, you must use the complete
7638	// value of the filtered item. You can use up to three filters.
7639	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
7640
7641	// The maximum number of deployment job results returned by ListFleets in paginated
7642	// output. When this parameter is used, ListFleets only returns maxResults results
7643	// in a single page along with a nextToken response element. The remaining results
7644	// of the initial request can be seen by sending another ListFleets request
7645	// with the returned nextToken value. This value can be between 1 and 100. If
7646	// this parameter is not used, then ListFleets returns up to 100 results and
7647	// a nextToken value if applicable.
7648	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7649
7650	// The nextToken value returned from a previous paginated ListFleets request
7651	// where maxResults was used and the results exceeded the value of that parameter.
7652	// Pagination continues from the end of the previous results that returned the
7653	// nextToken value.
7654	//
7655	// This token should be treated as an opaque identifier that is only used to
7656	// retrieve the next items in a list and not for other programmatic purposes.
7657	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7658}
7659
7660// String returns the string representation
7661func (s ListFleetsInput) String() string {
7662	return awsutil.Prettify(s)
7663}
7664
7665// GoString returns the string representation
7666func (s ListFleetsInput) GoString() string {
7667	return s.String()
7668}
7669
7670// Validate inspects the fields of the type to determine if they are valid.
7671func (s *ListFleetsInput) Validate() error {
7672	invalidParams := request.ErrInvalidParams{Context: "ListFleetsInput"}
7673	if s.Filters != nil && len(s.Filters) < 1 {
7674		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
7675	}
7676	if s.NextToken != nil && len(*s.NextToken) < 1 {
7677		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7678	}
7679	if s.Filters != nil {
7680		for i, v := range s.Filters {
7681			if v == nil {
7682				continue
7683			}
7684			if err := v.Validate(); err != nil {
7685				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7686			}
7687		}
7688	}
7689
7690	if invalidParams.Len() > 0 {
7691		return invalidParams
7692	}
7693	return nil
7694}
7695
7696// SetFilters sets the Filters field's value.
7697func (s *ListFleetsInput) SetFilters(v []*Filter) *ListFleetsInput {
7698	s.Filters = v
7699	return s
7700}
7701
7702// SetMaxResults sets the MaxResults field's value.
7703func (s *ListFleetsInput) SetMaxResults(v int64) *ListFleetsInput {
7704	s.MaxResults = &v
7705	return s
7706}
7707
7708// SetNextToken sets the NextToken field's value.
7709func (s *ListFleetsInput) SetNextToken(v string) *ListFleetsInput {
7710	s.NextToken = &v
7711	return s
7712}
7713
7714type ListFleetsOutput struct {
7715	_ struct{} `type:"structure"`
7716
7717	// A list of fleet details meeting the request criteria.
7718	FleetDetails []*Fleet `locationName:"fleetDetails" type:"list"`
7719
7720	// The nextToken value to include in a future ListDeploymentJobs request. When
7721	// the results of a ListFleets request exceed maxResults, this value can be
7722	// used to retrieve the next page of results. This value is null when there
7723	// are no more results to return.
7724	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7725}
7726
7727// String returns the string representation
7728func (s ListFleetsOutput) String() string {
7729	return awsutil.Prettify(s)
7730}
7731
7732// GoString returns the string representation
7733func (s ListFleetsOutput) GoString() string {
7734	return s.String()
7735}
7736
7737// SetFleetDetails sets the FleetDetails field's value.
7738func (s *ListFleetsOutput) SetFleetDetails(v []*Fleet) *ListFleetsOutput {
7739	s.FleetDetails = v
7740	return s
7741}
7742
7743// SetNextToken sets the NextToken field's value.
7744func (s *ListFleetsOutput) SetNextToken(v string) *ListFleetsOutput {
7745	s.NextToken = &v
7746	return s
7747}
7748
7749type ListRobotApplicationsInput struct {
7750	_ struct{} `type:"structure"`
7751
7752	// Optional filters to limit results.
7753	//
7754	// The filter name name is supported. When filtering, you must use the complete
7755	// value of the filtered item. You can use up to three filters.
7756	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
7757
7758	// The maximum number of deployment job results returned by ListRobotApplications
7759	// in paginated output. When this parameter is used, ListRobotApplications only
7760	// returns maxResults results in a single page along with a nextToken response
7761	// element. The remaining results of the initial request can be seen by sending
7762	// another ListRobotApplications request with the returned nextToken value.
7763	// This value can be between 1 and 100. If this parameter is not used, then
7764	// ListRobotApplications returns up to 100 results and a nextToken value if
7765	// applicable.
7766	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7767
7768	// The nextToken value returned from a previous paginated ListRobotApplications
7769	// request where maxResults was used and the results exceeded the value of that
7770	// parameter. Pagination continues from the end of the previous results that
7771	// returned the nextToken value.
7772	//
7773	// This token should be treated as an opaque identifier that is only used to
7774	// retrieve the next items in a list and not for other programmatic purposes.
7775	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7776
7777	// The version qualifier of the robot application.
7778	VersionQualifier *string `locationName:"versionQualifier" type:"string"`
7779}
7780
7781// String returns the string representation
7782func (s ListRobotApplicationsInput) String() string {
7783	return awsutil.Prettify(s)
7784}
7785
7786// GoString returns the string representation
7787func (s ListRobotApplicationsInput) GoString() string {
7788	return s.String()
7789}
7790
7791// Validate inspects the fields of the type to determine if they are valid.
7792func (s *ListRobotApplicationsInput) Validate() error {
7793	invalidParams := request.ErrInvalidParams{Context: "ListRobotApplicationsInput"}
7794	if s.Filters != nil && len(s.Filters) < 1 {
7795		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
7796	}
7797	if s.NextToken != nil && len(*s.NextToken) < 1 {
7798		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7799	}
7800	if s.Filters != nil {
7801		for i, v := range s.Filters {
7802			if v == nil {
7803				continue
7804			}
7805			if err := v.Validate(); err != nil {
7806				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7807			}
7808		}
7809	}
7810
7811	if invalidParams.Len() > 0 {
7812		return invalidParams
7813	}
7814	return nil
7815}
7816
7817// SetFilters sets the Filters field's value.
7818func (s *ListRobotApplicationsInput) SetFilters(v []*Filter) *ListRobotApplicationsInput {
7819	s.Filters = v
7820	return s
7821}
7822
7823// SetMaxResults sets the MaxResults field's value.
7824func (s *ListRobotApplicationsInput) SetMaxResults(v int64) *ListRobotApplicationsInput {
7825	s.MaxResults = &v
7826	return s
7827}
7828
7829// SetNextToken sets the NextToken field's value.
7830func (s *ListRobotApplicationsInput) SetNextToken(v string) *ListRobotApplicationsInput {
7831	s.NextToken = &v
7832	return s
7833}
7834
7835// SetVersionQualifier sets the VersionQualifier field's value.
7836func (s *ListRobotApplicationsInput) SetVersionQualifier(v string) *ListRobotApplicationsInput {
7837	s.VersionQualifier = &v
7838	return s
7839}
7840
7841type ListRobotApplicationsOutput struct {
7842	_ struct{} `type:"structure"`
7843
7844	// The nextToken value to include in a future ListRobotApplications request.
7845	// When the results of a ListRobotApplications request exceed maxResults, this
7846	// value can be used to retrieve the next page of results. This value is null
7847	// when there are no more results to return.
7848	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7849
7850	// A list of robot application summaries that meet the criteria of the request.
7851	RobotApplicationSummaries []*RobotApplicationSummary `locationName:"robotApplicationSummaries" type:"list"`
7852}
7853
7854// String returns the string representation
7855func (s ListRobotApplicationsOutput) String() string {
7856	return awsutil.Prettify(s)
7857}
7858
7859// GoString returns the string representation
7860func (s ListRobotApplicationsOutput) GoString() string {
7861	return s.String()
7862}
7863
7864// SetNextToken sets the NextToken field's value.
7865func (s *ListRobotApplicationsOutput) SetNextToken(v string) *ListRobotApplicationsOutput {
7866	s.NextToken = &v
7867	return s
7868}
7869
7870// SetRobotApplicationSummaries sets the RobotApplicationSummaries field's value.
7871func (s *ListRobotApplicationsOutput) SetRobotApplicationSummaries(v []*RobotApplicationSummary) *ListRobotApplicationsOutput {
7872	s.RobotApplicationSummaries = v
7873	return s
7874}
7875
7876type ListRobotsInput struct {
7877	_ struct{} `type:"structure"`
7878
7879	// Optional filters to limit results.
7880	//
7881	// The filter names status and fleetName are supported. When filtering, you
7882	// must use the complete value of the filtered item. You can use up to three
7883	// filters, but they must be for the same named item. For example, if you are
7884	// looking for items with the status Registered or the status Available.
7885	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
7886
7887	// The maximum number of deployment job results returned by ListRobots in paginated
7888	// output. When this parameter is used, ListRobots only returns maxResults results
7889	// in a single page along with a nextToken response element. The remaining results
7890	// of the initial request can be seen by sending another ListRobots request
7891	// with the returned nextToken value. This value can be between 1 and 100. If
7892	// this parameter is not used, then ListRobots returns up to 100 results and
7893	// a nextToken value if applicable.
7894	MaxResults *int64 `locationName:"maxResults" type:"integer"`
7895
7896	// The nextToken value returned from a previous paginated ListRobots request
7897	// where maxResults was used and the results exceeded the value of that parameter.
7898	// Pagination continues from the end of the previous results that returned the
7899	// nextToken value.
7900	//
7901	// This token should be treated as an opaque identifier that is only used to
7902	// retrieve the next items in a list and not for other programmatic purposes.
7903	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7904}
7905
7906// String returns the string representation
7907func (s ListRobotsInput) String() string {
7908	return awsutil.Prettify(s)
7909}
7910
7911// GoString returns the string representation
7912func (s ListRobotsInput) GoString() string {
7913	return s.String()
7914}
7915
7916// Validate inspects the fields of the type to determine if they are valid.
7917func (s *ListRobotsInput) Validate() error {
7918	invalidParams := request.ErrInvalidParams{Context: "ListRobotsInput"}
7919	if s.Filters != nil && len(s.Filters) < 1 {
7920		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
7921	}
7922	if s.NextToken != nil && len(*s.NextToken) < 1 {
7923		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
7924	}
7925	if s.Filters != nil {
7926		for i, v := range s.Filters {
7927			if v == nil {
7928				continue
7929			}
7930			if err := v.Validate(); err != nil {
7931				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
7932			}
7933		}
7934	}
7935
7936	if invalidParams.Len() > 0 {
7937		return invalidParams
7938	}
7939	return nil
7940}
7941
7942// SetFilters sets the Filters field's value.
7943func (s *ListRobotsInput) SetFilters(v []*Filter) *ListRobotsInput {
7944	s.Filters = v
7945	return s
7946}
7947
7948// SetMaxResults sets the MaxResults field's value.
7949func (s *ListRobotsInput) SetMaxResults(v int64) *ListRobotsInput {
7950	s.MaxResults = &v
7951	return s
7952}
7953
7954// SetNextToken sets the NextToken field's value.
7955func (s *ListRobotsInput) SetNextToken(v string) *ListRobotsInput {
7956	s.NextToken = &v
7957	return s
7958}
7959
7960type ListRobotsOutput struct {
7961	_ struct{} `type:"structure"`
7962
7963	// The nextToken value to include in a future ListRobots request. When the results
7964	// of a ListRobot request exceed maxResults, this value can be used to retrieve
7965	// the next page of results. This value is null when there are no more results
7966	// to return.
7967	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
7968
7969	// A list of robots that meet the criteria of the request.
7970	Robots []*Robot `locationName:"robots" type:"list"`
7971}
7972
7973// String returns the string representation
7974func (s ListRobotsOutput) String() string {
7975	return awsutil.Prettify(s)
7976}
7977
7978// GoString returns the string representation
7979func (s ListRobotsOutput) GoString() string {
7980	return s.String()
7981}
7982
7983// SetNextToken sets the NextToken field's value.
7984func (s *ListRobotsOutput) SetNextToken(v string) *ListRobotsOutput {
7985	s.NextToken = &v
7986	return s
7987}
7988
7989// SetRobots sets the Robots field's value.
7990func (s *ListRobotsOutput) SetRobots(v []*Robot) *ListRobotsOutput {
7991	s.Robots = v
7992	return s
7993}
7994
7995type ListSimulationApplicationsInput struct {
7996	_ struct{} `type:"structure"`
7997
7998	// Optional list of filters to limit results.
7999	//
8000	// The filter name name is supported. When filtering, you must use the complete
8001	// value of the filtered item. You can use up to three filters.
8002	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
8003
8004	// The maximum number of deployment job results returned by ListSimulationApplications
8005	// in paginated output. When this parameter is used, ListSimulationApplications
8006	// only returns maxResults results in a single page along with a nextToken response
8007	// element. The remaining results of the initial request can be seen by sending
8008	// another ListSimulationApplications request with the returned nextToken value.
8009	// This value can be between 1 and 100. If this parameter is not used, then
8010	// ListSimulationApplications returns up to 100 results and a nextToken value
8011	// if applicable.
8012	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8013
8014	// The nextToken value returned from a previous paginated ListSimulationApplications
8015	// request where maxResults was used and the results exceeded the value of that
8016	// parameter. Pagination continues from the end of the previous results that
8017	// returned the nextToken value.
8018	//
8019	// This token should be treated as an opaque identifier that is only used to
8020	// retrieve the next items in a list and not for other programmatic purposes.
8021	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8022
8023	// The version qualifier of the simulation application.
8024	VersionQualifier *string `locationName:"versionQualifier" type:"string"`
8025}
8026
8027// String returns the string representation
8028func (s ListSimulationApplicationsInput) String() string {
8029	return awsutil.Prettify(s)
8030}
8031
8032// GoString returns the string representation
8033func (s ListSimulationApplicationsInput) GoString() string {
8034	return s.String()
8035}
8036
8037// Validate inspects the fields of the type to determine if they are valid.
8038func (s *ListSimulationApplicationsInput) Validate() error {
8039	invalidParams := request.ErrInvalidParams{Context: "ListSimulationApplicationsInput"}
8040	if s.Filters != nil && len(s.Filters) < 1 {
8041		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
8042	}
8043	if s.NextToken != nil && len(*s.NextToken) < 1 {
8044		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8045	}
8046	if s.Filters != nil {
8047		for i, v := range s.Filters {
8048			if v == nil {
8049				continue
8050			}
8051			if err := v.Validate(); err != nil {
8052				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8053			}
8054		}
8055	}
8056
8057	if invalidParams.Len() > 0 {
8058		return invalidParams
8059	}
8060	return nil
8061}
8062
8063// SetFilters sets the Filters field's value.
8064func (s *ListSimulationApplicationsInput) SetFilters(v []*Filter) *ListSimulationApplicationsInput {
8065	s.Filters = v
8066	return s
8067}
8068
8069// SetMaxResults sets the MaxResults field's value.
8070func (s *ListSimulationApplicationsInput) SetMaxResults(v int64) *ListSimulationApplicationsInput {
8071	s.MaxResults = &v
8072	return s
8073}
8074
8075// SetNextToken sets the NextToken field's value.
8076func (s *ListSimulationApplicationsInput) SetNextToken(v string) *ListSimulationApplicationsInput {
8077	s.NextToken = &v
8078	return s
8079}
8080
8081// SetVersionQualifier sets the VersionQualifier field's value.
8082func (s *ListSimulationApplicationsInput) SetVersionQualifier(v string) *ListSimulationApplicationsInput {
8083	s.VersionQualifier = &v
8084	return s
8085}
8086
8087type ListSimulationApplicationsOutput struct {
8088	_ struct{} `type:"structure"`
8089
8090	// The nextToken value to include in a future ListSimulationApplications request.
8091	// When the results of a ListRobot request exceed maxResults, this value can
8092	// be used to retrieve the next page of results. This value is null when there
8093	// are no more results to return.
8094	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8095
8096	// A list of simulation application summaries that meet the criteria of the
8097	// request.
8098	SimulationApplicationSummaries []*SimulationApplicationSummary `locationName:"simulationApplicationSummaries" type:"list"`
8099}
8100
8101// String returns the string representation
8102func (s ListSimulationApplicationsOutput) String() string {
8103	return awsutil.Prettify(s)
8104}
8105
8106// GoString returns the string representation
8107func (s ListSimulationApplicationsOutput) GoString() string {
8108	return s.String()
8109}
8110
8111// SetNextToken sets the NextToken field's value.
8112func (s *ListSimulationApplicationsOutput) SetNextToken(v string) *ListSimulationApplicationsOutput {
8113	s.NextToken = &v
8114	return s
8115}
8116
8117// SetSimulationApplicationSummaries sets the SimulationApplicationSummaries field's value.
8118func (s *ListSimulationApplicationsOutput) SetSimulationApplicationSummaries(v []*SimulationApplicationSummary) *ListSimulationApplicationsOutput {
8119	s.SimulationApplicationSummaries = v
8120	return s
8121}
8122
8123type ListSimulationJobsInput struct {
8124	_ struct{} `type:"structure"`
8125
8126	// Optional filters to limit results.
8127	//
8128	// The filter names status and simulationApplicationName and robotApplicationName
8129	// are supported. When filtering, you must use the complete value of the filtered
8130	// item. You can use up to three filters, but they must be for the same named
8131	// item. For example, if you are looking for items with the status Preparing
8132	// or the status Running.
8133	Filters []*Filter `locationName:"filters" min:"1" type:"list"`
8134
8135	// The maximum number of deployment job results returned by ListSimulationJobs
8136	// in paginated output. When this parameter is used, ListSimulationJobs only
8137	// returns maxResults results in a single page along with a nextToken response
8138	// element. The remaining results of the initial request can be seen by sending
8139	// another ListSimulationJobs request with the returned nextToken value. This
8140	// value can be between 1 and 100. If this parameter is not used, then ListSimulationJobs
8141	// returns up to 100 results and a nextToken value if applicable.
8142	MaxResults *int64 `locationName:"maxResults" type:"integer"`
8143
8144	// The nextToken value returned from a previous paginated ListSimulationJobs
8145	// request where maxResults was used and the results exceeded the value of that
8146	// parameter. Pagination continues from the end of the previous results that
8147	// returned the nextToken value.
8148	//
8149	// This token should be treated as an opaque identifier that is only used to
8150	// retrieve the next items in a list and not for other programmatic purposes.
8151	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8152}
8153
8154// String returns the string representation
8155func (s ListSimulationJobsInput) String() string {
8156	return awsutil.Prettify(s)
8157}
8158
8159// GoString returns the string representation
8160func (s ListSimulationJobsInput) GoString() string {
8161	return s.String()
8162}
8163
8164// Validate inspects the fields of the type to determine if they are valid.
8165func (s *ListSimulationJobsInput) Validate() error {
8166	invalidParams := request.ErrInvalidParams{Context: "ListSimulationJobsInput"}
8167	if s.Filters != nil && len(s.Filters) < 1 {
8168		invalidParams.Add(request.NewErrParamMinLen("Filters", 1))
8169	}
8170	if s.NextToken != nil && len(*s.NextToken) < 1 {
8171		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
8172	}
8173	if s.Filters != nil {
8174		for i, v := range s.Filters {
8175			if v == nil {
8176				continue
8177			}
8178			if err := v.Validate(); err != nil {
8179				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
8180			}
8181		}
8182	}
8183
8184	if invalidParams.Len() > 0 {
8185		return invalidParams
8186	}
8187	return nil
8188}
8189
8190// SetFilters sets the Filters field's value.
8191func (s *ListSimulationJobsInput) SetFilters(v []*Filter) *ListSimulationJobsInput {
8192	s.Filters = v
8193	return s
8194}
8195
8196// SetMaxResults sets the MaxResults field's value.
8197func (s *ListSimulationJobsInput) SetMaxResults(v int64) *ListSimulationJobsInput {
8198	s.MaxResults = &v
8199	return s
8200}
8201
8202// SetNextToken sets the NextToken field's value.
8203func (s *ListSimulationJobsInput) SetNextToken(v string) *ListSimulationJobsInput {
8204	s.NextToken = &v
8205	return s
8206}
8207
8208type ListSimulationJobsOutput struct {
8209	_ struct{} `type:"structure"`
8210
8211	// The nextToken value to include in a future ListSimulationJobs request. When
8212	// the results of a ListRobot request exceed maxResults, this value can be used
8213	// to retrieve the next page of results. This value is null when there are no
8214	// more results to return.
8215	NextToken *string `locationName:"nextToken" min:"1" type:"string"`
8216
8217	// A list of simulation job summaries that meet the criteria of the request.
8218	//
8219	// SimulationJobSummaries is a required field
8220	SimulationJobSummaries []*SimulationJobSummary `locationName:"simulationJobSummaries" type:"list" required:"true"`
8221}
8222
8223// String returns the string representation
8224func (s ListSimulationJobsOutput) String() string {
8225	return awsutil.Prettify(s)
8226}
8227
8228// GoString returns the string representation
8229func (s ListSimulationJobsOutput) GoString() string {
8230	return s.String()
8231}
8232
8233// SetNextToken sets the NextToken field's value.
8234func (s *ListSimulationJobsOutput) SetNextToken(v string) *ListSimulationJobsOutput {
8235	s.NextToken = &v
8236	return s
8237}
8238
8239// SetSimulationJobSummaries sets the SimulationJobSummaries field's value.
8240func (s *ListSimulationJobsOutput) SetSimulationJobSummaries(v []*SimulationJobSummary) *ListSimulationJobsOutput {
8241	s.SimulationJobSummaries = v
8242	return s
8243}
8244
8245type ListTagsForResourceInput struct {
8246	_ struct{} `type:"structure"`
8247
8248	// The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.
8249	//
8250	// ResourceArn is a required field
8251	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
8252}
8253
8254// String returns the string representation
8255func (s ListTagsForResourceInput) String() string {
8256	return awsutil.Prettify(s)
8257}
8258
8259// GoString returns the string representation
8260func (s ListTagsForResourceInput) GoString() string {
8261	return s.String()
8262}
8263
8264// Validate inspects the fields of the type to determine if they are valid.
8265func (s *ListTagsForResourceInput) Validate() error {
8266	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8267	if s.ResourceArn == nil {
8268		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8269	}
8270	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8271		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8272	}
8273
8274	if invalidParams.Len() > 0 {
8275		return invalidParams
8276	}
8277	return nil
8278}
8279
8280// SetResourceArn sets the ResourceArn field's value.
8281func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8282	s.ResourceArn = &v
8283	return s
8284}
8285
8286type ListTagsForResourceOutput struct {
8287	_ struct{} `type:"structure"`
8288
8289	// The list of all tags added to the specified resource.
8290	Tags map[string]*string `locationName:"tags" type:"map"`
8291}
8292
8293// String returns the string representation
8294func (s ListTagsForResourceOutput) String() string {
8295	return awsutil.Prettify(s)
8296}
8297
8298// GoString returns the string representation
8299func (s ListTagsForResourceOutput) GoString() string {
8300	return s.String()
8301}
8302
8303// SetTags sets the Tags field's value.
8304func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
8305	s.Tags = v
8306	return s
8307}
8308
8309// The logging configuration.
8310type LoggingConfig struct {
8311	_ struct{} `type:"structure"`
8312
8313	// A boolean indicating whether to record all ROS topics.
8314	//
8315	// RecordAllRosTopics is a required field
8316	RecordAllRosTopics *bool `locationName:"recordAllRosTopics" type:"boolean" required:"true"`
8317}
8318
8319// String returns the string representation
8320func (s LoggingConfig) String() string {
8321	return awsutil.Prettify(s)
8322}
8323
8324// GoString returns the string representation
8325func (s LoggingConfig) GoString() string {
8326	return s.String()
8327}
8328
8329// Validate inspects the fields of the type to determine if they are valid.
8330func (s *LoggingConfig) Validate() error {
8331	invalidParams := request.ErrInvalidParams{Context: "LoggingConfig"}
8332	if s.RecordAllRosTopics == nil {
8333		invalidParams.Add(request.NewErrParamRequired("RecordAllRosTopics"))
8334	}
8335
8336	if invalidParams.Len() > 0 {
8337		return invalidParams
8338	}
8339	return nil
8340}
8341
8342// SetRecordAllRosTopics sets the RecordAllRosTopics field's value.
8343func (s *LoggingConfig) SetRecordAllRosTopics(v bool) *LoggingConfig {
8344	s.RecordAllRosTopics = &v
8345	return s
8346}
8347
8348// Describes a network interface.
8349type NetworkInterface struct {
8350	_ struct{} `type:"structure"`
8351
8352	// The ID of the network interface.
8353	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
8354
8355	// The IPv4 address of the network interface within the subnet.
8356	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
8357
8358	// The IPv4 public address of the network interface.
8359	PublicIpAddress *string `locationName:"publicIpAddress" type:"string"`
8360}
8361
8362// String returns the string representation
8363func (s NetworkInterface) String() string {
8364	return awsutil.Prettify(s)
8365}
8366
8367// GoString returns the string representation
8368func (s NetworkInterface) GoString() string {
8369	return s.String()
8370}
8371
8372// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8373func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
8374	s.NetworkInterfaceId = &v
8375	return s
8376}
8377
8378// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8379func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
8380	s.PrivateIpAddress = &v
8381	return s
8382}
8383
8384// SetPublicIpAddress sets the PublicIpAddress field's value.
8385func (s *NetworkInterface) SetPublicIpAddress(v string) *NetworkInterface {
8386	s.PublicIpAddress = &v
8387	return s
8388}
8389
8390// The output location.
8391type OutputLocation struct {
8392	_ struct{} `type:"structure"`
8393
8394	// The S3 bucket for output.
8395	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
8396
8397	// The S3 folder in the s3Bucket where output files will be placed.
8398	S3Prefix *string `locationName:"s3Prefix" min:"1" type:"string"`
8399}
8400
8401// String returns the string representation
8402func (s OutputLocation) String() string {
8403	return awsutil.Prettify(s)
8404}
8405
8406// GoString returns the string representation
8407func (s OutputLocation) GoString() string {
8408	return s.String()
8409}
8410
8411// Validate inspects the fields of the type to determine if they are valid.
8412func (s *OutputLocation) Validate() error {
8413	invalidParams := request.ErrInvalidParams{Context: "OutputLocation"}
8414	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
8415		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
8416	}
8417	if s.S3Prefix != nil && len(*s.S3Prefix) < 1 {
8418		invalidParams.Add(request.NewErrParamMinLen("S3Prefix", 1))
8419	}
8420
8421	if invalidParams.Len() > 0 {
8422		return invalidParams
8423	}
8424	return nil
8425}
8426
8427// SetS3Bucket sets the S3Bucket field's value.
8428func (s *OutputLocation) SetS3Bucket(v string) *OutputLocation {
8429	s.S3Bucket = &v
8430	return s
8431}
8432
8433// SetS3Prefix sets the S3Prefix field's value.
8434func (s *OutputLocation) SetS3Prefix(v string) *OutputLocation {
8435	s.S3Prefix = &v
8436	return s
8437}
8438
8439// Configuration information for port forwarding.
8440type PortForwardingConfig struct {
8441	_ struct{} `type:"structure"`
8442
8443	// The port mappings for the configuration.
8444	PortMappings []*PortMapping `locationName:"portMappings" type:"list"`
8445}
8446
8447// String returns the string representation
8448func (s PortForwardingConfig) String() string {
8449	return awsutil.Prettify(s)
8450}
8451
8452// GoString returns the string representation
8453func (s PortForwardingConfig) GoString() string {
8454	return s.String()
8455}
8456
8457// Validate inspects the fields of the type to determine if they are valid.
8458func (s *PortForwardingConfig) Validate() error {
8459	invalidParams := request.ErrInvalidParams{Context: "PortForwardingConfig"}
8460	if s.PortMappings != nil {
8461		for i, v := range s.PortMappings {
8462			if v == nil {
8463				continue
8464			}
8465			if err := v.Validate(); err != nil {
8466				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PortMappings", i), err.(request.ErrInvalidParams))
8467			}
8468		}
8469	}
8470
8471	if invalidParams.Len() > 0 {
8472		return invalidParams
8473	}
8474	return nil
8475}
8476
8477// SetPortMappings sets the PortMappings field's value.
8478func (s *PortForwardingConfig) SetPortMappings(v []*PortMapping) *PortForwardingConfig {
8479	s.PortMappings = v
8480	return s
8481}
8482
8483// An object representing a port mapping.
8484type PortMapping struct {
8485	_ struct{} `type:"structure"`
8486
8487	// The port number on the application.
8488	//
8489	// ApplicationPort is a required field
8490	ApplicationPort *int64 `locationName:"applicationPort" min:"1024" type:"integer" required:"true"`
8491
8492	// A Boolean indicating whether to enable this port mapping on public IP.
8493	EnableOnPublicIp *bool `locationName:"enableOnPublicIp" type:"boolean"`
8494
8495	// The port number on the simulation job instance to use as a remote connection
8496	// point.
8497	//
8498	// JobPort is a required field
8499	JobPort *int64 `locationName:"jobPort" min:"1" type:"integer" required:"true"`
8500}
8501
8502// String returns the string representation
8503func (s PortMapping) String() string {
8504	return awsutil.Prettify(s)
8505}
8506
8507// GoString returns the string representation
8508func (s PortMapping) GoString() string {
8509	return s.String()
8510}
8511
8512// Validate inspects the fields of the type to determine if they are valid.
8513func (s *PortMapping) Validate() error {
8514	invalidParams := request.ErrInvalidParams{Context: "PortMapping"}
8515	if s.ApplicationPort == nil {
8516		invalidParams.Add(request.NewErrParamRequired("ApplicationPort"))
8517	}
8518	if s.ApplicationPort != nil && *s.ApplicationPort < 1024 {
8519		invalidParams.Add(request.NewErrParamMinValue("ApplicationPort", 1024))
8520	}
8521	if s.JobPort == nil {
8522		invalidParams.Add(request.NewErrParamRequired("JobPort"))
8523	}
8524	if s.JobPort != nil && *s.JobPort < 1 {
8525		invalidParams.Add(request.NewErrParamMinValue("JobPort", 1))
8526	}
8527
8528	if invalidParams.Len() > 0 {
8529		return invalidParams
8530	}
8531	return nil
8532}
8533
8534// SetApplicationPort sets the ApplicationPort field's value.
8535func (s *PortMapping) SetApplicationPort(v int64) *PortMapping {
8536	s.ApplicationPort = &v
8537	return s
8538}
8539
8540// SetEnableOnPublicIp sets the EnableOnPublicIp field's value.
8541func (s *PortMapping) SetEnableOnPublicIp(v bool) *PortMapping {
8542	s.EnableOnPublicIp = &v
8543	return s
8544}
8545
8546// SetJobPort sets the JobPort field's value.
8547func (s *PortMapping) SetJobPort(v int64) *PortMapping {
8548	s.JobPort = &v
8549	return s
8550}
8551
8552// Information about the progress of a deployment job.
8553type ProgressDetail struct {
8554	_ struct{} `type:"structure"`
8555
8556	// The current progress status.
8557	//
8558	// Validating
8559	//
8560	// Validating the deployment.
8561	//
8562	// DownloadingExtracting
8563	//
8564	// Downloading and extracting the bundle on the robot.
8565	//
8566	// ExecutingPreLaunch
8567	//
8568	// Executing pre-launch script(s) if provided.
8569	//
8570	// Launching
8571	//
8572	// Launching the robot application.
8573	//
8574	// ExecutingPostLaunch
8575	//
8576	// Executing post-launch script(s) if provided.
8577	//
8578	// Finished
8579	//
8580	// Deployment is complete.
8581	CurrentProgress *string `locationName:"currentProgress" type:"string" enum:"RobotDeploymentStep"`
8582
8583	// Estimated amount of time in seconds remaining in the step. This currently
8584	// only applies to the Downloading/Extracting step of the deployment. It is
8585	// empty for other steps.
8586	EstimatedTimeRemainingSeconds *int64 `locationName:"estimatedTimeRemainingSeconds" type:"integer"`
8587
8588	// Precentage of the step that is done. This currently only applies to the Downloading/Extracting
8589	// step of the deployment. It is empty for other steps.
8590	PercentDone *float64 `locationName:"percentDone" type:"float"`
8591
8592	// The Amazon Resource Name (ARN) of the deployment job.
8593	TargetResource *string `locationName:"targetResource" type:"string"`
8594}
8595
8596// String returns the string representation
8597func (s ProgressDetail) String() string {
8598	return awsutil.Prettify(s)
8599}
8600
8601// GoString returns the string representation
8602func (s ProgressDetail) GoString() string {
8603	return s.String()
8604}
8605
8606// SetCurrentProgress sets the CurrentProgress field's value.
8607func (s *ProgressDetail) SetCurrentProgress(v string) *ProgressDetail {
8608	s.CurrentProgress = &v
8609	return s
8610}
8611
8612// SetEstimatedTimeRemainingSeconds sets the EstimatedTimeRemainingSeconds field's value.
8613func (s *ProgressDetail) SetEstimatedTimeRemainingSeconds(v int64) *ProgressDetail {
8614	s.EstimatedTimeRemainingSeconds = &v
8615	return s
8616}
8617
8618// SetPercentDone sets the PercentDone field's value.
8619func (s *ProgressDetail) SetPercentDone(v float64) *ProgressDetail {
8620	s.PercentDone = &v
8621	return s
8622}
8623
8624// SetTargetResource sets the TargetResource field's value.
8625func (s *ProgressDetail) SetTargetResource(v string) *ProgressDetail {
8626	s.TargetResource = &v
8627	return s
8628}
8629
8630type RegisterRobotInput struct {
8631	_ struct{} `type:"structure"`
8632
8633	// The Amazon Resource Name (ARN) of the fleet.
8634	//
8635	// Fleet is a required field
8636	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
8637
8638	// The Amazon Resource Name (ARN) of the robot.
8639	//
8640	// Robot is a required field
8641	Robot *string `locationName:"robot" min:"1" type:"string" required:"true"`
8642}
8643
8644// String returns the string representation
8645func (s RegisterRobotInput) String() string {
8646	return awsutil.Prettify(s)
8647}
8648
8649// GoString returns the string representation
8650func (s RegisterRobotInput) GoString() string {
8651	return s.String()
8652}
8653
8654// Validate inspects the fields of the type to determine if they are valid.
8655func (s *RegisterRobotInput) Validate() error {
8656	invalidParams := request.ErrInvalidParams{Context: "RegisterRobotInput"}
8657	if s.Fleet == nil {
8658		invalidParams.Add(request.NewErrParamRequired("Fleet"))
8659	}
8660	if s.Fleet != nil && len(*s.Fleet) < 1 {
8661		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
8662	}
8663	if s.Robot == nil {
8664		invalidParams.Add(request.NewErrParamRequired("Robot"))
8665	}
8666	if s.Robot != nil && len(*s.Robot) < 1 {
8667		invalidParams.Add(request.NewErrParamMinLen("Robot", 1))
8668	}
8669
8670	if invalidParams.Len() > 0 {
8671		return invalidParams
8672	}
8673	return nil
8674}
8675
8676// SetFleet sets the Fleet field's value.
8677func (s *RegisterRobotInput) SetFleet(v string) *RegisterRobotInput {
8678	s.Fleet = &v
8679	return s
8680}
8681
8682// SetRobot sets the Robot field's value.
8683func (s *RegisterRobotInput) SetRobot(v string) *RegisterRobotInput {
8684	s.Robot = &v
8685	return s
8686}
8687
8688type RegisterRobotOutput struct {
8689	_ struct{} `type:"structure"`
8690
8691	// The Amazon Resource Name (ARN) of the fleet that the robot will join.
8692	Fleet *string `locationName:"fleet" min:"1" type:"string"`
8693
8694	// Information about the robot registration.
8695	Robot *string `locationName:"robot" min:"1" type:"string"`
8696}
8697
8698// String returns the string representation
8699func (s RegisterRobotOutput) String() string {
8700	return awsutil.Prettify(s)
8701}
8702
8703// GoString returns the string representation
8704func (s RegisterRobotOutput) GoString() string {
8705	return s.String()
8706}
8707
8708// SetFleet sets the Fleet field's value.
8709func (s *RegisterRobotOutput) SetFleet(v string) *RegisterRobotOutput {
8710	s.Fleet = &v
8711	return s
8712}
8713
8714// SetRobot sets the Robot field's value.
8715func (s *RegisterRobotOutput) SetRobot(v string) *RegisterRobotOutput {
8716	s.Robot = &v
8717	return s
8718}
8719
8720// Information about a rendering engine.
8721type RenderingEngine struct {
8722	_ struct{} `type:"structure"`
8723
8724	// The name of the rendering engine.
8725	Name *string `locationName:"name" type:"string" enum:"RenderingEngineType"`
8726
8727	// The version of the rendering engine.
8728	Version *string `locationName:"version" type:"string"`
8729}
8730
8731// String returns the string representation
8732func (s RenderingEngine) String() string {
8733	return awsutil.Prettify(s)
8734}
8735
8736// GoString returns the string representation
8737func (s RenderingEngine) GoString() string {
8738	return s.String()
8739}
8740
8741// SetName sets the Name field's value.
8742func (s *RenderingEngine) SetName(v string) *RenderingEngine {
8743	s.Name = &v
8744	return s
8745}
8746
8747// SetVersion sets the Version field's value.
8748func (s *RenderingEngine) SetVersion(v string) *RenderingEngine {
8749	s.Version = &v
8750	return s
8751}
8752
8753type RestartSimulationJobInput struct {
8754	_ struct{} `type:"structure"`
8755
8756	// The Amazon Resource Name (ARN) of the simulation job.
8757	//
8758	// Job is a required field
8759	Job *string `locationName:"job" min:"1" type:"string" required:"true"`
8760}
8761
8762// String returns the string representation
8763func (s RestartSimulationJobInput) String() string {
8764	return awsutil.Prettify(s)
8765}
8766
8767// GoString returns the string representation
8768func (s RestartSimulationJobInput) GoString() string {
8769	return s.String()
8770}
8771
8772// Validate inspects the fields of the type to determine if they are valid.
8773func (s *RestartSimulationJobInput) Validate() error {
8774	invalidParams := request.ErrInvalidParams{Context: "RestartSimulationJobInput"}
8775	if s.Job == nil {
8776		invalidParams.Add(request.NewErrParamRequired("Job"))
8777	}
8778	if s.Job != nil && len(*s.Job) < 1 {
8779		invalidParams.Add(request.NewErrParamMinLen("Job", 1))
8780	}
8781
8782	if invalidParams.Len() > 0 {
8783		return invalidParams
8784	}
8785	return nil
8786}
8787
8788// SetJob sets the Job field's value.
8789func (s *RestartSimulationJobInput) SetJob(v string) *RestartSimulationJobInput {
8790	s.Job = &v
8791	return s
8792}
8793
8794type RestartSimulationJobOutput struct {
8795	_ struct{} `type:"structure"`
8796}
8797
8798// String returns the string representation
8799func (s RestartSimulationJobOutput) String() string {
8800	return awsutil.Prettify(s)
8801}
8802
8803// GoString returns the string representation
8804func (s RestartSimulationJobOutput) GoString() string {
8805	return s.String()
8806}
8807
8808// Information about a robot.
8809type Robot struct {
8810	_ struct{} `type:"structure"`
8811
8812	// The architecture of the robot.
8813	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
8814
8815	// The Amazon Resource Name (ARN) of the robot.
8816	Arn *string `locationName:"arn" min:"1" type:"string"`
8817
8818	// The time, in milliseconds since the epoch, when the robot was created.
8819	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
8820
8821	// The Amazon Resource Name (ARN) of the fleet.
8822	FleetArn *string `locationName:"fleetArn" min:"1" type:"string"`
8823
8824	// The Greengrass group associated with the robot.
8825	GreenGrassGroupId *string `locationName:"greenGrassGroupId" min:"1" type:"string"`
8826
8827	// The Amazon Resource Name (ARN) of the last deployment job.
8828	LastDeploymentJob *string `locationName:"lastDeploymentJob" min:"1" type:"string"`
8829
8830	// The time of the last deployment.
8831	LastDeploymentTime *time.Time `locationName:"lastDeploymentTime" type:"timestamp"`
8832
8833	// The name of the robot.
8834	Name *string `locationName:"name" min:"1" type:"string"`
8835
8836	// The status of the robot.
8837	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
8838}
8839
8840// String returns the string representation
8841func (s Robot) String() string {
8842	return awsutil.Prettify(s)
8843}
8844
8845// GoString returns the string representation
8846func (s Robot) GoString() string {
8847	return s.String()
8848}
8849
8850// SetArchitecture sets the Architecture field's value.
8851func (s *Robot) SetArchitecture(v string) *Robot {
8852	s.Architecture = &v
8853	return s
8854}
8855
8856// SetArn sets the Arn field's value.
8857func (s *Robot) SetArn(v string) *Robot {
8858	s.Arn = &v
8859	return s
8860}
8861
8862// SetCreatedAt sets the CreatedAt field's value.
8863func (s *Robot) SetCreatedAt(v time.Time) *Robot {
8864	s.CreatedAt = &v
8865	return s
8866}
8867
8868// SetFleetArn sets the FleetArn field's value.
8869func (s *Robot) SetFleetArn(v string) *Robot {
8870	s.FleetArn = &v
8871	return s
8872}
8873
8874// SetGreenGrassGroupId sets the GreenGrassGroupId field's value.
8875func (s *Robot) SetGreenGrassGroupId(v string) *Robot {
8876	s.GreenGrassGroupId = &v
8877	return s
8878}
8879
8880// SetLastDeploymentJob sets the LastDeploymentJob field's value.
8881func (s *Robot) SetLastDeploymentJob(v string) *Robot {
8882	s.LastDeploymentJob = &v
8883	return s
8884}
8885
8886// SetLastDeploymentTime sets the LastDeploymentTime field's value.
8887func (s *Robot) SetLastDeploymentTime(v time.Time) *Robot {
8888	s.LastDeploymentTime = &v
8889	return s
8890}
8891
8892// SetName sets the Name field's value.
8893func (s *Robot) SetName(v string) *Robot {
8894	s.Name = &v
8895	return s
8896}
8897
8898// SetStatus sets the Status field's value.
8899func (s *Robot) SetStatus(v string) *Robot {
8900	s.Status = &v
8901	return s
8902}
8903
8904// Application configuration information for a robot.
8905type RobotApplicationConfig struct {
8906	_ struct{} `type:"structure"`
8907
8908	// The application information for the robot application.
8909	//
8910	// Application is a required field
8911	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
8912
8913	// The version of the robot application.
8914	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
8915
8916	// The launch configuration for the robot application.
8917	//
8918	// LaunchConfig is a required field
8919	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
8920}
8921
8922// String returns the string representation
8923func (s RobotApplicationConfig) String() string {
8924	return awsutil.Prettify(s)
8925}
8926
8927// GoString returns the string representation
8928func (s RobotApplicationConfig) GoString() string {
8929	return s.String()
8930}
8931
8932// Validate inspects the fields of the type to determine if they are valid.
8933func (s *RobotApplicationConfig) Validate() error {
8934	invalidParams := request.ErrInvalidParams{Context: "RobotApplicationConfig"}
8935	if s.Application == nil {
8936		invalidParams.Add(request.NewErrParamRequired("Application"))
8937	}
8938	if s.Application != nil && len(*s.Application) < 1 {
8939		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
8940	}
8941	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
8942		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
8943	}
8944	if s.LaunchConfig == nil {
8945		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
8946	}
8947	if s.LaunchConfig != nil {
8948		if err := s.LaunchConfig.Validate(); err != nil {
8949			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
8950		}
8951	}
8952
8953	if invalidParams.Len() > 0 {
8954		return invalidParams
8955	}
8956	return nil
8957}
8958
8959// SetApplication sets the Application field's value.
8960func (s *RobotApplicationConfig) SetApplication(v string) *RobotApplicationConfig {
8961	s.Application = &v
8962	return s
8963}
8964
8965// SetApplicationVersion sets the ApplicationVersion field's value.
8966func (s *RobotApplicationConfig) SetApplicationVersion(v string) *RobotApplicationConfig {
8967	s.ApplicationVersion = &v
8968	return s
8969}
8970
8971// SetLaunchConfig sets the LaunchConfig field's value.
8972func (s *RobotApplicationConfig) SetLaunchConfig(v *LaunchConfig) *RobotApplicationConfig {
8973	s.LaunchConfig = v
8974	return s
8975}
8976
8977// Summary information for a robot application.
8978type RobotApplicationSummary struct {
8979	_ struct{} `type:"structure"`
8980
8981	// The Amazon Resource Name (ARN) of the robot.
8982	Arn *string `locationName:"arn" min:"1" type:"string"`
8983
8984	// The time, in milliseconds since the epoch, when the robot application was
8985	// last updated.
8986	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
8987
8988	// The name of the robot application.
8989	Name *string `locationName:"name" min:"1" type:"string"`
8990
8991	// Information about a robot software suite.
8992	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
8993
8994	// The version of the robot application.
8995	Version *string `locationName:"version" min:"1" type:"string"`
8996}
8997
8998// String returns the string representation
8999func (s RobotApplicationSummary) String() string {
9000	return awsutil.Prettify(s)
9001}
9002
9003// GoString returns the string representation
9004func (s RobotApplicationSummary) GoString() string {
9005	return s.String()
9006}
9007
9008// SetArn sets the Arn field's value.
9009func (s *RobotApplicationSummary) SetArn(v string) *RobotApplicationSummary {
9010	s.Arn = &v
9011	return s
9012}
9013
9014// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9015func (s *RobotApplicationSummary) SetLastUpdatedAt(v time.Time) *RobotApplicationSummary {
9016	s.LastUpdatedAt = &v
9017	return s
9018}
9019
9020// SetName sets the Name field's value.
9021func (s *RobotApplicationSummary) SetName(v string) *RobotApplicationSummary {
9022	s.Name = &v
9023	return s
9024}
9025
9026// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
9027func (s *RobotApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *RobotApplicationSummary {
9028	s.RobotSoftwareSuite = v
9029	return s
9030}
9031
9032// SetVersion sets the Version field's value.
9033func (s *RobotApplicationSummary) SetVersion(v string) *RobotApplicationSummary {
9034	s.Version = &v
9035	return s
9036}
9037
9038// Information about a robot deployment.
9039type RobotDeployment struct {
9040	_ struct{} `type:"structure"`
9041
9042	// The robot deployment Amazon Resource Name (ARN).
9043	Arn *string `locationName:"arn" min:"1" type:"string"`
9044
9045	// The time, in milliseconds since the epoch, when the deployment finished.
9046	DeploymentFinishTime *time.Time `locationName:"deploymentFinishTime" type:"timestamp"`
9047
9048	// The time, in milliseconds since the epoch, when the deployment was started.
9049	DeploymentStartTime *time.Time `locationName:"deploymentStartTime" type:"timestamp"`
9050
9051	// The robot deployment failure code.
9052	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
9053
9054	// A short description of the reason why the robot deployment failed.
9055	FailureReason *string `locationName:"failureReason" type:"string"`
9056
9057	// Information about how the deployment is progressing.
9058	ProgressDetail *ProgressDetail `locationName:"progressDetail" type:"structure"`
9059
9060	// The status of the robot deployment.
9061	Status *string `locationName:"status" type:"string" enum:"RobotStatus"`
9062}
9063
9064// String returns the string representation
9065func (s RobotDeployment) String() string {
9066	return awsutil.Prettify(s)
9067}
9068
9069// GoString returns the string representation
9070func (s RobotDeployment) GoString() string {
9071	return s.String()
9072}
9073
9074// SetArn sets the Arn field's value.
9075func (s *RobotDeployment) SetArn(v string) *RobotDeployment {
9076	s.Arn = &v
9077	return s
9078}
9079
9080// SetDeploymentFinishTime sets the DeploymentFinishTime field's value.
9081func (s *RobotDeployment) SetDeploymentFinishTime(v time.Time) *RobotDeployment {
9082	s.DeploymentFinishTime = &v
9083	return s
9084}
9085
9086// SetDeploymentStartTime sets the DeploymentStartTime field's value.
9087func (s *RobotDeployment) SetDeploymentStartTime(v time.Time) *RobotDeployment {
9088	s.DeploymentStartTime = &v
9089	return s
9090}
9091
9092// SetFailureCode sets the FailureCode field's value.
9093func (s *RobotDeployment) SetFailureCode(v string) *RobotDeployment {
9094	s.FailureCode = &v
9095	return s
9096}
9097
9098// SetFailureReason sets the FailureReason field's value.
9099func (s *RobotDeployment) SetFailureReason(v string) *RobotDeployment {
9100	s.FailureReason = &v
9101	return s
9102}
9103
9104// SetProgressDetail sets the ProgressDetail field's value.
9105func (s *RobotDeployment) SetProgressDetail(v *ProgressDetail) *RobotDeployment {
9106	s.ProgressDetail = v
9107	return s
9108}
9109
9110// SetStatus sets the Status field's value.
9111func (s *RobotDeployment) SetStatus(v string) *RobotDeployment {
9112	s.Status = &v
9113	return s
9114}
9115
9116// Information about a robot software suite.
9117type RobotSoftwareSuite struct {
9118	_ struct{} `type:"structure"`
9119
9120	// The name of the robot software suite.
9121	Name *string `locationName:"name" type:"string" enum:"RobotSoftwareSuiteType"`
9122
9123	// The version of the robot software suite.
9124	Version *string `locationName:"version" type:"string" enum:"RobotSoftwareSuiteVersionType"`
9125}
9126
9127// String returns the string representation
9128func (s RobotSoftwareSuite) String() string {
9129	return awsutil.Prettify(s)
9130}
9131
9132// GoString returns the string representation
9133func (s RobotSoftwareSuite) GoString() string {
9134	return s.String()
9135}
9136
9137// SetName sets the Name field's value.
9138func (s *RobotSoftwareSuite) SetName(v string) *RobotSoftwareSuite {
9139	s.Name = &v
9140	return s
9141}
9142
9143// SetVersion sets the Version field's value.
9144func (s *RobotSoftwareSuite) SetVersion(v string) *RobotSoftwareSuite {
9145	s.Version = &v
9146	return s
9147}
9148
9149// Information about S3 keys.
9150type S3KeyOutput struct {
9151	_ struct{} `type:"structure"`
9152
9153	// The etag for the object.
9154	Etag *string `locationName:"etag" type:"string"`
9155
9156	// The S3 key.
9157	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
9158}
9159
9160// String returns the string representation
9161func (s S3KeyOutput) String() string {
9162	return awsutil.Prettify(s)
9163}
9164
9165// GoString returns the string representation
9166func (s S3KeyOutput) GoString() string {
9167	return s.String()
9168}
9169
9170// SetEtag sets the Etag field's value.
9171func (s *S3KeyOutput) SetEtag(v string) *S3KeyOutput {
9172	s.Etag = &v
9173	return s
9174}
9175
9176// SetS3Key sets the S3Key field's value.
9177func (s *S3KeyOutput) SetS3Key(v string) *S3KeyOutput {
9178	s.S3Key = &v
9179	return s
9180}
9181
9182// Information about an S3 object.
9183type S3Object struct {
9184	_ struct{} `type:"structure"`
9185
9186	// The bucket containing the object.
9187	//
9188	// Bucket is a required field
9189	Bucket *string `locationName:"bucket" min:"3" type:"string" required:"true"`
9190
9191	// The etag of the object.
9192	Etag *string `locationName:"etag" type:"string"`
9193
9194	// The key of the object.
9195	//
9196	// Key is a required field
9197	Key *string `locationName:"key" min:"1" type:"string" required:"true"`
9198}
9199
9200// String returns the string representation
9201func (s S3Object) String() string {
9202	return awsutil.Prettify(s)
9203}
9204
9205// GoString returns the string representation
9206func (s S3Object) GoString() string {
9207	return s.String()
9208}
9209
9210// Validate inspects the fields of the type to determine if they are valid.
9211func (s *S3Object) Validate() error {
9212	invalidParams := request.ErrInvalidParams{Context: "S3Object"}
9213	if s.Bucket == nil {
9214		invalidParams.Add(request.NewErrParamRequired("Bucket"))
9215	}
9216	if s.Bucket != nil && len(*s.Bucket) < 3 {
9217		invalidParams.Add(request.NewErrParamMinLen("Bucket", 3))
9218	}
9219	if s.Key == nil {
9220		invalidParams.Add(request.NewErrParamRequired("Key"))
9221	}
9222	if s.Key != nil && len(*s.Key) < 1 {
9223		invalidParams.Add(request.NewErrParamMinLen("Key", 1))
9224	}
9225
9226	if invalidParams.Len() > 0 {
9227		return invalidParams
9228	}
9229	return nil
9230}
9231
9232// SetBucket sets the Bucket field's value.
9233func (s *S3Object) SetBucket(v string) *S3Object {
9234	s.Bucket = &v
9235	return s
9236}
9237
9238// SetEtag sets the Etag field's value.
9239func (s *S3Object) SetEtag(v string) *S3Object {
9240	s.Etag = &v
9241	return s
9242}
9243
9244// SetKey sets the Key field's value.
9245func (s *S3Object) SetKey(v string) *S3Object {
9246	s.Key = &v
9247	return s
9248}
9249
9250// Information about a simulation application configuration.
9251type SimulationApplicationConfig struct {
9252	_ struct{} `type:"structure"`
9253
9254	// The application information for the simulation application.
9255	//
9256	// Application is a required field
9257	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
9258
9259	// The version of the simulation application.
9260	ApplicationVersion *string `locationName:"applicationVersion" min:"1" type:"string"`
9261
9262	// The launch configuration for the simulation application.
9263	//
9264	// LaunchConfig is a required field
9265	LaunchConfig *LaunchConfig `locationName:"launchConfig" type:"structure" required:"true"`
9266}
9267
9268// String returns the string representation
9269func (s SimulationApplicationConfig) String() string {
9270	return awsutil.Prettify(s)
9271}
9272
9273// GoString returns the string representation
9274func (s SimulationApplicationConfig) GoString() string {
9275	return s.String()
9276}
9277
9278// Validate inspects the fields of the type to determine if they are valid.
9279func (s *SimulationApplicationConfig) Validate() error {
9280	invalidParams := request.ErrInvalidParams{Context: "SimulationApplicationConfig"}
9281	if s.Application == nil {
9282		invalidParams.Add(request.NewErrParamRequired("Application"))
9283	}
9284	if s.Application != nil && len(*s.Application) < 1 {
9285		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
9286	}
9287	if s.ApplicationVersion != nil && len(*s.ApplicationVersion) < 1 {
9288		invalidParams.Add(request.NewErrParamMinLen("ApplicationVersion", 1))
9289	}
9290	if s.LaunchConfig == nil {
9291		invalidParams.Add(request.NewErrParamRequired("LaunchConfig"))
9292	}
9293	if s.LaunchConfig != nil {
9294		if err := s.LaunchConfig.Validate(); err != nil {
9295			invalidParams.AddNested("LaunchConfig", err.(request.ErrInvalidParams))
9296		}
9297	}
9298
9299	if invalidParams.Len() > 0 {
9300		return invalidParams
9301	}
9302	return nil
9303}
9304
9305// SetApplication sets the Application field's value.
9306func (s *SimulationApplicationConfig) SetApplication(v string) *SimulationApplicationConfig {
9307	s.Application = &v
9308	return s
9309}
9310
9311// SetApplicationVersion sets the ApplicationVersion field's value.
9312func (s *SimulationApplicationConfig) SetApplicationVersion(v string) *SimulationApplicationConfig {
9313	s.ApplicationVersion = &v
9314	return s
9315}
9316
9317// SetLaunchConfig sets the LaunchConfig field's value.
9318func (s *SimulationApplicationConfig) SetLaunchConfig(v *LaunchConfig) *SimulationApplicationConfig {
9319	s.LaunchConfig = v
9320	return s
9321}
9322
9323// Summary information for a simulation application.
9324type SimulationApplicationSummary struct {
9325	_ struct{} `type:"structure"`
9326
9327	// The Amazon Resource Name (ARN) of the simulation application.
9328	Arn *string `locationName:"arn" min:"1" type:"string"`
9329
9330	// The time, in milliseconds since the epoch, when the simulation application
9331	// was last updated.
9332	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
9333
9334	// The name of the simulation application.
9335	Name *string `locationName:"name" min:"1" type:"string"`
9336
9337	// Information about a robot software suite.
9338	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
9339
9340	// Information about a simulation software suite.
9341	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
9342
9343	// The version of the simulation application.
9344	Version *string `locationName:"version" min:"1" type:"string"`
9345}
9346
9347// String returns the string representation
9348func (s SimulationApplicationSummary) String() string {
9349	return awsutil.Prettify(s)
9350}
9351
9352// GoString returns the string representation
9353func (s SimulationApplicationSummary) GoString() string {
9354	return s.String()
9355}
9356
9357// SetArn sets the Arn field's value.
9358func (s *SimulationApplicationSummary) SetArn(v string) *SimulationApplicationSummary {
9359	s.Arn = &v
9360	return s
9361}
9362
9363// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9364func (s *SimulationApplicationSummary) SetLastUpdatedAt(v time.Time) *SimulationApplicationSummary {
9365	s.LastUpdatedAt = &v
9366	return s
9367}
9368
9369// SetName sets the Name field's value.
9370func (s *SimulationApplicationSummary) SetName(v string) *SimulationApplicationSummary {
9371	s.Name = &v
9372	return s
9373}
9374
9375// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
9376func (s *SimulationApplicationSummary) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *SimulationApplicationSummary {
9377	s.RobotSoftwareSuite = v
9378	return s
9379}
9380
9381// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
9382func (s *SimulationApplicationSummary) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *SimulationApplicationSummary {
9383	s.SimulationSoftwareSuite = v
9384	return s
9385}
9386
9387// SetVersion sets the Version field's value.
9388func (s *SimulationApplicationSummary) SetVersion(v string) *SimulationApplicationSummary {
9389	s.Version = &v
9390	return s
9391}
9392
9393// Information about a simulation job.
9394type SimulationJob struct {
9395	_ struct{} `type:"structure"`
9396
9397	// The Amazon Resource Name (ARN) of the simulation job.
9398	Arn *string `locationName:"arn" min:"1" type:"string"`
9399
9400	// A unique identifier for this SimulationJob request.
9401	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string"`
9402
9403	// The data sources for the simulation job.
9404	DataSources []*DataSource `locationName:"dataSources" type:"list"`
9405
9406	// The failure behavior the simulation job.
9407	//
9408	// Continue
9409	//
9410	// Restart the simulation job in the same host instance.
9411	//
9412	// Fail
9413	//
9414	// Stop the simulation job and terminate the instance.
9415	FailureBehavior *string `locationName:"failureBehavior" type:"string" enum:"FailureBehavior"`
9416
9417	// The failure code of the simulation job if it failed.
9418	FailureCode *string `locationName:"failureCode" type:"string" enum:"SimulationJobErrorCode"`
9419
9420	// The reason why the simulation job failed.
9421	FailureReason *string `locationName:"failureReason" type:"string"`
9422
9423	// The IAM role that allows the simulation instance to call the AWS APIs that
9424	// are specified in its associated policies on your behalf. This is how credentials
9425	// are passed in to your simulation job.
9426	IamRole *string `locationName:"iamRole" min:"1" type:"string"`
9427
9428	// The time, in milliseconds since the epoch, when the simulation job was last
9429	// started.
9430	LastStartedAt *time.Time `locationName:"lastStartedAt" type:"timestamp"`
9431
9432	// The time, in milliseconds since the epoch, when the simulation job was last
9433	// updated.
9434	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
9435
9436	// The logging configuration.
9437	LoggingConfig *LoggingConfig `locationName:"loggingConfig" type:"structure"`
9438
9439	// The maximum simulation job duration in seconds. The value must be 8 days
9440	// (691,200 seconds) or less.
9441	MaxJobDurationInSeconds *int64 `locationName:"maxJobDurationInSeconds" type:"long"`
9442
9443	// The name of the simulation job.
9444	Name *string `locationName:"name" min:"1" type:"string"`
9445
9446	// Information about a network interface.
9447	NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"`
9448
9449	// Location for output files generated by the simulation job.
9450	OutputLocation *OutputLocation `locationName:"outputLocation" type:"structure"`
9451
9452	// A list of robot applications.
9453	RobotApplications []*RobotApplicationConfig `locationName:"robotApplications" min:"1" type:"list"`
9454
9455	// A list of simulation applications.
9456	SimulationApplications []*SimulationApplicationConfig `locationName:"simulationApplications" min:"1" type:"list"`
9457
9458	// The simulation job execution duration in milliseconds.
9459	SimulationTimeMillis *int64 `locationName:"simulationTimeMillis" type:"long"`
9460
9461	// Status of the simulation job.
9462	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
9463
9464	// A map that contains tag keys and tag values that are attached to the simulation
9465	// job.
9466	Tags map[string]*string `locationName:"tags" type:"map"`
9467
9468	// VPC configuration information.
9469	VpcConfig *VPCConfigResponse `locationName:"vpcConfig" type:"structure"`
9470}
9471
9472// String returns the string representation
9473func (s SimulationJob) String() string {
9474	return awsutil.Prettify(s)
9475}
9476
9477// GoString returns the string representation
9478func (s SimulationJob) GoString() string {
9479	return s.String()
9480}
9481
9482// SetArn sets the Arn field's value.
9483func (s *SimulationJob) SetArn(v string) *SimulationJob {
9484	s.Arn = &v
9485	return s
9486}
9487
9488// SetClientRequestToken sets the ClientRequestToken field's value.
9489func (s *SimulationJob) SetClientRequestToken(v string) *SimulationJob {
9490	s.ClientRequestToken = &v
9491	return s
9492}
9493
9494// SetDataSources sets the DataSources field's value.
9495func (s *SimulationJob) SetDataSources(v []*DataSource) *SimulationJob {
9496	s.DataSources = v
9497	return s
9498}
9499
9500// SetFailureBehavior sets the FailureBehavior field's value.
9501func (s *SimulationJob) SetFailureBehavior(v string) *SimulationJob {
9502	s.FailureBehavior = &v
9503	return s
9504}
9505
9506// SetFailureCode sets the FailureCode field's value.
9507func (s *SimulationJob) SetFailureCode(v string) *SimulationJob {
9508	s.FailureCode = &v
9509	return s
9510}
9511
9512// SetFailureReason sets the FailureReason field's value.
9513func (s *SimulationJob) SetFailureReason(v string) *SimulationJob {
9514	s.FailureReason = &v
9515	return s
9516}
9517
9518// SetIamRole sets the IamRole field's value.
9519func (s *SimulationJob) SetIamRole(v string) *SimulationJob {
9520	s.IamRole = &v
9521	return s
9522}
9523
9524// SetLastStartedAt sets the LastStartedAt field's value.
9525func (s *SimulationJob) SetLastStartedAt(v time.Time) *SimulationJob {
9526	s.LastStartedAt = &v
9527	return s
9528}
9529
9530// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9531func (s *SimulationJob) SetLastUpdatedAt(v time.Time) *SimulationJob {
9532	s.LastUpdatedAt = &v
9533	return s
9534}
9535
9536// SetLoggingConfig sets the LoggingConfig field's value.
9537func (s *SimulationJob) SetLoggingConfig(v *LoggingConfig) *SimulationJob {
9538	s.LoggingConfig = v
9539	return s
9540}
9541
9542// SetMaxJobDurationInSeconds sets the MaxJobDurationInSeconds field's value.
9543func (s *SimulationJob) SetMaxJobDurationInSeconds(v int64) *SimulationJob {
9544	s.MaxJobDurationInSeconds = &v
9545	return s
9546}
9547
9548// SetName sets the Name field's value.
9549func (s *SimulationJob) SetName(v string) *SimulationJob {
9550	s.Name = &v
9551	return s
9552}
9553
9554// SetNetworkInterface sets the NetworkInterface field's value.
9555func (s *SimulationJob) SetNetworkInterface(v *NetworkInterface) *SimulationJob {
9556	s.NetworkInterface = v
9557	return s
9558}
9559
9560// SetOutputLocation sets the OutputLocation field's value.
9561func (s *SimulationJob) SetOutputLocation(v *OutputLocation) *SimulationJob {
9562	s.OutputLocation = v
9563	return s
9564}
9565
9566// SetRobotApplications sets the RobotApplications field's value.
9567func (s *SimulationJob) SetRobotApplications(v []*RobotApplicationConfig) *SimulationJob {
9568	s.RobotApplications = v
9569	return s
9570}
9571
9572// SetSimulationApplications sets the SimulationApplications field's value.
9573func (s *SimulationJob) SetSimulationApplications(v []*SimulationApplicationConfig) *SimulationJob {
9574	s.SimulationApplications = v
9575	return s
9576}
9577
9578// SetSimulationTimeMillis sets the SimulationTimeMillis field's value.
9579func (s *SimulationJob) SetSimulationTimeMillis(v int64) *SimulationJob {
9580	s.SimulationTimeMillis = &v
9581	return s
9582}
9583
9584// SetStatus sets the Status field's value.
9585func (s *SimulationJob) SetStatus(v string) *SimulationJob {
9586	s.Status = &v
9587	return s
9588}
9589
9590// SetTags sets the Tags field's value.
9591func (s *SimulationJob) SetTags(v map[string]*string) *SimulationJob {
9592	s.Tags = v
9593	return s
9594}
9595
9596// SetVpcConfig sets the VpcConfig field's value.
9597func (s *SimulationJob) SetVpcConfig(v *VPCConfigResponse) *SimulationJob {
9598	s.VpcConfig = v
9599	return s
9600}
9601
9602// Summary information for a simulation job.
9603type SimulationJobSummary struct {
9604	_ struct{} `type:"structure"`
9605
9606	// The Amazon Resource Name (ARN) of the simulation job.
9607	Arn *string `locationName:"arn" min:"1" type:"string"`
9608
9609	// The names of the data sources.
9610	DataSourceNames []*string `locationName:"dataSourceNames" type:"list"`
9611
9612	// The time, in milliseconds since the epoch, when the simulation job was last
9613	// updated.
9614	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
9615
9616	// The name of the simulation job.
9617	Name *string `locationName:"name" min:"1" type:"string"`
9618
9619	// A list of simulation job robot application names.
9620	RobotApplicationNames []*string `locationName:"robotApplicationNames" type:"list"`
9621
9622	// A list of simulation job simulation application names.
9623	SimulationApplicationNames []*string `locationName:"simulationApplicationNames" type:"list"`
9624
9625	// The status of the simulation job.
9626	Status *string `locationName:"status" type:"string" enum:"SimulationJobStatus"`
9627}
9628
9629// String returns the string representation
9630func (s SimulationJobSummary) String() string {
9631	return awsutil.Prettify(s)
9632}
9633
9634// GoString returns the string representation
9635func (s SimulationJobSummary) GoString() string {
9636	return s.String()
9637}
9638
9639// SetArn sets the Arn field's value.
9640func (s *SimulationJobSummary) SetArn(v string) *SimulationJobSummary {
9641	s.Arn = &v
9642	return s
9643}
9644
9645// SetDataSourceNames sets the DataSourceNames field's value.
9646func (s *SimulationJobSummary) SetDataSourceNames(v []*string) *SimulationJobSummary {
9647	s.DataSourceNames = v
9648	return s
9649}
9650
9651// SetLastUpdatedAt sets the LastUpdatedAt field's value.
9652func (s *SimulationJobSummary) SetLastUpdatedAt(v time.Time) *SimulationJobSummary {
9653	s.LastUpdatedAt = &v
9654	return s
9655}
9656
9657// SetName sets the Name field's value.
9658func (s *SimulationJobSummary) SetName(v string) *SimulationJobSummary {
9659	s.Name = &v
9660	return s
9661}
9662
9663// SetRobotApplicationNames sets the RobotApplicationNames field's value.
9664func (s *SimulationJobSummary) SetRobotApplicationNames(v []*string) *SimulationJobSummary {
9665	s.RobotApplicationNames = v
9666	return s
9667}
9668
9669// SetSimulationApplicationNames sets the SimulationApplicationNames field's value.
9670func (s *SimulationJobSummary) SetSimulationApplicationNames(v []*string) *SimulationJobSummary {
9671	s.SimulationApplicationNames = v
9672	return s
9673}
9674
9675// SetStatus sets the Status field's value.
9676func (s *SimulationJobSummary) SetStatus(v string) *SimulationJobSummary {
9677	s.Status = &v
9678	return s
9679}
9680
9681// Information about a simulation software suite.
9682type SimulationSoftwareSuite struct {
9683	_ struct{} `type:"structure"`
9684
9685	// The name of the simulation software suite.
9686	Name *string `locationName:"name" type:"string" enum:"SimulationSoftwareSuiteType"`
9687
9688	// The version of the simulation software suite.
9689	Version *string `locationName:"version" type:"string"`
9690}
9691
9692// String returns the string representation
9693func (s SimulationSoftwareSuite) String() string {
9694	return awsutil.Prettify(s)
9695}
9696
9697// GoString returns the string representation
9698func (s SimulationSoftwareSuite) GoString() string {
9699	return s.String()
9700}
9701
9702// SetName sets the Name field's value.
9703func (s *SimulationSoftwareSuite) SetName(v string) *SimulationSoftwareSuite {
9704	s.Name = &v
9705	return s
9706}
9707
9708// SetVersion sets the Version field's value.
9709func (s *SimulationSoftwareSuite) SetVersion(v string) *SimulationSoftwareSuite {
9710	s.Version = &v
9711	return s
9712}
9713
9714// Information about a source.
9715type Source struct {
9716	_ struct{} `type:"structure"`
9717
9718	// The taget processor architecture for the application.
9719	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
9720
9721	// A hash of the object specified by s3Bucket and s3Key.
9722	Etag *string `locationName:"etag" type:"string"`
9723
9724	// The s3 bucket name.
9725	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
9726
9727	// The s3 object key.
9728	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
9729}
9730
9731// String returns the string representation
9732func (s Source) String() string {
9733	return awsutil.Prettify(s)
9734}
9735
9736// GoString returns the string representation
9737func (s Source) GoString() string {
9738	return s.String()
9739}
9740
9741// SetArchitecture sets the Architecture field's value.
9742func (s *Source) SetArchitecture(v string) *Source {
9743	s.Architecture = &v
9744	return s
9745}
9746
9747// SetEtag sets the Etag field's value.
9748func (s *Source) SetEtag(v string) *Source {
9749	s.Etag = &v
9750	return s
9751}
9752
9753// SetS3Bucket sets the S3Bucket field's value.
9754func (s *Source) SetS3Bucket(v string) *Source {
9755	s.S3Bucket = &v
9756	return s
9757}
9758
9759// SetS3Key sets the S3Key field's value.
9760func (s *Source) SetS3Key(v string) *Source {
9761	s.S3Key = &v
9762	return s
9763}
9764
9765// Information about a source configuration.
9766type SourceConfig struct {
9767	_ struct{} `type:"structure"`
9768
9769	// The target processor architecture for the application.
9770	Architecture *string `locationName:"architecture" type:"string" enum:"Architecture"`
9771
9772	// The Amazon S3 bucket name.
9773	S3Bucket *string `locationName:"s3Bucket" min:"3" type:"string"`
9774
9775	// The s3 object key.
9776	S3Key *string `locationName:"s3Key" min:"1" type:"string"`
9777}
9778
9779// String returns the string representation
9780func (s SourceConfig) String() string {
9781	return awsutil.Prettify(s)
9782}
9783
9784// GoString returns the string representation
9785func (s SourceConfig) GoString() string {
9786	return s.String()
9787}
9788
9789// Validate inspects the fields of the type to determine if they are valid.
9790func (s *SourceConfig) Validate() error {
9791	invalidParams := request.ErrInvalidParams{Context: "SourceConfig"}
9792	if s.S3Bucket != nil && len(*s.S3Bucket) < 3 {
9793		invalidParams.Add(request.NewErrParamMinLen("S3Bucket", 3))
9794	}
9795	if s.S3Key != nil && len(*s.S3Key) < 1 {
9796		invalidParams.Add(request.NewErrParamMinLen("S3Key", 1))
9797	}
9798
9799	if invalidParams.Len() > 0 {
9800		return invalidParams
9801	}
9802	return nil
9803}
9804
9805// SetArchitecture sets the Architecture field's value.
9806func (s *SourceConfig) SetArchitecture(v string) *SourceConfig {
9807	s.Architecture = &v
9808	return s
9809}
9810
9811// SetS3Bucket sets the S3Bucket field's value.
9812func (s *SourceConfig) SetS3Bucket(v string) *SourceConfig {
9813	s.S3Bucket = &v
9814	return s
9815}
9816
9817// SetS3Key sets the S3Key field's value.
9818func (s *SourceConfig) SetS3Key(v string) *SourceConfig {
9819	s.S3Key = &v
9820	return s
9821}
9822
9823type SyncDeploymentJobInput struct {
9824	_ struct{} `type:"structure"`
9825
9826	// Unique, case-sensitive identifier that you provide to ensure the idempotency
9827	// of the request.
9828	ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"`
9829
9830	// The target fleet for the synchronization.
9831	//
9832	// Fleet is a required field
9833	Fleet *string `locationName:"fleet" min:"1" type:"string" required:"true"`
9834}
9835
9836// String returns the string representation
9837func (s SyncDeploymentJobInput) String() string {
9838	return awsutil.Prettify(s)
9839}
9840
9841// GoString returns the string representation
9842func (s SyncDeploymentJobInput) GoString() string {
9843	return s.String()
9844}
9845
9846// Validate inspects the fields of the type to determine if they are valid.
9847func (s *SyncDeploymentJobInput) Validate() error {
9848	invalidParams := request.ErrInvalidParams{Context: "SyncDeploymentJobInput"}
9849	if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 {
9850		invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1))
9851	}
9852	if s.Fleet == nil {
9853		invalidParams.Add(request.NewErrParamRequired("Fleet"))
9854	}
9855	if s.Fleet != nil && len(*s.Fleet) < 1 {
9856		invalidParams.Add(request.NewErrParamMinLen("Fleet", 1))
9857	}
9858
9859	if invalidParams.Len() > 0 {
9860		return invalidParams
9861	}
9862	return nil
9863}
9864
9865// SetClientRequestToken sets the ClientRequestToken field's value.
9866func (s *SyncDeploymentJobInput) SetClientRequestToken(v string) *SyncDeploymentJobInput {
9867	s.ClientRequestToken = &v
9868	return s
9869}
9870
9871// SetFleet sets the Fleet field's value.
9872func (s *SyncDeploymentJobInput) SetFleet(v string) *SyncDeploymentJobInput {
9873	s.Fleet = &v
9874	return s
9875}
9876
9877type SyncDeploymentJobOutput struct {
9878	_ struct{} `type:"structure"`
9879
9880	// The Amazon Resource Name (ARN) of the synchronization request.
9881	Arn *string `locationName:"arn" min:"1" type:"string"`
9882
9883	// The time, in milliseconds since the epoch, when the fleet was created.
9884	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
9885
9886	// Information about the deployment application configurations.
9887	DeploymentApplicationConfigs []*DeploymentApplicationConfig `locationName:"deploymentApplicationConfigs" min:"1" type:"list"`
9888
9889	// Information about the deployment configuration.
9890	DeploymentConfig *DeploymentConfig `locationName:"deploymentConfig" type:"structure"`
9891
9892	// The failure code if the job fails:
9893	//
9894	// InternalServiceError
9895	//
9896	// Internal service error.
9897	//
9898	// RobotApplicationCrash
9899	//
9900	// Robot application exited abnormally.
9901	//
9902	// SimulationApplicationCrash
9903	//
9904	// Simulation application exited abnormally.
9905	//
9906	// BadPermissionsRobotApplication
9907	//
9908	// Robot application bundle could not be downloaded.
9909	//
9910	// BadPermissionsSimulationApplication
9911	//
9912	// Simulation application bundle could not be downloaded.
9913	//
9914	// BadPermissionsS3Output
9915	//
9916	// Unable to publish outputs to customer-provided S3 bucket.
9917	//
9918	// BadPermissionsCloudwatchLogs
9919	//
9920	// Unable to publish logs to customer-provided CloudWatch Logs resource.
9921	//
9922	// SubnetIpLimitExceeded
9923	//
9924	// Subnet IP limit exceeded.
9925	//
9926	// ENILimitExceeded
9927	//
9928	// ENI limit exceeded.
9929	//
9930	// BadPermissionsUserCredentials
9931	//
9932	// Unable to use the Role provided.
9933	//
9934	// InvalidBundleRobotApplication
9935	//
9936	// Robot bundle cannot be extracted (invalid format, bundling error, or other
9937	// issue).
9938	//
9939	// InvalidBundleSimulationApplication
9940	//
9941	// Simulation bundle cannot be extracted (invalid format, bundling error, or
9942	// other issue).
9943	//
9944	// RobotApplicationVersionMismatchedEtag
9945	//
9946	// Etag for RobotApplication does not match value during version creation.
9947	//
9948	// SimulationApplicationVersionMismatchedEtag
9949	//
9950	// Etag for SimulationApplication does not match value during version creation.
9951	FailureCode *string `locationName:"failureCode" type:"string" enum:"DeploymentJobErrorCode"`
9952
9953	// The failure reason if the job fails.
9954	FailureReason *string `locationName:"failureReason" type:"string"`
9955
9956	// The Amazon Resource Name (ARN) of the fleet.
9957	Fleet *string `locationName:"fleet" min:"1" type:"string"`
9958
9959	// The status of the synchronization job.
9960	Status *string `locationName:"status" type:"string" enum:"DeploymentStatus"`
9961}
9962
9963// String returns the string representation
9964func (s SyncDeploymentJobOutput) String() string {
9965	return awsutil.Prettify(s)
9966}
9967
9968// GoString returns the string representation
9969func (s SyncDeploymentJobOutput) GoString() string {
9970	return s.String()
9971}
9972
9973// SetArn sets the Arn field's value.
9974func (s *SyncDeploymentJobOutput) SetArn(v string) *SyncDeploymentJobOutput {
9975	s.Arn = &v
9976	return s
9977}
9978
9979// SetCreatedAt sets the CreatedAt field's value.
9980func (s *SyncDeploymentJobOutput) SetCreatedAt(v time.Time) *SyncDeploymentJobOutput {
9981	s.CreatedAt = &v
9982	return s
9983}
9984
9985// SetDeploymentApplicationConfigs sets the DeploymentApplicationConfigs field's value.
9986func (s *SyncDeploymentJobOutput) SetDeploymentApplicationConfigs(v []*DeploymentApplicationConfig) *SyncDeploymentJobOutput {
9987	s.DeploymentApplicationConfigs = v
9988	return s
9989}
9990
9991// SetDeploymentConfig sets the DeploymentConfig field's value.
9992func (s *SyncDeploymentJobOutput) SetDeploymentConfig(v *DeploymentConfig) *SyncDeploymentJobOutput {
9993	s.DeploymentConfig = v
9994	return s
9995}
9996
9997// SetFailureCode sets the FailureCode field's value.
9998func (s *SyncDeploymentJobOutput) SetFailureCode(v string) *SyncDeploymentJobOutput {
9999	s.FailureCode = &v
10000	return s
10001}
10002
10003// SetFailureReason sets the FailureReason field's value.
10004func (s *SyncDeploymentJobOutput) SetFailureReason(v string) *SyncDeploymentJobOutput {
10005	s.FailureReason = &v
10006	return s
10007}
10008
10009// SetFleet sets the Fleet field's value.
10010func (s *SyncDeploymentJobOutput) SetFleet(v string) *SyncDeploymentJobOutput {
10011	s.Fleet = &v
10012	return s
10013}
10014
10015// SetStatus sets the Status field's value.
10016func (s *SyncDeploymentJobOutput) SetStatus(v string) *SyncDeploymentJobOutput {
10017	s.Status = &v
10018	return s
10019}
10020
10021type TagResourceInput struct {
10022	_ struct{} `type:"structure"`
10023
10024	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.
10025	//
10026	// ResourceArn is a required field
10027	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
10028
10029	// A map that contains tag keys and tag values that are attached to the resource.
10030	//
10031	// Tags is a required field
10032	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
10033}
10034
10035// String returns the string representation
10036func (s TagResourceInput) String() string {
10037	return awsutil.Prettify(s)
10038}
10039
10040// GoString returns the string representation
10041func (s TagResourceInput) GoString() string {
10042	return s.String()
10043}
10044
10045// Validate inspects the fields of the type to determine if they are valid.
10046func (s *TagResourceInput) Validate() error {
10047	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
10048	if s.ResourceArn == nil {
10049		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10050	}
10051	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10052		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10053	}
10054	if s.Tags == nil {
10055		invalidParams.Add(request.NewErrParamRequired("Tags"))
10056	}
10057
10058	if invalidParams.Len() > 0 {
10059		return invalidParams
10060	}
10061	return nil
10062}
10063
10064// SetResourceArn sets the ResourceArn field's value.
10065func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
10066	s.ResourceArn = &v
10067	return s
10068}
10069
10070// SetTags sets the Tags field's value.
10071func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
10072	s.Tags = v
10073	return s
10074}
10075
10076type TagResourceOutput struct {
10077	_ struct{} `type:"structure"`
10078}
10079
10080// String returns the string representation
10081func (s TagResourceOutput) String() string {
10082	return awsutil.Prettify(s)
10083}
10084
10085// GoString returns the string representation
10086func (s TagResourceOutput) GoString() string {
10087	return s.String()
10088}
10089
10090type UntagResourceInput struct {
10091	_ struct{} `type:"structure"`
10092
10093	// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing
10094	// tags.
10095	//
10096	// ResourceArn is a required field
10097	ResourceArn *string `location:"uri" locationName:"resourceArn" min:"1" type:"string" required:"true"`
10098
10099	// A map that contains tag keys and tag values that will be unattached from
10100	// the resource.
10101	//
10102	// TagKeys is a required field
10103	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
10104}
10105
10106// String returns the string representation
10107func (s UntagResourceInput) String() string {
10108	return awsutil.Prettify(s)
10109}
10110
10111// GoString returns the string representation
10112func (s UntagResourceInput) GoString() string {
10113	return s.String()
10114}
10115
10116// Validate inspects the fields of the type to determine if they are valid.
10117func (s *UntagResourceInput) Validate() error {
10118	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
10119	if s.ResourceArn == nil {
10120		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10121	}
10122	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10123		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10124	}
10125	if s.TagKeys == nil {
10126		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
10127	}
10128
10129	if invalidParams.Len() > 0 {
10130		return invalidParams
10131	}
10132	return nil
10133}
10134
10135// SetResourceArn sets the ResourceArn field's value.
10136func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
10137	s.ResourceArn = &v
10138	return s
10139}
10140
10141// SetTagKeys sets the TagKeys field's value.
10142func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
10143	s.TagKeys = v
10144	return s
10145}
10146
10147type UntagResourceOutput struct {
10148	_ struct{} `type:"structure"`
10149}
10150
10151// String returns the string representation
10152func (s UntagResourceOutput) String() string {
10153	return awsutil.Prettify(s)
10154}
10155
10156// GoString returns the string representation
10157func (s UntagResourceOutput) GoString() string {
10158	return s.String()
10159}
10160
10161type UpdateRobotApplicationInput struct {
10162	_ struct{} `type:"structure"`
10163
10164	// The application information for the robot application.
10165	//
10166	// Application is a required field
10167	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
10168
10169	// The revision id for the robot application.
10170	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
10171
10172	// The robot software suite used by the robot application.
10173	//
10174	// RobotSoftwareSuite is a required field
10175	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
10176
10177	// The sources of the robot application.
10178	//
10179	// Sources is a required field
10180	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
10181}
10182
10183// String returns the string representation
10184func (s UpdateRobotApplicationInput) String() string {
10185	return awsutil.Prettify(s)
10186}
10187
10188// GoString returns the string representation
10189func (s UpdateRobotApplicationInput) GoString() string {
10190	return s.String()
10191}
10192
10193// Validate inspects the fields of the type to determine if they are valid.
10194func (s *UpdateRobotApplicationInput) Validate() error {
10195	invalidParams := request.ErrInvalidParams{Context: "UpdateRobotApplicationInput"}
10196	if s.Application == nil {
10197		invalidParams.Add(request.NewErrParamRequired("Application"))
10198	}
10199	if s.Application != nil && len(*s.Application) < 1 {
10200		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
10201	}
10202	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
10203		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
10204	}
10205	if s.RobotSoftwareSuite == nil {
10206		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
10207	}
10208	if s.Sources == nil {
10209		invalidParams.Add(request.NewErrParamRequired("Sources"))
10210	}
10211	if s.Sources != nil {
10212		for i, v := range s.Sources {
10213			if v == nil {
10214				continue
10215			}
10216			if err := v.Validate(); err != nil {
10217				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
10218			}
10219		}
10220	}
10221
10222	if invalidParams.Len() > 0 {
10223		return invalidParams
10224	}
10225	return nil
10226}
10227
10228// SetApplication sets the Application field's value.
10229func (s *UpdateRobotApplicationInput) SetApplication(v string) *UpdateRobotApplicationInput {
10230	s.Application = &v
10231	return s
10232}
10233
10234// SetCurrentRevisionId sets the CurrentRevisionId field's value.
10235func (s *UpdateRobotApplicationInput) SetCurrentRevisionId(v string) *UpdateRobotApplicationInput {
10236	s.CurrentRevisionId = &v
10237	return s
10238}
10239
10240// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10241func (s *UpdateRobotApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationInput {
10242	s.RobotSoftwareSuite = v
10243	return s
10244}
10245
10246// SetSources sets the Sources field's value.
10247func (s *UpdateRobotApplicationInput) SetSources(v []*SourceConfig) *UpdateRobotApplicationInput {
10248	s.Sources = v
10249	return s
10250}
10251
10252type UpdateRobotApplicationOutput struct {
10253	_ struct{} `type:"structure"`
10254
10255	// The Amazon Resource Name (ARN) of the updated robot application.
10256	Arn *string `locationName:"arn" min:"1" type:"string"`
10257
10258	// The time, in milliseconds since the epoch, when the robot application was
10259	// last updated.
10260	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10261
10262	// The name of the robot application.
10263	Name *string `locationName:"name" min:"1" type:"string"`
10264
10265	// The revision id of the robot application.
10266	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
10267
10268	// The robot software suite used by the robot application.
10269	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
10270
10271	// The sources of the robot application.
10272	Sources []*Source `locationName:"sources" type:"list"`
10273
10274	// The version of the robot application.
10275	Version *string `locationName:"version" min:"1" type:"string"`
10276}
10277
10278// String returns the string representation
10279func (s UpdateRobotApplicationOutput) String() string {
10280	return awsutil.Prettify(s)
10281}
10282
10283// GoString returns the string representation
10284func (s UpdateRobotApplicationOutput) GoString() string {
10285	return s.String()
10286}
10287
10288// SetArn sets the Arn field's value.
10289func (s *UpdateRobotApplicationOutput) SetArn(v string) *UpdateRobotApplicationOutput {
10290	s.Arn = &v
10291	return s
10292}
10293
10294// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10295func (s *UpdateRobotApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateRobotApplicationOutput {
10296	s.LastUpdatedAt = &v
10297	return s
10298}
10299
10300// SetName sets the Name field's value.
10301func (s *UpdateRobotApplicationOutput) SetName(v string) *UpdateRobotApplicationOutput {
10302	s.Name = &v
10303	return s
10304}
10305
10306// SetRevisionId sets the RevisionId field's value.
10307func (s *UpdateRobotApplicationOutput) SetRevisionId(v string) *UpdateRobotApplicationOutput {
10308	s.RevisionId = &v
10309	return s
10310}
10311
10312// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10313func (s *UpdateRobotApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateRobotApplicationOutput {
10314	s.RobotSoftwareSuite = v
10315	return s
10316}
10317
10318// SetSources sets the Sources field's value.
10319func (s *UpdateRobotApplicationOutput) SetSources(v []*Source) *UpdateRobotApplicationOutput {
10320	s.Sources = v
10321	return s
10322}
10323
10324// SetVersion sets the Version field's value.
10325func (s *UpdateRobotApplicationOutput) SetVersion(v string) *UpdateRobotApplicationOutput {
10326	s.Version = &v
10327	return s
10328}
10329
10330type UpdateSimulationApplicationInput struct {
10331	_ struct{} `type:"structure"`
10332
10333	// The application information for the simulation application.
10334	//
10335	// Application is a required field
10336	Application *string `locationName:"application" min:"1" type:"string" required:"true"`
10337
10338	// The revision id for the robot application.
10339	CurrentRevisionId *string `locationName:"currentRevisionId" min:"1" type:"string"`
10340
10341	// The rendering engine for the simulation application.
10342	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
10343
10344	// Information about the robot software suite.
10345	//
10346	// RobotSoftwareSuite is a required field
10347	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure" required:"true"`
10348
10349	// The simulation software suite used by the simulation application.
10350	//
10351	// SimulationSoftwareSuite is a required field
10352	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure" required:"true"`
10353
10354	// The sources of the simulation application.
10355	//
10356	// Sources is a required field
10357	Sources []*SourceConfig `locationName:"sources" type:"list" required:"true"`
10358}
10359
10360// String returns the string representation
10361func (s UpdateSimulationApplicationInput) String() string {
10362	return awsutil.Prettify(s)
10363}
10364
10365// GoString returns the string representation
10366func (s UpdateSimulationApplicationInput) GoString() string {
10367	return s.String()
10368}
10369
10370// Validate inspects the fields of the type to determine if they are valid.
10371func (s *UpdateSimulationApplicationInput) Validate() error {
10372	invalidParams := request.ErrInvalidParams{Context: "UpdateSimulationApplicationInput"}
10373	if s.Application == nil {
10374		invalidParams.Add(request.NewErrParamRequired("Application"))
10375	}
10376	if s.Application != nil && len(*s.Application) < 1 {
10377		invalidParams.Add(request.NewErrParamMinLen("Application", 1))
10378	}
10379	if s.CurrentRevisionId != nil && len(*s.CurrentRevisionId) < 1 {
10380		invalidParams.Add(request.NewErrParamMinLen("CurrentRevisionId", 1))
10381	}
10382	if s.RobotSoftwareSuite == nil {
10383		invalidParams.Add(request.NewErrParamRequired("RobotSoftwareSuite"))
10384	}
10385	if s.SimulationSoftwareSuite == nil {
10386		invalidParams.Add(request.NewErrParamRequired("SimulationSoftwareSuite"))
10387	}
10388	if s.Sources == nil {
10389		invalidParams.Add(request.NewErrParamRequired("Sources"))
10390	}
10391	if s.Sources != nil {
10392		for i, v := range s.Sources {
10393			if v == nil {
10394				continue
10395			}
10396			if err := v.Validate(); err != nil {
10397				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Sources", i), err.(request.ErrInvalidParams))
10398			}
10399		}
10400	}
10401
10402	if invalidParams.Len() > 0 {
10403		return invalidParams
10404	}
10405	return nil
10406}
10407
10408// SetApplication sets the Application field's value.
10409func (s *UpdateSimulationApplicationInput) SetApplication(v string) *UpdateSimulationApplicationInput {
10410	s.Application = &v
10411	return s
10412}
10413
10414// SetCurrentRevisionId sets the CurrentRevisionId field's value.
10415func (s *UpdateSimulationApplicationInput) SetCurrentRevisionId(v string) *UpdateSimulationApplicationInput {
10416	s.CurrentRevisionId = &v
10417	return s
10418}
10419
10420// SetRenderingEngine sets the RenderingEngine field's value.
10421func (s *UpdateSimulationApplicationInput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationInput {
10422	s.RenderingEngine = v
10423	return s
10424}
10425
10426// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10427func (s *UpdateSimulationApplicationInput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationInput {
10428	s.RobotSoftwareSuite = v
10429	return s
10430}
10431
10432// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
10433func (s *UpdateSimulationApplicationInput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationInput {
10434	s.SimulationSoftwareSuite = v
10435	return s
10436}
10437
10438// SetSources sets the Sources field's value.
10439func (s *UpdateSimulationApplicationInput) SetSources(v []*SourceConfig) *UpdateSimulationApplicationInput {
10440	s.Sources = v
10441	return s
10442}
10443
10444type UpdateSimulationApplicationOutput struct {
10445	_ struct{} `type:"structure"`
10446
10447	// The Amazon Resource Name (ARN) of the updated simulation application.
10448	Arn *string `locationName:"arn" min:"1" type:"string"`
10449
10450	// The time, in milliseconds since the epoch, when the simulation application
10451	// was last updated.
10452	LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"`
10453
10454	// The name of the simulation application.
10455	Name *string `locationName:"name" min:"1" type:"string"`
10456
10457	// The rendering engine for the simulation application.
10458	RenderingEngine *RenderingEngine `locationName:"renderingEngine" type:"structure"`
10459
10460	// The revision id of the simulation application.
10461	RevisionId *string `locationName:"revisionId" min:"1" type:"string"`
10462
10463	// Information about the robot software suite.
10464	RobotSoftwareSuite *RobotSoftwareSuite `locationName:"robotSoftwareSuite" type:"structure"`
10465
10466	// The simulation software suite used by the simulation application.
10467	SimulationSoftwareSuite *SimulationSoftwareSuite `locationName:"simulationSoftwareSuite" type:"structure"`
10468
10469	// The sources of the simulation application.
10470	Sources []*Source `locationName:"sources" type:"list"`
10471
10472	// The version of the robot application.
10473	Version *string `locationName:"version" min:"1" type:"string"`
10474}
10475
10476// String returns the string representation
10477func (s UpdateSimulationApplicationOutput) String() string {
10478	return awsutil.Prettify(s)
10479}
10480
10481// GoString returns the string representation
10482func (s UpdateSimulationApplicationOutput) GoString() string {
10483	return s.String()
10484}
10485
10486// SetArn sets the Arn field's value.
10487func (s *UpdateSimulationApplicationOutput) SetArn(v string) *UpdateSimulationApplicationOutput {
10488	s.Arn = &v
10489	return s
10490}
10491
10492// SetLastUpdatedAt sets the LastUpdatedAt field's value.
10493func (s *UpdateSimulationApplicationOutput) SetLastUpdatedAt(v time.Time) *UpdateSimulationApplicationOutput {
10494	s.LastUpdatedAt = &v
10495	return s
10496}
10497
10498// SetName sets the Name field's value.
10499func (s *UpdateSimulationApplicationOutput) SetName(v string) *UpdateSimulationApplicationOutput {
10500	s.Name = &v
10501	return s
10502}
10503
10504// SetRenderingEngine sets the RenderingEngine field's value.
10505func (s *UpdateSimulationApplicationOutput) SetRenderingEngine(v *RenderingEngine) *UpdateSimulationApplicationOutput {
10506	s.RenderingEngine = v
10507	return s
10508}
10509
10510// SetRevisionId sets the RevisionId field's value.
10511func (s *UpdateSimulationApplicationOutput) SetRevisionId(v string) *UpdateSimulationApplicationOutput {
10512	s.RevisionId = &v
10513	return s
10514}
10515
10516// SetRobotSoftwareSuite sets the RobotSoftwareSuite field's value.
10517func (s *UpdateSimulationApplicationOutput) SetRobotSoftwareSuite(v *RobotSoftwareSuite) *UpdateSimulationApplicationOutput {
10518	s.RobotSoftwareSuite = v
10519	return s
10520}
10521
10522// SetSimulationSoftwareSuite sets the SimulationSoftwareSuite field's value.
10523func (s *UpdateSimulationApplicationOutput) SetSimulationSoftwareSuite(v *SimulationSoftwareSuite) *UpdateSimulationApplicationOutput {
10524	s.SimulationSoftwareSuite = v
10525	return s
10526}
10527
10528// SetSources sets the Sources field's value.
10529func (s *UpdateSimulationApplicationOutput) SetSources(v []*Source) *UpdateSimulationApplicationOutput {
10530	s.Sources = v
10531	return s
10532}
10533
10534// SetVersion sets the Version field's value.
10535func (s *UpdateSimulationApplicationOutput) SetVersion(v string) *UpdateSimulationApplicationOutput {
10536	s.Version = &v
10537	return s
10538}
10539
10540// If your simulation job accesses resources in a VPC, you provide this parameter
10541// identifying the list of security group IDs and subnet IDs. These must belong
10542// to the same VPC. You must provide at least one security group and two subnet
10543// IDs.
10544type VPCConfig struct {
10545	_ struct{} `type:"structure"`
10546
10547	// A boolean indicating whether to assign a public IP address.
10548	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
10549
10550	// A list of one or more security groups IDs in your VPC.
10551	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
10552
10553	// A list of one or more subnet IDs in your VPC.
10554	//
10555	// Subnets is a required field
10556	Subnets []*string `locationName:"subnets" min:"1" type:"list" required:"true"`
10557}
10558
10559// String returns the string representation
10560func (s VPCConfig) String() string {
10561	return awsutil.Prettify(s)
10562}
10563
10564// GoString returns the string representation
10565func (s VPCConfig) GoString() string {
10566	return s.String()
10567}
10568
10569// Validate inspects the fields of the type to determine if they are valid.
10570func (s *VPCConfig) Validate() error {
10571	invalidParams := request.ErrInvalidParams{Context: "VPCConfig"}
10572	if s.SecurityGroups != nil && len(s.SecurityGroups) < 1 {
10573		invalidParams.Add(request.NewErrParamMinLen("SecurityGroups", 1))
10574	}
10575	if s.Subnets == nil {
10576		invalidParams.Add(request.NewErrParamRequired("Subnets"))
10577	}
10578	if s.Subnets != nil && len(s.Subnets) < 1 {
10579		invalidParams.Add(request.NewErrParamMinLen("Subnets", 1))
10580	}
10581
10582	if invalidParams.Len() > 0 {
10583		return invalidParams
10584	}
10585	return nil
10586}
10587
10588// SetAssignPublicIp sets the AssignPublicIp field's value.
10589func (s *VPCConfig) SetAssignPublicIp(v bool) *VPCConfig {
10590	s.AssignPublicIp = &v
10591	return s
10592}
10593
10594// SetSecurityGroups sets the SecurityGroups field's value.
10595func (s *VPCConfig) SetSecurityGroups(v []*string) *VPCConfig {
10596	s.SecurityGroups = v
10597	return s
10598}
10599
10600// SetSubnets sets the Subnets field's value.
10601func (s *VPCConfig) SetSubnets(v []*string) *VPCConfig {
10602	s.Subnets = v
10603	return s
10604}
10605
10606// VPC configuration associated with your simulation job.
10607type VPCConfigResponse struct {
10608	_ struct{} `type:"structure"`
10609
10610	// A boolean indicating if a public IP was assigned.
10611	AssignPublicIp *bool `locationName:"assignPublicIp" type:"boolean"`
10612
10613	// A list of security group IDs associated with the simulation job.
10614	SecurityGroups []*string `locationName:"securityGroups" min:"1" type:"list"`
10615
10616	// A list of subnet IDs associated with the simulation job.
10617	Subnets []*string `locationName:"subnets" min:"1" type:"list"`
10618
10619	// The VPC ID associated with your simulation job.
10620	VpcId *string `locationName:"vpcId" type:"string"`
10621}
10622
10623// String returns the string representation
10624func (s VPCConfigResponse) String() string {
10625	return awsutil.Prettify(s)
10626}
10627
10628// GoString returns the string representation
10629func (s VPCConfigResponse) GoString() string {
10630	return s.String()
10631}
10632
10633// SetAssignPublicIp sets the AssignPublicIp field's value.
10634func (s *VPCConfigResponse) SetAssignPublicIp(v bool) *VPCConfigResponse {
10635	s.AssignPublicIp = &v
10636	return s
10637}
10638
10639// SetSecurityGroups sets the SecurityGroups field's value.
10640func (s *VPCConfigResponse) SetSecurityGroups(v []*string) *VPCConfigResponse {
10641	s.SecurityGroups = v
10642	return s
10643}
10644
10645// SetSubnets sets the Subnets field's value.
10646func (s *VPCConfigResponse) SetSubnets(v []*string) *VPCConfigResponse {
10647	s.Subnets = v
10648	return s
10649}
10650
10651// SetVpcId sets the VpcId field's value.
10652func (s *VPCConfigResponse) SetVpcId(v string) *VPCConfigResponse {
10653	s.VpcId = &v
10654	return s
10655}
10656
10657const (
10658	// ArchitectureX8664 is a Architecture enum value
10659	ArchitectureX8664 = "X86_64"
10660
10661	// ArchitectureArm64 is a Architecture enum value
10662	ArchitectureArm64 = "ARM64"
10663
10664	// ArchitectureArmhf is a Architecture enum value
10665	ArchitectureArmhf = "ARMHF"
10666)
10667
10668const (
10669	// DeploymentJobErrorCodeResourceNotFound is a DeploymentJobErrorCode enum value
10670	DeploymentJobErrorCodeResourceNotFound = "ResourceNotFound"
10671
10672	// DeploymentJobErrorCodeEnvironmentSetupError is a DeploymentJobErrorCode enum value
10673	DeploymentJobErrorCodeEnvironmentSetupError = "EnvironmentSetupError"
10674
10675	// DeploymentJobErrorCodeEtagMismatch is a DeploymentJobErrorCode enum value
10676	DeploymentJobErrorCodeEtagMismatch = "EtagMismatch"
10677
10678	// DeploymentJobErrorCodeFailureThresholdBreached is a DeploymentJobErrorCode enum value
10679	DeploymentJobErrorCodeFailureThresholdBreached = "FailureThresholdBreached"
10680
10681	// DeploymentJobErrorCodeRobotDeploymentAborted is a DeploymentJobErrorCode enum value
10682	DeploymentJobErrorCodeRobotDeploymentAborted = "RobotDeploymentAborted"
10683
10684	// DeploymentJobErrorCodeRobotDeploymentNoResponse is a DeploymentJobErrorCode enum value
10685	DeploymentJobErrorCodeRobotDeploymentNoResponse = "RobotDeploymentNoResponse"
10686
10687	// DeploymentJobErrorCodeRobotAgentConnectionTimeout is a DeploymentJobErrorCode enum value
10688	DeploymentJobErrorCodeRobotAgentConnectionTimeout = "RobotAgentConnectionTimeout"
10689
10690	// DeploymentJobErrorCodeGreengrassDeploymentFailed is a DeploymentJobErrorCode enum value
10691	DeploymentJobErrorCodeGreengrassDeploymentFailed = "GreengrassDeploymentFailed"
10692
10693	// DeploymentJobErrorCodeMissingRobotArchitecture is a DeploymentJobErrorCode enum value
10694	DeploymentJobErrorCodeMissingRobotArchitecture = "MissingRobotArchitecture"
10695
10696	// DeploymentJobErrorCodeMissingRobotApplicationArchitecture is a DeploymentJobErrorCode enum value
10697	DeploymentJobErrorCodeMissingRobotApplicationArchitecture = "MissingRobotApplicationArchitecture"
10698
10699	// DeploymentJobErrorCodeMissingRobotDeploymentResource is a DeploymentJobErrorCode enum value
10700	DeploymentJobErrorCodeMissingRobotDeploymentResource = "MissingRobotDeploymentResource"
10701
10702	// DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist is a DeploymentJobErrorCode enum value
10703	DeploymentJobErrorCodeGreengrassGroupVersionDoesNotExist = "GreengrassGroupVersionDoesNotExist"
10704
10705	// DeploymentJobErrorCodeExtractingBundleFailure is a DeploymentJobErrorCode enum value
10706	DeploymentJobErrorCodeExtractingBundleFailure = "ExtractingBundleFailure"
10707
10708	// DeploymentJobErrorCodePreLaunchFileFailure is a DeploymentJobErrorCode enum value
10709	DeploymentJobErrorCodePreLaunchFileFailure = "PreLaunchFileFailure"
10710
10711	// DeploymentJobErrorCodePostLaunchFileFailure is a DeploymentJobErrorCode enum value
10712	DeploymentJobErrorCodePostLaunchFileFailure = "PostLaunchFileFailure"
10713
10714	// DeploymentJobErrorCodeBadPermissionError is a DeploymentJobErrorCode enum value
10715	DeploymentJobErrorCodeBadPermissionError = "BadPermissionError"
10716
10717	// DeploymentJobErrorCodeDownloadConditionFailed is a DeploymentJobErrorCode enum value
10718	DeploymentJobErrorCodeDownloadConditionFailed = "DownloadConditionFailed"
10719
10720	// DeploymentJobErrorCodeInternalServerError is a DeploymentJobErrorCode enum value
10721	DeploymentJobErrorCodeInternalServerError = "InternalServerError"
10722)
10723
10724const (
10725	// DeploymentStatusPending is a DeploymentStatus enum value
10726	DeploymentStatusPending = "Pending"
10727
10728	// DeploymentStatusPreparing is a DeploymentStatus enum value
10729	DeploymentStatusPreparing = "Preparing"
10730
10731	// DeploymentStatusInProgress is a DeploymentStatus enum value
10732	DeploymentStatusInProgress = "InProgress"
10733
10734	// DeploymentStatusFailed is a DeploymentStatus enum value
10735	DeploymentStatusFailed = "Failed"
10736
10737	// DeploymentStatusSucceeded is a DeploymentStatus enum value
10738	DeploymentStatusSucceeded = "Succeeded"
10739
10740	// DeploymentStatusCanceled is a DeploymentStatus enum value
10741	DeploymentStatusCanceled = "Canceled"
10742)
10743
10744const (
10745	// FailureBehaviorFail is a FailureBehavior enum value
10746	FailureBehaviorFail = "Fail"
10747
10748	// FailureBehaviorContinue is a FailureBehavior enum value
10749	FailureBehaviorContinue = "Continue"
10750)
10751
10752const (
10753	// RenderingEngineTypeOgre is a RenderingEngineType enum value
10754	RenderingEngineTypeOgre = "OGRE"
10755)
10756
10757const (
10758	// RobotDeploymentStepValidating is a RobotDeploymentStep enum value
10759	RobotDeploymentStepValidating = "Validating"
10760
10761	// RobotDeploymentStepDownloadingExtracting is a RobotDeploymentStep enum value
10762	RobotDeploymentStepDownloadingExtracting = "DownloadingExtracting"
10763
10764	// RobotDeploymentStepExecutingDownloadCondition is a RobotDeploymentStep enum value
10765	RobotDeploymentStepExecutingDownloadCondition = "ExecutingDownloadCondition"
10766
10767	// RobotDeploymentStepExecutingPreLaunch is a RobotDeploymentStep enum value
10768	RobotDeploymentStepExecutingPreLaunch = "ExecutingPreLaunch"
10769
10770	// RobotDeploymentStepLaunching is a RobotDeploymentStep enum value
10771	RobotDeploymentStepLaunching = "Launching"
10772
10773	// RobotDeploymentStepExecutingPostLaunch is a RobotDeploymentStep enum value
10774	RobotDeploymentStepExecutingPostLaunch = "ExecutingPostLaunch"
10775
10776	// RobotDeploymentStepFinished is a RobotDeploymentStep enum value
10777	RobotDeploymentStepFinished = "Finished"
10778)
10779
10780const (
10781	// RobotSoftwareSuiteTypeRos is a RobotSoftwareSuiteType enum value
10782	RobotSoftwareSuiteTypeRos = "ROS"
10783
10784	// RobotSoftwareSuiteTypeRos2 is a RobotSoftwareSuiteType enum value
10785	RobotSoftwareSuiteTypeRos2 = "ROS2"
10786)
10787
10788const (
10789	// RobotSoftwareSuiteVersionTypeKinetic is a RobotSoftwareSuiteVersionType enum value
10790	RobotSoftwareSuiteVersionTypeKinetic = "Kinetic"
10791
10792	// RobotSoftwareSuiteVersionTypeMelodic is a RobotSoftwareSuiteVersionType enum value
10793	RobotSoftwareSuiteVersionTypeMelodic = "Melodic"
10794
10795	// RobotSoftwareSuiteVersionTypeDashing is a RobotSoftwareSuiteVersionType enum value
10796	RobotSoftwareSuiteVersionTypeDashing = "Dashing"
10797)
10798
10799const (
10800	// RobotStatusAvailable is a RobotStatus enum value
10801	RobotStatusAvailable = "Available"
10802
10803	// RobotStatusRegistered is a RobotStatus enum value
10804	RobotStatusRegistered = "Registered"
10805
10806	// RobotStatusPendingNewDeployment is a RobotStatus enum value
10807	RobotStatusPendingNewDeployment = "PendingNewDeployment"
10808
10809	// RobotStatusDeploying is a RobotStatus enum value
10810	RobotStatusDeploying = "Deploying"
10811
10812	// RobotStatusFailed is a RobotStatus enum value
10813	RobotStatusFailed = "Failed"
10814
10815	// RobotStatusInSync is a RobotStatus enum value
10816	RobotStatusInSync = "InSync"
10817
10818	// RobotStatusNoResponse is a RobotStatus enum value
10819	RobotStatusNoResponse = "NoResponse"
10820)
10821
10822const (
10823	// SimulationJobErrorCodeInternalServiceError is a SimulationJobErrorCode enum value
10824	SimulationJobErrorCodeInternalServiceError = "InternalServiceError"
10825
10826	// SimulationJobErrorCodeRobotApplicationCrash is a SimulationJobErrorCode enum value
10827	SimulationJobErrorCodeRobotApplicationCrash = "RobotApplicationCrash"
10828
10829	// SimulationJobErrorCodeSimulationApplicationCrash is a SimulationJobErrorCode enum value
10830	SimulationJobErrorCodeSimulationApplicationCrash = "SimulationApplicationCrash"
10831
10832	// SimulationJobErrorCodeBadPermissionsRobotApplication is a SimulationJobErrorCode enum value
10833	SimulationJobErrorCodeBadPermissionsRobotApplication = "BadPermissionsRobotApplication"
10834
10835	// SimulationJobErrorCodeBadPermissionsSimulationApplication is a SimulationJobErrorCode enum value
10836	SimulationJobErrorCodeBadPermissionsSimulationApplication = "BadPermissionsSimulationApplication"
10837
10838	// SimulationJobErrorCodeBadPermissionsS3object is a SimulationJobErrorCode enum value
10839	SimulationJobErrorCodeBadPermissionsS3object = "BadPermissionsS3Object"
10840
10841	// SimulationJobErrorCodeBadPermissionsS3output is a SimulationJobErrorCode enum value
10842	SimulationJobErrorCodeBadPermissionsS3output = "BadPermissionsS3Output"
10843
10844	// SimulationJobErrorCodeBadPermissionsCloudwatchLogs is a SimulationJobErrorCode enum value
10845	SimulationJobErrorCodeBadPermissionsCloudwatchLogs = "BadPermissionsCloudwatchLogs"
10846
10847	// SimulationJobErrorCodeSubnetIpLimitExceeded is a SimulationJobErrorCode enum value
10848	SimulationJobErrorCodeSubnetIpLimitExceeded = "SubnetIpLimitExceeded"
10849
10850	// SimulationJobErrorCodeEnilimitExceeded is a SimulationJobErrorCode enum value
10851	SimulationJobErrorCodeEnilimitExceeded = "ENILimitExceeded"
10852
10853	// SimulationJobErrorCodeBadPermissionsUserCredentials is a SimulationJobErrorCode enum value
10854	SimulationJobErrorCodeBadPermissionsUserCredentials = "BadPermissionsUserCredentials"
10855
10856	// SimulationJobErrorCodeInvalidBundleRobotApplication is a SimulationJobErrorCode enum value
10857	SimulationJobErrorCodeInvalidBundleRobotApplication = "InvalidBundleRobotApplication"
10858
10859	// SimulationJobErrorCodeInvalidBundleSimulationApplication is a SimulationJobErrorCode enum value
10860	SimulationJobErrorCodeInvalidBundleSimulationApplication = "InvalidBundleSimulationApplication"
10861
10862	// SimulationJobErrorCodeInvalidS3resource is a SimulationJobErrorCode enum value
10863	SimulationJobErrorCodeInvalidS3resource = "InvalidS3Resource"
10864
10865	// SimulationJobErrorCodeMismatchedEtag is a SimulationJobErrorCode enum value
10866	SimulationJobErrorCodeMismatchedEtag = "MismatchedEtag"
10867
10868	// SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
10869	SimulationJobErrorCodeRobotApplicationVersionMismatchedEtag = "RobotApplicationVersionMismatchedEtag"
10870
10871	// SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag is a SimulationJobErrorCode enum value
10872	SimulationJobErrorCodeSimulationApplicationVersionMismatchedEtag = "SimulationApplicationVersionMismatchedEtag"
10873
10874	// SimulationJobErrorCodeResourceNotFound is a SimulationJobErrorCode enum value
10875	SimulationJobErrorCodeResourceNotFound = "ResourceNotFound"
10876
10877	// SimulationJobErrorCodeInvalidInput is a SimulationJobErrorCode enum value
10878	SimulationJobErrorCodeInvalidInput = "InvalidInput"
10879
10880	// SimulationJobErrorCodeWrongRegionS3bucket is a SimulationJobErrorCode enum value
10881	SimulationJobErrorCodeWrongRegionS3bucket = "WrongRegionS3Bucket"
10882
10883	// SimulationJobErrorCodeWrongRegionS3output is a SimulationJobErrorCode enum value
10884	SimulationJobErrorCodeWrongRegionS3output = "WrongRegionS3Output"
10885
10886	// SimulationJobErrorCodeWrongRegionRobotApplication is a SimulationJobErrorCode enum value
10887	SimulationJobErrorCodeWrongRegionRobotApplication = "WrongRegionRobotApplication"
10888
10889	// SimulationJobErrorCodeWrongRegionSimulationApplication is a SimulationJobErrorCode enum value
10890	SimulationJobErrorCodeWrongRegionSimulationApplication = "WrongRegionSimulationApplication"
10891)
10892
10893const (
10894	// SimulationJobStatusPending is a SimulationJobStatus enum value
10895	SimulationJobStatusPending = "Pending"
10896
10897	// SimulationJobStatusPreparing is a SimulationJobStatus enum value
10898	SimulationJobStatusPreparing = "Preparing"
10899
10900	// SimulationJobStatusRunning is a SimulationJobStatus enum value
10901	SimulationJobStatusRunning = "Running"
10902
10903	// SimulationJobStatusRestarting is a SimulationJobStatus enum value
10904	SimulationJobStatusRestarting = "Restarting"
10905
10906	// SimulationJobStatusCompleted is a SimulationJobStatus enum value
10907	SimulationJobStatusCompleted = "Completed"
10908
10909	// SimulationJobStatusFailed is a SimulationJobStatus enum value
10910	SimulationJobStatusFailed = "Failed"
10911
10912	// SimulationJobStatusRunningFailed is a SimulationJobStatus enum value
10913	SimulationJobStatusRunningFailed = "RunningFailed"
10914
10915	// SimulationJobStatusTerminating is a SimulationJobStatus enum value
10916	SimulationJobStatusTerminating = "Terminating"
10917
10918	// SimulationJobStatusTerminated is a SimulationJobStatus enum value
10919	SimulationJobStatusTerminated = "Terminated"
10920
10921	// SimulationJobStatusCanceled is a SimulationJobStatus enum value
10922	SimulationJobStatusCanceled = "Canceled"
10923)
10924
10925const (
10926	// SimulationSoftwareSuiteTypeGazebo is a SimulationSoftwareSuiteType enum value
10927	SimulationSoftwareSuiteTypeGazebo = "Gazebo"
10928
10929	// SimulationSoftwareSuiteTypeRosbagPlay is a SimulationSoftwareSuiteType enum value
10930	SimulationSoftwareSuiteTypeRosbagPlay = "RosbagPlay"
10931)
10932