{
  "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 Projects Resource Provider Client",
    "version": "2018-08-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/2018-08-01-preview/PipelineTemplates.json",
        "version": "2.0"
      }
    ],
    "x-providerName": "azure.com",
    "x-serviceName": "visualstudio-PipelineTemplates",
    "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"
    }
  },
  "paths": {
    "/providers/microsoft.visualstudio/pipelineTemplates": {
      "get": {
        "deprecated": true,
        "description": "Gets all pipeline templates which can be used to configure a CI/CD pipeline in a new or an existing Team Services project.",
        "operationId": "PipelineTemplates_List",
        "parameters": [
          {
            "$ref": "#/parameters/apiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "The operation succeeded. The response is a list of all pipeline templates which can be used to configure a CI/CD pipeline in a new or an existing Team Services project.",
            "schema": {
              "$ref": "#/definitions/PipelineTemplateResourceListResult"
            }
          }
        },
        "summary": "PipelineTemplates_List",
        "tags": [
          "PipelineTemplates"
        ],
        "x-ms-examples": {
          "Get a list of pipeline templates": {
            "parameters": {
              "api-version": "2018-08-01-preview"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "id": "null",
                      "properties": {
                        "description": "Template to configure CI/CD pipeline for deploying Nodejs application to Azure windows app service",
                        "id": "ms-portal-extension-nodejsAppOnWindowsWebApp",
                        "inputs": [
                          {
                            "description": "Name of the app service",
                            "id": "webAppName",
                            "type": "string"
                          },
                          {
                            "description": "Pricing tier to use for creating app service plan.",
                            "id": "servicePlanTier",
                            "possibleValues": [
                              {
                                "DisplayValue": "P1 Premium (1 Core, 1.75 GB RAM)",
                                "value": "P1 Premium"
                              },
                              {
                                "DisplayValue": "S1 Standard (1 Core, 1.75 GB RAM)",
                                "value": "S1 Standard"
                              },
                              {
                                "DisplayValue": "B1 Basic (1 Core, 1.75 GB RAM)",
                                "value": "B1 Basic"
                              }
                            ],
                            "type": "string"
                          },
                          {
                            "description": "SPN details for authorization",
                            "id": "azureAuth",
                            "type": "authorization"
                          }
                        ]
                      },
                      "type": "microsoft.visualstudio/pipelineTemplate"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "definitions": {
    "InputDescriptor": {
      "description": "Defines a pipeline template input.",
      "properties": {
        "description": {
          "description": "Description of what this input is used for.",
          "type": "string"
        },
        "id": {
          "description": "Identifier for the input.",
          "type": "string"
        },
        "possibleValues": {
          "description": "Possible values that this input can take.",
          "items": {
            "$ref": "#/definitions/InputValue"
          },
          "type": "array"
        },
        "type": {
          "description": "Data type of the input.",
          "enum": [
            "String",
            "SecureString",
            "Int",
            "Bool",
            "Authorization"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "InputDataType"
          }
        }
      },
      "required": [
        "id",
        "type"
      ],
      "type": "object"
    },
    "InputValue": {
      "description": "Value for an input.",
      "properties": {
        "displayValue": {
          "description": "Display text to show for the value of an input.",
          "type": "string"
        },
        "value": {
          "description": "Value to store for an input.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PipelineTemplate": {
      "description": "Defines a pipeline template resource.",
      "properties": {
        "description": {
          "description": "Description of the pipeline which this template enables.",
          "type": "string"
        },
        "id": {
          "description": "Unique id of pipeline template.",
          "type": "string"
        },
        "inputs": {
          "description": "Inputs required by this template to create pipeline.",
          "items": {
            "$ref": "#/definitions/InputDescriptor"
          },
          "type": "array"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "PipelineTemplateResourceListResult": {
      "description": "The response to pipeline template resource list GET request.",
      "properties": {
        "value": {
          "description": "Array of resource details.",
          "items": {
            "$ref": "#/definitions/PipelineTemplate"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  }
}