{
  "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-04-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-04-01/bastionHost.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "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-04-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-04-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-04-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-04-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-04-01",
              "bastionHostName": "bastionhosttenant'",
              "parameters": {
                "location": "West US",
                "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": "Gets 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"
          }
        }
      }
    }
  }
}