Visual Studio Resource Provider Client icon

Visual Studio Resource Provider Client

Use these APIs to manage Visual Studio Team Services resources through the Azure Resource Manager

COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "https"
  ],
  "host": "management.azure.com",
  "info": {
    "description": "Use these APIs to manage Visual Studio Team Services resources through the Azure Resource Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index.",
    "title": "Visual Studio Resource Provider Client",
    "version": "2017-11-01-preview",
    "x-apisguru-categories": [
      "cloud"
    ],
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/visualstudio/resource-manager/Microsoft.VisualStudio/preview/2017-11-01-preview/Csm.json",
        "version": "2.0"
      }
    ],
    "x-preferred": true,
    "x-providerName": "azure.com",
    "x-serviceName": "visualstudio-Csm",
    "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": {
    "apiVersionParameter": {
      "description": "API Version",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "resourceGroupNameParameter": {
      "description": "Name of the resource group within the Azure subscription.",
      "in": "path",
      "name": "resourceGroupName",
      "required": true,
      "type": "string",
      "x-ms-parameter-location": "method"
    },
    "subscriptionIdParameter": {
      "description": "The Azure subscription identifier.",
      "in": "path",
      "name": "subscriptionId",
      "required": true,
      "type": "string"
    }
  },
  "paths": {
    "/providers/microsoft.visualstudio/operations": {
      "get": {
        "description": "Gets the details of all operations possible on the Microsoft.VisualStudio resource provider.",
        "operationId": "Operations_List",
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the possible operations on the Microsoft.VisualStudio resource provider.",
            "schema": {
              "$ref": "#/definitions/OperationListResult"
            }
          }
        },
        "summary": "Operations_List",
        "tags": [
          "Operations"
        ],
        "x-ms-examples": {
          "Get a list of operations for this resource provider": {
            "parameters": {
              "api-version": "2014-04-01-preview"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "display": {
                        "description": "Set Account",
                        "operation": "Creates or updates the Account",
                        "provider": "Visual Studio",
                        "resource": "Account"
                      },
                      "name": "Microsoft.VisualStudio/Account/Write"
                    },
                    {
                      "display": {
                        "description": "Delete Account",
                        "operation": "Deletes the Account",
                        "provider": "Visual Studio",
                        "resource": "Account"
                      },
                      "name": "Microsoft.VisualStudio/Account/Delete"
                    },
                    {
                      "display": {
                        "description": "Read Account",
                        "operation": "Reads the Account",
                        "provider": "Visual Studio",
                        "resource": "Account"
                      },
                      "name": "Microsoft.VisualStudio/Account/Read"
                    },
                    {
                      "display": {
                        "description": "Set Project",
                        "operation": "Creates or updates the Project",
                        "provider": "Visual Studio",
                        "resource": "Project"
                      },
                      "name": "Microsoft.VisualStudio/Project/Write"
                    },
                    {
                      "display": {
                        "description": "Delete Project",
                        "operation": "Deletes the Project",
                        "provider": "Visual Studio",
                        "resource": "Project"
                      },
                      "name": "Microsoft.VisualStudio/Project/Delete"
                    },
                    {
                      "display": {
                        "description": "Read Project",
                        "operation": "Reads the Project",
                        "provider": "Visual Studio",
                        "resource": "Project"
                      },
                      "name": "Microsoft.VisualStudio/Project/Read"
                    },
                    {
                      "display": {
                        "description": "Set Extension",
                        "operation": "Creates or updates the Extension",
                        "provider": "Visual Studio",
                        "resource": "Extension"
                      },
                      "name": "Microsoft.VisualStudio/Extension/Write"
                    },
                    {
                      "display": {
                        "description": "Delete Extension",
                        "operation": "Deletes the Extension",
                        "provider": "Visual Studio",
                        "resource": "Extension"
                      },
                      "name": "Microsoft.VisualStudio/Extension/Delete"
                    },
                    {
                      "display": {
                        "description": "Read Extension",
                        "operation": "Reads the Extension",
                        "provider": "Visual Studio",
                        "resource": "Extension"
                      },
                      "name": "Microsoft.VisualStudio/Extension/Read"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability": {
      "post": {
        "description": "Checks if the specified Visual Studio Team Services account name is available. Resource name can be either an account name or an account name and PUID.",
        "operationId": "Accounts_CheckNameAvailability",
        "parameters": [
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "Parameters describing the name to check availability for.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityParameter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the result of the name availability check.",
            "schema": {
              "$ref": "#/definitions/CheckNameAvailabilityResult"
            }
          }
        },
        "summary": "Accounts_CheckNameAvailability",
        "tags": [
          "Accounts"
        ],
        "x-ms-examples": {
          "Check availability of an account name": {
            "parameters": {
              "api-version": "2014-04-01-preview",
              "body": {
                "resourceName": "ExampleName",
                "resourceType": "Account"
              },
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "nameAvailable": true
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project": {
      "get": {
        "deprecated": true,
        "description": "Gets all Visual Studio Team Services project resources created in the specified Team Services account.",
        "operationId": "Project_ListByAccountResource",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "Name of the Team Services account.",
            "in": "path",
            "name": "rootResourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the details of the Visual Studio Team Services project resources created in the specified Team Services account.",
            "schema": {
              "$ref": "#/definitions/ProjectResourceListResult"
            }
          }
        },
        "summary": "Projects_ListByAccountResource",
        "tags": [
          "Projects"
        ],
        "x-ms-examples": {
          "Get a list of project resources in the Team Services account": {
            "parameters": {
              "api-version": "2017-11-01-preview",
              "resourceGroupName": "VS-Example-Group",
              "rootResourceName": "ExampleAccount",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/project/ExampleProject",
                      "kind": "bootstrappedProject",
                      "location": "Central US",
                      "name": "ExampleProject",
                      "properties": {
                        "bootstrapPipelineTemplate": {
                          "applicationSource": {
                            "applicationConfiguration": {
                              "nodeJsVersion": "8.5.0"
                            },
                            "applicationType": "NodeJs",
                            "sourceType": "CodeTemplate"
                          },
                          "applicationTarget": {
                            "resources": [
                              {
                                "id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
                                "role": "AppService"
                              }
                            ],
                            "targetType": "WindowsAppService"
                          },
                          "authorizationDetails": {}
                        },
                        "processTemplateId": "Scrum",
                        "tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/d921d601-0600-4e45-8600-3914ffc8811a",
                        "versionControlOption": "Git"
                      },
                      "tags": {},
                      "type": "Microsoft.VisualStudio/account/project"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}": {
      "get": {
        "deprecated": true,
        "description": "Gets the details of a Team Services project resource.",
        "operationId": "Projects_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "Name of the Team Services account.",
            "in": "path",
            "name": "rootResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Team Services project.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the details of the updated team project resource.",
            "schema": {
              "$ref": "#/definitions/ProjectResource"
            }
          },
          "404": {
            "description": "The project or Azure subscription was not found."
          }
        },
        "summary": "Projects_Get",
        "tags": [
          "Projects"
        ],
        "x-ms-examples": {
          "Get a project resource": {
            "parameters": {
              "api-version": "2017-11-01-preview",
              "resourceGroupName": "VS-Example-Group",
              "resourceName": "ExampleProject",
              "rootResourceName": "ExampleAccount",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject",
                  "kind": "bootstrappedProject",
                  "location": "North Central US",
                  "name": "ExampleProject",
                  "properties": {
                    "bootstrapPipelineTemplate": {
                      "applicationSource": {
                        "applicationConfiguration": {
                          "nodeJsVersion": "8.5.0"
                        },
                        "applicationType": "NodeJs",
                        "sourceType": "CodeTemplate"
                      },
                      "applicationTarget": {
                        "resources": [
                          {
                            "id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
                            "role": "AppService"
                          }
                        ],
                        "targetType": "WindowsAppService"
                      },
                      "authorizationDetails": {}
                    },
                    "processTemplateId": "Scrum",
                    "tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/7a4e6ba5-35bf-4667-86a4-9b598a88fa25",
                    "versionControlOption": "Git"
                  },
                  "tags": {},
                  "type": "microsoft.visualstudio/account/project"
                }
              },
              "404": {}
            }
          }
        }
      },
      "patch": {
        "deprecated": true,
        "description": "Updates the tags of the specified Team Services project.",
        "operationId": "Projects_Update",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "The request data.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProjectResourceUpdateParameters"
            }
          },
          {
            "description": "Name of the Team Services account.",
            "in": "path",
            "name": "rootResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Team Services project.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the details of the updated team project resource.",
            "schema": {
              "$ref": "#/definitions/ProjectResource"
            }
          }
        },
        "summary": "Projects_Update",
        "tags": [
          "Projects"
        ],
        "x-ms-examples": {
          "Update a project resource": {
            "parameters": {
              "api-version": "2017-11-01-preview",
              "body": {
                "tags": {
                  "NewTag": "NewTagValue"
                }
              },
              "resourceGroupName": "VS-Example-Group",
              "resourceName": "ExampleProject",
              "rootResourceName": "ExampleAccount",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject",
                  "kind": "bootstrappedProject",
                  "location": "North Central US",
                  "name": "ExampleProject",
                  "properties": {
                    "bootstrapPipelineTemplate": {
                      "applicationSource": {
                        "applicationConfiguration": {
                          "nodeJsVersion": "8.5.0"
                        },
                        "applicationType": "NodeJs",
                        "sourceType": "CodeTemplate"
                      },
                      "applicationTarget": {
                        "resources": [
                          {
                            "id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
                            "role": "AppService"
                          }
                        ],
                        "targetType": "WindowsAppService"
                      },
                      "authorizationDetails": {}
                    },
                    "processTemplateId": "Scrum",
                    "tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/7a4e6ba5-35bf-4667-86a4-9b598a88fa25",
                    "versionControlOption": "Git"
                  },
                  "tags": {
                    "NewTag": "NewTagValue"
                  },
                  "type": "microsoft.visualstudio/account/project"
                }
              }
            }
          }
        }
      },
      "put": {
        "deprecated": true,
        "description": "Creates a Team Services project in the collection with the specified name. 'VersionControlOption' and 'ProcessTemplateId' must be specified in the resource properties. Valid values for VersionControlOption: Git, Tfvc. Valid values for ProcessTemplateId: 6B724908-EF14-45CF-84F8-768B5384DA45, ADCC42AB-9882-485E-A3ED-7678F01F66BC, 27450541-8E31-4150-9947-DC59F998FC01 (these IDs correspond to Scrum, Agile, and CMMI process templates).",
        "operationId": "Projects_Create",
        "parameters": [
          {
            "description": "The request data.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ProjectResource"
            }
          },
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "Name of the Team Services account.",
            "in": "path",
            "name": "rootResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Name of the Team Services project.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "This parameter is ignored and should be set to an empty string.",
            "in": "query",
            "name": "validating",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the details of the created or updated team project resource.",
            "schema": {
              "$ref": "#/definitions/ProjectResource"
            }
          },
          "202": {
            "description": "The operation succeeded. A job to create the team project resource has been queued. The URI to monitor the status of the job is provided in the 'location' header."
          }
        },
        "summary": "Projects_Create",
        "tags": [
          "Projects"
        ],
        "x-ms-examples": {
          "Create a project resource": {
            "parameters": {
              "api-version": "2017-11-01-preview",
              "body": {
                "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/project/ExampleProject",
                "location": "Central US",
                "name": "ExampleProject",
                "properties": {
                  "bootstrapPipelineTemplate": {
                    "applicationSource": {
                      "applicationConfiguration": {
                        "nodeJsVersion": "8.5.0"
                      },
                      "applicationType": "NodeJs",
                      "sourceType": "CodeTemplate"
                    },
                    "applicationTarget": {
                      "resources": [
                        {
                          "id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
                          "role": "AppService"
                        }
                      ],
                      "targetType": "WindowsAppService"
                    },
                    "authorizationDetails": {
                      "azure": {
                        "authorizationType": "authorizationToken",
                        "parameters": {
                          "token": "AAD_Access_Token_For_VSTS_Resource"
                        }
                      }
                    }
                  },
                  "processTemplateId": "Scrum",
                  "versionControlOption": "Git"
                },
                "tags": {},
                "type": "Microsoft.VisualStudio/account/project"
              },
              "resourceGroupName": "VS-Example-Group",
              "resourceName": "ExampleProject",
              "rootResourceName": "ExampleAccount",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject",
                  "kind": "bootstrappedProject",
                  "location": "North Central US",
                  "name": "ExampleProject",
                  "properties": {
                    "bootstrapPipelineTemplate": {
                      "applicationSource": {
                        "applicationConfiguration": {
                          "nodeJsVersion": "8.5.0"
                        },
                        "applicationType": "NodeJs",
                        "sourceType": "CodeTemplate"
                      },
                      "applicationTarget": {
                        "resources": [
                          {
                            "id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
                            "role": "AppService"
                          }
                        ],
                        "targetType": "WindowsAppService"
                      },
                      "authorizationDetails": {}
                    },
                    "processTemplateId": "Scrum",
                    "tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/7a4e6ba5-35bf-4667-86a4-9b598a88fa25",
                    "versionControlOption": "Git"
                  },
                  "tags": {},
                  "type": "microsoft.visualstudio/account/project"
                }
              },
              "202": {
                "headers": {
                  "location": "https://management.azure.com/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject/subContainers/ExampleProject/status/?api-version=2017-11-01-preview&jobId=126167d2-d710-4b5d-80a8-a1d58717142d&operation=put",
                  "retry-after": "5"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account": {
      "get": {
        "description": "Gets all Visual Studio Team Services account resources under the resource group linked to the specified Azure subscription.",
        "operationId": "Accounts_ListByResourceGroup",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the details of the Visual Studio Team Services account resources linked to the Azure subscription.",
            "schema": {
              "$ref": "#/definitions/AccountResourceListResult"
            }
          }
        },
        "summary": "Accounts_ListByResourceGroup",
        "tags": [
          "Accounts"
        ],
        "x-ms-examples": {
          "Get a list of account resources in the resource group": {
            "parameters": {
              "api-version": "2014-04-01-preview",
              "resourceGroupName": "VS-Example-Group",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/Example",
                      "location": "Central US",
                      "name": "VS-Example-Group",
                      "properties": {
                        "AccountURL": ""
                      },
                      "tags": {},
                      "type": "Microsoft.VisualStudio/account"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension": {
      "get": {
        "description": "Gets the details of the extension resources created within the resource group.",
        "operationId": "Extensions_ListByAccount",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "The name of the Visual Studio Team Services account resource.",
            "in": "path",
            "name": "accountResourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains all extension resource details for the specified account.",
            "schema": {
              "$ref": "#/definitions/ExtensionResourceListResult"
            }
          }
        },
        "summary": "Extensions_ListByAccount",
        "tags": [
          "Extensions"
        ],
        "x-ms-examples": {
          "Get a list of extension resources within the resource group": {
            "parameters": {
              "accountResourceName": "ExampleAccount",
              "api-version": "2014-04-01-preview",
              "resourceGroupName": "VS-Example-Group",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
                      "location": "Central US",
                      "name": "ms.example",
                      "plan": {
                        "name": "ExamplePlan",
                        "product": "ExampleExtensionName",
                        "promotionCode": "",
                        "publisher": "ExampleExtensionPublisher",
                        "version": "1.0"
                      },
                      "properties": {},
                      "tags": {},
                      "type": "Microsoft.VisualStudio/account/extension"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}": {
      "delete": {
        "description": "Removes an extension resource registration for a Visual Studio Team Services account.",
        "operationId": "Extensions_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "The name of the Visual Studio Team Services account resource.",
            "in": "path",
            "name": "accountResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the extension.",
            "in": "path",
            "name": "extensionResourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The extension resource has been deleted for the specified account."
          }
        },
        "summary": "Extensions_Delete",
        "tags": [
          "Extensions"
        ],
        "x-ms-examples": {
          "Delete an extension resource": {
            "parameters": {
              "accountResourceName": "Example",
              "api-version": "2014-04-01-preview",
              "extensionResourceName": "ms.example",
              "resourceGroupName": "VS-Example-Group",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the details of an extension associated with a Visual Studio Team Services account resource.",
        "operationId": "Extensions_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "The name of the Visual Studio Team Services account resource.",
            "in": "path",
            "name": "accountResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the extension.",
            "in": "path",
            "name": "extensionResourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the extension resource details for the specified account.",
            "schema": {
              "$ref": "#/definitions/ExtensionResource"
            }
          },
          "404": {
            "description": "The specified extension has no plans defined."
          }
        },
        "summary": "Extensions_Get",
        "tags": [
          "Extensions"
        ],
        "x-ms-examples": {
          "Get an extension resource": {
            "parameters": {
              "accountResourceName": "ExampleAccount",
              "api-version": "2014-04-01-preview",
              "extensionResourceName": "ms.example",
              "resourceGroupName": "VS-Example-Group",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
                  "location": "Central US",
                  "name": "ms.example",
                  "plan": {
                    "name": "ExamplePlan",
                    "product": "ExampleExtensionName",
                    "promotionCode": "",
                    "publisher": "ExampleExtensionPublisher",
                    "version": "1.0"
                  },
                  "properties": {},
                  "tags": {},
                  "type": "Microsoft.VisualStudio/account/extension"
                }
              },
              "404": {}
            }
          }
        }
      },
      "patch": {
        "description": "Updates an existing extension registration for the Visual Studio Team Services account.",
        "operationId": "Extensions_Update",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "An object containing additional information related to the extension request.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExtensionResourceRequest"
            }
          },
          {
            "description": "The name of the Visual Studio Team Services account resource.",
            "in": "path",
            "name": "accountResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the extension.",
            "in": "path",
            "name": "extensionResourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The extension resource was updated for the specified account.",
            "schema": {
              "$ref": "#/definitions/ExtensionResource"
            }
          }
        },
        "summary": "Extensions_Update",
        "tags": [
          "Extensions"
        ],
        "x-ms-examples": {
          "Update an extension resource": {
            "parameters": {
              "accountResourceName": "ExampleAccount",
              "api-version": "2014-04-01-preview",
              "body": {
                "location": "Central US",
                "plan": {
                  "name": "ExamplePlan",
                  "product": "ExampleExtensionName",
                  "promotionCode": "",
                  "publisher": "ExampleExtensionPublisher",
                  "version": "1.0"
                },
                "properties": {},
                "tags": {}
              },
              "extensionResourceName": "Example",
              "resourceGroupName": "VS-Example-Group",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
                  "location": "Central US",
                  "name": "ms.example",
                  "plan": {
                    "name": "ExamplePlan",
                    "product": "ExampleExtensionName",
                    "promotionCode": "",
                    "publisher": "ExampleExtensionPublisher",
                    "version": "1.0"
                  },
                  "properties": {},
                  "tags": {},
                  "type": "Microsoft.VisualStudio/account/extension"
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Registers the extension with a Visual Studio Team Services account.",
        "operationId": "Extensions_Create",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "An object containing additional information related to the extension request.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ExtensionResourceRequest"
            }
          },
          {
            "description": "The name of the Visual Studio Team Services account resource.",
            "in": "path",
            "name": "accountResourceName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the extension.",
            "in": "path",
            "name": "extensionResourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The extension resource was created for the specified account.",
            "schema": {
              "$ref": "#/definitions/ExtensionResource"
            }
          }
        },
        "summary": "Extensions_Create",
        "tags": [
          "Extensions"
        ],
        "x-ms-examples": {
          "Create an extension resource": {
            "parameters": {
              "accountResourceName": "ExampleAccount",
              "api-version": "2014-04-01-preview",
              "body": {
                "location": "Central US",
                "plan": {
                  "name": "ExamplePlan",
                  "product": "ExampleExtensionName",
                  "promotionCode": "",
                  "publisher": "ExampleExtensionPublisher",
                  "version": "1.0"
                },
                "properties": {},
                "tags": {}
              },
              "extensionResourceName": "ms.example",
              "resourceGroupName": "VS-Example-Group",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
                  "location": "Central US",
                  "name": "ms.example",
                  "plan": {
                    "name": "ExamplePlan",
                    "product": "ExampleExtensionName",
                    "promotionCode": "",
                    "publisher": "ExampleExtensionPublisher",
                    "version": "1.0"
                  },
                  "properties": {},
                  "tags": {},
                  "type": "Microsoft.VisualStudio/account/extension"
                }
              }
            }
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}": {
      "delete": {
        "description": "Deletes a Visual Studio Team Services account resource.",
        "operationId": "Accounts_Delete",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "Name of the resource.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The Visual Studio Team Services account resource was deleted."
          }
        },
        "summary": "Accounts_Delete",
        "tags": [
          "Accounts"
        ],
        "x-ms-examples": {
          "Delete an account resource": {
            "parameters": {
              "api-version": "2014-04-01-preview",
              "resourceGroupName": "VS-Example-Group",
              "resourceName": "Example",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {}
            }
          }
        }
      },
      "get": {
        "description": "Gets the Visual Studio Team Services account resource details.",
        "operationId": "Accounts_Get",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "Name of the resource.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response contains the details of the Visual Studio Team Services account resource.",
            "schema": {
              "$ref": "#/definitions/AccountResource"
            }
          },
          "404": {
            "description": "The Visual Studio Team Services account does not exist."
          }
        },
        "summary": "Accounts_Get",
        "tags": [
          "Accounts"
        ],
        "x-ms-examples": {
          "Get an account resource": {
            "parameters": {
              "api-version": "2014-04-01-preview",
              "resourceGroupName": "VS-Example-Group",
              "resourceName": "Example",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/Example",
                  "location": "Central US",
                  "name": "VS-Example-Group",
                  "properties": {
                    "AccountURL": ""
                  },
                  "tags": {},
                  "type": "Microsoft.VisualStudio/account"
                }
              },
              "404": {}
            }
          }
        }
      },
      "put": {
        "description": "Creates or updates a Visual Studio Team Services account resource.",
        "operationId": "Accounts_CreateOrUpdate",
        "parameters": [
          {
            "$ref": "#/parameters/resourceGroupNameParameter"
          },
          {
            "$ref": "#/parameters/subscriptionIdParameter"
          },
          {
            "$ref": "#/parameters/apiVersionParameter"
          },
          {
            "description": "The request data.",
            "in": "body",
            "name": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/AccountResourceRequest"
            }
          },
          {
            "description": "Name of the resource.",
            "in": "path",
            "name": "resourceName",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The Visual Studio Team Services account resource was created or updated.",
            "schema": {
              "$ref": "#/definitions/AccountResource"
            }
          },
          "404": {
            "description": "The Visual Studio Team Services account does not exist."
          }
        },
        "summary": "Accounts_CreateOrUpdate",
        "tags": [
          "Accounts"
        ],
        "x-ms-examples": {
          "Create an account resource": {
            "parameters": {
              "api-version": "2014-04-01-preview",
              "body": {
                "accountName": "Example",
                "location": "Central US",
                "operationType": "create",
                "properties": {},
                "tags": {}
              },
              "resourceGroupName": "VS-Example-Group",
              "resourceName": "Example",
              "subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
            },
            "responses": {
              "200": {
                "body": {
                  "id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/Example",
                  "location": "Central US",
                  "name": "VS-Example-Group",
                  "properties": {
                    "AccountURL": ""
                  },
                  "tags": {},
                  "type": "Microsoft.VisualStudio/account"
                }
              },
              "404": {}
            }
          }
        }
      }
    }
  },
  "definitions": {
    "AccountResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "The response to an account resource GET request.",
      "properties": {
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource properties.",
          "type": "object",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "AccountResourceListResult": {
      "description": "The response to an account resource list GET request.",
      "properties": {
        "value": {
          "description": "Array of resource details.",
          "items": {
            "$ref": "#/definitions/AccountResource"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "AccountResourceRequest": {
      "description": "The body of a PUT request to modify a Visual Studio account resource.",
      "properties": {
        "accountName": {
          "description": "The account name.",
          "type": "string"
        },
        "location": {
          "description": "The Azure instance location.",
          "type": "string"
        },
        "operationType": {
          "description": "The type of the operation.",
          "enum": [
            "unknown",
            "create",
            "update",
            "link"
          ],
          "x-ms-enum": {
            "name": "AccountResourceRequestOperationType"
          }
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The custom properties of the resource.",
          "type": "object",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The custom tags of the resource.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "ApplicationSource": {
      "description": "Defines the source application for a VSTS pipeline.",
      "discriminator": "sourceType",
      "properties": {
        "applicationConfiguration": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Application specific properties.",
          "type": "object"
        },
        "applicationType": {
          "description": "Type of application.",
          "enum": [
            "AspDotNet",
            "AspDotNetCore",
            "NodeJs"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationType"
          }
        },
        "sourceType": {
          "description": "Type of application source.",
          "enum": [
            "CodeTemplate",
            "CodeRepository"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationSourceType"
          }
        }
      },
      "required": [
        "sourceType",
        "applicationType"
      ],
      "type": "object"
    },
    "ApplicationTarget": {
      "description": "Defines the target resources for a VSTS pipeline.",
      "properties": {
        "resources": {
          "description": "List of target resources.",
          "items": {
            "$ref": "#/definitions/TargetResource"
          },
          "type": "array"
        },
        "targetType": {
          "description": "Type of target.",
          "enum": [
            "WindowsAppService"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ApplicationTargetType"
          }
        }
      },
      "required": [
        "targetType",
        "resources"
      ],
      "type": "object"
    },
    "Authorization": {
      "description": "Defines the authorization type and its parameters.",
      "properties": {
        "authorizationType": {
          "description": "Type of authorization.",
          "enum": [
            "authorizationToken",
            "personalAccessToken"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "AuthorizationType"
          }
        },
        "parameters": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Authorization parameters corresponding to the authorization type.",
          "type": "object"
        }
      },
      "required": [
        "authorizationType"
      ],
      "type": "object"
    },
    "CheckNameAvailabilityParameter": {
      "description": "The body of a POST request to check name availability.",
      "properties": {
        "resourceName": {
          "description": "The name of the resource to check availability for.",
          "type": "string"
        },
        "resourceType": {
          "description": "The type of resource to check availability for.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CheckNameAvailabilityResult": {
      "description": "The response to a name availability request.",
      "properties": {
        "message": {
          "description": "The message describing the detailed reason.",
          "type": "string"
        },
        "nameAvailable": {
          "description": "The value which indicates whether the provided name is available.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "CodeRepository": {
      "description": "Defines a code repository.",
      "properties": {
        "authorizationReference": {
          "description": "Reference to the authorization info used to access the code repository. This value is used as a key into the global authorization details dictionary.",
          "type": "string"
        },
        "defaultBranch": {
          "description": "Default branch for which continuous integration should be configured in the VSTS pipeline.",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier of the code repository.",
          "type": "string"
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Repository-specific properties.",
          "type": "object"
        },
        "repositoryType": {
          "description": "Type of code repository.",
          "enum": [
            "gitHub",
            "vstsGit"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "CodeRepositoryType"
          }
        }
      },
      "required": [
        "repositoryType",
        "id",
        "defaultBranch"
      ],
      "type": "object"
    },
    "CodeRepositoryApplicationSource": {
      "allOf": [
        {
          "$ref": "#/definitions/ApplicationSource"
        }
      ],
      "description": "Defines the source application, when it resides in a code repository.",
      "properties": {
        "repository": {
          "$ref": "#/definitions/CodeRepository",
          "description": "Code repository where the application source resides."
        }
      },
      "required": [
        "repository"
      ],
      "type": "object",
      "x-ms-discriminator-value": "CodeRepository"
    },
    "CodeTemplateApplicationSource": {
      "allOf": [
        {
          "$ref": "#/definitions/ApplicationSource"
        }
      ],
      "description": "Defines the source application template.",
      "type": "object",
      "x-ms-discriminator-value": "CodeTemplate"
    },
    "ExtensionResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "The response to an extension resource GET request.",
      "properties": {
        "plan": {
          "$ref": "#/definitions/ExtensionResourcePlan",
          "description": "The extension plan that was purchased."
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource properties.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "ExtensionResourceListResult": {
      "description": "The response to an extension resource list GET request.",
      "properties": {
        "value": {
          "description": "Array of extension resource details.",
          "items": {
            "$ref": "#/definitions/ExtensionResource"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ExtensionResourcePlan": {
      "description": "Plan data for an extension resource.",
      "properties": {
        "name": {
          "description": "Name of the plan.",
          "type": "string"
        },
        "product": {
          "description": "Product name.",
          "type": "string"
        },
        "promotionCode": {
          "description": "Optional: the promotion code associated with the plan.",
          "type": "string"
        },
        "publisher": {
          "description": "Name of the extension publisher.",
          "type": "string"
        },
        "version": {
          "description": "A string that uniquely identifies the plan version.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ExtensionResourceRequest": {
      "description": "The body of an extension resource PUT request.",
      "properties": {
        "location": {
          "description": "The Azure region of the Visual Studio account associated with this request (i.e 'southcentralus'.)",
          "type": "string"
        },
        "plan": {
          "$ref": "#/definitions/ExtensionResourcePlan",
          "description": "Extended information about the plan being purchased for this extension resource."
        },
        "properties": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "A dictionary of extended properties. This property is currently unused.",
          "type": "object",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "A dictionary of user-defined tags to be stored with the extension resource.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "Operation": {
      "description": "Properties of an operation supported by the resource provider.",
      "properties": {
        "display": {
          "$ref": "#/definitions/OperationProperties",
          "description": "The properties of the resource operation."
        },
        "name": {
          "description": "The name of the resource operation.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "OperationListResult": {
      "description": "Container for a list of operations supported by a resource provider.",
      "properties": {
        "value": {
          "description": "A list of operations supported by a resource provider.",
          "items": {
            "$ref": "#/definitions/Operation"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "OperationProperties": {
      "description": "Properties of an operation supported by the resource provider.",
      "properties": {
        "description": {
          "description": "The description of the resource operation.",
          "type": "string"
        },
        "operation": {
          "description": "The operation name.",
          "type": "string"
        },
        "provider": {
          "description": "The provider name.",
          "type": "string"
        },
        "resource": {
          "description": "The resource name.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PipelineTemplate": {
      "description": "Defines a VSTS pipeline template.",
      "properties": {
        "applicationSource": {
          "$ref": "#/definitions/ApplicationSource",
          "description": "Source application for the VSTS pipeline."
        },
        "applicationTarget": {
          "$ref": "#/definitions/ApplicationTarget",
          "description": "Target resources for the VSTS pipeline."
        },
        "authorizationDetails": {
          "additionalProperties": {
            "$ref": "#/definitions/Authorization"
          },
          "description": "Global dictionary of authorization details used by the pipeline, with a friendly name as key. Individual resource in the pipeline can reference to a specific authorization info using the friendly name.",
          "type": "object"
        }
      },
      "required": [
        "applicationSource",
        "applicationTarget",
        "authorizationDetails"
      ],
      "type": "object"
    },
    "ProjectResource": {
      "allOf": [
        {
          "$ref": "#/definitions/Resource"
        }
      ],
      "description": "A Visual Studio Team Services project resource.",
      "properties": {
        "kind": {
          "description": "Kind of project resource",
          "enum": [
            "project",
            "bootstrappedProject"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProjectResourceKind"
          }
        },
        "properties": {
          "$ref": "#/definitions/ProjectResourceProperties",
          "description": "Custom properties of project resource.",
          "x-ms-client-flatten": true
        }
      },
      "type": "object"
    },
    "ProjectResourceListResult": {
      "description": "The response to a request to list Team Services project resources in a resource group/account.",
      "properties": {
        "value": {
          "description": "List of project resource details.",
          "items": {
            "$ref": "#/definitions/ProjectResource"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ProjectResourceProperties": {
      "description": "Defines the custom properties of project resource.",
      "properties": {
        "bootstrapPipelineTemplate": {
          "$ref": "#/definitions/PipelineTemplate",
          "description": "Template used to configure a bootstrap pipeline in the VSTS project."
        },
        "ownerUpn": {
          "description": "Optional UPN of the owner, on-behalf-of whom the project is being created.",
          "type": "string"
        },
        "processTemplateId": {
          "description": "Process template to use in the project.",
          "enum": [
            "Scrum",
            "Agile",
            "Cmmi"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "ProcessTemplate"
          }
        },
        "tfsUniqueIdentifier": {
          "description": "Unique identifier of the VSTS project.",
          "readOnly": true,
          "type": "string"
        },
        "versionControlOption": {
          "description": "Version control to use for the default repo created in the project.",
          "enum": [
            "Git",
            "Tfvc"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "VersionControlOption"
          }
        }
      },
      "type": "object"
    },
    "ProjectResourceUpdateParameters": {
      "description": "The parameters to update a project resource.",
      "properties": {
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "The custom tags to be set on the resource.",
          "type": "object"
        }
      },
      "type": "object"
    },
    "Resource": {
      "description": "A generic Azure Resource Manager resource.",
      "properties": {
        "id": {
          "description": "Unique identifier of the resource.",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Resource location.",
          "type": "string"
        },
        "name": {
          "description": "Resource name.",
          "readOnly": true,
          "type": "string"
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags.",
          "type": "object"
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      },
      "type": "object",
      "x-ms-azure-resource": true
    },
    "TargetResource": {
      "description": "Defines a single resource used as target for a VSTS pipeline.",
      "properties": {
        "authorizationReference": {
          "description": "Reference to the authorization info used to access the target resource. This value is used as a key into the global authorization details dictionary.",
          "type": "string"
        },
        "id": {
          "description": "Unique identifier of the target resource.",
          "type": "string"
        },
        "role": {
          "description": "Role of the target resource.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "role"
      ],
      "type": "object"
    }
  }
}