There is a command group 'az_iot_edge_deployment'. This group of commands could 'manage iot edge deployments at scale'. The group of commands has global parameter '--debug' which means 'Increase logging verbosity to show all debug logs.'. The group of commands has global parameter '--help -h' which means 'Show this help message and exit.'. The group of commands has global parameter '--only-show-errors' which means 'Only show errors, suppressing warnings.'. The group of commands has global parameter '--output -o' which means 'Output format.'. The group of commands has global parameter '--query' which means 'JMESPath query string. See <a href="http://jmespath.org/">http://jmespath.org/</a> for more information and examples.'. The group of commands has global parameter '--subscription' which means 'Name or ID of subscription. You can configure the default subscription using `az account set -s NAME_OR_ID`.'. The group of commands has global parameter '--verbose' which means 'Increase logging verbosity. Use --debug for full debug logs.'. This group contains a child command 'az_iot_edge_deployment_create'.The syntax is: az iot edge deployment create --content
                              --deployment-id
                              [--auth-type {key, login}]
                              [--cl]
                              [--cmq]
                              [--hub-name]
                              [--lab]
                              [--layered {false, true}]
                              [--login]
                              [--metrics]
                              [--no-validation {false, true}]
                              [--pri]
                              [--resource-group]
                              [--target-condition]. The 1th example of the child command would be to use it to 'create a deployment with labels  bash syntax example  that applies for devices in  building 9  and the environment is  test', the syntax is: az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels '{"key0":"value0", "key1":"value1"}' --target-condition "tags.building=9 and tags.environment='test'" --priority 3. The 2th example of the child command would be to use it to 'create a deployment with labels  powershell syntax example  that applies for devices tagged with environment  dev', the syntax is: az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --labels "{'key':'value'}" --target-condition "tags.environment='dev'". The 3th example of the child command would be to use it to 'create a layered deployment that applies for devices tagged with environment  dev   both user metrics and modules content defined inline  powershell syntax example   note that this is in layered deployment format as properties desired   has been defined', the syntax is: az iot edge deployment create -d {deployment_name} -n {iothub_name} --content "{'modulesContent':{'`$edgeAgent':{
  'properties.desired.modules.mymodule0':{ }},'`$edgeHub':{'properties.desired.routes.myroute0':'FROM /messages/* INTO `$upstream'}}}"
--target-condition "tags.environment='dev'" --priority 10 --metrics "{'queries':{'mymetrik':'SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200'}}". The 4th example of the child command would be to use it to 'create a layered deployment that applies for devices in  building 9  and environment  test   both user metrics and modules content defined inline  bash syntax example   note that this is in layered deployment format as properties desired   has been defined', the syntax is: az iot edge deployment create -d {deployment_name} -n {iothub_name} --content '{"modulesContent":{"$edgeAgent":{"properties.desired.modules.mymodule0":{ }},"$edgeHub":{"properties.desired.routes.myroute0":"FROM /messages/* INTO $upstream"}}}' --target-condition "tags.building=9 and tags.environment='test'" --metrics '{"queries":{"mymetrik":"SELECT deviceId from devices where properties.reported.lastDesiredStatus.code = 200"}}'. The 5th example of the child command would be to use it to 'create a deployment that applies for devices in  building 9  and environment  test   both user metrics and modules content defined from file', the syntax is: az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --metrics ./metrics_content.json. The 6th example of the child command would be to use it to 'create a deployment whose definition is from file with shell agnostic input of labels and metrics', the syntax is: az iot edge deployment create -d {deployment_name} -n {iothub_name} --content ./modules_content.json --target-condition "tags.building=9 and tags.environment='test'" --custom-labels key0=value0 key1=value1 --custom-metric-queries mymetric1="select deviceId from devices where tags.location='US'" mymetric2="select *". The parameter '--content -k' is required. It is used to iot edge deployment content. provide file path or raw json.. The parameter '--deployment-id -d' is required. It is used to target deployment name. lowercase and the following special characters are allowed: [-+%_*!'].. The parameter '--auth-type' is optional. indicates whether the operation should auto-derive a policy key or use the current azure ad session. if the authentication type is login and the resource hostname is provided, resource lookup will be skipped unless needed.you can configure the default using `az configure --defaults iothub-data-auth-type=<auth-type-value>`.. The parameter '--cl --custom-labels' is optional. an alternative input style (space separated key=value pairs) for --labels and intended to replace it in the future. format example: key1=value1 key2="this is my value".. The parameter '--cmq --custom-metric-queries' is optional. an alternative input style (space separated key=value pairs) for --metrics and intended to replace it in the future. format example: metric1="select deviceid from devices where tags.location='us'" metric2="select *".. The parameter '--hub-name -n' is optional. iot hub name or hostname. required if --login is not provided.. The parameter '--lab --labels' is optional. map of labels to be applied to target deployment. use the following format: '{"key0":"value0", "key1":"value1"}'. using --custom-labels instead of --labels is recommended.. The parameter '--layered' is optional. layered deployments allow you to define desired properties in $edgeagent, $edgehub and user modules that will layer on top of a base deployment. the properties specified in a layered deployment will merge with properties of the base deployment. properties with the same path will be overwritten based on deployment priority. this option is an alias for --no-validation.. The parameter '--login -l' is optional. this command supports an entity connection string with rights to perform action. use to avoid session login via "az login". if both an entity connection string and name are provided the connection string takes priority. required if --hub-name is not provided.. The parameter '--metrics -m' is optional. iot edge deployment user metric definitions. provide file path or raw json. user metrics are in the form of {"queries":{...}} or {"metrics":{"queries":{...}}}. using --custom-metric-queries instead of --metrics is recommended.. The parameter '--no-validation' is optional. disables client side schema validation for edge deployment creation.. The parameter '--pri --priority' is optional. weight of deployment in case of competing rules (highest wins).. The parameter '--resource-group -g' is optional. name of resource group. you can configure the default group using `az configure --defaults group=<name>`.. The parameter '--target-condition --tc -t' is optional. target condition in which an edge deployment applies to. deployments with no target condition will target no device. use the following format: "tags.environment='test'".. 