Microsoft Azure Visual Studio Projects Resource Provider Client

Sure! The Microsoft Azure Visual Studio Projects Resource Provider Client is a tool that allows users to easily access and manage resources within their Visual Studio projects on the Azure platform. With this client, developers can streamline their workflow by quickly deploying and scaling their projects, accessing real-time analytics and diagnostics, and collaborating with team members all within the familiar Visual Studio environment.

OpenAPI Specification

visual-studio-projects-resource-provider-client-openapi-original.yml Raw ↑
swagger: '2.0'
info:
  title: Microsoft Azure Visual Studio Projects Resource Provider Client
  version: 2018-08-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:
  ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project
  : get:
      deprecated: true
      tags:
        - Projects
      summary: Microsoft Azure Projects Listbyaccountresource
      description: >-
        Gets all Visual Studio Team Services project resources created in the
        specified Team Services account.
      operationId: microsoftAzureProjectsListbyaccountresource
      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: Microsoft Azure Projects Createorupdate
      description: >-
        Creates or updates 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: microsoftAzureProjectsCreateorupdate
      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/update 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: Microsoft Azure Projects Get
      description: Gets the details of a Team Services project resource.
      operationId: microsoftAzureProjectsGet
      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: Microsoft Azure Projects Update
      description: Updates the tags of the specified Team Services project.
      operationId: microsoftAzureProjectsUpdate
      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:
  PipelineBootstrapConfiguration:
    description: Defines bootstrap configuration for a CI/CD pipeline.
    type: object
    properties:
      name:
        description: Name of the bootstrap configuration.
        type: string
      templateId:
        description: Identifier of the pipeline template used for configuring pipeline.
        type: string
      templateParameters:
        description: >-
          Dictionary of inputs used for configuring pipeline. The keys for
          inputs are defined by pipeline template.
        type: object
        additionalProperties:
          type: string
      repository:
        description: Code repository where the application source resides.
        $ref: '#/definitions/CodeRepository'
    required:
      - name
      - templateId
  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.
        readOnly: true
        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. A bootStrappedProject is a project which has
          additional bootstrap information to create a CI/CD pipeline in the
          project.
        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.
          Note: this is being deprecated. Use pipelineConfigurationBootstrappers
          instead.
        $ref: '#/definitions/PipelineTemplateLegacy'
      pipelineBootstrapConfigurations:
        description: Bootstrap configuration for pipelines in Team Project.
        type: array
        items:
          $ref: '#/definitions/PipelineBootstrapConfiguration'
  PipelineTemplateLegacy:
    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/CodeRepositoryLegacy'
    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
      authorization:
        description: Authorization info to access code repository
        $ref: '#/definitions/Authorization'
      properties:
        description: Repository-specific properties.
        type: object
        additionalProperties:
          type: string
    required:
      - repositoryType
      - id
      - defaultBranch
  CodeRepositoryLegacy:
    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
      properties:
        description: Custom properties of project resource.
        type: object
        properties:
          pipelineBootstrapConfigurations:
            description: Bootstrap configurations for pipelines in Team Project.
            type: array
            items:
              $ref: '#/definitions/PipelineBootstrapConfiguration'
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
tags:
  - name: Projects