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: 2018-08-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/2018-08-01/virtualNetworkTap.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: network-virtualNetworkTap
  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: Client API version.
    in: query
    name: api-version
    required: true
    type: string
  SubscriptionIdParameter:
    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
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworkTaps":
    get:
      description: Gets all the VirtualNetworkTaps in a subscription.
      operationId: VirtualNetworkTaps_ListAll
      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: Request successful. The operation returns a list of Virtual Network Tap resources.
          schema:
            $ref: "#/definitions/VirtualNetworkTapListResult"
      tags:
        - VirtualNetworkTaps
      x-ms-examples:
        List all virtual network taps:
          parameters:
            api-version: 2018-08-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: etag
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap
                    location: centraluseuap
                    name: testvtap
                    properties:
                      destinationNetworkInterfaceIPConfiguration:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                      destinationPort: 4789
                      networkInterfaceTapConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration
                      provisioningState: Succeeded
                      resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                    type: Microsoft.Network/virtualNetworkTaps
                  - etag: etag
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2
                    location: centraluseuap
                    name: testvtap2
                    properties:
                      destinationNetworkInterfaceIPConfiguration:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                      destinationPort: 4789
                      networkInterfaceTapConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration
                      provisioningState: Succeeded
                      resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                    type: Microsoft.Network/virtualNetworkTaps
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps":
    get:
      description: Gets all the VirtualNetworkTaps in a subscription.
      operationId: VirtualNetworkTaps_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: Request successful. The operation returns a list of Virtual Network Tap resources.
          schema:
            $ref: "#/definitions/VirtualNetworkTapListResult"
      tags:
        - VirtualNetworkTaps
      x-ms-examples:
        List virtual network taps in resource group:
          parameters:
            api-version: 2018-08-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - etag: etag
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap
                    location: centraluseuap
                    name: testvtap
                    properties:
                      destinationNetworkInterfaceIPConfiguration:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                      destinationPort: 4789
                      networkInterfaceTapConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration
                      provisioningState: Succeeded
                      resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                    type: Microsoft.Network/virtualNetworkTaps
                  - etag: etag
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap2
                    location: centraluseuap
                    name: testvtap2
                    properties:
                      destinationNetworkInterfaceIPConfiguration:
                        id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                      destinationPort: 4789
                      networkInterfaceTapConfigurations:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface3/tapConfigurations/testtapConfiguration
                      provisioningState: Succeeded
                      resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                    type: Microsoft.Network/virtualNetworkTaps
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkTaps/{tapName}":
    delete:
      description: Deletes the specified virtual network tap.
      operationId: VirtualNetworkTaps_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network tap.
          in: path
          name: tapName
          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. Sets 'Deleting' provisioningState until the operation completes. Returns an operation URI that can be queried to find the current state of the operation.
        "204":
          description: Request successful. Resource does not exist.
      tags:
        - VirtualNetworkTap
      x-ms-examples:
        Delete Virtual Network Tap resource:
          parameters:
            api-version: 2018-08-01
            resourceGroupName: rg1
            subscriptionId: subid
            tapName: test-vtap
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about the specified virtual network tap.
      operationId: VirtualNetworkTaps_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of virtual network tap.
          in: path
          name: tapName
          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 the resulting VirtualNetworkTap resource.
          schema:
            $ref: "#/definitions/VirtualNetworkTap"
      tags:
        - VirtualNetworkTap
      x-ms-examples:
        Get Virtual Network Tap:
          parameters:
            api-version: 2018-08-01
            resourceGroupName: rg1
            subscriptionId: subid
            tapName: testvtap
          responses:
            "200":
              body:
                etag: etag
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap
                location: centraluseuap
                name: testvtap
                properties:
                  destinationNetworkInterfaceIPConfiguration:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                  destinationPort: 4789
                  networkInterfaceTapConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration
                  provisioningState: Succeeded
                  resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                type: Microsoft.Network/virtualNetworkTaps
    patch:
      description: Updates an VirtualNetworkTap tags.
      operationId: VirtualNetworkTaps_UpdateTags
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the tap.
          in: path
          name: tapName
          required: true
          type: string
        - description: Parameters supplied to update VirtualNetworkTap tags.
          in: body
          name: tapParameters
          required: true
          schema:
            description: Tags object for patch operations.
            properties:
              tags:
                additionalProperties:
                  type: string
                description: Resource tags.
                type: object
        - 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 VirtualNetworkTap resource.
          schema:
            $ref: "#/definitions/VirtualNetworkTap"
      tags:
        - VirtualNetworkTap
      x-ms-examples:
        Update virtual network tap tags:
          parameters:
            api-version: 2018-08-01
            resourceGroupName: rg1
            subscriptionId: subid
            tapName: test-vtap
            tapParameters:
              tags:
                tag1: value1
                tag2: value2
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/test-vtap
                location: eastus
                name: test-vtap
                properties:
                  destinationNetworkInterfaceIPConfiguration:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                  destinationPort: 4789
                  networkInterfaceTapConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration
                  provisioningState: Succeeded
                tags:
                  tag1: value1
                  tag2: value2
                type: Microsoft.Network/virtualNetworkTaps
      x-ms-long-running-operation: true
    put:
      description: Creates or updates a Virtual Network Tap.
      operationId: VirtualNetworkTaps_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the virtual network tap.
          in: path
          name: tapName
          required: true
          type: string
        - description: Parameters supplied to the create or update virtual network tap operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/VirtualNetworkTap"
        - 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 VirtualNetworkTap resource.
          schema:
            $ref: "#/definitions/VirtualNetworkTap"
        "201":
          description: Create successful. The operation returns the resulting VirtualNetworkTap resource.
          schema:
            $ref: "#/definitions/VirtualNetworkTap"
      tags:
        - VirtualNetworkTap
      x-ms-examples:
        Create Virtual Network Tap:
          parameters:
            api-version: 2018-08-01
            parameters:
              location: centraluseuap
              properties:
                destinationNetworkInterfaceIPConfiguration:
                  id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/ipconfig1
            resourceGroupName: rg1
            subscriptionId: subid
            tapName: test-vtap
          responses:
            "200":
              body:
                etag: etag
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap
                location: centraluseuap
                name: testvtap
                properties:
                  destinationNetworkInterfaceIPConfiguration:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                  destinationPort: 4789
                  networkInterfaceTapConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration
                  provisioningState: Succeeded
                  resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                type: Microsoft.Network/virtualNetworkTaps
            "201":
              body:
                etag: etag
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkTaps/testvtap
                location: centraluseuap
                name: testvtap
                properties:
                  destinationNetworkInterfaceIPConfiguration:
                    id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface/ipConfigurations/testIPConfig1
                  destinationPort: 4789
                  networkInterfaceTapConfigurations:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/testNetworkInterface2/tapConfigurations/testtapConfiguration
                  provisioningState: Succeeded
                  resourceGuid: 6A7C139D-8B8D-499B-B7CB-4F3F02A8A44F
                type: Microsoft.Network/virtualNetworkTaps
      x-ms-long-running-operation: true
definitions:
  VirtualNetworkTap:
    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: Virtual Network Tap resource
    properties:
      etag:
        description: Gets a unique read-only string that changes whenever the resource is updated.
        type: string
      properties:
        $ref: "#/definitions/VirtualNetworkTapPropertiesFormat"
        description: Virtual Network Tap Properties.
        x-ms-client-flatten: true
  VirtualNetworkTapListResult:
    description: Response for ListVirtualNetworkTap API service call.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        type: string
      value:
        description: A list of VirtualNetworkTaps in a resource group.
        items:
          $ref: "#/definitions/VirtualNetworkTap"
        type: array
  VirtualNetworkTapPropertiesFormat:
    description: Virtual Network Tap properties.
    properties:
      destinationLoadBalancerFrontEndIPConfiguration:
        $ref: ./loadBalancer.json#/definitions/FrontendIPConfiguration
        description: The reference to the private IP address on the internal Load Balancer that will receive the tap
      destinationNetworkInterfaceIPConfiguration:
        $ref: ./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration
        description: The reference to the private IP Address of the collector nic that will receive the tap
      destinationPort:
        description: The VXLAN destination port that will receive the tapped traffic.
        type: integer
      networkInterfaceTapConfigurations:
        description: Specifies the list of resource IDs for the network interface IP configuration that needs to be tapped.
        items:
          $ref: ./networkInterface.json#/definitions/NetworkInterfaceTapConfiguration
          description: The reference of the Network Interface.
        readOnly: true
        type: array
      provisioningState:
        description: "The provisioning state of the virtual network tap. Possible values are: 'Updating', 'Deleting', and 'Failed'."
        readOnly: true
        type: string
      resourceGuid:
        description: The resourceGuid property of the virtual network tap.
        readOnly: true
        type: string
