Azure Migrate Hub icon

Azure Migrate Hub

Migrate your workloads to Azure

COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "contact": {
      "email": "azuremigratehub@microsoft.com",
      "name": "Microsoft"
    },
    "description": "Migrate your workloads to Azure.",
    "title": "Azure Migrate Hub",
    "version": "2018-09-01-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/migrateprojects/resource-manager/Microsoft.Migrate/preview/2018-09-01-preview/migrate.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "azure.com",
    "x-serviceName": "migrateprojects-migrate",
    "x-tags": [
      "Azure",
      "Microsoft"
    ]
  },
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "azure_auth": {
      "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
      "description": "Azure Active Directory OAuth2 Flow",
      "flow": "implicit",
      "scopes": {
        "user_impersonation": "impersonate your user account"
      },
      "type": "oauth2"
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ],
  "parameters": {
    "acceptLanguage": {
      "description": "Standard request header. Used by service to respond to client in appropriate language.",
      "in": "header",
      "name": "Accept-Language",
      "type": "string",
      "x-ms-parameter-location": "client"
    },
    "api-version": {
      "description": "Standard request header. Used by service to identify API version used by client.",
      "enum": [
        "2018-09-01-preview"
      ],
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "continuationToken": {
      "description": "The continuation token.",
      "in": "query",
      "name": "continuationToken",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "databaseInstanceName": {
      "description": "Unique name of a database instance in Azure migration hub.",
      "in": "path",
      "name": "databaseInstanceName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "databaseName": {
      "description": "Unique name of a database in Azure migration hub.",
      "in": "path",
      "name": "databaseName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "eventName": {
      "description": "Unique name of an event within a migrate project.",
      "in": "path",
      "name": "eventName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "machineName": {
      "description": "Unique name of a machine in Azure migration hub.",
      "in": "path",
      "name": "machineName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "migrateProjectName": {
      "description": "Name of the Azure Migrate project.",
      "in": "path",
      "name": "migrateProjectName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "pageSize": {
      "description": "The number of items to be returned in a single page. This value is honored only if it is less than the 100.",
      "in": "query",
      "name": "pageSize",
      "required": false,
      "type": "integer",
      "x-ms-parameter-location": "method"
    },
    "resourceGroupName": {
      "description": "Name of the Azure Resource Group that migrate project is part of.",
      "in": "path",
      "name": "resourceGroupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "solutionName": {
      "description": "Unique name of a migration solution within a migrate project.",
      "in": "path",
      "name": "solutionName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "subscriptionId": {
      "description": "Azure Subscription Id in which migrate project was created.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/Microsoft.Migrate/operations": {
      "get": {
        "description": "Get a list of REST API supported by Microsoft.Migrate provider.",
        "operationId": "Operations_List",
        "responses": {
          "200": {
            "description": "OK. Returns list of operations.",
            "schema": {
              "$ref": "#/definitions/OperationResultList"
            }
          }
        },
        "summary": "Get list of operations supported in the API.",
        "x-ms-examples": {
          "Operations_List": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "display": {
                        "description": "Reads a migrate project",
                        "operation": "Read",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Creates or updates a migrate project",
                        "operation": "Write",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Deletes a migrate project",
                        "operation": "Delete",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Registers a tool with the migrate project",
                        "operation": "Register tool with migrate project",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/registerTool/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Reads a solution",
                        "operation": "Read",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Solutions"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Solutions/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Creates or updates a solution",
                        "operation": "Write",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Solutions"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Solutions/write",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Deletes a solution",
                        "operation": "Delete",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Solutions"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Solutions/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Cleans up data for a solution",
                        "operation": "Cleans up solution data",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Solutions"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Solutions/cleanupData/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Gets configuration of a solution",
                        "operation": "Gets solution config",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Solutions"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Solutions/getConfig/action",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Reads a machine",
                        "operation": "Read",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Machines"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Machines/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Reads a migrate event",
                        "operation": "Read",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/MigrateEvents"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/MigrateEvents/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Deletes a migrate event",
                        "operation": "Delete",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/MigrateEvents"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/MigrateEvents/delete",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Reads a database",
                        "operation": "Read",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/Databases"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/Databases/read",
                      "origin": "user,system"
                    },
                    {
                      "display": {
                        "description": "Reads a database instance",
                        "operation": "Read",
                        "provider": "Microsoft.Migrate",
                        "resource": "Microsoft.Migrate/MigrateProjects/DatabaseInstances"
                      },
                      "name": "Microsoft.Migrate/MigrateProjects/DatabaseInstances/read",
                      "origin": "user,system"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": null
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}": {
      "delete": {
        "deprecated": false,
        "description": "Delete the migrate project. Deleting non-existent project is a no-operation.",
        "operationId": "MigrateProjects_DeleteMigrateProject",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "Delete the migrate project",
        "tags": [
          "MigrateProjects"
        ],
        "x-ms-examples": {
          "MigrateProjects_Delete": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {}
            }
          }
        }
      },
      "get": {
        "deprecated": false,
        "operationId": "MigrateProjects_GetMigrateProject",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MigrateProject"
            }
          }
        },
        "summary": "Method to get a migrate project.",
        "tags": [
          "MigrateProjects"
        ],
        "x-ms-examples": {
          "MigrateProjects_Get": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "eTag": "\"1c0018c7-0000-0000-0000-5c936e530000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01",
                  "location": "",
                  "name": "project01",
                  "properties": {
                    "lastSummaryRefreshedTime": "2019-05-27T12:01:18.6070869Z",
                    "refreshSummaryState": "Completed",
                    "registeredTools": [
                      "ServerMigration"
                    ],
                    "summary": {
                      "databases": {
                        "extendedSummary": {},
                        "instanceType": "Databases",
                        "lastSummaryRefreshedTime": "2019-05-27T12:01:18.6070869Z",
                        "refreshSummaryState": "Completed"
                      },
                      "servers": {
                        "assessedCount": 0,
                        "discoveredCount": 0,
                        "extendedSummary": {
                          "microsoftDiscoveredCount": "0"
                        },
                        "instanceType": "Servers",
                        "lastSummaryRefreshedTime": "2019-05-27T12:01:18.6070869Z",
                        "migratedCount": 0,
                        "refreshSummaryState": "Completed",
                        "replicatingCount": 0,
                        "testMigratedCount": 0
                      }
                    }
                  },
                  "type": "Microsoft.Migrate/MigrateProjects"
                }
              }
            }
          }
        }
      },
      "patch": {
        "deprecated": false,
        "description": "Update a migrate project with specified name. Supports partial updates, for example only tags can be provided.",
        "operationId": "MigrateProjects_PatchMigrateProject",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "Body with migrate project details.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MigrateProject"
            }
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MigrateProject"
            }
          }
        },
        "summary": "Update migrate project.",
        "tags": [
          "MigrateProjects"
        ],
        "x-ms-examples": {
          "MigrateProjects_Patch": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "body": {
                "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"",
                "location": "Southeast Asia",
                "properties": {
                  "registeredTools": [
                    "ServerMigration"
                  ]
                },
                "tags": {}
              },
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01",
                  "location": "Southeast Asia",
                  "name": "project01",
                  "properties": {
                    "lastSummaryRefreshedTime": "2018-11-12T13:11:10.8808917Z",
                    "registeredTools": [
                      "ServerMigration"
                    ],
                    "summary": {}
                  },
                  "tags": {},
                  "type": "Microsoft.Migrate/MigrateProjects"
                }
              }
            }
          }
        }
      },
      "put": {
        "deprecated": false,
        "operationId": "MigrateProjects_PutMigrateProject",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "Body with migrate project details.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/MigrateProject"
            }
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MigrateProject"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/MigrateProject"
            }
          }
        },
        "summary": "Method to create or update a migrate project.",
        "tags": [
          "MigrateProjects"
        ],
        "x-ms-examples": {
          "MigrateProjects_Put": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "body": {
                "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"",
                "location": "Southeast Asia",
                "properties": {},
                "tags": {}
              },
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01",
                  "location": "Southeast Asia",
                  "name": "project01",
                  "properties": {
                    "lastSummaryRefreshedTime": "2018-11-12T13:11:10.8808917Z",
                    "registeredTools": [],
                    "summary": {}
                  },
                  "tags": {},
                  "type": "Microsoft.Migrate/MigrateProjects"
                }
              },
              "201": {
                "body": {
                  "eTag": "\"b701c73a-0000-0000-0000-59c12ff00000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01",
                  "location": "Southeast Asia",
                  "name": "project01",
                  "properties": {
                    "lastSummaryRefreshedTime": "2018-11-12T13:11:10.8808917Z",
                    "registeredTools": [],
                    "summary": {}
                  },
                  "tags": {},
                  "type": "Microsoft.Migrate/MigrateProjects"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/databaseInstances": {
      "get": {
        "deprecated": false,
        "operationId": "DatabaseInstances_EnumerateDatabaseInstances",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/continuationToken"
          },
          {
            "$ref": "#/parameters/pageSize"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DatabaseInstanceCollection"
            }
          }
        },
        "summary": "Gets a list of database instances in the migrate project.",
        "tags": [
          "DatabaseInstances"
        ],
        "x-ms-examples": {
          "DatabaseInstances_List": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": null,
                  "value": [
                    {
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/DatabaseInstances/71710b61-8637-4beb-9ede-4449296eb80b",
                      "name": "71710b61-8637-4beb-9ede-4449296eb80b",
                      "properties": {
                        "discoveryData": [
                          {
                            "enqueueTime": "5/4/2019 6:45:51 AM",
                            "extendedInfo": null,
                            "hostName": null,
                            "instanceId": "abc",
                            "instanceName": "sql2002",
                            "instanceType": "SQL",
                            "instanceVersion": "2.0.0.0",
                            "ipAddress": null,
                            "lastUpdatedTime": null,
                            "portNumber": 0,
                            "solutionName": "serversolution"
                          }
                        ],
                        "lastUpdatedTime": "2019-05-04T06:45:53.2530098Z",
                        "summary": {
                          "dbsolution": {
                            "databasesAssessedCount": 0,
                            "migrationReadyCount": 0
                          }
                        }
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/DatabaseInstances"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/databaseInstances/{databaseInstanceName}": {
      "get": {
        "deprecated": false,
        "operationId": "DatabaseInstances_GetDatabaseInstance",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/databaseInstanceName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DatabaseInstance"
            }
          }
        },
        "summary": "Gets a database instance in the migrate project.",
        "tags": [
          "DatabaseInstances"
        ],
        "x-ms-examples": {
          "DatabaseInstances_Get": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "databaseInstanceName": "myinstance",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/DatabaseInstances/myinstance",
                  "name": "myinstance",
                  "properties": {
                    "discoveryData": [
                      {
                        "enqueueTime": "5/4/2019 6:45:51 AM",
                        "extendedInfo": null,
                        "hostName": null,
                        "instanceId": "abc",
                        "instanceName": "sql2002",
                        "instanceType": "SQL",
                        "instanceVersion": "2.0.0.0",
                        "ipAddress": null,
                        "lastUpdatedTime": null,
                        "portNumber": 0,
                        "solutionName": "serversolution"
                      }
                    ],
                    "lastUpdatedTime": "2019-05-04T06:45:53.2530098Z",
                    "summary": {
                      "dbsolution": {
                        "databasesAssessedCount": 0,
                        "migrationReadyCount": 0
                      }
                    }
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/DatabaseInstances"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/databases": {
      "get": {
        "deprecated": false,
        "operationId": "Databases_EnumerateDatabases",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/continuationToken"
          },
          {
            "$ref": "#/parameters/pageSize"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/DatabaseCollection"
            }
          }
        },
        "summary": "Gets a list of databases in the migrate project.",
        "tags": [
          "Databases"
        ],
        "x-ms-examples": {
          "Databases_List": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": null,
                  "value": [
                    {
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Databases/8e7aae48-f7cf-4f7b-942f-243921aa20e2",
                      "name": "8e7aae48-f7cf-4f7b-942f-243921aa20e2",
                      "properties": {
                        "assessmentData": [
                          {
                            "assessmentId": "myassessment",
                            "assessmentTargetType": "SQL",
                            "breakingChangesCount": 0,
                            "compatibilityLevel": null,
                            "databaseName": "mydb",
                            "databaseSizeInMB": null,
                            "enqueueTime": "5/4/2019 6:46:37 AM",
                            "extendedInfo": null,
                            "instanceId": "abc",
                            "isReadyForMigration": true,
                            "lastAssessedTime": "2019-05-04T06:46:40.4340421Z",
                            "lastUpdatedTime": null,
                            "migrationBlockersCount": 0,
                            "solutionName": "serversolution"
                          }
                        ],
                        "lastUpdatedTime": "2019-05-04T06:46:40.4340421Z"
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/Databases"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/databases/{databaseName}": {
      "get": {
        "deprecated": false,
        "operationId": "Databases_GetDatabase",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/databaseName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Database"
            }
          }
        },
        "summary": "Gets a database in the migrate project.",
        "tags": [
          "Databases"
        ],
        "x-ms-examples": {
          "Databases_Get": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "databaseName": "mydb",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Databases/mydb",
                  "name": "mydb",
                  "properties": {
                    "assessmentData": [
                      {
                        "assessmentId": "myassessment",
                        "assessmentTargetType": "SQL",
                        "breakingChangesCount": 0,
                        "compatibilityLevel": null,
                        "databaseName": "mydb",
                        "databaseSizeInMB": null,
                        "enqueueTime": "5/4/2019 6:46:37 AM",
                        "extendedInfo": null,
                        "instanceId": "abc",
                        "isReadyForMigration": true,
                        "lastAssessedTime": "2019-05-04T06:46:40.4340421Z",
                        "lastUpdatedTime": null,
                        "migrationBlockersCount": 0,
                        "solutionName": "serversolution"
                      }
                    ],
                    "lastUpdatedTime": "2019-05-04T06:46:40.4340421Z"
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/Databases"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/machines": {
      "get": {
        "deprecated": false,
        "operationId": "Machines_EnumerateMachines",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/continuationToken"
          },
          {
            "$ref": "#/parameters/pageSize"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MachineCollection"
            }
          }
        },
        "summary": "Gets a list of machines in the migrate project.",
        "tags": [
          "Machines"
        ],
        "x-ms-examples": {
          "Machines_List": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/machines/vm1",
                      "name": "vm1",
                      "properties": {
                        "assessmentData": [
                          {
                            "assessmentId": "myid1",
                            "biosId": null,
                            "enqueueTime": "2017-09-12T13:11:20.8808917Z",
                            "extendedInfo": {
                              "custom2": "mycustomvalue"
                            },
                            "fqdn": null,
                            "ipAddresses": null,
                            "macAddresses": null,
                            "machineId": "abcd",
                            "machineManagerId": "efgh",
                            "machineName": "vm1",
                            "solutionName": "mysolution",
                            "targetStorageType": {
                              "disk1": "Standard"
                            },
                            "targetVMLocation": "eastus",
                            "targetVMSize": "Standard_D4_v2"
                          }
                        ],
                        "discoveryData": [
                          {
                            "biosId": null,
                            "enqueueTime": "2017-09-12T13:11:10.8808917Z",
                            "extendedInfo": {
                              "custom1": "mycustomvalue"
                            },
                            "fqdn": null,
                            "ipAddresses": null,
                            "macAddresses": null,
                            "machineId": "abcd",
                            "machineManagerId": "efgh",
                            "machineName": "vm1",
                            "osName": "windows server 2012 R2",
                            "osType": "windows",
                            "osVersion": "10.0.01",
                            "solutionName": "mysolution"
                          }
                        ],
                        "migrationData": [
                          {
                            "biosId": null,
                            "enqueueTime": "2017-09-12T13:11:30.8808917Z",
                            "extendedInfo": {
                              "custom3": "mycustomvalue"
                            },
                            "fqdn": null,
                            "ipAddresses": null,
                            "macAddresses": null,
                            "machineId": "abcd",
                            "machineManagerId": "efgh",
                            "machineName": "vm1",
                            "migrationPhase": "Migrated",
                            "migrationTested": true,
                            "replicationProgressPercentage": 100,
                            "solutionName": "mysolution",
                            "targetVMArmId": "/subscriptions/abc/resourcegroups/rg/providers/microsoft.compute/virtualmachines/vm1"
                          }
                        ]
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/machines"
                    },
                    {
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/machines/vm2",
                      "name": "vm2",
                      "properties": {
                        "assessmentData": [
                          {
                            "assessmentId": "myid1",
                            "biosId": null,
                            "enqueueTime": "2017-09-12T13:11:20.8808917Z",
                            "extendedInfo": {
                              "custom2": "mycustomvalue"
                            },
                            "fqdn": null,
                            "ipAddresses": null,
                            "macAddresses": null,
                            "machineId": "xyz",
                            "machineManagerId": "efgh",
                            "machineName": "vm2",
                            "solutionName": "mysolution",
                            "targetStorageType": {
                              "disk1": "Standard"
                            },
                            "targetVMLocation": "eastus",
                            "targetVMSize": "Standard_D4_v2"
                          }
                        ],
                        "discoveryData": [
                          {
                            "biosId": null,
                            "enqueueTime": "2017-09-12T13:11:10.8808917Z",
                            "extendedInfo": {
                              "custom1": "mycustomvalue"
                            },
                            "fqdn": null,
                            "ipAddresses": null,
                            "macAddresses": null,
                            "machineId": "xyz",
                            "machineManagerId": "efgh",
                            "machineName": "vm2",
                            "osName": "windows server 2012 R2",
                            "osType": "windows",
                            "osVersion": "10.0.01",
                            "solutionName": "mysolution"
                          }
                        ],
                        "migrationData": [
                          {
                            "biosId": null,
                            "enqueueTime": "2017-09-12T13:11:30.8808917Z",
                            "extendedInfo": {
                              "custom3": "mycustomvalue"
                            },
                            "fqdn": null,
                            "ipAddresses": null,
                            "macAddresses": null,
                            "machineId": "xyz",
                            "machineManagerId": "efgh",
                            "machineName": "vm2",
                            "migrationPhase": "Migrated",
                            "migrationTested": true,
                            "replicationProgressPercentage": 100,
                            "solutionName": "mysolution",
                            "targetVMArmId": "/subscriptions/abc/resourcegroups/rg/providers/microsoft.compute/virtualmachines/vm2"
                          }
                        ]
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/machines"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/machines/{machineName}": {
      "get": {
        "deprecated": false,
        "operationId": "Machines_GetMachine",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/machineName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Machine"
            }
          }
        },
        "summary": "Gets a machine in the migrate project.",
        "tags": [
          "Machines"
        ],
        "x-ms-examples": {
          "Machines_Get": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "machineName": "vm1",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/machines/vm1",
                  "name": "vm1",
                  "properties": {
                    "assessmentData": [
                      {
                        "assessmentId": "myid1",
                        "biosId": null,
                        "enqueueTime": "2017-09-12T13:11:20.8808917Z",
                        "extendedInfo": {
                          "custom2": "mycustomvalue"
                        },
                        "fqdn": null,
                        "ipAddresses": null,
                        "macAddresses": null,
                        "machineId": "abcd",
                        "machineManagerId": "efgh",
                        "machineName": "vm1",
                        "solutionName": "mysolution",
                        "targetStorageType": {
                          "disk1": "Standard"
                        },
                        "targetVMLocation": "eastus",
                        "targetVMSize": "Standard_D4_v2"
                      }
                    ],
                    "discoveryData": [
                      {
                        "biosId": null,
                        "enqueueTime": "2017-09-12T13:11:10.8808917Z",
                        "extendedInfo": {
                          "custom1": "mycustomvalue"
                        },
                        "fqdn": null,
                        "ipAddresses": null,
                        "macAddresses": null,
                        "machineId": "abcd",
                        "machineManagerId": "efgh",
                        "machineName": "vm1",
                        "osName": "windows server 2012 R2",
                        "osType": "windows",
                        "osVersion": "10.0.01",
                        "solutionName": "mysolution"
                      }
                    ],
                    "migrationData": [
                      {
                        "biosId": null,
                        "enqueueTime": "2017-09-12T13:11:30.8808917Z",
                        "extendedInfo": {
                          "custom3": "mycustomvalue"
                        },
                        "fqdn": null,
                        "ipAddresses": null,
                        "macAddresses": null,
                        "machineId": "abcd",
                        "machineManagerId": "efgh",
                        "machineName": "vm1",
                        "migrationPhase": "Migrated",
                        "migrationTested": true,
                        "replicationProgressPercentage": 100,
                        "solutionName": "mysolution",
                        "targetVMArmId": "/subscriptions/abc/resourcegroups/rg/providers/microsoft.compute/virtualmachines/vm1"
                      }
                    ]
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/machines"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/migrateEvents": {
      "get": {
        "deprecated": false,
        "operationId": "Events_EnumerateEvents",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/continuationToken"
          },
          {
            "$ref": "#/parameters/pageSize"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/EventCollection"
            }
          }
        },
        "summary": "Gets a list of events in the migrate project.",
        "tags": [
          "Events"
        ],
        "x-ms-examples": {
          "MigrateEvents_List": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/MigrateEvents/b80e3c0f-70c0-4057-81e7-14cfa9ebb205",
                      "name": "b80e3c0f-70c0-4057-81e7-14cfa9ebb205",
                      "properties": {
                        "clientRequestId": "a5dd7e42-4fd1-4512-af04-83ad9864335c",
                        "errorCode": "600",
                        "errorMessage": "The message does not contain the required parameters to identify the machine.",
                        "instanceType": "Servers",
                        "machine": "server1",
                        "possibleCauses": "The mandatory fields are not provided.",
                        "recommendation": "Resolve the error and try again.",
                        "solution": "serversolution"
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/MigrateEvents"
                    },
                    {
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/MigrateEvents/041dc61e-8568-40f7-b9b3-c66233ace714",
                      "name": "041dc61e-8568-40f7-b9b3-c66233ace714",
                      "properties": {
                        "clientRequestId": "cf861fa5-9a2e-4a9f-b51c-8054efa8e75f",
                        "database": "db1",
                        "databaseInstanceId": "cD",
                        "errorCode": "608",
                        "errorMessage": "The message does not contain the required parameters to identify the database.",
                        "instanceType": "Databases",
                        "possibleCauses": "The mandatory fields are not provided.",
                        "recommendation": "Resolve the error and try again.",
                        "solution": "dbsolution"
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/MigrateEvents"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/migrateEvents/{eventName}": {
      "delete": {
        "deprecated": false,
        "description": "Delete the migrate event. Deleting non-existent migrate event is a no-operation.",
        "operationId": "Events_DeleteEvent",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/eventName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "Delete the migrate event",
        "tags": [
          "Events"
        ],
        "x-ms-examples": {
          "MigrateEvents_Delete": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "eventName": "MigrateEvent01",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {}
            }
          }
        }
      },
      "get": {
        "deprecated": false,
        "operationId": "Events_GetEvent",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/eventName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/MigrateEvent"
            }
          }
        },
        "summary": "Gets an event in the migrate project.",
        "tags": [
          "Events"
        ],
        "x-ms-examples": {
          "MigrateEvents_Get": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "eventName": "MigrateEvent01",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/MigrateEvents/MigrateEvent01",
                  "name": "MigrateEvent01",
                  "properties": {
                    "clientRequestId": "a5dd7e42-4fd1-4512-af04-83ad9864335c",
                    "errorCode": "600",
                    "errorMessage": "The message does not contain the required parameters to identify the machine.",
                    "instanceType": "Servers",
                    "machine": "myvm",
                    "possibleCauses": "The mandatory fields are not provided.",
                    "recommendation": "Resolve the error and try again.",
                    "solution": "serversolution"
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/MigrateEvents"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/refreshSummary": {
      "post": {
        "deprecated": false,
        "operationId": "MigrateProjects_RefreshMigrateProjectSummary",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "The goal input which needs to be refreshed.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RefreshSummaryInput"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RefreshSummaryResult"
            }
          }
        },
        "summary": "Refresh the summary of the migrate project.",
        "tags": [
          "MigrateProjects"
        ],
        "x-ms-examples": {
          "MigrateProjects_RefreshSummary": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "input": {
                "goal": "Servers"
              },
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "isRefreshed": true
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/registerTool": {
      "post": {
        "deprecated": false,
        "operationId": "MigrateProjects_RegisterTool",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "description": "Input containing the name of the tool to be registered.",
            "in": "body",
            "name": "input",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RegisterToolInput"
            }
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/RegistrationResult"
            }
          }
        },
        "summary": "Registers a tool with the migrate project.",
        "tags": [
          "MigrateProjects"
        ],
        "x-ms-examples": {
          "MigrateProjects_RegisterTool": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "input": {
                "tool": "ServerMigration"
              },
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "isRegistered": true
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/solutions": {
      "get": {
        "deprecated": false,
        "operationId": "Solutions_EnumerateSolutions",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SolutionsCollection"
            }
          }
        },
        "summary": "Gets the list of solutions in the migrate project.",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_List": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "nextLink": null,
                  "value": [
                    {
                      "etag": "\"1c0018c7-0000-0000-0000-5c936e530000\"",
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Solutions/dbsolution",
                      "name": "dbsolution",
                      "properties": {
                        "cleanupState": "None",
                        "details": {
                          "assessmentCount": 0,
                          "extendedDetails": {
                            "mykey": "myvalue"
                          },
                          "groupCount": 0
                        },
                        "goal": "Databases",
                        "purpose": "Assessment",
                        "status": "Inactive",
                        "summary": {
                          "databaseInstancesAssessedCount": 0,
                          "databasesAssessedCount": 0,
                          "instanceType": "Databases",
                          "migrationReadyCount": 0
                        },
                        "tool": "DataMigrationAssistant"
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/Solutions"
                    },
                    {
                      "etag": "\"1c001dc7-0000-0000-0000-5c936e6f0000\"",
                      "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Solutions/serversolution",
                      "name": "serversolution",
                      "properties": {
                        "cleanupState": "None",
                        "details": {
                          "assessmentCount": 0,
                          "extendedDetails": {
                            "mykey": "myvalue"
                          },
                          "groupCount": 0
                        },
                        "goal": "Servers",
                        "purpose": "Discovery",
                        "status": "Inactive",
                        "summary": {
                          "assessedCount": 0,
                          "discoveredCount": 0,
                          "instanceType": "Servers",
                          "migratedCount": 0,
                          "replicatingCount": 0,
                          "testMigratedCount": 0
                        },
                        "tool": "ServerDiscovery"
                      },
                      "type": "Microsoft.Migrate/MigrateProjects/Solutions"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/solutions/{solutionName}": {
      "delete": {
        "deprecated": false,
        "description": "Delete the solution. Deleting non-existent project is a no-operation.",
        "operationId": "Solutions_DeleteSolution",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/solutionName"
          },
          {
            "$ref": "#/parameters/api-version"
          },
          {
            "$ref": "#/parameters/acceptLanguage"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "Delete the solution",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_Delete": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "solutionName": "smssolution",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {}
            }
          }
        }
      },
      "get": {
        "deprecated": false,
        "operationId": "Solutions_GetSolution",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/solutionName"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Solution"
            }
          }
        },
        "summary": "Gets a solution in the migrate project.",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_Get": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "solutionName": "dbsolution",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "\"1c0018c7-0000-0000-0000-5c936e530000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Solutions/dbsolution",
                  "name": "dbsolution",
                  "properties": {
                    "cleanupState": "None",
                    "details": {
                      "assessmentCount": 0,
                      "extendedDetails": {
                        "mykey": "myvalue"
                      },
                      "groupCount": 0
                    },
                    "goal": "Databases",
                    "purpose": "Assessment",
                    "status": "Active",
                    "summary": {
                      "databaseInstancesAssessedCount": 0,
                      "databasesAssessedCount": 0,
                      "instanceType": "Databases",
                      "migrationReadyCount": 0
                    },
                    "tool": "DataMigrationAssistant"
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/Solutions"
                }
              }
            }
          }
        }
      },
      "patch": {
        "deprecated": false,
        "description": "Update a solution with specified name. Supports partial updates, for example only tags can be provided.",
        "operationId": "Solutions_PatchSolution",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/solutionName"
          },
          {
            "description": "The input for the solution.",
            "in": "body",
            "name": "solutionInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Solution"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Solution"
            }
          }
        },
        "summary": "Update solution.",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_Patch": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "solutionInput": {
                "properties": {
                  "status": "Active"
                }
              },
              "solutionName": "dbsolution",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "\"1c0018c7-0000-0000-0000-5c936e530000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Solutions/dbsolution",
                  "name": "dbsolution",
                  "properties": {
                    "cleanupState": "None",
                    "details": {
                      "assessmentCount": 0,
                      "extendedDetails": {
                        "mykey": "myvalue"
                      },
                      "groupCount": 0
                    },
                    "goal": "Databases",
                    "purpose": "Assessment",
                    "status": "Active",
                    "summary": {
                      "databaseInstancesAssessedCount": 0,
                      "databasesAssessedCount": 0,
                      "instanceType": "Databases",
                      "migrationReadyCount": 0
                    },
                    "tool": "DataMigrationAssistant"
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/Solutions"
                }
              }
            }
          }
        }
      },
      "put": {
        "deprecated": false,
        "operationId": "Solutions_PutSolution",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/solutionName"
          },
          {
            "description": "The input for the solution.",
            "in": "body",
            "name": "solutionInput",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Solution"
            }
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Solution"
            }
          },
          "201": {
            "description": "Created",
            "schema": {
              "$ref": "#/definitions/Solution"
            }
          }
        },
        "summary": "Creates a solution in the migrate project.",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_Put": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "solutionInput": {
                "properties": {
                  "goal": "Databases",
                  "purpose": "Assessment",
                  "tool": "DataMigrationAssistant"
                }
              },
              "solutionName": "dbsolution",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "\"1c0018c7-0000-0000-0000-5c936e530000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Solutions/dbsolution",
                  "name": "dbsolution",
                  "properties": {
                    "cleanupState": "None",
                    "details": {
                      "assessmentCount": 0,
                      "extendedDetails": {
                        "mykey": "myvalue"
                      },
                      "groupCount": 0
                    },
                    "goal": "Databases",
                    "purpose": "Assessment",
                    "status": "Active",
                    "summary": {
                      "databaseInstancesAssessedCount": 0,
                      "databasesAssessedCount": 0,
                      "instanceType": "Databases",
                      "migrationReadyCount": 0
                    },
                    "tool": "DataMigrationAssistant"
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/Solutions"
                }
              },
              "201": {
                "body": {
                  "etag": "\"1c0018c7-0000-0000-0000-5c936e530000\"",
                  "id": "/subscriptions/75dd7e42-4fd1-4512-af04-83ad9864335b/resourceGroups/myResourceGroup/providers/Microsoft.Migrate/MigrateProjects/project01/Solutions/dbsolution",
                  "name": "dbsolution",
                  "properties": {
                    "cleanupState": "None",
                    "details": {
                      "assessmentCount": 0,
                      "extendedDetails": {
                        "mykey": "myvalue"
                      },
                      "groupCount": 0
                    },
                    "goal": "Databases",
                    "purpose": "Assessment",
                    "status": "Active",
                    "summary": {
                      "databaseInstancesAssessedCount": 0,
                      "databasesAssessedCount": 0,
                      "instanceType": "Databases",
                      "migrationReadyCount": 0
                    },
                    "tool": "DataMigrationAssistant"
                  },
                  "type": "Microsoft.Migrate/MigrateProjects/Solutions"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/solutions/{solutionName}/cleanupData": {
      "post": {
        "deprecated": false,
        "operationId": "Solutions_CleanupSolutionData",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/solutionName"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        },
        "summary": "Cleanup the solution data in the migrate project.",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_CleanupData": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "solutionName": "smssolution",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {}
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Migrate/migrateProjects/{migrateProjectName}/solutions/{solutionName}/getConfig": {
      "post": {
        "deprecated": false,
        "operationId": "Solutions_GetConfig",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/resourceGroupName"
          },
          {
            "$ref": "#/parameters/migrateProjectName"
          },
          {
            "$ref": "#/parameters/solutionName"
          },
          {
            "$ref": "#/parameters/api-version"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/SolutionConfig"
            }
          }
        },
        "summary": "Gets the config for the solution in the migrate project.",
        "tags": [
          "Solutions"
        ],
        "x-ms-examples": {
          "Solutions_GetConfig": {
            "parameters": {
              "api-version": "2018-09-01-preview",
              "migrateProjectName": "project01",
              "resourceGroupName": "myResourceGroup",
              "solutionName": "smssolution",
              "subscriptionId": "75dd7e42-4fd1-4512-af04-83ad9864335b"
            },
            "responses": {
              "200": {
                "body": {
                  "publisherSasUri": "Endpoint=sb://xxx.servicebus.windows.net/;SharedAccessSignature=SharedAccessSignature sr=sb%3a%2f%2fxxx.servicebus.windows.net%2fIsvMigrationPayloadEventHub%2fPublishers%2ffad35230-08cd-4d96-bb75-6e41508adb3b-pub-smssolution&sig=Wpf0ORIJI9AFESLDLlJH1ejrUj2W7hy%2fMac%2f7ewZ6j8%3d&se=1541501430&skn=SendPolicy;EntityPath=xyz;Publisher=fad35230-08cd-4d96-bb75-6e41508adb3b-pub-smssolution"
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "ApplyClause": {
      "properties": {
        "transformations": {
          "items": {
            "$ref": "#/definitions/TransformationNode"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "AssessmentDetails": {
      "description": "Assessment properties that can be shared by various publishers.",
      "properties": {
        "assessmentId": {
          "description": "Gets or sets the id of the assessment done on the machine.",
          "type": "string"
        },
        "biosId": {
          "description": "Gets or sets the BIOS ID of the machine.",
          "type": "string"
        },
        "enqueueTime": {
          "description": "Gets or sets the time the message was enqueued.",
          "type": "string"
        },
        "extendedInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the ISV specific extended information.",
          "type": "object"
        },
        "fabricType": {
          "description": "Gets or sets the fabric type.",
          "type": "string"
        },
        "fqdn": {
          "description": "Gets or sets the FQDN of the machine.",
          "type": "string"
        },
        "ipAddresses": {
          "description": "Gets or sets the list of IP addresses of the machine. IP addresses could be IP V4 or IP V6.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the machine details.",
          "format": "date-time",
          "type": "string"
        },
        "macAddresses": {
          "description": "Gets or sets the list of MAC addresses of the machine.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "machineId": {
          "description": "Gets or sets the unique identifier of the machine.",
          "type": "string"
        },
        "machineManagerId": {
          "description": "Gets or sets the unique identifier of the virtual machine manager(vCenter/VMM).",
          "type": "string"
        },
        "machineName": {
          "description": "Gets or sets the name of the machine.",
          "type": "string"
        },
        "solutionName": {
          "description": "Gets or sets the name of the solution that sent the data.",
          "type": "string"
        },
        "targetStorageType": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the target storage type.",
          "type": "object"
        },
        "targetVMLocation": {
          "description": "Gets or sets the target VM location.",
          "type": "string"
        },
        "targetVMSize": {
          "description": "Gets or sets the target VM size.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Database": {
      "description": "Database REST resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the relative URL to get to this REST resource.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the name of this REST resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/DatabaseProperties",
          "description": "Gets or sets the properties of the database."
        },
        "type": {
          "description": "Gets the type of this REST resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "DatabaseAssessmentDetails": {
      "description": "Assessment properties that can be shared by various publishers.",
      "properties": {
        "assessmentId": {
          "description": "Gets or sets the database assessment scope/Id.",
          "type": "string"
        },
        "assessmentTargetType": {
          "description": "Gets or sets the assessed target database type.",
          "type": "string"
        },
        "breakingChangesCount": {
          "description": "Gets or sets the number of breaking changes found.",
          "format": "int32",
          "type": "integer"
        },
        "compatibilityLevel": {
          "description": "Gets or sets the compatibility level of the database.",
          "type": "string"
        },
        "databaseName": {
          "description": "Gets or sets the database name.",
          "type": "string"
        },
        "databaseSizeInMB": {
          "description": "Gets or sets the database size.",
          "type": "string"
        },
        "enqueueTime": {
          "description": "Gets or sets the time the message was enqueued.",
          "type": "string"
        },
        "extendedInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the extended properties of the database.",
          "type": "object"
        },
        "instanceId": {
          "description": "Gets or sets the database server instance Id.",
          "type": "string"
        },
        "isReadyForMigration": {
          "description": "Gets or sets a value indicating whether the database is ready for migration.",
          "type": "boolean"
        },
        "lastAssessedTime": {
          "description": "Gets or sets the time when the database was last assessed.",
          "format": "date-time",
          "type": "string"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the database details.",
          "format": "date-time",
          "type": "string"
        },
        "migrationBlockersCount": {
          "description": "Gets or sets the number of blocking changes found.",
          "format": "int32",
          "type": "integer"
        },
        "solutionName": {
          "description": "Gets or sets the name of the solution that sent the data.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DatabaseCollection": {
      "description": "Collection of databases.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the value of nextLink.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the databases.",
          "items": {
            "$ref": "#/definitions/Database"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DatabaseInstance": {
      "description": "DatabaseInstance REST resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the relative URL to get to this REST resource.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the name of this REST resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/DatabaseInstanceProperties",
          "description": "Gets or sets the properties of the machine."
        },
        "type": {
          "description": "Gets the type of this REST resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "DatabaseInstanceCollection": {
      "description": "Collection of database instances.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the value of nextLink.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the database instances.",
          "items": {
            "$ref": "#/definitions/DatabaseInstance"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DatabaseInstanceDiscoveryDetails": {
      "description": "Discovery properties that can be shared by various publishers.",
      "properties": {
        "enqueueTime": {
          "description": "Gets or sets the time the message was enqueued.",
          "type": "string"
        },
        "extendedInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the extended properties of the database server.",
          "type": "object"
        },
        "hostName": {
          "description": "Gets or sets the host name of the database server.",
          "type": "string"
        },
        "instanceId": {
          "description": "Gets or sets the database instance Id.",
          "type": "string"
        },
        "instanceName": {
          "description": "Gets or sets the database instance name.",
          "type": "string"
        },
        "instanceType": {
          "description": "Gets or sets the database instance type.",
          "type": "string"
        },
        "instanceVersion": {
          "description": "Gets or sets the database instance version.",
          "type": "string"
        },
        "ipAddress": {
          "description": "Gets or sets the IP addresses of the database server. IP addresses could be IP V4 or IP V6.",
          "type": "string"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the database instance details.",
          "format": "date-time",
          "type": "string"
        },
        "portNumber": {
          "description": "Gets or sets the port number of the database server.",
          "format": "int32",
          "type": "integer"
        },
        "solutionName": {
          "description": "Gets or sets the name of the solution that sent the data.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DatabaseInstanceProperties": {
      "description": "Properties of the database instance resource.",
      "properties": {
        "discoveryData": {
          "description": "Gets or sets the assessment details of the database instance published by various sources.",
          "items": {
            "$ref": "#/definitions/DatabaseInstanceDiscoveryDetails"
          },
          "type": "array"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the database.",
          "format": "date-time",
          "type": "string"
        },
        "summary": {
          "additionalProperties": {
            "$ref": "#/definitions/DatabaseInstanceSummary"
          },
          "description": "Gets or sets the database instances summary per solution. The key of dictionary is the solution name and value is the corresponding database instance summary object.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "DatabaseInstanceSummary": {
      "description": "Class representing the database instance summary object.",
      "properties": {
        "databasesAssessedCount": {
          "description": "Gets or sets the count of databases assessed.",
          "format": "int32",
          "type": "integer"
        },
        "migrationReadyCount": {
          "description": "Gets or sets the count of databases ready for migration.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DatabaseMigrateEventProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/MigrateEventProperties"
        }
      ],
      "description": "Properties of the database error resource.",
      "properties": {
        "database": {
          "description": "Gets or sets the database for which the error is being reported.",
          "type": "string"
        },
        "databaseInstanceId": {
          "description": "Gets or sets the database instance for which the error is being reported.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Databases"
    },
    "DatabaseProjectSummary": {
      "allOf": [
        {
          "$ref": "#/definitions/ProjectSummary"
        }
      ],
      "description": "The database project summary class.",
      "properties": {},
      "type": "object",
      "x-ms-discriminator-value": "Databases"
    },
    "DatabaseProperties": {
      "description": "Properties of the database resource.",
      "properties": {
        "assessmentData": {
          "description": "Gets or sets the assessment details of the database published by various sources.",
          "items": {
            "$ref": "#/definitions/DatabaseAssessmentDetails"
          },
          "type": "array"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the database.",
          "format": "date-time",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DatabasesSolutionSummary": {
      "allOf": [
        {
          "$ref": "#/definitions/SolutionSummary"
        }
      ],
      "description": "Class representing the databases solution summary.",
      "properties": {
        "databaseInstancesAssessedCount": {
          "description": "Gets or sets the count of database instances assessed.",
          "format": "int32",
          "type": "integer"
        },
        "databasesAssessedCount": {
          "description": "Gets or sets the count of databases assessed.",
          "format": "int32",
          "type": "integer"
        },
        "migrationReadyCount": {
          "description": "Gets or sets the count of databases ready for migration.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Databases"
    },
    "DefaultQuerySettings": {
      "properties": {
        "enableCount": {
          "type": "boolean"
        },
        "enableExpand": {
          "type": "boolean"
        },
        "enableFilter": {
          "type": "boolean"
        },
        "enableOrderBy": {
          "type": "boolean"
        },
        "enableSelect": {
          "type": "boolean"
        },
        "maxTop": {
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "DiscoveryDetails": {
      "description": "Discovery properties that can be published by various ISVs.",
      "properties": {
        "biosId": {
          "description": "Gets or sets the BIOS ID of the machine.",
          "type": "string"
        },
        "enqueueTime": {
          "description": "Gets or sets the time the message was enqueued.",
          "type": "string"
        },
        "extendedInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the ISV specific extended information.",
          "type": "object"
        },
        "fabricType": {
          "description": "Gets or sets the fabric type.",
          "type": "string"
        },
        "fqdn": {
          "description": "Gets or sets the FQDN of the machine.",
          "type": "string"
        },
        "ipAddresses": {
          "description": "Gets or sets the list of IP addresses of the machine. IP addresses could be IP V4 or IP V6.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the machine details.",
          "format": "date-time",
          "type": "string"
        },
        "macAddresses": {
          "description": "Gets or sets the list of MAC addresses of the machine.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "machineId": {
          "description": "Gets or sets the unique identifier of the machine.",
          "type": "string"
        },
        "machineManagerId": {
          "description": "Gets or sets the unique identifier of the virtual machine manager(vCenter/VMM).",
          "type": "string"
        },
        "machineName": {
          "description": "Gets or sets the name of the machine.",
          "type": "string"
        },
        "osName": {
          "description": "Gets or sets the OS name.",
          "type": "string"
        },
        "osType": {
          "description": "Gets or sets the OS type.",
          "type": "string"
        },
        "osVersion": {
          "description": "Gets or sets the OS version.",
          "type": "string"
        },
        "solutionName": {
          "description": "Gets or sets the name of the solution that sent the data.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EdmReferentialConstraintPropertyPair": {
      "properties": {
        "dependentProperty": {
          "$ref": "#/definitions/IEdmStructuralProperty",
          "readOnly": true
        },
        "principalProperty": {
          "$ref": "#/definitions/IEdmStructuralProperty",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "EventCollection": {
      "description": "Collection of events.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the value of nextLink.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the machines.",
          "items": {
            "$ref": "#/definitions/MigrateEvent"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FilterClause": {
      "properties": {
        "expression": {
          "$ref": "#/definitions/SingleValueNode",
          "readOnly": true
        },
        "itemType": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        },
        "rangeVariable": {
          "$ref": "#/definitions/RangeVariable",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "FilterQueryOption": {
      "properties": {
        "context": {
          "$ref": "#/definitions/ODataQueryContext",
          "readOnly": true
        },
        "filterClause": {
          "$ref": "#/definitions/FilterClause",
          "readOnly": true
        },
        "rawValue": {
          "readOnly": true,
          "type": "string"
        },
        "validator": {
          "$ref": "#/definitions/FilterQueryValidator"
        }
      },
      "type": "object"
    },
    "FilterQueryValidator": {
      "properties": {},
      "type": "object"
    },
    "IEdmDirectValueAnnotationsManager": {
      "properties": {},
      "type": "object"
    },
    "IEdmEntityContainer": {
      "properties": {
        "elements": {
          "items": {
            "$ref": "#/definitions/IEdmEntityContainerElement"
          },
          "readOnly": true,
          "type": "array"
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "namespace": {
          "readOnly": true,
          "type": "string"
        },
        "schemaElementKind": {
          "enum": [
            "None",
            "TypeDefinition",
            "Term",
            "Action",
            "EntityContainer",
            "Function"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEdmEntityContainerElement": {
      "properties": {
        "container": {
          "$ref": "#/definitions/IEdmEntityContainer",
          "readOnly": true
        },
        "containerElementKind": {
          "enum": [
            "None",
            "EntitySet",
            "ActionImport",
            "FunctionImport",
            "Singleton"
          ],
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEdmExpression": {
      "properties": {
        "expressionKind": {
          "enum": [
            "None",
            "BinaryConstant",
            "BooleanConstant",
            "DateTimeOffsetConstant",
            "DecimalConstant",
            "FloatingConstant",
            "GuidConstant",
            "IntegerConstant",
            "StringConstant",
            "DurationConstant",
            "Null",
            "Record",
            "Collection",
            "Path",
            "If",
            "Cast",
            "IsType",
            "FunctionApplication",
            "LabeledExpressionReference",
            "Labeled",
            "PropertyPath",
            "NavigationPropertyPath",
            "DateConstant",
            "TimeOfDayConstant",
            "EnumMember",
            "AnnotationPath"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEdmModel": {
      "properties": {
        "declaredNamespaces": {
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "type": "array"
        },
        "directValueAnnotationsManager": {
          "$ref": "#/definitions/IEdmDirectValueAnnotationsManager",
          "readOnly": true
        },
        "entityContainer": {
          "$ref": "#/definitions/IEdmEntityContainer",
          "readOnly": true
        },
        "referencedModels": {
          "items": {
            "$ref": "#/definitions/IEdmModel"
          },
          "readOnly": true,
          "type": "array"
        },
        "schemaElements": {
          "items": {
            "$ref": "#/definitions/IEdmSchemaElement"
          },
          "readOnly": true,
          "type": "array"
        },
        "vocabularyAnnotations": {
          "items": {
            "$ref": "#/definitions/IEdmVocabularyAnnotation"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IEdmNavigationProperty": {
      "properties": {
        "containsTarget": {
          "readOnly": true,
          "type": "boolean"
        },
        "declaringType": {
          "$ref": "#/definitions/IEdmStructuredType",
          "readOnly": true
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "onDelete": {
          "enum": [
            "None",
            "Cascade"
          ],
          "readOnly": true,
          "type": "string"
        },
        "partner": {
          "$ref": "#/definitions/IEdmNavigationProperty",
          "readOnly": true
        },
        "propertyKind": {
          "enum": [
            "None",
            "Structural",
            "Navigation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "referentialConstraint": {
          "$ref": "#/definitions/IEdmReferentialConstraint",
          "readOnly": true
        },
        "type": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEdmNavigationPropertyBinding": {
      "properties": {
        "navigationProperty": {
          "$ref": "#/definitions/IEdmNavigationProperty",
          "readOnly": true
        },
        "path": {
          "$ref": "#/definitions/IEdmPathExpression",
          "readOnly": true
        },
        "target": {
          "$ref": "#/definitions/IEdmNavigationSource",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEdmNavigationSource": {
      "properties": {
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "navigationPropertyBindings": {
          "items": {
            "$ref": "#/definitions/IEdmNavigationPropertyBinding"
          },
          "readOnly": true,
          "type": "array"
        },
        "path": {
          "$ref": "#/definitions/IEdmPathExpression",
          "readOnly": true
        },
        "type": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEdmPathExpression": {
      "properties": {
        "expressionKind": {
          "enum": [
            "None",
            "BinaryConstant",
            "BooleanConstant",
            "DateTimeOffsetConstant",
            "DecimalConstant",
            "FloatingConstant",
            "GuidConstant",
            "IntegerConstant",
            "StringConstant",
            "DurationConstant",
            "Null",
            "Record",
            "Collection",
            "Path",
            "If",
            "Cast",
            "IsType",
            "FunctionApplication",
            "LabeledExpressionReference",
            "Labeled",
            "PropertyPath",
            "NavigationPropertyPath",
            "DateConstant",
            "TimeOfDayConstant",
            "EnumMember",
            "AnnotationPath"
          ],
          "readOnly": true,
          "type": "string"
        },
        "path": {
          "readOnly": true,
          "type": "string"
        },
        "pathSegments": {
          "items": {
            "type": "string"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IEdmProperty": {
      "properties": {
        "declaringType": {
          "$ref": "#/definitions/IEdmStructuredType",
          "readOnly": true
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "propertyKind": {
          "enum": [
            "None",
            "Structural",
            "Navigation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEdmReferentialConstraint": {
      "properties": {
        "propertyPairs": {
          "items": {
            "$ref": "#/definitions/EdmReferentialConstraintPropertyPair"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "IEdmSchemaElement": {
      "properties": {
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "namespace": {
          "readOnly": true,
          "type": "string"
        },
        "schemaElementKind": {
          "enum": [
            "None",
            "TypeDefinition",
            "Term",
            "Action",
            "EntityContainer",
            "Function"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEdmStructuralProperty": {
      "properties": {
        "declaringType": {
          "$ref": "#/definitions/IEdmStructuredType",
          "readOnly": true
        },
        "defaultValueString": {
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "propertyKind": {
          "enum": [
            "None",
            "Structural",
            "Navigation"
          ],
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEdmStructuredType": {
      "properties": {
        "baseType": {
          "$ref": "#/definitions/IEdmStructuredType",
          "readOnly": true
        },
        "declaredProperties": {
          "items": {
            "$ref": "#/definitions/IEdmProperty"
          },
          "readOnly": true,
          "type": "array"
        },
        "isAbstract": {
          "readOnly": true,
          "type": "boolean"
        },
        "isOpen": {
          "readOnly": true,
          "type": "boolean"
        },
        "typeKind": {
          "enum": [
            "None",
            "Primitive",
            "Entity",
            "Complex",
            "Collection",
            "EntityReference",
            "Enum",
            "TypeDefinition",
            "Untyped",
            "Path"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEdmTerm": {
      "properties": {
        "appliesTo": {
          "readOnly": true,
          "type": "string"
        },
        "defaultValue": {
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "namespace": {
          "readOnly": true,
          "type": "string"
        },
        "schemaElementKind": {
          "enum": [
            "None",
            "TypeDefinition",
            "Term",
            "Action",
            "EntityContainer",
            "Function"
          ],
          "readOnly": true,
          "type": "string"
        },
        "type": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IEdmType": {
      "properties": {
        "typeKind": {
          "enum": [
            "None",
            "Primitive",
            "Entity",
            "Complex",
            "Collection",
            "EntityReference",
            "Enum",
            "TypeDefinition",
            "Untyped",
            "Path"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "IEdmTypeReference": {
      "properties": {
        "definition": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        },
        "isNullable": {
          "readOnly": true,
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "IEdmVocabularyAnnotatable": {
      "properties": {},
      "type": "object"
    },
    "IEdmVocabularyAnnotation": {
      "properties": {
        "qualifier": {
          "readOnly": true,
          "type": "string"
        },
        "target": {
          "$ref": "#/definitions/IEdmVocabularyAnnotatable",
          "readOnly": true
        },
        "term": {
          "$ref": "#/definitions/IEdmTerm",
          "readOnly": true
        },
        "value": {
          "$ref": "#/definitions/IEdmExpression",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "IServiceProvider": {
      "properties": {},
      "type": "object"
    },
    "Machine": {
      "description": "Machine REST resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the relative URL to get to this REST resource.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the name of this REST resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/MachineProperties",
          "description": "Gets or sets the properties of the machine."
        },
        "type": {
          "description": "Gets the type of this REST resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "MachineCollection": {
      "description": "Collection of machines.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the value of nextLink.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the machines.",
          "items": {
            "$ref": "#/definitions/Machine"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MachineMigrateEventProperties": {
      "allOf": [
        {
          "$ref": "#/definitions/MigrateEventProperties"
        }
      ],
      "description": "Properties of the machine error resource.",
      "properties": {
        "machine": {
          "description": "Gets or sets the machine for which the error is being reported.",
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Servers"
    },
    "MachineProperties": {
      "description": "Properties of the machine resource.",
      "properties": {
        "assessmentData": {
          "description": "Gets or sets the assessment details of the machine published by various sources.",
          "items": {
            "$ref": "#/definitions/AssessmentDetails"
          },
          "type": "array"
        },
        "discoveryData": {
          "description": "Gets or sets the discovery details of the machine published by various sources.",
          "items": {
            "$ref": "#/definitions/DiscoveryDetails"
          },
          "type": "array"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the machine.",
          "format": "date-time",
          "type": "string"
        },
        "migrationData": {
          "description": "Gets or sets the migration details of the machine published by various sources.",
          "items": {
            "$ref": "#/definitions/MigrationDetails"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "MigrateEvent": {
      "description": "MigrateEvent REST resource.",
      "properties": {
        "id": {
          "description": "Gets or sets the relative URL to get to this REST resource.",
          "type": "string"
        },
        "name": {
          "description": "Gets or sets the name of this REST resource.",
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/MigrateEventProperties",
          "description": "Gets or sets the properties of the event."
        },
        "type": {
          "description": "Gets the type of this REST resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "MigrateEventProperties": {
      "description": "Properties of the error resource.",
      "discriminator": "instanceType",
      "properties": {
        "clientRequestId": {
          "description": "Gets or sets the client request Id of the payload for which the event is being reported.",
          "type": "string"
        },
        "errorCode": {
          "description": "Gets or sets the error code.",
          "type": "string"
        },
        "errorMessage": {
          "description": "Gets or sets the error message.",
          "type": "string"
        },
        "instanceType": {
          "description": "Gets the Instance type.",
          "readOnly": true,
          "type": "string"
        },
        "possibleCauses": {
          "description": "Gets or sets the possible causes for the error.",
          "type": "string"
        },
        "recommendation": {
          "description": "Gets or sets the recommendation for the error.",
          "type": "string"
        },
        "solution": {
          "description": "Gets or sets the solution for which the error is being reported.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MigrateProject": {
      "description": "Migrate Project REST Resource.",
      "properties": {
        "eTag": {
          "description": "Gets or sets the eTag for concurrency control.",
          "type": "string"
        },
        "id": {
          "description": "Gets the relative URL to get this migrate project.",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Gets or sets the Azure location in which migrate project is created.",
          "type": "string"
        },
        "name": {
          "description": "Gets the name of the migrate project.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/MigrateProjectProperties",
          "description": "Gets or sets the nested properties."
        },
        "tags": {
          "description": "Gets or sets the tags.",
          "properties": {
            "additionalProperties": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": {
          "description": "Handled by resource provider. Type = Microsoft.Migrate/MigrateProject.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "MigrateProjectProperties": {
      "description": "Class for migrate project properties.",
      "properties": {
        "lastSummaryRefreshedTime": {
          "description": "Gets the last time the project summary was refreshed.",
          "format": "date-time",
          "readOnly": true,
          "type": "string"
        },
        "provisioningState": {
          "description": "Provisioning state of the migrate project.",
          "enum": [
            "Accepted",
            "Creating",
            "Deleting",
            "Failed",
            "Moving",
            "Succeeded"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProvisioningState"
          }
        },
        "refreshSummaryState": {
          "description": "Gets the refresh summary state.",
          "enum": [
            "Started",
            "InProgress",
            "Completed",
            "Failed"
          ],
          "readOnly": true,
          "type": "string"
        },
        "registeredTools": {
          "description": "Gets or sets the list of tools registered with the migrate project.",
          "items": {
            "enum": [
              "ServerDiscovery",
              "ServerAssessment",
              "ServerMigration",
              "Cloudamize",
              "Turbonomic",
              "Zerto",
              "CorentTech",
              "ServerAssessmentV1",
              "ServerMigration_Replication",
              "Carbonite",
              "DataMigrationAssistant",
              "DatabaseMigrationService"
            ],
            "type": "string"
          },
          "type": "array"
        },
        "summary": {
          "additionalProperties": {
            "$ref": "#/definitions/ProjectSummary"
          },
          "description": "Gets the summary of the migrate project.",
          "readOnly": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "MigrationDetails": {
      "description": "Migration properties that can be shared by various publishers.",
      "properties": {
        "biosId": {
          "description": "Gets or sets the BIOS ID of the machine.",
          "type": "string"
        },
        "enqueueTime": {
          "description": "Gets or sets the time the message was enqueued.",
          "type": "string"
        },
        "extendedInfo": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the ISV specific extended information.",
          "type": "object"
        },
        "fabricType": {
          "description": "Gets or sets the fabric type.",
          "type": "string"
        },
        "fqdn": {
          "description": "Gets or sets the FQDN of the machine.",
          "type": "string"
        },
        "ipAddresses": {
          "description": "Gets or sets the list of IP addresses of the machine. IP addresses could be IP V4 or IP V6.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "lastUpdatedTime": {
          "description": "Gets or sets the time of the last modification of the machine details.",
          "format": "date-time",
          "type": "string"
        },
        "macAddresses": {
          "description": "Gets or sets the list of MAC addresses of the machine.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "machineId": {
          "description": "Gets or sets the unique identifier of the machine.",
          "type": "string"
        },
        "machineManagerId": {
          "description": "Gets or sets the unique identifier of the virtual machine manager(vCenter/VMM).",
          "type": "string"
        },
        "machineName": {
          "description": "Gets or sets the name of the machine.",
          "type": "string"
        },
        "migrationPhase": {
          "description": "Gets or sets the phase of migration of the machine.",
          "type": "string"
        },
        "migrationTested": {
          "description": "Gets or sets a value indicating whether migration was tested on the machine.",
          "type": "boolean"
        },
        "replicationProgressPercentage": {
          "description": "Gets or sets the progress percentage of migration on the machine.",
          "format": "int32",
          "type": "integer"
        },
        "solutionName": {
          "description": "Gets or sets the name of the solution that sent the data.",
          "type": "string"
        },
        "targetVMArmId": {
          "description": "Gets or sets the ARM id the migrated VM.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ODataPath": {
      "properties": {
        "edmType": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        },
        "navigationSource": {
          "$ref": "#/definitions/IEdmNavigationSource",
          "readOnly": true
        },
        "path": {
          "items": {
            "$ref": "#/definitions/ODataPathSegment"
          },
          "readOnly": true,
          "type": "array"
        },
        "pathTemplate": {
          "readOnly": true,
          "type": "string"
        },
        "segments": {
          "items": {
            "$ref": "#/definitions/ODataPathSegment"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "ODataPathSegment": {
      "properties": {
        "edmType": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        },
        "identifier": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "ODataQueryContext": {
      "properties": {
        "defaultQuerySettings": {
          "$ref": "#/definitions/DefaultQuerySettings",
          "readOnly": true
        },
        "elementClrType": {
          "readOnly": true,
          "type": "string"
        },
        "elementType": {
          "$ref": "#/definitions/IEdmType",
          "readOnly": true
        },
        "model": {
          "$ref": "#/definitions/IEdmModel",
          "readOnly": true
        },
        "navigationSource": {
          "$ref": "#/definitions/IEdmNavigationSource",
          "readOnly": true
        },
        "path": {
          "$ref": "#/definitions/ODataPath",
          "readOnly": true
        },
        "requestContainer": {
          "$ref": "#/definitions/IServiceProvider",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ODataQueryOptions`1": {
      "properties": {
        "filter": {
          "$ref": "#/definitions/FilterQueryOption",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "ODataQueryValidator": {
      "properties": {},
      "type": "object"
    },
    "ODataRawQueryOptions": {
      "properties": {
        "filter": {
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "Object": {
      "properties": {},
      "type": "object"
    },
    "Operation": {
      "description": "A REST API operation supported by the provider.",
      "properties": {
        "display": {
          "$ref": "#/definitions/OperationDisplay",
          "description": "Displayable properties of the operation."
        },
        "name": {
          "description": "Name of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "origin": {
          "description": "Origin of the operation.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "OperationDisplay": {
      "description": "Displayable properties of the operation.",
      "properties": {
        "description": {
          "description": "Description of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "operation": {
          "description": "Operation Type.",
          "readOnly": true,
          "type": "string"
        },
        "provider": {
          "description": "Provider of the operation.",
          "readOnly": true,
          "type": "string"
        },
        "resource": {
          "description": "Resource operated on by the operation.",
          "readOnly": true,
          "type": "string"
        }
      },
      "readOnly": true,
      "type": "object"
    },
    "OperationResultList": {
      "description": "List of API operations.",
      "properties": {
        "value": {
          "description": "List of operations.",
          "items": {
            "$ref": "#/definitions/Operation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectSummary": {
      "description": "The project summary class.",
      "discriminator": "instanceType",
      "properties": {
        "extendedSummary": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the extended summary.",
          "type": "object"
        },
        "instanceType": {
          "description": "Gets the Instance type.",
          "readOnly": true,
          "type": "string"
        },
        "lastSummaryRefreshedTime": {
          "description": "Gets or sets the time when summary was last refreshed.",
          "format": "date-time",
          "type": "string"
        },
        "refreshSummaryState": {
          "description": "Gets or sets the state of refresh summary.",
          "enum": [
            "Started",
            "InProgress",
            "Completed",
            "Failed"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "RangeVariable": {
      "properties": {
        "kind": {
          "format": "int32",
          "readOnly": true,
          "type": "integer"
        },
        "name": {
          "readOnly": true,
          "type": "string"
        },
        "typeReference": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "RefreshSummaryInput": {
      "description": "Class representing the refresh summary input.",
      "properties": {
        "goal": {
          "description": "Gets or sets the goal for which summary needs to be refreshed.",
          "enum": [
            "Servers",
            "Databases"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "RefreshSummaryResult": {
      "description": "Class representing the refresh summary status of the migrate project.",
      "properties": {
        "isRefreshed": {
          "description": "Gets or sets a value indicating whether the migrate project summary is refreshed.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "RegisterToolInput": {
      "description": "Class representing the register tool input.",
      "properties": {
        "tool": {
          "description": "Gets or sets the tool to be registered.",
          "enum": [
            "ServerDiscovery",
            "ServerAssessment",
            "ServerMigration",
            "Cloudamize",
            "Turbonomic",
            "Zerto",
            "CorentTech",
            "ServerAssessmentV1",
            "ServerMigration_Replication",
            "Carbonite",
            "DataMigrationAssistant",
            "DatabaseMigrationService"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "RegistrationResult": {
      "description": "Class representing the registration status of a tool with the migrate project.",
      "properties": {
        "isRegistered": {
          "description": "Gets or sets a value indicating whether the tool is registered or not.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "SelectExpandClause": {
      "properties": {
        "allSelected": {
          "readOnly": true,
          "type": "boolean"
        },
        "selectedItems": {
          "items": {
            "$ref": "#/definitions/SelectItem"
          },
          "readOnly": true,
          "type": "array"
        }
      },
      "type": "object"
    },
    "SelectExpandQueryValidator": {
      "properties": {},
      "type": "object"
    },
    "SelectItem": {
      "properties": {},
      "type": "object"
    },
    "ServersProjectSummary": {
      "allOf": [
        {
          "$ref": "#/definitions/ProjectSummary"
        }
      ],
      "description": "Class representing the servers project summary.",
      "properties": {
        "assessedCount": {
          "description": "Gets or sets the count of entities assessed.",
          "format": "int32",
          "type": "integer"
        },
        "discoveredCount": {
          "description": "Gets or sets the count of entities discovered.",
          "format": "int32",
          "type": "integer"
        },
        "migratedCount": {
          "description": "Gets or sets the count of entities migrated.",
          "format": "int32",
          "type": "integer"
        },
        "replicatingCount": {
          "description": "Gets or sets the count of entities being replicated.",
          "format": "int32",
          "type": "integer"
        },
        "testMigratedCount": {
          "description": "Gets or sets the count of entities test migrated.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Servers"
    },
    "ServersSolutionSummary": {
      "allOf": [
        {
          "$ref": "#/definitions/SolutionSummary"
        }
      ],
      "description": "Class representing the servers solution summary.",
      "properties": {
        "assessedCount": {
          "description": "Gets or sets the count of servers assessed.",
          "format": "int32",
          "type": "integer"
        },
        "discoveredCount": {
          "description": "Gets or sets the count of servers discovered.",
          "format": "int32",
          "type": "integer"
        },
        "migratedCount": {
          "description": "Gets or sets the count of servers migrated.",
          "format": "int32",
          "type": "integer"
        },
        "replicatingCount": {
          "description": "Gets or sets the count of servers being replicated.",
          "format": "int32",
          "type": "integer"
        },
        "testMigratedCount": {
          "description": "Gets or sets the count of servers test migrated.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object",
      "x-ms-discriminator-value": "Servers"
    },
    "SingleValueNode": {
      "properties": {
        "kind": {
          "enum": [
            "None",
            "Constant",
            "Convert",
            "NonResourceRangeVariableReference",
            "BinaryOperator",
            "UnaryOperator",
            "SingleValuePropertyAccess",
            "CollectionPropertyAccess",
            "SingleValueFunctionCall",
            "Any",
            "CollectionNavigationNode",
            "SingleNavigationNode",
            "SingleValueOpenPropertyAccess",
            "SingleResourceCast",
            "All",
            "CollectionResourceCast",
            "ResourceRangeVariableReference",
            "SingleResourceFunctionCall",
            "CollectionFunctionCall",
            "CollectionResourceFunctionCall",
            "NamedFunctionParameter",
            "ParameterAlias",
            "EntitySet",
            "KeyLookup",
            "SearchTerm",
            "CollectionOpenPropertyAccess",
            "CollectionComplexNode",
            "SingleComplexNode",
            "Count",
            "SingleValueCast",
            "CollectionPropertyNode",
            "AggregatedCollectionPropertyNode",
            "In",
            "CollectionConstant"
          ],
          "readOnly": true,
          "type": "string"
        },
        "typeReference": {
          "$ref": "#/definitions/IEdmTypeReference",
          "readOnly": true
        }
      },
      "type": "object"
    },
    "Solution": {
      "description": "Solution REST Resource.",
      "properties": {
        "etag": {
          "description": "Gets or sets the ETAG for optimistic concurrency control.",
          "type": "string"
        },
        "id": {
          "description": "Gets the relative URL to get to this REST resource.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "Gets the name of this REST resource.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/SolutionProperties",
          "description": "Gets or sets the properties of the solution."
        },
        "type": {
          "description": "Gets the type of this REST resource.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "SolutionConfig": {
      "description": "Class representing the config for the solution in the migrate project.",
      "properties": {
        "publisherSasUri": {
          "description": "Gets or sets the publisher sas uri for the solution.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SolutionDetails": {
      "description": "Class representing the details of the solution.",
      "properties": {
        "assessmentCount": {
          "description": "Gets or sets the count of assessments reported by the solution.",
          "format": "int32",
          "type": "integer"
        },
        "extendedDetails": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Gets or sets the extended details reported by the solution.",
          "type": "object"
        },
        "groupCount": {
          "description": "Gets or sets the count of groups reported by the solution.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "SolutionProperties": {
      "description": "Class for solution properties.",
      "properties": {
        "cleanupState": {
          "description": "Gets or sets the cleanup state of the solution.",
          "enum": [
            "None",
            "Started",
            "InProgress",
            "Completed",
            "Failed"
          ],
          "type": "string"
        },
        "details": {
          "$ref": "#/definitions/SolutionDetails",
          "description": "Gets or sets the details of the solution."
        },
        "goal": {
          "description": "Gets or sets the goal of the solution.",
          "enum": [
            "Servers",
            "Databases"
          ],
          "type": "string"
        },
        "purpose": {
          "description": "Gets or sets the purpose of the solution.",
          "enum": [
            "Discovery",
            "Assessment",
            "Migration"
          ],
          "type": "string"
        },
        "status": {
          "description": "Gets or sets the current status of the solution.",
          "enum": [
            "Inactive",
            "Active"
          ],
          "type": "string"
        },
        "summary": {
          "$ref": "#/definitions/SolutionSummary",
          "description": "Gets or sets the summary of the solution."
        },
        "tool": {
          "description": "Gets or sets the tool being used in the solution.",
          "enum": [
            "ServerDiscovery",
            "ServerAssessment",
            "ServerMigration",
            "Cloudamize",
            "Turbonomic",
            "Zerto",
            "CorentTech",
            "ServerAssessmentV1",
            "ServerMigration_Replication",
            "Carbonite",
            "DataMigrationAssistant",
            "DatabaseMigrationService"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "SolutionSummary": {
      "description": "The solution summary class.",
      "discriminator": "instanceType",
      "properties": {
        "instanceType": {
          "description": "Gets the Instance type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "SolutionsCollection": {
      "description": "Collection of solutions.",
      "properties": {
        "nextLink": {
          "description": "Gets or sets the value of next link.",
          "type": "string"
        },
        "value": {
          "description": "Gets or sets the list of solutions.",
          "items": {
            "$ref": "#/definitions/Solution"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TransformationNode": {
      "properties": {
        "kind": {
          "enum": [
            "Aggregate",
            "GroupBy",
            "Filter",
            "Compute"
          ],
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}