{ "swagger": "2.0", "info": { "title": "Visual Studio Resource Provider Client", "version": "2017-11-01-preview", "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." }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "security": [ { "azure_auth": [ "user_impersonation" ] } ], "paths": { "/providers/microsoft.visualstudio/operations": { "get": { "tags": [ "Operations" ], "summary": "Operations_List", "description": "Gets the details of all operations possible on the Microsoft.VisualStudio resource provider.", "operationId": "Operations_List", "produces": [ "application/json" ], "responses": { "200": { "description": "The operation succeeded. The response contains the possible operations on the Microsoft.VisualStudio resource provider.", "schema": { "$ref": "#/definitions/OperationListResult" } } }, "x-ms-examples": { "Get a list of operations for this resource provider": { "$ref": "./examples/GetOperations.json" } } } }, "/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability": { "post": { "tags": [ "Accounts" ], "summary": "Accounts_CheckNameAvailability", "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" }, { "in": "body", "name": "body", "description": "Parameters describing the name to check availability for.", "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" } } }, "x-ms-examples": { "Check availability of an account name": { "$ref": "./examples/CheckNameAvailability.json" } } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account": { "get": { "tags": [ "Accounts" ], "summary": "Accounts_ListByResourceGroup", "description": "Gets all Visual Studio Team Services account resources under the resource group linked to the specified Azure subscription.", "operationId": "Accounts_ListByResourceGroup", "produces": [ "application/json" ], "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" } } }, "x-ms-examples": { "Get a list of account resources in the resource group": { "$ref": "./examples/GetResources_List.json" } } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension": { "get": { "tags": [ "Extensions" ], "summary": "Extensions_ListByAccount", "description": "Gets the details of the extension resources created within the resource group.", "operationId": "Extensions_ListByAccount", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "path", "name": "accountResourceName", "description": "The name of the Visual Studio Team Services account resource.", "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" } } }, "x-ms-examples": { "Get a list of extension resources within the resource group": { "$ref": "./examples/GetExtensionResources_List.json" } } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}": { "put": { "tags": [ "Extensions" ], "summary": "Extensions_Create", "description": "Registers the extension with a Visual Studio Team Services account.", "operationId": "Extensions_Create", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "body", "name": "body", "description": "An object containing additional information related to the extension request.", "required": true, "schema": { "$ref": "#/definitions/ExtensionResourceRequest" } }, { "in": "path", "name": "accountResourceName", "description": "The name of the Visual Studio Team Services account resource.", "required": true, "type": "string" }, { "in": "path", "name": "extensionResourceName", "description": "The name of the extension.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation succeeded. The extension resource was created for the specified account.", "schema": { "$ref": "#/definitions/ExtensionResource" } } }, "x-ms-examples": { "Create an extension resource": { "$ref": "./examples/CreateExtensionResource.json" } } }, "delete": { "tags": [ "Extensions" ], "summary": "Extensions_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" }, { "in": "path", "name": "accountResourceName", "description": "The name of the Visual Studio Team Services account resource.", "required": true, "type": "string" }, { "in": "path", "name": "extensionResourceName", "description": "The name of the extension.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation succeeded. The extension resource has been deleted for the specified account." } }, "x-ms-examples": { "Delete an extension resource": { "$ref": "./examples/DeleteExtensionResource.json" } } }, "get": { "tags": [ "Extensions" ], "summary": "Extensions_Get", "description": "Gets the details of an extension associated with a Visual Studio Team Services account resource.", "operationId": "Extensions_Get", "produces": [ "application/json" ], "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "path", "name": "accountResourceName", "description": "The name of the Visual Studio Team Services account resource.", "required": true, "type": "string" }, { "in": "path", "name": "extensionResourceName", "description": "The name of the extension.", "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." } }, "x-ms-examples": { "Get an extension resource": { "$ref": "./examples/GetExtensionResource.json" } } }, "patch": { "tags": [ "Extensions" ], "summary": "Extensions_Update", "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" }, { "in": "body", "name": "body", "description": "An object containing additional information related to the extension request.", "required": true, "schema": { "$ref": "#/definitions/ExtensionResourceRequest" } }, { "in": "path", "name": "accountResourceName", "description": "The name of the Visual Studio Team Services account resource.", "required": true, "type": "string" }, { "in": "path", "name": "extensionResourceName", "description": "The name of the extension.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation succeeded. The extension resource was updated for the specified account.", "schema": { "$ref": "#/definitions/ExtensionResource" } } }, "x-ms-examples": { "Update an extension resource": { "$ref": "./examples/UpdateExtensionResource.json" } } } }, "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}": { "put": { "tags": [ "Accounts" ], "summary": "Accounts_CreateOrUpdate", "description": "Creates or updates a Visual Studio Team Services account resource.", "operationId": "Accounts_CreateOrUpdate", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "body", "name": "body", "description": "The request data.", "required": true, "schema": { "$ref": "#/definitions/AccountResourceRequest" } }, { "in": "path", "name": "resourceName", "description": "Name of the resource.", "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." } }, "x-ms-examples": { "Create an account resource": { "$ref": "./examples/CreateResource.json" } } }, "delete": { "tags": [ "Accounts" ], "summary": "Accounts_Delete", "description": "Deletes a Visual Studio Team Services account resource.", "operationId": "Accounts_Delete", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "path", "name": "resourceName", "description": "Name of the resource.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation succeeded. The Visual Studio Team Services account resource was deleted." } }, "x-ms-examples": { "Delete an account resource": { "$ref": "./examples/DeleteResource.json" } } }, "get": { "tags": [ "Accounts" ], "summary": "Accounts_Get", "description": "Gets the Visual Studio Team Services account resource details.", "operationId": "Accounts_Get", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "path", "name": "resourceName", "description": "Name of the resource.", "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." } }, "x-ms-examples": { "Get an account resource": { "$ref": "./examples/GetResource.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project": { "get": { "deprecated": true, "tags": [ "Projects" ], "summary": "Projects_ListByAccountResource", "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" }, { "in": "path", "name": "rootResourceName", "description": "Name of the Team Services account.", "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" } } }, "x-ms-examples": { "Get a list of project resources in the Team Services account": { "$ref": "./examples/GetProjectResources_List.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}": { "put": { "deprecated": true, "tags": [ "Projects" ], "summary": "Projects_Create", "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": [ { "in": "body", "name": "body", "description": "The request data.", "required": true, "schema": { "$ref": "#/definitions/ProjectResource" } }, { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "path", "name": "rootResourceName", "description": "Name of the Team Services account.", "required": true, "type": "string" }, { "in": "path", "name": "resourceName", "description": "Name of the Team Services project.", "required": true, "type": "string" }, { "in": "query", "name": "validating", "description": "This parameter is ignored and should be set to an empty string.", "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." } }, "x-ms-long-running-operation": true, "x-ms-examples": { "Create a project resource": { "$ref": "./examples/CreateProjectResource.json" } } }, "get": { "deprecated": true, "tags": [ "Projects" ], "summary": "Projects_Get", "description": "Gets the details of a Team Services project resource.", "operationId": "Projects_Get", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "path", "name": "rootResourceName", "description": "Name of the Team Services account.", "required": true, "type": "string" }, { "in": "path", "name": "resourceName", "description": "Name of the Team Services project.", "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." } }, "x-ms-examples": { "Get a project resource": { "$ref": "./examples/GetProjectResource.json" } } }, "patch": { "deprecated": true, "tags": [ "Projects" ], "summary": "Projects_Update", "description": "Updates the tags of the specified Team Services project.", "operationId": "Projects_Update", "parameters": [ { "$ref": "#/parameters/resourceGroupNameParameter" }, { "$ref": "#/parameters/subscriptionIdParameter" }, { "$ref": "#/parameters/apiVersionParameter" }, { "in": "body", "name": "body", "description": "The request data.", "required": true, "schema": { "$ref": "#/definitions/ProjectResourceUpdateParameters" } }, { "in": "path", "name": "rootResourceName", "description": "Name of the Team Services account.", "required": true, "type": "string" }, { "in": "path", "name": "resourceName", "description": "Name of the Team Services project.", "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" } } }, "x-ms-examples": { "Update a project resource": { "$ref": "./examples/UpdateProjectResource.json" } } } } }, "definitions": { "AccountResource": { "description": "The response to an account resource GET request.", "type": "object", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "properties": { "description": "Resource properties.", "type": "object", "additionalProperties": { "type": "string" }, "x-ms-client-flatten": true } } }, "AccountResourceListResult": { "description": "The response to an account resource list GET request.", "type": "object", "properties": { "value": { "description": "Array of resource details.", "type": "array", "items": { "$ref": "#/definitions/AccountResource" } } } }, "AccountResourceRequest": { "description": "The body of a PUT request to modify a Visual Studio account resource.", "type": "object", "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": { "description": "The custom properties of the resource.", "type": "object", "additionalProperties": { "type": "string" }, "x-ms-client-flatten": true }, "tags": { "description": "The custom tags of the resource.", "type": "object", "additionalProperties": { "type": "string" } } } }, "CheckNameAvailabilityParameter": { "description": "The body of a POST request to check name availability.", "type": "object", "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" } } }, "CheckNameAvailabilityResult": { "description": "The response to a name availability request.", "type": "object", "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" } } }, "ExtensionResource": { "description": "The response to an extension resource GET request.", "type": "object", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "plan": { "description": "The extension plan that was purchased.", "$ref": "#/definitions/ExtensionResourcePlan" }, "properties": { "description": "Resource properties.", "type": "object", "additionalProperties": { "type": "string" } } } }, "ExtensionResourceListResult": { "description": "The response to an extension resource list GET request.", "type": "object", "properties": { "value": { "description": "Array of extension resource details.", "type": "array", "items": { "$ref": "#/definitions/ExtensionResource" } } } }, "ExtensionResourcePlan": { "description": "Plan data for an extension resource.", "type": "object", "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" } } }, "ExtensionResourceRequest": { "description": "The body of an extension resource PUT request.", "type": "object", "properties": { "location": { "description": "The Azure region of the Visual Studio account associated with this request (i.e 'southcentralus'.)", "type": "string" }, "plan": { "description": "Extended information about the plan being purchased for this extension resource.", "$ref": "#/definitions/ExtensionResourcePlan" }, "properties": { "description": "A dictionary of extended properties. This property is currently unused.", "type": "object", "additionalProperties": { "type": "string" }, "x-ms-client-flatten": true }, "tags": { "description": "A dictionary of user-defined tags to be stored with the extension resource.", "type": "object", "additionalProperties": { "type": "string" } } } }, "Operation": { "description": "Properties of an operation supported by the resource provider.", "type": "object", "properties": { "display": { "description": "The properties of the resource operation.", "$ref": "#/definitions/OperationProperties" }, "name": { "description": "The name of the resource operation.", "type": "string" } } }, "OperationListResult": { "description": "Container for a list of operations supported by a resource provider.", "type": "object", "properties": { "value": { "description": "A list of operations supported by a resource provider.", "type": "array", "items": { "$ref": "#/definitions/Operation" } } } }, "OperationProperties": { "description": "Properties of an operation supported by the resource provider.", "type": "object", "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" } } }, "Resource": { "description": "A generic Azure Resource Manager resource.", "x-ms-azure-resource": true, "type": "object", "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": { "description": "Resource tags.", "type": "object", "additionalProperties": { "type": "string" } }, "type": { "description": "Resource type.", "readOnly": true, "type": "string" } } }, "ProjectResource": { "description": "A Visual Studio Team Services project resource.", "type": "object", "allOf": [ { "$ref": "#/definitions/Resource" } ], "properties": { "kind": { "description": "Kind of project resource", "type": "string", "enum": [ "project", "bootstrappedProject" ], "x-ms-enum": { "name": "ProjectResourceKind", "modelAsString": true } }, "properties": { "description": "Custom properties of project resource.", "$ref": "#/definitions/ProjectResourceProperties", "x-ms-client-flatten": true } } }, "ProjectResourceProperties": { "description": "Defines the custom properties of project resource.", "type": "object", "properties": { "processTemplateId": { "description": "Process template to use in the project.", "type": "string", "enum": [ "Scrum", "Agile", "Cmmi" ], "x-ms-enum": { "name": "ProcessTemplate", "modelAsString": true } }, "versionControlOption": { "description": "Version control to use for the default repo created in the project.", "type": "string", "enum": [ "Git", "Tfvc" ], "x-ms-enum": { "name": "VersionControlOption", "modelAsString": true } }, "ownerUpn": { "description": "Optional UPN of the owner, on-behalf-of whom the project is being created.", "type": "string" }, "tfsUniqueIdentifier": { "description": "Unique identifier of the VSTS project.", "readOnly": true, "type": "string" }, "bootstrapPipelineTemplate": { "description": "Template used to configure a bootstrap pipeline in the VSTS project.", "$ref": "#/definitions/PipelineTemplate" } } }, "PipelineTemplate": { "description": "Defines a VSTS pipeline template.", "type": "object", "properties": { "applicationSource": { "description": "Source application for the VSTS pipeline.", "$ref": "#/definitions/ApplicationSource" }, "applicationTarget": { "description": "Target resources for the VSTS pipeline.", "$ref": "#/definitions/ApplicationTarget" }, "authorizationDetails": { "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", "additionalProperties": { "$ref": "#/definitions/Authorization" } } }, "required": [ "applicationSource", "applicationTarget", "authorizationDetails" ] }, "ApplicationSource": { "description": "Defines the source application for a VSTS pipeline.", "type": "object", "discriminator": "sourceType", "properties": { "sourceType": { "description": "Type of application source.", "type": "string", "enum": [ "CodeTemplate", "CodeRepository" ], "x-ms-enum": { "name": "ApplicationSourceType", "modelAsString": true } }, "applicationType": { "description": "Type of application.", "type": "string", "enum": [ "AspDotNet", "AspDotNetCore", "NodeJs" ], "x-ms-enum": { "name": "ApplicationType", "modelAsString": true } }, "applicationConfiguration": { "description": "Application specific properties.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "sourceType", "applicationType" ] }, "CodeTemplateApplicationSource": { "x-ms-discriminator-value": "CodeTemplate", "description": "Defines the source application template.", "type": "object", "allOf": [ { "$ref": "#/definitions/ApplicationSource" } ] }, "CodeRepositoryApplicationSource": { "x-ms-discriminator-value": "CodeRepository", "description": "Defines the source application, when it resides in a code repository.", "type": "object", "properties": { "repository": { "description": "Code repository where the application source resides.", "$ref": "#/definitions/CodeRepository" } }, "allOf": [ { "$ref": "#/definitions/ApplicationSource" } ], "required": [ "repository" ] }, "CodeRepository": { "description": "Defines a code repository.", "type": "object", "properties": { "repositoryType": { "description": "Type of code repository.", "type": "string", "enum": [ "gitHub", "vstsGit" ], "x-ms-enum": { "name": "CodeRepositoryType", "modelAsString": true } }, "id": { "description": "Unique identifier of the code repository.", "type": "string" }, "defaultBranch": { "description": "Default branch for which continuous integration should be configured in the VSTS pipeline.", "type": "string" }, "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" }, "properties": { "description": "Repository-specific properties.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "repositoryType", "id", "defaultBranch" ] }, "ApplicationTarget": { "description": "Defines the target resources for a VSTS pipeline.", "type": "object", "properties": { "targetType": { "description": "Type of target.", "type": "string", "enum": [ "WindowsAppService" ], "x-ms-enum": { "name": "ApplicationTargetType", "modelAsString": true } }, "resources": { "description": "List of target resources.", "type": "array", "items": { "$ref": "#/definitions/TargetResource" } } }, "required": [ "targetType", "resources" ] }, "TargetResource": { "description": "Defines a single resource used as target for a VSTS pipeline.", "type": "object", "properties": { "id": { "description": "Unique identifier of the target resource.", "type": "string" }, "role": { "description": "Role of the target resource.", "type": "string" }, "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" } }, "required": [ "id", "role" ] }, "Authorization": { "description": "Defines the authorization type and its parameters.", "type": "object", "properties": { "authorizationType": { "description": "Type of authorization.", "type": "string", "enum": [ "authorizationToken", "personalAccessToken" ], "x-ms-enum": { "name": "AuthorizationType", "modelAsString": true } }, "parameters": { "description": "Authorization parameters corresponding to the authorization type.", "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "authorizationType" ] }, "ProjectResourceListResult": { "description": "The response to a request to list Team Services project resources in a resource group/account.", "type": "object", "properties": { "value": { "description": "List of project resource details.", "type": "array", "items": { "$ref": "#/definitions/ProjectResource" } } } }, "ProjectResourceUpdateParameters": { "description": "The parameters to update a project resource.", "type": "object", "properties": { "tags": { "description": "The custom tags to be set on the resource.", "type": "object", "additionalProperties": { "type": "string" } } } } }, "parameters": { "subscriptionIdParameter": { "name": "subscriptionId", "in": "path", "description": "The Azure subscription identifier.", "required": true, "type": "string" }, "resourceGroupNameParameter": { "name": "resourceGroupName", "in": "path", "required": true, "type": "string", "x-ms-parameter-location": "method", "description": "Name of the resource group within the Azure subscription." }, "apiVersionParameter": { "name": "api-version", "in": "query", "description": "API Version", "required": true, "type": "string" } } }