azext_iot/central/_help.py (401 lines of code) (raw):
# coding=utf-8
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
from knack.help_files import helps
def load_central_help():
helps[
"iot central"
] = """
type: group
short-summary: Manage IoT Central resources.
long-summary: |
IoT Central is an IoT application platform that reduces the burden and cost of developing,
managing, and maintaining enterprise-grade IoT solutions. Choosing to build with IoT Central
gives you the opportunity to focus time, money, and energy on transforming your business
with IoT data, rather than just maintaining and updating a complex and continually evolving
IoT infrastructure.
IoT Central documentation is available at https://aka.ms/iotcentral-documentation
Additional information on CLI commands is available at https://aka.ms/azure-cli-iot-ext
"""
helps[
"iot central app"
] = """
type: group
short-summary: Manage IoT Central applications.
long-summary: Create, delete, view, and update your IoT Central apps.
"""
helps[
"iot central query"
] = """
type: command
short-summary: Query device telemetry or property data with IoT Central Query Language.
long-summary: For query syntax details, visit https://learn.microsoft.com/en-us/azure/iot-central/core/howto-query-with-rest-api.
examples:
- name: Query device telemetry
text: >
az iot central query
--app-id {appid}
--query-string {query_string}
"""
_load_central_devices_help()
_load_central_users_help()
_load_central_api_token_help()
_load_central_device_templates_help()
_load_central_device_groups_help()
_load_central_roles_help()
_load_central_file_upload_configuration_help()
_load_central_organizations_help()
_load_central_jobs_help()
_load_central_monitors_help()
_load_central_command_help()
_load_central_compute_device_key()
_load_central_export_help()
_load_central_c2d_message_help()
_load_central_edge_help()
_load_central_enrollment_group_help()
_load_central_scheduled_job_help()
def _load_central_export_help():
helps[
"iot central export"
] = """
type: group
short-summary: Manage and configure IoT Central data exports.
"""
helps[
"iot central export list"
] = """
type: command
short-summary: Get the full list of exports for an IoT Central application.
examples:
- name: List all exports in an application
text: >
az iot central export list
--app-id {appid}
"""
helps[
"iot central export show"
] = """
type: command
short-summary: Get an export details
examples:
- name: Get an export details
text: >
az iot central export show
--app-id {appid}
--export-id {exportid}
"""
helps[
"iot central export create"
] = """
type: command
short-summary: Create an export for an IoT Central application.
examples:
- name: Create an export with filter, enrichments, destinations
text: >
az iot central export create
--app-id {appid}
--export-id {exportid}
--enabled {enabled}
--display-name {displayname}
--source {source}
--filter "SELECT * FROM devices WHERE $displayName != \"abc\" AND $id = \"a\""
--enrichments '{
"simulated": {
"path": "$simulated"
}
}'
--destinations '[
{
"id": "{destinationid}",
"transform": "{ ApplicationId: .applicationId, Component: .component, DeviceName: .device.name }"
}
]'
"""
helps[
"iot central export update"
] = """
type: command
short-summary: Update an export for an IoT Central application.
long-summary: Source is immutable once an export is created.
examples:
- name: Update an export from file
text: >
az iot central export update
--app-id {appid}
--export-id {exportid}
--content './filepath/payload.json'
- name: Update an export's display name and enable export from json payload
text: >
az iot central export update
--app-id {appid}
--export-id {exportid}
--content "{'displayName': 'Updated Export Name', 'enabled': true}"
"""
helps[
"iot central export delete"
] = """
type: command
short-summary: Delete an export for an IoT Central application.
examples:
- name: Delete an export
text: >
az iot central export delete
--app-id {appid}
--export-id {exportid}
"""
_load_central_destination_help()
def _load_central_destination_help():
helps[
"iot central export destination"
] = """
type: group
short-summary: Manage and configure IoT Central export destinations.
"""
helps[
"iot central export destination list"
] = """
type: command
short-summary: Get the full list of export destinations for an IoT Central application.
examples:
- name: List all export destinations in an application
text: >
az iot central export destination list
--app-id {appid}
"""
helps[
"iot central export destination show"
] = """
type: command
short-summary: Get an export destination details
examples:
- name: Get an export destination details
text: >
az iot central export destination show
--app-id {appid}
--dest-id {destinationid}
"""
helps[
"iot central export destination create"
] = """
type: command
short-summary: Create an export destination for an IoT Central application.
examples:
- name: Create a webhook export destination with json payload
text: >
az iot central export destination create
--app-id {appid}
--dest-id {destinationid}
--name {displayname}
--url {url}
--type webhook@v1
--header '{"x-custom-region":{"value":"westus", "secret": false}}'
- name: Create a blob storage export destination with json payload
text: >
az iot central export destination create
--app-id {appid}
--dest-id {destintionid}
--type blobstorage@v1
--name {displayname}
--authorization '{
"type": "connectionString",
"connectionString":"DefaultEndpointsProtocol=https;AccountName=[accountName];AccountKey=[key];EndpointSuffix=core.windows.net",
"containerName": "test"
}'
- name: Create an Azure Data Explorer export destination with json payload
text: >
az iot central export destination create
--app-id {appid}
--dest-id {destintionid}
--type dataexplorer@v1
--name {displayname}
--cluster-url {clusterurl}
--database {database}
--table {table}
--authorization '{
"type": "servicePrincipal",
"clientId": "3b420743-2020-44c6-9b70-cc42f945db0x",
"tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
"clientSecret": "[Secret]"
}'
- name: Create an Event Hub export destination with json payload
text: >
az iot central export destination create
--app-id {appid}
--dest-id {destintionid}
--type eventhubs@v1
--name {displayname}
--authorization '{
"type": "connectionString",
"connectionString": "Endpoint=sb://[hubName].servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=*****;EntityPath=entityPath1"
}'
- name: Create a Service Bus Queue destination with json payload
text: >
az iot central export destination create
--app-id {appid}
--dest-id {destintionid}
--type servicebusqueue@v1
--name {displayname}
--authorization '{
"type": "connectionString",
"connectionString": "Endpoint=sb://[namespance].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=[key];EntityPath=[name]"
}'
- name: Create a Service Bus Topic destination with json payload
text: >
az iot central export destination create
--app-id {appid}
--dest-id {destintionid}
--type servicebustopic@v1
--name {displayname}
--authorization '{
"type": "connectionString",
"connectionString": "Endpoint=sb://[namespace].servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=[key];EntityPath=[name]"
}'
"""
helps[
"iot central export destination update"
] = """
type: command
short-summary: Update an export destination for an IoT Central application.
long-summary: The destination type is immutable once it is created. A new destination must be created with the new type.
examples:
- name: Update an export destination from file
text: >
az iot central export destination update
--app-id {appid}
--dest-id {destinationid}
--content './filepath/payload.json'
- name: Update an export destination with json-patch payload
text: >
az iot central export destination update
--app-id {appid}
--dest-id {destinationid}
--content '{"displayName": "Web Hook Updated"}'
"""
helps[
"iot central export destination delete"
] = """
type: command
short-summary: Delete an export destination for an IoT Central application.
examples:
- name: Delete an export destination
text: >
az iot central export destination delete
--app-id {appid}
--dest-id {destinationid}
"""
def _load_central_devices_help():
helps[
"iot central device"
] = """
type: group
short-summary: Manage and configure IoT Central devices
"""
helps[
"iot central device list"
] = """
type: command
short-summary: Get the list of devices for an IoT Central application.
examples:
- name: List all devices in an application, sorted by device Id (default)
text: >
az iot central device list
--app-id {appid}
"""
helps[
"iot central device create"
] = """
type: command
short-summary: Create a device in IoT Central.
examples:
- name: Create a device
text: >
az iot central device create
--app-id {appid}
--device-id {deviceid}
- name: Create a simulated device
text: >
az iot central device create
--app-id {appid}
--device-id {deviceid}
--template {devicetemplateid}
--simulated
"""
helps[
"iot central device update"
] = """
type: command
short-summary: Update a device in IoT Central.
long-summary: |
Allows to change the following properties of a device:
"displayName", "template", "simulated", "enabled" and "organizations".
Device Id cannot be changed.
examples:
- name: Update a device display name
text: >
az iot central device update
--app-id {appid}
--device-id {deviceid}
--device-name {deviceName}
- name: Turn a simulated device to a real one
text: >
az iot central device update
--app-id {appid}
--device-id {deviceid}
--simulated false
- name: Update organizations for the device
text: >
az iot central device update
--app-id {appid}
--device-id {deviceid}
--organizations {organizations}
- name: Disable a device
text: >
az iot central device update
--app-id {appid}
--device-id {deviceid}
--enable false
"""
helps[
"iot central device show"
] = """
type: command
short-summary: Get a device from IoT Central.
examples:
- name: Get a device
text: >
az iot central device show
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device manual-failover"
] = """
type: command
short-summary: Execute a manual failover of device across multiple IoT Hubs to validate device firmware's ability to reconnect using DPS to a different IoT Hub.
long-summary: For more information about high availability and default value for ttl-minutes visit https://github.com/iot-for-all/iot-central-high-availability-clients#readme
examples:
- name: Execute a manual failover of device across multiple IoT Hubs to validate device firmware's ability to reconnect using DPS to a different IoT Hub.
text: >
az iot central device manual-failover
--app-id {appid}
--device-id {deviceid}
--ttl-minutes {ttl_minutes}
"""
helps[
"iot central device manual-failback"
] = """
type: command
short-summary: Reverts the previously executed failover command by moving the device back to it's original IoT Hub
long-summary: For more information about high availability visit https://github.com/iot-for-all/iot-central-high-availability-clients#readme
examples:
- name: Reverts the previously executed failover command by moving the device back to it's original IoT Hub
text: >
az iot central device manual-failback
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device delete"
] = """
type: command
short-summary: Delete a device from IoT Central.
examples:
- name: Delete a device
text: >
az iot central device delete
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device show-credentials"
] = """
type: command
short-summary: Get device credentials from IoT Central.
examples:
- name: Get device credentials for a device
text: >
az iot central device show-credentials
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device registration-info"
] = """
type: command
short-summary: Get registration info on device(s) from IoT Central.
long-summary: |
Note: This command can take a significant amount of time to return if no device id is specified and your app contains a lot of devices.
examples:
- name: Get registration info on specified device
text: >
az iot central device registration-info
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device attestation"
] = """
type: group
short-summary: Manage and configure IoT Central device attestation.
"""
helps[
"iot central device attestation show"
] = """
type: command
short-summary: Get device attestation.
examples:
- name: Get device attestation on specified device
text: >
az iot central device attestation show
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device attestation delete"
] = """
type: command
short-summary: Remove an individual device attestation.
examples:
- name: Remove an individual device attestation on specified device
text: >
az iot central device attestation delete
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device attestation update"
] = """
type: command
short-summary: Update an individual device attestation via patch.
examples:
- name: Update an individual device attestation via patch on specified device
text: >
az iot central device attestation update
--app-id {appid}
--device-id {deviceid}
--content {attestation}
"""
helps[
"iot central device attestation create"
] = """
type: command
short-summary: Create an individual device attestation.
examples:
- name: Create an individual device attestation on specified device
text: >
az iot central device attestation create
--app-id {appid}
--device-id {deviceid}
--content {attestation}
"""
helps[
"iot central device list-components"
] = """
type: command
short-summary: List the components present in a device.
examples:
- name: List the components present in a device
text: >
az iot central device list-components
--app-id {appid}
--device-id {deviceid}
- name: List the components present in a device module
text: >
az iot central device list-components
--app-id {appid}
--module-name {modulename}
--device-id {deviceid}
"""
helps[
"iot central device list-modules"
] = """
type: command
short-summary: List the modules present in a device.
examples:
- name: List the modules present in a device
text: >
az iot central device list-modules
--app-id {appid}
--device-id {deviceid}
"""
helps[
"iot central device telemetry"
] = """
type: group
short-summary: Query IoT Central device last telemetry value
"""
helps[
"iot central device telemetry show"
] = """
type: command
short-summary: Get the last telemetry value from a device.
examples:
- name: Get device telemetry value.
text: >
az iot central device telemetry show
--app-id {appid}
--device-id {deviceid}
--telemetry-name {telemetryname}
- name: Get device component telemetry value.
text: >
az iot central device telemetry show
--app-id {appid}
--device-id {deviceid}
--component-name {componentname}
--telemetry-name {telemetryname}
- name: Get device module component telemetry value.
text: >
az iot central device telemetry show
--app-id {appid}
--device-id {deviceid}
--module-name {modulename}
--component-name {componentname}
--telemetry-name {telemetryname}
"""
def _load_central_compute_device_key():
helps[
"iot central device compute-device-key"
] = """
type: command
short-summary: Generate a derived device SAS key.
long-summary: Generate a derived device key from a group-level SAS key.
examples:
- name: Basic usage
text: >
az iot central device compute-device-key --pk {primaryKey} --device-id {deviceid}
"""
def _load_central_command_help():
helps[
"iot central device command"
] = """
type: group
short-summary: Run device commands.
"""
helps[
"iot central device command history"
] = """
type: command
short-summary: Get the details for the latest command request and response sent to the device.
long-summary: |
Lists the most recent command request and response that was sent to the device from IoT Central.
Any update that the device performs to the device properties as a result of the command execution are not included in the response.
examples:
- name: Show command response
text: >
az iot central device command history
--app-id {appid}
--device-id {deviceid}
--interface-id {interfaceid}
--command-name {commandname}
- name: Show component command response
text: >
az iot central device command history
--app-id {appid}
--device-id {deviceid}
--component-name {componentname}
--command-name {commandname}
- name: Show module component command response
text: >
az iot central device command history
--app-id {appid}
--device-id {deviceid}
--module-name {modulename}
--component-name {componentname}
--command-name {commandname}
"""
helps[
"iot central device command run"
] = """
type: command
short-summary: Run a command on a device and view associated response. Does NOT monitor property updates that the command may perform.
long-summary: --content can be inline json or file path.
examples:
- name: Run command with inline payload. Payload should be under "request" in json string
text: >
az iot central device command run
--app-id {appid}
--device-id {deviceid}
--interface-id {interfaceid}
--command-name {commandname}
--content '{"request": {payload}}'
- name: Short run command with json payload path.
text: >
az iot central device command run
-n {appid}
-d {deviceid}
-i {interfaceid}
--cn {commandname}
-k {payload_file_path}
- name: Run component command.
text: >
az iot central device command run
-n {appid}
-d {deviceid}
--co {componentname}
--cn {commandname}
-k {payload}
- name: Run module component command.
text: >
az iot central device command run
-n {appid}
-d {deviceid}
--mn {modulename}
--co {componentname}
--cn {commandname}
-k {payload}
"""
def _load_central_c2d_message_help():
helps[
"iot central device c2d-message"
] = """
type: group
short-summary: Run device cloud-to-device messaging commands.
"""
helps[
"iot central device c2d-message purge"
] = """
type: command
short-summary: Purges the cloud-to-device message queue for the target device.
long-summary: Purges the cloud-to-device message queue for the target device.
examples:
- name: Purges the cloud to device message queue for the target device.
text: >
az iot central device c2d-message purge
--app-id {appid}
--device-id {deviceid}
"""
def _load_central_users_help():
helps[
"iot central user"
] = """
type: group
short-summary: Manage and configure IoT Central users
"""
helps[
"iot central user create"
] = """
type: command
short-summary: Add a user to the application
examples:
- name: Add a user by email to the application
text: >
az iot central user create
--user-id {userId}
--app-id {appId}
--email {emailAddress}
--role admin
- name: Add a service-principal to the application
text: >
az iot central user create
--user-id {userId}
--app-id {appId}
--tenant-id {tenantId}
--object-id {objectId}
--role operator
"""
helps[
"iot central user update"
] = """
type: command
short-summary: Update roles for a user in the application.
long-summary: |
Update a user with a different roles.
Updating the tenantId or objectId for a service principal user is not allowed.
Updating the email address for an email user is not allowed.
examples:
- name: Update roles for a user by email or service principal in the application.
text: >
az iot central user update
--user-id {userId}
--app-id {appId}
--roles "org1\\admin"
"""
helps[
"iot central user show"
] = """
type: command
short-summary: Get the details of a user by ID
examples:
- name: Get details of user
text: >
az iot central user show
--app-id {appid}
--user-id {userId}
"""
helps[
"iot central user delete"
] = """
type: command
short-summary: Delete a user from the application
examples:
- name: Delete a user
text: >
az iot central user delete
--app-id {appid}
--user-id {userId}
"""
helps[
"iot central user list"
] = """
type: command
short-summary: Get list of users for an IoT Central application
examples:
- name: List of users
text: >
az iot central user list
--app-id {appid}
"""
def _load_central_api_token_help():
helps[
"iot central api-token"
] = """
type: group
short-summary: Manage API tokens for your IoT Central application.
long-summary: IoT Central allows you to generate and manage API tokens to be used to access the IoT Central API. More information about APIs can be found at https://aka.ms/iotcentraldocsapi.
"""
helps[
"iot central api-token create"
] = """
type: command
short-summary: Generate an API token associated with your IoT Central application.
long-summary: |
Note: Write down your token once it's been generated as you won't be able to retrieve it again.
examples:
- name: Add new API token
text: >
az iot central api-token create
--token-id {tokenId}
--app-id {appId}
--role admin
"""
helps[
"iot central api-token show"
] = """
type: command
short-summary: Get details for an API token associated with your IoT Central application.
long-summary: List details, like its associated role, for an API token in your IoT Central app.
examples:
- name: Get API token
text: >
az iot central api-token show
--app-id {appid}
--token-id {tokenId}
"""
helps[
"iot central api-token delete"
] = """
type: command
short-summary: Delete an API token associated with your IoT Central application.
examples:
- name: Delete an API token
text: >
az iot central api-token delete
--app-id {appid}
--token-id {tokenId}
"""
helps[
"iot central api-token list"
] = """
type: command
short-summary: Get the list of API tokens associated with your IoT Central application.
long-summary: Information in the list contains basic information about the tokens in the application and does not include token values.
examples:
- name: List of API tokens
text: >
az iot central api-token list
--app-id {appid}
"""
def _load_central_device_templates_help():
helps[
"iot central device-template"
] = """
type: group
short-summary: Manage and configure IoT Central device templates
"""
helps[
"iot central device-template list"
] = """
type: command
short-summary: Get the list of device templates for an IoT Central application.
examples:
- name: List all device templates in an application, sorted by template Id (default)
text: >
az iot central device-template list
--app-id {appid}
"""
helps[
"iot central device-template create"
] = """
type: command
short-summary: Create a device template in IoT Central.
examples:
- name: Create a device template with payload read from a file
text: >
az iot central device-template create
--app-id {appid}
--content {pathtofile}
--device-template-id {devicetemplateid}
- name: Create a device template with payload read from raw json
text: >
az iot central device-template create
--app-id {appid}
--content {json}
--device-template-id {devicetemplateid}
"""
helps[
"iot central device-template update"
] = """
type: command
short-summary: Update a device template in IoT Central.
examples:
- name: Update a device template with payload read from a file
text: >
az iot central device-template update
--app-id {appid}
--content {pathtofile}
--device-template-id {devicetemplateid}
- name: Update a device template with payload read from raw json
text: >
az iot central device-template update
--app-id {appid}
--content {json}
--device-template-id {devicetemplateid}
"""
helps[
"iot central device-template show"
] = """
type: command
short-summary: Get a device template from IoT Central.
examples:
- name: Get a device template
text: >
az iot central device-template show
--app-id {appid}
--device-template-id {devicetemplateid}
"""
helps[
"iot central device-template delete"
] = """
type: command
short-summary: Delete a device template from IoT Central.
long-summary: |
Note: this is expected to fail if any devices are still associated to this template.
examples:
- name: Delete a device template from IoT Central
text: >
az iot central device-template delete
--app-id {appid}
--device-template-id {devicetemplateid}
"""
def _load_central_device_groups_help():
helps[
"iot central device-group"
] = """
type: group
short-summary: Manage and configure IoT Central device groups
"""
helps[
"iot central device-group list"
] = """
type: command
short-summary: Get the list of device groups for an IoT Central application.
examples:
- name: List device groups in an application
text: >
az iot central device-group list
--app-id {appid}
"""
helps[
"iot central device-group show"
] = """
type: command
short-summary: Get the device group by ID.
examples:
- name: Get the device group by ID.
text: >
az iot central device-group show
--app-id {appid}
--device-group-id {devicegroupid}
"""
helps[
"iot central device-group create"
] = """
type: command
short-summary: Create a device group.
long-summary: |
Note: Only one organization is supported today, multiple organizations will be supported soon.
examples:
- name: Create a device group.
text: >
az iot central device-group create
--app-id {appid}
--device-group-id {devicegroupid}
--display-name "DeviceGroup1"
--filter "SELECT * FROM devices WHERE $provisioned = true"
--description "This is a default device group."
--organizations {organization}
"""
helps[
"iot central device-group update"
] = """
type: command
short-summary: Update an existing device group.
long-summary: |
Note: Only one organization is supported today, multiple organizations will be supported soon.
examples:
- name: Update a device group via patch
text: >
az iot central device-group update
--app-id {appid}
--device-group-id {devicegroupid}
--display-name {displayname}
--filter {filter}
--description {description}
--organizations {organization}
"""
helps[
"iot central device-group delete"
] = """
type: command
short-summary: Delete a device group.
examples:
- name: Delete a device group
text: >
az iot central device-group delete
--app-id {appid}
--device-group-id {devicegroupid}
"""
def _load_central_file_upload_configuration_help():
helps[
"iot central file-upload-config"
] = """
type: group
short-summary: Manage and configure IoT Central file upload
"""
helps[
"iot central file-upload-config show"
] = """
type: command
short-summary: Get the details of file upload storage account configuration
examples:
- name: Get details of file upload configuration
text: >
az iot central file-upload-config show
--app-id {appid}
"""
helps[
"iot central file-upload-config delete"
] = """
type: command
short-summary: Delete file upload storage account configuration
examples:
- name: Delete file upload
text: >
az iot central file-upload-config delete
--app-id {appid}
"""
helps[
"iot central file-upload-config create"
] = """
type: command
short-summary: Create file upload storage account configuration
examples:
- name: Create file upload
text: >
az iot central file-upload-config create
--app-id {appid}
--connection-string {conn_string}
--container {container}
"""
helps[
"iot central file-upload-config update"
] = """
type: command
short-summary: Update file upload storage account configuration
examples:
- name: Update file upload
text: >
az iot central file-upload-config update
--app-id {appid}
--container {container}
"""
def _load_central_roles_help():
helps[
"iot central role"
] = """
type: group
short-summary: Manage and configure roles for an IoT Central application.
"""
helps[
"iot central role list"
] = """
type: command
short-summary: Get the list of roles for an IoT Central application.
examples:
- name: List roles in an application
text: >
az iot central role list
--app-id {appid}
"""
helps[
"iot central role show"
] = """
type: command
short-summary: Get the details of a role by ID.
examples:
- name: Get details of role
text: >
az iot central role show
--app-id {appid}
--role-id {roleId}
"""
def _load_central_organizations_help():
helps[
"iot central organization"
] = """
type: group
short-summary: Manage and configure organizations for an IoT Central application.
"""
helps[
"iot central organization list"
] = """
type: command
short-summary: Get the list of organizations for an IoT Central application.
examples:
- name: List organizations in an application
text: >
az iot central organization list
--app-id {appid}
"""
helps[
"iot central organization show"
] = """
type: command
short-summary: Get the details of a organization by ID.
examples:
- name: Get details of organization
text: >
az iot central organization show
--app-id {appid}
--org-id {organizationId}
"""
helps[
"iot central organization delete"
] = """
type: command
short-summary: Delete an organization by ID.
examples:
- name: Delete an organization
text: >
az iot central organization delete
--app-id {appid}
--org-id {organizationId}
"""
helps[
"iot central organization create"
] = """
type: command
short-summary: Create an organization in the application.
examples:
- name: Create an organization
text: >
az iot central organization create
--app-id {appid}
--org-id {organizationId}
- name: Create an organization, child of a parent one in the application.
text: >
az iot central organization create
--app-id {appid}
--org-id {organizationId}
--parent-id {parentId}
"""
helps[
"iot central organization update"
] = """
type: command
short-summary: Update an organization in the application.
examples:
- name: Update parent of an organization
text: >
az iot central organization update
--app-id {appid}
--org-id {organizationId}
--parent-id {parentId}
- name: Update name of an organization
text: >
az iot central organization update
--app-id {appid}
--org-id {organizationId}
--org-name {organizationName}
"""
def _load_central_jobs_help():
helps[
"iot central job"
] = """
type: group
short-summary: Manage and configure jobs for an IoT Central application.
"""
helps[
"iot central job list"
] = """
type: command
short-summary: Get the list of jobs for an IoT Central application.
examples:
- name: List jobs in an application
text: >
az iot central job list
--app-id {appid}
"""
helps[
"iot central job create"
] = """
type: command
short-summary: Create and execute a job via its job definition.
examples:
- name: Create a job with name
text: >
az iot central job create
--app-id {appid}
--job-id {jobId}
--group-id {groupId}
--job-name {jobName}
--content {creationJSONPath}
- name: Create a job with name and batch configuration.
text: >
az iot central job create
--app-id {appid}
--job-id {jobId}
--group-id {groupId}
--job-name {jobName}
--content {creationJSONPath}
--batch {jobBatchValue}
--batch-type {jobBatchType}
- name: Create a job with name and cancellation threshold configuration with no batch.
text: >
az iot central job create
--app-id {appid}
--job-id {jobId}
--group-id {groupId}
--job-name {jobName}
--content {creationJSONPath}
--cancellation-threshold {jobCancellationThresholdValue}
--cancellation-threshold-type {jobCancellationThresholdType}
--description {jobDesc}
"""
helps[
"iot central job show"
] = """
type: command
short-summary: Get the details of a job by ID.
examples:
- name: Get details of job
text: >
az iot central job show
--app-id {appid}
--job-id {jobId}
"""
helps[
"iot central job stop"
] = """
type: command
short-summary: Stop a running job.
examples:
- name: Stop a job
text: >
az iot central job stop
--app-id {appid}
--job-id {jobId}
"""
helps[
"iot central job resume"
] = """
type: command
short-summary: Resume a stopped job.
examples:
- name: Resume a job
text: >
az iot central job resume
--app-id {appid}
--job-id {jobId}
"""
helps[
"iot central job rerun"
] = """
type: command
short-summary: Re-run a job on all failed devices.
examples:
- name: Rerun a job
text: >
az iot central job rerun
--app-id {appid}
--job-id {jobId}
--rerun-id {rerunId}
"""
helps[
"iot central job get-devices"
] = """
type: command
short-summary: Get job device statuses.
examples:
- name: Get the list of individual device statuses by job ID
text: >
az iot central job get-devices
--app-id {appid}
--job-id {jobId}
"""
def _load_central_monitors_help():
helps[
"iot central diagnostics"
] = """
type: group
short-summary: Perform application and device level diagnostics.
"""
helps[
"iot central diagnostics monitor-events"
] = """
type: command
short-summary: View device telemetry messages sent to the IoT Central app.
long-summary: |
Shows the telemetry data sent to IoT Central application. By default,
it shows all the data sent by all devices. Use the --device-id parameter
to filter to a specific device.
examples:
- name: Basic usage
text: >
az iot central diagnostics monitor-events --app-id {app_id}
- name: Basic usage when filtering on target device
text: >
az iot central diagnostics monitor-events --app-id {app_id} -d {device_id}
- name: Basic usage when filtering targeted devices with a wildcard in the ID
text: >
az iot central diagnostics monitor-events --app-id {app_id} -d Device*d
- name: Basic usage when filtering on module.
text: >
az iot central diagnostics monitor-events --app-id {app_id} -m {module_id}
- name: Basic usage when filtering targeted modules with a wildcard in the ID
text: >
az iot central diagnostics monitor-events --app-id {app_id} -m Module*
- name: Filter device and specify an Event Hub consumer group to bind to.
text: >
az iot central diagnostics monitor-events --app-id {app_id} -d {device_id} --cg {consumer_group_name}
- name: Receive message annotations (message headers)
text: >
az iot central diagnostics monitor-events --app-id {app_id} -d {device_id} --properties anno
- name: Receive message annotations + system properties. Never time out.
text: >
az iot central diagnostics monitor-events --app-id {app_id} -d {device_id} --properties anno sys --timeout 0
- name: Receive all message attributes from all device messages
text: >
az iot central diagnostics monitor-events --app-id {app_id} --props all
- name: Receive all messages and parse message payload as JSON
text: >
az iot central diagnostics monitor-events --app-id {app_id} --output json
"""
helps[
"iot central diagnostics validate-messages"
] = """
type: command
short-summary: Validate messages sent to the IoT Hub for an IoT Central app.
long-summary: |
Performs validations on the telemetry messages and reports back data that is not modeled in the device template or data where the data type doesn’t match what is defined in the device template.
examples:
- name: Basic usage
text: >
az iot central diagnostics validate-messages --app-id {app_id}
- name: Output errors as they are detected
text: >
az iot central diagnostics validate-messages --app-id {app_id} --style scroll
- name: Basic usage when filtering on target device
text: >
az iot central diagnostics validate-messages --app-id {app_id} -d {device_id}
- name: Basic usage when filtering targeted devices with a wildcard in the ID
text: >
az iot central diagnostics validate-messages --app-id {app_id} -d Device*
- name: Basic usage when filtering on module.
text: >
az iot central diagnostics validate-messages --app-id {app_id} -m {module_id}
- name: Basic usage when filtering targeted modules with a wildcard in the ID
text: >
az iot central diagnostics validate-messages --app-id {app_id} -m Module*
- name: Filter device and specify an Event Hub consumer group to bind to.
text: >
az iot central diagnostics validate-messages --app-id {app_id} -d {device_id} --cg {consumer_group_name}
"""
helps[
"iot central diagnostics monitor-properties"
] = """
type: command
short-summary: View desired and reported properties sent to/from the IoT Central app.
long-summary: |
Polls device-twin from central and compares it to the last device-twin
Parses out properties from device-twin, and detects if changes were made
Prints subset of properties that were changed within the polling interval
examples:
- name: Basic usage
text: >
az iot central diagnostics monitor-properties --app-id {app_id} -d {device_id}
"""
helps[
"iot central diagnostics validate-properties"
] = """
type: command
short-summary: Validate reported properties sent to the IoT Central application.
long-summary: |
Performs validations on reported property updates:
1) Warning - Properties sent by device that are not modeled in central.
2) Warning - Properties with same name declared in multiple interfaces
should have interface name included as part of the property update.
examples:
- name: Basic usage
text: >
az iot central diagnostics validate-properties --app-id {app_id} -d {device_id}
"""
helps[
"iot central diagnostics registration-summary"
] = """
type: command
short-summary: View the registration summary of all the devices in an app.
long-summary: |
Note: This command can take a significant amount of time to return
if your app contains a lot of devices
examples:
- name: Registration summary
text: >
az iot central diagnostics registration-summary --app-id {appid}
"""
helps[
"iot central device twin"
] = """
type: group
short-summary: Manage IoT Central device twins.
"""
helps[
"iot central device twin show"
] = """
type: command
short-summary: Get all property values of a device, a device component, a device module or a device module component.
long-summary: Providing --component-name, --module-name or both of them to get device component properties,
device module properties or device module component properties.
examples:
- name: Get device properties
text: >
az iot central device twin show
--app-id {appid}
--device-id {deviceid}
- name: Get device component properties
text: >
az iot central device twin show
--app-id {appid}
--device-id {deviceid}
--co {componentname}
- name: Get device module component properties
text: >
az iot central device twin show
--app-id {appid}
--device-id {deviceid}
--mn {modulename}
--co {componentname}
"""
helps[
"iot central device twin update"
] = """
type: command
short-summary: Update writable property values of a device, a device component, a device module or a device module component.
long-summary: Providing --component-name, --module-name or both of them to update device component properties,
device module properties or device module component properties.
examples:
- name: Update device properties
text: >
az iot central device twin update
--app-id {appid}
--device-id {deviceid}
-k {content}
- name: Update device component properties
text: >
az iot central device twin update
--app-id {appid}
--device-id {deviceid}
--co {componentname}
-k {content}
- name: Update device module component properties
text: >
az iot central device twin update
--app-id {appid}
--device-id {deviceid}
--mn {modulename}
--co {componentname}
-k {content}
"""
helps[
"iot central device twin replace"
] = """
type: command
short-summary: Replace writable property values of a device, a device component or a device module or a device module component.
long-summary: Providing --component-name, --module-name or both of them to replace device component properties,
device module properties or device module component properties.
examples:
- name: Replace device properties
text: >
az iot central device twin replace
--app-id {appid}
--device-id {deviceid}
-k {content}
- name: Replace device component properties
text: >
az iot central device twin replace
--app-id {appid}
--device-id {deviceid}
--co {componentname}
-k {content}
- name: Replace device module component properties
text: >
az iot central device twin replace
--app-id {appid}
--device-id {deviceid}
--mn {modulename}
--co {componentname}
-k {content}
"""
def _load_central_edge_help():
helps[
"iot central device edge"
] = """
type: group
short-summary: Manage and configure IoT Central edge devices
"""
helps[
"iot central device edge module"
] = """
type: group
short-summary: Manage IoT Edge device modules.
"""
helps[
"iot central device edge children"
] = """
type: group
short-summary: Manage IoT Edge device children devices.
"""
helps[
"iot central device edge manifest"
] = """
type: group
short-summary: Manage IoT Edge device manifests.
"""
helps[
"iot central device edge module list"
] = """
type: command
short-summary: Get the list of modules in an IoT Edge device.
examples:
- name: List all modules in a device. (default)
text: >
az iot central device edge module list
--app-id {appid}
--device-id {deviceId}
"""
helps[
"iot central device edge module restart"
] = """
type: command
short-summary: Restart a module in an IoT Edge device.
examples:
- name: Restart a module in a device.
text: >
az iot central device edge module restart
--app-id {appid}
--device-id {deviceId}
--module-id {moduleId}
"""
helps[
"iot central device edge module show"
] = """
type: command
short-summary: Get a module in an IoT Edge device.
examples:
- name: Get a module in a device.
text: >
az iot central device edge module show
--app-id {appid}
--device-id {deviceId}
--module-id {moduleId}
"""
helps[
"iot central device edge manifest show"
] = """
type: command
short-summary: Get the deployment manifest associated to the specified IoT Edge device.
examples:
- name: Get a deployment manifest.
text: >
az iot central device edge manifest show
--app-id {appid}
--device-id {deviceId}
"""
helps[
"iot central device edge children list"
] = """
type: command
short-summary: Get the list of children of an IoT Edge device.
examples:
- name: List all children of a device.
text: >
az iot central device edge children list
--app-id {appid}
--device-id {deviceId}
"""
helps[
"iot central device edge children add"
] = """
type: command
short-summary: Add devices as children to a target edge device.
examples:
- name: Add space-separated list of device Ids as children to the target edge device.
text: >
az iot central device edge children add
--app-id {appid}
--device-id {deviceId}
--children-ids {child_1} {child_2}
"""
helps[
"iot central device edge children remove"
] = """
type: command
short-summary: Remove child devices from a target edge device.
examples:
- name: Remove children.
text: >
az iot central device edge children remove
--app-id {appid}
--device-id {deviceId}
--children-ids {child_1} {child_2}
"""
def _load_central_enrollment_group_help():
helps[
"iot central enrollment-group"
] = """
type: group
short-summary: Manage and configure IoT Central enrollment group
"""
helps[
"iot central enrollment-group list"
] = """
type: command
short-summary: Get the list of enrollment groups in an application
examples:
- name: Get the list of enrollment groups in an application
text: >
az iot central enrollment-group list
--app-id {appid}
"""
helps[
"iot central enrollment-group show"
] = """
type: command
short-summary: Get details about an enrollment group by ID
examples:
- name: Get details about an enrollment group by ID
text: >
az iot central enrollment-group show
--app-id {appid}
--id {enrollmentGroupId}
"""
helps[
"iot central enrollment-group delete"
] = """
type: command
short-summary: Delete an enrollment group by ID
examples:
- name: Delete an enrollment group by ID
text: >
az iot central enrollment-group delete
--app-id {appid}
--id {enrollmentGroupId}
"""
helps[
"iot central enrollment-group create"
] = """
type: command
short-summary: Create an enrollment group
examples:
- name: Create an enrollment group
text: >
az iot central enrollment-group create
--app-id {appid}
--id {enrollmentGroupId}
--at {attestation}
--display-name {displayName}
--type {type}
- name: Create an enrollment group with x509 primary certification
text: >
az iot central enrollment-group create
--app-id {appid}
--id {enrollmentGroupId}
--at 'x509'
--display-name {displayName}
--type {type}
--cp {primayCertPath}
- name: Create an enrollment group with given symmetric key certification
text: >
az iot central enrollment-group create
--app-id {appid}
--id {enrollmentGroupId}
--at 'symmetricKey'
--display-name {displayName}
--type {type}
--pk {primaryKey}
--sk {secondaryKey}
"""
helps[
"iot central enrollment-group update"
] = """
type: command
short-summary: Update an enrollment group
examples:
- name: Update an enrollment group
text: >
az iot central enrollment-group update
--app-id {appid}
--id {enrollmentGroupId}
--display-name {displayName}
--type {type}
--ps {enabled}
- name: Remove x509 primary certificate from an enrollment group
text: >
az iot central enrollment-group update
--app-id {appid}
--id {enrollmentGroupId}
--remove-x509 'true'
--entry 'primary'
"""
helps[
"iot central enrollment-group verify-certificate"
] = """
type: command
short-summary: Verify the primary or secondary x509 certificate of an enrollment group
long-summary: |
Verify the primary or secondary x509 certificate of an enrollment group
by providing a certificate with the signed verification code.
Please note that if an enrollment group was created with an unverified x509
certificate, a verification certificate will need to be created using the
unverified x509 certificate and a verification code before using this command.
A verification code can be generated via cli using
the 'enrollment-group generate-verification-code' command. Learn more on how to
create verification certificates using verification code at
https://learn.microsoft.com/en-us/azure/iot-central/core/how-to-connect-devices-x509
examples:
- name: Verify the primary x509 certificate of an enrollment group
text: >
az iot central enrollment-group verify-certificate
--app-id {appid}
--id {enrollmentGroupId}
--cp {primayCertPath}
"""
helps[
"iot central enrollment-group generate-verification-code"
] = """
type: command
short-summary: Generate a verification code for the primary or secondary x509 certificate of an enrollment group
examples:
- name: Generate a verification code for the primary x509 certificate of an enrollment group
text: >
az iot central enrollment-group generate-verification-code
--app-id {appid}
--id {enrollmentGroupId}
--entry 'primary'
"""
def _load_central_scheduled_job_help():
helps[
"iot central scheduled-job"
] = """
type: group
short-summary: Manage and configure IoT Central schedule job
"""
helps[
"iot central scheduled-job list"
] = """
type: command
short-summary: Get the list of scheduled job definitions in an application
examples:
- name: Get the list of scheduled job definitions in an application
text: >
az iot central scheduled-job list
--app-id {appid}
"""
helps[
"iot central scheduled-job show"
] = """
type: command
short-summary: Get details about a scheduled job by ID
examples:
- name: Get details about a scheduled job by ID
text: >
az iot central scheduled-job show
--app-id {appid}
--id {scheduledJobId}
"""
helps[
"iot central scheduled-job delete"
] = """
type: command
short-summary: Delete an existing scheduled job by ID
examples:
- name: Delete an existing scheduled job by ID
text: >
az iot central scheduled-job delete
--app-id {appid}
--id {scheduledJobId}
"""
helps[
"iot central scheduled-job create"
] = """
type: command
short-summary: Create a scheduled job by ID
long-summary: --schedule and --content can be inline json or file path.
examples:
- name: Create a schedule job with name
text: >
az iot central scheduled-job create
--app-id {appid}
--job-id {jobId}
--group-id {groupId}
--job-name {displayName}
--schedule {jobScheduleJSONPatch}
--content {jobDataJSONPath}
- name: Create a scheduled job with name and batch configuration.
text: >
az iot central scheduled-job create
--app-id {appid}
--job-id {jobId}
--group-id {groupId}
--job-name {displayName}
--schedule {jobScheduleJSONPatch}
--content {jobDataJSONPath}
--batch {jobBatchValue}
--batch-type {jobBatchType}
- name: Create a scheduled job with name and cancellation threshold configuration with no batch.
text: >
az iot central scheduled-job create
--app-id {appid}
--job-id {jobId}
--group-id {groupId}
--job-name {displayName}
--schedule {jobScheduleJSONPatch}
--content {jobDataJSONPath}
--cancellation-threshold {jobCancellationThresholdValue}
--cancellation-threshold-type {jobCancellationThresholdType}
--description {jobDesc}
"""
helps[
"iot central scheduled-job update"
] = """
type: command
short-summary: Update a scheduled job by ID
examples:
- name: Update a schedule job with name
text: >
az iot central scheduled-job update
--app-id {appid}
--job-id {jobId}
--job-name {displayName}
"""
helps[
"iot central scheduled-job list-runs"
] = """
type: command
short-summary: Get the list of job instances for a scheduled job definition
examples:
- name: Get the list of jobs instances for a scheduled job definition
text: >
az iot central scheduled-job list-runs
--app-id {appid}
--job-id {jobId}
"""