There is a command group 'az_sig_image definition'. This group of commands could 'manage shared gallery image with vm'. 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_sig_image definition_create'.The syntax is: az sig image-definition create --gallery-image-definition
                               --gallery-name
                               --offer
                               --os-type {linux, windows}
                               --publisher
                               --resource-group
                               --sku
                               [--description]
                               [--disallowed-disk-types]
                               [--end-of-life-date]
                               [--eula]
                               [--features]
                               [--hyper-v-generation {v1, v2}]
                               [--location]
                               [--maximum-cpu-core]
                               [--maximum-memory]
                               [--minimum-cpu-core]
                               [--minimum-memory]
                               [--os-state {generalized, specialized}]
                               [--plan-name]
                               [--plan-product]
                               [--plan-publisher]
                               [--privacy-statement-uri]
                               [--release-note-uri]
                               [--tags]. The 1th example of the child command would be to use it to 'create an image definition for specialized linux images', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized. The 2th example of the child command would be to use it to 'create an image definition for generalized linux images', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Generalized. The 3th example of the child command would be to use it to 'create an image definition for specialized windows images', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type windows --os-state Specialized. The 4th example of the child command would be to use it to 'create an image definition for generalized windows images', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type windows --os-state Generalized. The 5th example of the child command would be to use it to 'create an image definition with plan information', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized --plan-name PlanName \
--plan-product PlanProduct --plan-publisher PlanPublisher. The 6th example of the child command would be to use it to 'create an image definition for images that support hibernate feature', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features IsHibernateSupported=true. The 7th example of the child command would be to use it to 'create an image definition for images that support accelerated networking', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features IsAcceleratedNetworkSupported=true. The 8th example of the child command would be to use it to 'create an image definition for images that can only be used to create trusted vms  only trusted vms can be created from this image', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features SecurityType=TrustedLaunch. The 9th example of the child command would be to use it to 'create an image definition for images that can be used to create confidential vms', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features SecurityType=ConfidentialVmSupported. The 10th example of the child command would be to use it to 'create an image definition for images that can only be used to create confidential vms  only confidential vms can be created from this image', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features SecurityType=ConfidentialVM. The 11th example of the child command would be to use it to 'create an image definition for images that can be used to create gen2 or trustedlaunchsupported vms', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features SecurityType=TrustedLaunchSupported. The 12th example of the child command would be to use it to 'create an image definition for images that can be used to create gen2  trustedlaunch  or confidential vms', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--features SecurityType=TrustedLaunchAndConfidentialVmSupported. The 13th example of the child command would be to use it to 'create an image definition and indicate end of life date', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--end-of-life-date YYYY-MM-DDTHH:MM:SS+00:00. The 14th example of the child command would be to use it to 'create an image definition and recommend minimum and maximum cpu and memory  gb', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--minimum-cpu-core myMinCPU --maximum-cpu-core myMaxCPU \
--minimum-memory myMinMemory --maximum-memory myMaxMemory. The 15th example of the child command would be to use it to 'create an image definition and indicate which os disk types are not recommended for the image', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--disallowed-disk-types Standard_LRS. The 16th example of the child command would be to use it to 'create an image definition and provide the eula  privacy statement uri  and release notes uri', the syntax is: az sig image-definition create --resource-group MyResourceGroup \
--gallery-name MyGallery --gallery-image-definition MyImage \
--publisher GreatPublisher --offer GreatOffer --sku GreatSku \
--os-type linux --os-state Specialized \
--eula path_to_eula --privacy-statement-uri path_to_statement \
--release-note-uri path_to_release_notes. The parameter '--gallery-image-definition -i' is required. It is used to gallery image definition.. The parameter '--gallery-name -r' is required. It is used to gallery name.. The parameter '--offer -f' is required. It is used to image offer.. The parameter '--os-type' is required. It is used to the type of the os that is included in the disk if creating a vm from user-image or a specialized vhd.. The parameter '--publisher -p' is required. It is used to image publisher.. The parameter '--resource-group -g' is required. It is used to name of resource group. you can configure the default group using `az configure --defaults group=<name>`.. The parameter '--sku -s' is required. It is used to image sku.. The parameter '--description' is optional. the description of the gallery image definition.. The parameter '--disallowed-disk-types' is optional. disk types which would not work with the image, e.g., standard_lrs.. The parameter '--end-of-life-date' is optional. the end of life date, e.g. '2020-12-31'.. The parameter '--eula' is optional. the eula agreement for the gallery image.. The parameter '--features' is optional. a list of gallery image features. e.g. "issecurebootsupported=true ismeasuredbootsupported=false".. The parameter '--hyper-v-generation' is optional. the hypervisor generation of the virtual machine. applicable to os disks only.. The parameter '--location -l' is optional. location. values from: `az account list-locations`. you can configure the default location using `az configure --defaults location=<location>`.. The parameter '--maximum-cpu-core' is optional. maximum cpu cores.. The parameter '--maximum-memory' is optional. maximum memory in mb.. The parameter '--minimum-cpu-core' is optional. minimum cpu cores.. The parameter '--minimum-memory' is optional. minimum memory in mb.. The parameter '--os-state' is optional. this property allows the user to specify whether the virtual machines created under this image are 'generalized' or 'specialized'.. The parameter '--plan-name' is optional. plan name.. The parameter '--plan-product' is optional. plan product.. The parameter '--plan-publisher' is optional. plan publisher.. The parameter '--privacy-statement-uri' is optional. the privacy statement uri.. The parameter '--release-note-uri' is optional. the release note uri.. The parameter '--tags' is optional. space-separated tags: key[=value] [key[=value] ...]. use "" to clear existing tags.. 