swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Container Service Client.
  title: ContainerServiceClient
  version: 2015-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/compute/resource-manager/Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: compute-containerService
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
  - text/json
produces:
  - application/json
  - text/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: Client Api Version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    description: Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
    in: path
    name: subscriptionId
    required: true
    type: string
paths:
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices":
    get:
      description: The operation to list container services.
      operationId: ContainerService_ListByResourceGroup
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/ContainerServiceListResult"
      tags:
        - ContainerService
      x-ms-pageable:
        nextLinkName: null
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/containerServices/{containerServiceName}":
    delete:
      description: The operation to delete a container service.
      operationId: ContainerService_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the container service within the given subscription and resource group.
          in: path
          name: containerServiceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "202":
          description: ""
        "204":
          description: ""
      tags:
        - ContainerService
      x-ms-long-running-operation: true
    get:
      description: The operation to get a container service.
      operationId: ContainerService_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the container service within the given subscription and resource group.
          in: path
          name: containerServiceName
          required: true
          type: string
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/ContainerService"
      tags:
        - ContainerService
    put:
      description: The operation to create or update a container service.
      operationId: ContainerService_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the container service within the given subscription and resource group.
          in: path
          name: containerServiceName
          required: true
          type: string
        - description: Parameters supplied to the Create Container Service operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/ContainerService"
        - $ref: "#/parameters/ApiVersionParameter"
        - $ref: "#/parameters/SubscriptionIdParameter"
      responses:
        "200":
          description: ""
          schema:
            $ref: "#/definitions/ContainerService"
        "201":
          description: ""
          schema:
            $ref: "#/definitions/ContainerService"
        "202":
          description: ""
          schema:
            $ref: "#/definitions/ContainerService"
      tags:
        - ContainerService
      x-ms-long-running-operation: true
definitions:
  ContainerService:
    allOf:
      - $ref: "#/definitions/Resource"
    description: Container service
    properties:
      properties:
        $ref: "#/definitions/ContainerServiceProperties"
        x-ms-client-flatten: true
  ContainerServiceAgentPoolProfile:
    description: Profile for container service agent pool
    properties:
      count:
        description: No. of agents (VMs) that will host docker containers
        format: int32
        maximum: 100
        minimum: 1
        type: integer
      dnsPrefix:
        description: DNS prefix to be used to create FQDN for this agent pool
        type: string
      fqdn:
        description: FQDN for the agent pool
        readOnly: true
        type: string
      name:
        description: Unique name of the agent pool profile within the context of the subscription and resource group
        type: string
      vmSize:
        description: Size of agent VMs
        enum:
          - Standard_A0
          - Standard_A1
          - Standard_A2
          - Standard_A3
          - Standard_A4
          - Standard_A5
          - Standard_A6
          - Standard_A7
          - Standard_A8
          - Standard_A9
          - Standard_A10
          - Standard_A11
          - Standard_D1
          - Standard_D2
          - Standard_D3
          - Standard_D4
          - Standard_D11
          - Standard_D12
          - Standard_D13
          - Standard_D14
          - Standard_D1_v2
          - Standard_D2_v2
          - Standard_D3_v2
          - Standard_D4_v2
          - Standard_D5_v2
          - Standard_D11_v2
          - Standard_D12_v2
          - Standard_D13_v2
          - Standard_D14_v2
          - Standard_G1
          - Standard_G2
          - Standard_G3
          - Standard_G4
          - Standard_G5
          - Standard_DS1
          - Standard_DS2
          - Standard_DS3
          - Standard_DS4
          - Standard_DS11
          - Standard_DS12
          - Standard_DS13
          - Standard_DS14
          - Standard_GS1
          - Standard_GS2
          - Standard_GS3
          - Standard_GS4
          - Standard_GS5
        type: string
        x-ms-enum:
          modelAsString: true
          name: ContainerServiceVMSizeTypes
    required:
      - name
      - dnsPrefix
  ContainerServiceDiagnosticsProfile:
    properties:
      vmDiagnostics:
        $ref: "#/definitions/ContainerServiceVMDiagnostics"
        description: Profile for container service VM diagnostic agent
  ContainerServiceLinuxProfile:
    description: Profile for Linux VM
    properties:
      adminUsername:
        description: The administrator username to use for all Linux VMs
        type: string
      ssh:
        $ref: "#/definitions/ContainerServiceSshConfiguration"
        description: Specifies the ssh key configuration for Linux VMs
    required:
      - adminUsername
      - ssh
  ContainerServiceListResult:
    description: The List Container Service operation response
    properties:
      value:
        description: Gets or sets the list of container services.
        items:
          $ref: "#/definitions/ContainerService"
        type: array
  ContainerServiceMasterProfile:
    description: Profile for container service master
    properties:
      count:
        description: Number of masters (VMs) in the container cluster
        enum:
          - 1
          - 3
          - 5
        format: int32
        type: integer
      dnsPrefix:
        description: DNS prefix to be used to create FQDN for master
        type: string
      fqdn:
        description: FQDN for the master
        readOnly: true
        type: string
    required:
      - dnsPrefix
  ContainerServiceOrchestratorProfile:
    description: Profile for Orchestrator
    properties:
      orchestratorType:
        description: Specifies what orchestrator will be used to manage container cluster resources.
        enum:
          - Mesos
          - SwarmPreview
          - DCOS
        type: string
        x-ms-enum:
          modelAsString: false
          name: ContainerServiceOchestratorTypes
  ContainerServiceProperties:
    description: Properties of container service
    properties:
      agentPoolProfiles:
        description: Properties of agent pools
        items:
          $ref: "#/definitions/ContainerServiceAgentPoolProfile"
        type: array
      diagnosticsProfile:
        $ref: "#/definitions/ContainerServiceDiagnosticsProfile"
        description: Properties for Diagnostic Agent
      linuxProfile:
        $ref: "#/definitions/ContainerServiceLinuxProfile"
        description: Properties for Linux VMs
      masterProfile:
        $ref: "#/definitions/ContainerServiceMasterProfile"
        description: Properties of master agents
      orchestratorProfile:
        $ref: "#/definitions/ContainerServiceOrchestratorProfile"
        description: Properties of orchestrator
      provisioningState:
        description: Gets the provisioning state, which only appears in the response.
        readOnly: true
        type: string
      windowsProfile:
        $ref: "#/definitions/ContainerServiceWindowsProfile"
        description: Properties of Windows VMs
    required:
      - masterProfile
      - agentPoolProfiles
      - linuxProfile
  ContainerServiceSshConfiguration:
    description: SSH configuration for Linux based VMs running on Azure
    properties:
      publicKeys:
        description: Gets or sets the list of SSH public keys used to authenticate with Linux based VMs
        items:
          $ref: "#/definitions/ContainerServiceSshPublicKey"
        type: array
  ContainerServiceSshPublicKey:
    description: Contains information about SSH certificate public key data.
    properties:
      keyData:
        description: Gets or sets Certificate public key used to authenticate with VM through SSH. The certificate must be in Pem format with or without headers.
        type: string
    required:
      - keyData
  ContainerServiceVMDiagnostics:
    description: Describes VM Diagnostics.
    properties:
      enabled:
        description: Gets or sets whether VM Diagnostic Agent should be provisioned on the Virtual Machine.
        type: boolean
      storageUri:
        description: Gets or sets whether VM Diagnostic Agent should be provisioned on the Virtual Machine.
        readOnly: true
        type: string
  ContainerServiceWindowsProfile:
    description: Profile for Windows jumpbox
    properties:
      adminPassword:
        description: The administrator password to use for Windows jumpbox
        type: string
      adminUsername:
        description: The administrator username to use for Windows jumpbox
        type: string
    required:
      - adminUsername
      - adminPassword
  Resource:
    description: The Resource model definition.
    properties:
      id:
        description: Resource Id
        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
    required:
      - location
    x-ms-azure-resource: true
