From 1a3b855c9941f2dd743baf2e29adac55b6d5c4b2 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 3 Jul 2019 13:19:08 -0700 Subject: [PATCH 01/20] commit with 2018-09-30 files --- .../stable/2019-03-01/disk.json | 1312 +++++++++++++++++ .../CreateAManagedDiskByCopyingASnapshot.json | 46 + ...managedBlobFromADifferentSubscription.json | 49 + ...nUnmanagedBlobFromTheSameSubscription.json | 46 + .../CreateAManagedDiskFromAPlatformImage.json | 55 + ...AManagedDiskFromAnExistingManagedDisk.json | 46 + .../examples/CreateAnEmptyManagedDisk.json | 46 + .../GetInformationAboutAManagedDisk.json | 50 + .../ListManagedDisksInAResourceGroup.json | 103 ++ .../ListManagedDisksInASubscription.json | 102 ++ 10 files changed, 1855 insertions(+) create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json new file mode 100644 index 000000000000..4f7715ac5589 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -0,0 +1,1312 @@ +{ + "swagger": "2.0", + "info": { + "title": "DiskResourceProviderClient", + "description": "The Disk Resource Provider Client.", + "version": "2018-09-30" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}": { + "put": { + "tags": [ + "Disks" + ], + "operationId": "Disks_CreateOrUpdate", + "description": "Creates or updates a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "disk", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Disk" + }, + "description": "Disk object supplied in the body of the Put disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-examples": { + "Create an empty managed disk.": { + "$ref": "./examples/CreateAnEmptyManagedDisk.json" + }, + "Create a managed disk from a platform image.": { + "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json" + }, + "Create a managed disk from an existing managed disk in the same or different subscription.": { + "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json" + }, + "Create a managed disk by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a managed disk by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json" + }, + "Create a managed disk by copying a snapshot.": { + "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Update", + "description": "Updates (patches) a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "disk", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DiskUpdate" + }, + "description": "Disk object supplied in the body of the Patch disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Get", + "description": "Gets information about a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Disk" + } + } + }, + "x-ms-examples": { + "Get information about a managed disk.": { + "$ref": "./examples/GetInformationAboutAManagedDisk.json" + } + } + }, + "delete": { + "tags": [ + "Disks" + ], + "operationId": "Disks_Delete", + "description": "Deletes a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the disk is deleted, this is an expected error code." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": { + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_ListByResourceGroup", + "description": "Lists all the disks under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + } + }, + "x-ms-examples": { + "List all managed disks in a resource group.": { + "$ref": "./examples/ListManagedDisksInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": { + "get": { + "tags": [ + "Disks" + ], + "operationId": "Disks_List", + "description": "Lists all the disks under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DiskList" + } + } + }, + "x-ms-examples": { + "List all managed disks in a subscription.": { + "$ref": "./examples/ListManagedDisksInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": { + "post": { + "tags": [ + "Disks" + ], + "operationId": "Disks_GrantAccess", + "description": "Grants access to a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get disk access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": { + "post": { + "tags": [ + "Disks" + ], + "operationId": "Disks_RevokeAccess", + "description": "Revokes access to a disk.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DiskNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": { + "put": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_CreateOrUpdate", + "description": "Creates or updates a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "snapshot", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Snapshot" + }, + "description": "Snapshot object supplied in the body of the Put disk operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-examples": { + "Create a snapshot from an existing snapshot in the same or a different subscription.": { + "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json" + }, + "Create a snapshot by importing an unmanaged blob from the same subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json" + }, + "Create a snapshot by importing an unmanaged blob from a different subscription.": { + "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Update", + "description": "Updates (patches) a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "snapshot", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SnapshotUpdate" + }, + "description": "Snapshot object supplied in the body of the Patch snapshot operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Get", + "description": "Gets information about a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "x-ms-examples": { + "Get information about a snapshot.": { + "$ref": "./examples/GetInformationAboutASnapshot.json" + } + } + }, + "delete": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_Delete", + "description": "Deletes a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "If the snapshot is deleted, this is an expected error code." + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_ListByResourceGroup", + "description": "Lists snapshots under a resource group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotList" + } + } + }, + "x-ms-examples": { + "List all snapshots in a resource group.": { + "$ref": "./examples/ListSnapshotsInAResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": { + "get": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_List", + "description": "Lists snapshots under a subscription.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SnapshotList" + } + } + }, + "x-ms-examples": { + "List all snapshots in a subscription.": { + "$ref": "./examples/ListSnapshotsInASubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_GrantAccess", + "description": "Grants access to a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "grantAccessData", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/GrantAccessData" + }, + "description": "Access data object supplied in the body of the get snapshot access operation." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccessUri" + } + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": { + "post": { + "tags": [ + "Snapshots" + ], + "operationId": "Snapshots_RevokeAccess", + "description": "Revokes access to a snapshot.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SnapshotNameParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + } + }, + "definitions": { + "Resource": { + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Resource Id" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Resource name" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type" + }, + "location": { + "type": "string", + "description": "Resource location" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + } + }, + "required": [ + "location" + ], + "x-ms-azure-resource": true + }, + "Disk": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "A relative URI containing the ID of the VM that has the disk attached." + }, + "sku": { + "$ref": "#/definitions/DiskSku" + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Logical zone list for Disk." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Disk resource." + }, + "DiskUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DiskUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/DiskSku" + } + }, + "description": "Disk update resource." + }, + "DiskList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Disk" + }, + "description": "A list of disks." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks." + } + }, + "required": [ + "value" + ], + "description": "The List Disks operation response." + }, + "DiskSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS", + "UltraSSD_LRS" + ], + "x-ms-enum": { + "name": "DiskStorageAccountTypes", + "modelAsString": true + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "default": "Standard", + "description": "The sku tier." + } + }, + "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS." + }, + "SnapshotSku": { + "properties": { + "name": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "Standard_ZRS" + ], + "x-ms-enum": { + "name": "SnapshotStorageAccountTypes", + "modelAsString": true + }, + "description": "The sku name." + }, + "tier": { + "type": "string", + "readOnly": true, + "default": "Standard", + "description": "The sku tier." + } + }, + "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS." + }, + "DiskProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int32", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + }, + "diskState": { + "type": "string", + "description": "The state of the disk.", + "readOnly": true, + "enum": [ + "Unattached", + "Attached", + "Reserved", + "ActiveSAS", + "ReadyToUpload", + "ActiveUpload" + ], + "x-ms-enum": { + "name": "DiskState", + "modelAsString": true + } + } + }, + "required": [ + "creationData" + ], + "description": "Disk resource properties." + }, + "SnapshotProperties": { + "properties": { + "timeCreated": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The time when the disk was created." + }, + "osType": { + "type": "string", + "description": "The Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "hyperVGeneration": { + "type": "string", + "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.", + "enum": [ + "V1", + "V2" + ], + "x-ms-enum": { + "name": "HyperVGeneration", + "modelAsString": true + } + }, + "creationData": { + "$ref": "#/definitions/CreationData", + "description": "Disk source information. CreationData information cannot be changed after the disk has been created." + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The disk provisioning state." + } + }, + "required": [ + "creationData" + ], + "description": "Snapshot resource properties." + }, + "EncryptionSettingsCollection": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged." + }, + "encryptionSettings": { + "type": "array", + "items": { + "$ref": "#/definitions/EncryptionSettingsElement" + }, + "description": "A collection of encryption settings, one for each disk volume." + } + }, + "required": [ + "enabled" + ], + "description": "Encryption settings for disk or snapshot" + }, + "EncryptionSettingsElement": { + "properties": { + "diskEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndSecretReference", + "description": "Key Vault Secret Url and vault id of the disk encryption key" + }, + "keyEncryptionKey": { + "$ref": "#/definitions/KeyVaultAndKeyReference", + "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key." + } + }, + "description": "Encryption settings for one disk volume." + }, + "KeyVaultAndSecretReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "secretUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "secretUrl", + "sourceVault" + ], + "description": "Key Vault Secret Url and vault id of the encryption key " + }, + "KeyVaultAndKeyReference": { + "properties": { + "sourceVault": { + "$ref": "#/definitions/SourceVault", + "description": "Resource id of the KeyVault containing the key or secret" + }, + "keyUrl": { + "type": "string", + "description": "Url pointing to a key or secret in KeyVault" + } + }, + "required": [ + "keyUrl", + "sourceVault" + ], + "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey" + }, + "SourceVault": { + "properties": { + "id": { + "type": "string", + "description": "Resource Id" + } + }, + "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}" + }, + "DiskUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + }, + "diskIOPSReadWrite": { + "type": "integer", + "format": "int64", + "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes." + }, + "diskMBpsReadWrite": { + "type": "integer", + "format": "int32", + "description": "The bandwidth allowed for this disk; only settable for UltraSSD disks. MBps means millions of bytes per second - MB here uses the ISO notation, of powers of 10." + } + }, + "description": "Disk resource update properties." + }, + "SnapshotUpdateProperties": { + "properties": { + "osType": { + "type": "string", + "description": "the Operating System type.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": false + } + }, + "diskSizeGB": { + "type": "integer", + "format": "int32", + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "encryptionSettingsCollection": { + "$ref": "#/definitions/EncryptionSettingsCollection", + "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." + } + }, + "description": "Snapshot resource update properties." + }, + "CreationData": { + "properties": { + "createOption": { + "type": "string", + "enum": [ + "Empty", + "Attach", + "FromImage", + "Import", + "Copy", + "Restore", + "Upload" + ], + "x-ms-enum": { + "name": "DiskCreateOption", + "modelAsString": true + }, + "description": "This enumerates the possible sources of a disk's creation." + }, + "storageAccountId": { + "type": "string", + "description": "If createOption is Import, the Azure Resource Manager identifier of the storage account containing the blob to import as a disk. Required only if the blob is in a different subscription" + }, + "imageReference": { + "$ref": "#/definitions/ImageDiskReference", + "description": "Disk source information." + }, + "sourceUri": { + "type": "string", + "description": "If createOption is Import, this is the URI of a blob to be imported into a managed disk." + }, + "sourceResourceId": { + "type": "string", + "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." + } + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, + "ImageDiskReference": { + "properties": { + "id": { + "type": "string", + "description": "A relative uri containing either a Platform Image Repository or user image reference." + }, + "lun": { + "type": "integer", + "format": "int32", + "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null." + } + }, + "required": [ + "id" + ], + "description": "The source image used for creating the disk." + }, + "GrantAccessData": { + "properties": { + "access": { + "type": "string", + "enum": [ + "None", + "Read", + "Write" + ], + "x-ms-enum": { + "name": "AccessLevel", + "modelAsString": true + } + }, + "durationInSeconds": { + "type": "integer", + "format": "int32", + "description": "Time duration in seconds until the SAS access expires." + } + }, + "required": [ + "access", + "durationInSeconds" + ], + "description": "Data used for requesting a SAS." + }, + "AccessUri": { + "properties": { + "accessSAS": { + "readOnly": true, + "type": "string", + "description": "A SAS uri for accessing a disk." + } + }, + "description": "A disk access SAS uri." + }, + "Snapshot": { + "properties": { + "managedBy": { + "readOnly": true, + "type": "string", + "description": "Unused. Always Null." + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SnapshotProperties" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Snapshot resource." + }, + "SnapshotUpdate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SnapshotUpdateProperties" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "sku": { + "$ref": "#/definitions/SnapshotSku" + } + }, + "description": "Snapshot update resource." + }, + "SnapshotList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Snapshot" + }, + "description": "A list of snapshots." + }, + "nextLink": { + "type": "string", + "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots." + } + }, + "required": [ + "value" + ], + "description": "The List Snapshots operation response." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "DiskNameParameter": { + "name": "diskName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.", + "x-ms-parameter-location": "method" + }, + "SnapshotNameParameter": { + "name": "snapshotName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json new file mode 100644 index 000000000000..fffcb4fb1639 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myDisk", + "disk": { + "name": "myDisk", + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json new file mode 100644 index 000000000000..4dc92a1f0142 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myDisk", + "disk": { + "name": "myDisk", + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "storageAccountId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Storage/storageAccounts/myStorageAccount", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json new file mode 100644 index 000000000000..cd67dbc6d51e --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myDisk", + "disk": { + "name": "myDisk", + "location": "West US", + "properties": { + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "creationData": { + "createOption": "Import", + "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json new file mode 100644 index 000000000000..b629ecbe8758 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myDisk", + "disk": { + "name": "myDisk", + "location": "West US", + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "responses": { + "202": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + }, + "200": { + "body": { + "name": "myDisk", + "location": "West US", + "properties": { + "provisioningState": "Updating", + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + } + } + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json new file mode 100644 index 000000000000..bfef981c36a2 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myDisk2", + "disk": { + "name": "myDisk2", + "location": "West US", + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk2" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDisk1" + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk2" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json new file mode 100644 index 000000000000..14d45430e6e8 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myDisk", + "disk": { + "name": "myDisk", + "location": "West US", + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200 + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 200, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json new file mode 100644 index 000000000000..490e4495f519 --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30", + "diskName": "myManagedDisk" + }, + "responses": { + "200": { + "body": { + "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec", + "sku": { + "name": "Standard_LRS" + }, + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "encryptionSettings": { + "enabled": true, + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + }, + "timeCreated": "2016-12-28T04:41:35.079872+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json new file mode 100644 index 000000000000..9fc3c75a586f --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2018-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" + }, + "diskSizeGB": 200, + "encryptionSettings": { + "enabled": true, + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "timeCreated": "2016-12-28T04:41:36.872242+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + }, + "diskSizeGB": 200, + "encryptionSettings": { + "enabled": true, + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + }, + "timeCreated": "2016-12-28T04:41:36.3973934+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk", + "name": "myManagedDisk" + } + ], + "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk" + } + } + } +} diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json new file mode 100644 index 000000000000..5af9c462b6be --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "api-version": "2018-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Copy", + "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" + }, + "diskSizeGB": 200, + "encryptionSettings": { + "enabled": true, + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + }, + "timeCreated": "2016-12-28T04:41:35.9278721+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1", + "name": "myManagedDisk1" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "Empty" + }, + "diskSizeGB": 10, + "timeCreated": "2016-12-28T04:41:36.872242+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2", + "name": "myManagedDisk2" + }, + { + "properties": { + "osType": "Windows", + "creationData": { + "createOption": "FromImage", + "imageReference": { + "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}" + } + }, + "diskSizeGB": 200, + "encryptionSettings": { + "enabled": true, + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + }, + "timeCreated": "2016-12-28T04:41:36.3973934+00:00", + "provisioningState": "Succeeded" + }, + "type": "Microsoft.Compute/disks", + "location": "westus", + "tags": { + "department": "Development", + "project": "ManagedDisks" + }, + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk3", + "name": "myManagedDisk3" + } + ], + "nextLink": "http://disksvchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/Disks/myManagedDisk" + } + } + } +} From 98fb32a1426617415d7b6a360bd4a0520aa7de17 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 3 Jul 2019 14:00:19 -0700 Subject: [PATCH 02/20] incremental snapshots going in disk.json --- .../stable/2019-03-01/disk.json | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 4f7715ac5589..aedd10f03e12 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -3,7 +3,7 @@ "info": { "title": "DiskResourceProviderClient", "description": "The Disk Resource Provider Client.", - "version": "2018-09-30" + "version": "2019-03-01" }, "host": "management.azure.com", "schemes": [ @@ -970,6 +970,10 @@ "readOnly": true, "type": "string", "description": "The disk provisioning state." + }, + "incremental": { + "type": "boolean", + "description": "Whether a snapshot is incremental. Incremental snapshots on the same disk occupy less space than full snapshots and can be diffed." } }, "required": [ @@ -1148,13 +1152,17 @@ "sourceResourceId": { "type": "string", "description": "If createOption is Copy, this is the ARM id of the source snapshot or disk." - } + }, + "sourceUniqueId": { + "readOnly": true, + "type": "string", + "description": "The Id of the source this Incremental Snapshot was created from. Null for non Incremental Snapshots." + }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." }, - "required": [ - "createOption" - ], - "description": "Data used when creating a disk." - }, "ImageDiskReference": { "properties": { "id": { From 0191abcb4b9717cf0c952c34ba483975a2525519 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 3 Jul 2019 15:10:03 -0700 Subject: [PATCH 03/20] adding incremental examples --- .../CreateAManagedDiskByCopyingASnapshot.json | 2 +- ...managedBlobFromADifferentSubscription.json | 2 +- ...nUnmanagedBlobFromTheSameSubscription.json | 2 +- .../CreateAManagedDiskFromAPlatformImage.json | 2 +- ...AManagedDiskFromAnExistingManagedDisk.json | 2 +- .../examples/CreateAnEmptyManagedDisk.json | 2 +- .../GetInformationAboutAManagedDisk.json | 32 +++++----- .../GetInformationAboutASnapshot.json | 30 +++++---- .../ListManagedDisksInAResourceGroup.json | 62 +++++++++++-------- .../ListManagedDisksInASubscription.json | 62 +++++++++++-------- .../ListSnapshotsInAResourceGroup.json | 30 +++++---- .../ListSnapshotsInASubscription.json | 60 ++++++++++-------- 12 files changed, 162 insertions(+), 126 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json index fffcb4fb1639..93ea5752ab28 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myDisk", "disk": { "name": "myDisk", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json index 4dc92a1f0142..d74d86851e62 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myDisk", "disk": { "name": "myDisk", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json index cd67dbc6d51e..ddf58e51f65f 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myDisk", "disk": { "name": "myDisk", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json index b629ecbe8758..e2e055528634 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myDisk", "disk": { "name": "myDisk", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json index bfef981c36a2..af5f5619d2e5 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myDisk2", "disk": { "name": "myDisk2", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json index 14d45430e6e8..5e6245bb6672 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myDisk", "disk": { "name": "myDisk", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json index 490e4495f519..db5b5b0b7674 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutAManagedDisk.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30", + "api-version": "2019-03-01", "diskName": "myManagedDisk" }, "responses": { @@ -18,20 +18,24 @@ "createOption": "Empty" }, "diskSizeGB": 10, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:35.079872+00:00", "provisioningState": "Succeeded" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutASnapshot.json index ba15a0355b35..8342655dd2e1 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutASnapshot.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/GetInformationAboutASnapshot.json @@ -14,20 +14,24 @@ "createOption": "Empty" }, "diskSizeGB": 100, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:35.079872+00:00", "provisioningState": "Succeeded" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json index 9fc3c75a586f..34c4bedb2fde 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInAResourceGroup.json @@ -2,7 +2,7 @@ "parameters": { "subscriptionId": "{subscription-id}", "resourceGroupName": "myResourceGroup", - "api-version": "2018-09-30" + "api-version": "2019-03-01" }, "responses": { "200": { @@ -16,20 +16,24 @@ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk" }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:35.9278721+00:00", "provisioningState": "Succeeded" @@ -68,20 +72,24 @@ } }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:36.3973934+00:00", "provisioningState": "Succeeded" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json index 5af9c462b6be..a41b163eb3ee 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListManagedDisksInASubscription.json @@ -1,7 +1,7 @@ { "parameters": { "subscriptionId": "{subscription-id}", - "api-version": "2018-09-30" + "api-version": "2019-03-01" }, "responses": { "200": { @@ -15,20 +15,24 @@ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1" }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:35.9278721+00:00", "provisioningState": "Succeeded" @@ -67,20 +71,24 @@ } }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:36.3973934+00:00", "provisioningState": "Succeeded" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInAResourceGroup.json index f8707ac42962..16db4e118fb1 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInAResourceGroup.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInAResourceGroup.json @@ -16,20 +16,24 @@ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:41:35.9278721+00:00", "provisioningState": "Succeeded" diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInASubscription.json index 631da8b04aa3..56e7ab7a494b 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInASubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/ListSnapshotsInASubscription.json @@ -15,20 +15,24 @@ "sourceResourceId": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot" }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:47:30.6630569+00:00", "provisioningState": "Succeeded" @@ -51,20 +55,24 @@ "sourceUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd" }, "diskSizeGB": 200, - "encryptionSettings": { + "encryptionSettingsCollection": { "enabled": true, - "diskEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" - }, - "keyEncryptionKey": { - "sourceVault": { - "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" - }, - "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" - } + "encryptionSettings": [ + { + "diskEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}" + }, + "keyEncryptionKey": { + "sourceVault": { + "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault" + }, + "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}" + } + } + ] }, "timeCreated": "2016-12-28T04:47:30.3247198+00:00", "provisioningState": "Succeeded" From 4ecfe7ebfcf34defa17ed1920e6ba34a27bc1f19 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 24 Jul 2019 08:34:57 -0700 Subject: [PATCH 04/20] upload size bytes and incremental snapshots --- .../stable/2019-03-01/disk.json | 19 +++++++++++++------ .../CreateAManagedDiskByCopyingASnapshot.json | 1 - ...managedBlobFromADifferentSubscription.json | 1 - ...nUnmanagedBlobFromTheSameSubscription.json | 1 - .../CreateAManagedDiskFromAPlatformImage.json | 1 - ...AManagedDiskFromAnExistingManagedDisk.json | 1 - .../examples/CreateAnEmptyManagedDisk.json | 1 - 7 files changed, 13 insertions(+), 12 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index aedd10f03e12..401230bd8a9c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -96,6 +96,9 @@ }, "Create a managed disk by copying a snapshot.": { "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json" + }, + "Create a managed upload disk.": { + "$ref": "./examples/CreateAManagedUploadDisk.json" } }, "x-ms-long-running-operation": true @@ -808,7 +811,6 @@ "tier": { "type": "string", "readOnly": true, - "default": "Standard", "description": "The sku tier." } }, @@ -832,7 +834,6 @@ "tier": { "type": "string", "readOnly": true, - "default": "Standard", "description": "The sku tier." } }, @@ -1158,11 +1159,17 @@ "type": "string", "description": "The Id of the source this Incremental Snapshot was created from. Null for non Incremental Snapshots." }, - "required": [ - "createOption" - ], - "description": "Data used when creating a disk." + "uploadSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If createOption is Upload, this is the size of the contents of the upload including the VHD footer. This value should be between 1073741824 (1 GiB + 512 bytes for the VHD footer) and 35183298347520 bytes (32 TiB + 512 bytes for the VHD footer)." + } }, + "required": [ + "createOption" + ], + "description": "Data used when creating a disk." + }, "ImageDiskReference": { "properties": { "id": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json index 93ea5752ab28..7ed820a1226c 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByCopyingASnapshot.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "diskName": "myDisk", "disk": { - "name": "myDisk", "location": "West US", "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json index d74d86851e62..a7e3bc7fa91d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "diskName": "myDisk", "disk": { - "name": "myDisk", "location": "West US", "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json index ddf58e51f65f..22a92edbe4fa 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "diskName": "myDisk", "disk": { - "name": "myDisk", "location": "West US", "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json index e2e055528634..50a6f0c757d4 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAPlatformImage.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "diskName": "myDisk", "disk": { - "name": "myDisk", "location": "West US", "properties": { "osType": "Windows", diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json index af5f5619d2e5..f6b53b2b5458 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedDiskFromAnExistingManagedDisk.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "diskName": "myDisk2", "disk": { - "name": "myDisk2", "location": "West US", "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json index 5e6245bb6672..cc89b4a11e20 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAnEmptyManagedDisk.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "diskName": "myDisk", "disk": { - "name": "myDisk", "location": "West US", "properties": { "creationData": { From b3eab8a7fc1410a34570b255501a6ce345879ad0 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 24 Jul 2019 10:36:22 -0700 Subject: [PATCH 05/20] adding diskSizeBytes to disk.json --- .../stable/2019-03-01/disk.json | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 401230bd8a9c..dc94800298db 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -878,7 +878,12 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -961,7 +966,12 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -1074,7 +1084,12 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -1110,7 +1125,12 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + }, + "diskSizeBytes": { + "type": "integer", + "format": "int64", + "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", From 42d4d47e625101cad34b2110464e5bd11d35e090 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Mon, 29 Jul 2019 11:13:44 -0700 Subject: [PATCH 06/20] adding descriptions to the disk create option enums --- .../stable/2019-03-01/disk.json | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index dc94800298db..5dcbaec0255b 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1154,7 +1154,44 @@ ], "x-ms-enum": { "name": "DiskCreateOption", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Empty", + "name": "Empty", + "Description": "Create a new disk with a given size." + }, + { + "value": "Attach", + "name": "Attach", + "Description": "Disk will be attached to a VM." + }, + { + "value": "FromImage", + "name": "From Image", + "Description": "Create a new disk by importing from a PIR image or a customer's user image." + }, + { + "value": "Import", + "name": "Import", + "Description": "Create a new disk by importing from a customer's blob. The blob must be formatted as a VHD." + }, + { + "value": "Copy", + "name": "Copy", + "Description": "Create a new disk by copying from a customer's managed disk or snapshot." + }, + { + "value": "Restore", + "name": "Restore", + "Description": "Create a new disk by restoring from a restore point." + }, + { + "value": "Upload", + "name": "Upload", + "Description": "Create a new disk by customer upload using a write SAS to drectly write the contents of their disk to the blob. The contents must be formatted as a VHD." + } + ] }, "description": "This enumerates the possible sources of a disk's creation." }, From 43922169c9f2ef7f4e08a6235965f42140f709e1 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Tue, 30 Jul 2019 08:28:57 -0700 Subject: [PATCH 07/20] adding diskSizeBytes as a read only field --- .../stable/2019-03-01/disk.json | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 5dcbaec0255b..f1b89dfc91b9 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -878,12 +878,13 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "diskSizeBytes": { "type": "integer", "format": "int64", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -966,12 +967,13 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "diskSizeBytes": { "type": "integer", "format": "int64", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -1084,12 +1086,13 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "diskSizeBytes": { "type": "integer", "format": "int64", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -1125,12 +1128,13 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "diskSizeBytes": { "type": "integer", "format": "int64", - "description": "If creationData.createOption is Empty, diskSizeGB or diskSizeBytes is mandatory. They indicate the size of the VHD to create. If these fields are present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "readOnly": true, + "description": "The size of the disk in bytes. This field is read only." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", From 2ab39f432c952503d518d7f73acf0117c0ff7e88 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Tue, 30 Jul 2019 09:11:26 -0700 Subject: [PATCH 08/20] adding encryptionSettingsVersion --- .../Microsoft.Compute/stable/2019-03-01/disk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index f1b89dfc91b9..9b36fa3cd893 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1006,6 +1006,10 @@ "$ref": "#/definitions/EncryptionSettingsElement" }, "description": "A collection of encryption settings, one for each disk volume." + }, + "encryptionSettingsVersion": { + "type": "string", + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' or Null corresponds to extension based encryption with AAD app. '1.1' corresponds to extension based encryption without AAD app. '2.0' corresponds to host based encryption." } }, "required": [ From 220870dcf300f549c0fb08cb9e5e98644e9f4bed Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Tue, 30 Jul 2019 15:25:20 -0700 Subject: [PATCH 09/20] updating readme --- specification/compute/resource-manager/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/compute/resource-manager/readme.md b/specification/compute/resource-manager/readme.md index 78c23405bca1..169e3063d78e 100644 --- a/specification/compute/resource-manager/readme.md +++ b/specification/compute/resource-manager/readme.md @@ -205,7 +205,7 @@ input-file: - Microsoft.Compute/stable/2019-03-01/compute.json - Microsoft.Compute/stable/2019-03-01/runCommands.json - Microsoft.Compute/stable/2019-04-01/skus.json -- Microsoft.Compute/stable/2018-09-30/disk.json +- Microsoft.Compute/stable/2019-03-01/disk.json - Microsoft.Compute/stable/2019-07-01/gallery.json - Microsoft.ContainerService/stable/2017-01-31/containerService.json ``` @@ -219,7 +219,7 @@ input-file: - Microsoft.Compute/stable/2019-03-01/compute.json - Microsoft.Compute/stable/2019-03-01/runCommands.json - Microsoft.Compute/stable/2019-04-01/skus.json -- Microsoft.Compute/stable/2018-09-30/disk.json +- Microsoft.Compute/stable/2019-03-01/disk.json - Microsoft.Compute/stable/2019-03-01/gallery.json - Microsoft.ContainerService/stable/2017-01-31/containerService.json ``` From a86e712a9065aef6eb04536e02c1de970e5a6436 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Tue, 30 Jul 2019 15:29:20 -0700 Subject: [PATCH 10/20] add example --- .../examples/CreateAManagedUploadDisk.json | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedUploadDisk.json diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedUploadDisk.json new file mode 100644 index 000000000000..6c0c126b4fac --- /dev/null +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateAManagedUploadDisk.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "{subscription-id}", + "resourceGroupName": "myResourceGroup", + "api-version": "2019-03-01", + "diskName": "myDisk", + "disk": { + "location": "West US", + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + } + } + } + }, + "responses": { + "202": { + "body": { + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + }, + "200": { + "body": { + "properties": { + "creationData": { + "createOption": "Upload", + "uploadSizeBytes": 10737418752 + }, + "provisioningState": "Updating" + }, + "location": "West US", + "name": "myDisk" + } + } + } +} From 08104b726acfe5eb6899d06493786ca3516c050c Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Tue, 30 Jul 2019 16:07:10 -0700 Subject: [PATCH 11/20] removing extra descriptions --- .../stable/2019-03-01/disk.json | 39 +------------------ 1 file changed, 1 insertion(+), 38 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 9b36fa3cd893..b323223a5e24 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1162,44 +1162,7 @@ ], "x-ms-enum": { "name": "DiskCreateOption", - "modelAsString": true, - "values": [ - { - "value": "Empty", - "name": "Empty", - "Description": "Create a new disk with a given size." - }, - { - "value": "Attach", - "name": "Attach", - "Description": "Disk will be attached to a VM." - }, - { - "value": "FromImage", - "name": "From Image", - "Description": "Create a new disk by importing from a PIR image or a customer's user image." - }, - { - "value": "Import", - "name": "Import", - "Description": "Create a new disk by importing from a customer's blob. The blob must be formatted as a VHD." - }, - { - "value": "Copy", - "name": "Copy", - "Description": "Create a new disk by copying from a customer's managed disk or snapshot." - }, - { - "value": "Restore", - "name": "Restore", - "Description": "Create a new disk by restoring from a restore point." - }, - { - "value": "Upload", - "name": "Upload", - "Description": "Create a new disk by customer upload using a write SAS to drectly write the contents of their disk to the blob. The contents must be formatted as a VHD." - } - ] + "modelAsString": true }, "description": "This enumerates the possible sources of a disk's creation." }, From 28426c900d594d8ca32a64289a2da853e31331fc Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 08:18:54 -0700 Subject: [PATCH 12/20] Revert "removing extra descriptions" This reverts commit 3a0f6498ff6d12663a4929cc78d05911112124c7. --- .../stable/2019-03-01/disk.json | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index b323223a5e24..9b36fa3cd893 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1162,7 +1162,44 @@ ], "x-ms-enum": { "name": "DiskCreateOption", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Empty", + "name": "Empty", + "Description": "Create a new disk with a given size." + }, + { + "value": "Attach", + "name": "Attach", + "Description": "Disk will be attached to a VM." + }, + { + "value": "FromImage", + "name": "From Image", + "Description": "Create a new disk by importing from a PIR image or a customer's user image." + }, + { + "value": "Import", + "name": "Import", + "Description": "Create a new disk by importing from a customer's blob. The blob must be formatted as a VHD." + }, + { + "value": "Copy", + "name": "Copy", + "Description": "Create a new disk by copying from a customer's managed disk or snapshot." + }, + { + "value": "Restore", + "name": "Restore", + "Description": "Create a new disk by restoring from a restore point." + }, + { + "value": "Upload", + "name": "Upload", + "Description": "Create a new disk by customer upload using a write SAS to drectly write the contents of their disk to the blob. The contents must be formatted as a VHD." + } + ] }, "description": "This enumerates the possible sources of a disk's creation." }, From 80920477fc484e226d09ee607969b290234324e3 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 08:20:30 -0700 Subject: [PATCH 13/20] adding enum descriptions back in --- .../stable/2019-03-01/disk.json | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 9b36fa3cd893..f29d2556d6b4 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1166,38 +1166,31 @@ "values": [ { "value": "Empty", - "name": "Empty", - "Description": "Create a new disk with a given size." + "description": "Create a new disk with a given size." }, { "value": "Attach", - "name": "Attach", - "Description": "Disk will be attached to a VM." + "description": "Disk will be attached to a VM." }, { "value": "FromImage", - "name": "From Image", - "Description": "Create a new disk by importing from a PIR image or a customer's user image." + "description": "Create a new disk by importing from a PIR image or a customer's user image." }, { "value": "Import", - "name": "Import", - "Description": "Create a new disk by importing from a customer's blob. The blob must be formatted as a VHD." + "description": "Create a new disk by importing from a customer's blob. The blob must be formatted as a VHD." }, { "value": "Copy", - "name": "Copy", - "Description": "Create a new disk by copying from a customer's managed disk or snapshot." + "description": "Create a new disk by copying from a customer's managed disk or snapshot." }, { "value": "Restore", - "name": "Restore", - "Description": "Create a new disk by restoring from a restore point." + "description": "Create a new disk by restoring from a restore point." }, { "value": "Upload", - "name": "Upload", - "Description": "Create a new disk by customer upload using a write SAS to drectly write the contents of their disk to the blob. The contents must be formatted as a VHD." + "description": "Create a new disk by customer upload using a write SAS to drectly write the contents of their disk to the blob. The contents must be formatted as a VHD." } ] }, From 46abb4fea79f8eb64e0a21e3eabc21aa503d9d18 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 10:23:47 -0700 Subject: [PATCH 14/20] adding descriptions for some enums --- .../stable/2019-03-01/disk.json | 64 ++++++++++++++++++- 1 file changed, 61 insertions(+), 3 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index f29d2556d6b4..32aaac5bd24f 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -804,7 +804,25 @@ ], "x-ms-enum": { "name": "DiskStorageAccountTypes", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "name": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + }, + { + "name": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + }, + { + "name": "UltraSSD_LRS", + "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads." + } + ] }, "description": "The sku name." }, @@ -827,7 +845,21 @@ ], "x-ms-enum": { "name": "SnapshotStorageAccountTypes", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "name": "Standard_LRS", + "description": "Standard HDD locally redundant storage" + }, + { + "name": "Premium_LRS", + "description": "Premium SSD locally redundant storage" + }, + { + "name": "Standard_ZRS", + "description": "Standard zone redundant storage" + } + ] }, "description": "The sku name." }, @@ -919,7 +951,33 @@ ], "x-ms-enum": { "name": "DiskState", - "modelAsString": true + "modelAsString": true, + "values": [ + { + "value": "Unattached", + "description": "The disk is not being used and can be attached to a VM." + }, + { + "value": "Attached", + "description": "The disk is currently mounted to a running VM." + }, + { + "value": "Reserved", + "description": "The disk is mounted to a stopped-deallocated VM" + }, + { + "value": "ActiveSAS", + "description": "The disk currently has an Active SAS Uri associated with it." + }, + { + "value": "ReadyToUpload", + "description": "The upload disk does not have an active write SAS, but the customer can request on to upload the VHD." + }, + { + "value": "ActiveUpload", + "description": "The upload disk has an active write SAS associated with it." + } + ] } } }, From f50af6ec9a8f08674221cb604c3ea90fe76e7528 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 10:36:56 -0700 Subject: [PATCH 15/20] fixing incorrect use of name and replacing it with the correct property value --- .../Microsoft.Compute/stable/2019-03-01/disk.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 32aaac5bd24f..50ebabdf0cb4 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -807,19 +807,19 @@ "modelAsString": true, "values": [ { - "name": "Standard_LRS", + "value": "Standard_LRS", "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." }, { - "name": "Premium_LRS", + "value": "Premium_LRS", "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." }, { - "name": "StandardSSD_LRS", + "value": "StandardSSD_LRS", "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." }, { - "name": "UltraSSD_LRS", + "value": "UltraSSD_LRS", "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads." } ] @@ -848,15 +848,15 @@ "modelAsString": true, "values": [ { - "name": "Standard_LRS", + "value": "Standard_LRS", "description": "Standard HDD locally redundant storage" }, { - "name": "Premium_LRS", + "value": "Premium_LRS", "description": "Premium SSD locally redundant storage" }, { - "name": "Standard_ZRS", + "value": "Standard_ZRS", "description": "Standard zone redundant storage" } ] From 8fbcc52fe6094e04209634f7b26fff6097d2e3cb Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 13:21:43 -0700 Subject: [PATCH 16/20] adding unique id --- .../Microsoft.Compute/stable/2019-03-01/disk.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 50ebabdf0cb4..40a58aeefcf7 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1033,6 +1033,11 @@ "readOnly": true, "description": "The size of the disk in bytes. This field is read only." }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." @@ -1273,7 +1278,7 @@ "sourceUniqueId": { "readOnly": true, "type": "string", - "description": "The Id of the source this Incremental Snapshot was created from. Null for non Incremental Snapshots." + "description": "If this field is set, this is the unique id identifying the source of this resource." }, "uploadSizeBytes": { "type": "integer", From b94cde6ae9cb9370008ec89b5611fccf7937f8bd Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 13:33:48 -0700 Subject: [PATCH 17/20] fixing the snapshots examples so that model validation passes - don't send a read only field in the request --- ...shotByImportingAnUnmanagedBlobFromADifferentSubscription.json | 1 - ...napshotByImportingAnUnmanagedBlobFromTheSameSubscription.json | 1 - .../examples/CreateASnapshotFromAnExistingSnapshot.json | 1 - 3 files changed, 3 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json index 1ea6c5bd022c..ac1676ea844d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "snapshotName": "mySnapshot1", "snapshot": { - "name": "mySnapshot1", "location": "West US", "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json index 051f1355d167..f9624c059273 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "snapshotName": "mySnapshot1", "snapshot": { - "name": "mySnapshot1", "location": "West US", "properties": { "creationData": { diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotFromAnExistingSnapshot.json index 80b14028c83f..8ad3baf76972 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotFromAnExistingSnapshot.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/examples/CreateASnapshotFromAnExistingSnapshot.json @@ -5,7 +5,6 @@ "api-version": "2019-03-01", "snapshotName": "mySnapshot2", "snapshot": { - "name": "mySnapshot2", "location": "West US", "properties": { "creationData": { From 8fccdbb8ceadc4c1c34bd254d4675a64a05c2520 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Wed, 31 Jul 2019 13:56:25 -0700 Subject: [PATCH 18/20] fixing typo --- .../Microsoft.Compute/stable/2019-03-01/disk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 40a58aeefcf7..cf32d8eb9edf 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -1253,7 +1253,7 @@ }, { "value": "Upload", - "description": "Create a new disk by customer upload using a write SAS to drectly write the contents of their disk to the blob. The contents must be formatted as a VHD." + "description": "Create a new disk by customer upload using a write SAS to directly write the contents of their disk to the blob. The contents must be formatted as a VHD." } ] }, From e46fd65701ba7b87b2be5f702d91c4456f43eb21 Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Thu, 8 Aug 2019 16:04:40 -0700 Subject: [PATCH 19/20] removing diskSizeBytes from snapshot\disk update properties and adding a unique id for disk properties --- .../stable/2019-03-01/disk.json | 21 +++++++------------ 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index cf32d8eb9edf..23e69d431507 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -915,9 +915,14 @@ "diskSizeBytes": { "type": "integer", "format": "int64", - "readOnly": true, + "readOnly": true, "description": "The size of the disk in bytes. This field is read only." }, + "uniqueId": { + "type": "string", + "readOnly": true, + "description": "Unique Guid identifying the resource." + }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." @@ -1072,7 +1077,7 @@ }, "encryptionSettingsVersion": { "type": "string", - "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' or Null corresponds to extension based encryption with AAD app. '1.1' corresponds to extension based encryption without AAD app. '2.0' corresponds to host based encryption." + "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption." } }, "required": [ @@ -1155,12 +1160,6 @@ "format": "int32", "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, - "diskSizeBytes": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The size of the disk in bytes. This field is read only." - }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." @@ -1197,12 +1196,6 @@ "format": "int32", "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, - "diskSizeBytes": { - "type": "integer", - "format": "int64", - "readOnly": true, - "description": "The size of the disk in bytes. This field is read only." - }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", "description": "Encryption settings collection used be Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot." From 4f5dbad04518d0674689ac2a2388ea823d28cadf Mon Sep 17 00:00:00 2001 From: Josh Pollock Date: Mon, 12 Aug 2019 10:47:44 -0700 Subject: [PATCH 20/20] pr comments --- .../stable/2019-03-01/disk.json | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json index 23e69d431507..eb4686849f5d 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json +++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-03-01/disk.json @@ -910,7 +910,7 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "diskSizeBytes": { "type": "integer", @@ -976,11 +976,11 @@ }, { "value": "ReadyToUpload", - "description": "The upload disk does not have an active write SAS, but the customer can request on to upload the VHD." + "description": "A disk is ready to be created by upload by requesting a write token." }, { "value": "ActiveUpload", - "description": "The upload disk has an active write SAS associated with it." + "description": "A disk is created for upload and a write token has been issued for uploading to it." } ] } @@ -1030,7 +1030,7 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "diskSizeBytes": { "type": "integer", @@ -1158,7 +1158,7 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -1194,7 +1194,7 @@ "diskSizeGB": { "type": "integer", "format": "int32", - "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the VHD to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." + "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size." }, "encryptionSettingsCollection": { "$ref": "#/definitions/EncryptionSettingsCollection", @@ -1222,7 +1222,7 @@ "values": [ { "value": "Empty", - "description": "Create a new disk with a given size." + "description": "Create an empty data disk of a size given by diskSizeGB." }, { "value": "Attach", @@ -1230,23 +1230,23 @@ }, { "value": "FromImage", - "description": "Create a new disk by importing from a PIR image or a customer's user image." + "description": "Create a new disk from a platform image specified by the given imageReference." }, { "value": "Import", - "description": "Create a new disk by importing from a customer's blob. The blob must be formatted as a VHD." + "description": "Create a disk by importing from a blob specified by a sourceUri in a storage account specified by storageAccountId." }, { "value": "Copy", - "description": "Create a new disk by copying from a customer's managed disk or snapshot." + "description": "Create a new disk or snapshot by copying from a disk or snapshot specified by the given sourceResourceId." }, { "value": "Restore", - "description": "Create a new disk by restoring from a restore point." + "description": "Create a new disk by copying from a backup recovery point." }, { "value": "Upload", - "description": "Create a new disk by customer upload using a write SAS to directly write the contents of their disk to the blob. The contents must be formatted as a VHD." + "description": "Create a new disk by obtaining a write token and using it to directly upload the contents of the disk." } ] },