1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Information about the batch policy.
10type BatchPolicy struct {
11
12	// The number of active simulation jobs create as part of the batch that can be in
13	// an active state at the same time. Active states include: Pending,Preparing,
14	// Running, Restarting, RunningFailed and Terminating. All other states are
15	// terminal states.
16	MaxConcurrency *int32
17
18	// The amount of time, in seconds, to wait for the batch to complete. If a batch
19	// times out, and there are pending requests that were failing due to an internal
20	// failure (like InternalServiceError), they will be moved to the failed list and
21	// the batch status will be Failed. If the pending requests were failing for any
22	// other reason, the failed pending requests will be moved to the failed list and
23	// the batch status will be TimedOut.
24	TimeoutInSeconds *int64
25}
26
27// Compute information for the simulation job.
28type Compute struct {
29
30	// The simulation unit limit. Your simulation is allocated CPU and memory
31	// proportional to the supplied simulation unit limit. A simulation unit is 1 vcpu
32	// and 2GB of memory. You are only billed for the SU utilization you consume up to
33	// the maximim value provided. The default is 15.
34	SimulationUnitLimit *int32
35}
36
37// Compute information for the simulation job
38type ComputeResponse struct {
39
40	// The simulation unit limit. Your simulation is allocated CPU and memory
41	// proportional to the supplied simulation unit limit. A simulation unit is 1 vcpu
42	// and 2GB of memory. You are only billed for the SU utilization you consume up to
43	// the maximim value provided. The default is 15.
44	SimulationUnitLimit *int32
45}
46
47// Information about a data source.
48type DataSource struct {
49
50	// The name of the data source.
51	Name *string
52
53	// The S3 bucket where the data files are located.
54	S3Bucket *string
55
56	// The list of S3 keys identifying the data source files.
57	S3Keys []S3KeyOutput
58}
59
60// Information about a data source.
61type DataSourceConfig struct {
62
63	// The name of the data source.
64	//
65	// This member is required.
66	Name *string
67
68	// The S3 bucket where the data files are located.
69	//
70	// This member is required.
71	S3Bucket *string
72
73	// The list of S3 keys identifying the data source files.
74	//
75	// This member is required.
76	S3Keys []string
77}
78
79// Information about a deployment application configuration.
80type DeploymentApplicationConfig struct {
81
82	// The Amazon Resource Name (ARN) of the robot application.
83	//
84	// This member is required.
85	Application *string
86
87	// The version of the application.
88	//
89	// This member is required.
90	ApplicationVersion *string
91
92	// The launch configuration.
93	//
94	// This member is required.
95	LaunchConfig *DeploymentLaunchConfig
96}
97
98// Information about a deployment configuration.
99type DeploymentConfig struct {
100
101	// The percentage of robots receiving the deployment at the same time.
102	ConcurrentDeploymentPercentage *int32
103
104	// The download condition file.
105	DownloadConditionFile *S3Object
106
107	// The percentage of deployments that need to fail before stopping deployment.
108	FailureThresholdPercentage *int32
109
110	// The amount of time, in seconds, to wait for deployment to a single robot to
111	// complete. Choose a time between 1 minute and 7 days. The default is 5 hours.
112	RobotDeploymentTimeoutInSeconds *int64
113}
114
115// Information about a deployment job.
116type DeploymentJob struct {
117
118	// The Amazon Resource Name (ARN) of the deployment job.
119	Arn *string
120
121	// The time, in milliseconds since the epoch, when the deployment job was created.
122	CreatedAt *time.Time
123
124	// The deployment application configuration.
125	DeploymentApplicationConfigs []DeploymentApplicationConfig
126
127	// The deployment configuration.
128	DeploymentConfig *DeploymentConfig
129
130	// The deployment job failure code.
131	FailureCode DeploymentJobErrorCode
132
133	// A short description of the reason why the deployment job failed.
134	FailureReason *string
135
136	// The Amazon Resource Name (ARN) of the fleet.
137	Fleet *string
138
139	// The status of the deployment job.
140	Status DeploymentStatus
141}
142
143// Configuration information for a deployment launch.
144type DeploymentLaunchConfig struct {
145
146	// The launch file name.
147	//
148	// This member is required.
149	LaunchFile *string
150
151	// The package name.
152	//
153	// This member is required.
154	PackageName *string
155
156	// An array of key/value pairs specifying environment variables for the robot
157	// application
158	EnvironmentVariables map[string]string
159
160	// The deployment post-launch file. This file will be executed after the launch
161	// file.
162	PostLaunchFile *string
163
164	// The deployment pre-launch file. This file will be executed prior to the launch
165	// file.
166	PreLaunchFile *string
167}
168
169// Information about a failed create simulation job request.
170type FailedCreateSimulationJobRequest struct {
171
172	// The time, in milliseconds since the epoch, when the simulation job batch failed.
173	FailedAt *time.Time
174
175	// The failure code.
176	FailureCode SimulationJobErrorCode
177
178	// The failure reason of the simulation job request.
179	FailureReason *string
180
181	// The simulation job request.
182	Request *SimulationJobRequest
183}
184
185// Information about worlds that failed.
186type FailureSummary struct {
187
188	// The worlds that failed.
189	Failures []WorldFailure
190
191	// The total number of failures.
192	TotalFailureCount int32
193}
194
195// Information about a filter.
196type Filter struct {
197
198	// The name of the filter.
199	Name *string
200
201	// A list of values.
202	Values []string
203}
204
205// Information about worlds that finished.
206type FinishedWorldsSummary struct {
207
208	// Information about worlds that failed.
209	FailureSummary *FailureSummary
210
211	// The total number of finished worlds.
212	FinishedCount int32
213
214	// A list of worlds that succeeded.
215	SucceededWorlds []string
216}
217
218// Information about a fleet.
219type Fleet struct {
220
221	// The Amazon Resource Name (ARN) of the fleet.
222	Arn *string
223
224	// The time, in milliseconds since the epoch, when the fleet was created.
225	CreatedAt *time.Time
226
227	// The Amazon Resource Name (ARN) of the last deployment job.
228	LastDeploymentJob *string
229
230	// The status of the last fleet deployment.
231	LastDeploymentStatus DeploymentStatus
232
233	// The time of the last deployment.
234	LastDeploymentTime *time.Time
235
236	// The name of the fleet.
237	Name *string
238}
239
240// Information about a launch configuration.
241type LaunchConfig struct {
242
243	// The launch file name.
244	//
245	// This member is required.
246	LaunchFile *string
247
248	// The package name.
249	//
250	// This member is required.
251	PackageName *string
252
253	// The environment variables for the application launch.
254	EnvironmentVariables map[string]string
255
256	// The port forwarding configuration.
257	PortForwardingConfig *PortForwardingConfig
258
259	// Boolean indicating whether a streaming session will be configured for the
260	// application. If True, AWS RoboMaker will configure a connection so you can
261	// interact with your application as it is running in the simulation. You must
262	// configure and launch the component. It must have a graphical user interface.
263	StreamUI bool
264}
265
266// The logging configuration.
267type LoggingConfig struct {
268
269	// A boolean indicating whether to record all ROS topics.
270	//
271	// This member is required.
272	RecordAllRosTopics *bool
273}
274
275// Describes a network interface.
276type NetworkInterface struct {
277
278	// The ID of the network interface.
279	NetworkInterfaceId *string
280
281	// The IPv4 address of the network interface within the subnet.
282	PrivateIpAddress *string
283
284	// The IPv4 public address of the network interface.
285	PublicIpAddress *string
286}
287
288// The output location.
289type OutputLocation struct {
290
291	// The S3 bucket for output.
292	S3Bucket *string
293
294	// The S3 folder in the s3Bucket where output files will be placed.
295	S3Prefix *string
296}
297
298// Configuration information for port forwarding.
299type PortForwardingConfig struct {
300
301	// The port mappings for the configuration.
302	PortMappings []PortMapping
303}
304
305// An object representing a port mapping.
306type PortMapping struct {
307
308	// The port number on the application.
309	//
310	// This member is required.
311	ApplicationPort int32
312
313	// The port number on the simulation job instance to use as a remote connection
314	// point.
315	//
316	// This member is required.
317	JobPort int32
318
319	// A Boolean indicating whether to enable this port mapping on public IP.
320	EnableOnPublicIp bool
321}
322
323// Information about the progress of a deployment job.
324type ProgressDetail struct {
325
326	// The current progress status. Validating Validating the deployment.
327	// DownloadingExtracting Downloading and extracting the bundle on the robot.
328	// ExecutingPreLaunch Executing pre-launch script(s) if provided. Launching
329	// Launching the robot application. ExecutingPostLaunch Executing post-launch
330	// script(s) if provided. Finished Deployment is complete.
331	CurrentProgress RobotDeploymentStep
332
333	// Estimated amount of time in seconds remaining in the step. This currently only
334	// applies to the Downloading/Extracting step of the deployment. It is empty for
335	// other steps.
336	EstimatedTimeRemainingSeconds *int32
337
338	// Precentage of the step that is done. This currently only applies to the
339	// Downloading/Extracting step of the deployment. It is empty for other steps.
340	PercentDone *float32
341
342	// The Amazon Resource Name (ARN) of the deployment job.
343	TargetResource *string
344}
345
346// Information about a rendering engine.
347type RenderingEngine struct {
348
349	// The name of the rendering engine.
350	Name RenderingEngineType
351
352	// The version of the rendering engine.
353	Version *string
354}
355
356// Information about a robot.
357type Robot struct {
358
359	// The architecture of the robot.
360	Architecture Architecture
361
362	// The Amazon Resource Name (ARN) of the robot.
363	Arn *string
364
365	// The time, in milliseconds since the epoch, when the robot was created.
366	CreatedAt *time.Time
367
368	// The Amazon Resource Name (ARN) of the fleet.
369	FleetArn *string
370
371	// The Greengrass group associated with the robot.
372	GreenGrassGroupId *string
373
374	// The Amazon Resource Name (ARN) of the last deployment job.
375	LastDeploymentJob *string
376
377	// The time of the last deployment.
378	LastDeploymentTime *time.Time
379
380	// The name of the robot.
381	Name *string
382
383	// The status of the robot.
384	Status RobotStatus
385}
386
387// Application configuration information for a robot.
388type RobotApplicationConfig struct {
389
390	// The application information for the robot application.
391	//
392	// This member is required.
393	Application *string
394
395	// The launch configuration for the robot application.
396	//
397	// This member is required.
398	LaunchConfig *LaunchConfig
399
400	// The version of the robot application.
401	ApplicationVersion *string
402
403	// Information about tools configured for the robot application.
404	Tools []Tool
405
406	// The upload configurations for the robot application.
407	UploadConfigurations []UploadConfiguration
408
409	// A Boolean indicating whether to use default robot application tools. The default
410	// tools are rviz, rqt, terminal and rosbag record. The default is False.
411	UseDefaultTools *bool
412
413	// A Boolean indicating whether to use default upload configurations. By default,
414	// .ros and .gazebo files are uploaded when the application terminates and all ROS
415	// topics will be recorded. If you set this value, you must specify an
416	// outputLocation.
417	UseDefaultUploadConfigurations *bool
418}
419
420// Summary information for a robot application.
421type RobotApplicationSummary struct {
422
423	// The Amazon Resource Name (ARN) of the robot.
424	Arn *string
425
426	// The time, in milliseconds since the epoch, when the robot application was last
427	// updated.
428	LastUpdatedAt *time.Time
429
430	// The name of the robot application.
431	Name *string
432
433	// Information about a robot software suite (ROS distribution).
434	RobotSoftwareSuite *RobotSoftwareSuite
435
436	// The version of the robot application.
437	Version *string
438}
439
440// Information about a robot deployment.
441type RobotDeployment struct {
442
443	// The robot deployment Amazon Resource Name (ARN).
444	Arn *string
445
446	// The time, in milliseconds since the epoch, when the deployment finished.
447	DeploymentFinishTime *time.Time
448
449	// The time, in milliseconds since the epoch, when the deployment was started.
450	DeploymentStartTime *time.Time
451
452	// The robot deployment failure code.
453	FailureCode DeploymentJobErrorCode
454
455	// A short description of the reason why the robot deployment failed.
456	FailureReason *string
457
458	// Information about how the deployment is progressing.
459	ProgressDetail *ProgressDetail
460
461	// The status of the robot deployment.
462	Status RobotStatus
463}
464
465// Information about a robot software suite (ROS distribution).
466type RobotSoftwareSuite struct {
467
468	// The name of the robot software suite (ROS distribution).
469	Name RobotSoftwareSuiteType
470
471	// The version of the robot software suite (ROS distribution).
472	Version RobotSoftwareSuiteVersionType
473}
474
475// Information about S3 keys.
476type S3KeyOutput struct {
477
478	// The etag for the object.
479	Etag *string
480
481	// The S3 key.
482	S3Key *string
483}
484
485// Information about an S3 object.
486type S3Object struct {
487
488	// The bucket containing the object.
489	//
490	// This member is required.
491	Bucket *string
492
493	// The key of the object.
494	//
495	// This member is required.
496	Key *string
497
498	// The etag of the object.
499	Etag *string
500}
501
502// Information about a simulation application configuration.
503type SimulationApplicationConfig struct {
504
505	// The application information for the simulation application.
506	//
507	// This member is required.
508	Application *string
509
510	// The launch configuration for the simulation application.
511	//
512	// This member is required.
513	LaunchConfig *LaunchConfig
514
515	// The version of the simulation application.
516	ApplicationVersion *string
517
518	// Information about tools configured for the simulation application.
519	Tools []Tool
520
521	// Information about upload configurations for the simulation application.
522	UploadConfigurations []UploadConfiguration
523
524	// A Boolean indicating whether to use default simulation application tools. The
525	// default tools are rviz, rqt, terminal and rosbag record. The default is False.
526	UseDefaultTools *bool
527
528	// A Boolean indicating whether to use default upload configurations. By default,
529	// .ros and .gazebo files are uploaded when the application terminates and all ROS
530	// topics will be recorded. If you set this value, you must specify an
531	// outputLocation.
532	UseDefaultUploadConfigurations *bool
533
534	// A list of world configurations.
535	WorldConfigs []WorldConfig
536}
537
538// Summary information for a simulation application.
539type SimulationApplicationSummary struct {
540
541	// The Amazon Resource Name (ARN) of the simulation application.
542	Arn *string
543
544	// The time, in milliseconds since the epoch, when the simulation application was
545	// last updated.
546	LastUpdatedAt *time.Time
547
548	// The name of the simulation application.
549	Name *string
550
551	// Information about a robot software suite (ROS distribution).
552	RobotSoftwareSuite *RobotSoftwareSuite
553
554	// Information about a simulation software suite.
555	SimulationSoftwareSuite *SimulationSoftwareSuite
556
557	// The version of the simulation application.
558	Version *string
559}
560
561// Information about a simulation job.
562type SimulationJob struct {
563
564	// The Amazon Resource Name (ARN) of the simulation job.
565	Arn *string
566
567	// A unique identifier for this SimulationJob request.
568	ClientRequestToken *string
569
570	// Compute information for the simulation job
571	Compute *ComputeResponse
572
573	// The data sources for the simulation job.
574	DataSources []DataSource
575
576	// The failure behavior the simulation job. Continue Restart the simulation job in
577	// the same host instance. Fail Stop the simulation job and terminate the instance.
578	FailureBehavior FailureBehavior
579
580	// The failure code of the simulation job if it failed.
581	FailureCode SimulationJobErrorCode
582
583	// The reason why the simulation job failed.
584	FailureReason *string
585
586	// The IAM role that allows the simulation instance to call the AWS APIs that are
587	// specified in its associated policies on your behalf. This is how credentials are
588	// passed in to your simulation job.
589	IamRole *string
590
591	// The time, in milliseconds since the epoch, when the simulation job was last
592	// started.
593	LastStartedAt *time.Time
594
595	// The time, in milliseconds since the epoch, when the simulation job was last
596	// updated.
597	LastUpdatedAt *time.Time
598
599	// The logging configuration.
600	LoggingConfig *LoggingConfig
601
602	// The maximum simulation job duration in seconds. The value must be 8 days
603	// (691,200 seconds) or less.
604	MaxJobDurationInSeconds int64
605
606	// The name of the simulation job.
607	Name *string
608
609	// Information about a network interface.
610	NetworkInterface *NetworkInterface
611
612	// Location for output files generated by the simulation job.
613	OutputLocation *OutputLocation
614
615	// A list of robot applications.
616	RobotApplications []RobotApplicationConfig
617
618	// A list of simulation applications.
619	SimulationApplications []SimulationApplicationConfig
620
621	// The simulation job execution duration in milliseconds.
622	SimulationTimeMillis int64
623
624	// Status of the simulation job.
625	Status SimulationJobStatus
626
627	// A map that contains tag keys and tag values that are attached to the simulation
628	// job.
629	Tags map[string]string
630
631	// VPC configuration information.
632	VpcConfig *VPCConfigResponse
633}
634
635// Information about a simulation job batch.
636type SimulationJobBatchSummary struct {
637
638	// The Amazon Resource Name (ARN) of the batch.
639	Arn *string
640
641	// The time, in milliseconds since the epoch, when the simulation job batch was
642	// created.
643	CreatedAt *time.Time
644
645	// The number of created simulation job requests.
646	CreatedRequestCount int32
647
648	// The number of failed simulation job requests.
649	FailedRequestCount int32
650
651	// The time, in milliseconds since the epoch, when the simulation job batch was
652	// last updated.
653	LastUpdatedAt *time.Time
654
655	// The number of pending simulation job requests.
656	PendingRequestCount int32
657
658	// The status of the simulation job batch. Pending The simulation job batch request
659	// is pending. InProgress The simulation job batch is in progress. Failed The
660	// simulation job batch failed. One or more simulation job requests could not be
661	// completed due to an internal failure (like InternalServiceError). See
662	// failureCode and failureReason for more information. Completed The simulation
663	// batch job completed. A batch is complete when (1) there are no pending
664	// simulation job requests in the batch and none of the failed simulation job
665	// requests are due to InternalServiceError and (2) when all created simulation
666	// jobs have reached a terminal state (for example, Completed or Failed). Canceled
667	// The simulation batch job was cancelled. Canceling The simulation batch job is
668	// being cancelled. Completing The simulation batch job is completing. TimingOut
669	// The simulation job batch is timing out. If a batch timing out, and there are
670	// pending requests that were failing due to an internal failure (like
671	// InternalServiceError), the batch status will be Failed. If there are no such
672	// failing request, the batch status will be TimedOut. TimedOut The simulation
673	// batch job timed out.
674	Status SimulationJobBatchStatus
675}
676
677// Information about a simulation job request.
678type SimulationJobRequest struct {
679
680	// The maximum simulation job duration in seconds. The value must be 8 days
681	// (691,200 seconds) or less.
682	//
683	// This member is required.
684	MaxJobDurationInSeconds int64
685
686	// Compute information for the simulation job
687	Compute *Compute
688
689	// Specify data sources to mount read-only files from S3 into your simulation.
690	// These files are available under /opt/robomaker/datasources/data_source_name.
691	// There is a limit of 100 files and a combined size of 25GB for all
692	// DataSourceConfig objects.
693	DataSources []DataSourceConfig
694
695	// The failure behavior the simulation job. Continue Restart the simulation job in
696	// the same host instance. Fail Stop the simulation job and terminate the instance.
697	FailureBehavior FailureBehavior
698
699	// The IAM role name that allows the simulation instance to call the AWS APIs that
700	// are specified in its associated policies on your behalf. This is how credentials
701	// are passed in to your simulation job.
702	IamRole *string
703
704	// The logging configuration.
705	LoggingConfig *LoggingConfig
706
707	// The output location.
708	OutputLocation *OutputLocation
709
710	// The robot applications to use in the simulation job.
711	RobotApplications []RobotApplicationConfig
712
713	// The simulation applications to use in the simulation job.
714	SimulationApplications []SimulationApplicationConfig
715
716	// A map that contains tag keys and tag values that are attached to the simulation
717	// job request.
718	Tags map[string]string
719
720	// A Boolean indicating whether to use default applications in the simulation job.
721	// Default applications include Gazebo, rqt, rviz and terminal access.
722	UseDefaultApplications *bool
723
724	// If your simulation job accesses resources in a VPC, you provide this parameter
725	// identifying the list of security group IDs and subnet IDs. These must belong to
726	// the same VPC. You must provide at least one security group and two subnet IDs.
727	VpcConfig *VPCConfig
728}
729
730// Summary information for a simulation job.
731type SimulationJobSummary struct {
732
733	// The Amazon Resource Name (ARN) of the simulation job.
734	Arn *string
735
736	// The names of the data sources.
737	DataSourceNames []string
738
739	// The time, in milliseconds since the epoch, when the simulation job was last
740	// updated.
741	LastUpdatedAt *time.Time
742
743	// The name of the simulation job.
744	Name *string
745
746	// A list of simulation job robot application names.
747	RobotApplicationNames []string
748
749	// A list of simulation job simulation application names.
750	SimulationApplicationNames []string
751
752	// The status of the simulation job.
753	Status SimulationJobStatus
754}
755
756// Information about a simulation software suite.
757type SimulationSoftwareSuite struct {
758
759	// The name of the simulation software suite.
760	Name SimulationSoftwareSuiteType
761
762	// The version of the simulation software suite.
763	Version *string
764}
765
766// Information about a source.
767type Source struct {
768
769	// The taget processor architecture for the application.
770	Architecture Architecture
771
772	// A hash of the object specified by s3Bucket and s3Key.
773	Etag *string
774
775	// The s3 bucket name.
776	S3Bucket *string
777
778	// The s3 object key.
779	S3Key *string
780}
781
782// Information about a source configuration.
783type SourceConfig struct {
784
785	// The target processor architecture for the application.
786	Architecture Architecture
787
788	// The Amazon S3 bucket name.
789	S3Bucket *string
790
791	// The s3 object key.
792	S3Key *string
793}
794
795// Information about a template location.
796type TemplateLocation struct {
797
798	// The Amazon S3 bucket name.
799	//
800	// This member is required.
801	S3Bucket *string
802
803	// The list of S3 keys identifying the data source files.
804	//
805	// This member is required.
806	S3Key *string
807}
808
809// Summary information for a template.
810type TemplateSummary struct {
811
812	// The Amazon Resource Name (ARN) of the template.
813	Arn *string
814
815	// The time, in milliseconds since the epoch, when the template was created.
816	CreatedAt *time.Time
817
818	// The time, in milliseconds since the epoch, when the template was last updated.
819	LastUpdatedAt *time.Time
820
821	// The name of the template.
822	Name *string
823}
824
825// Information about a tool. Tools are used in a simulation job.
826type Tool struct {
827
828	// Command-line arguments for the tool. It must include the tool executable name.
829	//
830	// This member is required.
831	Command *string
832
833	// The name of the tool.
834	//
835	// This member is required.
836	Name *string
837
838	// Exit behavior determines what happens when your tool quits running. RESTART will
839	// cause your tool to be restarted. FAIL will cause your job to exit. The default
840	// is RESTART.
841	ExitBehavior ExitBehavior
842
843	// Boolean indicating whether logs will be recorded in CloudWatch for the tool. The
844	// default is False.
845	StreamOutputToCloudWatch *bool
846
847	// Boolean indicating whether a streaming session will be configured for the tool.
848	// If True, AWS RoboMaker will configure a connection so you can interact with the
849	// tool as it is running in the simulation. It must have a graphical user
850	// interface. The default is False.
851	StreamUI *bool
852}
853
854// Provides upload configuration information. Files are uploaded from the
855// simulation job to a location you specify.
856type UploadConfiguration struct {
857
858	// A prefix that specifies where files will be uploaded in Amazon S3. It is
859	// appended to the simulation output location to determine the final path. For
860	// example, if your simulation output location is s3://my-bucket and your upload
861	// configuration name is robot-test, your files will be uploaded to
862	// s3://my-bucket///robot-test.
863	//
864	// This member is required.
865	Name *string
866
867	// Specifies the path of the file(s) to upload. Standard Unix glob matching rules
868	// are accepted, with the addition of ** as a super asterisk. For example,
869	// specifying /var/log/**.log causes all .log files in the /var/log directory tree
870	// to be collected. For more examples, see Glob Library
871	// (https://github.com/gobwas/glob).
872	//
873	// This member is required.
874	Path *string
875
876	// Specifies when to upload the files: UPLOAD_ON_TERMINATE Matching files are
877	// uploaded once the simulation enters the TERMINATING state. Matching files are
878	// not uploaded until all of your code (including tools) have stopped. If there is
879	// a problem uploading a file, the upload is retried. If problems persist, no
880	// further upload attempts will be made. UPLOAD_ROLLING_AUTO_REMOVE Matching files
881	// are uploaded as they are created. They are deleted after they are uploaded. The
882	// specified path is checked every 5 seconds. A final check is made when all of
883	// your code (including tools) have stopped.
884	//
885	// This member is required.
886	UploadBehavior UploadBehavior
887}
888
889// If your simulation job accesses resources in a VPC, you provide this parameter
890// identifying the list of security group IDs and subnet IDs. These must belong to
891// the same VPC. You must provide at least one security group and two subnet IDs.
892type VPCConfig struct {
893
894	// A list of one or more subnet IDs in your VPC.
895	//
896	// This member is required.
897	Subnets []string
898
899	// A boolean indicating whether to assign a public IP address.
900	AssignPublicIp bool
901
902	// A list of one or more security groups IDs in your VPC.
903	SecurityGroups []string
904}
905
906// VPC configuration associated with your simulation job.
907type VPCConfigResponse struct {
908
909	// A boolean indicating if a public IP was assigned.
910	AssignPublicIp bool
911
912	// A list of security group IDs associated with the simulation job.
913	SecurityGroups []string
914
915	// A list of subnet IDs associated with the simulation job.
916	Subnets []string
917
918	// The VPC ID associated with your simulation job.
919	VpcId *string
920}
921
922// Configuration information for a world.
923type WorldConfig struct {
924
925	// The world generated by Simulation WorldForge.
926	World *string
927}
928
929// The number of worlds that will be created. You can configure the number of
930// unique floorplans and the number of unique interiors for each floor plan. For
931// example, if you want 1 world with 20 unique interiors, you set floorplanCount =
932// 1 and interiorCountPerFloorplan = 20. This will result in 20 worlds
933// (floorplanCount * interiorCountPerFloorplan). If you set floorplanCount = 4 and
934// interiorCountPerFloorplan = 5, there will be 20 worlds with 5 unique floor
935// plans.
936type WorldCount struct {
937
938	// The number of unique floorplans.
939	FloorplanCount *int32
940
941	// The number of unique interiors per floorplan.
942	InteriorCountPerFloorplan *int32
943}
944
945// Information about a world export job.
946type WorldExportJobSummary struct {
947
948	// The Amazon Resource Name (ARN) of the world export job.
949	Arn *string
950
951	// The time, in milliseconds since the epoch, when the world export job was
952	// created.
953	CreatedAt *time.Time
954
955	// The status of the world export job. Pending The world export job request is
956	// pending. Running The world export job is running. Completed The world export job
957	// completed. Failed The world export job failed. See failureCode for more
958	// information. Canceled The world export job was cancelled. Canceling The world
959	// export job is being cancelled.
960	Status WorldExportJobStatus
961
962	// A list of worlds.
963	Worlds []string
964}
965
966// Information about a failed world.
967type WorldFailure struct {
968
969	// The failure code of the world export job if it failed: InternalServiceError
970	// Internal service error. LimitExceeded The requested resource exceeds the maximum
971	// number allowed, or the number of concurrent stream requests exceeds the maximum
972	// number allowed. ResourceNotFound The specified resource could not be found.
973	// RequestThrottled The request was throttled. InvalidInput An input parameter in
974	// the request is not valid.
975	FailureCode WorldGenerationJobErrorCode
976
977	// The number of failed worlds.
978	FailureCount int32
979
980	// The sample reason why the world failed. World errors are aggregated. A sample is
981	// used as the sampleFailureReason.
982	SampleFailureReason *string
983}
984
985// Information about a world generator job.
986type WorldGenerationJobSummary struct {
987
988	// The Amazon Resource Name (ARN) of the world generator job.
989	Arn *string
990
991	// The time, in milliseconds since the epoch, when the world generator job was
992	// created.
993	CreatedAt *time.Time
994
995	// The number of worlds that failed.
996	FailedWorldCount int32
997
998	// The status of the world generator job: Pending The world generator job request
999	// is pending. Running The world generator job is running. Completed The world
1000	// generator job completed. Failed The world generator job failed. See failureCode
1001	// for more information. PartialFailed Some worlds did not generate. Canceled The
1002	// world generator job was cancelled. Canceling The world generator job is being
1003	// cancelled.
1004	Status WorldGenerationJobStatus
1005
1006	// The number of worlds that were generated.
1007	SucceededWorldCount int32
1008
1009	// The Amazon Resource Name (arn) of the world template.
1010	Template *string
1011
1012	// Information about the world count.
1013	WorldCount *WorldCount
1014}
1015
1016// Information about a world.
1017type WorldSummary struct {
1018
1019	// The Amazon Resource Name (ARN) of the world.
1020	Arn *string
1021
1022	// The time, in milliseconds since the epoch, when the world was created.
1023	CreatedAt *time.Time
1024
1025	// The Amazon Resource Name (arn) of the world generation job.
1026	GenerationJob *string
1027
1028	// The Amazon Resource Name (arn) of the world template.
1029	Template *string
1030}
1031