swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.
  title: NetworkManagementClient
  version: 2019-07-01
  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/network/resource-manager/Microsoft.Network/stable/2019-07-01/bastionHost.json
      version: "2.0"
  x-preferred: true
  x-providerName: azure.com
  x-serviceName: network-bastionHost
  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
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts":
    get:
      description: Lists all Bastion Hosts in a subscription.
      operationId: BastionHosts_List
      parameters:
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Success. The operation returns a list of Bastion Host resources.
          schema:
            $ref: "#/definitions/BastionHostListResult"
      tags:
        - BastionHosts
      x-ms-examples:
        List all Bastion Hosts for a given subscription:
          parameters:
            api-version: 2019-07-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'
                    location: West US
                    name: bastionhost'
                    properties:
                      dnsName: bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com
                      ipConfigurations:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration
                          name: bastionHostIpConfiguration
                          properties:
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet
                          type: Microsoft.Network/bastionHosts/bastionHostIpConfigurations
                      provisioningState: Succeeded
                    type: Microsoft.Network/bastionHosts
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts":
    get:
      description: Lists all Bastion Hosts in a resource group.
      operationId: BastionHosts_ListByResourceGroup
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Success. The operation returns a list of BastionHost resources.
          schema:
            $ref: "#/definitions/BastionHostListResult"
      tags:
        - BastionHosts
      x-ms-examples:
        List all Bastion Hosts for a given resource group:
          parameters:
            api-version: 2019-07-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: w/\00000000-0000-0000-0000-000000000000\
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'
                    location: West US
                    name: bastionhost'
                    properties:
                      dnsName: bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com
                      ipConfigurations:
                        - etag: w/\00000000-0000-0000-0000-000000000000\
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration
                          name: bastionHostIpConfiguration
                          properties:
                            privateIPAllocationMethod: Dynamic
                            provisioningState: Succeeded
                            publicIPAddress:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName
                            subnet:
                              id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet
                          type: Microsoft.Network/bastionHosts/bastionHostIpConfigurations
                      provisioningState: Succeeded
                    type: Microsoft.Network/bastionHosts
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}":
    delete:
      description: Deletes the specified Bastion Host.
      operationId: BastionHosts_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Bastion Host.
          in: path
          name: bastionHostName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource with the specified name does not exist.
      tags:
        - BastionHosts
      x-ms-examples:
        Delete Bastion Host:
          parameters:
            api-version: 2019-07-01
            bastionHostName: bastionhosttenant
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: location
    get:
      description: Gets the specified Bastion Host.
      operationId: BastionHosts_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Bastion Host.
          in: path
          name: bastionHostName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns an BastionHost resource.
          schema:
            $ref: "#/definitions/BastionHost"
      tags:
        - BastionHosts
      x-ms-examples:
        Get Bastion Host:
          parameters:
            api-version: 2019-07-01
            bastionHostName: bastionhosttenant'
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'
                location: West US
                name: bastionhost'
                properties:
                  dnsName: bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com
                  ipConfigurations:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration
                      name: bastionHostIpConfiguration
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet
                      type: Microsoft.Network/bastionHosts/bastionHostIpConfigurations
                  provisioningState: Succeeded
                tags:
                  key1: value1
                type: Microsoft.Network/bastionHosts
    put:
      description: Creates or updates the specified Bastion Host.
      operationId: BastionHosts_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the Bastion Host.
          in: path
          name: bastionHostName
          required: true
          type: string
        - description: Parameters supplied to the create or update Bastion Host operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/BastionHost"
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Update successful. The operation returns the resulting Bastion Host resource.
          schema:
            $ref: "#/definitions/BastionHost"
        "201":
          description: Create successful. The operation returns the resulting Bastion Host resource.
          schema:
            $ref: "#/definitions/BastionHost"
      tags:
        - BastionHosts
      x-ms-examples:
        Create Bastion Host:
          parameters:
            api-version: 2019-07-01
            bastionHostName: bastionhosttenant'
            parameters:
              properties:
                ipConfigurations:
                  - name: bastionHostIpConfiguration
                    properties:
                      publicIPAddress:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName
                      subnet:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'
                location: West US
                name: bastionhost'
                properties:
                  dnsName: bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com
                  ipConfigurations:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration
                      name: bastionHostIpConfiguration
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet
                      type: Microsoft.Network/bastionHosts/bastionHostIpConfigurations
                  provisioningState: Succeeded
                type: Microsoft.Network/bastionHosts
            "201":
              body:
                etag: w/\00000000-0000-0000-0000-000000000000\
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'
                location: West US
                name: bastionhost'
                properties:
                  dnsName: bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com
                  ipConfigurations:
                    - etag: w/\00000000-0000-0000-0000-000000000000\
                      id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant/bastionHostIpConfigurations/bastionHostIpConfiguration
                      name: bastionHostIpConfiguration
                      properties:
                        privateIPAllocationMethod: Dynamic
                        provisioningState: Succeeded
                        publicIPAddress:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName
                        subnet:
                          id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet
                      type: Microsoft.Network/bastionHosts/bastionHostIpConfigurations
                  provisioningState: Succeeded
                type: Microsoft.Network/bastionHosts
      x-ms-long-running-operation: true
      x-ms-long-running-operation-options:
        final-state-via: azure-async-operation
definitions:
  BastionHost:
    allOf:
      - description: Common resource representation.
        properties:
          id:
            description: Resource ID.
            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
        x-ms-azure-resource: true
    description: Bastion Host resource.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/BastionHostPropertiesFormat"
        description: Represents the bastion host resource.
        x-ms-client-flatten: true
  BastionHostIPConfiguration:
    allOf:
      - description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    description: IP configuration of an Bastion Host.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      name:
        description: Name of the resource that is unique within a resource group. This name can be used to access the resource.
        type: string
      properties:
        $ref: "#/definitions/BastionHostIPConfigurationPropertiesFormat"
        description: Represents the ip configuration associated with the resource.
        x-ms-client-flatten: true
      type:
        description: Ip configuration type.
        readOnly: true
        type: string
  BastionHostIPConfigurationPropertiesFormat:
    description: Properties of IP configuration of an Bastion Host.
    properties:
      privateIPAllocationMethod:
        description: IP address allocation method.
        enum:
          - Static
          - Dynamic
        type: string
        x-ms-enum:
          modelAsString: true
          name: IPAllocationMethod
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
      publicIPAddress:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
      subnet:
        description: Reference to another subresource.
        properties:
          id:
            description: Resource ID.
            type: string
        x-ms-azure-resource: true
    required:
      - subnet
      - publicIPAddress
  BastionHostListResult:
    description: Response for ListBastionHosts API service call.
    properties:
      nextLink:
        description: URL to get the next set of results.
        type: string
      value:
        description: List of Bastion Hosts in a resource group.
        items:
          $ref: "#/definitions/BastionHost"
        type: array
  BastionHostPropertiesFormat:
    description: Properties of the Bastion Host.
    properties:
      dnsName:
        description: FQDN for the endpoint on which bastion host is accessible.
        type: string
      ipConfigurations:
        description: IP configuration of the Bastion Host resource.
        items:
          $ref: "#/definitions/BastionHostIPConfiguration"
        type: array
      provisioningState:
        description: The current provisioning state.
        enum:
          - Succeeded
          - Updating
          - Deleting
          - Failed
        readOnly: true
        type: string
        x-ms-enum:
          modelAsString: true
          name: ProvisioningState
