From c14408c242b559e4e94154ef2bc9eec9e709e5f1 Mon Sep 17 00:00:00 2001 From: ronehr Date: Thu, 8 Feb 2018 14:15:51 +0530 Subject: [PATCH 1/4] Azure migrate GA and public preview rest api specs. --- .../AssessedMachines_ListByAssessment.json | 161 + .../examples/Assessments_ListByGroup.json | 75 + .../examples/Assessments_ListByProject.json | 74 + .../examples/CreateAssessment.json | 90 + .../examples/CreateGroup.json | 67 + .../examples/CreateProject.json | 63 + .../examples/DeleteAssessment.json | 18 + .../examples/DeleteGroup.json | 17 + .../examples/DeleteProject.json | 16 + .../examples/DownloadUrlPost.json | 22 + .../examples/GetAssessedMachine.json | 89 + .../examples/GetAssessment.json | 45 + .../2017-11-11-preview/examples/GetGroup.json | 35 + .../examples/GetMachine.json | 59 + .../examples/GetProject.json | 33 + .../examples/Groups_ListByProject.json | 54 + .../2017-11-11-preview/examples/KeysPost.json | 20 + .../examples/Machines_ListByProject.json | 103 + .../examples/Operations_List.json | 35 + .../examples/Projects_List.json | 53 + .../examples/UpdateProject.json | 45 + .../2017-11-11-preview/migrate.json | 2940 ++++++++++++++++ .../AssessedMachines_ListByAssessment.json | 193 + .../examples/Assessments_ListByGroup.json | 79 + .../examples/Assessments_ListByProject.json | 78 + .../2018-02-02/examples/CreateAssessment.json | 95 + .../2018-02-02/examples/CreateGroup.json | 67 + .../2018-02-02/examples/CreateProject.json | 74 + .../2018-02-02/examples/DeleteAssessment.json | 18 + .../2018-02-02/examples/DeleteGroup.json | 17 + .../2018-02-02/examples/DeleteProject.json | 16 + .../2018-02-02/examples/DownloadUrlPost.json | 22 + .../examples/GetAssessedMachine.json | 105 + .../2018-02-02/examples/GetAssessment.json | 47 + .../2018-02-02/examples/GetGroup.json | 35 + .../2018-02-02/examples/GetMachine.json | 59 + .../2018-02-02/examples/GetProject.json | 38 + .../examples/Groups_ListByProject.json | 54 + .../2018-02-02/examples/KeysPost.json | 20 + .../examples/Machines_ListByProject.json | 103 + .../2018-02-02/examples/Operations_List.json | 35 + .../2018-02-02/examples/Projects_List.json | 63 + .../2018-02-02/examples/UpdateProject.json | 51 + .../Microsoft.Migrate/2018-02-02/migrate.json | 3121 +++++++++++++++++ .../migrate/resource-manager/readme.md | 38 + 45 files changed, 8542 insertions(+) create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DownloadUrlPost.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessedMachine.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetMachine.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_ListByProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/KeysPost.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Machines_ListByProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Operations_List.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_List.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/UpdateProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/AssessedMachines_ListByAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DownloadUrlPost.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessedMachine.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessment.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetGroup.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetMachine.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_ListByProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/KeysPost.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Machines_ListByProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Operations_List.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_List.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/UpdateProject.json create mode 100644 specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json create mode 100644 specification/migrate/resource-manager/readme.md diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json new file mode 100644 index 000000000000..9e865db42eb5 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/AssessedMachines_ListByAssessment.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01/assessedMachines/amansing_vm1", + "name": "amansing_vm1", + "eTag": "\"010000ef-0000-0000-0000-59b7e53e0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments/assessedMachines", + "properties": { + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "discoveredTimestamp": "2017-09-12T13:17:23.5437337Z", + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-09-12T13:17:23.5437337Z", + "bootType": "BIOS", + "datacenterContainer": "10.184.81.34", + "datacenterManagementServer": "10.240.17.240", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "disks": { + "scsi0:0": { + "name": "scsi0:0", + "gigabytesProvisioned": 20, + "gigabytesConsumed": 0, + "megabytesPerSecondOfRead": 0, + "megabytesPerSecondOfWrite": 0, + "numberOfReadOperationsPerSecond": 0, + "numberOfWriteOperationsPerSecond": 0, + "monthlyStorageCost": 0, + "recommendedDiskSize": "Standard_S4", + "recommendedDiskType": "Standard", + "gigabytesForRecommendedDiskSize": 32, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ], + "megabytesPerSecondReceived": 0, + "megabytesPerSecondTransmitted": 0, + "monthlyBandwidthCosts": 0, + "netGigabytesTransmittedPerMonth": 0, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "recommendedSize": "Standard_A0", + "numberOfCoresForRecommendedSize": 1, + "megabytesOfMemoryForRecommendedSize": 786, + "monthlyComputeCostForRecommendedSize": 0, + "percentageCoresUtilization": 0.7752173913043479, + "percentageMemoryUtilization": 0.43666666666666665, + "suitability": "ConditionallySuitable", + "suitabilityExplanation": "WindowsServerVersionConditionallySupported" + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01/assessedMachines/amansing_vm2", + "name": "amansing_vm2", + "eTag": "\"0000918f-0000-0000-0000-59c12ce90000\"", + "type": "Microsoft.Migrate/projects/groups/assessments/assessedMachines", + "properties": { + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "discoveredTimestamp": "2017-09-12T13:17:23.5437337Z", + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-09-12T13:17:23.5437337Z", + "bootType": "BIOS", + "datacenterContainer": "10.184.81.34", + "datacenterManagementServer": "10.240.17.240", + "datacenterMachineId": "vmWare_amansing_vm2", + "datacenterManagementServerId": "vmWare_unique_id", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm2", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "disks": { + "scsi0:0": { + "name": "scsi0:0", + "gigabytesProvisioned": 20, + "gigabytesConsumed": 0, + "megabytesPerSecondOfRead": 0, + "megabytesPerSecondOfWrite": 0, + "numberOfReadOperationsPerSecond": 0, + "numberOfWriteOperationsPerSecond": 0, + "monthlyStorageCost": 0, + "recommendedDiskSize": "Standard_S4", + "recommendedDiskType": "Standard", + "gigabytesForRecommendedDiskSize": 32, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ], + "megabytesPerSecondReceived": 0, + "megabytesPerSecondTransmitted": 0, + "monthlyBandwidthCosts": 0, + "netGigabytesTransmittedPerMonth": 0, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "recommendedSize": "Standard_A0", + "numberOfCoresForRecommendedSize": 1, + "megabytesOfMemoryForRecommendedSize": 786, + "monthlyComputeCostForRecommendedSize": 0, + "percentageCoresUtilization": 0.7752173913043479, + "percentageMemoryUtilization": 0.43666666666666665, + "suitability": "ConditionallySuitable", + "suitabilityExplanation": "WindowsServerVersionConditionallySupported" + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} + diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByGroup.json new file mode 100644 index 000000000000..5f28a49907a0 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-12T13:25:02.6983504Z", + "updatedTimestamp": "2017-09-12T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02", + "name": "assessment02", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1, + "percentile": "Percentile99", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 20, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-15T09:59:21.5319568Z", + "updatedTimestamp": "2017-09-15T09:59:21.5319568Z", + "monthlyComputeCost": 50, + "monthlyBandwidthCost": 10, + "monthlyStorageCost": 30, + "status": "Completed", + "numberOfMachines": 4 + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByProject.json new file mode 100644 index 000000000000..4bb1db79dae9 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_ListByProject.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-12T13:25:02.6983504Z", + "updatedTimestamp": "2017-09-12T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02", + "name": "assessment02", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1, + "percentile": "Percentile99", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 20, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-15T09:59:21.5319568Z", + "updatedTimestamp": "2017-09-15T09:59:21.5319568Z", + "monthlyComputeCost": 50, + "monthlyBandwidthCost": 10, + "monthlyStorageCost": 30, + "status": "Completed", + "numberOfMachines": 4 + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateAssessment.json new file mode 100644 index 000000000000..0ba2e62b7e0d --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateAssessment.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01", + "assessment": { + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-12T13:25:02.6983504Z", + "updatedTimestamp": "2017-09-12T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-12T13:25:02.6983504Z", + "updatedTimestamp": "2017-09-12T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + } + }, + "401": {}, + "400": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateGroup.json new file mode 100644 index 000000000000..345130b21db5 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "group": { + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm3" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm3" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-10-30T09:13:02.7580235Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm3" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-10-30T09:13:02.7580235Z" + } + } + }, + "401": {}, + "400": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateProject.json new file mode 100644 index 000000000000..c3cd91877db0 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateProject.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "project": { + "properties": { + "customerWorkspaceId": "url-to-customers-service-map" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "responses": { + "201": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2017-09-12T13:11:30.8808917Z", + "updatedTimestamp": "2017-09-12T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "200": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2017-09-12T13:11:30.8808917Z", + "updatedTimestamp": "2017-09-12T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "400": {}, + "401": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteAssessment.json new file mode 100644 index 000000000000..ed7fd0cfe56f --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteAssessment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "204": {}, + "200": {}, + "400": {}, + "401": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteGroup.json new file mode 100644 index 000000000000..293e14f22443 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteGroup.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01" + }, + "responses": { + "204": {}, + "200": {}, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteProject.json new file mode 100644 index 000000000000..6a6bdfa7be5f --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteProject.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": {}, + "204": {}, + "400": {}, + "401": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DownloadUrlPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DownloadUrlPost.json new file mode 100644 index 000000000000..0bc79e04720c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DownloadUrlPost.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "200": { + "body": { + "assessmentReportUrl": "link-to-download-assessment-report", + "expirationTime": "2017-09-12T13:17:23.5437337Z" + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessedMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessedMachine.json new file mode 100644 index 000000000000..37c439c81a15 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessedMachine.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01", + "assessedMachineName": "amansing_vm1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01/assessedMachines/amansing_vm1", + "name": "amansing_vm1", + "eTag": "\"010000ef-0000-0000-0000-59b7e53e0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments/assessedMachines", + "properties": { + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "discoveredTimestamp": "2017-09-12T13:17:23.5437337Z", + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-09-12T13:17:23.5437337Z", + "bootType": "BIOS", + "datacenterContainer": "10.184.81.34", + "datacenterManagementServer": "10.240.17.240", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "disks": { + "scsi0:0": { + "name": "scsi0:0", + "gigabytesProvisioned": 20, + "gigabytesConsumed": 0, + "megabytesPerSecondOfRead": 0, + "megabytesPerSecondOfWrite": 0, + "numberOfReadOperationsPerSecond": 0, + "numberOfWriteOperationsPerSecond": 0, + "monthlyStorageCost": 0, + "recommendedDiskSize": "Standard_S4", + "recommendedDiskType": "Standard", + "gigabytesForRecommendedDiskSize": 32, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ], + "megabytesPerSecondReceived": 0, + "megabytesPerSecondTransmitted": 0, + "monthlyBandwidthCosts": 0, + "netGigabytesTransmittedPerMonth": 0, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "recommendedSize": "Standard_A0", + "numberOfCoresForRecommendedSize": 1, + "megabytesOfMemoryForRecommendedSize": 786, + "monthlyComputeCostForRecommendedSize": 0, + "percentageCoresUtilization": 0.7752173913043479, + "percentageMemoryUtilization": 0.43666666666666665, + "suitability": "ConditionallySuitable", + "suitabilityExplanation": "WindowsServerVersionConditionallySupported" + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} + diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessment.json new file mode 100644 index 000000000000..2618bcf55658 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessment.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "pricesTimestamp": "2017-09-12T13:25:02.6983504Z", + "createdTimestamp": "2017-09-12T13:25:02.6983504Z", + "updatedTimestamp": "2017-09-12T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetGroup.json new file mode 100644 index 000000000000..2a5ae13fe83e --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-10-30T09:13:02.7580235Z" + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetMachine.json new file mode 100644 index 000000000000..e72488f849d8 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetMachine.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "machineName": "amansing_vm1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/machines/amansing_vm1", + "name": "amansing_vm1", + "type": "Microsoft.Migrate/projects/machines", + "eTag": "\"b701c63a-0000-0000-0000-59c12fe60000\"", + "properties": { + "bootType": "BIOS", + "datacenterContainer": "vmWareFolder", + "datacenterManagementServer": "123.123.123.123", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "createdTimestamp": "2017-09-09T07:44:44.5677283Z", + "discoveredTimestamp": "2017-09-09T07:44:44.5677283Z", + "disks": { + "scsi0:0": { + "gigabytesAllocated": 20, + "gigabytesConsumed": 0 + } + }, + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ] + } + }, + "updatedTimestamp": "2017-09-09T10:11:25.7585427Z" + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetProject.json new file mode 100644 index 000000000000..d35eb607d4eb --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetProject.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2017-09-12T13:11:30.8808917Z", + "updatedTimestamp": "2017-09-12T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_ListByProject.json new file mode 100644 index 000000000000..dd31b211bde6 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_ListByProject.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2017-09-12T13:17:23.5437337Z", + "updatedTimestamp": "2017-10-30T09:13:02.7580235Z" + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group02", + "name": "group02", + "eTag": "\"0000470d-0000-0000-0000-59b90d820000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group02/assessments/assessment03" + ], + "createdTimestamp": "2017-09-13T10:50:43.4356428Z", + "updatedTimestamp": "2017-09-13T10:50:43.4356428Z" + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/KeysPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/KeysPost.json new file mode 100644 index 000000000000..b40446241120 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/KeysPost.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "workspaceId": "migrationProjectId", + "workspaceKey": "migrationProjectKey" + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Machines_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Machines_ListByProject.json new file mode 100644 index 000000000000..f520e77f187a --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Machines_ListByProject.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/machines/amansing_vm1", + "name": "amansing_vm1", + "type": "Microsoft.Migrate/projects/machines", + "eTag": "\"b701c63a-0000-0000-0000-59c12fe60000\"", + "properties": { + "bootType": "BIOS", + "datacenterContainer": "vmWareFolder", + "datacenterManagementServer": "123.123.123.123", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "createdTimestamp": "2017-09-09T07:44:44.5677283Z", + "discoveredTimestamp": "2017-09-09T07:44:44.5677283Z", + "disks": { + "scsi0:0": { + "gigabytesAllocated": 20, + "gigabytesConsumed": 0 + } + }, + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ] + } + }, + "updatedTimestamp": "2017-09-09T10:11:25.7585427Z" + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "name": "amansing_vm2", + "type": "Microsoft.Migrate/projects/machines", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "properties": { + "bootType": "BIOS", + "datacenterContainer": "vmWareFolder", + "datacenterManagementServer": "123.123.123.123", + "datacenterMachineId": "vmWare_amansing_vm2", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm2", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "createdTimestamp": "2017-09-09T07:44:44.5677283Z", + "updatedTimestamp": "2017-09-09T10:11:25.7585427Z", + "discoveredTimestamp": "2017-09-09T07:44:44.5677283Z", + "disks": { + "scsi0:0": { + "gigabytesAllocated": 20, + "gigabytesConsumed": 0 + } + }, + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01" + ], + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ] + } + } + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Operations_List.json new file mode 100644 index 000000000000..478779a306b1 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Operations_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Read", + "display": { + "provider": "Microsoft.Migrate", + "resource": "Microsoft.Migrate/projects", + "operation": "Read", + "description": "Reads a project" + }, + "origin": "user,system" + }, + { + "name": "Write", + "display": { + "provider": "Microsoft.Migrate", + "resource": "Microsoft.Migrate/projects", + "operation": "Write", + "description": "Creates or updates a project" + }, + "origin": "user,system" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_List.json new file mode 100644 index 000000000000..c0269831cd36 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_List.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2017-09-12T13:11:30.8808917Z", + "updatedTimestamp": "2017-09-12T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + }, + { + "properties": { + "numberOfGroups": 4, + "numberOfMachines": 6, + "numberOfAssessments": 4, + "createdTimestamp": "2017-09-13T10:50:05.3206647Z", + "updatedTimestamp": "2017-09-13T10:50:05.3236679Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project02", + "name": "project02", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-1111-0000-59c12ff02222\"", + "location": "West Us", + "tags": {} + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/UpdateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/UpdateProject.json new file mode 100644 index 000000000000..253e944dabce --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/UpdateProject.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2017-11-11-preview", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "project": { + "properties": { + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "", + "location": "West Us", + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2017-09-12T13:11:30.8808917Z", + "updatedTimestamp": "2017-09-12T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "400": {}, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json new file mode 100644 index 000000000000..23fe315d1558 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json @@ -0,0 +1,2940 @@ +{ + "swagger": "2.0", + "info": { + "version": "2017-11-11-preview", + "title": "Azure Migrate", + "description": "Move your workloads to Azure.", + "contact": { + "name": "Microsoft", + "email": "azuremigrate@microsoft.com" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "description": "Azure Subscription Id in which project was created.", + "type": "string", + "in": "path", + "required": true + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "Name of the Azure Resource Group that project is part of.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "projectName": { + "name": "projectName", + "description": "Name of the Azure Migrate project.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "machineName": { + "name": "machineName", + "description": "Unique name of a machine in private datacenter.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "assessedMachineName": { + "name": "assessedMachineName", + "description": "Unique name of an assessed machine evaluated as part of an assessment.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "groupName": { + "name": "groupName", + "description": "Unique name of a group within a project.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "assessmentName": { + "name": "assessmentName", + "description": "Unique name of an assessment within a project.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "api-version": { + "name": "api-version", + "description": "Standard request header. Used by service to identify API version used by client.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "2017-11-11-preview" + ] + }, + "contentType": { + "name": "Content-Type", + "description": "Standard request header. Used by service to identify format of client's request body.", + "type": "string", + "in": "header" + }, + "acceptLanguage": { + "description": "Standard request header. Used by service to respond to client in appropriate language.", + "name": "Accept-Language", + "type": "string", + "in": "header" + } + }, + "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" + } + } + }, + "definitions": { + "Project": { + "type": "object", + "x-ms-azure-resource": true, + "description": "Azure Migrate Project.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this project /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the project.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects].", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "location": { + "type": "string", + "description": "Azure location in which project is created." + }, + "tags": { + "type": "object", + "description": "Tags provided by Azure Tagging service." + }, + "properties": { + "description": "Properties of the project.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties" + } + } + }, + "ProjectProperties": { + "type": "object", + "description": "Properties of a project.", + "properties": { + "numberOfMachines": { + "type": "integer", + "format": "int32", + "description": "Number of machines in the project.", + "readOnly": true + }, + "numberOfGroups": { + "type": "integer", + "format": "int32", + "description": "Number of groups created in the project.", + "readOnly": true + }, + "numberOfAssessments": { + "type": "integer", + "format": "int32", + "description": "Number of assessments created in the project.", + "readOnly": true + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "discoveryStatus": { + "type": "string", + "enum": [ + "Unknown", + "NotStarted", + "InProgress", + "Completed" + ], + "readOnly": true, + "description": "Reports whether project is under discovery.", + "x-ms-enum": { + "name": "DiscoveryStatus", + "modelAsString": true + } + }, + "customerWorkspaceId": { + "type": "string", + "description": "ARM ID of the Service Map workspace created by user." + }, + "provisioningState": { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Failed", + "Moving", + "Succeeded" + ], + "description": "Provisioning state of the project.", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "Group": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A group created in a Migration project.", + "required": [ + "properties" + ], + "properties": { + "id": { + "description": "Path reference to this group. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the group.", + "type": "string", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups].", + "readOnly": true + }, + "properties": { + "description": "Properties of the group.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupProperties" + } + } + }, + "GroupProperties": { + "type": "object", + "description": "Properties of group resource.", + "required": [ + "machines" + ], + "properties": { + "machines": { + "type": "array", + "description": "List of machine names that are part of this group.", + "items": { + "type": "string", + "description": "Reference to a machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}" + } + }, + "assessments": { + "type": "array", + "description": "List of References to Assessments created on this group.", + "readOnly": true, + "items": { + "type": "string", + "description": "Reference to an Assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", + "readOnly": true + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + } + } + }, + "Assessment": { + "type": "object", + "x-ms-azure-resource": true, + "description": "An assessment created for a group in the Migration project.", + "required": [ + "properties" + ], + "properties": { + "id": { + "type": "string", + "description": "Path reference to this assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessment/{assessmentName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique name of an assessment.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments].", + "readOnly": true + }, + "properties": { + "description": "Properties of the assessment.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssessmentProperties" + } + } + }, + "AssessmentProperties": { + "type": "object", + "description": "Properties of an assessment.", + "required": [ + "stage", + "azureOfferCode", + "timeRange", + "percentile", + "azureLocation", + "azureStorageRedundancy", + "scalingFactor", + "azurePricingTier", + "currency", + "azureHybridUseBenefit", + "discountPercentage" + ], + "properties": { + "azureLocation": { + "type": "string", + "enum": [ + "Unknown", + "EastAsia", + "SoutheastAsia", + "AustraliaEast", + "AustraliaSoutheast", + "BrazilSouth", + "CanadaCentral", + "CanadaEast", + "WestEurope", + "NorthEurope", + "CentralIndia", + "SouthIndia", + "WestIndia", + "JapanEast", + "JapanWest", + "KoreaCentral", + "KoreaSouth", + "UkWest", + "UkSouth", + "NorthCentralUs", + "EastUs", + "WestUs2", + "SouthCentralUs", + "CentralUs", + "EastUs2", + "WestUs", + "WestCentralUs" + ], + "description": "Target Azure location for which the machines should be assessed. These enums are the same as used by Compute API.", + "x-ms-enum": { + "name": "AzureLocation", + "modelAsString": true + } + }, + "azureOfferCode": { + "type": "string", + "enum": [ + "Unknown", + "MSAZR0003P", + "MSAZR0044P", + "MSAZR0059P", + "MSAZR0060P", + "MSAZR0062P", + "MSAZR0063P", + "MSAZR0064P", + "MSAZR0029P", + "MSAZR0022P", + "MSAZR0023P", + "MSAZR0148P", + "MSAZR0025P", + "MSAZR0036P", + "MSAZR0120P", + "MSAZR0121P", + "MSAZR0122P", + "MSAZR0123P", + "MSAZR0124P", + "MSAZR0125P", + "MSAZR0126P", + "MSAZR0127P", + "MSAZR0128P", + "MSAZR0129P", + "MSAZR0130P", + "MSAZR0111P", + "MSAZR0144P", + "MSAZR0149P" + ], + "description": "Offer code according to which cost estimation is done.", + "x-ms-enum": { + "name": "AzureOfferCode", + "modelAsString": true + } + }, + "azurePricingTier": { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "description": "Pricing tier for Size evaluation.", + "x-ms-enum": { + "name": "AzurePricingTier", + "modelAsString": true + } + }, + "azureStorageRedundancy": { + "type": "string", + "enum": [ + "Unknown", + "LocallyRedundant", + "ZoneRedundant", + "GeoRedundant", + "ReadAccessGeoRedundant" + ], + "description": "Storage Redundancy type offered by Azure.", + "x-ms-enum": { + "name": "AzureStorageRedundancy", + "modelAsString": true + } + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Scaling factor used over utilization data to add a performance buffer for new machines to be created in Azure. Min Value = 1.0, Max value = 1.9, Default = 1.3." + }, + "percentile": { + "type": "string", + "enum": [ + "Percentile50", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "description": "Percentile of performance data used to recommend Azure size.", + "x-ms-enum": { + "name": "Percentile", + "modelAsString": true + } + }, + "timeRange": { + "type": "string", + "enum": [ + "Day", + "Week", + "Month" + ], + "description": "Time range of performance data used to recommend a size.", + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true + } + }, + "stage": { + "type": "string", + "enum": [ + "InProgress", + "UnderReview", + "Approved" + ], + "description": "User configurable setting that describes the status of the assessment.", + "x-ms-enum": { + "name": "AssessmentStage", + "modelAsString": true + } + }, + "currency": { + "type": "string", + "enum": [ + "Unknown", + "USD", + "DKK", + "CAD", + "IDR", + "JPY", + "KRW", + "NZD", + "NOK", + "RUB", + "SAR", + "ZAR", + "SEK", + "TRY", + "GBP", + "MXN", + "MYR", + "INR", + "HKD", + "BRL", + "TWD", + "EUR", + "CHF", + "ARS", + "AUD" + ], + "description": "Currency to report prices in.", + "x-ms-enum": { + "name": "Currency", + "modelAsString": true + } + }, + "azureHybridUseBenefit": { + "type": "string", + "enum": [ + "Unknown", + "Yes", + "No" + ], + "description": "AHUB discount on windows virtual machines.", + "x-ms-enum": { + "name": "AzureHybridUseBenefit", + "modelAsString": true + } + }, + "discountPercentage": { + "type": "number", + "format": "double", + "description": "Custom discount percentage to be applied on final costs. Can be in the range [0, 100]." + }, + "pricesTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when the Azure Prices were queried. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "monthlyComputeCost": { + "type": "number", + "format": "double", + "description": "Monthly compute cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyBandwidthCost": { + "type": "number", + "format": "double", + "description": "Monthly network cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Monthly storage cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "status": { + "type": "string", + "enum": [ + "Created", + "Updated", + "Running", + "Completed", + "Invalid" + ], + "description": "Wheter the assessment has been created and is valid.", + "readOnly": true, + "x-ms-enum": { + "name": "AssessmentStatus", + "modelAsString": true + } + }, + "numberOfMachines": { + "type": "integer", + "format": "int32", + "description": "Number of assessed machines part of this assessment.", + "readOnly": true + } + } + }, + "Disk": { + "type": "object", + "description": "A disk discovered on a machine.", + "properties": { + "name": { + "type": "string", + "description": "Name of the disk as defined in private data-center.", + "readOnly": true + }, + "gigabytesProvisioned": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage provisioned for this disk.", + "readOnly": true + }, + "gigabytesConsumed": { + "format": "double", + "type": "number", + "description": "Gigabytes of storage consumed by this disk.", + "readOnly": true + } + } + }, + "NetworkAdapter": { + "type": "object", + "description": "A network adapter discovered on a machine.", + "properties": { + "macAddress": { + "type": "string", + "description": "MAC Address of the network adapter.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "description": "List of IP Addresses on the network adapter.", + "readOnly": true, + "items": { + "type": "string", + "description": "IP Address of the network adapter.", + "readOnly": true + } + } + } + }, + "Machine": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A machine in a migration project.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the machine. It is a GUID which is unique identifier of machine in private data center. For user-readable name, we have a displayName property on this machine.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/machines].", + "readOnly": true + }, + "properties": { + "description": "Properties of the machine.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineProperties" + } + } + }, + "MachineProperties": { + "type": "object", + "description": "Properties of a machine.", + "properties": { + "bootType": { + "type": "string", + "description": "Boot type of the machine.", + "enum": [ + "Unknown", + "EFI", + "BIOS" + ], + "readOnly": true, + "x-ms-enum": { + "name": "MachineBootType", + "modelAsString": true + } + }, + "datacenterContainer": { + "type": "string", + "description": "Container defined in the management solution that this machine is part of in the datacenter.", + "readOnly": true + }, + "datacenterManagementServer": { + "type": "string", + "description": "Name of the server hosting the datacenter management solution.", + "readOnly": true + }, + "datacenterMachineId": { + "type": "string", + "description": "ID of the machine as tracked by the datacenter management solution.", + "readOnly": true + }, + "datacenterManagementServerId": { + "type": "string", + "description": "ID of the server hosting the datacenter management solution.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the machine", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "User readable name of the machine as defined by the user in their private datacenter.", + "readOnly": true + }, + "megabytesOfMemory": { + "type": "number", + "description": "Memory in Megabytes.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "description": "Processor count.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "Operating System of the machine.", + "readOnly": true + }, + "groups": { + "type": "array", + "description": "List of references to the groups that the machine is member of.", + "readOnly": true, + "items": { + "type": "string", + "readOnly": true, + "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "discoveredTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Unique identifier of a disk.", + "readOnly": true + }, + "value": { + "description": "Disk object.", + "$ref": "#/definitions/Disk" + } + } + }, + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is ID of disk. Value is a network adapter object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Unique identifier of a network adapter.", + "readOnly": true + }, + "value": { + "description": "Network Adapter object.", + "$ref": "#/definitions/NetworkAdapter" + } + } + } + } + }, + "AssessedDisk": { + "type": "object", + "description": "A disk assessed for an assessment.", + "properties": { + "gigabytesProvisioned": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage provisioned for this disk.", + "readOnly": true + }, + "gigabytesConsumed": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage consumed by this disk.", + "readOnly": true + }, + "megabytesPerSecondOfRead": { + "type": "number", + "format": "double", + "description": "Disk throughput in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondOfWrite": { + "type": "number", + "format": "double", + "description": "Disk throughput in MegaBytes per second.", + "readOnly": true + }, + "numberOfReadOperationsPerSecond": { + "type": "number", + "format": "double", + "description": "Number of read operations per second for the disk.", + "readOnly": true + }, + "numberOfWriteOperationsPerSecond": { + "type": "number", + "format": "double", + "description": "Number of read and write operations per second for the disk.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Estimated aggregate storage cost for a 31-day month for this disk.", + "readOnly": true + }, + "recommendedDiskType": { + "type": "string", + "enum": [ + "Unknown", + "Standard", + "Premium" + ], + "description": "Storage type selected for this disk.", + "x-ms-enum": { + "name": "AzureDiskType", + "modelAsString": true + }, + "readOnly": true + }, + "recommendedDiskSize": { + "type": "string", + "enum": [ + "Unknown", + "Standard_S4", + "Standard_S6", + "Standard_S10", + "Standard_S20", + "Standard_S30", + "Standard_S40", + "Standard_S50", + "Premium_P4", + "Premium_P6", + "Premium_P10", + "Premium_P20", + "Premium_P30", + "Premium_P40", + "Premium_P50" + ], + "description": "Recommended Azure size for the disk, given utilization data and preferences set on Assessment.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureDiskSize", + "modelAsString": true + } + }, + "gigabytesForRecommendedSize": { + "type": "integer", + "format": "int32", + "description": "Gigabytes of storage provided by the recommended Azure disk size.", + "readOnly": true + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable" + ], + "description": "Whether this disk is suitable for Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "DiskSizeGreaterThanSupported", + "NoSuitableDiskSizeForIops", + "NoSuitableDiskSizeForThroughput", + "NoDiskSizeFoundInSelectedLocation", + "NoDiskSizeFoundForSelectedRedundancy", + "InternalErrorOccurredForDiskEvaluation" + ], + "description": "If disk is suitable, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureDiskSuitabilityExplanation", + "modelAsString": true + } + } + } + }, + "AssessedNetworkAdapter": { + "type": "object", + "description": "A network adapter assessed for an assessment.", + "properties": { + "macAddress": { + "type": "string", + "description": "MAC Address of the network adapter.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "description": "List of IP Addresses on the network adapter.", + "readOnly": true, + "items": { + "type": "string", + "description": "IP Address of the network adapter.", + "readOnly": true + } + }, + "monthlyBandwidthCosts": { + "type": "number", + "format": "double", + "description": "Monthly cost estimate for network bandwidth used by this network adapter.", + "readOnly": true + }, + "megabytesPerSecondTransmitted": { + "type": "number", + "format": "double", + "description": "Adapter throughput for outgoing traffic in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondReceived": { + "type": "number", + "format": "double", + "description": "Adapter throughput for incoming traffic in MegaBytes per second.", + "readOnly": true + }, + "netGigabytesTransmittedPerMonth": { + "type": "number", + "format": "double", + "description": "Gigabytes transmitted through this adapter each month." + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable" + ], + "description": "Whether this adapter is suitable for Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "InternalErrorOccured" + ], + "description": "If network adapter is suitable, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureNetworkAdapterSuitabilityExplanation", + "modelAsString": true + } + } + } + }, + "AssessedMachine": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A machine evaluated as part of an assessment.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this assessed machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the machine.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments/assessedMachines].", + "readOnly": true + }, + "properties": { + "description": "Properties of an assessed machine.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssessedMachineProperties" + } + } + }, + "AssessedMachineProperties": { + "type": "object", + "description": "Properties of an assessed machine.", + "properties": { + "groups": { + "type": "array", + "description": "List of references to the groups that the machine is member of.", + "readOnly": true, + "items": { + "type": "string", + "readOnly": true, + "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" + } + }, + "discoveredTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "bootType": { + "type": "string", + "description": "Boot type of the machine.", + "enum": [ + "Unknown", + "EFI", + "BIOS" + ], + "readOnly": true, + "x-ms-enum": { + "name": "MachineBootType", + "modelAsString": true + } + }, + "datacenterContainer": { + "type": "string", + "description": "Container defined in the management solution that this machine is part of in the datacenter.", + "readOnly": true + }, + "datacenterManagementServer": { + "type": "string", + "description": "Name of the server hosting the datacenter management solution.", + "readOnly": true + }, + "datacenterMachineId": { + "type": "string", + "description": "ID of the machine as tracked by the datacenter management solution.", + "readOnly": true + }, + "datacenterManagementServerId": { + "type": "string", + "description": "ID of the server hosting the datacenter management solution.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the machine", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "User readable name of the machine as defined by the user in their private datacenter.", + "readOnly": true + }, + "megabytesOfMemory": { + "type": "number", + "format": "double", + "description": "Memory in Megabytes.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "format": "int32", + "description": "Processor count.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "Operating System of the machine.", + "readOnly": true + }, + "monthlyBandwidthCost": { + "type": "number", + "format": "double", + "description": "Monthly network cost estimate for the network adapters that are attached to this machine as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Monthly storage cost estimate for the disks that are attached to this machine as a group, for a 31-day month.", + "readOnly": true + }, + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Name of the disk.", + "readOnly": true + }, + "value": { + "description": "Assessed Disk object.", + "$ref": "#/definitions/AssessedDisk" + } + } + }, + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Name of the network adapter.", + "readOnly": true + }, + "value": { + "description": "Assessed Network Adapter object.", + "$ref": "#/definitions/AssessedNetworkAdapter" + } + } + }, + "recommendedSize": { + "type": "string", + "enum": [ + "Unknown", + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s" + ], + "description": "Recommended Azure size for this machine.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureVmSize", + "modelAsString": true + } + }, + "numberOfCoresForRecommendedSize": { + "type": "integer", + "format": "int32", + "description": "Number of CPU cores in the Recommended Azure VM Size.", + "readOnly": true + }, + "megabytesOfMemoryForRecommendedSize": { + "type": "number", + "format": "double", + "description": "Megabytes of memory in the Recommended Azure VM Size.", + "readOnly": true + }, + "monthlyComputeCostForRecommendedSize": { + "type": "number", + "format": "double", + "description": "Compute Cost for a 31-day month, if the machine is migrated to Azure with the Recommended Size.", + "readOnly": true + }, + "percentageCoresUtilization": { + "type": "number", + "format": "double", + "description": "Utilization percentage of the processor core as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", + "readOnly": true + }, + "percentageMemoryUtilization": { + "type": "number", + "format": "double", + "description": "Utilization percentage of the memory as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", + "readOnly": true + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable" + ], + "description": "Whether machine is suitable for migration to Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "GuestOperatingSystemArchitectureNotSupported", + "GuestOperatingSystemNotSupported", + "BootTypeNotSupported", + "MoreDisksThanSupported", + "NoSuitableVmSizeFound", + "OneOrMoreDisksNotSuitable", + "OneOrMoreAdaptersNotSuitable", + "InternalErrorOccuredDuringComputeEvaluation", + "InternalErrorOccuredDuringStorageEvaluation", + "InternalErrorOccuredDuringNetworkEvaluation", + "NoVmSizeSupportsStoragePerformance", + "NoVmSizeSupportsNetworkPerformance", + "NoVmSizeForSelectedPricingTier", + "NoVmSizeForSelectedAzureLocation", + "CheckRedHatLinuxVersion", + "CheckOpenSuseLinuxVersion", + "CheckWindowsServer2008R2Version", + "CheckCentOsVersion", + "CheckDebianLinuxVersion", + "CheckSuseLinuxVersion", + "CheckOracleLinuxVersion", + "CheckUbuntuLinuxVersion", + "CheckCoreOsLinuxVersion", + "WindowsServerVersionConditionallySupported", + "NoGuestOperatingSystemConditionallySupported", + "WindowsClientVersionsConditionallySupported" + ], + "description": "If machine is not ready to be migrated, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureVmSuitabilityExplanation", + "modelAsString": true + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + } + } + }, + "ProjectKey": { + "type": "object", + "x-ms-azure-resource": true, + "description": "ID and Key for Migration Project.", + "properties": { + "workspaceId": { + "type": "string", + "description": "ID of Migration Project.", + "readOnly": true + }, + "workspaceKey": { + "type": "string", + "description": "Key of Migration Project.", + "readOnly": true + } + } + }, + "Operation": { + "type": "object", + "description": "A REST API operation supported by the provider.", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation.", + "readOnly": true + }, + "display": { + "type": "object", + "description": "Displayable properties of the operation.", + "readOnly": true, + "properties": { + "provider": { + "type": "string", + "description": "Provider of the operation.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "Resource operated on by the operation.", + "readOnly": true + }, + "operation": { + "type": "string", + "description": "Operation Type.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the operation.", + "readOnly": true + } + } + }, + "origin": { + "type": "string", + "description": "Origin of the operation.", + "readOnly": true + } + } + }, + "DownloadUrl": { + "type": "object", + "description": "Download URL for assessment report.", + "properties": { + "assessmentReportUrl": { + "type": "string", + "description": "Hyperlink to download report.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "description": "Expiry date of download url.", + "readOnly": true + } + } + }, + "ProjectResultList": { + "type": "object", + "description": "List of projects.", + "properties": { + "value": { + "type": "array", + "description": "List of projects.", + "items": { + "$ref": "#/definitions/Project" + } + } + } + }, + "MachineResultList": { + "type": "object", + "description": "List of machines.", + "properties": { + "value": { + "type": "array", + "description": "List of machines.", + "items": { + "$ref": "#/definitions/Machine" + } + } + } + }, + "GroupResultList": { + "type": "object", + "description": "List of groups.", + "properties": { + "value": { + "type": "array", + "description": "List of groups.", + "items": { + "$ref": "#/definitions/Group" + } + } + } + }, + "AssessedMachineResultList": { + "type": "object", + "description": "List of assessed machines.", + "properties": { + "value": { + "description": "List of assessed machines.", + "type": "array", + "items": { + "$ref": "#/definitions/AssessedMachine" + } + } + } + }, + "AssessmentResultList": { + "type": "object", + "description": "List of assessments.", + "properties": { + "value": { + "type": "array", + "description": "List of assessments.", + "items": { + "$ref": "#/definitions/Assessment" + } + } + } + }, + "OperationResultList": { + "type": "object", + "description": "List of API operations.", + "properties": { + "value": { + "type": "array", + "description": "List of operations.", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all projects.", + "description": "Get all the projects in the resource group.", + "operationId": "Projects_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ProjectResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription or resource group)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Projects_List": { + "$ref": "./examples/Projects_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get the specified project.", + "description": "Get the project with the specified name.", + "operationId": "GetProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetProject": { + "$ref": "./examples/GetProject.json" + } + } + }, + "put": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Create or update project.", + "description": "Create a project with specified name. If a project already exists, update it.", + "operationId": "CreateProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/contentType" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "name": "project", + "description": "New or Updated project object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing project updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "201": { + "description": "Created. New project was created.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "400": { + "description": "Bad Request (Read only settings of an existing project cannot be changed)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "CreateProject": { + "$ref": "./examples/CreateProject.json" + } + } + }, + "patch": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Update project.", + "description": "Update a project with specified name. Supports partial updates, for example only tags can be provided.", + "operationId": "UpdateProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/contentType" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "name": "project", + "description": "Updated project object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing project updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "400": { + "description": "Bad Request (Read only settings of an existing project cannot be changed)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, or nestName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "UpdateProject": { + "$ref": "./examples/UpdateProject.json" + } + } + }, + "delete": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Delete the project", + "description": "Delete the project. Deleting non-existent project is a no-operation.", + "operationId": "DeleteProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "responses": { + "200": { + "description": "OK. Deleted the group.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content. No project with specified name was found." + }, + "400": { + "description": "Bad request. (Invalid subscriptionId or resourceGroupName)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)" + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DeleteProject": { + "$ref": "./examples/DeleteProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys": { + "post": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get shared keys for the project.", + "description": "Gets the Log Analytics Workspace ID and Primary Key for the specified project.", + "operationId": "KeysPost", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ProjectKey" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "KeysPost": { + "$ref": "./examples/KeysPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all machines in the project", + "description": "Get data of all the machines available in the project. Returns a json array of objects of type 'machine' defined in Models section.", + "operationId": "Machines_ListByProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of all machine objects.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/MachineResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Machines_ListByProject": { + "$ref": "./examples/Machines_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get a specific machine.", + "description": "Get the machine with the specified name. Returns a json object of type 'machine' defined in Models section.", + "operationId": "GetMachine", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/machineName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns the machine with the specified name.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or machineName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetMachine": { + "$ref": "./examples/GetMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all groups", + "description": "Get all groups created in the project. Returns a json array of objects of type 'group' as specified in the Models section.", + "operationId": "Groups_ListByProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of groups.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/GroupResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Groups_ListByProject": { + "$ref": "./examples/Groups_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get a specific group.", + "description": "Get information related to a specific group in the project. Returns a json object of type 'group' as specified in the models section.", + "operationId": "GetGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the group with the specified name.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Group" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or groupName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetGroup": { + "$ref": "./examples/GetGroup.json" + } + } + }, + "put": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Create a new group with specified settings. If group with the name provided already exists, then the existing group is updated.", + "description": "Create a new group by sending a json object of type 'group' as given in Models section as part of the Request Body. The group name in a project is unique. Labels can be applied on a group as part of creation.\n\nIf a group with the groupName specified in the URL already exists, then this call acts as an update.\n\nThis operation is Idempotent.\n", + "operationId": "CreateGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/contentType" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "group", + "description": "New or Updated Group object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Group" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing group updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Group" + } + }, + "201": { + "description": "Created. New group was created.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Group" + } + }, + "400": { + "description": "Bad Request (Read only settings of an existing group cannot be changed)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "CreateGroup": { + "$ref": "./examples/CreateGroup.json" + } + } + }, + "delete": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Delete the group", + "description": "Delete the group from the project. The machines remain in the project. Deleting a non-existent group results in a no-operation.\n\nA group is an aggregation mechanism for machines in a project. Therefore, deleting group does not delete machines in it.\n", + "operationId": "DeleteGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Deleted the group.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content. No group with specified name was found." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)" + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName)" + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DeleteGroup": { + "$ref": "./examples/DeleteGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all assessments created for the specified group.", + "description": "Get all assessments created for the specified group.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", + "operationId": "Assessments_ListByGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of Assessment objects.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessmentResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, assessmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Assessments_ListByGroup": { + "$ref": "./examples/Assessments_ListByGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all assessments created in the project.", + "description": "Get all assessments created in the project.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", + "operationId": "Assessments_ListByProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of Assessment objects.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessmentResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, assessmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Assessments_ListByProject": { + "$ref": "./examples/Assessments_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get an assessment.", + "description": "Get an existing assessment with the specified name. Returns a json object of type 'assessment' as specified in Models section.", + "operationId": "GetAssessment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns Assessment object.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Assessment" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or assesmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetAssessment": { + "$ref": "./examples/GetAssessment.json" + } + } + }, + "put": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Create or Update assessment.", + "description": "Create a new assessment with the given name and the specified settings. Since name of an assessment in a project is a unique identiefier, if an assessment with the name provided already exists, then the existing assessment is updated.\n\nAny PUT operation, resulting in either create or update on an assessment, will cause the assessment to go in a \"InProgress\" state. This will be indicated by the field 'computationState' on the Assessment object. During this time no other PUT operation will be allowed on that assessment object, nor will a Delete operation. Once the computation for the assessment is complete, the field 'computationState' will be updated to 'Ready', and then other PUT or DELETE operations can happen on the assessment.\n\nWhen assessment is under computation, any PUT will lead to a 400 - Bad Request error.\n", + "operationId": "CreateAssessment", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "assessment", + "description": "New or Updated Assessment object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Assessment" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing assessment updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Assessment" + } + }, + "201": { + "description": "Created. New assessment was created.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Assessment" + } + }, + "400": { + "description": "Bad Request. Assessment is under computation and cannot be updated yet." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "CreateAssessment": { + "$ref": "./examples/CreateAssessment.json" + } + } + }, + "delete": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Deletes an assessment from the project.", + "description": "Delete an assessment from the project. The machines remain in the assessment. Deleting a non-existent assessment results in a no-operation.\n\nWhen an assessment is under computation, as indicated by the 'computationState' field, it cannot be deleted. Any such attempt will return a 400 - Bad Request.\n", + "operationId": "DeleteAssessment", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Deleted the assessment.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content. No assessment with specified name was found." + }, + "400": { + "description": "Bad Request. Assessment is under computation and cannot be deleted yet." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)" + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DeleteAssessment": { + "$ref": "./examples/DeleteAssessment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl": { + "post": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get download URL for the assessment report.", + "description": "Get the URL for downloading the assessment in a report format.", + "operationId": "DownloadUrlPost", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DownloadUrlPost": { + "$ref": "./examples/DownloadUrlPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get assessed machines for assessment.", + "description": "Get list of machines that assessed as part of the specified assessment. Returns a json array of objects of type 'assessedMachine' as specified in the Models section.\n\nWhenever an assessment is created or updated, it goes under computation. During this phase, the 'status' field of Assessment object reports 'Computing'.\nDuring the period when the assessment is under computation, the list of assessed machines is empty and no assessed machines are returned by this call.\n", + "operationId": "AssessedMachines_ListByAssessment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns list of machines with their assessment data in the assessment.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessedMachineResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or assessmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "AssessedMachines_ListByAssessment": { + "$ref": "./examples/AssessedMachines_ListByAssessment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get an assessed machine.", + "description": "Get an assessed machine with its size & cost estimnate that was evaluated in the specified assessment.", + "operationId": "GetAssessedMachine", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/assessedMachineName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns a specific assessed machine.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessedMachine" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, groupName, assessmentName, or machineId)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetAssessedMachine": { + "$ref": "./examples/GetAssessedMachine.json" + } + } + } + }, + "/providers/Microsoft.Migrate/operations": { + "get": { + "summary": "Get list of operations supported in the API.", + "description": "Get a list of REST API supported by Microsoft.Migrate provider.", + "operationId": "Operations_list", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of operations.", + "schema": { + "$ref": "#/definitions/OperationResultList" + } + } + }, + "x-ms-examples": { + "Operations_list": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/AssessedMachines_ListByAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/AssessedMachines_ListByAssessment.json new file mode 100644 index 000000000000..08e7085ef405 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/AssessedMachines_ListByAssessment.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01/assessedMachines/amansing_vm1", + "name": "amansing_vm1", + "eTag": "\"010000ef-0000-0000-0000-59b7e53e0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments/assessedMachines", + "properties": { + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "discoveredTimestamp": "2018-02-02T13:17:23.5437337Z", + "createdTimestamp": "2018-02-03T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-04T13:17:23.5437337Z", + "bootType": "BIOS", + "datacenterContainer": "10.184.81.34", + "datacenterManagementServer": "10.240.17.240", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "disks": { + "scsi0:0": { + "name": "scsi0:0", + "gigabytesProvisioned": 20, + "gigabytesConsumed": 0, + "megabytesPerSecondOfRead": 0, + "megabytesPerSecondOfReadDataPointsExpected": 300, + "megabytesPerSecondOfReadDataPointsReceived": 280, + "megabytesPerSecondOfWrite": 0, + "megabytesPerSecondOfWriteDataPointsExpected": 300, + "megabytesPerSecondOfWriteDataPointsReceived": 280, + "numberOfReadOperationsPerSecond": 0, + "numberOfReadOperationsPerSecondDataPointsExpected": 300, + "numberOfReadOperationsPerSecondDataPointsReceived": 280, + "numberOfWriteOperationsPerSecond": 0, + "numberOfWriteOperationsPerSecondDataPointsExpected": 300, + "numberOfWriteOperationsPerSecondDataPointsReceived": 280, + "monthlyStorageCost": 0, + "recommendedDiskSize": "Standard_S4", + "recommendedDiskType": "Standard", + "gigabytesForRecommendedDiskSize": 32, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ], + "megabytesPerSecondReceived": 0, + "megabytesPerSecondReceivedDataPointsExpected": 300, + "megabytesPerSecondOfReadDataPointsReceived": 280, + "megabytesPerSecondTransmitted": 0, + "megabytesPerSecondTransmittedDataPointsExpected": 300, + "megabytesPerSecondTransmittedDataPointsReceived": 280, + "monthlyBandwidthCosts": 0, + "netGigabytesTransmittedPerMonth": 0, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "recommendedSize": "Standard_A0", + "numberOfCoresForRecommendedSize": 1, + "megabytesOfMemoryForRecommendedSize": 786, + "monthlyComputeCostForRecommendedSize": 0, + "percentageCoresUtilization": 0.7752173913043479, + "percentageMemoryUtilization": 0.43666666666666665, + "percentageCoresUtilizationDataPointsExpected": 300, + "percentageCoresUtilizationDataPointsReceived": 280, + "percentageMemoryUtilizationDataPointsExpected": 300, + "percentageMemoryUtilizationDataPointsReceived": 280, + "suitability": "ConditionallySuitable", + "suitabilityExplanation": "WindowsServerVersionConditionallySupported" + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01/assessedMachines/amansing_vm2", + "name": "amansing_vm2", + "eTag": "\"0000918f-0000-0000-0000-59c12ce90000\"", + "type": "Microsoft.Migrate/projects/groups/assessments/assessedMachines", + "properties": { + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "discoveredTimestamp": "2018-02-02T13:17:23.5437337Z", + "createdTimestamp": "2018-02-03T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-04T13:17:23.5437337Z", + "bootType": "BIOS", + "datacenterContainer": "10.184.81.34", + "datacenterManagementServer": "10.240.17.240", + "datacenterMachineId": "vmWare_amansing_vm2", + "datacenterManagementServerId": "vmWare_unique_id", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm2", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "disks": { + "scsi0:0": { + "name": "scsi0:0", + "gigabytesProvisioned": 20, + "gigabytesConsumed": 0, + "megabytesPerSecondOfRead": 0, + "megabytesPerSecondOfReadDataPointsExpected": 300, + "megabytesPerSecondOfReadDataPointsReceived": 280, + "megabytesPerSecondOfWrite": 0, + "megabytesPerSecondOfWriteDataPointsExpected": 300, + "megabytesPerSecondOfWriteDataPointsReceived": 280, + "numberOfReadOperationsPerSecond": 0, + "numberOfReadOperationsPerSecondDataPointsExpected": 300, + "numberOfReadOperationsPerSecondDataPointsReceived": 280, + "numberOfWriteOperationsPerSecond": 0, + "numberOfWriteOperationsPerSecondDataPointsExpected": 300, + "numberOfWriteOperationsPerSecondDataPointsReceived": 280, + "monthlyStorageCost": 0, + "recommendedDiskSize": "Standard_S4", + "recommendedDiskType": "Standard", + "gigabytesForRecommendedDiskSize": 32, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ], + "megabytesPerSecondReceived": 0, + "megabytesPerSecondReceivedDataPointsExpected": 300, + "megabytesPerSecondOfReadDataPointsReceived": 280, + "megabytesPerSecondTransmitted": 0, + "megabytesPerSecondTransmittedDataPointsExpected": 300, + "megabytesPerSecondTransmittedDataPointsReceived": 280, + "monthlyBandwidthCosts": 0, + "netGigabytesTransmittedPerMonth": 0, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "recommendedSize": "Standard_A0", + "numberOfCoresForRecommendedSize": 1, + "megabytesOfMemoryForRecommendedSize": 786, + "monthlyComputeCostForRecommendedSize": 0, + "percentageCoresUtilization": 0.7752173913043479, + "percentageMemoryUtilization": 0.43666666666666665, + "percentageCoresUtilizationDataPointsExpected": 300, + "percentageCoresUtilizationDataPointsReceived": 280, + "percentageMemoryUtilizationDataPointsExpected": 300, + "percentageMemoryUtilizationDataPointsReceived": 280, + "suitability": "ConditionallySuitable", + "suitabilityExplanation": "WindowsServerVersionConditionallySupported" + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} + diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByGroup.json new file mode 100644 index 000000000000..ce1f9ce0c682 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByGroup.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "confidenceRatingInPercentage": 93.52, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T13:25:02.6983504Z", + "updatedTimestamp": "2018-02-02T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02", + "name": "assessment02", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1, + "percentile": "Percentile99", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 20, + "confidenceRatingInPercentage": 90.28, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T09:59:21.5319568Z", + "updatedTimestamp": "2018-02-02T09:59:21.5319568Z", + "monthlyComputeCost": 50, + "monthlyBandwidthCost": 10, + "monthlyStorageCost": 30, + "status": "Completed", + "numberOfMachines": 4 + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByProject.json new file mode 100644 index 000000000000..3cb703e6c29c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_ListByProject.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "confidenceRatingInPercentage": 93.52, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T13:25:02.6983504Z", + "updatedTimestamp": "2018-02-02T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02", + "name": "assessment02", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1, + "percentile": "Percentile99", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 20, + "confidenceRatingInPercentage": 90.28, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T09:59:21.5319568Z", + "updatedTimestamp": "2018-02-02T09:59:21.5319568Z", + "monthlyComputeCost": 50, + "monthlyBandwidthCost": 10, + "monthlyStorageCost": 30, + "status": "Completed", + "numberOfMachines": 4 + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateAssessment.json new file mode 100644 index 000000000000..e5526d3e5b35 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateAssessment.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01", + "assessment": { + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "sizingCriterion": "PerformanceBased" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "confidenceRatingInPercentage": 93.52, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T13:25:02.6983504Z", + "updatedTimestamp": "2018-02-02T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + } + }, + "201": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "confidenceRatingInPercentage": 93.52, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T13:25:02.6983504Z", + "updatedTimestamp": "2018-02-02T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + } + }, + "401": {}, + "400": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateGroup.json new file mode 100644 index 000000000000..e84a07ead2f0 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateGroup.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "group": { + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm3" + ] + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm3" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2018-02-02T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-02T09:13:02.7580235Z" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm3" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2018-02-02T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-02T09:13:02.7580235Z" + } + } + }, + "401": {}, + "400": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateProject.json new file mode 100644 index 000000000000..2a6a3a23d608 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateProject.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "project": { + "properties": { + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "responses": { + "201": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2018-02-02T13:11:30.8808917Z", + "updatedTimestamp": "2018-02-02T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us", + "lastDiscoveryTimestamp": "2018-02-02T13:11:30.8808917Z", + "lastDiscoverySessionId": "2c213c69-e2d3-4c3e-b871-83e5f42f3299", + "lastAssessmentTimestamp": "2018-02-02T13:11:30.8808917Z", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "200": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2018-02-02T13:11:30.8808917Z", + "updatedTimestamp": "2018-02-02T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us", + "lastDiscoveryTimestamp": "2018-02-02T13:11:30.8808917Z", + "lastDiscoverySessionId": "2c213c69-e2d3-4c3e-b871-83e5f42f3299", + "lastAssessmentTimestamp": "2018-02-02T13:11:30.8808917Z", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "400": {}, + "401": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteAssessment.json new file mode 100644 index 000000000000..9bb865108097 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteAssessment.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "204": {}, + "200": {}, + "400": {}, + "401": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteGroup.json new file mode 100644 index 000000000000..334d65a859cd --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteGroup.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01" + }, + "responses": { + "204": {}, + "200": {}, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteProject.json new file mode 100644 index 000000000000..0723b134b09c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteProject.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": {}, + "204": {}, + "400": {}, + "401": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DownloadUrlPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DownloadUrlPost.json new file mode 100644 index 000000000000..0fa576d5b5da --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DownloadUrlPost.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "200": { + "body": { + "assessmentReportUrl": "link-to-download-assessment-report", + "expirationTime": "2018-02-02T13:17:23.5437337Z" + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessedMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessedMachine.json new file mode 100644 index 000000000000..0d9ad439cfc9 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessedMachine.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01", + "assessedMachineName": "amansing_vm1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01/assessedMachines/amansing_vm1", + "name": "amansing_vm1", + "eTag": "\"010000ef-0000-0000-0000-59b7e53e0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments/assessedMachines", + "properties": { + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "discoveredTimestamp": "2018-02-02T13:17:23.5437337Z", + "createdTimestamp": "2018-02-02T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-02T13:17:23.5437337Z", + "bootType": "BIOS", + "datacenterContainer": "10.184.81.34", + "datacenterManagementServer": "10.240.17.240", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "disks": { + "scsi0:0": { + "name": "scsi0:0", + "gigabytesProvisioned": 20, + "gigabytesConsumed": 0, + "megabytesPerSecondOfRead": 0, + "megabytesPerSecondOfReadDataPointsExpected": 300, + "megabytesPerSecondOfReadDataPointsReceived": 280, + "megabytesPerSecondOfWrite": 0, + "megabytesPerSecondOfWriteDataPointsExpected": 300, + "megabytesPerSecondOfWriteDataPointsReceived": 280, + "numberOfReadOperationsPerSecond": 0, + "numberOfReadOperationsPerSecondDataPointsExpected": 300, + "numberOfReadOperationsPerSecondDataPointsReceived": 280, + "numberOfWriteOperationsPerSecond": 0, + "numberOfWriteOperationsPerSecondDataPointsExpected": 300, + "numberOfWriteOperationsPerSecondDataPointsReceived": 280, + "monthlyStorageCost": 0, + "recommendedDiskSize": "Standard_S4", + "recommendedDiskType": "Standard", + "gigabytesForRecommendedDiskSize": 32, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ], + "megabytesPerSecondReceived": 0, + "megabytesPerSecondReceivedDataPointsExpected": 300, + "megabytesPerSecondOfReadDataPointsReceived": 280, + "megabytesPerSecondTransmitted": 0, + "megabytesPerSecondTransmittedDataPointsExpected": 300, + "megabytesPerSecondTransmittedDataPointsReceived": 280, + "monthlyBandwidthCosts": 0, + "netGigabytesTransmittedPerMonth": 0, + "suitability": "Suitable", + "suitabilityExplanation": "NotApplicable" + } + }, + "recommendedSize": "Standard_A0", + "numberOfCoresForRecommendedSize": 1, + "megabytesOfMemoryForRecommendedSize": 786, + "monthlyComputeCostForRecommendedSize": 0, + "percentageCoresUtilization": 0.7752173913043479, + "percentageMemoryUtilization": 0.43666666666666665, + "percentageCoresUtilizationDataPointsExpected": 300, + "percentageCoresUtilizationDataPointsReceived": 280, + "percentageMemoryUtilizationDataPointsExpected": 300, + "percentageMemoryUtilizationDataPointsReceived": 280, + "suitability": "ConditionallySuitable", + "suitabilityExplanation": "WindowsServerVersionConditionallySupported" + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} + diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessment.json new file mode 100644 index 000000000000..fea561ac5d49 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessment.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01", + "assessmentName": "assessment01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "name": "assessment01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups/assessments", + "properties": { + "azureLocation": "WestUs", + "azureOfferCode": "MSAZR0003P", + "azurePricingTier": "Standard", + "azureStorageRedundancy": "LocallyRedundant", + "scalingFactor": 1.2, + "percentile": "Percentile50", + "timeRange": "Day", + "stage": "InProgress", + "currency": "USD", + "azureHybridUseBenefit": "Yes", + "discountPercentage": 100, + "confidenceRatingInPercentage": 90.28, + "sizingCriterion": "PerformanceBased", + "pricesTimestamp": "2018-02-02T13:25:02.6983504Z", + "createdTimestamp": "2018-02-02T13:25:02.6983504Z", + "updatedTimestamp": "2018-02-02T13:45:57.0489951Z", + "monthlyComputeCost": 0, + "monthlyBandwidthCost": 0, + "monthlyStorageCost": 0, + "status": "Invalid", + "numberOfMachines": 4 + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetGroup.json new file mode 100644 index 000000000000..bf56233d45c4 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetGroup.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "groupName": "group01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2018-02-02T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-02T09:13:02.7580235Z" + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetMachine.json new file mode 100644 index 000000000000..40d972a1b09c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetMachine.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "machineName": "amansing_vm1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/machines/amansing_vm1", + "name": "amansing_vm1", + "type": "Microsoft.Migrate/projects/machines", + "eTag": "\"b701c63a-0000-0000-0000-59c12fe60000\"", + "properties": { + "bootType": "BIOS", + "datacenterContainer": "vmWareFolder", + "datacenterManagementServer": "123.123.123.123", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "createdTimestamp": "2018-02-02T07:44:44.5677283Z", + "discoveredTimestamp": "2018-02-02T07:44:44.5677283Z", + "disks": { + "scsi0:0": { + "gigabytesAllocated": 20, + "gigabytesConsumed": 0 + } + }, + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ] + } + }, + "updatedTimestamp": "2018-02-02T10:11:25.7585427Z" + } + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetProject.json new file mode 100644 index 000000000000..694496398074 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetProject.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2018-02-02T13:11:30.8808917Z", + "updatedTimestamp": "2018-02-02T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us", + "lastDiscoveryTimestamp": "2018-02-02T13:11:30.8808917Z", + "lastDiscoverySessionId": "2c213c69-e2d3-4c3e-b871-83e5f42f3299", + "lastAssessmentTimestamp": "2018-02-02T13:11:30.8808917Z", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_ListByProject.json new file mode 100644 index 000000000000..64a95ec7248a --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_ListByProject.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01", + "name": "group01", + "eTag": "\"1100637e-0000-0000-0000-59f6ed1f0000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group01/assessments/assessment02" + ], + "createdTimestamp": "2018-02-02T13:17:23.5437337Z", + "updatedTimestamp": "2018-02-02T09:13:02.7580235Z" + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group02", + "name": "group02", + "eTag": "\"0000470d-0000-0000-0000-59b90d820000\"", + "type": "Microsoft.Migrate/projects/groups", + "properties": { + "machines": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm1" + ], + "assessments": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/groups/group02/assessments/assessment03" + ], + "createdTimestamp": "2018-02-02T10:50:43.4356428Z", + "updatedTimestamp": "2018-02-02T10:50:43.4356428Z" + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/KeysPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/KeysPost.json new file mode 100644 index 000000000000..6b963ed9426c --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/KeysPost.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "workspaceId": "migrationProjectId", + "workspaceKey": "migrationProjectKey" + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Machines_ListByProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Machines_ListByProject.json new file mode 100644 index 000000000000..8d7085665d98 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Machines_ListByProject.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/machines/amansing_vm1", + "name": "amansing_vm1", + "type": "Microsoft.Migrate/projects/machines", + "eTag": "\"b701c63a-0000-0000-0000-59c12fe60000\"", + "properties": { + "bootType": "BIOS", + "datacenterContainer": "vmWareFolder", + "datacenterManagementServer": "123.123.123.123", + "datacenterMachineId": "vmWare_amansing_vm1", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm1", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "createdTimestamp": "2018-02-02T07:44:44.5677283Z", + "discoveredTimestamp": "2018-02-02T07:44:44.5677283Z", + "disks": { + "scsi0:0": { + "gigabytesAllocated": 20, + "gigabytesConsumed": 0 + } + }, + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01", + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups02" + ], + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ] + } + }, + "updatedTimestamp": "2018-02-02T10:11:25.7585427Z" + } + }, + { + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01/machines/amansing_vm2", + "name": "amansing_vm2", + "type": "Microsoft.Migrate/projects/machines", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "properties": { + "bootType": "BIOS", + "datacenterContainer": "vmWareFolder", + "datacenterManagementServer": "123.123.123.123", + "datacenterMachineId": "vmWare_amansing_vm2", + "datacenterManagementServerId": "vmWare_unqie_01", + "description": "Azure Migration Planner - Collector", + "displayName": "amansing_vm2", + "megabytesOfMemory": 8192, + "numberOfCores": 4, + "operatingSystem": "Microsoft Windows Server 2008 (64-bit)", + "createdTimestamp": "2018-02-02T07:44:44.5677283Z", + "updatedTimestamp": "2018-02-02T10:11:25.7585427Z", + "discoveredTimestamp": "2018-02-02T07:44:44.5677283Z", + "disks": { + "scsi0:0": { + "gigabytesAllocated": 20, + "gigabytesConsumed": 0 + } + }, + "groups": [ + "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/projects01/groups/groups01" + ], + "networkAdapters": { + "4000": { + "macAddress": "00:50:56:ba:7f:25", + "ipAddresses": [ + "2001:4898:e0:f099:91fd:55f:42de:c130", + "2001:4898:e0:f099:ac11:23c3:e39f:533d", + "fe80::91fd:55f:42de:c130", + "10.184.83.206" + ] + } + } + } + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Operations_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Operations_List.json new file mode 100644 index 000000000000..61ea5165abc6 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Operations_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Read", + "display": { + "provider": "Microsoft.Migrate", + "resource": "Microsoft.Migrate/projects", + "operation": "Read", + "description": "Reads a project" + }, + "origin": "user,system" + }, + { + "name": "Write", + "display": { + "provider": "Microsoft.Migrate", + "resource": "Microsoft.Migrate/projects", + "operation": "Write", + "description": "Creates or updates a project" + }, + "origin": "user,system" + } + ] + } + } + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_List.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_List.json new file mode 100644 index 000000000000..a47e8934f652 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_List.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2018-02-02T13:11:30.8808917Z", + "updatedTimestamp": "2018-02-02T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us", + "lastDiscoveryTimestamp": "2018-02-02T13:11:30.8808917Z", + "lastDiscoverySessionId": "2c213c69-e2d3-4c3e-b871-83e5f42f3299", + "lastAssessmentTimestamp": "2018-02-02T13:11:30.8808917Z", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + }, + { + "properties": { + "numberOfGroups": 4, + "numberOfMachines": 6, + "numberOfAssessments": 4, + "createdTimestamp": "2018-02-02T10:50:05.3206647Z", + "updatedTimestamp": "2018-02-02T10:50:05.3236679Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us", + "lastDiscoveryTimestamp": "2018-02-02T13:11:30.8808917Z", + "lastDiscoverySessionId": "2c213c69-e2d3-4c3e-b871-83e5f42f3299", + "lastAssessmentTimestamp": "2018-02-02T13:11:30.8808917Z", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project02", + "name": "project02", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-1111-0000-59c12ff02222\"", + "location": "West Us", + "tags": {} + } + ] + } + }, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/UpdateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/UpdateProject.json new file mode 100644 index 000000000000..b203e804ec6a --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/UpdateProject.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "resourceGroupName": "myResourceGroup", + "api-version": "2018-02-02", + "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b", + "projectName": "project01", + "project": { + "properties": { + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "", + "location": "West Us", + "tags": {} + } + }, + "responses": { + "200": { + "body": { + "properties": { + "numberOfGroups": 2, + "numberOfMachines": 5, + "numberOfAssessments": 5, + "createdTimestamp": "2018-02-02T13:11:30.8808917Z", + "updatedTimestamp": "2018-02-02T13:11:30.8848966Z", + "discoveryStatus": "NotStarted", + "customerWorkspaceId": "url-to-customers-service-map", + "customerWorkspaceLocation": "West Us", + "lastDiscoveryTimestamp": "2018-02-02T13:11:30.8808917Z", + "lastDiscoverySessionId": "2c213c69-e2d3-4c3e-b871-83e5f42f3299", + "lastAssessmentTimestamp": "2018-02-02T13:11:30.8808917Z", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/projects/project01", + "name": "project01", + "type": "Microsoft.Migrate/projects", + "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"", + "location": "West Us", + "tags": {} + } + }, + "400": {}, + "401": {}, + "404": {}, + "500": {}, + "503": {} + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json new file mode 100644 index 000000000000..bde60ad98d22 --- /dev/null +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json @@ -0,0 +1,3121 @@ +{ + "swagger": "2.0", + "info": { + "version": "2018-02-02", + "title": "Azure Migrate", + "description": "Move your workloads to Azure.", + "contact": { + "name": "Microsoft", + "email": "azuremigrate@microsoft.com" + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "parameters": { + "subscriptionId": { + "name": "subscriptionId", + "description": "Azure Subscription Id in which project was created.", + "type": "string", + "in": "path", + "required": true + }, + "resourceGroupName": { + "name": "resourceGroupName", + "description": "Name of the Azure Resource Group that project is part of.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "projectName": { + "name": "projectName", + "description": "Name of the Azure Migrate project.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "machineName": { + "name": "machineName", + "description": "Unique name of a machine in private datacenter.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "assessedMachineName": { + "name": "assessedMachineName", + "description": "Unique name of an assessed machine evaluated as part of an assessment.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "groupName": { + "name": "groupName", + "description": "Unique name of a group within a project.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "assessmentName": { + "name": "assessmentName", + "description": "Unique name of an assessment within a project.", + "type": "string", + "in": "path", + "x-ms-parameter-location": "method", + "required": true + }, + "api-version": { + "name": "api-version", + "description": "Standard request header. Used by service to identify API version used by client.", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "2018-02-02" + ] + }, + "contentType": { + "name": "Content-Type", + "description": "Standard request header. Used by service to identify format of client's request body.", + "type": "string", + "in": "header" + }, + "acceptLanguage": { + "description": "Standard request header. Used by service to respond to client in appropriate language.", + "name": "Accept-Language", + "type": "string", + "in": "header" + } + }, + "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" + } + } + }, + "definitions": { + "Project": { + "type": "object", + "x-ms-azure-resource": true, + "description": "Azure Migrate Project.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this project /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the project.", + "readOnly": true + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects].", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "location": { + "type": "string", + "description": "Azure location in which project is created." + }, + "tags": { + "type": "object", + "description": "Tags provided by Azure Tagging service." + }, + "properties": { + "description": "Properties of the project.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties" + } + } + }, + "ProjectProperties": { + "type": "object", + "description": "Properties of a project.", + "properties": { + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "discoveryStatus": { + "type": "string", + "enum": [ + "Unknown", + "NotStarted", + "InProgress", + "Completed" + ], + "readOnly": true, + "description": "Reports whether project is under discovery.", + "x-ms-enum": { + "name": "DiscoveryStatus", + "modelAsString": true + } + }, + "customerWorkspaceId": { + "type": "string", + "description": "ARM ID of the Service Map workspace created by user." + }, + "customerWorkspaceLocation": { + "type": "string", + "description": "Location of the Service Map workspace created by user." + }, + "lastDiscoveryTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format. This value will be null until discovery is complete.", + "default": "null", + "readOnly": true + }, + "lastDiscoverySessionId": { + "type": "string", + "description": "Session id of the last discovery.", + "readOnly": true + }, + "numberOfGroups": { + "type": "integer", + "format": "int32", + "description": "Number of groups created in the project.", + "readOnly": true + }, + "numberOfMachines": { + "type": "integer", + "format": "int32", + "description": "Number of machines in the project.", + "readOnly": true + }, + "numberOfAssessments": { + "type": "integer", + "format": "int32", + "description": "Number of assessments created in the project.", + "readOnly": true + }, + "lastAssessmentTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when last assessment was created. Date-Time represented in ISO-8601 format. This value will be null until assessment is created.", + "default": "null", + "readOnly": true + }, + "provisioningState": { + "type": "string", + "enum": [ + "Accepted", + "Creating", + "Deleting", + "Failed", + "Moving", + "Succeeded" + ], + "description": "Provisioning state of the project.", + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "Group": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A group created in a Migration project.", + "required": [ + "properties" + ], + "properties": { + "id": { + "description": "Path reference to this group. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the group.", + "type": "string", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups].", + "readOnly": true + }, + "properties": { + "description": "Properties of the group.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupProperties" + } + } + }, + "GroupProperties": { + "type": "object", + "description": "Properties of group resource.", + "required": [ + "machines" + ], + "properties": { + "machines": { + "type": "array", + "description": "List of machine names that are part of this group.", + "items": { + "type": "string", + "description": "Reference to a machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}" + } + }, + "assessments": { + "type": "array", + "description": "List of References to Assessments created on this group.", + "readOnly": true, + "items": { + "type": "string", + "description": "Reference to an Assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", + "readOnly": true + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + } + } + }, + "Assessment": { + "type": "object", + "x-ms-azure-resource": true, + "description": "An assessment created for a group in the Migration project.", + "required": [ + "properties" + ], + "properties": { + "id": { + "type": "string", + "description": "Path reference to this assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessment/{assessmentName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique name of an assessment.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments].", + "readOnly": true + }, + "properties": { + "description": "Properties of the assessment.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssessmentProperties" + } + } + }, + "AssessmentProperties": { + "type": "object", + "description": "Properties of an assessment.", + "required": [ + "stage", + "azureOfferCode", + "timeRange", + "percentile", + "azureLocation", + "azureStorageRedundancy", + "scalingFactor", + "azurePricingTier", + "currency", + "azureHybridUseBenefit", + "discountPercentage", + "sizingCriterion" + ], + "properties": { + "azureLocation": { + "type": "string", + "enum": [ + "Unknown", + "EastAsia", + "SoutheastAsia", + "AustraliaEast", + "AustraliaSoutheast", + "BrazilSouth", + "CanadaCentral", + "CanadaEast", + "WestEurope", + "NorthEurope", + "CentralIndia", + "SouthIndia", + "WestIndia", + "JapanEast", + "JapanWest", + "KoreaCentral", + "KoreaSouth", + "UkWest", + "UkSouth", + "NorthCentralUs", + "EastUs", + "WestUs2", + "SouthCentralUs", + "CentralUs", + "EastUs2", + "WestUs", + "WestCentralUs", + "GermanyCentral", + "GermanyNortheast", + "ChinaNorth", + "ChinaEast" + ], + "description": "Target Azure location for which the machines should be assessed. These enums are the same as used by Compute API.", + "x-ms-enum": { + "name": "AzureLocation", + "modelAsString": true + } + }, + "azureOfferCode": { + "type": "string", + "enum": [ + "Unknown", + "MSAZR0003P", + "MSAZR0044P", + "MSAZR0059P", + "MSAZR0060P", + "MSAZR0062P", + "MSAZR0063P", + "MSAZR0064P", + "MSAZR0029P", + "MSAZR0022P", + "MSAZR0023P", + "MSAZR0148P", + "MSAZR0025P", + "MSAZR0036P", + "MSAZR0120P", + "MSAZR0121P", + "MSAZR0122P", + "MSAZR0123P", + "MSAZR0124P", + "MSAZR0125P", + "MSAZR0126P", + "MSAZR0127P", + "MSAZR0128P", + "MSAZR0129P", + "MSAZR0130P", + "MSAZR0111P", + "MSAZR0144P", + "MSAZR0149P", + "MSMCAZR0044P", + "MSMCAZR0059P", + "MSMCAZR0060P", + "MSMCAZR0063P", + "MSMCAZR0120P", + "MSMCAZR0121P", + "MSMCAZR0125P", + "MSMCAZR0128P", + "MSAZRDE0003P", + "MSAZRDE0044P" + ], + "description": "Offer code according to which cost estimation is done.", + "x-ms-enum": { + "name": "AzureOfferCode", + "modelAsString": true + } + }, + "azurePricingTier": { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "description": "Pricing tier for Size evaluation.", + "x-ms-enum": { + "name": "AzurePricingTier", + "modelAsString": true + } + }, + "azureStorageRedundancy": { + "type": "string", + "enum": [ + "Unknown", + "LocallyRedundant", + "ZoneRedundant", + "GeoRedundant", + "ReadAccessGeoRedundant" + ], + "description": "Storage Redundancy type offered by Azure.", + "x-ms-enum": { + "name": "AzureStorageRedundancy", + "modelAsString": true + } + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Scaling factor used over utilization data to add a performance buffer for new machines to be created in Azure. Min Value = 1.0, Max value = 1.9, Default = 1.3." + }, + "percentile": { + "type": "string", + "enum": [ + "Percentile50", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "description": "Percentile of performance data used to recommend Azure size.", + "x-ms-enum": { + "name": "Percentile", + "modelAsString": true + } + }, + "timeRange": { + "type": "string", + "enum": [ + "Day", + "Week", + "Month" + ], + "description": "Time range of performance data used to recommend a size.", + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true + } + }, + "stage": { + "type": "string", + "enum": [ + "InProgress", + "UnderReview", + "Approved" + ], + "description": "User configurable setting that describes the status of the assessment.", + "x-ms-enum": { + "name": "AssessmentStage", + "modelAsString": true + } + }, + "currency": { + "type": "string", + "enum": [ + "Unknown", + "USD", + "DKK", + "CAD", + "IDR", + "JPY", + "KRW", + "NZD", + "NOK", + "RUB", + "SAR", + "ZAR", + "SEK", + "TRY", + "GBP", + "MXN", + "MYR", + "INR", + "HKD", + "BRL", + "TWD", + "EUR", + "CHF", + "ARS", + "AUD", + "CNY" + ], + "description": "Currency to report prices in.", + "x-ms-enum": { + "name": "Currency", + "modelAsString": true + } + }, + "azureHybridUseBenefit": { + "type": "string", + "enum": [ + "Unknown", + "Yes", + "No" + ], + "description": "AHUB discount on windows virtual machines.", + "x-ms-enum": { + "name": "AzureHybridUseBenefit", + "modelAsString": true + } + }, + "discountPercentage": { + "type": "number", + "format": "double", + "description": "Custom discount percentage to be applied on final costs. Can be in the range [0, 100]." + }, + "confidenceRatingInPercentage": { + "type": "number", + "format": "double", + "description": "Confidence rating percentage for assessment. Can be in the range [0, 100].", + "default": "null", + "readOnly": true + }, + "sizingCriterion": { + "type": "string", + "enum": [ + "PerformanceBased", + "AsOnPremises" + ], + "description": "Assessment sizing criterion.", + "x-ms-enum": { + "name": "AssessmentSizingCriterion", + "modelAsString": true + } + }, + "pricesTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when the Azure Prices were queried. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "monthlyComputeCost": { + "type": "number", + "format": "double", + "description": "Monthly compute cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyBandwidthCost": { + "type": "number", + "format": "double", + "description": "Monthly network cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Monthly storage cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "status": { + "type": "string", + "enum": [ + "Created", + "Updated", + "Running", + "Completed", + "Invalid" + ], + "description": "Wheter the assessment has been created and is valid.", + "readOnly": true, + "x-ms-enum": { + "name": "AssessmentStatus", + "modelAsString": true + } + }, + "numberOfMachines": { + "type": "integer", + "format": "int32", + "description": "Number of assessed machines part of this assessment.", + "readOnly": true + } + } + }, + "Disk": { + "type": "object", + "description": "A disk discovered on a machine.", + "properties": { + "gigabytesProvisioned": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage provisioned for this disk.", + "readOnly": true + }, + "gigabytesConsumed": { + "format": "double", + "type": "number", + "description": "Gigabytes of storage consumed by this disk.", + "readOnly": true + } + } + }, + "NetworkAdapter": { + "type": "object", + "description": "A network adapter discovered on a machine.", + "properties": { + "macAddress": { + "type": "string", + "description": "MAC Address of the network adapter.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "description": "List of IP Addresses on the network adapter.", + "readOnly": true, + "items": { + "type": "string", + "description": "IP Address of the network adapter.", + "readOnly": true + } + } + } + }, + "Machine": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A machine in a migration project.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the machine. It is a GUID which is unique identifier of machine in private data center. For user-readable name, we have a displayName property on this machine.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/machines].", + "readOnly": true + }, + "properties": { + "description": "Properties of the machine.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineProperties" + } + } + }, + "MachineProperties": { + "type": "object", + "description": "Properties of a machine.", + "properties": { + "bootType": { + "type": "string", + "description": "Boot type of the machine.", + "enum": [ + "Unknown", + "EFI", + "BIOS" + ], + "readOnly": true, + "x-ms-enum": { + "name": "MachineBootType", + "modelAsString": true + } + }, + "datacenterContainer": { + "type": "string", + "description": "Container defined in the management solution that this machine is part of in the datacenter.", + "readOnly": true + }, + "datacenterManagementServer": { + "type": "string", + "description": "Name of the server hosting the datacenter management solution.", + "readOnly": true + }, + "datacenterMachineId": { + "type": "string", + "description": "ID of the machine as tracked by the datacenter management solution.", + "readOnly": true + }, + "datacenterManagementServerId": { + "type": "string", + "description": "ID of the server hosting the datacenter management solution.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the machine", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "User readable name of the machine as defined by the user in their private datacenter.", + "readOnly": true + }, + "megabytesOfMemory": { + "type": "number", + "description": "Memory in Megabytes.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "description": "Processor count.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "Operating System of the machine.", + "readOnly": true + }, + "groups": { + "type": "array", + "description": "List of references to the groups that the machine is member of.", + "readOnly": true, + "items": { + "type": "string", + "readOnly": true, + "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "discoveredTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Unique identifier of a disk.", + "readOnly": true + }, + "value": { + "description": "Disk object.", + "$ref": "#/definitions/Disk" + } + } + }, + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is ID of disk. Value is a network adapter object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Unique identifier of a network adapter.", + "readOnly": true + }, + "value": { + "description": "Network Adapter object.", + "$ref": "#/definitions/NetworkAdapter" + } + } + } + } + }, + "AssessedDisk": { + "type": "object", + "description": "A disk assessed for an assessment.", + "properties": { + "name": { + "type": "string", + "description": "Name of the assessed disk.", + "readOnly": true + }, + "gigabytesProvisioned": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage provisioned for this disk.", + "readOnly": true + }, + "gigabytesConsumed": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage consumed by this disk.", + "readOnly": true + }, + "megabytesPerSecondOfRead": { + "type": "number", + "format": "double", + "description": "Disk throughput in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondOfReadDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for MegaBytes per second of read.", + "default": null, + "readOnly": true + }, + "megabytesPerSecondOfReadDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for MegaBytes per second of read.", + "default": null, + "readOnly": true + }, + "megabytesPerSecondOfWrite": { + "type": "number", + "format": "double", + "description": "Disk throughput in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondOfWriteDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for MegaBytes per second of write.", + "default": null, + "readOnly": true + }, + "megabytesPerSecondOfWriteDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for MegaBytes per second of write.", + "default": null, + "readOnly": true + }, + "numberOfReadOperationsPerSecond": { + "type": "number", + "format": "double", + "description": "Number of read operations per second for the disk.", + "readOnly": true + }, + "numberOfReadOperationsPerSecondDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected number of data points for read operations per second.", + "default": null, + "readOnly": true + }, + "numberOfReadOperationsPerSecondDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received number of data points for read operations per second.", + "default": null, + "readOnly": true + }, + "numberOfWriteOperationsPerSecond": { + "type": "number", + "format": "double", + "description": "Number of read and write operations per second for the disk.", + "readOnly": true + }, + "numberOfWriteOperationsPerSecondDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected number of data points for write operations per second.", + "default": null, + "readOnly": true + }, + "numberOfWriteOperationsPerSecondDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received number of data points for write operations per second.", + "default": null, + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Estimated aggregate storage cost for a 31-day month for this disk.", + "readOnly": true + }, + "recommendedDiskType": { + "type": "string", + "enum": [ + "Unknown", + "Standard", + "Premium" + ], + "description": "Storage type selected for this disk.", + "x-ms-enum": { + "name": "AzureDiskType", + "modelAsString": true + }, + "readOnly": true + }, + "recommendedDiskSize": { + "type": "string", + "enum": [ + "Unknown", + "Standard_S4", + "Standard_S6", + "Standard_S10", + "Standard_S20", + "Standard_S30", + "Standard_S40", + "Standard_S50", + "Premium_P4", + "Premium_P6", + "Premium_P10", + "Premium_P20", + "Premium_P30", + "Premium_P40", + "Premium_P50" + ], + "description": "Recommended Azure size for the disk, given utilization data and preferences set on Assessment.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureDiskSize", + "modelAsString": true + } + }, + "gigabytesForRecommendedSize": { + "type": "integer", + "format": "int32", + "description": "Gigabytes of storage provided by the recommended Azure disk size.", + "readOnly": true + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable", + "ReadinessUnknown" + ], + "description": "Whether this disk is suitable for Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "DiskSizeGreaterThanSupported", + "NoSuitableDiskSizeForIops", + "NoSuitableDiskSizeForThroughput", + "NoDiskSizeFoundInSelectedLocation", + "NoDiskSizeFoundForSelectedRedundancy", + "InternalErrorOccurredForDiskEvaluation" + ], + "description": "If disk is suitable, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureDiskSuitabilityExplanation", + "modelAsString": true + } + } + } + }, + "AssessedNetworkAdapter": { + "type": "object", + "description": "A network adapter assessed for an assessment.", + "properties": { + "macAddress": { + "type": "string", + "description": "MAC Address of the network adapter.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "description": "List of IP Addresses on the network adapter.", + "readOnly": true, + "items": { + "type": "string", + "description": "IP Address of the network adapter.", + "readOnly": true + } + }, + "monthlyBandwidthCosts": { + "type": "number", + "format": "double", + "description": "Monthly cost estimate for network bandwidth used by this network adapter.", + "readOnly": true + }, + "megabytesPerSecondReceived": { + "type": "number", + "format": "double", + "description": "Adapter throughput for incoming traffic in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondReceivedDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for incoming traffic in MegaBytes per second.", + "default": null, + "readOnly": true + }, + "megabytesPerSecondOfReadDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for incoming traffic in MegaBytes per second.", + "default": null, + "readOnly": true + }, + "megabytesPerSecondTransmitted": { + "type": "number", + "format": "double", + "description": "Adapter throughput for outgoing traffic in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondTransmittedDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for outgoing traffic in MegaBytes per second.", + "default": null, + "readOnly": true + }, + "megabytesPerSecondTransmittedDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for outgoing traffic in MegaBytes per second.", + "default": null, + "readOnly": true + }, + "netGigabytesTransmittedPerMonth": { + "type": "number", + "format": "double", + "description": "Gigabytes transmitted through this adapter each month." + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable", + "ReadinessUnknown" + ], + "description": "Whether this adapter is suitable for Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "InternalErrorOccured" + ], + "description": "If network adapter is suitable, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureNetworkAdapterSuitabilityExplanation", + "modelAsString": true + } + } + } + }, + "AssessedMachine": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A machine evaluated as part of an assessment.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this assessed machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the machine.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments/assessedMachines].", + "readOnly": true + }, + "properties": { + "description": "Properties of an assessed machine.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssessedMachineProperties" + } + } + }, + "AssessedMachineProperties": { + "type": "object", + "description": "Properties of an assessed machine.", + "properties": { + "groups": { + "type": "array", + "description": "List of references to the groups that the machine is member of.", + "readOnly": true, + "items": { + "type": "string", + "readOnly": true, + "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" + } + }, + "discoveredTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "bootType": { + "type": "string", + "description": "Boot type of the machine.", + "enum": [ + "Unknown", + "EFI", + "BIOS" + ], + "readOnly": true, + "x-ms-enum": { + "name": "MachineBootType", + "modelAsString": true + } + }, + "datacenterContainer": { + "type": "string", + "description": "Container defined in the management solution that this machine is part of in the datacenter.", + "readOnly": true + }, + "datacenterManagementServer": { + "type": "string", + "description": "Name of the server hosting the datacenter management solution.", + "readOnly": true + }, + "datacenterMachineId": { + "type": "string", + "description": "ID of the machine as tracked by the datacenter management solution.", + "readOnly": true + }, + "datacenterManagementServerId": { + "type": "string", + "description": "ID of the server hosting the datacenter management solution.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the machine", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "User readable name of the machine as defined by the user in their private datacenter.", + "readOnly": true + }, + "megabytesOfMemory": { + "type": "number", + "format": "double", + "description": "Memory in Megabytes.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "format": "int32", + "description": "Processor count.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "Operating System of the machine.", + "readOnly": true + }, + "monthlyBandwidthCost": { + "type": "number", + "format": "double", + "description": "Monthly network cost estimate for the network adapters that are attached to this machine as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Monthly storage cost estimate for the disks that are attached to this machine as a group, for a 31-day month.", + "readOnly": true + }, + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Name of the disk.", + "readOnly": true + }, + "value": { + "description": "Assessed Disk object.", + "$ref": "#/definitions/AssessedDisk" + } + } + }, + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Name of the network adapter.", + "readOnly": true + }, + "value": { + "description": "Assessed Network Adapter object.", + "$ref": "#/definitions/AssessedNetworkAdapter" + } + } + }, + "recommendedSize": { + "type": "string", + "enum": [ + "Unknown", + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s" + ], + "description": "Recommended Azure size for this machine.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureVmSize", + "modelAsString": true + } + }, + "numberOfCoresForRecommendedSize": { + "type": "integer", + "format": "int32", + "description": "Number of CPU cores in the Recommended Azure VM Size.", + "readOnly": true + }, + "megabytesOfMemoryForRecommendedSize": { + "type": "number", + "format": "double", + "description": "Megabytes of memory in the Recommended Azure VM Size.", + "readOnly": true + }, + "monthlyComputeCostForRecommendedSize": { + "type": "number", + "format": "double", + "description": "Compute Cost for a 31-day month, if the machine is migrated to Azure with the Recommended Size.", + "readOnly": true + }, + "percentageCoresUtilization": { + "type": "number", + "format": "double", + "description": "Utilization percentage of the processor core as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", + "readOnly": true + }, + "percentageMemoryUtilization": { + "type": "number", + "format": "double", + "description": "Utilization percentage of the memory as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", + "readOnly": true + }, + "percentageCoresUtilizationDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for percentage of cores utilization.", + "default": null, + "readOnly": true + }, + "percentageCoresUtilizationDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for percentage of cores utilization.", + "default": null, + "readOnly": true + }, + "percentageMemoryUtilizationDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for percentage of memory utilization.", + "default": null, + "readOnly": true + }, + "percentageMemoryUtilizationDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for percentage of memory utilization.", + "default": null, + "readOnly": true + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable", + "ReadinessUnknown" + ], + "description": "Whether machine is suitable for migration to Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "GuestOperatingSystemArchitectureNotSupported", + "GuestOperatingSystemNotSupported", + "BootTypeNotSupported", + "MoreDisksThanSupported", + "NoSuitableVmSizeFound", + "OneOrMoreDisksNotSuitable", + "OneOrMoreAdaptersNotSuitable", + "InternalErrorOccuredDuringComputeEvaluation", + "InternalErrorOccuredDuringStorageEvaluation", + "InternalErrorOccuredDuringNetworkEvaluation", + "NoVmSizeSupportsStoragePerformance", + "NoVmSizeSupportsNetworkPerformance", + "NoVmSizeForSelectedPricingTier", + "NoVmSizeForSelectedAzureLocation", + "CheckRedHatLinuxVersion", + "CheckOpenSuseLinuxVersion", + "CheckWindowsServer2008R2Version", + "CheckCentOsVersion", + "CheckDebianLinuxVersion", + "CheckSuseLinuxVersion", + "CheckOracleLinuxVersion", + "CheckUbuntuLinuxVersion", + "CheckCoreOsLinuxVersion", + "WindowsServerVersionConditionallySupported", + "NoGuestOperatingSystemConditionallySupported", + "WindowsClientVersionsConditionallySupported", + "BootTypeUnknown", + "GuestOperatingSystemUnknown", + "WindowsServerVersionsSupportedWithCaveat", + "WindowsOSNoLongerUnderMSSupport", + "EndorsedWithConditionsLinuxDistributions", + "UnendorsedLinuxDistributions", + "NoVmSizeForStandardPricingTier", + "NoVmSizeForBasicPricingTier" + ], + "description": "If machine is not ready to be migrated, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureVmSuitabilityExplanation", + "modelAsString": true + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + } + } + }, + "ProjectKey": { + "type": "object", + "x-ms-azure-resource": true, + "description": "ID and Key for Migration Project.", + "properties": { + "workspaceId": { + "type": "string", + "description": "ID of Migration Project.", + "readOnly": true + }, + "workspaceKey": { + "type": "string", + "description": "Key of Migration Project.", + "readOnly": true + } + } + }, + "Operation": { + "type": "object", + "description": "A REST API operation supported by the provider.", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation.", + "readOnly": true + }, + "display": { + "type": "object", + "description": "Displayable properties of the operation.", + "readOnly": true, + "properties": { + "provider": { + "type": "string", + "description": "Provider of the operation.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "Resource operated on by the operation.", + "readOnly": true + }, + "operation": { + "type": "string", + "description": "Operation Type.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the operation.", + "readOnly": true + } + } + }, + "origin": { + "type": "string", + "description": "Origin of the operation.", + "readOnly": true + } + } + }, + "DownloadUrl": { + "type": "object", + "description": "Download URL for assessment report.", + "properties": { + "assessmentReportUrl": { + "type": "string", + "description": "Hyperlink to download report.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "description": "Expiry date of download url.", + "readOnly": true + } + } + }, + "ProjectResultList": { + "type": "object", + "description": "List of projects.", + "properties": { + "value": { + "type": "array", + "description": "List of projects.", + "items": { + "$ref": "#/definitions/Project" + } + } + } + }, + "MachineResultList": { + "type": "object", + "description": "List of machines.", + "properties": { + "value": { + "type": "array", + "description": "List of machines.", + "items": { + "$ref": "#/definitions/Machine" + } + } + } + }, + "GroupResultList": { + "type": "object", + "description": "List of groups.", + "properties": { + "value": { + "type": "array", + "description": "List of groups.", + "items": { + "$ref": "#/definitions/Group" + } + } + } + }, + "AssessedMachineResultList": { + "type": "object", + "description": "List of assessed machines.", + "properties": { + "value": { + "description": "List of assessed machines.", + "type": "array", + "items": { + "$ref": "#/definitions/AssessedMachine" + } + } + } + }, + "AssessmentResultList": { + "type": "object", + "description": "List of assessments.", + "properties": { + "value": { + "type": "array", + "description": "List of assessments.", + "items": { + "$ref": "#/definitions/Assessment" + } + } + } + }, + "OperationResultList": { + "type": "object", + "description": "List of API operations.", + "properties": { + "value": { + "type": "array", + "description": "List of operations.", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all projects.", + "description": "Get all the projects in the resource group.", + "operationId": "Projects_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ProjectResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription or resource group)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Projects_List": { + "$ref": "./examples/Projects_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get the specified project.", + "description": "Get the project with the specified name.", + "operationId": "GetProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetProject": { + "$ref": "./examples/GetProject.json" + } + } + }, + "put": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Create or update project.", + "description": "Create a project with specified name. If a project already exists, update it.", + "operationId": "CreateProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/contentType" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "name": "project", + "description": "New or Updated project object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing project updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "201": { + "description": "Created. New project was created.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "400": { + "description": "Bad Request (Read only settings of an existing project cannot be changed)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "CreateProject": { + "$ref": "./examples/CreateProject.json" + } + } + }, + "patch": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Update project.", + "description": "Update a project with specified name. Supports partial updates, for example only tags can be provided.", + "operationId": "UpdateProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/contentType" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "name": "project", + "description": "Updated project object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing project updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Project" + } + }, + "400": { + "description": "Bad Request (Read only settings of an existing project cannot be changed)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, or nestName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "UpdateProject": { + "$ref": "./examples/UpdateProject.json" + } + } + }, + "delete": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Delete the project", + "description": "Delete the project. Deleting non-existent project is a no-operation.", + "operationId": "DeleteProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "responses": { + "200": { + "description": "OK. Deleted the group.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content. No project with specified name was found." + }, + "400": { + "description": "Bad request. (Invalid subscriptionId or resourceGroupName)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)" + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DeleteProject": { + "$ref": "./examples/DeleteProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys": { + "post": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get shared keys for the project.", + "description": "Gets the Log Analytics Workspace ID and Primary Key for the specified project.", + "operationId": "KeysPost", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/ProjectKey" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "KeysPost": { + "$ref": "./examples/KeysPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all machines in the project", + "description": "Get data of all the machines available in the project. Returns a json array of objects of type 'machine' defined in Models section.", + "operationId": "Machines_ListByProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of all machine objects.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/MachineResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Machines_ListByProject": { + "$ref": "./examples/Machines_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get a specific machine.", + "description": "Get the machine with the specified name. Returns a json object of type 'machine' defined in Models section.", + "operationId": "GetMachine", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/machineName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns the machine with the specified name.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Machine" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or machineName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetMachine": { + "$ref": "./examples/GetMachine.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all groups", + "description": "Get all groups created in the project. Returns a json array of objects of type 'group' as specified in the Models section.", + "operationId": "Groups_ListByProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of groups.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/GroupResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Groups_ListByProject": { + "$ref": "./examples/Groups_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get a specific group.", + "description": "Get information related to a specific group in the project. Returns a json object of type 'group' as specified in the models section.", + "operationId": "GetGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns the group with the specified name.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Group" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or groupName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetGroup": { + "$ref": "./examples/GetGroup.json" + } + } + }, + "put": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Create a new group with specified settings. If group with the name provided already exists, then the existing group is updated.", + "description": "Create a new group by sending a json object of type 'group' as given in Models section as part of the Request Body. The group name in a project is unique. Labels can be applied on a group as part of creation.\n\nIf a group with the groupName specified in the URL already exists, then this call acts as an update.\n\nThis operation is Idempotent.\n", + "operationId": "CreateGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/contentType" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "group", + "description": "New or Updated Group object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Group" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing group updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Group" + } + }, + "201": { + "description": "Created. New group was created.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Group" + } + }, + "400": { + "description": "Bad Request (Read only settings of an existing group cannot be changed)." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "CreateGroup": { + "$ref": "./examples/CreateGroup.json" + } + } + }, + "delete": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Delete the group", + "description": "Delete the group from the project. The machines remain in the project. Deleting a non-existent group results in a no-operation.\n\nA group is an aggregation mechanism for machines in a project. Therefore, deleting group does not delete machines in it.\n", + "operationId": "DeleteGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Deleted the group.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content. No group with specified name was found." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)" + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName)" + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DeleteGroup": { + "$ref": "./examples/DeleteGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all assessments created for the specified group.", + "description": "Get all assessments created for the specified group.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", + "operationId": "Assessments_ListByGroup", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of Assessment objects.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessmentResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, assessmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Assessments_ListByGroup": { + "$ref": "./examples/Assessments_ListByGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get all assessments created in the project.", + "description": "Get all assessments created in the project.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", + "operationId": "Assessments_ListByProject", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of Assessment objects.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessmentResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, assessmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "Assessments_ListByProject": { + "$ref": "./examples/Assessments_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get an assessment.", + "description": "Get an existing assessment with the specified name. Returns a json object of type 'assessment' as specified in Models section.", + "operationId": "GetAssessment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns Assessment object.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Assessment" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or assesmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetAssessment": { + "$ref": "./examples/GetAssessment.json" + } + } + }, + "put": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Create or Update assessment.", + "description": "Create a new assessment with the given name and the specified settings. Since name of an assessment in a project is a unique identiefier, if an assessment with the name provided already exists, then the existing assessment is updated.\n\nAny PUT operation, resulting in either create or update on an assessment, will cause the assessment to go in a \"InProgress\" state. This will be indicated by the field 'computationState' on the Assessment object. During this time no other PUT operation will be allowed on that assessment object, nor will a Delete operation. Once the computation for the assessment is complete, the field 'computationState' will be updated to 'Ready', and then other PUT or DELETE operations can happen on the assessment.\n\nWhen assessment is under computation, any PUT will lead to a 400 - Bad Request error.\n", + "operationId": "CreateAssessment", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "name": "assessment", + "description": "New or Updated Assessment object.", + "in": "body", + "schema": { + "$ref": "#/definitions/Assessment" + } + } + ], + "responses": { + "200": { + "description": "OK. Existing assessment updated.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Assessment" + } + }, + "201": { + "description": "Created. New assessment was created.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/Assessment" + } + }, + "400": { + "description": "Bad Request. Assessment is under computation and cannot be updated yet." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "CreateAssessment": { + "$ref": "./examples/CreateAssessment.json" + } + } + }, + "delete": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Deletes an assessment from the project.", + "description": "Delete an assessment from the project. The machines remain in the assessment. Deleting a non-existent assessment results in a no-operation.\n\nWhen an assessment is under computation, as indicated by the 'computationState' field, it cannot be deleted. Any such attempt will return a 400 - Bad Request.\n", + "operationId": "DeleteAssessment", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Deleted the assessment.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + } + }, + "204": { + "description": "No content. No assessment with specified name was found." + }, + "400": { + "description": "Bad Request. Assessment is under computation and cannot be deleted yet." + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)" + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DeleteAssessment": { + "$ref": "./examples/DeleteAssessment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl": { + "post": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get download URL for the assessment report.", + "description": "Get the URL for downloading the assessment in a report format.", + "operationId": "DownloadUrlPost", + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "$ref": "#/parameters/acceptLanguage" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/DownloadUrl" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "DownloadUrlPost": { + "$ref": "./examples/DownloadUrlPost.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get assessed machines for assessment.", + "description": "Get list of machines that assessed as part of the specified assessment. Returns a json array of objects of type 'assessedMachine' as specified in the Models section.\n\nWhenever an assessment is created or updated, it goes under computation. During this phase, the 'status' field of Assessment object reports 'Computing'.\nDuring the period when the assessment is under computation, the list of assessed machines is empty and no assessed machines are returned by this call.\n", + "operationId": "AssessedMachines_ListByAssessment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns list of machines with their assessment data in the assessment.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessedMachineResultList" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, or assessmentName)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "AssessedMachines_ListByAssessment": { + "$ref": "./examples/AssessedMachines_ListByAssessment.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}": { + "get": { + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "summary": "Get an assessed machine.", + "description": "Get an assessed machine with its size & cost estimnate that was evaluated in the specified assessment.", + "operationId": "GetAssessedMachine", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/projectName" + }, + { + "$ref": "#/parameters/groupName" + }, + { + "$ref": "#/parameters/assessmentName" + }, + { + "$ref": "#/parameters/assessedMachineName" + }, + { + "$ref": "#/parameters/acceptLanguage" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "OK. Returns a specific assessed machine.", + "headers": { + "x-ms-request-id": { + "type": "string", + "description": "Service generated Request ID." + } + }, + "schema": { + "$ref": "#/definitions/AssessedMachine" + } + }, + "401": { + "description": "Not authorized (No access to subscription, resource group, or project)." + }, + "404": { + "description": "Not found (Invalid subscriptionId, resourceGroupName, projectName, groupName, assessmentName, or machineId)." + }, + "500": { + "description": "Internal Server Error." + }, + "503": { + "description": "Service Unavailable." + } + }, + "x-ms-examples": { + "GetAssessedMachine": { + "$ref": "./examples/GetAssessedMachine.json" + } + } + } + }, + "/providers/Microsoft.Migrate/operations": { + "get": { + "summary": "Get list of operations supported in the API.", + "description": "Get a list of REST API supported by Microsoft.Migrate provider.", + "operationId": "Operations_list", + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "OK. Returns list of operations.", + "schema": { + "$ref": "#/definitions/OperationResultList" + } + } + }, + "x-ms-examples": { + "Operations_list": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + } +} \ No newline at end of file diff --git a/specification/migrate/resource-manager/readme.md b/specification/migrate/resource-manager/readme.md new file mode 100644 index 000000000000..4570a7c09e50 --- /dev/null +++ b/specification/migrate/resource-manager/readme.md @@ -0,0 +1,38 @@ +# Azure Migrate + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Azure Migrate. + +--- +## Getting Started +To build the SDK for Migrate, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: + +> `autorest` + +To see additional help and options, run: + +> `autorest --help` +--- + +## Configuration + + + +### Basic Information +These are the global settings for the API. + +``` yaml +openapi-type: arm +tag: package-2018-02 +``` + + +### Tag: package-2018-02 + +These settings apply only when `--tag=package-2018-02` is specified on the command line. + +``` yaml $(tag) == 'package-2018-02' +input-file: +- Microsoft.Migrate/2018-02-02/migrate.json +``` \ No newline at end of file From 524b148a7ea5400ffc0f40f8c5abc0deddfeb3ba Mon Sep 17 00:00:00 2001 From: ronehr Date: Tue, 13 Feb 2018 18:02:30 +0530 Subject: [PATCH 2/4] Resolving PR comments and semantic errors --- ...Machine.json => AssessedMachines_Get.json} | 0 ...ssessment.json => Assessments_Create.json} | 0 ...ssessment.json => Assessments_Delete.json} | 0 ...etAssessment.json => Assessments_Get.json} | 0 ... => Assessments_GetReportDownloadUrl.json} | 0 .../{CreateGroup.json => Groups_Create.json} | 0 .../{DeleteGroup.json => Groups_Delete.json} | 0 .../{GetGroup.json => Groups_Get.json} | 0 .../{GetMachine.json => Machines_Get.json} | 0 ...reateProject.json => Projects_Create.json} | 0 ...eleteProject.json => Projects_Delete.json} | 0 .../{GetProject.json => Projects_Get.json} | 0 .../{KeysPost.json => Projects_GetKeys.json} | 0 ...pdateProject.json => Projects_Update.json} | 0 .../2017-11-11-preview/migrate.json | 366 +- ...Machine.json => AssessedMachines_Get.json} | 0 ...ssessment.json => Assessments_Create.json} | 0 ...ssessment.json => Assessments_Delete.json} | 0 ...etAssessment.json => Assessments_Get.json} | 0 ... => Assessments_GetReportDownloadUrl.json} | 0 .../{CreateGroup.json => Groups_Create.json} | 0 .../{DeleteGroup.json => Groups_Delete.json} | 0 .../{GetGroup.json => Groups_Get.json} | 0 .../{GetMachine.json => Machines_Get.json} | 0 ...reateProject.json => Projects_Create.json} | 0 ...eleteProject.json => Projects_Delete.json} | 0 .../{GetProject.json => Projects_Get.json} | 0 .../{KeysPost.json => Projects_GetKeys.json} | 0 ...pdateProject.json => Projects_Update.json} | 0 .../Microsoft.Migrate/2018-02-02/migrate.json | 3122 ++++++++--------- 30 files changed, 1580 insertions(+), 1908 deletions(-) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{GetAssessedMachine.json => AssessedMachines_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{CreateAssessment.json => Assessments_Create.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{DeleteAssessment.json => Assessments_Delete.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{GetAssessment.json => Assessments_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{DownloadUrlPost.json => Assessments_GetReportDownloadUrl.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{CreateGroup.json => Groups_Create.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{DeleteGroup.json => Groups_Delete.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{GetGroup.json => Groups_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{GetMachine.json => Machines_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{CreateProject.json => Projects_Create.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{DeleteProject.json => Projects_Delete.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{GetProject.json => Projects_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{KeysPost.json => Projects_GetKeys.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/{UpdateProject.json => Projects_Update.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{GetAssessedMachine.json => AssessedMachines_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{CreateAssessment.json => Assessments_Create.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{DeleteAssessment.json => Assessments_Delete.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{GetAssessment.json => Assessments_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{DownloadUrlPost.json => Assessments_GetReportDownloadUrl.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{CreateGroup.json => Groups_Create.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{DeleteGroup.json => Groups_Delete.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{GetGroup.json => Groups_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{GetMachine.json => Machines_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{CreateProject.json => Projects_Create.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{DeleteProject.json => Projects_Delete.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{GetProject.json => Projects_Get.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{KeysPost.json => Projects_GetKeys.json} (100%) rename specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/{UpdateProject.json => Projects_Update.json} (100%) diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessedMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/AssessedMachines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessedMachine.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/AssessedMachines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DownloadUrlPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_GetReportDownloadUrl.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DownloadUrlPost.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Assessments_GetReportDownloadUrl.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Groups_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Machines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetMachine.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Machines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/CreateProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/DeleteProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/GetProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/KeysPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_GetKeys.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/KeysPost.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_GetKeys.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/UpdateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Update.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/UpdateProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/examples/Projects_Update.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json index 23fe315d1558..8438c704e92a 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json @@ -85,12 +85,6 @@ "2017-11-11-preview" ] }, - "contentType": { - "name": "Content-Type", - "description": "Standard request header. Used by service to identify format of client's request body.", - "type": "string", - "in": "header" - }, "acceptLanguage": { "description": "Standard request header. Used by service to respond to client in appropriate language.", "name": "Accept-Language", @@ -109,6 +103,13 @@ } } }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], "definitions": { "Project": { "type": "object", @@ -1378,6 +1379,33 @@ } } }, + "OperationDisplay": { + "type": "object", + "description": "Displayable properties of the operation.", + "readOnly": true, + "properties": { + "provider": { + "type": "string", + "description": "Provider of the operation.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "Resource operated on by the operation.", + "readOnly": true + }, + "operation": { + "type": "string", + "description": "Operation Type.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the operation.", + "readOnly": true + } + } + }, "Operation": { "type": "object", "description": "A REST API operation supported by the provider.", @@ -1388,31 +1416,8 @@ "readOnly": true }, "display": { - "type": "object", "description": "Displayable properties of the operation.", - "readOnly": true, - "properties": { - "provider": { - "type": "string", - "description": "Provider of the operation.", - "readOnly": true - }, - "resource": { - "type": "string", - "description": "Resource operated on by the operation.", - "readOnly": true - }, - "operation": { - "type": "string", - "description": "Operation Type.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "Description of the operation.", - "readOnly": true - } - } + "$ref": "#/definitions/OperationDisplay" }, "origin": { "type": "string", @@ -1432,6 +1437,7 @@ }, "expirationTime": { "type": "string", + "format": "date-time", "description": "Expiry date of download url.", "readOnly": true } @@ -1519,13 +1525,6 @@ "paths": { "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all projects.", "description": "Get all the projects in the resource group.", "operationId": "Projects_List", @@ -1543,9 +1542,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -1572,6 +1568,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Projects_List": { "$ref": "./examples/Projects_List.json" @@ -1581,16 +1580,9 @@ }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get the specified project.", "description": "Get the project with the specified name.", - "operationId": "GetProject", + "operationId": "Projects_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1608,9 +1600,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -1638,22 +1627,15 @@ } }, "x-ms-examples": { - "GetProject": { - "$ref": "./examples/GetProject.json" + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" } } }, "put": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Create or update project.", "description": "Create a project with specified name. If a project already exists, update it.", - "operationId": "CreateProject", + "operationId": "Projects_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1667,9 +1649,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/contentType" - }, { "$ref": "#/parameters/acceptLanguage" }, @@ -1721,22 +1700,15 @@ } }, "x-ms-examples": { - "CreateProject": { - "$ref": "./examples/CreateProject.json" + "Projects_Create": { + "$ref": "./examples/Projects_Create.json" } } }, "patch": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Update project.", "description": "Update a project with specified name. Supports partial updates, for example only tags can be provided.", - "operationId": "UpdateProject", + "operationId": "Projects_Update", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1750,9 +1722,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/contentType" - }, { "$ref": "#/parameters/acceptLanguage" }, @@ -1795,22 +1764,15 @@ } }, "x-ms-examples": { - "UpdateProject": { - "$ref": "./examples/UpdateProject.json" + "Projects_Update": { + "$ref": "./examples/Projects_Update.json" } } }, "delete": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Delete the project", "description": "Delete the project. Deleting non-existent project is a no-operation.", - "operationId": "DeleteProject", + "operationId": "Projects_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1855,24 +1817,17 @@ } }, "x-ms-examples": { - "DeleteProject": { - "$ref": "./examples/DeleteProject.json" + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys": { "post": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get shared keys for the project.", "description": "Gets the Log Analytics Workspace ID and Primary Key for the specified project.", - "operationId": "KeysPost", + "operationId": "Projects_GetKeys", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1890,9 +1845,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -1920,21 +1872,14 @@ } }, "x-ms-examples": { - "KeysPost": { - "$ref": "./examples/KeysPost.json" + "Projects_GetKeys": { + "$ref": "./examples/Projects_GetKeys.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all machines in the project", "description": "Get data of all the machines available in the project. Returns a json array of objects of type 'machine' defined in Models section.", "operationId": "Machines_ListByProject", @@ -1955,9 +1900,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of all machine objects.", @@ -1984,6 +1926,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Machines_ListByProject": { "$ref": "./examples/Machines_ListByProject.json" @@ -1993,16 +1938,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get a specific machine.", "description": "Get the machine with the specified name. Returns a json object of type 'machine' defined in Models section.", - "operationId": "GetMachine", + "operationId": "Machines_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2023,9 +1961,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns the machine with the specified name.", @@ -2053,21 +1988,14 @@ } }, "x-ms-examples": { - "GetMachine": { - "$ref": "./examples/GetMachine.json" + "Machines_Get": { + "$ref": "./examples/Machines_Get.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all groups", "description": "Get all groups created in the project. Returns a json array of objects of type 'group' as specified in the Models section.", "operationId": "Groups_ListByProject", @@ -2088,9 +2016,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of groups.", @@ -2117,6 +2042,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Groups_ListByProject": { "$ref": "./examples/Groups_ListByProject.json" @@ -2126,19 +2054,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get a specific group.", "description": "Get information related to a specific group in the project. Returns a json object of type 'group' as specified in the models section.", - "operationId": "GetGroup", - "produces": [ - "application/json" - ], + "operationId": "Groups_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2186,22 +2104,15 @@ } }, "x-ms-examples": { - "GetGroup": { - "$ref": "./examples/GetGroup.json" + "Groups_Get": { + "$ref": "./examples/Groups_Get.json" } } }, "put": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Create a new group with specified settings. If group with the name provided already exists, then the existing group is updated.", "description": "Create a new group by sending a json object of type 'group' as given in Models section as part of the Request Body. The group name in a project is unique. Labels can be applied on a group as part of creation.\n\nIf a group with the groupName specified in the URL already exists, then this call acts as an update.\n\nThis operation is Idempotent.\n", - "operationId": "CreateGroup", + "operationId": "Groups_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2215,9 +2126,6 @@ { "$ref": "#/parameters/groupName" }, - { - "$ref": "#/parameters/contentType" - }, { "$ref": "#/parameters/acceptLanguage" }, @@ -2272,22 +2180,15 @@ } }, "x-ms-examples": { - "CreateGroup": { - "$ref": "./examples/CreateGroup.json" + "Groups_Create": { + "$ref": "./examples/Groups_Create.json" } } }, "delete": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Delete the group", "description": "Delete the group from the project. The machines remain in the project. Deleting a non-existent group results in a no-operation.\n\nA group is an aggregation mechanism for machines in a project. Therefore, deleting group does not delete machines in it.\n", - "operationId": "DeleteGroup", + "operationId": "Groups_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2335,21 +2236,14 @@ } }, "x-ms-examples": { - "DeleteGroup": { - "$ref": "./examples/DeleteGroup.json" + "Groups_Delete": { + "$ref": "./examples/Groups_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all assessments created for the specified group.", "description": "Get all assessments created for the specified group.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", "operationId": "Assessments_ListByGroup", @@ -2373,9 +2267,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of Assessment objects.", @@ -2402,6 +2293,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Assessments_ListByGroup": { "$ref": "./examples/Assessments_ListByGroup.json" @@ -2411,13 +2305,6 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all assessments created in the project.", "description": "Get all assessments created in the project.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", "operationId": "Assessments_ListByProject", @@ -2438,9 +2325,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of Assessment objects.", @@ -2467,6 +2351,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Assessments_ListByProject": { "$ref": "./examples/Assessments_ListByProject.json" @@ -2476,19 +2363,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get an assessment.", "description": "Get an existing assessment with the specified name. Returns a json object of type 'assessment' as specified in Models section.", - "operationId": "GetAssessment", - "produces": [ - "application/json" - ], + "operationId": "Assessments_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2539,22 +2416,15 @@ } }, "x-ms-examples": { - "GetAssessment": { - "$ref": "./examples/GetAssessment.json" + "Assessments_Get": { + "$ref": "./examples/Assessments_Get.json" } } }, "put": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Create or Update assessment.", "description": "Create a new assessment with the given name and the specified settings. Since name of an assessment in a project is a unique identiefier, if an assessment with the name provided already exists, then the existing assessment is updated.\n\nAny PUT operation, resulting in either create or update on an assessment, will cause the assessment to go in a \"InProgress\" state. This will be indicated by the field 'computationState' on the Assessment object. During this time no other PUT operation will be allowed on that assessment object, nor will a Delete operation. Once the computation for the assessment is complete, the field 'computationState' will be updated to 'Ready', and then other PUT or DELETE operations can happen on the assessment.\n\nWhen assessment is under computation, any PUT will lead to a 400 - Bad Request error.\n", - "operationId": "CreateAssessment", + "operationId": "Assessments_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2625,22 +2495,15 @@ } }, "x-ms-examples": { - "CreateAssessment": { - "$ref": "./examples/CreateAssessment.json" + "Assessments_Create": { + "$ref": "./examples/Assessments_Create.json" } } }, "delete": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Deletes an assessment from the project.", "description": "Delete an assessment from the project. The machines remain in the assessment. Deleting a non-existent assessment results in a no-operation.\n\nWhen an assessment is under computation, as indicated by the 'computationState' field, it cannot be deleted. Any such attempt will return a 400 - Bad Request.\n", - "operationId": "DeleteAssessment", + "operationId": "Assessments_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2691,24 +2554,17 @@ } }, "x-ms-examples": { - "DeleteAssessment": { - "$ref": "./examples/DeleteAssessment.json" + "Assessments_Delete": { + "$ref": "./examples/Assessments_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl": { "post": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get download URL for the assessment report.", "description": "Get the URL for downloading the assessment in a report format.", - "operationId": "DownloadUrlPost", + "operationId": "Assessments_GetReportDownloadUrl", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2732,9 +2588,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -2762,27 +2615,17 @@ } }, "x-ms-examples": { - "DownloadUrlPost": { - "$ref": "./examples/DownloadUrlPost.json" + "Assessments_GetReportDownloadUrl": { + "$ref": "./examples/Assessments_GetReportDownloadUrl.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get assessed machines for assessment.", "description": "Get list of machines that assessed as part of the specified assessment. Returns a json array of objects of type 'assessedMachine' as specified in the Models section.\n\nWhenever an assessment is created or updated, it goes under computation. During this phase, the 'status' field of Assessment object reports 'Computing'.\nDuring the period when the assessment is under computation, the list of assessed machines is empty and no assessed machines are returned by this call.\n", "operationId": "AssessedMachines_ListByAssessment", - "produces": [ - "application/json" - ], "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2832,6 +2675,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "AssessedMachines_ListByAssessment": { "$ref": "./examples/AssessedMachines_ListByAssessment.json" @@ -2841,19 +2687,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get an assessed machine.", "description": "Get an assessed machine with its size & cost estimnate that was evaluated in the specified assessment.", - "operationId": "GetAssessedMachine", - "produces": [ - "application/json" - ], + "operationId": "AssessedMachines_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2907,8 +2743,8 @@ } }, "x-ms-examples": { - "GetAssessedMachine": { - "$ref": "./examples/GetAssessedMachine.json" + "AssessedMachines_Get": { + "$ref": "./examples/AssessedMachines_Get.json" } } } @@ -2917,10 +2753,7 @@ "get": { "summary": "Get list of operations supported in the API.", "description": "Get a list of REST API supported by Microsoft.Migrate provider.", - "operationId": "Operations_list", - "produces": [ - "application/json" - ], + "operationId": "Operations_List", "responses": { "200": { "description": "OK. Returns list of operations.", @@ -2929,8 +2762,11 @@ } } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { - "Operations_list": { + "Operations_List": { "$ref": "./examples/Operations_List.json" } } diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessedMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/AssessedMachines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessedMachine.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/AssessedMachines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessment.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetAssessment.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DownloadUrlPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_GetReportDownloadUrl.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DownloadUrlPost.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Assessments_GetReportDownloadUrl.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetGroup.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetGroup.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Groups_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetMachine.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Machines_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetMachine.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Machines_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Create.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/CreateProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Create.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Delete.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/DeleteProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Delete.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Get.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/GetProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Get.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/KeysPost.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_GetKeys.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/KeysPost.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_GetKeys.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/UpdateProject.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Update.json similarity index 100% rename from specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/UpdateProject.json rename to specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/examples/Projects_Update.json diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json index bde60ad98d22..fe7ff9910923 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json @@ -85,12 +85,6 @@ "2018-02-02" ] }, - "contentType": { - "name": "Content-Type", - "description": "Standard request header. Used by service to identify format of client's request body.", - "type": "string", - "in": "header" - }, "acceptLanguage": { "description": "Standard request header. Used by service to respond to client in appropriate language.", "name": "Accept-Language", @@ -109,6 +103,13 @@ } } }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], "definitions": { "Project": { "type": "object", @@ -192,7 +193,7 @@ "type": "string", "format": "date-time", "description": "Time when this project was created. Date-Time represented in ISO-8601 format. This value will be null until discovery is complete.", - "default": "null", + "x-nullable": true, "readOnly": true }, "lastDiscoverySessionId": { @@ -222,7 +223,7 @@ "type": "string", "format": "date-time", "description": "Time when last assessment was created. Date-Time represented in ISO-8601 format. This value will be null until assessment is created.", - "default": "null", + "x-nullable": true, "readOnly": true }, "provisioningState": { @@ -243,1470 +244,1468 @@ } } }, - "Group": { - "type": "object", - "x-ms-azure-resource": true, - "description": "A group created in a Migration project.", - "required": [ - "properties" - ], + "Group": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A group created in a Migration project.", + "required": [ + "properties" + ], + "properties": { + "id": { + "description": "Path reference to this group. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the group.", + "type": "string", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups].", + "readOnly": true + }, "properties": { - "id": { - "description": "Path reference to this group. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}", - "type": "string", - "readOnly": true - }, - "name": { - "description": "Name of the group.", - "type": "string", - "readOnly": true - }, - "eTag": { - "type": "string", - "description": "For optimistic concurrency control." - }, - "type": { - "type": "string", - "description": "Type of the object = [Microsoft.Migrate/projects/groups].", - "readOnly": true - }, - "properties": { - "description": "Properties of the group.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/GroupProperties" - } + "description": "Properties of the group.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/GroupProperties" } - }, - "GroupProperties": { - "type": "object", - "description": "Properties of group resource.", - "required": [ - "machines" - ], - "properties": { - "machines": { - "type": "array", - "description": "List of machine names that are part of this group.", - "items": { - "type": "string", - "description": "Reference to a machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}" - } - }, - "assessments": { - "type": "array", - "description": "List of References to Assessments created on this group.", - "readOnly": true, - "items": { - "type": "string", - "description": "Reference to an Assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", - "readOnly": true - } - }, - "createdTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "updatedTimestamp": { + } + }, + "GroupProperties": { + "type": "object", + "description": "Properties of group resource.", + "required": [ + "machines" + ], + "properties": { + "machines": { + "type": "array", + "description": "List of machine names that are part of this group.", + "items": { "type": "string", - "format": "date-time", - "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", - "readOnly": true + "description": "Reference to a machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}" } - } - }, - "Assessment": { - "type": "object", - "x-ms-azure-resource": true, - "description": "An assessment created for a group in the Migration project.", - "required": [ - "properties" - ], - "properties": { - "id": { - "type": "string", - "description": "Path reference to this assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessment/{assessmentName}", - "readOnly": true - }, - "name": { - "type": "string", - "description": "Unique name of an assessment.", - "readOnly": true - }, - "eTag": { - "type": "string", - "description": "For optimistic concurrency control." - }, - "type": { + }, + "assessments": { + "type": "array", + "description": "List of References to Assessments created on this group.", + "readOnly": true, + "items": { "type": "string", - "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments].", + "description": "Reference to an Assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}", "readOnly": true - }, - "properties": { - "description": "Properties of the assessment.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/AssessmentProperties" } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true } - }, - "AssessmentProperties": { - "type": "object", - "description": "Properties of an assessment.", - "required": [ - "stage", - "azureOfferCode", - "timeRange", - "percentile", - "azureLocation", - "azureStorageRedundancy", - "scalingFactor", - "azurePricingTier", - "currency", - "azureHybridUseBenefit", - "discountPercentage", - "sizingCriterion" - ], + } + }, + "Assessment": { + "type": "object", + "x-ms-azure-resource": true, + "description": "An assessment created for a group in the Migration project.", + "required": [ + "properties" + ], + "properties": { + "id": { + "type": "string", + "description": "Path reference to this assessment. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessment/{assessmentName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Unique name of an assessment.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments].", + "readOnly": true + }, "properties": { - "azureLocation": { - "type": "string", - "enum": [ - "Unknown", - "EastAsia", - "SoutheastAsia", - "AustraliaEast", - "AustraliaSoutheast", - "BrazilSouth", - "CanadaCentral", - "CanadaEast", - "WestEurope", - "NorthEurope", - "CentralIndia", - "SouthIndia", - "WestIndia", - "JapanEast", - "JapanWest", - "KoreaCentral", - "KoreaSouth", - "UkWest", - "UkSouth", - "NorthCentralUs", - "EastUs", - "WestUs2", - "SouthCentralUs", - "CentralUs", - "EastUs2", - "WestUs", - "WestCentralUs", - "GermanyCentral", - "GermanyNortheast", - "ChinaNorth", - "ChinaEast" - ], - "description": "Target Azure location for which the machines should be assessed. These enums are the same as used by Compute API.", - "x-ms-enum": { - "name": "AzureLocation", - "modelAsString": true - } - }, - "azureOfferCode": { - "type": "string", - "enum": [ - "Unknown", - "MSAZR0003P", - "MSAZR0044P", - "MSAZR0059P", - "MSAZR0060P", - "MSAZR0062P", - "MSAZR0063P", - "MSAZR0064P", - "MSAZR0029P", - "MSAZR0022P", - "MSAZR0023P", - "MSAZR0148P", - "MSAZR0025P", - "MSAZR0036P", - "MSAZR0120P", - "MSAZR0121P", - "MSAZR0122P", - "MSAZR0123P", - "MSAZR0124P", - "MSAZR0125P", - "MSAZR0126P", - "MSAZR0127P", - "MSAZR0128P", - "MSAZR0129P", - "MSAZR0130P", - "MSAZR0111P", - "MSAZR0144P", - "MSAZR0149P", - "MSMCAZR0044P", - "MSMCAZR0059P", - "MSMCAZR0060P", - "MSMCAZR0063P", - "MSMCAZR0120P", - "MSMCAZR0121P", - "MSMCAZR0125P", - "MSMCAZR0128P", - "MSAZRDE0003P", - "MSAZRDE0044P" - ], - "description": "Offer code according to which cost estimation is done.", - "x-ms-enum": { - "name": "AzureOfferCode", - "modelAsString": true - } - }, - "azurePricingTier": { - "type": "string", - "enum": [ - "Standard", - "Basic" - ], - "description": "Pricing tier for Size evaluation.", - "x-ms-enum": { - "name": "AzurePricingTier", - "modelAsString": true - } - }, - "azureStorageRedundancy": { - "type": "string", - "enum": [ - "Unknown", - "LocallyRedundant", - "ZoneRedundant", - "GeoRedundant", - "ReadAccessGeoRedundant" - ], - "description": "Storage Redundancy type offered by Azure.", - "x-ms-enum": { - "name": "AzureStorageRedundancy", - "modelAsString": true - } - }, - "scalingFactor": { - "type": "number", - "format": "double", - "description": "Scaling factor used over utilization data to add a performance buffer for new machines to be created in Azure. Min Value = 1.0, Max value = 1.9, Default = 1.3." - }, - "percentile": { - "type": "string", - "enum": [ - "Percentile50", - "Percentile90", - "Percentile95", - "Percentile99" - ], - "description": "Percentile of performance data used to recommend Azure size.", - "x-ms-enum": { - "name": "Percentile", - "modelAsString": true - } - }, - "timeRange": { - "type": "string", - "enum": [ - "Day", - "Week", - "Month" - ], - "description": "Time range of performance data used to recommend a size.", - "x-ms-enum": { - "name": "TimeRange", - "modelAsString": true - } - }, - "stage": { - "type": "string", - "enum": [ - "InProgress", - "UnderReview", - "Approved" - ], - "description": "User configurable setting that describes the status of the assessment.", - "x-ms-enum": { - "name": "AssessmentStage", - "modelAsString": true - } - }, - "currency": { - "type": "string", - "enum": [ - "Unknown", - "USD", - "DKK", - "CAD", - "IDR", - "JPY", - "KRW", - "NZD", - "NOK", - "RUB", - "SAR", - "ZAR", - "SEK", - "TRY", - "GBP", - "MXN", - "MYR", - "INR", - "HKD", - "BRL", - "TWD", - "EUR", - "CHF", - "ARS", - "AUD", - "CNY" - ], - "description": "Currency to report prices in.", - "x-ms-enum": { - "name": "Currency", - "modelAsString": true - } - }, - "azureHybridUseBenefit": { - "type": "string", - "enum": [ - "Unknown", - "Yes", - "No" - ], - "description": "AHUB discount on windows virtual machines.", - "x-ms-enum": { - "name": "AzureHybridUseBenefit", - "modelAsString": true - } - }, - "discountPercentage": { - "type": "number", - "format": "double", - "description": "Custom discount percentage to be applied on final costs. Can be in the range [0, 100]." - }, - "confidenceRatingInPercentage": { - "type": "number", - "format": "double", - "description": "Confidence rating percentage for assessment. Can be in the range [0, 100].", - "default": "null", - "readOnly": true - }, - "sizingCriterion": { - "type": "string", - "enum": [ - "PerformanceBased", - "AsOnPremises" - ], - "description": "Assessment sizing criterion.", - "x-ms-enum": { - "name": "AssessmentSizingCriterion", - "modelAsString": true - } - }, - "pricesTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when the Azure Prices were queried. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "createdTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "updatedTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "monthlyComputeCost": { - "type": "number", - "format": "double", - "description": "Monthly compute cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", - "readOnly": true - }, - "monthlyBandwidthCost": { - "type": "number", - "format": "double", - "description": "Monthly network cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", - "readOnly": true - }, - "monthlyStorageCost": { - "type": "number", - "format": "double", - "description": "Monthly storage cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", - "readOnly": true - }, - "status": { - "type": "string", - "enum": [ - "Created", - "Updated", - "Running", - "Completed", - "Invalid" - ], - "description": "Wheter the assessment has been created and is valid.", - "readOnly": true, - "x-ms-enum": { - "name": "AssessmentStatus", - "modelAsString": true - } - }, - "numberOfMachines": { - "type": "integer", - "format": "int32", - "description": "Number of assessed machines part of this assessment.", - "readOnly": true - } + "description": "Properties of the assessment.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssessmentProperties" } - }, - "Disk": { - "type": "object", - "description": "A disk discovered on a machine.", - "properties": { - "gigabytesProvisioned": { - "type": "number", - "format": "double", - "description": "Gigabytes of storage provisioned for this disk.", - "readOnly": true - }, - "gigabytesConsumed": { - "format": "double", - "type": "number", - "description": "Gigabytes of storage consumed by this disk.", - "readOnly": true + } + }, + "AssessmentProperties": { + "type": "object", + "description": "Properties of an assessment.", + "required": [ + "stage", + "azureOfferCode", + "timeRange", + "percentile", + "azureLocation", + "azureStorageRedundancy", + "scalingFactor", + "azurePricingTier", + "currency", + "azureHybridUseBenefit", + "discountPercentage", + "sizingCriterion" + ], + "properties": { + "azureLocation": { + "type": "string", + "enum": [ + "Unknown", + "EastAsia", + "SoutheastAsia", + "AustraliaEast", + "AustraliaSoutheast", + "BrazilSouth", + "CanadaCentral", + "CanadaEast", + "WestEurope", + "NorthEurope", + "CentralIndia", + "SouthIndia", + "WestIndia", + "JapanEast", + "JapanWest", + "KoreaCentral", + "KoreaSouth", + "UkWest", + "UkSouth", + "NorthCentralUs", + "EastUs", + "WestUs2", + "SouthCentralUs", + "CentralUs", + "EastUs2", + "WestUs", + "WestCentralUs", + "GermanyCentral", + "GermanyNortheast", + "ChinaNorth", + "ChinaEast" + ], + "description": "Target Azure location for which the machines should be assessed. These enums are the same as used by Compute API.", + "x-ms-enum": { + "name": "AzureLocation", + "modelAsString": true } - } - }, - "NetworkAdapter": { - "type": "object", - "description": "A network adapter discovered on a machine.", - "properties": { - "macAddress": { - "type": "string", - "description": "MAC Address of the network adapter.", - "readOnly": true - }, - "ipAddresses": { - "type": "array", - "description": "List of IP Addresses on the network adapter.", - "readOnly": true, - "items": { - "type": "string", - "description": "IP Address of the network adapter.", - "readOnly": true - } + }, + "azureOfferCode": { + "type": "string", + "enum": [ + "Unknown", + "MSAZR0003P", + "MSAZR0044P", + "MSAZR0059P", + "MSAZR0060P", + "MSAZR0062P", + "MSAZR0063P", + "MSAZR0064P", + "MSAZR0029P", + "MSAZR0022P", + "MSAZR0023P", + "MSAZR0148P", + "MSAZR0025P", + "MSAZR0036P", + "MSAZR0120P", + "MSAZR0121P", + "MSAZR0122P", + "MSAZR0123P", + "MSAZR0124P", + "MSAZR0125P", + "MSAZR0126P", + "MSAZR0127P", + "MSAZR0128P", + "MSAZR0129P", + "MSAZR0130P", + "MSAZR0111P", + "MSAZR0144P", + "MSAZR0149P", + "MSMCAZR0044P", + "MSMCAZR0059P", + "MSMCAZR0060P", + "MSMCAZR0063P", + "MSMCAZR0120P", + "MSMCAZR0121P", + "MSMCAZR0125P", + "MSMCAZR0128P", + "MSAZRDE0003P", + "MSAZRDE0044P" + ], + "description": "Offer code according to which cost estimation is done.", + "x-ms-enum": { + "name": "AzureOfferCode", + "modelAsString": true } - } - }, - "Machine": { - "type": "object", - "x-ms-azure-resource": true, - "description": "A machine in a migration project.", - "properties": { - "id": { - "type": "string", - "description": "Path reference to this machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", - "readOnly": true - }, - "name": { - "type": "string", - "description": "Name of the machine. It is a GUID which is unique identifier of machine in private data center. For user-readable name, we have a displayName property on this machine.", - "readOnly": true - }, - "eTag": { - "type": "string", - "description": "For optimistic concurrency control." - }, - "type": { - "type": "string", - "description": "Type of the object = [Microsoft.Migrate/projects/machines].", - "readOnly": true - }, - "properties": { - "description": "Properties of the machine.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/MachineProperties" + }, + "azurePricingTier": { + "type": "string", + "enum": [ + "Standard", + "Basic" + ], + "description": "Pricing tier for Size evaluation.", + "x-ms-enum": { + "name": "AzurePricingTier", + "modelAsString": true } - } - }, - "MachineProperties": { - "type": "object", - "description": "Properties of a machine.", - "properties": { - "bootType": { - "type": "string", - "description": "Boot type of the machine.", - "enum": [ - "Unknown", - "EFI", - "BIOS" - ], - "readOnly": true, - "x-ms-enum": { - "name": "MachineBootType", - "modelAsString": true - } - }, - "datacenterContainer": { - "type": "string", - "description": "Container defined in the management solution that this machine is part of in the datacenter.", - "readOnly": true - }, - "datacenterManagementServer": { - "type": "string", - "description": "Name of the server hosting the datacenter management solution.", - "readOnly": true - }, - "datacenterMachineId": { - "type": "string", - "description": "ID of the machine as tracked by the datacenter management solution.", - "readOnly": true - }, - "datacenterManagementServerId": { - "type": "string", - "description": "ID of the server hosting the datacenter management solution.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "Description of the machine", - "readOnly": true - }, - "displayName": { - "type": "string", - "description": "User readable name of the machine as defined by the user in their private datacenter.", - "readOnly": true - }, - "megabytesOfMemory": { - "type": "number", - "description": "Memory in Megabytes.", - "readOnly": true - }, - "numberOfCores": { - "type": "integer", - "description": "Processor count.", - "readOnly": true - }, - "operatingSystem": { - "type": "string", - "description": "Operating System of the machine.", - "readOnly": true - }, - "groups": { - "type": "array", - "description": "List of references to the groups that the machine is member of.", - "readOnly": true, - "items": { - "type": "string", - "readOnly": true, - "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" - } - }, - "createdTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "updatedTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "discoveredTimestamp": { + }, + "azureStorageRedundancy": { + "type": "string", + "enum": [ + "Unknown", + "LocallyRedundant", + "ZoneRedundant", + "GeoRedundant", + "ReadAccessGeoRedundant" + ], + "description": "Storage Redundancy type offered by Azure.", + "x-ms-enum": { + "name": "AzureStorageRedundancy", + "modelAsString": true + } + }, + "scalingFactor": { + "type": "number", + "format": "double", + "description": "Scaling factor used over utilization data to add a performance buffer for new machines to be created in Azure. Min Value = 1.0, Max value = 1.9, Default = 1.3." + }, + "percentile": { + "type": "string", + "enum": [ + "Percentile50", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "description": "Percentile of performance data used to recommend Azure size.", + "x-ms-enum": { + "name": "Percentile", + "modelAsString": true + } + }, + "timeRange": { + "type": "string", + "enum": [ + "Day", + "Week", + "Month" + ], + "description": "Time range of performance data used to recommend a size.", + "x-ms-enum": { + "name": "TimeRange", + "modelAsString": true + } + }, + "stage": { + "type": "string", + "enum": [ + "InProgress", + "UnderReview", + "Approved" + ], + "description": "User configurable setting that describes the status of the assessment.", + "x-ms-enum": { + "name": "AssessmentStage", + "modelAsString": true + } + }, + "currency": { + "type": "string", + "enum": [ + "Unknown", + "USD", + "DKK", + "CAD", + "IDR", + "JPY", + "KRW", + "NZD", + "NOK", + "RUB", + "SAR", + "ZAR", + "SEK", + "TRY", + "GBP", + "MXN", + "MYR", + "INR", + "HKD", + "BRL", + "TWD", + "EUR", + "CHF", + "ARS", + "AUD", + "CNY" + ], + "description": "Currency to report prices in.", + "x-ms-enum": { + "name": "Currency", + "modelAsString": true + } + }, + "azureHybridUseBenefit": { + "type": "string", + "enum": [ + "Unknown", + "Yes", + "No" + ], + "description": "AHUB discount on windows virtual machines.", + "x-ms-enum": { + "name": "AzureHybridUseBenefit", + "modelAsString": true + } + }, + "discountPercentage": { + "type": "number", + "format": "double", + "description": "Custom discount percentage to be applied on final costs. Can be in the range [0, 100]." + }, + "confidenceRatingInPercentage": { + "type": "number", + "format": "double", + "description": "Confidence rating percentage for assessment. Can be in the range [0, 100].", + "x-nullable": true, + "readOnly": true + }, + "sizingCriterion": { + "type": "string", + "enum": [ + "PerformanceBased", + "AsOnPremises" + ], + "description": "Assessment sizing criterion.", + "x-ms-enum": { + "name": "AssessmentSizingCriterion", + "modelAsString": true + } + }, + "pricesTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when the Azure Prices were queried. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this project was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "monthlyComputeCost": { + "type": "number", + "format": "double", + "description": "Monthly compute cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyBandwidthCost": { + "type": "number", + "format": "double", + "description": "Monthly network cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Monthly storage cost estimate for the machines that are part of this assessment as a group, for a 31-day month.", + "readOnly": true + }, + "status": { + "type": "string", + "enum": [ + "Created", + "Updated", + "Running", + "Completed", + "Invalid" + ], + "description": "Wheter the assessment has been created and is valid.", + "readOnly": true, + "x-ms-enum": { + "name": "AssessmentStatus", + "modelAsString": true + } + }, + "numberOfMachines": { + "type": "integer", + "format": "int32", + "description": "Number of assessed machines part of this assessment.", + "readOnly": true + } + } + }, + "Disk": { + "type": "object", + "description": "A disk discovered on a machine.", + "properties": { + "gigabytesProvisioned": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage provisioned for this disk.", + "readOnly": true + }, + "gigabytesConsumed": { + "format": "double", + "type": "number", + "description": "Gigabytes of storage consumed by this disk.", + "readOnly": true + } + } + }, + "NetworkAdapter": { + "type": "object", + "description": "A network adapter discovered on a machine.", + "properties": { + "macAddress": { + "type": "string", + "description": "MAC Address of the network adapter.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "description": "List of IP Addresses on the network adapter.", + "readOnly": true, + "items": { "type": "string", - "format": "date-time", - "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "description": "IP Address of the network adapter.", "readOnly": true - }, - "disks": { - "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, - "properties": { - "key": { - "type": "string", - "description": "Unique identifier of a disk.", - "readOnly": true - }, - "value": { - "description": "Disk object.", - "$ref": "#/definitions/Disk" - } - } - }, - "networkAdapters": { - "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is ID of disk. Value is a network adapter object", - "readOnly": true, - "properties": { - "key": { - "type": "string", - "description": "Unique identifier of a network adapter.", - "readOnly": true - }, - "value": { - "description": "Network Adapter object.", - "$ref": "#/definitions/NetworkAdapter" - } - } } } - }, - "AssessedDisk": { - "type": "object", - "description": "A disk assessed for an assessment.", + } + }, + "Machine": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A machine in a migration project.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the machine. It is a GUID which is unique identifier of machine in private data center. For user-readable name, we have a displayName property on this machine.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/machines].", + "readOnly": true + }, "properties": { - "name": { - "type": "string", - "description": "Name of the assessed disk.", - "readOnly": true - }, - "gigabytesProvisioned": { - "type": "number", - "format": "double", - "description": "Gigabytes of storage provisioned for this disk.", - "readOnly": true - }, - "gigabytesConsumed": { - "type": "number", - "format": "double", - "description": "Gigabytes of storage consumed by this disk.", - "readOnly": true - }, - "megabytesPerSecondOfRead": { - "type": "number", - "format": "double", - "description": "Disk throughput in MegaBytes per second.", - "readOnly": true - }, - "megabytesPerSecondOfReadDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected data points for MegaBytes per second of read.", - "default": null, - "readOnly": true - }, - "megabytesPerSecondOfReadDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received data points for MegaBytes per second of read.", - "default": null, - "readOnly": true - }, - "megabytesPerSecondOfWrite": { - "type": "number", - "format": "double", - "description": "Disk throughput in MegaBytes per second.", - "readOnly": true - }, - "megabytesPerSecondOfWriteDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected data points for MegaBytes per second of write.", - "default": null, - "readOnly": true - }, - "megabytesPerSecondOfWriteDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received data points for MegaBytes per second of write.", - "default": null, - "readOnly": true - }, - "numberOfReadOperationsPerSecond": { - "type": "number", - "format": "double", - "description": "Number of read operations per second for the disk.", - "readOnly": true - }, - "numberOfReadOperationsPerSecondDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected number of data points for read operations per second.", - "default": null, - "readOnly": true - }, - "numberOfReadOperationsPerSecondDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received number of data points for read operations per second.", - "default": null, - "readOnly": true - }, - "numberOfWriteOperationsPerSecond": { - "type": "number", - "format": "double", - "description": "Number of read and write operations per second for the disk.", - "readOnly": true - }, - "numberOfWriteOperationsPerSecondDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected number of data points for write operations per second.", - "default": null, - "readOnly": true - }, - "numberOfWriteOperationsPerSecondDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received number of data points for write operations per second.", - "default": null, - "readOnly": true - }, - "monthlyStorageCost": { - "type": "number", - "format": "double", - "description": "Estimated aggregate storage cost for a 31-day month for this disk.", - "readOnly": true - }, - "recommendedDiskType": { - "type": "string", - "enum": [ - "Unknown", - "Standard", - "Premium" - ], - "description": "Storage type selected for this disk.", - "x-ms-enum": { - "name": "AzureDiskType", - "modelAsString": true - }, - "readOnly": true - }, - "recommendedDiskSize": { + "description": "Properties of the machine.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MachineProperties" + } + } + }, + "MachineProperties": { + "type": "object", + "description": "Properties of a machine.", + "properties": { + "bootType": { + "type": "string", + "description": "Boot type of the machine.", + "enum": [ + "Unknown", + "EFI", + "BIOS" + ], + "readOnly": true, + "x-ms-enum": { + "name": "MachineBootType", + "modelAsString": true + } + }, + "datacenterContainer": { + "type": "string", + "description": "Container defined in the management solution that this machine is part of in the datacenter.", + "readOnly": true + }, + "datacenterManagementServer": { + "type": "string", + "description": "Name of the server hosting the datacenter management solution.", + "readOnly": true + }, + "datacenterMachineId": { + "type": "string", + "description": "ID of the machine as tracked by the datacenter management solution.", + "readOnly": true + }, + "datacenterManagementServerId": { + "type": "string", + "description": "ID of the server hosting the datacenter management solution.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the machine", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "User readable name of the machine as defined by the user in their private datacenter.", + "readOnly": true + }, + "megabytesOfMemory": { + "type": "number", + "description": "Memory in Megabytes.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "description": "Processor count.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "Operating System of the machine.", + "readOnly": true + }, + "groups": { + "type": "array", + "description": "List of references to the groups that the machine is member of.", + "readOnly": true, + "items": { "type": "string", - "enum": [ - "Unknown", - "Standard_S4", - "Standard_S6", - "Standard_S10", - "Standard_S20", - "Standard_S30", - "Standard_S40", - "Standard_S50", - "Premium_P4", - "Premium_P6", - "Premium_P10", - "Premium_P20", - "Premium_P30", - "Premium_P40", - "Premium_P50" - ], - "description": "Recommended Azure size for the disk, given utilization data and preferences set on Assessment.", "readOnly": true, - "x-ms-enum": { - "name": "AzureDiskSize", - "modelAsString": true + "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" + } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "discoveredTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Unique identifier of a disk.", + "readOnly": true + }, + "value": { + "description": "Disk object.", + "$ref": "#/definitions/Disk" } - }, - "gigabytesForRecommendedSize": { - "type": "integer", - "format": "int32", - "description": "Gigabytes of storage provided by the recommended Azure disk size.", - "readOnly": true - }, - "suitability": { - "type": "string", - "enum": [ - "Unknown", - "NotSuitable", - "Suitable", - "ConditionallySuitable", - "ReadinessUnknown" - ], - "description": "Whether this disk is suitable for Azure.", - "readOnly": true, - "x-ms-enum": { - "name": "CloudSuitability", - "modelAsString": true + } + }, + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is ID of disk. Value is a network adapter object", + "readOnly": true, + "properties": { + "key": { + "type": "string", + "description": "Unique identifier of a network adapter.", + "readOnly": true + }, + "value": { + "description": "Network Adapter object.", + "$ref": "#/definitions/NetworkAdapter" } + } + } + } + }, + "AssessedDisk": { + "type": "object", + "description": "A disk assessed for an assessment.", + "properties": { + "name": { + "type": "string", + "description": "Name of the assessed disk.", + "readOnly": true + }, + "gigabytesProvisioned": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage provisioned for this disk.", + "readOnly": true + }, + "gigabytesConsumed": { + "type": "number", + "format": "double", + "description": "Gigabytes of storage consumed by this disk.", + "readOnly": true + }, + "megabytesPerSecondOfRead": { + "type": "number", + "format": "double", + "description": "Disk throughput in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondOfReadDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for MegaBytes per second of read.", + "x-nullable": true, + "readOnly": true + }, + "megabytesPerSecondOfReadDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for MegaBytes per second of read.", + "x-nullable": true, + "readOnly": true + }, + "megabytesPerSecondOfWrite": { + "type": "number", + "format": "double", + "description": "Disk throughput in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondOfWriteDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for MegaBytes per second of write.", + "x-nullable": true, + "readOnly": true + }, + "megabytesPerSecondOfWriteDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for MegaBytes per second of write.", + "x-nullable": true, + "readOnly": true + }, + "numberOfReadOperationsPerSecond": { + "type": "number", + "format": "double", + "description": "Number of read operations per second for the disk.", + "readOnly": true + }, + "numberOfReadOperationsPerSecondDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected number of data points for read operations per second.", + "x-nullable": true, + "readOnly": true + }, + "numberOfReadOperationsPerSecondDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received number of data points for read operations per second.", + "x-nullable": true, + "readOnly": true + }, + "numberOfWriteOperationsPerSecond": { + "type": "number", + "format": "double", + "description": "Number of read and write operations per second for the disk.", + "readOnly": true + }, + "numberOfWriteOperationsPerSecondDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected number of data points for write operations per second.", + "x-nullable": true, + "readOnly": true + }, + "numberOfWriteOperationsPerSecondDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received number of data points for write operations per second.", + "x-nullable": true, + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Estimated aggregate storage cost for a 31-day month for this disk.", + "readOnly": true + }, + "recommendedDiskType": { + "type": "string", + "enum": [ + "Unknown", + "Standard", + "Premium" + ], + "description": "Storage type selected for this disk.", + "x-ms-enum": { + "name": "AzureDiskType", + "modelAsString": true }, - "suitabilityExplanation": { + "readOnly": true + }, + "recommendedDiskSize": { + "type": "string", + "enum": [ + "Unknown", + "Standard_S4", + "Standard_S6", + "Standard_S10", + "Standard_S20", + "Standard_S30", + "Standard_S40", + "Standard_S50", + "Premium_P4", + "Premium_P6", + "Premium_P10", + "Premium_P20", + "Premium_P30", + "Premium_P40", + "Premium_P50" + ], + "description": "Recommended Azure size for the disk, given utilization data and preferences set on Assessment.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureDiskSize", + "modelAsString": true + } + }, + "gigabytesForRecommendedSize": { + "type": "integer", + "format": "int32", + "description": "Gigabytes of storage provided by the recommended Azure disk size.", + "readOnly": true + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable", + "ReadinessUnknown" + ], + "description": "Whether this disk is suitable for Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "DiskSizeGreaterThanSupported", + "NoSuitableDiskSizeForIops", + "NoSuitableDiskSizeForThroughput", + "NoDiskSizeFoundInSelectedLocation", + "NoDiskSizeFoundForSelectedRedundancy", + "InternalErrorOccurredForDiskEvaluation" + ], + "description": "If disk is suitable, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureDiskSuitabilityExplanation", + "modelAsString": true + } + } + } + }, + "AssessedNetworkAdapter": { + "type": "object", + "description": "A network adapter assessed for an assessment.", + "properties": { + "macAddress": { + "type": "string", + "description": "MAC Address of the network adapter.", + "readOnly": true + }, + "ipAddresses": { + "type": "array", + "description": "List of IP Addresses on the network adapter.", + "readOnly": true, + "items": { "type": "string", - "enum": [ - "Unknown", - "NotApplicable", - "DiskSizeGreaterThanSupported", - "NoSuitableDiskSizeForIops", - "NoSuitableDiskSizeForThroughput", - "NoDiskSizeFoundInSelectedLocation", - "NoDiskSizeFoundForSelectedRedundancy", - "InternalErrorOccurredForDiskEvaluation" - ], - "description": "If disk is suitable, this explains the reasons and mitigation steps.", - "readOnly": true, - "x-ms-enum": { - "name": "AzureDiskSuitabilityExplanation", - "modelAsString": true - } + "description": "IP Address of the network adapter.", + "readOnly": true + } + }, + "monthlyBandwidthCosts": { + "type": "number", + "format": "double", + "description": "Monthly cost estimate for network bandwidth used by this network adapter.", + "readOnly": true + }, + "megabytesPerSecondReceived": { + "type": "number", + "format": "double", + "description": "Adapter throughput for incoming traffic in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondReceivedDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for incoming traffic in MegaBytes per second.", + "x-nullable": true, + "readOnly": true + }, + "megabytesPerSecondOfReadDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for incoming traffic in MegaBytes per second.", + "x-nullable": true, + "readOnly": true + }, + "megabytesPerSecondTransmitted": { + "type": "number", + "format": "double", + "description": "Adapter throughput for outgoing traffic in MegaBytes per second.", + "readOnly": true + }, + "megabytesPerSecondTransmittedDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for outgoing traffic in MegaBytes per second.", + "x-nullable": true, + "readOnly": true + }, + "megabytesPerSecondTransmittedDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for outgoing traffic in MegaBytes per second.", + "x-nullable": true, + "readOnly": true + }, + "netGigabytesTransmittedPerMonth": { + "type": "number", + "format": "double", + "description": "Gigabytes transmitted through this adapter each month." + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable", + "ReadinessUnknown" + ], + "description": "Whether this adapter is suitable for Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "InternalErrorOccured" + ], + "description": "If network adapter is suitable, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureNetworkAdapterSuitabilityExplanation", + "modelAsString": true } } - }, - "AssessedNetworkAdapter": { - "type": "object", - "description": "A network adapter assessed for an assessment.", + } + }, + "AssessedMachine": { + "type": "object", + "x-ms-azure-resource": true, + "description": "A machine evaluated as part of an assessment.", + "properties": { + "id": { + "type": "string", + "description": "Path reference to this assessed machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Name of the machine.", + "readOnly": true + }, + "eTag": { + "type": "string", + "description": "For optimistic concurrency control." + }, + "type": { + "type": "string", + "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments/assessedMachines].", + "readOnly": true + }, "properties": { - "macAddress": { + "description": "Properties of an assessed machine.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AssessedMachineProperties" + } + } + }, + "AssessedMachineProperties": { + "type": "object", + "description": "Properties of an assessed machine.", + "properties": { + "groups": { + "type": "array", + "description": "List of references to the groups that the machine is member of.", + "readOnly": true, + "items": { "type": "string", - "description": "MAC Address of the network adapter.", - "readOnly": true - }, - "ipAddresses": { - "type": "array", - "description": "List of IP Addresses on the network adapter.", "readOnly": true, - "items": { + "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" + } + }, + "discoveredTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "bootType": { + "type": "string", + "description": "Boot type of the machine.", + "enum": [ + "Unknown", + "EFI", + "BIOS" + ], + "readOnly": true, + "x-ms-enum": { + "name": "MachineBootType", + "modelAsString": true + } + }, + "datacenterContainer": { + "type": "string", + "description": "Container defined in the management solution that this machine is part of in the datacenter.", + "readOnly": true + }, + "datacenterManagementServer": { + "type": "string", + "description": "Name of the server hosting the datacenter management solution.", + "readOnly": true + }, + "datacenterMachineId": { + "type": "string", + "description": "ID of the machine as tracked by the datacenter management solution.", + "readOnly": true + }, + "datacenterManagementServerId": { + "type": "string", + "description": "ID of the server hosting the datacenter management solution.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the machine", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "User readable name of the machine as defined by the user in their private datacenter.", + "readOnly": true + }, + "megabytesOfMemory": { + "type": "number", + "format": "double", + "description": "Memory in Megabytes.", + "readOnly": true + }, + "numberOfCores": { + "type": "integer", + "format": "int32", + "description": "Processor count.", + "readOnly": true + }, + "operatingSystem": { + "type": "string", + "description": "Operating System of the machine.", + "readOnly": true + }, + "monthlyBandwidthCost": { + "type": "number", + "format": "double", + "description": "Monthly network cost estimate for the network adapters that are attached to this machine as a group, for a 31-day month.", + "readOnly": true + }, + "monthlyStorageCost": { + "type": "number", + "format": "double", + "description": "Monthly storage cost estimate for the disks that are attached to this machine as a group, for a 31-day month.", + "readOnly": true + }, + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "properties": { + "key": { "type": "string", - "description": "IP Address of the network adapter.", + "description": "Name of the disk.", "readOnly": true - } - }, - "monthlyBandwidthCosts": { - "type": "number", - "format": "double", - "description": "Monthly cost estimate for network bandwidth used by this network adapter.", - "readOnly": true - }, - "megabytesPerSecondReceived": { - "type": "number", - "format": "double", - "description": "Adapter throughput for incoming traffic in MegaBytes per second.", - "readOnly": true - }, - "megabytesPerSecondReceivedDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected data points for incoming traffic in MegaBytes per second.", - "default": null, - "readOnly": true - }, - "megabytesPerSecondOfReadDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received data points for incoming traffic in MegaBytes per second.", - "default": null, - "readOnly": true - }, - "megabytesPerSecondTransmitted": { - "type": "number", - "format": "double", - "description": "Adapter throughput for outgoing traffic in MegaBytes per second.", - "readOnly": true - }, - "megabytesPerSecondTransmittedDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected data points for outgoing traffic in MegaBytes per second.", - "default": null, - "readOnly": true - }, - "megabytesPerSecondTransmittedDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received data points for outgoing traffic in MegaBytes per second.", - "default": null, - "readOnly": true - }, - "netGigabytesTransmittedPerMonth": { - "type": "number", - "format": "double", - "description": "Gigabytes transmitted through this adapter each month." - }, - "suitability": { - "type": "string", - "enum": [ - "Unknown", - "NotSuitable", - "Suitable", - "ConditionallySuitable", - "ReadinessUnknown" - ], - "description": "Whether this adapter is suitable for Azure.", - "readOnly": true, - "x-ms-enum": { - "name": "CloudSuitability", - "modelAsString": true - } - }, - "suitabilityExplanation": { - "type": "string", - "enum": [ - "Unknown", - "NotApplicable", - "InternalErrorOccured" - ], - "description": "If network adapter is suitable, this explains the reasons and mitigation steps.", - "readOnly": true, - "x-ms-enum": { - "name": "AzureNetworkAdapterSuitabilityExplanation", - "modelAsString": true + }, + "value": { + "description": "Assessed Disk object.", + "$ref": "#/definitions/AssessedDisk" } } - } - }, - "AssessedMachine": { - "type": "object", - "x-ms-azure-resource": true, - "description": "A machine evaluated as part of an assessment.", - "properties": { - "id": { - "type": "string", - "description": "Path reference to this assessed machine. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}", - "readOnly": true - }, - "name": { - "type": "string", - "description": "Name of the machine.", - "readOnly": true - }, - "eTag": { - "type": "string", - "description": "For optimistic concurrency control." - }, - "type": { - "type": "string", - "description": "Type of the object = [Microsoft.Migrate/projects/groups/assessments/assessedMachines].", - "readOnly": true - }, + }, + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object", + "readOnly": true, "properties": { - "description": "Properties of an assessed machine.", - "x-ms-client-flatten": true, - "$ref": "#/definitions/AssessedMachineProperties" - } - } - }, - "AssessedMachineProperties": { - "type": "object", - "description": "Properties of an assessed machine.", - "properties": { - "groups": { - "type": "array", - "description": "List of references to the groups that the machine is member of.", - "readOnly": true, - "items": { + "key": { "type": "string", - "readOnly": true, - "description": "Reference to a group that this machine is member of. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}" - } - }, - "discoveredTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this machine was discovered by Azure Migrate agent. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "bootType": { - "type": "string", - "description": "Boot type of the machine.", - "enum": [ - "Unknown", - "EFI", - "BIOS" - ], - "readOnly": true, - "x-ms-enum": { - "name": "MachineBootType", - "modelAsString": true - } - }, - "datacenterContainer": { - "type": "string", - "description": "Container defined in the management solution that this machine is part of in the datacenter.", - "readOnly": true - }, - "datacenterManagementServer": { - "type": "string", - "description": "Name of the server hosting the datacenter management solution.", - "readOnly": true - }, - "datacenterMachineId": { - "type": "string", - "description": "ID of the machine as tracked by the datacenter management solution.", - "readOnly": true - }, - "datacenterManagementServerId": { - "type": "string", - "description": "ID of the server hosting the datacenter management solution.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "Description of the machine", - "readOnly": true - }, - "displayName": { - "type": "string", - "description": "User readable name of the machine as defined by the user in their private datacenter.", - "readOnly": true - }, - "megabytesOfMemory": { - "type": "number", - "format": "double", - "description": "Memory in Megabytes.", - "readOnly": true - }, - "numberOfCores": { - "type": "integer", - "format": "int32", - "description": "Processor count.", - "readOnly": true - }, - "operatingSystem": { - "type": "string", - "description": "Operating System of the machine.", - "readOnly": true - }, - "monthlyBandwidthCost": { - "type": "number", - "format": "double", - "description": "Monthly network cost estimate for the network adapters that are attached to this machine as a group, for a 31-day month.", - "readOnly": true - }, - "monthlyStorageCost": { - "type": "number", - "format": "double", - "description": "Monthly storage cost estimate for the disks that are attached to this machine as a group, for a 31-day month.", - "readOnly": true - }, - "disks": { - "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, - "properties": { - "key": { - "type": "string", - "description": "Name of the disk.", - "readOnly": true - }, - "value": { - "description": "Assessed Disk object.", - "$ref": "#/definitions/AssessedDisk" - } - } - }, - "networkAdapters": { - "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object", - "readOnly": true, - "properties": { - "key": { - "type": "string", - "description": "Name of the network adapter.", - "readOnly": true - }, - "value": { - "description": "Assessed Network Adapter object.", - "$ref": "#/definitions/AssessedNetworkAdapter" - } - } - }, - "recommendedSize": { - "type": "string", - "enum": [ - "Unknown", - "Basic_A0", - "Basic_A1", - "Basic_A2", - "Basic_A3", - "Basic_A4", - "Standard_A0", - "Standard_A1", - "Standard_A2", - "Standard_A3", - "Standard_A4", - "Standard_A5", - "Standard_A6", - "Standard_A7", - "Standard_A8", - "Standard_A9", - "Standard_A10", - "Standard_A11", - "Standard_A1_v2", - "Standard_A2_v2", - "Standard_A4_v2", - "Standard_A8_v2", - "Standard_A2m_v2", - "Standard_A4m_v2", - "Standard_A8m_v2", - "Standard_D1", - "Standard_D2", - "Standard_D3", - "Standard_D4", - "Standard_D11", - "Standard_D12", - "Standard_D13", - "Standard_D14", - "Standard_D1_v2", - "Standard_D2_v2", - "Standard_D3_v2", - "Standard_D4_v2", - "Standard_D5_v2", - "Standard_D11_v2", - "Standard_D12_v2", - "Standard_D13_v2", - "Standard_D14_v2", - "Standard_D15_v2", - "Standard_DS1", - "Standard_DS2", - "Standard_DS3", - "Standard_DS4", - "Standard_DS11", - "Standard_DS12", - "Standard_DS13", - "Standard_DS14", - "Standard_DS1_v2", - "Standard_DS2_v2", - "Standard_DS3_v2", - "Standard_DS4_v2", - "Standard_DS5_v2", - "Standard_DS11_v2", - "Standard_DS12_v2", - "Standard_DS13_v2", - "Standard_DS14_v2", - "Standard_DS15_v2", - "Standard_F1", - "Standard_F2", - "Standard_F4", - "Standard_F8", - "Standard_F16", - "Standard_F1s", - "Standard_F2s", - "Standard_F4s", - "Standard_F8s", - "Standard_F16s", - "Standard_G1", - "Standard_G2", - "Standard_G3", - "Standard_G4", - "Standard_G5", - "Standard_GS1", - "Standard_GS2", - "Standard_GS3", - "Standard_GS4", - "Standard_GS5", - "Standard_H8", - "Standard_H16", - "Standard_H8m", - "Standard_H16m", - "Standard_H16r", - "Standard_H16mr", - "Standard_L4s", - "Standard_L8s", - "Standard_L16s", - "Standard_L32s" - ], - "description": "Recommended Azure size for this machine.", - "readOnly": true, - "x-ms-enum": { - "name": "AzureVmSize", - "modelAsString": true - } - }, - "numberOfCoresForRecommendedSize": { - "type": "integer", - "format": "int32", - "description": "Number of CPU cores in the Recommended Azure VM Size.", - "readOnly": true - }, - "megabytesOfMemoryForRecommendedSize": { - "type": "number", - "format": "double", - "description": "Megabytes of memory in the Recommended Azure VM Size.", - "readOnly": true - }, - "monthlyComputeCostForRecommendedSize": { - "type": "number", - "format": "double", - "description": "Compute Cost for a 31-day month, if the machine is migrated to Azure with the Recommended Size.", - "readOnly": true - }, - "percentageCoresUtilization": { - "type": "number", - "format": "double", - "description": "Utilization percentage of the processor core as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", - "readOnly": true - }, - "percentageMemoryUtilization": { - "type": "number", - "format": "double", - "description": "Utilization percentage of the memory as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", - "readOnly": true - }, - "percentageCoresUtilizationDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected data points for percentage of cores utilization.", - "default": null, - "readOnly": true - }, - "percentageCoresUtilizationDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received data points for percentage of cores utilization.", - "default": null, - "readOnly": true - }, - "percentageMemoryUtilizationDataPointsExpected": { - "type": "integer", - "format": "int32", - "description": "Expected data points for percentage of memory utilization.", - "default": null, - "readOnly": true - }, - "percentageMemoryUtilizationDataPointsReceived": { - "type": "integer", - "format": "int32", - "description": "Received data points for percentage of memory utilization.", - "default": null, - "readOnly": true - }, - "suitability": { - "type": "string", - "enum": [ - "Unknown", - "NotSuitable", - "Suitable", - "ConditionallySuitable", - "ReadinessUnknown" - ], - "description": "Whether machine is suitable for migration to Azure.", - "readOnly": true, - "x-ms-enum": { - "name": "CloudSuitability", - "modelAsString": true - } - }, - "suitabilityExplanation": { - "type": "string", - "enum": [ - "Unknown", - "NotApplicable", - "GuestOperatingSystemArchitectureNotSupported", - "GuestOperatingSystemNotSupported", - "BootTypeNotSupported", - "MoreDisksThanSupported", - "NoSuitableVmSizeFound", - "OneOrMoreDisksNotSuitable", - "OneOrMoreAdaptersNotSuitable", - "InternalErrorOccuredDuringComputeEvaluation", - "InternalErrorOccuredDuringStorageEvaluation", - "InternalErrorOccuredDuringNetworkEvaluation", - "NoVmSizeSupportsStoragePerformance", - "NoVmSizeSupportsNetworkPerformance", - "NoVmSizeForSelectedPricingTier", - "NoVmSizeForSelectedAzureLocation", - "CheckRedHatLinuxVersion", - "CheckOpenSuseLinuxVersion", - "CheckWindowsServer2008R2Version", - "CheckCentOsVersion", - "CheckDebianLinuxVersion", - "CheckSuseLinuxVersion", - "CheckOracleLinuxVersion", - "CheckUbuntuLinuxVersion", - "CheckCoreOsLinuxVersion", - "WindowsServerVersionConditionallySupported", - "NoGuestOperatingSystemConditionallySupported", - "WindowsClientVersionsConditionallySupported", - "BootTypeUnknown", - "GuestOperatingSystemUnknown", - "WindowsServerVersionsSupportedWithCaveat", - "WindowsOSNoLongerUnderMSSupport", - "EndorsedWithConditionsLinuxDistributions", - "UnendorsedLinuxDistributions", - "NoVmSizeForStandardPricingTier", - "NoVmSizeForBasicPricingTier" - ], - "description": "If machine is not ready to be migrated, this explains the reasons and mitigation steps.", - "readOnly": true, - "x-ms-enum": { - "name": "AzureVmSuitabilityExplanation", - "modelAsString": true + "description": "Name of the network adapter.", + "readOnly": true + }, + "value": { + "description": "Assessed Network Adapter object.", + "$ref": "#/definitions/AssessedNetworkAdapter" } - }, - "createdTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", - "readOnly": true - }, - "updatedTimestamp": { - "type": "string", - "format": "date-time", - "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", - "readOnly": true } - } - }, - "ProjectKey": { - "type": "object", - "x-ms-azure-resource": true, - "description": "ID and Key for Migration Project.", - "properties": { - "workspaceId": { - "type": "string", - "description": "ID of Migration Project.", - "readOnly": true - }, - "workspaceKey": { - "type": "string", - "description": "Key of Migration Project.", - "readOnly": true + }, + "recommendedSize": { + "type": "string", + "enum": [ + "Unknown", + "Basic_A0", + "Basic_A1", + "Basic_A2", + "Basic_A3", + "Basic_A4", + "Standard_A0", + "Standard_A1", + "Standard_A2", + "Standard_A3", + "Standard_A4", + "Standard_A5", + "Standard_A6", + "Standard_A7", + "Standard_A8", + "Standard_A9", + "Standard_A10", + "Standard_A11", + "Standard_A1_v2", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_A2m_v2", + "Standard_A4m_v2", + "Standard_A8m_v2", + "Standard_D1", + "Standard_D2", + "Standard_D3", + "Standard_D4", + "Standard_D11", + "Standard_D12", + "Standard_D13", + "Standard_D14", + "Standard_D1_v2", + "Standard_D2_v2", + "Standard_D3_v2", + "Standard_D4_v2", + "Standard_D5_v2", + "Standard_D11_v2", + "Standard_D12_v2", + "Standard_D13_v2", + "Standard_D14_v2", + "Standard_D15_v2", + "Standard_DS1", + "Standard_DS2", + "Standard_DS3", + "Standard_DS4", + "Standard_DS11", + "Standard_DS12", + "Standard_DS13", + "Standard_DS14", + "Standard_DS1_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS5_v2", + "Standard_DS11_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_DS15_v2", + "Standard_F1", + "Standard_F2", + "Standard_F4", + "Standard_F8", + "Standard_F16", + "Standard_F1s", + "Standard_F2s", + "Standard_F4s", + "Standard_F8s", + "Standard_F16s", + "Standard_G1", + "Standard_G2", + "Standard_G3", + "Standard_G4", + "Standard_G5", + "Standard_GS1", + "Standard_GS2", + "Standard_GS3", + "Standard_GS4", + "Standard_GS5", + "Standard_H8", + "Standard_H16", + "Standard_H8m", + "Standard_H16m", + "Standard_H16r", + "Standard_H16mr", + "Standard_L4s", + "Standard_L8s", + "Standard_L16s", + "Standard_L32s" + ], + "description": "Recommended Azure size for this machine.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureVmSize", + "modelAsString": true + } + }, + "numberOfCoresForRecommendedSize": { + "type": "integer", + "format": "int32", + "description": "Number of CPU cores in the Recommended Azure VM Size.", + "readOnly": true + }, + "megabytesOfMemoryForRecommendedSize": { + "type": "number", + "format": "double", + "description": "Megabytes of memory in the Recommended Azure VM Size.", + "readOnly": true + }, + "monthlyComputeCostForRecommendedSize": { + "type": "number", + "format": "double", + "description": "Compute Cost for a 31-day month, if the machine is migrated to Azure with the Recommended Size.", + "readOnly": true + }, + "percentageCoresUtilization": { + "type": "number", + "format": "double", + "description": "Utilization percentage of the processor core as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", + "readOnly": true + }, + "percentageMemoryUtilization": { + "type": "number", + "format": "double", + "description": "Utilization percentage of the memory as observed in the private data center, in the Time Range selected on Assessment, reported as the Percentile value based on the percentile number selected in assessment.", + "readOnly": true + }, + "percentageCoresUtilizationDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for percentage of cores utilization.", + "x-nullable": true, + "readOnly": true + }, + "percentageCoresUtilizationDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for percentage of cores utilization.", + "x-nullable": true, + "readOnly": true + }, + "percentageMemoryUtilizationDataPointsExpected": { + "type": "integer", + "format": "int32", + "description": "Expected data points for percentage of memory utilization.", + "x-nullable": true, + "readOnly": true + }, + "percentageMemoryUtilizationDataPointsReceived": { + "type": "integer", + "format": "int32", + "description": "Received data points for percentage of memory utilization.", + "x-nullable": true, + "readOnly": true + }, + "suitability": { + "type": "string", + "enum": [ + "Unknown", + "NotSuitable", + "Suitable", + "ConditionallySuitable", + "ReadinessUnknown" + ], + "description": "Whether machine is suitable for migration to Azure.", + "readOnly": true, + "x-ms-enum": { + "name": "CloudSuitability", + "modelAsString": true + } + }, + "suitabilityExplanation": { + "type": "string", + "enum": [ + "Unknown", + "NotApplicable", + "GuestOperatingSystemArchitectureNotSupported", + "GuestOperatingSystemNotSupported", + "BootTypeNotSupported", + "MoreDisksThanSupported", + "NoSuitableVmSizeFound", + "OneOrMoreDisksNotSuitable", + "OneOrMoreAdaptersNotSuitable", + "InternalErrorOccuredDuringComputeEvaluation", + "InternalErrorOccuredDuringStorageEvaluation", + "InternalErrorOccuredDuringNetworkEvaluation", + "NoVmSizeSupportsStoragePerformance", + "NoVmSizeSupportsNetworkPerformance", + "NoVmSizeForSelectedPricingTier", + "NoVmSizeForSelectedAzureLocation", + "CheckRedHatLinuxVersion", + "CheckOpenSuseLinuxVersion", + "CheckWindowsServer2008R2Version", + "CheckCentOsVersion", + "CheckDebianLinuxVersion", + "CheckSuseLinuxVersion", + "CheckOracleLinuxVersion", + "CheckUbuntuLinuxVersion", + "CheckCoreOsLinuxVersion", + "WindowsServerVersionConditionallySupported", + "NoGuestOperatingSystemConditionallySupported", + "WindowsClientVersionsConditionallySupported", + "BootTypeUnknown", + "GuestOperatingSystemUnknown", + "WindowsServerVersionsSupportedWithCaveat", + "WindowsOSNoLongerUnderMSSupport", + "EndorsedWithConditionsLinuxDistributions", + "UnendorsedLinuxDistributions", + "NoVmSizeForStandardPricingTier", + "NoVmSizeForBasicPricingTier" + ], + "description": "If machine is not ready to be migrated, this explains the reasons and mitigation steps.", + "readOnly": true, + "x-ms-enum": { + "name": "AzureVmSuitabilityExplanation", + "modelAsString": true } + }, + "createdTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was created. Date-Time represented in ISO-8601 format.", + "readOnly": true + }, + "updatedTimestamp": { + "type": "string", + "format": "date-time", + "description": "Time when this machine was last updated. Date-Time represented in ISO-8601 format.", + "readOnly": true } - }, - "Operation": { - "type": "object", - "description": "A REST API operation supported by the provider.", - "properties": { - "name": { - "type": "string", - "description": "Name of the operation.", - "readOnly": true - }, - "display": { - "type": "object", - "description": "Displayable properties of the operation.", - "readOnly": true, - "properties": { - "provider": { - "type": "string", - "description": "Provider of the operation.", - "readOnly": true - }, - "resource": { - "type": "string", - "description": "Resource operated on by the operation.", - "readOnly": true - }, - "operation": { - "type": "string", - "description": "Operation Type.", - "readOnly": true - }, - "description": { - "type": "string", - "description": "Description of the operation.", - "readOnly": true - } - } - }, - "origin": { - "type": "string", - "description": "Origin of the operation.", - "readOnly": true - } + } + }, + "ProjectKey": { + "type": "object", + "x-ms-azure-resource": true, + "description": "ID and Key for Migration Project.", + "properties": { + "workspaceId": { + "type": "string", + "description": "ID of Migration Project.", + "readOnly": true + }, + "workspaceKey": { + "type": "string", + "description": "Key of Migration Project.", + "readOnly": true } - }, - "DownloadUrl": { - "type": "object", - "description": "Download URL for assessment report.", - "properties": { - "assessmentReportUrl": { - "type": "string", - "description": "Hyperlink to download report.", - "readOnly": true - }, - "expirationTime": { - "type": "string", - "description": "Expiry date of download url.", - "readOnly": true - } + } + }, + "OperationDisplay": { + "type": "object", + "description": "Displayable properties of the operation.", + "readOnly": true, + "properties": { + "provider": { + "type": "string", + "description": "Provider of the operation.", + "readOnly": true + }, + "resource": { + "type": "string", + "description": "Resource operated on by the operation.", + "readOnly": true + }, + "operation": { + "type": "string", + "description": "Operation Type.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the operation.", + "readOnly": true } - }, - "ProjectResultList": { - "type": "object", - "description": "List of projects.", - "properties": { - "value": { - "type": "array", - "description": "List of projects.", - "items": { - "$ref": "#/definitions/Project" - } - } + } + }, + "Operation": { + "type": "object", + "description": "A REST API operation supported by the provider.", + "properties": { + "name": { + "type": "string", + "description": "Name of the operation.", + "readOnly": true + }, + "display": { + "description": "Displayable properties of the operation.", + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "type": "string", + "description": "Origin of the operation.", + "readOnly": true } - }, - "MachineResultList": { - "type": "object", - "description": "List of machines.", - "properties": { - "value": { - "type": "array", - "description": "List of machines.", - "items": { - "$ref": "#/definitions/Machine" - } + } + }, + "DownloadUrl": { + "type": "object", + "description": "Download URL for assessment report.", + "properties": { + "assessmentReportUrl": { + "type": "string", + "description": "Hyperlink to download report.", + "readOnly": true + }, + "expirationTime": { + "type": "string", + "format": "date-time", + "description": "Expiry date of download url.", + "readOnly": true + } + } + }, + "ProjectResultList": { + "type": "object", + "description": "List of projects.", + "properties": { + "value": { + "type": "array", + "description": "List of projects.", + "items": { + "$ref": "#/definitions/Project" } } - }, - "GroupResultList": { - "type": "object", - "description": "List of groups.", - "properties": { - "value": { - "type": "array", - "description": "List of groups.", - "items": { - "$ref": "#/definitions/Group" - } + } + }, + "MachineResultList": { + "type": "object", + "description": "List of machines.", + "properties": { + "value": { + "type": "array", + "description": "List of machines.", + "items": { + "$ref": "#/definitions/Machine" } } - }, - "AssessedMachineResultList": { - "type": "object", - "description": "List of assessed machines.", - "properties": { - "value": { - "description": "List of assessed machines.", - "type": "array", - "items": { - "$ref": "#/definitions/AssessedMachine" - } + } + }, + "GroupResultList": { + "type": "object", + "description": "List of groups.", + "properties": { + "value": { + "type": "array", + "description": "List of groups.", + "items": { + "$ref": "#/definitions/Group" } } - }, - "AssessmentResultList": { - "type": "object", - "description": "List of assessments.", - "properties": { - "value": { - "type": "array", - "description": "List of assessments.", - "items": { - "$ref": "#/definitions/Assessment" - } + } + }, + "AssessedMachineResultList": { + "type": "object", + "description": "List of assessed machines.", + "properties": { + "value": { + "description": "List of assessed machines.", + "type": "array", + "items": { + "$ref": "#/definitions/AssessedMachine" } } - }, - "OperationResultList": { - "type": "object", - "description": "List of API operations.", - "properties": { - "value": { - "type": "array", - "description": "List of operations.", - "items": { - "$ref": "#/definitions/Operation" - } + } + }, + "AssessmentResultList": { + "type": "object", + "description": "List of assessments.", + "properties": { + "value": { + "type": "array", + "description": "List of assessments.", + "items": { + "$ref": "#/definitions/Assessment" } } } }, + "OperationResultList": { + "type": "object", + "description": "List of API operations.", + "properties": { + "value": { + "type": "array", + "description": "List of operations.", + "items": { + "$ref": "#/definitions/Operation" + } + } + } + } + }, "paths": { "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all projects.", "description": "Get all the projects in the resource group.", "operationId": "Projects_List", @@ -1724,9 +1723,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -1753,6 +1749,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Projects_List": { "$ref": "./examples/Projects_List.json" @@ -1762,16 +1761,9 @@ }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get the specified project.", "description": "Get the project with the specified name.", - "operationId": "GetProject", + "operationId": "Projects_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1789,9 +1781,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -1819,22 +1808,15 @@ } }, "x-ms-examples": { - "GetProject": { - "$ref": "./examples/GetProject.json" + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" } } }, "put": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Create or update project.", "description": "Create a project with specified name. If a project already exists, update it.", - "operationId": "CreateProject", + "operationId": "Projects_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1848,9 +1830,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/contentType" - }, { "$ref": "#/parameters/acceptLanguage" }, @@ -1902,22 +1881,15 @@ } }, "x-ms-examples": { - "CreateProject": { - "$ref": "./examples/CreateProject.json" + "Projects_Create": { + "$ref": "./examples/Projects_Create.json" } } }, "patch": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Update project.", "description": "Update a project with specified name. Supports partial updates, for example only tags can be provided.", - "operationId": "UpdateProject", + "operationId": "Projects_Update", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -1931,9 +1903,6 @@ { "$ref": "#/parameters/api-version" }, - { - "$ref": "#/parameters/contentType" - }, { "$ref": "#/parameters/acceptLanguage" }, @@ -1976,22 +1945,15 @@ } }, "x-ms-examples": { - "UpdateProject": { - "$ref": "./examples/UpdateProject.json" + "Projects_Update": { + "$ref": "./examples/Projects_Update.json" } } }, "delete": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Delete the project", "description": "Delete the project. Deleting non-existent project is a no-operation.", - "operationId": "DeleteProject", + "operationId": "Projects_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2036,24 +1998,17 @@ } }, "x-ms-examples": { - "DeleteProject": { - "$ref": "./examples/DeleteProject.json" + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/keys": { "post": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get shared keys for the project.", "description": "Gets the Log Analytics Workspace ID and Primary Key for the specified project.", - "operationId": "KeysPost", + "operationId": "Projects_GetKeys", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2071,9 +2026,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -2101,21 +2053,14 @@ } }, "x-ms-examples": { - "KeysPost": { - "$ref": "./examples/KeysPost.json" + "Projects_GetKeys": { + "$ref": "./examples/Projects_GetKeys.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all machines in the project", "description": "Get data of all the machines available in the project. Returns a json array of objects of type 'machine' defined in Models section.", "operationId": "Machines_ListByProject", @@ -2136,9 +2081,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of all machine objects.", @@ -2165,6 +2107,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Machines_ListByProject": { "$ref": "./examples/Machines_ListByProject.json" @@ -2174,16 +2119,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/machines/{machineName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get a specific machine.", "description": "Get the machine with the specified name. Returns a json object of type 'machine' defined in Models section.", - "operationId": "GetMachine", + "operationId": "Machines_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2204,9 +2142,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns the machine with the specified name.", @@ -2234,21 +2169,14 @@ } }, "x-ms-examples": { - "GetMachine": { - "$ref": "./examples/GetMachine.json" + "Machines_Get": { + "$ref": "./examples/Machines_Get.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all groups", "description": "Get all groups created in the project. Returns a json array of objects of type 'group' as specified in the Models section.", "operationId": "Groups_ListByProject", @@ -2269,9 +2197,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of groups.", @@ -2298,6 +2223,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Groups_ListByProject": { "$ref": "./examples/Groups_ListByProject.json" @@ -2307,19 +2235,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get a specific group.", "description": "Get information related to a specific group in the project. Returns a json object of type 'group' as specified in the models section.", - "operationId": "GetGroup", - "produces": [ - "application/json" - ], + "operationId": "Groups_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2367,22 +2285,15 @@ } }, "x-ms-examples": { - "GetGroup": { - "$ref": "./examples/GetGroup.json" + "Groups_Get": { + "$ref": "./examples/Groups_Get.json" } } }, "put": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Create a new group with specified settings. If group with the name provided already exists, then the existing group is updated.", "description": "Create a new group by sending a json object of type 'group' as given in Models section as part of the Request Body. The group name in a project is unique. Labels can be applied on a group as part of creation.\n\nIf a group with the groupName specified in the URL already exists, then this call acts as an update.\n\nThis operation is Idempotent.\n", - "operationId": "CreateGroup", + "operationId": "Groups_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2396,9 +2307,6 @@ { "$ref": "#/parameters/groupName" }, - { - "$ref": "#/parameters/contentType" - }, { "$ref": "#/parameters/acceptLanguage" }, @@ -2453,22 +2361,15 @@ } }, "x-ms-examples": { - "CreateGroup": { - "$ref": "./examples/CreateGroup.json" + "Groups_Create": { + "$ref": "./examples/Groups_Create.json" } } }, "delete": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Delete the group", "description": "Delete the group from the project. The machines remain in the project. Deleting a non-existent group results in a no-operation.\n\nA group is an aggregation mechanism for machines in a project. Therefore, deleting group does not delete machines in it.\n", - "operationId": "DeleteGroup", + "operationId": "Groups_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2516,21 +2417,14 @@ } }, "x-ms-examples": { - "DeleteGroup": { - "$ref": "./examples/DeleteGroup.json" + "Groups_Delete": { + "$ref": "./examples/Groups_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all assessments created for the specified group.", "description": "Get all assessments created for the specified group.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", "operationId": "Assessments_ListByGroup", @@ -2554,9 +2448,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of Assessment objects.", @@ -2583,6 +2474,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Assessments_ListByGroup": { "$ref": "./examples/Assessments_ListByGroup.json" @@ -2592,13 +2486,6 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/assessments": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get all assessments created in the project.", "description": "Get all assessments created in the project.\n\nReturns a json array of objects of type 'assessment' as specified in Models section.\n", "operationId": "Assessments_ListByProject", @@ -2619,9 +2506,6 @@ "$ref": "#/parameters/api-version" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK. Returns list of Assessment objects.", @@ -2648,6 +2532,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "Assessments_ListByProject": { "$ref": "./examples/Assessments_ListByProject.json" @@ -2657,19 +2544,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get an assessment.", "description": "Get an existing assessment with the specified name. Returns a json object of type 'assessment' as specified in Models section.", - "operationId": "GetAssessment", - "produces": [ - "application/json" - ], + "operationId": "Assessments_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2720,22 +2597,15 @@ } }, "x-ms-examples": { - "GetAssessment": { - "$ref": "./examples/GetAssessment.json" + "Assessments_Get": { + "$ref": "./examples/Assessments_Get.json" } } }, "put": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Create or Update assessment.", "description": "Create a new assessment with the given name and the specified settings. Since name of an assessment in a project is a unique identiefier, if an assessment with the name provided already exists, then the existing assessment is updated.\n\nAny PUT operation, resulting in either create or update on an assessment, will cause the assessment to go in a \"InProgress\" state. This will be indicated by the field 'computationState' on the Assessment object. During this time no other PUT operation will be allowed on that assessment object, nor will a Delete operation. Once the computation for the assessment is complete, the field 'computationState' will be updated to 'Ready', and then other PUT or DELETE operations can happen on the assessment.\n\nWhen assessment is under computation, any PUT will lead to a 400 - Bad Request error.\n", - "operationId": "CreateAssessment", + "operationId": "Assessments_Create", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2806,22 +2676,15 @@ } }, "x-ms-examples": { - "CreateAssessment": { - "$ref": "./examples/CreateAssessment.json" + "Assessments_Create": { + "$ref": "./examples/Assessments_Create.json" } } }, "delete": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Deletes an assessment from the project.", "description": "Delete an assessment from the project. The machines remain in the assessment. Deleting a non-existent assessment results in a no-operation.\n\nWhen an assessment is under computation, as indicated by the 'computationState' field, it cannot be deleted. Any such attempt will return a 400 - Bad Request.\n", - "operationId": "DeleteAssessment", + "operationId": "Assessments_Delete", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2872,24 +2735,17 @@ } }, "x-ms-examples": { - "DeleteAssessment": { - "$ref": "./examples/DeleteAssessment.json" + "Assessments_Delete": { + "$ref": "./examples/Assessments_Delete.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/downloadUrl": { "post": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get download URL for the assessment report.", "description": "Get the URL for downloading the assessment in a report format.", - "operationId": "DownloadUrlPost", + "operationId": "Assessments_GetReportDownloadUrl", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -2913,9 +2769,6 @@ "$ref": "#/parameters/acceptLanguage" } ], - "produces": [ - "application/json" - ], "responses": { "200": { "description": "OK.", @@ -2943,27 +2796,17 @@ } }, "x-ms-examples": { - "DownloadUrlPost": { - "$ref": "./examples/DownloadUrlPost.json" + "Assessments_GetReportDownloadUrl": { + "$ref": "./examples/Assessments_GetReportDownloadUrl.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get assessed machines for assessment.", "description": "Get list of machines that assessed as part of the specified assessment. Returns a json array of objects of type 'assessedMachine' as specified in the Models section.\n\nWhenever an assessment is created or updated, it goes under computation. During this phase, the 'status' field of Assessment object reports 'Computing'.\nDuring the period when the assessment is under computation, the list of assessed machines is empty and no assessed machines are returned by this call.\n", "operationId": "AssessedMachines_ListByAssessment", - "produces": [ - "application/json" - ], "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -3013,6 +2856,9 @@ "description": "Service Unavailable." } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { "AssessedMachines_ListByAssessment": { "$ref": "./examples/AssessedMachines_ListByAssessment.json" @@ -3022,19 +2868,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/projects/{projectName}/groups/{groupName}/assessments/{assessmentName}/assessedMachines/{assessedMachineName}": { "get": { - "security": [ - { - "azure_auth": [ - "user_impersonation" - ] - } - ], "summary": "Get an assessed machine.", "description": "Get an assessed machine with its size & cost estimnate that was evaluated in the specified assessment.", - "operationId": "GetAssessedMachine", - "produces": [ - "application/json" - ], + "operationId": "AssessedMachines_Get", "parameters": [ { "$ref": "#/parameters/subscriptionId" @@ -3088,8 +2924,8 @@ } }, "x-ms-examples": { - "GetAssessedMachine": { - "$ref": "./examples/GetAssessedMachine.json" + "AssessedMachines_Get": { + "$ref": "./examples/AssessedMachines_Get.json" } } } @@ -3098,10 +2934,7 @@ "get": { "summary": "Get list of operations supported in the API.", "description": "Get a list of REST API supported by Microsoft.Migrate provider.", - "operationId": "Operations_list", - "produces": [ - "application/json" - ], + "operationId": "Operations_List", "responses": { "200": { "description": "OK. Returns list of operations.", @@ -3110,8 +2943,11 @@ } } }, + "x-ms-pageable": { + "nextLinkName": null + }, "x-ms-examples": { - "Operations_list": { + "Operations_List": { "$ref": "./examples/Operations_List.json" } } From 8b87b00e7c9f96b14a93992bc700c8712a64cbf4 Mon Sep 17 00:00:00 2001 From: ronehr Date: Thu, 15 Feb 2018 21:50:24 +0530 Subject: [PATCH 3/4] Modifying dictionary definition in rest api specs --- .../2017-11-11-preview/migrate.json | 75 ++++++++----------- .../Microsoft.Migrate/2018-02-02/migrate.json | 70 ++++++++--------- 2 files changed, 62 insertions(+), 83 deletions(-) diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json index 8438c704e92a..77f6c3721234 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json @@ -609,11 +609,6 @@ "type": "object", "description": "A disk discovered on a machine.", "properties": { - "name": { - "type": "string", - "description": "Name of the disk as defined in private data-center.", - "readOnly": true - }, "gigabytesProvisioned": { "type": "number", "format": "double", @@ -773,33 +768,29 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, + "description": "Dictionary of disks attached to the machine.", "properties": { - "key": { - "type": "string", - "description": "Unique identifier of a disk.", - "readOnly": true - }, - "value": { - "description": "Disk object.", - "$ref": "#/definitions/Disk" + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/Disk" + } } } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is ID of disk. Value is a network adapter object", - "readOnly": true, + "description": "Dictionary of network adapters attached to the machine.", "properties": { - "key": { - "type": "string", - "description": "Unique identifier of a network adapter.", - "readOnly": true - }, - "value": { - "description": "Network Adapter object.", - "$ref": "#/definitions/NetworkAdapter" + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/NetworkAdapter" + } } } } @@ -1132,33 +1123,29 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, + "description": "Dictionary of disks attached to the machine. Key is ID of disk.", "properties": { - "key": { - "type": "string", - "description": "Name of the disk.", - "readOnly": true - }, - "value": { - "description": "Assessed Disk object.", - "$ref": "#/definitions/AssessedDisk" + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedDisk" + } } } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object", - "readOnly": true, + "description": "Dictionary of network adapters attached to the machine.", "properties": { - "key": { + "networkAdapters": { "type": "string", - "description": "Name of the network adapter.", - "readOnly": true - }, - "value": { - "description": "Assessed Network Adapter object.", - "$ref": "#/definitions/AssessedNetworkAdapter" + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedNetworkAdapter" + } } } }, diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json index fe7ff9910923..302e65ec184e 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json @@ -826,33 +826,29 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, + "description": "Dictionary of disks attached to the machine.", "properties": { - "key": { - "type": "string", - "description": "Unique identifier of a disk.", - "readOnly": true - }, - "value": { - "description": "Disk object.", - "$ref": "#/definitions/Disk" + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/Disk" + } } } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is ID of disk. Value is a network adapter object", - "readOnly": true, + "description": "Dictionary of network adapters attached to the machine.", "properties": { - "key": { - "type": "string", - "description": "Unique identifier of a network adapter.", - "readOnly": true - }, - "value": { - "description": "Network Adapter object.", - "$ref": "#/definitions/NetworkAdapter" + "networkAdapters": { + "type": "object", + "description": "Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/NetworkAdapter" + } } } } @@ -1276,33 +1272,29 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, + "description": "Dictionary of disks attached to the machine. Key is ID of disk.", "properties": { - "key": { - "type": "string", - "description": "Name of the disk.", - "readOnly": true - }, - "value": { - "description": "Assessed Disk object.", - "$ref": "#/definitions/AssessedDisk" + "disks": { + "type": "object", + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedDisk" + } } } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object", - "readOnly": true, + "description": "Dictionary of network adapters attached to the machine.", "properties": { - "key": { + "networkAdapters": { "type": "string", - "description": "Name of the network adapter.", - "readOnly": true - }, - "value": { - "description": "Assessed Network Adapter object.", - "$ref": "#/definitions/AssessedNetworkAdapter" + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedNetworkAdapter" + } } } }, From 807b610912801d705f219c122b9c72c1f608cac6 Mon Sep 17 00:00:00 2001 From: ronehr Date: Thu, 1 Mar 2018 11:34:38 +0530 Subject: [PATCH 4/4] Defining dictionary in data model --- .../2017-11-11-preview/migrate.json | 65 +++++++------------ .../Microsoft.Migrate/2018-02-02/migrate.json | 60 +++++------------ 2 files changed, 41 insertions(+), 84 deletions(-) diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json index 77f6c3721234..4a6b8a24e41c 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2017-11-11-preview/migrate.json @@ -609,7 +609,7 @@ "type": "object", "description": "A disk discovered on a machine.", "properties": { - "gigabytesProvisioned": { + "gigabytesAllocated": { "type": "number", "format": "double", "description": "Gigabytes of storage provisioned for this disk.", @@ -768,30 +768,18 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine.", - "properties": { - "disks": { - "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/Disk" - } - } + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/Disk" } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine.", - "properties": { - "networkAdapters": { - "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/NetworkAdapter" - } - } + "description": "Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/NetworkAdapter" } } } @@ -800,6 +788,11 @@ "type": "object", "description": "A disk assessed for an assessment.", "properties": { + "name": { + "type": "string", + "description": "Name of the assessed disk.", + "readOnly": true + }, "gigabytesProvisioned": { "type": "number", "format": "double", @@ -882,7 +875,7 @@ "modelAsString": true } }, - "gigabytesForRecommendedSize": { + "gigabytesForRecommendedDiskSize": { "type": "integer", "format": "int32", "description": "Gigabytes of storage provided by the recommended Azure disk size.", @@ -1123,30 +1116,18 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk.", - "properties": { - "disks": { - "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/AssessedDisk" - } - } + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedDisk" } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine.", - "properties": { - "networkAdapters": { - "type": "string", - "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/AssessedNetworkAdapter" - } - } + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedNetworkAdapter" } }, "recommendedSize": { diff --git a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json index 302e65ec184e..6027e3f59785 100644 --- a/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json +++ b/specification/migrate/resource-manager/Microsoft.Migrate/2018-02-02/migrate.json @@ -667,7 +667,7 @@ "type": "object", "description": "A disk discovered on a machine.", "properties": { - "gigabytesProvisioned": { + "gigabytesAllocated": { "type": "number", "format": "double", "description": "Gigabytes of storage provisioned for this disk.", @@ -826,30 +826,18 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine.", - "properties": { - "disks": { - "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/Disk" - } - } + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/Disk" } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine.", - "properties": { - "networkAdapters": { - "type": "object", - "description": "Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/NetworkAdapter" - } - } + "description": "Dictionary of network adapters attached to the machine. Key is ID of network adapter. Value is a network adapter object", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/NetworkAdapter" } } } @@ -1001,7 +989,7 @@ "modelAsString": true } }, - "gigabytesForRecommendedSize": { + "gigabytesForRecommendedDiskSize": { "type": "integer", "format": "int32", "description": "Gigabytes of storage provided by the recommended Azure disk size.", @@ -1272,30 +1260,18 @@ }, "disks": { "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk.", - "properties": { - "disks": { - "type": "object", - "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/AssessedDisk" - } - } + "description": "Dictionary of disks attached to the machine. Key is ID of disk. Value is a disk object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedDisk" } }, "networkAdapters": { "type": "object", - "description": "Dictionary of network adapters attached to the machine.", - "properties": { - "networkAdapters": { - "type": "string", - "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.", - "readOnly": true, - "additionalProperties": { - "$ref": "#/definitions/AssessedNetworkAdapter" - } - } + "description": "Dictionary of network adapters attached to the machine. Key is name of the adapter. Value is a network adapter object.", + "readOnly": true, + "additionalProperties": { + "$ref": "#/definitions/AssessedNetworkAdapter" } }, "recommendedSize": {