DeploymentConfigurationValidationPolicy
Contains information about how long a component on a core device can validate its configuration updates before it times out. Components can use the SubscribeToValidateConfigurationUpdates IPC operation to receive notifications when a deployment specifies a configuration update. Then, components can respond with the SendConfigurationValidityReport IPC operation. For more information, see Create deployments in the AWS IoT Greengrass V2 Developer Guide.
Contents
timeoutInSeconds
The amount of time in seconds that a component can validate its configuration updates. If the validation time exceeds this timeout, then the deployment proceeds for the device.
Default: 30 Type: Integer Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
DeploymentIoTJobConfiguration
DeploymentIoTJobConfiguration
Contains information about an AWS IoT job configuration.
Contents
abortConfig
The stop configuration for the job. This configuration defines when and how to stop a job rollout.
Type: IoTJobAbortConfig (p. 114) object Required: No
jobExecutionsRolloutConfig
The rollout configuration for the job. This configuration defines the rate at which the job rolls out to the fleet of target devices.
Type: IoTJobExecutionsRolloutConfig (p. 117) object Required: No
timeoutConfig
The timeout configuration for the job. This configuration defines the amount of time each device has to complete the job.
Type: IoTJobTimeoutConfig (p. 120) object Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
DeploymentPolicies
DeploymentPolicies
Contains information about policies that define how a deployment updates components and handles failure.
Contents
componentUpdatePolicy
The component update policy for the configuration deployment. This policy defines when it's safe to deploy the configuration to devices.
Type: DeploymentComponentUpdatePolicy (p. 104) object Required: No
configurationValidationPolicy
The configuration validation policy for the configuration deployment. This policy defines how long each component has to validate its configure updates.
Type: DeploymentConfigurationValidationPolicy (p. 105) object Required: No
failureHandlingPolicy
The failure handling policy for the configuration deployment. This policy defines what to do if the deployment fails.
Default: ROLLBACK Type: String
Valid Values: ROLLBACK | DO_NOTHING Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
DisassociateClientDeviceFromCoreDeviceEntry
DisassociateClientDeviceFromCoreDeviceEntry
Contains a request to disassociate a client device from a core device. The
BatchDisassociateClientDeviceWithCoreDevice operation consumes a list of these requests.
Contents
thingName
The name of the AWS IoT thing that represents the client device to disassociate.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
DisassociateClientDeviceFromCoreDeviceErrorEntry
DisassociateClientDeviceFromCoreDeviceErrorEntry
Contains an error that occurs from a request to disassociate a client device from a core device. The BatchDisassociateClientDeviceWithCoreDevice operation returns a list of these errors.
Contents
code
The error code for the request.
Type: String
Length Constraints: Minimum length of 1.
Required: No message
A message that provides additional information about the error.
Type: String
Length Constraints: Minimum length of 1.
Required: No thingName
The name of the AWS IoT thing whose disassociate request failed.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
EffectiveDeployment
EffectiveDeployment
Contains information about a deployment job that AWS IoT Greengrass sends to a Greengrass core device.
Contents
coreDeviceExecutionStatus
The status of the deployment job on the Greengrass core device.
Type: String
Valid Values: IN_PROGRESS | QUEUED | FAILED | COMPLETED | TIMED_OUT | CANCELED
| REJECTED Required: Yes creationTimestamp
The time at which the deployment was created, expressed in ISO 8601 format.
Type: Timestamp Required: Yes deploymentId
The ID of the deployment.
Type: String Required: Yes deploymentName
The name of the deployment.
Type: String Required: Yes description
The description of the deployment job.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 500.
Required: No iotJobArn
The ARN of the AWS IoT job that applies the deployment to target devices.
Type: String
Pattern: arn:aws(-cn|-us-gov)?:iot:[^:]+:[0-9]+:job/.+
Required: No iotJobId
The ID of the AWS IoT job that applies the deployment to target devices.
See Also
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Required: No modifiedTimestamp
The time at which the deployment job was last modified, expressed in ISO 8601 format.
Type: Timestamp Required: Yes reason
The reason code for the update, if the job was updated.
Type: String Required: No targetArn
The ARN of the target AWS IoT thing or thing group.
Type: String
Pattern: arn:aws(-cn|-us-gov)?:iot:[^:]+:[0-9]+:(thing|thinggroup)/.+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
InstalledComponent
InstalledComponent
Contains information about a component on a Greengrass core device.
Contents
componentName
The name of the component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern: [a-zA-Z0-9-_.]+
Required: No componentVersion
The version of the component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern: [0-9a-zA-Z-.+]+
Required: No isRoot
Whether or not the component is a root component.
Type: Boolean Required: No lifecycleState
The lifecycle state of the component.
Type: String
Valid Values: NEW | INSTALLED | STARTING | RUNNING | STOPPING | ERRORED | BROKEN | FINISHED
Required: No lifecycleStateDetails
The details about the lifecycle state of the component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1000.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
See Also
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
IoTJobAbortConfig
IoTJobAbortConfig
Contains a list of criteria that define when and how to cancel a configuration deployment.
Contents
criteriaList
The list of criteria that define when and how to cancel the configuration deployment.
Type: Array of IoTJobAbortCriteria (p. 115) objects Array Members: Minimum number of 1 item.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
IoTJobAbortCriteria
IoTJobAbortCriteria
Contains criteria that define when and how to cancel a job.
The deployment stops if the following conditions are true:
1. The number of things that receive the deployment exceeds the minNumberOfExecutedThings.
2. The percentage of failures with type failureType exceeds the thresholdPercentage.
Contents
action
The action to perform when the criteria are met.
Type: String
Valid Values: CANCEL Required: Yes
failureType
The type of job deployment failure that can cancel a job.
Type: String
Valid Values: FAILED | REJECTED | TIMED_OUT | ALL Required: Yes
minNumberOfExecutedThings
The minimum number of things that receive the configuration before the job can cancel.
Type: Integer
Valid Range: Minimum value of 1.
Required: Yes thresholdPercentage
The minimum percentage of failureType failures that occur before the job can cancel.
This parameter supports up to two digits after the decimal (for example, you can specify 10.9 or 10.99, but not 10.999).
Type: Double
Valid Range: Maximum value of 100.
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
See Also
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
IoTJobExecutionsRolloutConfig
IoTJobExecutionsRolloutConfig
Contains information about the rollout configuration for a job. This configuration defines the rate at which the job deploys a configuration to a fleet of target devices.
Contents
exponentialRate
The exponential rate to increase the job rollout rate.
Type: IoTJobExponentialRolloutRate (p. 118) object Required: No
maximumPerMinute
The maximum number of devices that receive a pending job notification, per minute.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 1000.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
IoTJobExponentialRolloutRate
IoTJobExponentialRolloutRate
Contains information about an exponential rollout rate for a configuration deployment job.
Contents
baseRatePerMinute
The minimum number of devices that receive a pending job notification, per minute, when the job starts. This parameter defines the initial rollout rate of the job.
Type: Integer
Valid Range: Minimum value of 1. Maximum value of 1000.
Required: Yes incrementFactor
The exponential factor to increase the rollout rate for the job.
This parameter supports up to one digit after the decimal (for example, you can specify 1.5, but not 1.55).
Type: Double
Valid Range: Minimum value of 1. Maximum value of 5.
Required: Yes rateIncreaseCriteria
The criteria to increase the rollout rate for the job.
Type: IoTJobRateIncreaseCriteria (p. 119) object Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
IoTJobRateIncreaseCriteria
IoTJobRateIncreaseCriteria
Contains information about criteria to meet before a job increases its rollout rate. Specify either numberOfNotifiedThings or numberOfSucceededThings.
Contents
numberOfNotifiedThings
The number of devices to receive the job notification before the rollout rate increases.
Type: Integer
Valid Range: Minimum value of 1.
Required: No
numberOfSucceededThings
The number of devices to successfully run the configuration job before the rollout rate increases.
Type: Integer
Valid Range: Minimum value of 1.
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
IoTJobTimeoutConfig
IoTJobTimeoutConfig
Contains information about the timeout configuration for a job.
Contents
inProgressTimeoutInMinutes
The amount of time, in minutes, that devices have to complete the job. The timer starts when the job status is set to IN_PROGRESS. If the job status doesn't change to a terminal state before the time expires, then the job status is set to TIMED_OUT.
The timeout interval must be between 1 minute and 7 days (10080 minutes).
Type: Long Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaContainerParams
LambdaContainerParams
Contains information about a container in which AWS Lambda functions run on Greengrass core devices.
Contents
devices
The list of system devices that the container can access.
Type: Array of LambdaDeviceMount (p. 122) objects Required: No
memorySizeInKB
The memory size of the container, expressed in kilobytes.
Default: 16384 (16 MB) Type: Integer
Required: No mountROSysfs
Whether or not the container can read information from the device's /sys folder.
Default: false Type: Boolean Required: No volumes
The list of volumes that the container can access.
Type: Array of LambdaVolumeMount (p. 129) objects Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaDeviceMount
LambdaDeviceMount
Contains information about a device that Linux processes in a container can access.
Contents
addGroupOwner
Whether or not to add the component's system user as an owner of the device.
Default: false Type: Boolean Required: No path
The mount path for the device in the file system.
Type: String Required: Yes permission
The permission to access the device: read/only (ro) or read/write (rw).
Default: ro Type: String
Valid Values: ro | rw Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaEventSource
LambdaEventSource
Contains information about an event source for an AWS Lambda function. The event source defines the topics on which this Lambda function subscribes to receive messages that run the function.
Contents
topic
The topic to which to subscribe to receive event messages.
Type: String Required: Yes type
The type of event source. Choose from the following options:
• PUB_SUB – Subscribe to local publish/subscribe messages. This event source type doesn't support MQTT wildcards (+ and #) in the event source topic.
• IOT_CORE – Subscribe to AWS IoT Core MQTT messages. This event source type supports MQTT wildcards (+ and #) in the event source topic.
Type: String
Valid Values: PUB_SUB | IOT_CORE Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaExecutionParameters
LambdaExecutionParameters
Contains parameters for a Lambda function that runs on AWS IoT Greengrass.
Contents
environmentVariables
The map of environment variables that are available to the Lambda function when it runs.
Type: String to string map
Key Length Constraints: Minimum length of 1.
Required: No eventSources
The list of event sources to which to subscribe to receive work messages. The Lambda function runs when it receives a message from an event source. You can subscribe this function to local publish/
subscribe messages and AWS IoT Core MQTT messages.
Type: Array of LambdaEventSource (p. 123) objects Required: No
execArgs
The list of arguments to pass to the Lambda function when it runs.
Type: Array of strings Required: No
inputPayloadEncodingType
The encoding type that the Lambda function supports.
Default: json Type: String
Valid Values: json | binary Required: No
linuxProcessParams
The parameters for the Linux process that contains the Lambda function.
Type: LambdaLinuxProcessParams (p. 128) object Required: No
maxIdleTimeInSeconds
The maximum amount of time in seconds that a non-pinned Lambda function can idle before the AWS IoT Greengrass Core software stops its process.
Type: Integer Required: No
See Also
maxInstancesCount
The maximum number of instances that a non-pinned Lambda function can run at the same time.
Type: Integer Required: No maxQueueSize
The maximum size of the message queue for the Lambda function component. The AWS IoT Greengrass core stores messages in a FIFO (first-in-first-out) queue until it can run the Lambda function to consume each message.
Type: Integer Required: No pinned
Whether or not the Lambda function is pinned, or long-lived.
• A pinned Lambda function starts when AWS IoT Greengrass starts and keeps running in its own container.
• A non-pinned Lambda function starts only when it receives a work item and exists after it idles for maxIdleTimeInSeconds. If the function has multiple work items, the AWS IoT Greengrass Core software creates multiple instances of the function.
Default: true Type: Boolean Required: No
statusTimeoutInSeconds
The interval in seconds at which a pinned (also known as long-lived) Lambda function component sends status updates to the Lambda manager component.
Type: Integer Required: No timeoutInSeconds
The maximum amount of time in seconds that the Lambda function can process a work item.
Type: Integer Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaFunctionRecipeSource
LambdaFunctionRecipeSource
Contains information about an AWS Lambda function to import to create a component.
Contents
componentDependencies
The component versions on which this Lambda function component depends.
Type: String to ComponentDependencyRequirement (p. 92) object map Key Length Constraints: Minimum length of 1.
Required: No
componentLambdaParameters
The system and runtime parameters for the Lambda function as it runs on the Greengrass core device.
Type: LambdaExecutionParameters (p. 124) object Required: No
componentName
The name of the component.
Defaults to the name of the Lambda function.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern: [a-zA-Z0-9-_.]+
Required: No componentPlatforms
The platforms that the component version supports.
Type: Array of ComponentPlatform (p. 96) objects Required: No
componentVersion
The version of the component.
Defaults to the version of the Lambda function as a semantic version. For example, if your function version is 3, the component version becomes 3.0.0.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern: [0-9a-zA-Z-.+]+
Required: No
See Also
lambdaArn
The ARN of the Lambda function. The ARN must include the version of the function to import. You can't use version aliases like $LATEST.
Type: String
Pattern: arn:aws(-cn|-us-gov)?:lambda:[^:]+:[0-9]+:function:[a-zA-Z0-9-_]+:
[0-9]+
Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaLinuxProcessParams
LambdaLinuxProcessParams
Contains parameters for a Linux process that contains an AWS Lambda function.
Contents
containerParams
The parameters for the container in which the Lambda function runs.
Type: LambdaContainerParams (p. 121) object Required: No
isolationMode
The isolation mode for the process that contains the Lambda function. The process can run in an isolated runtime environment inside the AWS IoT Greengrass container, or as a regular process outside any container.
Default: GreengrassContainer Type: String
Valid Values: GreengrassContainer | NoContainer Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
LambdaVolumeMount
LambdaVolumeMount
Contains information about a volume that Linux processes in a container can access. When you define a volume, the AWS IoT Greengrass Core software mounts the source files to the destination inside the container.
Contents
addGroupOwner
Whether or not to add the AWS IoT Greengrass user group as an owner of the volume.
Default: false Type: Boolean Required: No destinationPath
The path to the logical volume in the file system.
Type: String Required: Yes permission
The permission to access the volume: read/only (ro) or read/write (rw).
Default: ro Type: String
Valid Values: ro | rw Required: No
sourcePath
The path to the physical volume in the file system.
Type: String Required: Yes
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3
ResolvedComponentVersion
ResolvedComponentVersion
Contains information about a component version that is compatible to run on a Greengrass core device.
Contents
arn
The ARN of the component version.
Type: String
Pattern: arn:aws(-cn|-us-gov)?:greengrass:[^:]+:(aws|[0-9]+):components:
[^:]+:versions:[^:]+
Required: No componentName
The name of the component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern: [a-zA-Z0-9-_.]+
Required: No componentVersion
The version of the component.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern: [0-9a-zA-Z-.+]+
Required: No recipe
The recipe of the component version.
Type: Base64-encoded binary data object Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following:
• AWS SDK for C++
• AWS SDK for Go
• AWS SDK for Java V2
• AWS SDK for Ruby V3