1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package types
4
5import (
6	"time"
7)
8
9// Contains the status of a component in the AWS IoT Greengrass service.
10type CloudComponentStatus struct {
11
12	// The state of the component.
13	ComponentState CloudComponentState
14
15	// A dictionary of errors that communicate why the component is in an error state.
16	// For example, if AWS IoT Greengrass can't access an artifact for the component,
17	// then errors contains the artifact's URI as a key, and the error message as the
18	// value for that key.
19	Errors map[string]string
20
21	// A message that communicates details, such as errors, about the status of the
22	// component.
23	Message *string
24}
25
26// Contains information about a component.
27type Component struct {
28
29	// The ARN
30	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
31	// the component version.
32	Arn *string
33
34	// The name of the component.
35	ComponentName *string
36
37	// The latest version of the component and its details.
38	LatestVersion *ComponentLatestVersion
39}
40
41// Contains information about a component that is a candidate to deploy to a AWS
42// IoT Greengrass core device.
43type ComponentCandidate struct {
44
45	// The name of the component.
46	ComponentName *string
47
48	// The version of the component.
49	ComponentVersion *string
50
51	// The version requirements for the component's dependencies. AWS IoT Greengrass
52	// core devices get the version requirements from component recipes. AWS IoT
53	// Greengrass V2 uses semantic version constraints. For more information, see
54	// Semantic Versioning (https://semver.org/).
55	VersionRequirements map[string]string
56}
57
58// Contains information about a deployment's update to a component's configuration
59// on Greengrass core devices. For more information, see Update component
60// configurations
61// (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html)
62// in the AWS IoT Greengrass V2 Developer Guide.
63type ComponentConfigurationUpdate struct {
64
65	// A serialized JSON string that contains the configuration object to merge to
66	// target devices. The core device merges this configuration with the component's
67	// existing configuration. If this is the first time a component deploys on a
68	// device, the core device merges this configuration with the component's default
69	// configuration. This means that the core device keeps it's existing configuration
70	// for keys and values that you don't specify in this object. For more information,
71	// see Merge configuration updates
72	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#merge-configuration-update)
73	// in the AWS IoT Greengrass V2 Developer Guide.
74	Merge *string
75
76	// The list of configuration nodes to reset to default values on target devices.
77	// Use JSON pointers to specify each node to reset. JSON pointers start with a
78	// forward slash (/) and use forward slashes to separate the key for each level in
79	// the object. For more information, see the JSON pointer specification
80	// (https://tools.ietf.org/html/rfc6901) and Reset configuration updates
81	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html#reset-configuration-update)
82	// in the AWS IoT Greengrass V2 Developer Guide.
83	Reset []string
84}
85
86// Contains information about a component dependency for a Lambda function
87// component.
88type ComponentDependencyRequirement struct {
89
90	// The type of this dependency. Choose from the following options:
91	//
92	// * SOFT – The
93	// component doesn't restart if the dependency changes state.
94	//
95	// * HARD – The
96	// component restarts if the dependency changes state.
97	//
98	// Default: HARD
99	DependencyType ComponentDependencyType
100
101	// The component version requirement for the component dependency. AWS IoT
102	// Greengrass V2 uses semantic version constraints. For more information, see
103	// Semantic Versioning (https://semver.org/).
104	VersionRequirement *string
105}
106
107// Contains information about a component to deploy.
108type ComponentDeploymentSpecification struct {
109
110	// The version of the component.
111	ComponentVersion *string
112
113	// The configuration updates to deploy for the component. You can define reset
114	// updates and merge updates. A reset updates the keys that you specify to the
115	// default configuration for the component. A merge updates the core device's
116	// component configuration with the keys and values that you specify. The AWS IoT
117	// Greengrass Core software applies reset updates before it applies merge updates.
118	// For more information, see Update component configurations
119	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/update-component-configurations.html)
120	// in the AWS IoT Greengrass V2 Developer Guide.
121	ConfigurationUpdate *ComponentConfigurationUpdate
122
123	// The system user and group that the AWS IoT Greengrass Core software uses to run
124	// component processes on the core device. If you omit this parameter, the AWS IoT
125	// Greengrass Core software uses the system user and group that you configure for
126	// the core device. For more information, see Configure the user and group that run
127	// components
128	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user)
129	// in the AWS IoT Greengrass V2 Developer Guide.
130	RunWith *ComponentRunWith
131}
132
133// Contains information about the latest version of a component.
134type ComponentLatestVersion struct {
135
136	// The ARN
137	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
138	// the component version.
139	Arn *string
140
141	// The version of the component.
142	ComponentVersion *string
143
144	// The time at which the component was created, expressed in ISO 8601 format.
145	CreationTimestamp *time.Time
146
147	// The description of the component version.
148	Description *string
149
150	// The platforms that the component version supports.
151	Platforms []ComponentPlatform
152
153	// The publisher of the component version.
154	Publisher *string
155}
156
157// Contains information about a platform that a component supports.
158type ComponentPlatform struct {
159
160	// A dictionary of attributes for the platform. The AWS IoT Greengrass Core
161	// software defines the os and platform by default. You can specify additional
162	// platform attributes for a core device when you deploy the AWS IoT Greengrass
163	// nucleus component. For more information, see the AWS IoT Greengrass nucleus
164	// component
165	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html)
166	// in the AWS IoT Greengrass V2 Developer Guide.
167	Attributes map[string]string
168
169	// The friendly name of the platform. This name helps you identify the platform. If
170	// you omit this parameter, AWS IoT Greengrass creates a friendly name from the os
171	// and architecture of the platform.
172	Name *string
173}
174
175// Contains information system user and group that the AWS IoT Greengrass Core
176// software uses to run component processes on the core device. For more
177// information, see Configure the user and group that run components
178// (https://docs.aws.amazon.com/greengrass/v2/developerguide/configure-greengrass-core-v2.html#configure-component-user)
179// in the AWS IoT Greengrass V2 Developer Guide.
180type ComponentRunWith struct {
181
182	// The POSIX system user and (optional) group to use to run this component. Specify
183	// the user and group separated by a colon (:) in the following format: user:group.
184	// The group is optional. If you don't specify a group, the AWS IoT Greengrass Core
185	// software uses the primary user for the group.
186	PosixUser *string
187}
188
189// Contains information about a component version in a list.
190type ComponentVersionListItem struct {
191
192	// The ARN
193	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
194	// the component version.
195	Arn *string
196
197	// The name of the component.
198	ComponentName *string
199
200	// The version of the component.
201	ComponentVersion *string
202}
203
204// Contains information about a AWS IoT Greengrass core device, which is an AWS IoT
205// thing that runs the AWS IoT Greengrass Core software.
206type CoreDevice struct {
207
208	// The name of the core device. This is also the name of the AWS IoT thing.
209	CoreDeviceThingName *string
210
211	// The time at which the core device's status last updated, expressed in ISO 8601
212	// format.
213	LastStatusUpdateTimestamp *time.Time
214
215	// The status of the core device. Core devices can have the following statuses:
216	//
217	// *
218	// HEALTHY – The AWS IoT Greengrass Core software and all components run on the
219	// core device without issue.
220	//
221	// * UNHEALTHY – The AWS IoT Greengrass Core software
222	// or a component is in a failed state on the core device.
223	Status CoreDeviceStatus
224}
225
226// Contains information about a deployment.
227type Deployment struct {
228
229	// The time at which the deployment was created, expressed in ISO 8601 format.
230	CreationTimestamp *time.Time
231
232	// The ID of the deployment.
233	DeploymentId *string
234
235	// The name of the deployment. You can create deployments without names. If you
236	// create a deployment without a name, the AWS IoT Greengrass V2 console shows the
237	// deployment name as :, where targetType and targetName are the type and name of
238	// the deployment target.
239	DeploymentName *string
240
241	// The status of the deployment.
242	DeploymentStatus DeploymentStatus
243
244	// Whether or not the deployment is the latest revision for its target.
245	IsLatestForTarget bool
246
247	// The revision number of the deployment.
248	RevisionId *string
249
250	// The ARN
251	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
252	// the target AWS IoT thing or thing group.
253	TargetArn *string
254}
255
256// Contains information about a deployment's policy that defines when components
257// are safe to update. Each component on a device can report whether or not it's
258// ready to update. After a component and its dependencies are ready, they can
259// apply the update in the deployment. You can configure whether or not the
260// deployment notifies components of an update and waits for a response. You
261// specify the amount of time each component has to respond to the update
262// notification.
263type DeploymentComponentUpdatePolicy struct {
264
265	// Whether or not to notify components and wait for components to become safe to
266	// update. Choose from the following options:
267	//
268	// * NOTIFY_COMPONENTS – The deployment
269	// notifies each component before it stops and updates that component. Components
270	// can use the SubscribeToComponentUpdates
271	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetocomponentupdates)
272	// IPC operation to receive these notifications. Then, components can respond with
273	// the DeferComponentUpdate
274	// (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-defercomponentupdate)
275	// IPC operation. For more information, see the Create deployments
276	// (https://docs.aws.amazon.com/greengrass/v2/latest/developerguide/create-deployments.html)
277	// in the AWS IoT Greengrass V2 Developer Guide.
278	//
279	// * SKIP_NOTIFY_COMPONENTS – The
280	// deployment doesn't notify components or wait for them to be safe to
281	// update.
282	//
283	// Default: NOTIFY_COMPONENTS
284	Action DeploymentComponentUpdatePolicyAction
285
286	// The amount of time in seconds that each component on a device has to report that
287	// it's safe to update. If the component waits for longer than this timeout, then
288	// the deployment proceeds on the device. Default: 60
289	TimeoutInSeconds int32
290}
291
292// Contains information about how long a component on a core device can validate
293// its configuration updates before it times out. Components can use the
294// SubscribeToValidateConfigurationUpdates
295// (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-subscribetovalidateconfigurationupdates)
296// IPC operation to receive notifications when a deployment specifies a
297// configuration update. Then, components can respond with the
298// SendConfigurationValidityReport
299// (https://docs.aws.amazon.com/greengrass/v2/developerguide/interprocess-communication.html#ipc-operation-sendconfigurationvalidityreport)
300// IPC operation. For more information, see the Create deployments
301// (https://docs.aws.amazon.com/greengrass/v2/latest/developerguide/create-deployments.html)
302// in the AWS IoT Greengrass V2 Developer Guide.
303type DeploymentConfigurationValidationPolicy struct {
304
305	// The amount of time in seconds that a component can validate its configuration
306	// updates. If the validation time exceeds this timeout, then the deployment
307	// proceeds for the device. Default: 30
308	TimeoutInSeconds int32
309}
310
311// Contains information about an AWS IoT job configuration.
312type DeploymentIoTJobConfiguration struct {
313
314	// The stop configuration for the job. This configuration defines when and how to
315	// stop a job rollout.
316	AbortConfig *IoTJobAbortConfig
317
318	// The rollout configuration for the job. This configuration defines the rate at
319	// which the job rolls out to the fleet of target devices.
320	JobExecutionsRolloutConfig *IoTJobExecutionsRolloutConfig
321
322	// The timeout configuration for the job. This configuration defines the amount of
323	// time each device has to complete the job.
324	TimeoutConfig *IoTJobTimeoutConfig
325}
326
327// Contains information about policies that define how a deployment updates
328// components and handles failure.
329type DeploymentPolicies struct {
330
331	// The component update policy for the configuration deployment. This policy
332	// defines when it's safe to deploy the configuration to devices.
333	ComponentUpdatePolicy *DeploymentComponentUpdatePolicy
334
335	// The configuration validation policy for the configuration deployment. This
336	// policy defines how long each component has to validate its configure updates.
337	ConfigurationValidationPolicy *DeploymentConfigurationValidationPolicy
338
339	// The failure handling policy for the configuration deployment. This policy
340	// defines what to do if the deployment fails. Default: ROLLBACK
341	FailureHandlingPolicy DeploymentFailureHandlingPolicy
342}
343
344// Contains information about a deployment job that AWS IoT Greengrass sends to a
345// AWS IoT Greengrass core device.
346type EffectiveDeployment struct {
347
348	// The status of the deployment job on the AWS IoT Greengrass core device.
349	//
350	// This member is required.
351	CoreDeviceExecutionStatus EffectiveDeploymentExecutionStatus
352
353	// The time at which the deployment was created, expressed in ISO 8601 format.
354	//
355	// This member is required.
356	CreationTimestamp *time.Time
357
358	// The ID of the deployment.
359	//
360	// This member is required.
361	DeploymentId *string
362
363	// The name of the deployment. You can create deployments without names. If you
364	// create a deployment without a name, the AWS IoT Greengrass V2 console shows the
365	// deployment name as :, where targetType and targetName are the type and name of
366	// the deployment target.
367	//
368	// This member is required.
369	DeploymentName *string
370
371	// The time at which the deployment job was last modified, expressed in ISO 8601
372	// format.
373	//
374	// This member is required.
375	ModifiedTimestamp *time.Time
376
377	// The ARN
378	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
379	// the target AWS IoT thing or thing group.
380	//
381	// This member is required.
382	TargetArn *string
383
384	// The description of the deployment job.
385	Description *string
386
387	// The ARN
388	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
389	// the AWS IoT job that applies the deployment to target devices.
390	IotJobArn *string
391
392	// The ID of the AWS IoT job that applies the deployment to target devices.
393	IotJobId *string
394
395	// The reason code for the update, if the job was updated.
396	Reason *string
397}
398
399// Contains information about a component on a AWS IoT Greengrass core device.
400type InstalledComponent struct {
401
402	// The name of the component.
403	ComponentName *string
404
405	// The version of the component.
406	ComponentVersion *string
407
408	// Whether or not the component is a root component.
409	IsRoot bool
410
411	// The lifecycle state of the component.
412	LifecycleState InstalledComponentLifecycleState
413
414	// The details about the lifecycle state of the component.
415	LifecycleStateDetails *string
416}
417
418// Contains a list of criteria that define when and how to cancel a configuration
419// deployment.
420type IoTJobAbortConfig struct {
421
422	// The list of criteria that define when and how to cancel the configuration
423	// deployment.
424	//
425	// This member is required.
426	CriteriaList []IoTJobAbortCriteria
427}
428
429// Contains criteria that define when and how to cancel a job. The deployment stops
430// if the following conditions are true:
431//
432// * The number of things that receive the
433// deployment exceeds the minNumberOfExecutedThings.
434//
435// * The percentage of failures
436// with type failureType exceeds the thresholdPercentage.
437type IoTJobAbortCriteria struct {
438
439	// The action to perform when the criteria are met.
440	//
441	// This member is required.
442	Action IoTJobAbortAction
443
444	// The type of job deployment failure that can cancel a job.
445	//
446	// This member is required.
447	FailureType IoTJobExecutionFailureType
448
449	// The minimum number of things that receive the configuration before the job can
450	// cancel.
451	//
452	// This member is required.
453	MinNumberOfExecutedThings int32
454
455	// The minimum percentage of failureType failures that occur before the job can
456	// cancel. This parameter supports up to two digits after the decimal (for example,
457	// you can specify 10.9 or 10.99, but not 10.999).
458	//
459	// This member is required.
460	ThresholdPercentage float64
461}
462
463// Contains information about the rollout configuration for a job. This
464// configuration defines the rate at which the job deploys a configuration to a
465// fleet of target devices.
466type IoTJobExecutionsRolloutConfig struct {
467
468	// The exponential rate to increase the job rollout rate.
469	ExponentialRate *IoTJobExponentialRolloutRate
470
471	// The maximum number of devices that receive a pending job notification, per
472	// minute.
473	MaximumPerMinute int32
474}
475
476// Contains information about an exponential rollout rate for a configuration
477// deployment job.
478type IoTJobExponentialRolloutRate struct {
479
480	// The minimum number of devices that receive a pending job notification, per
481	// minute, when the job starts. This parameter defines the initial rollout rate of
482	// the job.
483	//
484	// This member is required.
485	BaseRatePerMinute int32
486
487	// The exponential factor to increase the rollout rate for the job. This parameter
488	// supports up to one digit after the decimal (for example, you can specify 1.5,
489	// but not 1.55).
490	//
491	// This member is required.
492	IncrementFactor float64
493
494	// The criteria to increase the rollout rate for the job.
495	//
496	// This member is required.
497	RateIncreaseCriteria *IoTJobRateIncreaseCriteria
498}
499
500// Contains information about criteria to meet before a job increases its rollout
501// rate. Specify either numberOfNotifiedThings or numberOfSucceededThings.
502type IoTJobRateIncreaseCriteria struct {
503
504	// The number of devices to receive the job notification before the rollout rate
505	// increases.
506	NumberOfNotifiedThings int32
507
508	// The number of devices to successfully run the configuration job before the
509	// rollout rate increases.
510	NumberOfSucceededThings int32
511}
512
513// Contains information about the timeout configuration for a job.
514type IoTJobTimeoutConfig struct {
515
516	// The amount of time, in minutes, that devices have to complete the job. The timer
517	// starts when the job status is set to IN_PROGRESS. If the job status doesn't
518	// change to a terminal state before the time expires, then the job status is set
519	// to TIMED_OUT. The timeout interval must be between 1 minute and 7 days (10080
520	// minutes).
521	InProgressTimeoutInMinutes int64
522}
523
524// Contains information about a container in which AWS Lambda functions run on AWS
525// IoT Greengrass core devices.
526type LambdaContainerParams struct {
527
528	// The list of system devices that the container can access.
529	Devices []LambdaDeviceMount
530
531	// The memory size of the container, expressed in kilobytes. Default: 16384 (16 MB)
532	MemorySizeInKB int32
533
534	// Whether or not the container can read information from the device's /sys folder.
535	// Default: false
536	MountROSysfs bool
537
538	// The list of volumes that the container can access.
539	Volumes []LambdaVolumeMount
540}
541
542// Contains information about a device that Linux processes in a container can
543// access.
544type LambdaDeviceMount struct {
545
546	// The mount path for the device in the file system.
547	//
548	// This member is required.
549	Path *string
550
551	// Whether or not to add the component's system user as an owner of the device.
552	// Default: false
553	AddGroupOwner bool
554
555	// The permission to access the device: read/only (ro) or read/write (rw). Default:
556	// ro
557	Permission LambdaFilesystemPermission
558}
559
560// Contains information about an event source for an AWS Lambda function. The event
561// source defines the topics on which this Lambda function subscribes to receive
562// messages that run the function.
563type LambdaEventSource struct {
564
565	// The topic to which to subscribe to receive event messages.
566	//
567	// This member is required.
568	Topic *string
569
570	// The type of event source. Choose from the following options:
571	//
572	// * PUB_SUB –
573	// Subscribe to local publish/subscribe messages. This event source type doesn't
574	// support MQTT wildcards (+ and #) in the event source topic.
575	//
576	// * IOT_CORE –
577	// Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT
578	// wildcards (+ and #) in the event source topic.
579	//
580	// This member is required.
581	Type LambdaEventSourceType
582}
583
584// Contains parameters for a Lambda function that runs on AWS IoT Greengrass.
585type LambdaExecutionParameters struct {
586
587	// The map of environment variables that are available to the Lambda function when
588	// it runs.
589	EnvironmentVariables map[string]string
590
591	// The list of event sources to which to subscribe to receive work messages. The
592	// Lambda function runs when it receives a message from an event source. You can
593	// subscribe this function to local publish/subscribe messages and AWS IoT Core
594	// MQTT messages.
595	EventSources []LambdaEventSource
596
597	// The list of arguments to pass to the Lambda function when it runs.
598	ExecArgs []string
599
600	// The encoding type that the Lambda function supports. Default: json
601	InputPayloadEncodingType LambdaInputPayloadEncodingType
602
603	// The parameters for the Linux process that contains the Lambda function.
604	LinuxProcessParams *LambdaLinuxProcessParams
605
606	// The maximum amount of time in seconds that a non-pinned Lambda function can idle
607	// before the AWS IoT Greengrass Core software stops its process.
608	MaxIdleTimeInSeconds int32
609
610	// The maximum number of instances that a non-pinned Lambda function can run at the
611	// same time.
612	MaxInstancesCount int32
613
614	// The maximum size of the message queue for the Lambda function component. The AWS
615	// IoT Greengrass core stores messages in a FIFO (first-in-first-out) queue until
616	// it can run the Lambda function to consume each message.
617	MaxQueueSize int32
618
619	// Whether or not the Lambda function is pinned, or long-lived.
620	//
621	// * A pinned Lambda
622	// function starts when AWS IoT Greengrass starts and keeps running in its own
623	// container.
624	//
625	// * A non-pinned Lambda function starts only when it receives a work
626	// item and exists after it idles for maxIdleTimeInSeconds. If the function has
627	// multiple work items, the AWS IoT Greengrass Core software creates multiple
628	// instances of the function.
629	//
630	// Default: true
631	Pinned bool
632
633	// The interval in seconds at which a pinned (also known as long-lived) Lambda
634	// function component sends status updates to the Lambda manager component.
635	StatusTimeoutInSeconds int32
636
637	// The maximum amount of time in seconds that the Lambda function can process a
638	// work item.
639	TimeoutInSeconds int32
640}
641
642// Contains information about an AWS Lambda function to import to create a
643// component.
644type LambdaFunctionRecipeSource struct {
645
646	// The ARN
647	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
648	// the Lambda function. The ARN must include the version of the function to import.
649	// You can't use version aliases like $LATEST.
650	//
651	// This member is required.
652	LambdaArn *string
653
654	// The component versions on which this Lambda function component depends.
655	ComponentDependencies map[string]ComponentDependencyRequirement
656
657	// The system and runtime parameters for the Lambda function as it runs on the AWS
658	// IoT Greengrass core device.
659	ComponentLambdaParameters *LambdaExecutionParameters
660
661	// The name of the component. Defaults to the name of the Lambda function.
662	ComponentName *string
663
664	// The platforms that the component version supports.
665	ComponentPlatforms []ComponentPlatform
666
667	// The version of the component. Defaults to the version of the Lambda function as
668	// a semantic version. For example, if your function version is 3, the component
669	// version becomes 3.0.0.
670	ComponentVersion *string
671}
672
673// Contains parameters for a Linux process that contains an AWS Lambda function.
674type LambdaLinuxProcessParams struct {
675
676	// The parameters for the container in which the Lambda function runs.
677	ContainerParams *LambdaContainerParams
678
679	// The isolation mode for the process that contains the Lambda function. The
680	// process can run in an isolated runtime environment inside the AWS IoT Greengrass
681	// container, or as a regular process outside any container. Default:
682	// GreengrassContainer
683	IsolationMode LambdaIsolationMode
684}
685
686// Contains information about a volume that Linux processes in a container can
687// access. When you define a volume, the AWS IoT Greengrass Core software mounts
688// the source files to the destination inside the container.
689type LambdaVolumeMount struct {
690
691	// The path to the logical volume in the file system.
692	//
693	// This member is required.
694	DestinationPath *string
695
696	// The path to the physical volume in the file system.
697	//
698	// This member is required.
699	SourcePath *string
700
701	// Whether or not to add the AWS IoT Greengrass user group as an owner of the
702	// volume. Default: false
703	AddGroupOwner bool
704
705	// The permission to access the volume: read/only (ro) or read/write (rw). Default:
706	// ro
707	Permission LambdaFilesystemPermission
708}
709
710// Contains information about a component version that is compatible to run on a
711// AWS IoT Greengrass core device.
712type ResolvedComponentVersion struct {
713
714	// The ARN
715	// (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) of
716	// the component version.
717	Arn *string
718
719	// The name of the component.
720	ComponentName *string
721
722	// The version of the component.
723	ComponentVersion *string
724
725	// The recipe of the component version.
726	Recipe []byte
727}
728
729// Contains information about a validation exception field.
730type ValidationExceptionField struct {
731
732	// The message of the exception field.
733	//
734	// This member is required.
735	Message *string
736
737	// The name of the exception field.
738	//
739	// This member is required.
740	Name *string
741}
742