Skip to content

Commit c923ed3

Browse files
author
Jill Grant
authored
Merge pull request #229852 from w-azure/winona-edge-agent
Adding missing properties
2 parents faccdc9 + 4828317 commit c923ed3

File tree

1 file changed

+48
-39
lines changed

1 file changed

+48
-39
lines changed

articles/iot-edge/module-edgeagent-edgehub.md

Lines changed: 48 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -30,35 +30,39 @@ The module twin for the IoT Edge agent is called `$edgeAgent` and coordinates th
3030

3131
| Property | Description | Required |
3232
| -------- | ----------- | -------- |
33-
| schemaVersion | Either "1.0" or "1.1". Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
34-
| runtime.type | Has to be "docker" | Yes |
35-
| runtime.settings.minDockerVersion | Set to the minimum Docker version required by this deployment manifest | Yes |
33+
| imagePullPolicy | When to pull the image in either *OnCreate* or *Never* (*Never* can be used if the image is already on the device) | Yes |
34+
| restartPolicy | When the module should be restarted. Possible values are: *Never*: don't restart module if not running, *Always*: always restart module if not running, *On-Unhealthy*: restart module if unhealthy. Unhealthy is what Docker reports based on a health check, for example "Unhealthy - the container is not working correctly", *On-Failed*: restart if Failed. | Yes |
35+
| runtime.type | Has to be *docker*. | Yes |
36+
| runtime.settings.minDockerVersion | Set to the minimum Docker version required by this deployment manifest. | Yes |
3637
| runtime.settings.loggingOptions | A stringified JSON containing the logging options for the IoT Edge agent container. [Docker logging options](https://docs.docker.com/engine/admin/logging/overview/) | No |
37-
| runtime.settings.registryCredentials.{registryId}.username | The username of the container registry. For Azure Container Registry, the username is usually the registry name.<br><br>Registry credentials are necessary for any private module images. | No |
38+
| runtime.settings.registryCredentials.{registryId}.username | The username of the container registry. For Azure Container Registry, the username is usually the registry name. Registry credentials are necessary for any private module images. | No |
3839
| runtime.settings.registryCredentials.{registryId}.password | The password for the container registry. | No |
39-
| runtime.settings.registryCredentials.{registryId}.address | The address of the container registry. For Azure Container Registry, the address is usually *{registry name}.azurecr.io*. | No |
40-
| systemModules.edgeAgent.type | Has to be "docker" | Yes |
41-
| systemModules.edgeAgent.startupOrder | An integer value for which spot a module has in the startup order. 0 is first and max integer (4294967295) is last. If a value isn't provided, the default is max integer. | No |
40+
| runtime.settings.registryCredentials.{registryId}.address | The address of the container registry. For Azure Container Registry, the address is usually *{registry name}.azurecr.io*. | No |
41+
| schemaVersion | Either *1.0* or *1.1*. Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
42+
| status | Desired status of the module: *Running* or *Stopped*. | Required |
43+
| systemModules.edgeAgent.type | Has to be *docker*. | Yes |
44+
| systemModules.edgeAgent.startupOrder | An integer value for the location a module has in the startup order. A *0* is first and *max integer* (4294967295) is last. If a value isn't provided, the default is *max integer*. | No |
4245
| systemModules.edgeAgent.settings.image | The URI of the image of the IoT Edge agent. Currently, the IoT Edge agent isn't able to update itself. | Yes |
4346
| systemModules.edgeAgent.settings.createOptions | A stringified JSON containing the options for the creation of the IoT Edge agent container. [Docker create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate) | No |
4447
| systemModules.edgeAgent.configuration.id | The ID of the deployment that deployed this module. | IoT Hub sets this property when the manifest is applied using a deployment. Not part of a deployment manifest. |
45-
| systemModules.edgeHub.type | Has to be "docker" | Yes |
46-
| systemModules.edgeHub.status | Has to be "running" | Yes |
47-
| systemModules.edgeHub.restartPolicy | Has to be "always" | Yes |
48-
| systemModules.edgeHub.startupOrder | An integer value for which spot a module has in the startup order. 0 is first and max integer (4294967295) is last. If a value isn't provided, the default is max integer. | No |
48+
| systemModules.edgeHub.type | Has to be *docker*. | Yes |
49+
| systemModules.edgeHub.status | Has to be *running*. | Yes |
50+
| systemModules.edgeHub.restartPolicy | Has to be *always*. | Yes |
51+
| systemModules.edgeHub.startupOrder | An integer value for which spot a module has in the startup order. A *0* is first and *max integer* (4294967295) is last. If a value isn't provided, the default is *max integer*. | No |
4952
| systemModules.edgeHub.settings.image | The URI of the image of the IoT Edge hub. | Yes |
5053
| systemModules.edgeHub.settings.createOptions | A stringified JSON containing the options for the creation of the IoT Edge hub container. [Docker create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate) | No |
5154
| systemModules.edgeHub.configuration.id | The ID of the deployment that deployed this module. | IoT Hub sets this property when the manifest is applied using a deployment. Not part of a deployment manifest. |
5255
| modules.{moduleId}.version | A user-defined string representing the version of this module. | Yes |
53-
| modules.{moduleId}.type | Has to be "docker" | Yes |
54-
| modules.{moduleId}.status | {"running" \| "stopped"} | Yes |
55-
| modules.{moduleId}.restartPolicy | {"never" \| "always"} | Yes |
56-
| modules.{moduleId}.startupOrder | An integer value for which spot a module has in the startup order. 0 is first and max integer (4294967295) is last. If a value isn't provided, the default is max integer. | No |
57-
| modules.{moduleId}.imagePullPolicy | {"on-create" \| "never"} | No |
58-
| modules.{moduleId}.env | A list of environment variables to pass to the module. Takes the format `"<name>": {"value": "<value>"}` | No |
56+
| modules.{moduleId}.type | Has to be *docker*. | Yes |
57+
| modules.{moduleId}.status | {*running* \| *stopped*} | Yes |
58+
| modules.{moduleId}.restartPolicy | {*never* \| *always*} | Yes |
59+
| modules.{moduleId}.startupOrder | An integer value for the location a module has in the startup order. A *0* is first and *max integer* (4294967295) is last. If a value isn't provided, the default is *max integer*. | No |
60+
| modules.{moduleId}.imagePullPolicy | {*on-create* \| *never*} | No |
61+
| modules.{moduleId}.env | A list of environment variables to pass to the module. Takes the format `"<name>": {"value": "<value>"}`. | No |
5962
| modules.{moduleId}.settings.image | The URI to the module image. | Yes |
6063
| modules.{moduleId}.settings.createOptions | A stringified JSON containing the options for the creation of the module container. [Docker create options](https://docs.docker.com/engine/api/v1.32/#operation/ContainerCreate) | No |
6164
| modules.{moduleId}.configuration.id | The ID of the deployment that deployed this module. | IoT Hub sets this property when the manifest is applied using a deployment. Not part of a deployment manifest. |
65+
| version | The current iteration that has version, commit, and build. | No |
6266

6367
## EdgeAgent reported properties
6468

@@ -77,38 +81,40 @@ The following table does not include the information that is copied from the des
7781

7882
| Property | Description |
7983
| -------- | ----------- |
84+
| lastDesiredStatus.code | This status code refers to the last desired properties seen by the IoT Edge agent. Allowed values: `200` Success, `400` Invalid configuration, `412` Invalid schema version, `417` Desired properties are empty, `500` Failed.|
85+
| lastDesiredStatus.description | Text description of the status. |
8086
| lastDesiredVersion | This integer refers to the last version of the desired properties processed by the IoT Edge agent. |
81-
| lastDesiredStatus.code | This status code refers to the last desired properties seen by the IoT Edge agent. Allowed values: `200` Success, `400` Invalid configuration, `412` Invalid schema version, `417` the desired properties are empty, `500` Failed |
82-
| lastDesiredStatus.description | Text description of the status |
83-
| runtime.platform.OS | Reporting the OS running on the device |
84-
| runtime.platform.architecture | Reporting the architecture of the CPU on the device |
85-
| systemModules.edgeAgent.runtimeStatus | The reported status of IoT Edge agent: {"running" \| "unhealthy"} |
87+
| runtime.platform.OS | Reporting the OS running on the device. |
88+
| runtime.platform.architecture | Reporting the architecture of the CPU on the device. |
89+
| schemaVersion | Schema version of reported properties. |
90+
| systemModules.edgeAgent.runtimeStatus | The reported status of IoT Edge agent: {*running* \| *unhealthy*}. |
8691
| systemModules.edgeAgent.statusDescription | Text description of the reported status of the IoT Edge agent. |
87-
| systemModules.edgeAgent.exitCode | The exit code reported by the IoT Edge agent container if the container exits |
88-
| systemModules.edgeAgent.lastStartTimeUtc | Time when IoT Edge agent was last started |
89-
| systemModules.edgeAgent.lastExitTimeUtc | Time when IoT Edge agent last exited |
90-
| systemModules.edgeHub.runtimeStatus | Status of IoT Edge hub: { "running" \| "stopped" \| "failed" \| "backoff" \| "unhealthy" } |
91-
| systemModules.edgeHub.statusDescription | Text description of the status of IoT Edge hub if unhealthy. |
92-
| systemModules.edgeHub.exitCode | The exit code reported by the IoT Edge hub container if the container exits |
93-
| systemModules.edgeHub.lastStartTimeUtc | Time when IoT Edge hub was last started |
94-
| systemModules.edgeHub.lastExitTimeUtc | Time when IoT Edge hub last exited |
95-
| systemModules.edgeHub.lastRestartTimeUtc | Time when IoT Edge hub was last restarted |
92+
| systemModules.edgeAgent.exitCode | The exit code reported by the IoT Edge agent container if the container exits. |
93+
| systemModules.edgeAgent.lastStartTimeUtc | Time when IoT Edge agent was last started. |
94+
| systemModules.edgeAgent.lastExitTimeUtc | Time when IoT Edge agent last exited. |
95+
| systemModules.edgeHub.runtimeStatus | Status of IoT Edge hub: { *running* \| *stopped* \| *failed* \| *backoff* \| *unhealthy* }. |
96+
| systemModules.edgeHub.statusDescription | Text description of the status of IoT Edge hub, if unhealthy. |
97+
| systemModules.edgeHub.exitCode | Exit code reported by the IoT Edge hub container, if the container exits. |
98+
| systemModules.edgeHub.lastStartTimeUtc | Time when IoT Edge hub was last started. |
99+
| systemModules.edgeHub.lastExitTimeUtc | Time when IoT Edge hub was last exited. |
100+
| systemModules.edgeHub.lastRestartTimeUtc | Time when IoT Edge hub was last restarted. |
96101
| systemModules.edgeHub.restartCount | Number of times this module was restarted as part of the restart policy. |
97-
| modules.{moduleId}.runtimeStatus | Status of the module: { "running" \| "stopped" \| "failed" \| "backoff" \| "unhealthy" } |
98-
| modules.{moduleId}.statusDescription | Text description of the status of the module if unhealthy. |
99-
| modules.{moduleId}.exitCode | The exit code reported by the module container if the container exits |
100-
| modules.{moduleId}.lastStartTimeUtc | Time when the module was last started |
101-
| modules.{moduleId}.lastExitTimeUtc | Time when the module last exited |
102-
| modules.{moduleId}.lastRestartTimeUtc | Time when the module was last restarted |
102+
| modules.{moduleId}.runtimeStatus | Status of the module: { *running* \| *stopped* \| *failed* \| *backoff* \| *unhealthy* }. |
103+
| modules.{moduleId}.statusDescription | Text description of the status of the module, if unhealthy. |
104+
| modules.{moduleId}.exitCode | The exit code reported by the module container, if the container exits. |
105+
| modules.{moduleId}.lastStartTimeUtc | Time when the module was last started. |
106+
| modules.{moduleId}.lastExitTimeUtc | Time when the module was last exited. |
107+
| modules.{moduleId}.lastRestartTimeUtc | Time when the module was last restarted. |
103108
| modules.{moduleId}.restartCount | Number of times this module was restarted as part of the restart policy. |
109+
| version | Version of the image. Example: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
104110

105111
## EdgeHub desired properties
106112

107113
The module twin for the IoT Edge hub is called `$edgeHub` and coordinates the communications between the IoT Edge hub running on a device and IoT Hub. The desired properties are set when applying a deployment manifest on a specific device as part of a single-device or at-scale deployment.
108114

109115
| Property | Description | Required in the deployment manifest |
110116
| -------- | ----------- | -------- |
111-
| schemaVersion | Either "1.0" or "1.1". Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
117+
| schemaVersion | Either 1.0 or 1.1. Version 1.1 was introduced with IoT Edge version 1.0.10, and is recommended. | Yes |
112118
| routes.{routeName} | A string representing an IoT Edge hub route. For more information, see [Declare routes](module-composition.md#declare-routes). | The `routes` element can be present but empty. |
113119
| storeAndForwardConfiguration.timeToLiveSecs | The device time in seconds that IoT Edge hub keeps messages if disconnected from routing endpoints, whether IoT Hub or a local module. This time persists over any power offs or restarts. For more information, see [Offline capabilities](offline-capabilities.md#time-to-live). | Yes |
114120

@@ -119,9 +125,12 @@ The module twin for the IoT Edge hub is called `$edgeHub` and coordinates the co
119125
| lastDesiredVersion | This integer refers to the last version of the desired properties processed by the IoT Edge hub. |
120126
| lastDesiredStatus.code | The status code referring to last desired properties seen by the IoT Edge hub. Allowed values: `200` Success, `400` Invalid configuration, `500` Failed |
121127
| lastDesiredStatus.description | Text description of the status. |
122-
| clients.{device or moduleId}.status | The connectivity status of this device or module. Possible values {"connected" \| "disconnected"}. Only module identities can be in disconnected state. Downstream devices connecting to IoT Edge hub appear only when connected. |
128+
| clients | All clients connected to edgeHub with the status and last connected time. Example: "clients": { "device2/SimulatedTemperatureSensor": { "status": "Connected", "lastConnectedTimeUtc": "2022-11-17T21:49:16.4781564Z" } }. |
129+
| clients.{device or moduleId}.status | The connectivity status of this device or module. Possible values {*connected* \| *disconnected*}. Only module identities can be in disconnected state. Downstream devices connecting to IoT Edge hub appear only when connected. |
123130
| clients.{device or moduleId}.lastConnectTime | Last time the device or module connected. |
124131
| clients.{device or moduleId}.lastDisconnectTime | Last time the device or module disconnected. |
132+
| schemaVersion | Schema version of reported properties. |
133+
| version | Version of the image. Example: "version": { "version": "1.2.7", "build": "50979330", "commit": "d3ec971caa0af0fc39d2c1f91aef21e95bd0c03c" }. |
125134

126135
## Next steps
127136

0 commit comments

Comments
 (0)