Resources/mgmt-plane/L3N1YnNjcmlwdGlvbnMve30vcmVzb3VyY2Vncm91cHMve30vcHJvdmlkZXJzL21pY3Jvc29mdC5jb21wdXRlL2ltYWdlcy97fQ==/2020-06-01.xml (919 lines of code) (raw):
<?xml version='1.0' encoding='utf-8'?>
<CodeGen plane="mgmt-plane">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/images/{}" version="2020-06-01" swagger="mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9pbWFnZXMve2ltYWdlTmFtZX0=/V/MjAyMC0wNi0wMQ=="/>
<commandGroup name="image">
<command name="show" version="2020-06-01">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/images/{}" version="2020-06-01" swagger="mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9pbWFnZXMve2ltYWdlTmFtZX0=/V/MjAyMC0wNi0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.imageName" options="image-name name n" required="True" idPart="name">
<help short="The name of the image."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
<arg type="string" var="$Query.expand" options="expand">
<help short="The expand expression to apply on the operation."/>
</arg>
</argGroup>
<operation operationId="Images_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}">
<request method="get">
<path>
<param type="string" name="imageName" arg="$Path.imageName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<param type="string" name="$expand" arg="$Query.expand"/>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2020-06-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Compute/images/{}"/>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hyperVGeneration">
<enum>
<item value=""V1""/>
<item value=""V2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="object" name="sourceVirtualMachine" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
<prop type="object" name="storageProfile">
<prop type="array<object>" name="dataDisks">
<item type="object">
<prop type="string" name="blobUri"/>
<prop type="string" name="caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="@DiskEncryptionSetParameters_read" name="diskEncryptionSet"/>
<prop type="integer32" name="diskSizeGB"/>
<prop type="integer32" name="lun" required="True"/>
<prop type="@SubResource_read" name="managedDisk"/>
<prop type="@SubResource_read" name="snapshot"/>
<prop type="string" name="storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="osDisk">
<prop type="string" name="blobUri"/>
<prop type="string" name="caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="object" name="diskEncryptionSet" cls="DiskEncryptionSetParameters_read">
<prop type="string" name="id"/>
</prop>
<prop type="integer32" name="diskSizeGB"/>
<prop type="@SubResource_read" name="managedDisk"/>
<prop type="string" name="osState" required="True">
<enum>
<item value=""Generalized""/>
<item value=""Specialized""/>
</enum>
</prop>
<prop type="string" name="osType" required="True">
<enum>
<item value=""Linux""/>
<item value=""Windows""/>
</enum>
</prop>
<prop type="@SubResource_read" name="snapshot"/>
<prop type="string" name="storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="zoneResilient"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="delete" version="2020-06-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/images/{}" version="2020-06-01" swagger="mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9pbWFnZXMve2ltYWdlTmFtZX0=/V/MjAyMC0wNi0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.imageName" options="image-name name n" required="True" idPart="name">
<help short="The name of the image."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<operation operationId="Images_Delete">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}">
<request method="delete">
<path>
<param type="string" name="imageName" arg="$Path.imageName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2020-06-01""/>
</const>
</query>
</request>
<response statusCode="200"/>
<response statusCode="202"/>
<response statusCode="204"/>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
</command>
<command name="create" version="2020-06-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/images/{}" version="2020-06-01" swagger="mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9pbWFnZXMve2ltYWdlTmFtZX0=/V/MjAyMC0wNi0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.imageName" options="image-name name n" required="True" idPart="name">
<help short="The name of the image."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Parameters">
<arg type="ResourceLocation" var="$parameters.location" options="location l" required="True" group="Parameters">
<help short="Resource location"/>
</arg>
<arg type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Resource tags"/>
<additionalProp>
<item type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg type="string" var="$parameters.properties.hyperVGeneration" options="hyper-v-generation" group="Properties">
<help short="The hypervisor generation of the Virtual Machine created from the image."/>
<default value=""V1""/>
<enum>
<item name="V1" value=""V1""/>
<item name="V2" value=""V2""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.sourceVirtualMachine" options="source-virtual-machine" group="Properties">
<help short="The source virtual machine from which Image is created."/>
<arg type="string" var="$parameters.properties.sourceVirtualMachine.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg type="object" var="$parameters.properties.storageProfile" options="storage-profile" group="Properties">
<help short="Specifies the storage settings for the virtual machine disks."/>
<arg type="array<object>" var="$parameters.properties.storageProfile.dataDisks" options="data-disks" group="">
<help short="Specifies the parameters that are used to add a data disk to a virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview)."/>
<item type="object">
<arg type="string" var="$parameters.properties.storageProfile.dataDisks[].blobUri" options="blob-uri">
<help short="The Virtual Hard Disk."/>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.dataDisks[].caching" options="caching">
<help short="Specifies the caching requirements. <br><br> Possible values are: <br><br> **None** <br><br> **ReadOnly** <br><br> **ReadWrite** <br><br> Default: **None for Standard storage. ReadOnly for Premium storage**"/>
<enum>
<item name="None" value=""None""/>
<item name="ReadOnly" value=""ReadOnly""/>
<item name="ReadWrite" value=""ReadWrite""/>
</enum>
</arg>
<arg type="@DiskEncryptionSetParameters_create" var="$parameters.properties.storageProfile.dataDisks[].diskEncryptionSet" options="disk-encryption-set">
<help short="Specifies the customer managed disk encryption set resource id for the managed image disk."/>
</arg>
<arg type="integer32" var="$parameters.properties.storageProfile.dataDisks[].diskSizeGB" options="disk-size-gb">
<help short="Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. <br><br> This value cannot be larger than 1023 GB"/>
</arg>
<arg type="integer32" var="$parameters.properties.storageProfile.dataDisks[].lun" options="lun" required="True">
<help short="Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."/>
</arg>
<arg type="object" var="$parameters.properties.storageProfile.dataDisks[].managedDisk" options="managed-disk">
<help short="The managedDisk."/>
<arg type="string" var="$parameters.properties.storageProfile.dataDisks[].managedDisk.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg type="object" var="$parameters.properties.storageProfile.dataDisks[].snapshot" options="snapshot">
<help short="The snapshot."/>
<arg type="string" var="$parameters.properties.storageProfile.dataDisks[].snapshot.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.dataDisks[].storageAccountType" options="storage-account-type">
<help short="Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."/>
<enum>
<item name="Premium_LRS" value=""Premium_LRS""/>
<item name="StandardSSD_LRS" value=""StandardSSD_LRS""/>
<item name="Standard_LRS" value=""Standard_LRS""/>
<item name="UltraSSD_LRS" value=""UltraSSD_LRS""/>
</enum>
</arg>
</item>
</arg>
<arg type="object" var="$parameters.properties.storageProfile.osDisk" options="os-disk" group="">
<help short="Specifies information about the operating system disk used by the virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://learn.microsoft.com/azure/virtual-machines/managed-disks-overview)."/>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.blobUri" options="blob-uri">
<help short="The Virtual Hard Disk."/>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.caching" options="caching">
<help short="Specifies the caching requirements. <br><br> Possible values are: <br><br> **None** <br><br> **ReadOnly** <br><br> **ReadWrite** <br><br> Default: **None for Standard storage. ReadOnly for Premium storage**"/>
<enum>
<item name="None" value=""None""/>
<item name="ReadOnly" value=""ReadOnly""/>
<item name="ReadWrite" value=""ReadWrite""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.storageProfile.osDisk.diskEncryptionSet" options="disk-encryption-set" cls="DiskEncryptionSetParameters_create">
<help short="Specifies the customer managed disk encryption set resource id for the managed image disk."/>
<arg type="string" var="@DiskEncryptionSetParameters_create.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg type="integer32" var="$parameters.properties.storageProfile.osDisk.diskSizeGB" options="disk-size-gb">
<help short="Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. <br><br> This value cannot be larger than 1023 GB"/>
</arg>
<arg type="object" var="$parameters.properties.storageProfile.osDisk.managedDisk" options="managed-disk" cls="SubResource_create">
<help short="The managedDisk."/>
<arg type="string" var="@SubResource_create.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.osState" options="os-state" required="True">
<help short="The OS State. For managed images, use Generalized."/>
<enum>
<item name="Generalized" value=""Generalized""/>
<item name="Specialized" value=""Specialized""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.osType" options="os-type" required="True">
<help short="This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. <br><br> Possible values are: <br><br> **Windows** <br><br> **Linux**"/>
<enum>
<item name="Linux" value=""Linux""/>
<item name="Windows" value=""Windows""/>
</enum>
</arg>
<arg type="object" var="$parameters.properties.storageProfile.osDisk.snapshot" options="snapshot">
<help short="The snapshot."/>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.snapshot.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.storageAccountType" options="storage-account-type">
<help short="Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."/>
<enum>
<item name="Premium_LRS" value=""Premium_LRS""/>
<item name="StandardSSD_LRS" value=""StandardSSD_LRS""/>
<item name="Standard_LRS" value=""Standard_LRS""/>
<item name="UltraSSD_LRS" value=""UltraSSD_LRS""/>
</enum>
</arg>
</arg>
<arg type="boolean" var="$parameters.properties.storageProfile.zoneResilient" options="zone-resilient">
<help short="Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)."/>
</arg>
</arg>
</argGroup>
<operation operationId="Images_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}">
<request method="put">
<path>
<param type="string" name="imageName" arg="$Path.imageName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2020-06-01""/>
</const>
</query>
<body>
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="ResourceLocation" name="location" arg="$parameters.location" required="True"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hyperVGeneration" arg="$parameters.properties.hyperVGeneration">
<enum>
<item value=""V1""/>
<item value=""V2""/>
</enum>
</prop>
<prop type="object" name="sourceVirtualMachine" arg="$parameters.properties.sourceVirtualMachine">
<prop type="string" name="id" arg="$parameters.properties.sourceVirtualMachine.id"/>
</prop>
<prop type="object" name="storageProfile" arg="$parameters.properties.storageProfile">
<prop type="array<object>" name="dataDisks" arg="$parameters.properties.storageProfile.dataDisks">
<item type="object">
<prop type="string" name="blobUri" arg="$parameters.properties.storageProfile.dataDisks[].blobUri"/>
<prop type="string" name="caching" arg="$parameters.properties.storageProfile.dataDisks[].caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="@DiskEncryptionSetParameters_create" name="diskEncryptionSet" arg="$parameters.properties.storageProfile.dataDisks[].diskEncryptionSet"/>
<prop type="integer32" name="diskSizeGB" arg="$parameters.properties.storageProfile.dataDisks[].diskSizeGB"/>
<prop type="integer32" name="lun" arg="$parameters.properties.storageProfile.dataDisks[].lun" required="True"/>
<prop type="object" name="managedDisk" arg="$parameters.properties.storageProfile.dataDisks[].managedDisk">
<prop type="string" name="id" arg="$parameters.properties.storageProfile.dataDisks[].managedDisk.id"/>
</prop>
<prop type="object" name="snapshot" arg="$parameters.properties.storageProfile.dataDisks[].snapshot">
<prop type="string" name="id" arg="$parameters.properties.storageProfile.dataDisks[].snapshot.id"/>
</prop>
<prop type="string" name="storageAccountType" arg="$parameters.properties.storageProfile.dataDisks[].storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="osDisk" arg="$parameters.properties.storageProfile.osDisk">
<prop type="string" name="blobUri" arg="$parameters.properties.storageProfile.osDisk.blobUri"/>
<prop type="string" name="caching" arg="$parameters.properties.storageProfile.osDisk.caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="object" name="diskEncryptionSet" arg="$parameters.properties.storageProfile.osDisk.diskEncryptionSet" cls="DiskEncryptionSetParameters_create">
<prop type="string" name="id" arg="@DiskEncryptionSetParameters_create.id"/>
</prop>
<prop type="integer32" name="diskSizeGB" arg="$parameters.properties.storageProfile.osDisk.diskSizeGB"/>
<prop type="object" name="managedDisk" arg="$parameters.properties.storageProfile.osDisk.managedDisk" cls="SubResource_create">
<prop type="string" name="id" arg="@SubResource_create.id"/>
</prop>
<prop type="string" name="osState" arg="$parameters.properties.storageProfile.osDisk.osState" required="True">
<enum>
<item value=""Generalized""/>
<item value=""Specialized""/>
</enum>
</prop>
<prop type="string" name="osType" arg="$parameters.properties.storageProfile.osDisk.osType" required="True">
<enum>
<item value=""Linux""/>
<item value=""Windows""/>
</enum>
</prop>
<prop type="object" name="snapshot" arg="$parameters.properties.storageProfile.osDisk.snapshot">
<prop type="string" name="id" arg="$parameters.properties.storageProfile.osDisk.snapshot.id"/>
</prop>
<prop type="string" name="storageAccountType" arg="$parameters.properties.storageProfile.osDisk.storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="zoneResilient" arg="$parameters.properties.storageProfile.zoneResilient"/>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="object">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Compute/images/{}"/>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hyperVGeneration">
<enum>
<item value=""V1""/>
<item value=""V2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="object" name="sourceVirtualMachine" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
<prop type="object" name="storageProfile">
<prop type="array<object>" name="dataDisks">
<item type="object">
<prop type="string" name="blobUri"/>
<prop type="string" name="caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="@DiskEncryptionSetParameters_read" name="diskEncryptionSet"/>
<prop type="integer32" name="diskSizeGB"/>
<prop type="integer32" name="lun" required="True"/>
<prop type="@SubResource_read" name="managedDisk"/>
<prop type="@SubResource_read" name="snapshot"/>
<prop type="string" name="storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="osDisk">
<prop type="string" name="blobUri"/>
<prop type="string" name="caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="object" name="diskEncryptionSet" cls="DiskEncryptionSetParameters_read">
<prop type="string" name="id"/>
</prop>
<prop type="integer32" name="diskSizeGB"/>
<prop type="@SubResource_read" name="managedDisk"/>
<prop type="string" name="osState" required="True">
<enum>
<item value=""Generalized""/>
<item value=""Specialized""/>
</enum>
</prop>
<prop type="string" name="osType" required="True">
<enum>
<item value=""Linux""/>
<item value=""Windows""/>
</enum>
</prop>
<prop type="@SubResource_read" name="snapshot"/>
<prop type="string" name="storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="zoneResilient"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
<command name="update" version="2020-06-01" confirmation="">
<resource id="/subscriptions/{}/resourcegroups/{}/providers/microsoft.compute/images/{}" version="2020-06-01" swagger="mgmt-plane/compute/ResourceProviders/Microsoft.Compute/Paths/L3N1YnNjcmlwdGlvbnMve3N1YnNjcmlwdGlvbklkfS9yZXNvdXJjZUdyb3Vwcy97cmVzb3VyY2VHcm91cE5hbWV9L3Byb3ZpZGVycy9NaWNyb3NvZnQuQ29tcHV0ZS9pbWFnZXMve2ltYWdlTmFtZX0=/V/MjAyMC0wNi0wMQ=="/>
<argGroup name="">
<arg type="string" var="$Path.imageName" options="image-name name n" required="True" idPart="name">
<help short="The name of the image."/>
</arg>
<arg type="ResourceGroupName" var="$Path.resourceGroupName" options="resource-group g" required="True" idPart="resource_group"/>
<arg type="SubscriptionId" var="$Path.subscriptionId" options="subscription" required="True" idPart="subscription"/>
</argGroup>
<argGroup name="Parameters">
<arg type="ResourceLocation" var="$parameters.location" options="location l" hide="True" group="Parameters">
<help short="Resource location"/>
</arg>
<arg nullable="True" type="object" var="$parameters.tags" options="tags" group="Parameters">
<help short="Resource tags"/>
<additionalProp>
<item nullable="True" type="string"/>
</additionalProp>
</arg>
</argGroup>
<argGroup name="Properties">
<arg nullable="True" type="string" var="$parameters.properties.hyperVGeneration" options="hyper-v-generation" hide="True" group="Properties">
<help short="Specifies the HyperVGenerationType of the VirtualMachine created from the image. From API Version 2019-03-01 if the image source is a blob, then we need the user to specify the value, if the source is managed resource like disk or snapshot, we may require the user to specify the property if we cannot deduce it from the source managed resource."/>
<enum>
<item name="V1" value=""V1""/>
<item name="V2" value=""V2""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.sourceVirtualMachine" options="source-virtual-machine" hide="True" group="Properties">
<help short="The source virtual machine from which Image is created."/>
<arg nullable="True" type="string" var="$parameters.properties.sourceVirtualMachine.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.storageProfile" options="storage-profile" hide="True" group="Properties">
<help short="Specifies the storage settings for the virtual machine disks."/>
<arg nullable="True" type="array<object>" var="$parameters.properties.storageProfile.dataDisks" options="data-disks">
<help short="Specifies the parameters that are used to add a data disk to a virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."/>
<item nullable="True" type="object">
<arg nullable="True" type="string" var="$parameters.properties.storageProfile.dataDisks[].blobUri" options="blob-uri">
<help short="The Virtual Hard Disk."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.storageProfile.dataDisks[].caching" options="caching">
<help short="Specifies the caching requirements. <br><br> Possible values are: <br><br> **None** <br><br> **ReadOnly** <br><br> **ReadWrite** <br><br> Default: **None for Standard storage. ReadOnly for Premium storage**"/>
<enum>
<item name="None" value=""None""/>
<item name="ReadOnly" value=""ReadOnly""/>
<item name="ReadWrite" value=""ReadWrite""/>
</enum>
</arg>
<arg nullable="True" type="@DiskEncryptionSetParameters_update" var="$parameters.properties.storageProfile.dataDisks[].diskEncryptionSet" options="disk-encryption-set">
<help short="Specifies the customer managed disk encryption set resource id for the managed image disk."/>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.storageProfile.dataDisks[].diskSizeGB" options="disk-size-gb">
<help short="Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. <br><br> This value cannot be larger than 1023 GB"/>
</arg>
<arg type="integer32" var="$parameters.properties.storageProfile.dataDisks[].lun" options="lun">
<help short="Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."/>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.storageProfile.dataDisks[].managedDisk" options="managed-disk" cls="SubResource_update">
<help short="The managedDisk."/>
<arg nullable="True" type="string" var="@SubResource_update.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.storageProfile.dataDisks[].snapshot" options="snapshot">
<help short="The snapshot."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.storageProfile.dataDisks[].storageAccountType" options="storage-account-type">
<help short="Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."/>
<enum>
<item name="Premium_LRS" value=""Premium_LRS""/>
<item name="StandardSSD_LRS" value=""StandardSSD_LRS""/>
<item name="Standard_LRS" value=""Standard_LRS""/>
<item name="UltraSSD_LRS" value=""UltraSSD_LRS""/>
</enum>
</arg>
</item>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.storageProfile.osDisk" options="os-disk">
<help short="Specifies information about the operating system disk used by the virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/managed-disks-overview)."/>
<arg nullable="True" type="string" var="$parameters.properties.storageProfile.osDisk.blobUri" options="blob-uri">
<help short="The Virtual Hard Disk."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.storageProfile.osDisk.caching" options="caching">
<help short="Specifies the caching requirements. <br><br> Possible values are: <br><br> **None** <br><br> **ReadOnly** <br><br> **ReadWrite** <br><br> Default: **None for Standard storage. ReadOnly for Premium storage**"/>
<enum>
<item name="None" value=""None""/>
<item name="ReadOnly" value=""ReadOnly""/>
<item name="ReadWrite" value=""ReadWrite""/>
</enum>
</arg>
<arg nullable="True" type="object" var="$parameters.properties.storageProfile.osDisk.diskEncryptionSet" options="disk-encryption-set" cls="DiskEncryptionSetParameters_update">
<help short="Specifies the customer managed disk encryption set resource id for the managed image disk."/>
<arg nullable="True" type="string" var="@DiskEncryptionSetParameters_update.id" options="id">
<help short="Resource Id"/>
</arg>
</arg>
<arg nullable="True" type="integer32" var="$parameters.properties.storageProfile.osDisk.diskSizeGB" options="disk-size-gb">
<help short="Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image. <br><br> This value cannot be larger than 1023 GB"/>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.storageProfile.osDisk.managedDisk" options="managed-disk">
<help short="The managedDisk."/>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.osState" options="os-state">
<help short="The OS State. For managed images, use Generalized."/>
<enum>
<item name="Generalized" value=""Generalized""/>
<item name="Specialized" value=""Specialized""/>
</enum>
</arg>
<arg type="string" var="$parameters.properties.storageProfile.osDisk.osType" options="os-type">
<help short="This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image. <br><br> Possible values are: <br><br> **Windows** <br><br> **Linux**"/>
<enum>
<item name="Linux" value=""Linux""/>
<item name="Windows" value=""Windows""/>
</enum>
</arg>
<arg nullable="True" type="@SubResource_update" var="$parameters.properties.storageProfile.osDisk.snapshot" options="snapshot">
<help short="The snapshot."/>
</arg>
<arg nullable="True" type="string" var="$parameters.properties.storageProfile.osDisk.storageAccountType" options="storage-account-type">
<help short="Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."/>
<enum>
<item name="Premium_LRS" value=""Premium_LRS""/>
<item name="StandardSSD_LRS" value=""StandardSSD_LRS""/>
<item name="Standard_LRS" value=""Standard_LRS""/>
<item name="UltraSSD_LRS" value=""UltraSSD_LRS""/>
</enum>
</arg>
</arg>
<arg nullable="True" type="boolean" var="$parameters.properties.storageProfile.zoneResilient" options="zone-resilient">
<help short="Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)."/>
</arg>
</arg>
</argGroup>
<operation operationId="Images_Get">
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}">
<request method="get">
<path>
<param type="string" name="imageName" arg="$Path.imageName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2020-06-01""/>
</const>
</query>
</request>
<response statusCode="200">
<body>
<json var="$Instance">
<schema type="object" cls="Image_read">
<prop readOnly="True" type="ResourceId" name="id">
<format template="/subscriptions/{}/resourceGroups/{}/providers/Microsoft.Compute/images/{}"/>
</prop>
<prop type="ResourceLocation" name="location" required="True"/>
<prop readOnly="True" type="string" name="name"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hyperVGeneration">
<enum>
<item value=""V1""/>
<item value=""V2""/>
</enum>
</prop>
<prop readOnly="True" type="string" name="provisioningState"/>
<prop type="object" name="sourceVirtualMachine" cls="SubResource_read">
<prop type="string" name="id"/>
</prop>
<prop type="object" name="storageProfile">
<prop type="array<object>" name="dataDisks">
<item type="object">
<prop type="string" name="blobUri"/>
<prop type="string" name="caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="@DiskEncryptionSetParameters_read" name="diskEncryptionSet"/>
<prop type="integer32" name="diskSizeGB"/>
<prop type="integer32" name="lun" required="True"/>
<prop type="@SubResource_read" name="managedDisk"/>
<prop type="@SubResource_read" name="snapshot"/>
<prop type="string" name="storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="osDisk">
<prop type="string" name="blobUri"/>
<prop type="string" name="caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="object" name="diskEncryptionSet" cls="DiskEncryptionSetParameters_read">
<prop type="string" name="id"/>
</prop>
<prop type="integer32" name="diskSizeGB"/>
<prop type="@SubResource_read" name="managedDisk"/>
<prop type="string" name="osState" required="True">
<enum>
<item value=""Generalized""/>
<item value=""Specialized""/>
</enum>
</prop>
<prop type="string" name="osType" required="True">
<enum>
<item value=""Linux""/>
<item value=""Windows""/>
</enum>
</prop>
<prop type="@SubResource_read" name="snapshot"/>
<prop type="string" name="storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="zoneResilient"/>
</prop>
</prop>
<prop type="object" name="tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
<prop readOnly="True" type="string" name="type"/>
</schema>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<operation>
<instanceUpdate ref="$Instance">
<json>
<schema type="object" name="parameters" required="True" clientFlatten="True">
<prop type="ResourceLocation" name="location" arg="$parameters.location" required="True"/>
<prop type="object" name="properties" clientFlatten="True">
<prop type="string" name="hyperVGeneration" arg="$parameters.properties.hyperVGeneration">
<enum>
<item value=""V1""/>
<item value=""V2""/>
</enum>
</prop>
<prop type="object" name="sourceVirtualMachine" arg="$parameters.properties.sourceVirtualMachine">
<prop type="string" name="id" arg="$parameters.properties.sourceVirtualMachine.id"/>
</prop>
<prop type="object" name="storageProfile" arg="$parameters.properties.storageProfile">
<prop type="array<object>" name="dataDisks" arg="$parameters.properties.storageProfile.dataDisks">
<item type="object">
<prop type="string" name="blobUri" arg="$parameters.properties.storageProfile.dataDisks[].blobUri"/>
<prop type="string" name="caching" arg="$parameters.properties.storageProfile.dataDisks[].caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="@DiskEncryptionSetParameters_update" name="diskEncryptionSet" arg="$parameters.properties.storageProfile.dataDisks[].diskEncryptionSet"/>
<prop type="integer32" name="diskSizeGB" arg="$parameters.properties.storageProfile.dataDisks[].diskSizeGB"/>
<prop type="integer32" name="lun" arg="$parameters.properties.storageProfile.dataDisks[].lun" required="True"/>
<prop type="object" name="managedDisk" arg="$parameters.properties.storageProfile.dataDisks[].managedDisk" cls="SubResource_update">
<prop type="string" name="id" arg="@SubResource_update.id"/>
</prop>
<prop type="@SubResource_update" name="snapshot" arg="$parameters.properties.storageProfile.dataDisks[].snapshot"/>
<prop type="string" name="storageAccountType" arg="$parameters.properties.storageProfile.dataDisks[].storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</item>
</prop>
<prop type="object" name="osDisk" arg="$parameters.properties.storageProfile.osDisk">
<prop type="string" name="blobUri" arg="$parameters.properties.storageProfile.osDisk.blobUri"/>
<prop type="string" name="caching" arg="$parameters.properties.storageProfile.osDisk.caching">
<enum>
<item value=""None""/>
<item value=""ReadOnly""/>
<item value=""ReadWrite""/>
</enum>
</prop>
<prop type="object" name="diskEncryptionSet" arg="$parameters.properties.storageProfile.osDisk.diskEncryptionSet" cls="DiskEncryptionSetParameters_update">
<prop type="string" name="id" arg="@DiskEncryptionSetParameters_update.id"/>
</prop>
<prop type="integer32" name="diskSizeGB" arg="$parameters.properties.storageProfile.osDisk.diskSizeGB"/>
<prop type="@SubResource_update" name="managedDisk" arg="$parameters.properties.storageProfile.osDisk.managedDisk"/>
<prop type="string" name="osState" arg="$parameters.properties.storageProfile.osDisk.osState" required="True">
<enum>
<item value=""Generalized""/>
<item value=""Specialized""/>
</enum>
</prop>
<prop type="string" name="osType" arg="$parameters.properties.storageProfile.osDisk.osType" required="True">
<enum>
<item value=""Linux""/>
<item value=""Windows""/>
</enum>
</prop>
<prop type="@SubResource_update" name="snapshot" arg="$parameters.properties.storageProfile.osDisk.snapshot"/>
<prop type="string" name="storageAccountType" arg="$parameters.properties.storageProfile.osDisk.storageAccountType">
<enum>
<item value=""Premium_LRS""/>
<item value=""StandardSSD_LRS""/>
<item value=""Standard_LRS""/>
<item value=""UltraSSD_LRS""/>
</enum>
</prop>
</prop>
<prop type="boolean" name="zoneResilient" arg="$parameters.properties.storageProfile.zoneResilient"/>
</prop>
</prop>
<prop type="object" name="tags" arg="$parameters.tags">
<additionalProp>
<item type="string"/>
</additionalProp>
</prop>
</schema>
</json>
</instanceUpdate>
</operation>
<operation operationId="Images_CreateOrUpdate">
<longRunning finalStateVia="azure-async-operation"/>
<http path="/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}">
<request method="put">
<path>
<param type="string" name="imageName" arg="$Path.imageName" required="True"/>
<param type="string" name="resourceGroupName" arg="$Path.resourceGroupName" required="True"/>
<param type="string" name="subscriptionId" arg="$Path.subscriptionId" required="True"/>
</path>
<query>
<const readOnly="True" const="True" type="string" name="api-version" required="True">
<default value=""2020-06-01""/>
</const>
</query>
<body>
<json ref="$Instance"/>
</body>
</request>
<response statusCode="200 201">
<body>
<json var="$Instance">
<schema type="@Image_read"/>
</json>
</body>
</response>
<response isError="True">
<body>
<json>
<schema type="@MgmtErrorFormat"/>
</json>
</body>
</response>
</http>
</operation>
<output type="object" ref="$Instance" clientFlatten="True"/>
</command>
</commandGroup>
</CodeGen>