{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "The Data Migration Service helps people migrate their data from on-premise database servers to Azure, or from older database software to newer software. The service manages one or more workers that are joined to a customer's virtual network, which is assumed to provide connectivity to their databases. To avoid frequent updates to the resource provider, data migration tasks are implemented by the resource provider in a generic way as task resources, each of which has a task type (which identifies the type of work to run), input, and output. The client is responsible for providing appropriate task type and inputs, which will be passed through unexamined to the machines that implement the functionality, and for understanding the output, which is passed back unexamined to the client.",
    "title": "Azure Data Migration Service Resource Provider",
    "version": "2017-11-15-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-ms-code-generation-settings": {
      "name": "DataMigrationServiceClient"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/datamigration/resource-manager/Microsoft.DataMigration/preview/2017-11-15-preview/datamigration.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "datamigration",
    "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": {
    "apiVersion": {
      "description": "Version of the API",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "deleteRunningTasks": {
      "description": "Delete the resource even if it contains running tasks",
      "in": "query",
      "name": "deleteRunningTasks",
      "required": false,
      "type": "boolean",
      "x-ms-parameter-location": "method"
    },
    "groupName": {
      "description": "Name of the resource group",
      "in": "path",
      "name": "groupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "location": {
      "description": "The Azure region of the operation",
      "in": "path",
      "name": "location",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "project": {
      "description": "Information about the project",
      "in": "body",
      "name": "parameters",
      "required": true,
      "schema": {
        "allOf": [
          {
            "allOf": [
              {
                "description": "ARM resource.",
                "properties": {
                  "id": {
                    "description": "Resource ID.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "name": {
                    "description": "Resource name.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "type": {
                    "description": "Resource type.",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "x-ms-azure-resource": true
              }
            ],
            "description": "ARM tracked top level resource.",
            "properties": {
              "location": {
                "description": "Resource location.",
                "type": "string",
                "x-ms-mutability": [
                  "read",
                  "create"
                ]
              },
              "tags": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Resource tags.",
                "type": "object",
                "x-ms-mutability": [
                  "read",
                  "create",
                  "update"
                ]
              }
            },
            "required": [
              "location"
            ]
          }
        ],
        "description": "A project resource",
        "properties": {
          "properties": {
            "description": "Project-specific properties",
            "properties": {
              "creationTime": {
                "description": "UTC Date and time when project was created",
                "format": "date-time",
                "readOnly": true,
                "type": "string"
              },
              "databasesInfo": {
                "description": "List of DatabaseInfo",
                "items": {
                  "description": "Project Database Details",
                  "properties": {
                    "sourceDatabaseName": {
                      "description": "Name of the database",
                      "type": "string"
                    }
                  },
                  "required": [
                    "sourceDatabaseName"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "provisioningState": {
                "description": "The project's provisioning state",
                "enum": [
                  "Deleting",
                  "Succeeded"
                ],
                "readOnly": true,
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": false,
                  "name": "ProjectProvisioningState"
                }
              },
              "sourceConnectionInfo": {
                "description": "Defines the connection properties of a server",
                "discriminator": "type",
                "properties": {
                  "password": {
                    "description": "Password credential.",
                    "type": "string"
                  },
                  "type": {
                    "description": "Type of connection info",
                    "type": "string"
                  },
                  "userName": {
                    "description": "User name",
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "x-ms-discriminator-value": "Unknown"
              },
              "sourcePlatform": {
                "description": "Source platform of the project",
                "enum": [
                  "SQL",
                  "Unknown"
                ],
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": false,
                  "name": "ProjectSourcePlatform"
                }
              },
              "targetConnectionInfo": {
                "description": "Defines the connection properties of a server",
                "discriminator": "type",
                "properties": {
                  "password": {
                    "description": "Password credential.",
                    "type": "string"
                  },
                  "type": {
                    "description": "Type of connection info",
                    "type": "string"
                  },
                  "userName": {
                    "description": "User name",
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object",
                "x-ms-discriminator-value": "Unknown"
              },
              "targetPlatform": {
                "description": "Target platform of the project",
                "enum": [
                  "SQLDB",
                  "Unknown"
                ],
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": false,
                  "name": "ProjectTargetPlatform"
                }
              }
            },
            "required": [
              "sourcePlatform",
              "targetPlatform"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "x-ms-parameter-location": "method"
    },
    "projectName": {
      "description": "Name of the project",
      "in": "path",
      "name": "projectName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "projectTask": {
      "description": "Information about the task",
      "in": "body",
      "name": "parameters",
      "required": true,
      "schema": {
        "allOf": [
          {
            "description": "ARM resource.",
            "properties": {
              "id": {
                "description": "Resource ID.",
                "readOnly": true,
                "type": "string"
              },
              "name": {
                "description": "Resource name.",
                "readOnly": true,
                "type": "string"
              },
              "type": {
                "description": "Resource type.",
                "readOnly": true,
                "type": "string"
              }
            },
            "x-ms-azure-resource": true
          }
        ],
        "description": "A task resource",
        "properties": {
          "etag": {
            "description": "HTTP strong entity tag value. This is ignored if submitted.",
            "type": "string"
          },
          "properties": {
            "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
            "discriminator": "taskType",
            "properties": {
              "errors": {
                "description": "Array of errors. This is ignored if submitted.",
                "items": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "readOnly": true,
                "type": "array"
              },
              "state": {
                "description": "The state of the task. This is ignored if submitted.",
                "enum": [
                  "Unknown",
                  "Queued",
                  "Running",
                  "Canceled",
                  "Succeeded",
                  "Failed",
                  "FailedInputValidation",
                  "Faulted"
                ],
                "readOnly": true,
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": false,
                  "name": "TaskState"
                }
              },
              "taskType": {
                "description": "Task type.",
                "type": "string"
              }
            },
            "required": [
              "taskType"
            ],
            "type": "object",
            "x-ms-discriminator-value": "Unknown"
          }
        },
        "type": "object"
      },
      "x-ms-parameter-location": "method"
    },
    "requestedName": {
      "description": "Requested name to validate",
      "in": "body",
      "name": "parameters",
      "required": true,
      "schema": {
        "description": "A resource type and proposed name",
        "properties": {
          "name": {
            "description": "The proposed resource name",
            "type": "string"
          },
          "type": {
            "description": "The resource type chain (e.g. virtualMachines/extensions)",
            "type": "string"
          }
        },
        "type": "object"
      },
      "x-ms-parameter-location": "method"
    },
    "service": {
      "description": "Information about the service",
      "in": "body",
      "name": "parameters",
      "required": true,
      "schema": {
        "allOf": [
          {
            "allOf": [
              {
                "description": "ARM resource.",
                "properties": {
                  "id": {
                    "description": "Resource ID.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "name": {
                    "description": "Resource name.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "type": {
                    "description": "Resource type.",
                    "readOnly": true,
                    "type": "string"
                  }
                },
                "x-ms-azure-resource": true
              }
            ],
            "description": "ARM tracked top level resource.",
            "properties": {
              "location": {
                "description": "Resource location.",
                "type": "string",
                "x-ms-mutability": [
                  "read",
                  "create"
                ]
              },
              "tags": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Resource tags.",
                "type": "object",
                "x-ms-mutability": [
                  "read",
                  "create",
                  "update"
                ]
              }
            },
            "required": [
              "location"
            ]
          }
        ],
        "description": "A Data Migration Service resource",
        "properties": {
          "etag": {
            "description": "HTTP strong entity tag value. Ignored if submitted",
            "type": "string"
          },
          "kind": {
            "description": "The resource kind. Only 'vm' (the default) is supported.",
            "type": "string"
          },
          "properties": {
            "description": "Properties of the Data Migration service instance",
            "properties": {
              "provisioningState": {
                "description": "The resource's provisioning state",
                "enum": [
                  "Accepted",
                  "Deleting",
                  "Deploying",
                  "Stopped",
                  "Stopping",
                  "Starting",
                  "FailedToStart",
                  "FailedToStop",
                  "Succeeded",
                  "Failed"
                ],
                "readOnly": true,
                "type": "string",
                "x-ms-enum": {
                  "modelAsString": false,
                  "name": "ServiceProvisioningState"
                }
              },
              "publicKey": {
                "description": "The public key of the service, used to encrypt secrets sent to the service",
                "type": "string"
              },
              "virtualSubnetId": {
                "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                "type": "string"
              }
            },
            "required": [
              "virtualSubnetId"
            ],
            "type": "object"
          },
          "sku": {
            "description": "An Azure SKU instance",
            "properties": {
              "capacity": {
                "description": "The capacity of the SKU, if it supports scaling",
                "type": "integer"
              },
              "family": {
                "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                "type": "string"
              },
              "name": {
                "description": "The unique name of the SKU, such as 'P3'",
                "type": "string"
              },
              "size": {
                "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                "type": "string"
              },
              "tier": {
                "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "x-ms-parameter-location": "method"
    },
    "serviceName": {
      "description": "Name of the service",
      "in": "path",
      "name": "serviceName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "subscriptionId": {
      "description": "Identifier of the subscription",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    },
    "taskName": {
      "description": "Name of the Task",
      "in": "path",
      "name": "taskName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "taskType": {
      "description": "Filter tasks by task type",
      "in": "query",
      "name": "taskType",
      "required": false,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "timeoutMs": {
      "description": "The number of milliseconds the task is allowed to run, up to 20000",
      "format": "int32",
      "in": "query",
      "name": "timeoutMs",
      "required": false,
      "type": "integer",
      "x-ms-parameter-location": "method"
    }
  },
  "paths": {
    "/providers/Microsoft.DataMigration/operations": {
      "get": {
        "description": "Lists all available actions exposed by the Data Migration Service resource provider.",
        "operationId": "Operations_List",
        "parameters": [
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Got action list",
            "schema": {
              "description": "OData page of action (operation) objects",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of actions",
                  "type": "string"
                },
                "value": {
                  "description": "List of actions",
                  "items": {
                    "description": "Description of an action supported by the Data Migration Service",
                    "properties": {
                      "display": {
                        "description": "Localized display text",
                        "properties": {
                          "description": {
                            "description": "The localized operation description",
                            "type": "string"
                          },
                          "operation": {
                            "description": "The localized operation name",
                            "type": "string"
                          },
                          "provider": {
                            "description": "The localized resource provider name",
                            "type": "string"
                          },
                          "resource": {
                            "description": "The localized resource type name",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "name": {
                        "description": "The fully qualified action name, e.g. Microsoft.DataMigration/services/read",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get available resource provider actions (operations)",
        "tags": [
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Operations_List": {
            "parameters": {
              "api-version": "2017-11-15-preview"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "display": {
                        "description": "Read information about services.",
                        "operation": "Read",
                        "provider": "Data Migration Service",
                        "resource": "Data Migration Service"
                      },
                      "name": "Microsoft.DataMigration/services/read"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/checkNameAvailability": {
      "post": {
        "description": "This method checks whether a proposed top-level resource name is valid and available.",
        "operationId": "Services_CheckNameAvailability",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/apiVersion"
          },
          {
            "$ref": "#/parameters/location"
          },
          {
            "$ref": "#/parameters/requestedName"
          }
        ],
        "responses": {
          "200": {
            "description": "Name checked",
            "schema": {
              "description": "Indicates whether a proposed resource name is available",
              "properties": {
                "message": {
                  "description": "The localized reason why the name is not available, if nameAvailable is false",
                  "type": "string"
                },
                "nameAvailable": {
                  "description": "If true, the name is valid and available. If false, 'reason' describes why not.",
                  "type": "boolean"
                },
                "reason": {
                  "description": "The reason why the name is not available, if nameAvailable is false",
                  "enum": [
                    "AlreadyExists",
                    "Invalid"
                  ],
                  "type": "string",
                  "x-ms-enum": {
                    "modelAsString": false,
                    "name": "NameCheckFailureReason"
                  }
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Check name validity and availability",
        "tags": [
          "Standard operation",
          "POST"
        ],
        "x-ms-examples": {
          "Services_CheckNameAvailability": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "location": "eastus",
              "parameters": {
                "requestedName": {
                  "name": "DmsSdkService",
                  "type": "services"
                }
              },
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "nameAvailable": true
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/locations/{location}/usages": {
      "get": {
        "description": "This method returns region-specific quotas and resource usage information for the Data Migration Service.",
        "operationId": "Usages_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/location"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Quotas returned",
            "schema": {
              "description": "OData page of quota objects",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of quotas, or null or missing if this is the last page",
                  "type": "string"
                },
                "value": {
                  "description": "List of quotas",
                  "items": {
                    "description": "Describes a quota for or usage details about a resource",
                    "properties": {
                      "currentValue": {
                        "description": "The current value of the quota. If null or missing, the current value cannot be determined in the context of the request.",
                        "format": "double",
                        "type": "number"
                      },
                      "id": {
                        "description": "The resource ID of the quota object",
                        "type": "string"
                      },
                      "limit": {
                        "description": "The maximum value of the quota. If null or missing, the quota has no maximum, in which case it merely tracks usage.",
                        "format": "double",
                        "type": "number"
                      },
                      "name": {
                        "description": "The name of the quota",
                        "properties": {
                          "localizedValue": {
                            "description": "The localized name of the quota",
                            "type": "string"
                          },
                          "value": {
                            "description": "The unlocalized name (or ID) of the quota",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "unit": {
                        "description": "The unit for the quota, such as Count, Bytes, BytesPerSecond, etc.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get resource quotas and usage information",
        "tags": [
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Services_Usages": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "location": "westus",
              "subscriptionId": "90fb80a6-0f71-4761-8f03-921e7396f3c0"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "currentValue": 1,
                      "id": "/subscriptions/90fb80a6-0f71-4761-8f03-921e7396f3c0/providers/Microsoft.DataMigration/locations/westus/usages/Services",
                      "limit": 2,
                      "name": {
                        "localizedValue": "DMS service instances per region",
                        "value": "Services"
                      },
                      "unit": "Count"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/services": {
      "get": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. This method returns a list of service resources in a subscription.",
        "operationId": "Services_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Got services",
            "schema": {
              "description": "OData page of service objects",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of services",
                  "type": "string"
                },
                "value": {
                  "description": "List of services",
                  "items": {
                    "allOf": [
                      {
                        "allOf": [
                          {
                            "description": "ARM resource.",
                            "properties": {
                              "id": {
                                "description": "Resource ID.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "name": {
                                "description": "Resource name.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "x-ms-azure-resource": true
                          }
                        ],
                        "description": "ARM tracked top level resource.",
                        "properties": {
                          "location": {
                            "description": "Resource location.",
                            "type": "string",
                            "x-ms-mutability": [
                              "read",
                              "create"
                            ]
                          },
                          "tags": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Resource tags.",
                            "type": "object",
                            "x-ms-mutability": [
                              "read",
                              "create",
                              "update"
                            ]
                          }
                        },
                        "required": [
                          "location"
                        ]
                      }
                    ],
                    "description": "A Data Migration Service resource",
                    "properties": {
                      "etag": {
                        "description": "HTTP strong entity tag value. Ignored if submitted",
                        "type": "string"
                      },
                      "kind": {
                        "description": "The resource kind. Only 'vm' (the default) is supported.",
                        "type": "string"
                      },
                      "properties": {
                        "description": "Properties of the Data Migration service instance",
                        "properties": {
                          "provisioningState": {
                            "description": "The resource's provisioning state",
                            "enum": [
                              "Accepted",
                              "Deleting",
                              "Deploying",
                              "Stopped",
                              "Stopping",
                              "Starting",
                              "FailedToStart",
                              "FailedToStop",
                              "Succeeded",
                              "Failed"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ServiceProvisioningState"
                            }
                          },
                          "publicKey": {
                            "description": "The public key of the service, used to encrypt secrets sent to the service",
                            "type": "string"
                          },
                          "virtualSubnetId": {
                            "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                            "type": "string"
                          }
                        },
                        "required": [
                          "virtualSubnetId"
                        ],
                        "type": "object"
                      },
                      "sku": {
                        "description": "An Azure SKU instance",
                        "properties": {
                          "capacity": {
                            "description": "The capacity of the SKU, if it supports scaling",
                            "type": "integer"
                          },
                          "family": {
                            "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                            "type": "string"
                          },
                          "name": {
                            "description": "The unique name of the SKU, such as 'P3'",
                            "type": "string"
                          },
                          "size": {
                            "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                            "type": "string"
                          },
                          "tier": {
                            "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get services in subscription",
        "tags": [
          "Service resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Services_List": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg1/providers/Microsoft.DataMigration/services/DmsSdkService1",
                      "location": "southcentralus",
                      "name": "DmsSdkService1",
                      "sku": {
                        "name": "GeneralPurpose_4vCores",
                        "size": "4 vCores",
                        "tier": "General Purpose"
                      },
                      "type": "Microsoft.DataMigration/services"
                    },
                    {
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg2/providers/Microsoft.DataMigration/services/DmsSdkService2",
                      "location": "centralus",
                      "name": "DmsSdkService2",
                      "sku": {
                        "name": "Basic_2vCores",
                        "size": "2 vCores",
                        "tier": "Basic"
                      },
                      "type": "Microsoft.DataMigration/services"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.DataMigration/skus": {
      "get": {
        "description": "The skus action returns the list of SKUs that DMS supports.",
        "operationId": "ResourceSkus_ListSkus",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Got SKUs",
            "schema": {
              "description": "The DMS List SKUs operation response.",
              "properties": {
                "nextLink": {
                  "description": "The uri to fetch the next page of DMS SKUs. Call ListNext() with this to fetch the next page of DMS SKUs.",
                  "type": "string"
                },
                "value": {
                  "description": "The list of SKUs available for the subscription.",
                  "items": {
                    "description": "Describes an available DMS SKU.",
                    "properties": {
                      "apiVersions": {
                        "description": "The api versions that support this SKU.",
                        "items": {
                          "type": "string"
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "capabilities": {
                        "description": "A name value pair to describe the capability.",
                        "items": {
                          "description": "Describes The SKU capabilites object.",
                          "properties": {
                            "name": {
                              "description": "An invariant to describe the feature.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "value": {
                              "description": "An invariant if the feature is measured by quantity.",
                              "readOnly": true,
                              "type": "string"
                            }
                          }
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "capacity": {
                        "description": "Describes scaling information of a SKU.",
                        "properties": {
                          "default": {
                            "description": "The default capacity.",
                            "format": "int64",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "maximum": {
                            "description": "The maximum capacity.",
                            "format": "int64",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "minimum": {
                            "description": "The minimum capacity.",
                            "format": "int64",
                            "readOnly": true,
                            "type": "integer"
                          },
                          "scaleType": {
                            "description": "The scale type applicable to the SKU.",
                            "enum": [
                              "Automatic",
                              "Manual",
                              "None"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ResourceSkuCapacityScaleType"
                            }
                          }
                        }
                      },
                      "costs": {
                        "description": "Metadata for retrieving price info.",
                        "items": {
                          "description": "Describes metadata for retrieving price info.",
                          "properties": {
                            "extendedUnit": {
                              "description": "An invariant to show the extended unit.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "meterID": {
                              "description": "Used for querying price from commerce.",
                              "readOnly": true,
                              "type": "string"
                            },
                            "quantity": {
                              "description": "The multiplier is needed to extend the base metered cost.",
                              "format": "int64",
                              "readOnly": true,
                              "type": "integer"
                            }
                          }
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "family": {
                        "description": "The Family of this particular SKU.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "kind": {
                        "description": "The Kind of resources that are supported in this SKU.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "locations": {
                        "description": "The set of locations that the SKU is available.",
                        "items": {
                          "type": "string"
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "name": {
                        "description": "The name of SKU.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "resourceType": {
                        "description": "The type of resource the SKU applies to.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "restrictions": {
                        "description": "The restrictions because of which SKU cannot be used. This is empty if there are no restrictions.",
                        "items": {
                          "description": "Describes scaling information of a SKU.",
                          "properties": {
                            "reasonCode": {
                              "description": "The reason code for restriction.",
                              "enum": [
                                "QuotaId",
                                "NotAvailableForSubscription"
                              ],
                              "readOnly": true,
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": false,
                                "name": "ResourceSkuRestrictionsReasonCode"
                              }
                            },
                            "type": {
                              "description": "The type of restrictions.",
                              "enum": [
                                "location"
                              ],
                              "readOnly": true,
                              "type": "string",
                              "x-ms-enum": {
                                "modelAsString": false,
                                "name": "ResourceSkuRestrictionsType"
                              }
                            },
                            "values": {
                              "description": "The value of restrictions. If the restriction type is set to location. This would be different locations where the SKU is restricted.",
                              "items": {
                                "type": "string"
                              },
                              "readOnly": true,
                              "type": "array"
                            }
                          }
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "size": {
                        "description": "The Size of the SKU.",
                        "readOnly": true,
                        "type": "string"
                      },
                      "tier": {
                        "description": "Specifies the tier of DMS in a scale set.",
                        "readOnly": true,
                        "type": "string"
                      }
                    }
                  },
                  "type": "array"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get supported SKUs",
        "tags": [
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "ListSkus": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "locations": [
                        "East Asia",
                        "Southeast Asia",
                        "Australia East",
                        "Australia Southeast",
                        "Brazil South",
                        "Canada Central",
                        "Canada East",
                        "North Europe",
                        "West Europe",
                        "Central India",
                        "South India",
                        "West India",
                        "Japan East",
                        "Japan West",
                        "Korea South",
                        "Korea Central",
                        "UK South",
                        "UK South 2",
                        "UK North",
                        "UK West",
                        "East US 2 EUAP",
                        "Central US",
                        "East US",
                        "East US 2",
                        "North Central US",
                        "South Central US",
                        "West Central US",
                        "West US",
                        "West US 2"
                      ],
                      "name": "PP1",
                      "resourceType": "services",
                      "restrictions": []
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services": {
      "get": {
        "description": "The Services resource is the top-level resource that represents the Data Migration Service. This method returns a list of service resources in a resource group.",
        "operationId": "Services_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Got services",
            "schema": {
              "description": "OData page of service objects",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of services",
                  "type": "string"
                },
                "value": {
                  "description": "List of services",
                  "items": {
                    "allOf": [
                      {
                        "allOf": [
                          {
                            "description": "ARM resource.",
                            "properties": {
                              "id": {
                                "description": "Resource ID.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "name": {
                                "description": "Resource name.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "x-ms-azure-resource": true
                          }
                        ],
                        "description": "ARM tracked top level resource.",
                        "properties": {
                          "location": {
                            "description": "Resource location.",
                            "type": "string",
                            "x-ms-mutability": [
                              "read",
                              "create"
                            ]
                          },
                          "tags": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Resource tags.",
                            "type": "object",
                            "x-ms-mutability": [
                              "read",
                              "create",
                              "update"
                            ]
                          }
                        },
                        "required": [
                          "location"
                        ]
                      }
                    ],
                    "description": "A Data Migration Service resource",
                    "properties": {
                      "etag": {
                        "description": "HTTP strong entity tag value. Ignored if submitted",
                        "type": "string"
                      },
                      "kind": {
                        "description": "The resource kind. Only 'vm' (the default) is supported.",
                        "type": "string"
                      },
                      "properties": {
                        "description": "Properties of the Data Migration service instance",
                        "properties": {
                          "provisioningState": {
                            "description": "The resource's provisioning state",
                            "enum": [
                              "Accepted",
                              "Deleting",
                              "Deploying",
                              "Stopped",
                              "Stopping",
                              "Starting",
                              "FailedToStart",
                              "FailedToStop",
                              "Succeeded",
                              "Failed"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ServiceProvisioningState"
                            }
                          },
                          "publicKey": {
                            "description": "The public key of the service, used to encrypt secrets sent to the service",
                            "type": "string"
                          },
                          "virtualSubnetId": {
                            "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                            "type": "string"
                          }
                        },
                        "required": [
                          "virtualSubnetId"
                        ],
                        "type": "object"
                      },
                      "sku": {
                        "description": "An Azure SKU instance",
                        "properties": {
                          "capacity": {
                            "description": "The capacity of the SKU, if it supports scaling",
                            "type": "integer"
                          },
                          "family": {
                            "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                            "type": "string"
                          },
                          "name": {
                            "description": "The unique name of the SKU, such as 'P3'",
                            "type": "string"
                          },
                          "size": {
                            "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                            "type": "string"
                          },
                          "tier": {
                            "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get services in resource group",
        "tags": [
          "Service resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Services_ListByResourceGroup": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService1",
                      "location": "southcentralus",
                      "name": "DmsSdkService1",
                      "sku": {
                        "name": "GeneralPurpose_4vCores",
                        "size": "4 vCores",
                        "tier": "General Purpose"
                      },
                      "type": "Microsoft.DataMigration/services"
                    },
                    {
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService2",
                      "location": "southcentralus",
                      "name": "DmsSdkService2",
                      "sku": {
                        "name": "Basic_2vCores",
                        "size": "2 vCores",
                        "tier": "Basic"
                      },
                      "type": "Microsoft.DataMigration/services"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}": {
      "delete": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. The DELETE method deletes a service. Any running tasks will be canceled.",
        "operationId": "Services_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/deleteRunningTasks"
          }
        ],
        "responses": {
          "200": {
            "description": "Service resource deleted"
          },
          "202": {
            "description": "Deletion accepted"
          },
          "204": {
            "description": "Service not found"
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Delete DMS Service Instance",
        "tags": [
          "Service resource",
          "Standard operation",
          "DELETE"
        ],
        "x-ms-examples": {
          "Services_CreateOrUpdate": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {},
              "202": {
                "body": ""
              },
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. The GET method retrieves information about a service instance.",
        "operationId": "Services_Get",
        "responses": {
          "200": {
            "description": "A service instance resource",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A Data Migration Service resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. Ignored if submitted",
                  "type": "string"
                },
                "kind": {
                  "description": "The resource kind. Only 'vm' (the default) is supported.",
                  "type": "string"
                },
                "properties": {
                  "description": "Properties of the Data Migration service instance",
                  "properties": {
                    "provisioningState": {
                      "description": "The resource's provisioning state",
                      "enum": [
                        "Accepted",
                        "Deleting",
                        "Deploying",
                        "Stopped",
                        "Stopping",
                        "Starting",
                        "FailedToStart",
                        "FailedToStop",
                        "Succeeded",
                        "Failed"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ServiceProvisioningState"
                      }
                    },
                    "publicKey": {
                      "description": "The public key of the service, used to encrypt secrets sent to the service",
                      "type": "string"
                    },
                    "virtualSubnetId": {
                      "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                      "type": "string"
                    }
                  },
                  "required": [
                    "virtualSubnetId"
                  ],
                  "type": "object"
                },
                "sku": {
                  "description": "An Azure SKU instance",
                  "properties": {
                    "capacity": {
                      "description": "The capacity of the SKU, if it supports scaling",
                      "type": "integer"
                    },
                    "family": {
                      "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                      "type": "string"
                    },
                    "name": {
                      "description": "The unique name of the SKU, such as 'P3'",
                      "type": "string"
                    },
                    "size": {
                      "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                      "type": "string"
                    },
                    "tier": {
                      "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get DMS Service Instance",
        "tags": [
          "Service resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Services_CreateOrUpdate": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "VVFgsiFIruaTduI4hoNOUXLMXr5Y79qytW2cotz4viI=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService",
                  "location": "southcentralus",
                  "name": "DmsSdkService",
                  "properties": {
                    "provisioningState": "Succeeded",
                    "publicKey": "0;AQAB;kkQk9TqKG6+ZP2DDr0yjdnlHsZjJFBbL++2eSJvTDzIJFE98nGSA3RNX4EC65oSmsaNhKZi7y6v+cuU6/7q08uom5IfTK0CxmjRnKdoOHnZnP9TShaFLiZPv7H/FXoUIzHKuaOxg+/35AlhDXLVFjKmwfScLC+g6sEWDhlfWzcN7c34yVOGF+BQyZHIeqBcf9HDcwgFfjvAlEh0x4sTeLUNdpjLEv74ce3A/kJMBdFUoxVXvHcMjVVGXC4gS1VLb7Ykoihx+/c5qbhKMNff21v5lwxzNLfIMGzL+T8vKab+3Cpmusk2JaBJ+6glIIuhrpaX5X9fgmvenzzluUWMX9w==",
                    "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default"
                  },
                  "sku": {
                    "name": "Basic_1vCore",
                    "size": "1 vCore",
                    "tier": "Basic"
                  },
                  "type": "Microsoft.DataMigration/services"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/parameters/subscriptionId"
        },
        {
          "$ref": "#/parameters/groupName"
        },
        {
          "$ref": "#/parameters/serviceName"
        },
        {
          "$ref": "#/parameters/apiVersion"
        }
      ],
      "patch": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. The PATCH method updates an existing service. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\").",
        "operationId": "Services_Update",
        "parameters": [
          {
            "$ref": "#/parameters/service"
          }
        ],
        "responses": {
          "200": {
            "description": "Service resource updated",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A Data Migration Service resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. Ignored if submitted",
                  "type": "string"
                },
                "kind": {
                  "description": "The resource kind. Only 'vm' (the default) is supported.",
                  "type": "string"
                },
                "properties": {
                  "description": "Properties of the Data Migration service instance",
                  "properties": {
                    "provisioningState": {
                      "description": "The resource's provisioning state",
                      "enum": [
                        "Accepted",
                        "Deleting",
                        "Deploying",
                        "Stopped",
                        "Stopping",
                        "Starting",
                        "FailedToStart",
                        "FailedToStop",
                        "Succeeded",
                        "Failed"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ServiceProvisioningState"
                      }
                    },
                    "publicKey": {
                      "description": "The public key of the service, used to encrypt secrets sent to the service",
                      "type": "string"
                    },
                    "virtualSubnetId": {
                      "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                      "type": "string"
                    }
                  },
                  "required": [
                    "virtualSubnetId"
                  ],
                  "type": "object"
                },
                "sku": {
                  "description": "An Azure SKU instance",
                  "properties": {
                    "capacity": {
                      "description": "The capacity of the SKU, if it supports scaling",
                      "type": "integer"
                    },
                    "family": {
                      "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                      "type": "string"
                    },
                    "name": {
                      "description": "The unique name of the SKU, such as 'P3'",
                      "type": "string"
                    },
                    "size": {
                      "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                      "type": "string"
                    },
                    "tier": {
                      "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "202": {
            "description": "Update accepted"
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Create or update DMS Service Instance",
        "tags": [
          "Service resource",
          "Standard operation",
          "PATCH"
        ],
        "x-ms-examples": {
          "Services_CreateOrUpdate": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "properties": {
                  "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default"
                }
              },
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService",
                  "location": "southcentralus",
                  "name": "DmsSdkService",
                  "properties": {
                    "provisioningState": "Accepted",
                    "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default"
                  },
                  "sku": {
                    "name": "Basic_1vCore",
                    "size": "1 vCore",
                    "tier": "Basic"
                  },
                  "type": "Microsoft.DataMigration/services"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. The PUT method creates a new service or updates an existing one. When a service is updated, existing child resources (i.e. tasks) are unaffected. Services currently support a single kind, \"vm\", which refers to a VM-based service, although other kinds may be added in the future. This method can change the kind, SKU, and network of the service, but if tasks are currently running (i.e. the service is busy), this will fail with 400 Bad Request (\"ServiceIsBusy\"). The provider will reply when successful with 200 OK or 201 Created. Long-running operations use the provisioningState property.",
        "operationId": "Services_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/service"
          }
        ],
        "responses": {
          "200": {
            "description": "Service updated",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A Data Migration Service resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. Ignored if submitted",
                  "type": "string"
                },
                "kind": {
                  "description": "The resource kind. Only 'vm' (the default) is supported.",
                  "type": "string"
                },
                "properties": {
                  "description": "Properties of the Data Migration service instance",
                  "properties": {
                    "provisioningState": {
                      "description": "The resource's provisioning state",
                      "enum": [
                        "Accepted",
                        "Deleting",
                        "Deploying",
                        "Stopped",
                        "Stopping",
                        "Starting",
                        "FailedToStart",
                        "FailedToStop",
                        "Succeeded",
                        "Failed"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ServiceProvisioningState"
                      }
                    },
                    "publicKey": {
                      "description": "The public key of the service, used to encrypt secrets sent to the service",
                      "type": "string"
                    },
                    "virtualSubnetId": {
                      "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                      "type": "string"
                    }
                  },
                  "required": [
                    "virtualSubnetId"
                  ],
                  "type": "object"
                },
                "sku": {
                  "description": "An Azure SKU instance",
                  "properties": {
                    "capacity": {
                      "description": "The capacity of the SKU, if it supports scaling",
                      "type": "integer"
                    },
                    "family": {
                      "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                      "type": "string"
                    },
                    "name": {
                      "description": "The unique name of the SKU, such as 'P3'",
                      "type": "string"
                    },
                    "size": {
                      "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                      "type": "string"
                    },
                    "tier": {
                      "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "201": {
            "description": "Service created (use provisioningState)",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A Data Migration Service resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. Ignored if submitted",
                  "type": "string"
                },
                "kind": {
                  "description": "The resource kind. Only 'vm' (the default) is supported.",
                  "type": "string"
                },
                "properties": {
                  "description": "Properties of the Data Migration service instance",
                  "properties": {
                    "provisioningState": {
                      "description": "The resource's provisioning state",
                      "enum": [
                        "Accepted",
                        "Deleting",
                        "Deploying",
                        "Stopped",
                        "Stopping",
                        "Starting",
                        "FailedToStart",
                        "FailedToStop",
                        "Succeeded",
                        "Failed"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ServiceProvisioningState"
                      }
                    },
                    "publicKey": {
                      "description": "The public key of the service, used to encrypt secrets sent to the service",
                      "type": "string"
                    },
                    "virtualSubnetId": {
                      "description": "The ID of the Microsoft.Network/virtualNetworks/subnets resource to which the service should be joined",
                      "type": "string"
                    }
                  },
                  "required": [
                    "virtualSubnetId"
                  ],
                  "type": "object"
                },
                "sku": {
                  "description": "An Azure SKU instance",
                  "properties": {
                    "capacity": {
                      "description": "The capacity of the SKU, if it supports scaling",
                      "type": "integer"
                    },
                    "family": {
                      "description": "The SKU family, used when the service has multiple performance classes within a tier, such as 'A', 'D', etc. for virtual machines",
                      "type": "string"
                    },
                    "name": {
                      "description": "The unique name of the SKU, such as 'P3'",
                      "type": "string"
                    },
                    "size": {
                      "description": "The size of the SKU, used when the name alone does not denote a service size or when a SKU has multiple performance classes within a family, e.g. 'A1' for virtual machines",
                      "type": "string"
                    },
                    "tier": {
                      "description": "The tier of the SKU, such as 'Free', 'Basic', 'Standard', or 'Premium'",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "202": {
            "description": "Update accepted"
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Create or update DMS Instance",
        "tags": [
          "Service resource",
          "Standard operation",
          "PUT"
        ],
        "x-ms-examples": {
          "Services_CreateOrUpdate": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "location": "southcentralus",
                "properties": {
                  "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default"
                },
                "sku": {
                  "name": "Basic_1vCore"
                }
              },
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService",
                  "location": "southcentralus",
                  "name": "DmsSdkService",
                  "properties": {
                    "provisioningState": "Accepted",
                    "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default"
                  },
                  "sku": {
                    "name": "Basic_1vCore",
                    "size": "1 vCore",
                    "tier": "Basic"
                  },
                  "type": "Microsoft.DataMigration/services"
                }
              },
              "201": {
                "body": {
                  "etag": "9QuK/U0GvTJpjIrlOzITXVy68+bmmQ3bFkHudLxmkUw=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService",
                  "location": "southcentralus",
                  "name": "DmsSdkService",
                  "properties": {
                    "provisioningState": "Accepted",
                    "virtualSubnetId": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkTestNetwork/providers/Microsoft.Network/virtualNetworks/DmsSdkTestNetwork/subnets/default"
                  },
                  "sku": {
                    "name": "Basic_1vCore",
                    "size": "1 vCore",
                    "tier": "Basic"
                  },
                  "type": "Microsoft.DataMigration/services"
                }
              },
              "202": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkNameAvailability": {
      "post": {
        "description": "This method checks whether a proposed nested resource name is valid and available.",
        "operationId": "Services_CheckChildrenNameAvailability",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/requestedName"
          }
        ],
        "responses": {
          "200": {
            "description": "Name checked",
            "schema": {
              "description": "Indicates whether a proposed resource name is available",
              "properties": {
                "message": {
                  "description": "The localized reason why the name is not available, if nameAvailable is false",
                  "type": "string"
                },
                "nameAvailable": {
                  "description": "If true, the name is valid and available. If false, 'reason' describes why not.",
                  "type": "boolean"
                },
                "reason": {
                  "description": "The reason why the name is not available, if nameAvailable is false",
                  "enum": [
                    "AlreadyExists",
                    "Invalid"
                  ],
                  "type": "string",
                  "x-ms-enum": {
                    "modelAsString": false,
                    "name": "NameCheckFailureReason"
                  }
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Check nested resource name validity and availability",
        "tags": [
          "Custom operation",
          "POST"
        ],
        "x-ms-examples": {
          "Services_CheckChildrenNameAvailability": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "requestedName": {
                  "name": "Task1",
                  "type": "tasks"
                }
              },
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "nameAvailable": true
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/checkStatus": {
      "post": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. This action performs a health check and returns the status of the service and virtual machine size.",
        "operationId": "Services_CheckStatus",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Health checked",
            "schema": {
              "description": "Service health status",
              "properties": {
                "agentVersion": {
                  "description": "The DMS instance agent version",
                  "type": "string"
                },
                "status": {
                  "description": "The machine-readable status, such as 'Initializing', 'Offline', 'Online', 'Deploying', 'Deleting', 'Stopped', 'Stopping', 'Starting', 'FailedToStart', 'FailedToStop' or 'Failed'",
                  "type": "string"
                },
                "supportedTaskTypes": {
                  "description": "The list of supported task types",
                  "items": {
                    "description": "Migration task type",
                    "type": "string"
                  },
                  "type": "array"
                },
                "vmSize": {
                  "description": "The services virtual machine size, such as 'Standard_D2_v2'",
                  "type": "string"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Check service health status",
        "tags": [
          "Service resource",
          "Custom operation",
          "POST"
        ],
        "x-ms-examples": {
          "Services_CheckStatus": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "agentVersion": "3.3.3871.6",
                  "status": "Online",
                  "supportedTaskTypes": [
                    "diagnostic.count",
                    "diagnostic.echo",
                    "diagnostic.error",
                    "diagnostic.fastCount",
                    "ConnectToSource.SqlServer",
                    "GetUserTables.Sql",
                    "ConnectToTarget.SqlDb",
                    "Migrate.SqlServer.SqlDb"
                  ],
                  "vmSize": "Standard_A1_v2"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects": {
      "get": {
        "description": "The project resource is a nested resource representing a stored migration project. This method returns a list of projects owned by a service resource.",
        "operationId": "Projects_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "List of projects",
            "schema": {
              "description": "OData page of project resources",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of projects",
                  "type": "string"
                },
                "value": {
                  "description": "List of projects",
                  "items": {
                    "allOf": [
                      {
                        "allOf": [
                          {
                            "description": "ARM resource.",
                            "properties": {
                              "id": {
                                "description": "Resource ID.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "name": {
                                "description": "Resource name.",
                                "readOnly": true,
                                "type": "string"
                              },
                              "type": {
                                "description": "Resource type.",
                                "readOnly": true,
                                "type": "string"
                              }
                            },
                            "x-ms-azure-resource": true
                          }
                        ],
                        "description": "ARM tracked top level resource.",
                        "properties": {
                          "location": {
                            "description": "Resource location.",
                            "type": "string",
                            "x-ms-mutability": [
                              "read",
                              "create"
                            ]
                          },
                          "tags": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "description": "Resource tags.",
                            "type": "object",
                            "x-ms-mutability": [
                              "read",
                              "create",
                              "update"
                            ]
                          }
                        },
                        "required": [
                          "location"
                        ]
                      }
                    ],
                    "description": "A project resource",
                    "properties": {
                      "properties": {
                        "description": "Project-specific properties",
                        "properties": {
                          "creationTime": {
                            "description": "UTC Date and time when project was created",
                            "format": "date-time",
                            "readOnly": true,
                            "type": "string"
                          },
                          "databasesInfo": {
                            "description": "List of DatabaseInfo",
                            "items": {
                              "description": "Project Database Details",
                              "properties": {
                                "sourceDatabaseName": {
                                  "description": "Name of the database",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "sourceDatabaseName"
                              ],
                              "type": "object"
                            },
                            "type": "array"
                          },
                          "provisioningState": {
                            "description": "The project's provisioning state",
                            "enum": [
                              "Deleting",
                              "Succeeded"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ProjectProvisioningState"
                            }
                          },
                          "sourceConnectionInfo": {
                            "description": "Defines the connection properties of a server",
                            "discriminator": "type",
                            "properties": {
                              "password": {
                                "description": "Password credential.",
                                "type": "string"
                              },
                              "type": {
                                "description": "Type of connection info",
                                "type": "string"
                              },
                              "userName": {
                                "description": "User name",
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "type": "object",
                            "x-ms-discriminator-value": "Unknown"
                          },
                          "sourcePlatform": {
                            "description": "Source platform of the project",
                            "enum": [
                              "SQL",
                              "Unknown"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ProjectSourcePlatform"
                            }
                          },
                          "targetConnectionInfo": {
                            "description": "Defines the connection properties of a server",
                            "discriminator": "type",
                            "properties": {
                              "password": {
                                "description": "Password credential.",
                                "type": "string"
                              },
                              "type": {
                                "description": "Type of connection info",
                                "type": "string"
                              },
                              "userName": {
                                "description": "User name",
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "type": "object",
                            "x-ms-discriminator-value": "Unknown"
                          },
                          "targetPlatform": {
                            "description": "Target platform of the project",
                            "enum": [
                              "SQLDB",
                              "Unknown"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ProjectTargetPlatform"
                            }
                          }
                        },
                        "required": [
                          "sourcePlatform",
                          "targetPlatform"
                        ],
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get projects in a service",
        "tags": [
          "Project resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Projects_List": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project1",
                      "location": "southcentralus",
                      "name": "project1",
                      "properties": {
                        "creationTime": "2017-11-14T01:29:56.3049263+00:00",
                        "provisioningState": "Succeeded",
                        "sourcePlatform": "SQL",
                        "targetPlatform": "SQLDB"
                      },
                      "type": "Microsoft.DataMigration/services/projects"
                    },
                    {
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/project2",
                      "location": "southcentralus",
                      "name": "project2",
                      "properties": {
                        "creationTime": "2017-11-14T01:30:05.6185148+00:00",
                        "provisioningState": "Succeeded",
                        "sourcePlatform": "SQL",
                        "targetPlatform": "SQLDB"
                      },
                      "type": "Microsoft.DataMigration/services/projects"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}": {
      "delete": {
        "description": "The project resource is a nested resource representing a stored migration project. The DELETE method deletes a project.",
        "operationId": "Projects_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/deleteRunningTasks"
          }
        ],
        "responses": {
          "200": {
            "description": "Project resource deleted"
          },
          "204": {
            "description": "Not found"
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Delete project",
        "tags": [
          "Project resource",
          "Standard operation",
          "DELETE"
        ],
        "x-ms-examples": {
          "Projects_Delete": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": ""
              },
              "204": {
                "body": ""
              }
            }
          }
        }
      },
      "get": {
        "description": "The project resource is a nested resource representing a stored migration project. The GET method retrieves information about a project.",
        "operationId": "Projects_Get",
        "responses": {
          "200": {
            "description": "A project resource",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A project resource",
              "properties": {
                "properties": {
                  "description": "Project-specific properties",
                  "properties": {
                    "creationTime": {
                      "description": "UTC Date and time when project was created",
                      "format": "date-time",
                      "readOnly": true,
                      "type": "string"
                    },
                    "databasesInfo": {
                      "description": "List of DatabaseInfo",
                      "items": {
                        "description": "Project Database Details",
                        "properties": {
                          "sourceDatabaseName": {
                            "description": "Name of the database",
                            "type": "string"
                          }
                        },
                        "required": [
                          "sourceDatabaseName"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "provisioningState": {
                      "description": "The project's provisioning state",
                      "enum": [
                        "Deleting",
                        "Succeeded"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectProvisioningState"
                      }
                    },
                    "sourceConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "sourcePlatform": {
                      "description": "Source platform of the project",
                      "enum": [
                        "SQL",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectSourcePlatform"
                      }
                    },
                    "targetConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "targetPlatform": {
                      "description": "Target platform of the project",
                      "enum": [
                        "SQLDB",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectTargetPlatform"
                      }
                    }
                  },
                  "required": [
                    "sourcePlatform",
                    "targetPlatform"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get project information",
        "tags": [
          "Project resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Projects_Get": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject",
                  "location": "southcentralus",
                  "name": "DmsSdkProject",
                  "properties": {
                    "creationTime": "2017-11-03T02:35:11.6561001-07:00",
                    "provisioningState": "Succeeded",
                    "sourcePlatform": "SQL",
                    "targetPlatform": "SQLDB"
                  },
                  "type": "Microsoft.DataMigration/services/projects"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/parameters/subscriptionId"
        },
        {
          "$ref": "#/parameters/groupName"
        },
        {
          "$ref": "#/parameters/serviceName"
        },
        {
          "$ref": "#/parameters/projectName"
        },
        {
          "$ref": "#/parameters/apiVersion"
        }
      ],
      "patch": {
        "description": "The project resource is a nested resource representing a stored migration project. The PATCH method updates an existing project.",
        "operationId": "Projects_Update",
        "parameters": [
          {
            "$ref": "#/parameters/project"
          }
        ],
        "responses": {
          "200": {
            "description": "Project resource updated",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A project resource",
              "properties": {
                "properties": {
                  "description": "Project-specific properties",
                  "properties": {
                    "creationTime": {
                      "description": "UTC Date and time when project was created",
                      "format": "date-time",
                      "readOnly": true,
                      "type": "string"
                    },
                    "databasesInfo": {
                      "description": "List of DatabaseInfo",
                      "items": {
                        "description": "Project Database Details",
                        "properties": {
                          "sourceDatabaseName": {
                            "description": "Name of the database",
                            "type": "string"
                          }
                        },
                        "required": [
                          "sourceDatabaseName"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "provisioningState": {
                      "description": "The project's provisioning state",
                      "enum": [
                        "Deleting",
                        "Succeeded"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectProvisioningState"
                      }
                    },
                    "sourceConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "sourcePlatform": {
                      "description": "Source platform of the project",
                      "enum": [
                        "SQL",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectSourcePlatform"
                      }
                    },
                    "targetConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "targetPlatform": {
                      "description": "Target platform of the project",
                      "enum": [
                        "SQLDB",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectTargetPlatform"
                      }
                    }
                  },
                  "required": [
                    "sourcePlatform",
                    "targetPlatform"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Update project",
        "tags": [
          "Project resource",
          "Standard operation",
          "PATCH"
        ],
        "x-ms-examples": {
          "Projects_Update": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "properties": {
                  "sourcePlatform": "SQL",
                  "targetPlatform": "SQLDB"
                }
              },
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject",
                  "location": "southcentralus",
                  "name": "DmsSdkProject",
                  "properties": {
                    "creationTime": "2017-11-03T02:14:54.2458282-07:00",
                    "provisioningState": "Succeeded",
                    "sourcePlatform": "SQL",
                    "targetPlatform": "SQLDB"
                  },
                  "type": "Microsoft.DataMigration/services/projects"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "The project resource is a nested resource representing a stored migration project. The PUT method creates a new project or updates an existing one.",
        "operationId": "Projects_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/project"
          }
        ],
        "responses": {
          "200": {
            "description": "Project updated",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A project resource",
              "properties": {
                "properties": {
                  "description": "Project-specific properties",
                  "properties": {
                    "creationTime": {
                      "description": "UTC Date and time when project was created",
                      "format": "date-time",
                      "readOnly": true,
                      "type": "string"
                    },
                    "databasesInfo": {
                      "description": "List of DatabaseInfo",
                      "items": {
                        "description": "Project Database Details",
                        "properties": {
                          "sourceDatabaseName": {
                            "description": "Name of the database",
                            "type": "string"
                          }
                        },
                        "required": [
                          "sourceDatabaseName"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "provisioningState": {
                      "description": "The project's provisioning state",
                      "enum": [
                        "Deleting",
                        "Succeeded"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectProvisioningState"
                      }
                    },
                    "sourceConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "sourcePlatform": {
                      "description": "Source platform of the project",
                      "enum": [
                        "SQL",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectSourcePlatform"
                      }
                    },
                    "targetConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "targetPlatform": {
                      "description": "Target platform of the project",
                      "enum": [
                        "SQLDB",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectTargetPlatform"
                      }
                    }
                  },
                  "required": [
                    "sourcePlatform",
                    "targetPlatform"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "201": {
            "description": "Project created",
            "schema": {
              "allOf": [
                {
                  "allOf": [
                    {
                      "description": "ARM resource.",
                      "properties": {
                        "id": {
                          "description": "Resource ID.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "name": {
                          "description": "Resource name.",
                          "readOnly": true,
                          "type": "string"
                        },
                        "type": {
                          "description": "Resource type.",
                          "readOnly": true,
                          "type": "string"
                        }
                      },
                      "x-ms-azure-resource": true
                    }
                  ],
                  "description": "ARM tracked top level resource.",
                  "properties": {
                    "location": {
                      "description": "Resource location.",
                      "type": "string",
                      "x-ms-mutability": [
                        "read",
                        "create"
                      ]
                    },
                    "tags": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "description": "Resource tags.",
                      "type": "object",
                      "x-ms-mutability": [
                        "read",
                        "create",
                        "update"
                      ]
                    }
                  },
                  "required": [
                    "location"
                  ]
                }
              ],
              "description": "A project resource",
              "properties": {
                "properties": {
                  "description": "Project-specific properties",
                  "properties": {
                    "creationTime": {
                      "description": "UTC Date and time when project was created",
                      "format": "date-time",
                      "readOnly": true,
                      "type": "string"
                    },
                    "databasesInfo": {
                      "description": "List of DatabaseInfo",
                      "items": {
                        "description": "Project Database Details",
                        "properties": {
                          "sourceDatabaseName": {
                            "description": "Name of the database",
                            "type": "string"
                          }
                        },
                        "required": [
                          "sourceDatabaseName"
                        ],
                        "type": "object"
                      },
                      "type": "array"
                    },
                    "provisioningState": {
                      "description": "The project's provisioning state",
                      "enum": [
                        "Deleting",
                        "Succeeded"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectProvisioningState"
                      }
                    },
                    "sourceConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "sourcePlatform": {
                      "description": "Source platform of the project",
                      "enum": [
                        "SQL",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectSourcePlatform"
                      }
                    },
                    "targetConnectionInfo": {
                      "description": "Defines the connection properties of a server",
                      "discriminator": "type",
                      "properties": {
                        "password": {
                          "description": "Password credential.",
                          "type": "string"
                        },
                        "type": {
                          "description": "Type of connection info",
                          "type": "string"
                        },
                        "userName": {
                          "description": "User name",
                          "type": "string"
                        }
                      },
                      "required": [
                        "type"
                      ],
                      "type": "object",
                      "x-ms-discriminator-value": "Unknown"
                    },
                    "targetPlatform": {
                      "description": "Target platform of the project",
                      "enum": [
                        "SQLDB",
                        "Unknown"
                      ],
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "ProjectTargetPlatform"
                      }
                    }
                  },
                  "required": [
                    "sourcePlatform",
                    "targetPlatform"
                  ],
                  "type": "object"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Create or update project",
        "tags": [
          "Project resource",
          "Standard operation",
          "PUT"
        ],
        "x-ms-examples": {
          "Projects_CreateOrUpdate": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "location": "southcentralus",
                "properties": {
                  "sourcePlatform": "SQL",
                  "targetPlatform": "SQLDB"
                }
              },
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject",
                  "location": "southcentralus",
                  "name": "DmsSdkProject",
                  "properties": {
                    "creationTime": "2017-11-03T02:14:54.2458282-07:00",
                    "provisioningState": "Succeeded",
                    "sourcePlatform": "SQL",
                    "targetPlatform": "SQLDB"
                  },
                  "type": "Microsoft.DataMigration/services/projects"
                }
              },
              "201": {
                "body": {
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject",
                  "location": "southcentralus",
                  "name": "DmsSdkProject",
                  "properties": {
                    "creationTime": "2017-11-03T02:14:54.2458282-07:00",
                    "provisioningState": "Succeeded",
                    "sourcePlatform": "SQL",
                    "targetPlatform": "SQLDB"
                  },
                  "type": "Microsoft.DataMigration/services/projects"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks": {
      "get": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. This method returns a list of tasks owned by a service resource. Some tasks may have a status of Unknown, which indicates that an error occurred while querying the status of that task.",
        "operationId": "Tasks_List",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/projectName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          },
          {
            "$ref": "#/parameters/taskType"
          }
        ],
        "responses": {
          "200": {
            "description": "Got tasks",
            "schema": {
              "description": "OData page of tasks",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of tasks",
                  "type": "string"
                },
                "value": {
                  "description": "List of tasks",
                  "items": {
                    "allOf": [
                      {
                        "description": "ARM resource.",
                        "properties": {
                          "id": {
                            "description": "Resource ID.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "name": {
                            "description": "Resource name.",
                            "readOnly": true,
                            "type": "string"
                          },
                          "type": {
                            "description": "Resource type.",
                            "readOnly": true,
                            "type": "string"
                          }
                        },
                        "x-ms-azure-resource": true
                      }
                    ],
                    "description": "A task resource",
                    "properties": {
                      "etag": {
                        "description": "HTTP strong entity tag value. This is ignored if submitted.",
                        "type": "string"
                      },
                      "properties": {
                        "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
                        "discriminator": "taskType",
                        "properties": {
                          "errors": {
                            "description": "Array of errors. This is ignored if submitted.",
                            "items": {
                              "description": "Error information in OData format.",
                              "properties": {
                                "code": {
                                  "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                                  "type": "string"
                                },
                                "details": {
                                  "description": "Inner errors that caused this error",
                                  "items": {
                                    "$ref": "#/definitions/ODataError"
                                  },
                                  "type": "array"
                                },
                                "message": {
                                  "description": "The human-readable description of the error",
                                  "type": "string"
                                }
                              },
                              "type": "object"
                            },
                            "readOnly": true,
                            "type": "array"
                          },
                          "state": {
                            "description": "The state of the task. This is ignored if submitted.",
                            "enum": [
                              "Unknown",
                              "Queued",
                              "Running",
                              "Canceled",
                              "Succeeded",
                              "Failed",
                              "FailedInputValidation",
                              "Faulted"
                            ],
                            "readOnly": true,
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "TaskState"
                            }
                          },
                          "taskType": {
                            "description": "Task type.",
                            "type": "string"
                          }
                        },
                        "required": [
                          "taskType"
                        ],
                        "type": "object",
                        "x-ms-discriminator-value": "Unknown"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get tasks in a service",
        "tags": [
          "Service resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Tasks_List": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=",
                      "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask",
                      "name": "DmsSdkTask",
                      "properties": {
                        "input": {
                          "targetConnectionInfo": {
                            "authentication": "SqlAuthentication",
                            "dataSource": "ssma-test-server.database.windows.net",
                            "encryptConnection": true,
                            "trustServerCertificate": true,
                            "type": "SqlConnectionInfo",
                            "userName": "testuser"
                          }
                        },
                        "state": "Queued",
                        "taskType": "ConnectToTarget.SqlDb"
                      },
                      "type": "Microsoft.DataMigration/services/projects/tasks"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}": {
      "delete": {
        "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The DELETE method deletes a task, canceling it first if it's running.",
        "operationId": "Tasks_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/deleteRunningTasks"
          }
        ],
        "responses": {
          "200": {
            "description": "Task resource deleted"
          },
          "204": {
            "description": "Not found"
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Delete task",
        "tags": [
          "Task resource",
          "Standard operation",
          "DELETE"
        ],
        "x-ms-examples": {
          "Tasks_Delete": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f",
              "taskName": "DmsSdkTask"
            },
            "responses": {
              "200": {
                "body": ""
              },
              "204": {
                "body": ""
              }
            }
          }
        }
      },
      "get": {
        "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The GET method retrieves information about a task.",
        "operationId": "Tasks_Get",
        "parameters": [
          {
            "description": "Expand the response",
            "in": "query",
            "name": "$expand",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "A task resource",
            "schema": {
              "allOf": [
                {
                  "description": "ARM resource.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "A task resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. This is ignored if submitted.",
                  "type": "string"
                },
                "properties": {
                  "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
                  "discriminator": "taskType",
                  "properties": {
                    "errors": {
                      "description": "Array of errors. This is ignored if submitted.",
                      "items": {
                        "description": "Error information in OData format.",
                        "properties": {
                          "code": {
                            "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                            "type": "string"
                          },
                          "details": {
                            "description": "Inner errors that caused this error",
                            "items": {
                              "$ref": "#/definitions/ODataError"
                            },
                            "type": "array"
                          },
                          "message": {
                            "description": "The human-readable description of the error",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "readOnly": true,
                      "type": "array"
                    },
                    "state": {
                      "description": "The state of the task. This is ignored if submitted.",
                      "enum": [
                        "Unknown",
                        "Queued",
                        "Running",
                        "Canceled",
                        "Succeeded",
                        "Failed",
                        "FailedInputValidation",
                        "Faulted"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "TaskState"
                      }
                    },
                    "taskType": {
                      "description": "Task type.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "taskType"
                  ],
                  "type": "object",
                  "x-ms-discriminator-value": "Unknown"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get task information",
        "tags": [
          "Task resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Tasks_Get": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f",
              "taskName": "DmsSdkTask"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask",
                  "name": "DmsSdkTask",
                  "properties": {
                    "input": {
                      "targetConnectionInfo": {
                        "authentication": "SqlAuthentication",
                        "dataSource": "ssma-test-server.database.windows.net",
                        "encryptConnection": true,
                        "trustServerCertificate": true,
                        "type": "SqlConnectionInfo",
                        "userName": "testuser"
                      }
                    },
                    "state": "Queued",
                    "taskType": "ConnectToTarget.SqlDb"
                  },
                  "type": "Microsoft.DataMigration/services/projects/tasks"
                }
              }
            }
          }
        }
      },
      "parameters": [
        {
          "$ref": "#/parameters/subscriptionId"
        },
        {
          "$ref": "#/parameters/groupName"
        },
        {
          "$ref": "#/parameters/serviceName"
        },
        {
          "$ref": "#/parameters/projectName"
        },
        {
          "$ref": "#/parameters/taskName"
        },
        {
          "$ref": "#/parameters/apiVersion"
        }
      ],
      "patch": {
        "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PATCH method updates an existing task, but since tasks have no mutable custom properties, there is little reason to do so.",
        "operationId": "Tasks_Update",
        "parameters": [
          {
            "$ref": "#/parameters/projectTask"
          }
        ],
        "responses": {
          "200": {
            "description": "Task resource updated",
            "schema": {
              "allOf": [
                {
                  "description": "ARM resource.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "A task resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. This is ignored if submitted.",
                  "type": "string"
                },
                "properties": {
                  "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
                  "discriminator": "taskType",
                  "properties": {
                    "errors": {
                      "description": "Array of errors. This is ignored if submitted.",
                      "items": {
                        "description": "Error information in OData format.",
                        "properties": {
                          "code": {
                            "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                            "type": "string"
                          },
                          "details": {
                            "description": "Inner errors that caused this error",
                            "items": {
                              "$ref": "#/definitions/ODataError"
                            },
                            "type": "array"
                          },
                          "message": {
                            "description": "The human-readable description of the error",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "readOnly": true,
                      "type": "array"
                    },
                    "state": {
                      "description": "The state of the task. This is ignored if submitted.",
                      "enum": [
                        "Unknown",
                        "Queued",
                        "Running",
                        "Canceled",
                        "Succeeded",
                        "Failed",
                        "FailedInputValidation",
                        "Faulted"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "TaskState"
                      }
                    },
                    "taskType": {
                      "description": "Task type.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "taskType"
                  ],
                  "type": "object",
                  "x-ms-discriminator-value": "Unknown"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Create or update task",
        "tags": [
          "Task resource",
          "Standard operation",
          "PATCH"
        ],
        "x-ms-examples": {
          "Tasks_Update": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "properties": {
                  "input": {
                    "targetConnectionInfo": {
                      "authentication": "SqlAuthentication",
                      "dataSource": "ssma-test-server.database.windows.net",
                      "encryptConnection": true,
                      "password": "testpassword",
                      "trustServerCertificate": true,
                      "type": "SqlConnectionInfo",
                      "userName": "testuser"
                    }
                  },
                  "taskType": "ConnectToTarget.SqlDb"
                }
              },
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f",
              "taskName": "DmsSdkTask"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask",
                  "name": "DmsSdkTask",
                  "properties": {
                    "input": {
                      "targetConnectionInfo": {
                        "authentication": "SqlAuthentication",
                        "dataSource": "ssma-test-server.database.windows.net",
                        "encryptConnection": true,
                        "trustServerCertificate": true,
                        "type": "SqlConnectionInfo",
                        "userName": "testuser"
                      }
                    },
                    "state": "Queued",
                    "taskType": "ConnectToTarget.SqlDb"
                  },
                  "type": "Microsoft.DataMigration/services/projects/tasks"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. The PUT method creates a new task or updates an existing one, although since tasks have no mutable custom properties, there is little reason to update an exising one.",
        "operationId": "Tasks_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/projectTask"
          }
        ],
        "responses": {
          "200": {
            "description": "Task updated",
            "schema": {
              "allOf": [
                {
                  "description": "ARM resource.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "A task resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. This is ignored if submitted.",
                  "type": "string"
                },
                "properties": {
                  "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
                  "discriminator": "taskType",
                  "properties": {
                    "errors": {
                      "description": "Array of errors. This is ignored if submitted.",
                      "items": {
                        "description": "Error information in OData format.",
                        "properties": {
                          "code": {
                            "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                            "type": "string"
                          },
                          "details": {
                            "description": "Inner errors that caused this error",
                            "items": {
                              "$ref": "#/definitions/ODataError"
                            },
                            "type": "array"
                          },
                          "message": {
                            "description": "The human-readable description of the error",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "readOnly": true,
                      "type": "array"
                    },
                    "state": {
                      "description": "The state of the task. This is ignored if submitted.",
                      "enum": [
                        "Unknown",
                        "Queued",
                        "Running",
                        "Canceled",
                        "Succeeded",
                        "Failed",
                        "FailedInputValidation",
                        "Faulted"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "TaskState"
                      }
                    },
                    "taskType": {
                      "description": "Task type.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "taskType"
                  ],
                  "type": "object",
                  "x-ms-discriminator-value": "Unknown"
                }
              },
              "type": "object"
            }
          },
          "201": {
            "description": "Task created",
            "schema": {
              "allOf": [
                {
                  "description": "ARM resource.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "A task resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. This is ignored if submitted.",
                  "type": "string"
                },
                "properties": {
                  "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
                  "discriminator": "taskType",
                  "properties": {
                    "errors": {
                      "description": "Array of errors. This is ignored if submitted.",
                      "items": {
                        "description": "Error information in OData format.",
                        "properties": {
                          "code": {
                            "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                            "type": "string"
                          },
                          "details": {
                            "description": "Inner errors that caused this error",
                            "items": {
                              "$ref": "#/definitions/ODataError"
                            },
                            "type": "array"
                          },
                          "message": {
                            "description": "The human-readable description of the error",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "readOnly": true,
                      "type": "array"
                    },
                    "state": {
                      "description": "The state of the task. This is ignored if submitted.",
                      "enum": [
                        "Unknown",
                        "Queued",
                        "Running",
                        "Canceled",
                        "Succeeded",
                        "Failed",
                        "FailedInputValidation",
                        "Faulted"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "TaskState"
                      }
                    },
                    "taskType": {
                      "description": "Task type.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "taskType"
                  ],
                  "type": "object",
                  "x-ms-discriminator-value": "Unknown"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Create or update task",
        "tags": [
          "Task resource",
          "Standard operation",
          "PUT"
        ],
        "x-ms-examples": {
          "Tasks_CreateOrUpdate": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "parameters": {
                "properties": {
                  "input": {
                    "targetConnectionInfo": {
                      "authentication": "SqlAuthentication",
                      "dataSource": "ssma-test-server.database.windows.net",
                      "encryptConnection": true,
                      "password": "testpassword",
                      "trustServerCertificate": true,
                      "type": "SqlConnectionInfo",
                      "userName": "testuser"
                    }
                  },
                  "taskType": "ConnectToTarget.SqlDb"
                }
              },
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f",
              "taskName": "DmsSdkTask"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask",
                  "name": "DmsSdkTask",
                  "properties": {
                    "input": {
                      "targetConnectionInfo": {
                        "authentication": "SqlAuthentication",
                        "dataSource": "ssma-test-server.database.windows.net",
                        "encryptConnection": true,
                        "trustServerCertificate": true,
                        "type": "SqlConnectionInfo",
                        "userName": "testuser"
                      }
                    },
                    "state": "Queued",
                    "taskType": "ConnectToTarget.SqlDb"
                  },
                  "type": "Microsoft.DataMigration/services/projects/tasks"
                }
              },
              "201": {
                "body": {
                  "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask",
                  "name": "DmsSdkTask",
                  "properties": {
                    "input": {
                      "targetConnectionInfo": {
                        "authentication": "SqlAuthentication",
                        "dataSource": "ssma-test-server.database.windows.net",
                        "encryptConnection": true,
                        "trustServerCertificate": true,
                        "type": "SqlConnectionInfo",
                        "userName": "testuser"
                      }
                    },
                    "state": "Queued",
                    "taskType": "ConnectToTarget.SqlDb"
                  },
                  "type": "Microsoft.DataMigration/services/projects/tasks"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/projects/{projectName}/tasks/{taskName}/cancel": {
      "post": {
        "description": "The tasks resource is a nested, proxy-only resource representing work performed by a DMS instance. This method cancels a task if it's currently queued or running.",
        "operationId": "Tasks_Cancel",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/projectName"
          },
          {
            "$ref": "#/parameters/taskName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Task canceled",
            "schema": {
              "allOf": [
                {
                  "description": "ARM resource.",
                  "properties": {
                    "id": {
                      "description": "Resource ID.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "name": {
                      "description": "Resource name.",
                      "readOnly": true,
                      "type": "string"
                    },
                    "type": {
                      "description": "Resource type.",
                      "readOnly": true,
                      "type": "string"
                    }
                  },
                  "x-ms-azure-resource": true
                }
              ],
              "description": "A task resource",
              "properties": {
                "etag": {
                  "description": "HTTP strong entity tag value. This is ignored if submitted.",
                  "type": "string"
                },
                "properties": {
                  "description": "Base class for all types of DMS task properties. If task is not supported by current client, this object is returned.",
                  "discriminator": "taskType",
                  "properties": {
                    "errors": {
                      "description": "Array of errors. This is ignored if submitted.",
                      "items": {
                        "description": "Error information in OData format.",
                        "properties": {
                          "code": {
                            "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                            "type": "string"
                          },
                          "details": {
                            "description": "Inner errors that caused this error",
                            "items": {
                              "$ref": "#/definitions/ODataError"
                            },
                            "type": "array"
                          },
                          "message": {
                            "description": "The human-readable description of the error",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "readOnly": true,
                      "type": "array"
                    },
                    "state": {
                      "description": "The state of the task. This is ignored if submitted.",
                      "enum": [
                        "Unknown",
                        "Queued",
                        "Running",
                        "Canceled",
                        "Succeeded",
                        "Failed",
                        "FailedInputValidation",
                        "Faulted"
                      ],
                      "readOnly": true,
                      "type": "string",
                      "x-ms-enum": {
                        "modelAsString": false,
                        "name": "TaskState"
                      }
                    },
                    "taskType": {
                      "description": "Task type.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "taskType"
                  ],
                  "type": "object",
                  "x-ms-discriminator-value": "Unknown"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Cancel a task",
        "tags": [
          "Task resource",
          "Custom operation",
          "POST"
        ],
        "x-ms-examples": {
          "Tasks_Cancel": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "projectName": "DmsSdkProject",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f",
              "taskName": "DmsSdkTask"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "0vPYxzfnDaDH9yhOJAnqTyTRpa09Kb7pm+LEukDBbw8=",
                  "id": "/subscriptions/fc04246f-04c5-437e-ac5e-206a19e7193f/resourceGroups/DmsSdkRg/providers/Microsoft.DataMigration/services/DmsSdkService/projects/DmsSdkProject/tasks/DmsSdkTask",
                  "name": "DmsSdkTask",
                  "properties": {
                    "input": {
                      "targetConnectionInfo": {
                        "authentication": "SqlAuthentication",
                        "dataSource": "ssma-test-server.database.windows.net",
                        "encryptConnection": true,
                        "trustServerCertificate": true,
                        "type": "SqlConnectionInfo",
                        "userName": "testuser"
                      }
                    },
                    "state": "Queued",
                    "taskType": "ConnectToTarget.SqlDb"
                  },
                  "type": "Microsoft.DataMigration/services/projects/tasks"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/skus": {
      "get": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. The skus action returns the list of SKUs that a service resource can be updated to.",
        "operationId": "Services_ListSkus",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "Got SKUs",
            "schema": {
              "description": "OData page of available SKUs",
              "properties": {
                "nextLink": {
                  "description": "URL to load the next page of service SKUs",
                  "type": "string"
                },
                "value": {
                  "description": "List of service SKUs",
                  "items": {
                    "description": "Describes the available service SKU.",
                    "properties": {
                      "capacity": {
                        "description": "A description of the scaling capacities of the SKU",
                        "properties": {
                          "default": {
                            "description": "The default capacity",
                            "type": "integer"
                          },
                          "maximum": {
                            "description": "The maximum capacity",
                            "type": "integer"
                          },
                          "minimum": {
                            "description": "The minimum capacity, usually 0 or 1.",
                            "type": "integer"
                          },
                          "scaleType": {
                            "description": "The scalability approach",
                            "enum": [
                              "none",
                              "manual",
                              "automatic"
                            ],
                            "type": "string",
                            "x-ms-enum": {
                              "modelAsString": false,
                              "name": "ServiceScalability"
                            }
                          }
                        },
                        "type": "object"
                      },
                      "resourceType": {
                        "description": "The resource type, including the provider namespace",
                        "type": "string"
                      },
                      "sku": {
                        "description": "SKU name, tier, etc.",
                        "properties": {
                          "family": {
                            "description": "SKU family",
                            "type": "string"
                          },
                          "name": {
                            "description": "The name of the SKU",
                            "type": "string"
                          },
                          "size": {
                            "description": "SKU size",
                            "type": "string"
                          },
                          "tier": {
                            "description": "The tier of the SKU, such as \"Free\", \"Basic\", \"Standard\", or \"Premium\"",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Get compatible SKUs",
        "tags": [
          "Service resource",
          "Standard operation",
          "GET"
        ],
        "x-ms-examples": {
          "Services_ListSkus": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "resourceType": "Microsoft.DataMigration/services",
                      "sku": {
                        "name": "Basic_1vCore",
                        "size": "1 vCore",
                        "tier": "Basic"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/start": {
      "post": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. This action starts the service and the service can be used for data migration.",
        "operationId": "Services_Start",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "The service has already been started."
          },
          "202": {
            "description": "The request to start service is accepted."
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Start service",
        "tags": [
          "Service resource",
          "Custom operation",
          "POST"
        ],
        "x-ms-examples": {
          "Services_Start": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": ""
              },
              "202": {
                "body": ""
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{groupName}/providers/Microsoft.DataMigration/services/{serviceName}/stop": {
      "post": {
        "description": "The services resource is the top-level resource that represents the Data Migration Service. This action stops the service and the service cannot be used for data migration. The service owner won't be billed when the service is stopped.",
        "operationId": "Services_Stop",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionId"
          },
          {
            "$ref": "#/parameters/groupName"
          },
          {
            "$ref": "#/parameters/serviceName"
          },
          {
            "$ref": "#/parameters/apiVersion"
          }
        ],
        "responses": {
          "200": {
            "description": "The service has already been stopped."
          },
          "202": {
            "description": "The request to stop service is accepted."
          },
          "default": {
            "description": "Error",
            "schema": {
              "description": "Error information.",
              "properties": {
                "error": {
                  "description": "Error information in OData format.",
                  "properties": {
                    "code": {
                      "description": "The machine-readable description of the error, such as 'InvalidRequest' or 'InternalServerError'",
                      "type": "string"
                    },
                    "details": {
                      "description": "Inner errors that caused this error",
                      "items": {
                        "$ref": "#/definitions/ODataError"
                      },
                      "type": "array"
                    },
                    "message": {
                      "description": "The human-readable description of the error",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            }
          }
        },
        "summary": "Stop service",
        "tags": [
          "Service resource",
          "Custom operation",
          "POST"
        ],
        "x-ms-examples": {
          "Services_Stop": {
            "parameters": {
              "api-version": "2017-11-15-preview",
              "groupName": "DmsSdkRg",
              "serviceName": "DmsSdkService",
              "subscriptionId": "fc04246f-04c5-437e-ac5e-206a19e7193f"
            },
            "responses": {
              "200": {
                "body": ""
              },
              "202": {
                "body": ""
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    }
  },
  "definitions": {
    "ODataError": {},
    "ODataErrror": {
      "type": "object"
    }
  }
}