openapi: 3.0.0
servers:
  - url: http://vmware.local
  - url: https://vrni.example.com/api/ni
info:
  description: vRealize Network Insight API Reference
  title: vRealize Network Insight API Reference
  version: 1.0.0
  x-apisguru-categories:
    - developer_tools
  x-origin:
    - format: swagger
      url: https://vdc-download.vmware.com/vmwb-repository/dcr-public/c1b5a60c-3635-4b8c-84b2-3ea54172cf31/f8595072-cedd-4f97-9b05-1720e0f41f92/vrni_api_spec.json
      version: "2.0"
  x-providerName: vmware.local
  x-serviceName: vrni
tags:
  - description: Authentication APIs
    name: Authentication
  - description: Data source APIs
    name: Data Sources
  - description: Entities APIs
    name: Entities
  - description: Search APIs
    name: Search
  - description: Infra APIs
    name: Infrastructure
  - description: Applications APIs
    name: Applications
  - description: Micro-segmentation APIs
    name: Microsegmentation
  - description: Info APIs
    name: Info
paths:
  /auth/token:
    delete:
      description: |-
        Deletes the auth token provided in Authorization header.
        Deleting an expired or invalid token will result in 401 Unauthorized error.
      operationId: delete
      responses:
        "204":
          description: Success
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete an auth token.
      tags:
        - Authentication
    post:
      description: <html><body> vRealize Network Insight supports token based authentication.Tokens are non-modifiable identifiers returned by the system when the user has successfully authenticated using valid credentials. Token expires after expiry time returned in the response. All API requests must provide the auth token in Authorization header in following format.<br> Authorization &#58; NetworkInsight {token} <br> If a token is invalid or expired, 401-Unauthorized error gets returned in the response of the API request. </body></html>
      operationId: create
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UserCredential"
        description: User Credentials
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Token"
            expiry:
              examples:
                response:
                  value: 1509332642427
            token:
              examples:
                response:
                  value: 1rT7tm4riiACSfxrO2BvkA==
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      summary: Create an auth token
      tags:
        - Authentication
  /data-sources/arista-switches:
    get:
      description: List arista switch data sources
      operationId: listAristaSwitches
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List arista switch data sources
      tags:
        - Data Sources
    post:
      description: Add arista switch data source
      operationId: addAristaSwitch
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AristaSwitchDataSourceRequest"
        description: Add a cisco switch as datasource
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AristaSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create an arista switch data source
      tags:
        - Data Sources
  "/data-sources/arista-switches/{id}":
    delete:
      description: Delete an arista switch data source
      operationId: deleteAristaSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete an arista switch data source
      tags:
        - Data Sources
    get:
      description: Show arista switch data source details
      operationId: getAristaSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AristaSwitchDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show arista switch data source details
      tags:
        - Data Sources
    put:
      description: Update an switch data source
      operationId: updateAristaSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/AristaSwitchDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/AristaSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update an arista switch data source
      tags:
        - Data Sources
  "/data-sources/arista-switches/{id}/disable":
    post:
      description: Disable an arista switch data source
      operationId: disableAristaSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable an arista switch data source
      tags:
        - Data Sources
  "/data-sources/arista-switches/{id}/enable":
    post:
      description: Enable an arista switch data source
      operationId: enableAristaSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable an arista switch data source
      tags:
        - Data Sources
  "/data-sources/arista-switches/{id}/snmp-config":
    get:
      description: Show snmp config for arista switch data source
      operationId: getAristaSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show snmp config for arista switch data source
      tags:
        - Data Sources
    put:
      description: Update snmp config for arista switch data source
      operationId: updateAristaSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        $ref: "#/components/requestBodies/SNMPConfig"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update snmp config for arista switch data source
      tags:
        - Data Sources
  /data-sources/brocade-switches:
    get:
      description: List brocade switch data sources
      operationId: listBrocadeSwitches
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List brocade switch data sources
      tags:
        - Data Sources
    post:
      description: Add brocade switch as a data source
      operationId: addBrocadeSwitch
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BrocadeSwitchDataSourceRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BrocadeSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a brocade switch data source
      tags:
        - Data Sources
  "/data-sources/brocade-switches/{id}":
    delete:
      description: Delete a brocade switch data source
      operationId: deleteBrocadeSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a brocade switch data source
      tags:
        - Data Sources
    get:
      description: Show brocade switch data source details
      operationId: getBrocadeSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BrocadeSwitchDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show brocade switch data source details
      tags:
        - Data Sources
    put:
      description: Update a brocade switch data source. Only credentials, nickname and notes can be updated.
      operationId: updateBrocadeSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/BrocadeSwitchDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BrocadeSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a brocade switch data source
      tags:
        - Data Sources
  "/data-sources/brocade-switches/{id}/disable":
    post:
      operationId: disableBrocadeSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a brocade switch data source
      tags:
        - Data Sources
  "/data-sources/brocade-switches/{id}/enable":
    post:
      operationId: enableBrocadeSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a brocade switch data source
      tags:
        - Data Sources
  "/data-sources/brocade-switches/{id}/snmp-config":
    get:
      description: Show snmp config for brocade switch data source
      operationId: getBrocadeSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show snmp config for brocade switch data source
      tags:
        - Data Sources
    put:
      description: Update snmp config for brocade switch data source
      operationId: updateBrocadeSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        $ref: "#/components/requestBodies/SNMPConfig"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update snmp config for brocade switch data source
      tags:
        - Data Sources
  /data-sources/checkpoint-firewalls:
    get:
      description: List checkpoint firewall data sources
      operationId: listCheckpointFirewalls
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List checkpoint firewall data sources
      tags:
        - Data Sources
    post:
      description: Add checkpoint firewall as data source
      operationId: addCheckpointFirewall
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CheckpointFirewallDataSourceRequest"
        description: Add a vSec Checkpoint firewall as data source
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CheckpointFirewallDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a checkpoint firewall
      tags:
        - Data Sources
  "/data-sources/checkpoint-firewalls/{id}":
    delete:
      description: Delete a checkpoint firewall data source
      operationId: deleteCheckpointFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a checkpoint firewall data source
      tags:
        - Data Sources
    get:
      description: Show checkpoint firewall data source details
      operationId: getCheckpointFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CheckpointFirewallDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show checkpoint firewall data source details
      tags:
        - Data Sources
    put:
      description: Update a checkpoint firewall data source
      operationId: updateCheckpointFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CheckpointFirewallDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CheckpointFirewallDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a checkpoint firewall data source
      tags:
        - Data Sources
  "/data-sources/checkpoint-firewalls/{id}/disable":
    post:
      description: Disable a checkpoint firewall data source
      operationId: disableCheckpointFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a checkpoint firewall data source
      tags:
        - Data Sources
  "/data-sources/checkpoint-firewalls/{id}/enable":
    post:
      description: Enable a checkpoint firewall data source
      operationId: enableCheckpointFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a checkpoint firewall data source
      tags:
        - Data Sources
  /data-sources/cisco-switches:
    get:
      description: List cisco switch data sources
      operationId: listCiscoSwitches
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List cisco switch data sources
      tags:
        - Data Sources
    post:
      description: |-
        Add cisco switch as data source. User must provide one of ip or fqdn field in the request body.
        Appropriate proxy id is retrieved from infra/nodes URL to select the proxy node.
      operationId: addCiscoSwitch
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CiscoSwitchDataSourceRequest"
        description: Add a cisco switch as datasource.
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CiscoSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a cisco switch data source
      tags:
        - Data Sources
  "/data-sources/cisco-switches/{id}":
    delete:
      description: Delete a cisco switch data source
      operationId: deleteCiscoSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a cisco switch data source
      tags:
        - Data Sources
    get:
      description: Show cisco switch data source details
      operationId: getCiscoSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CiscoSwitchDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show cisco switch data source details
      tags:
        - Data Sources
    put:
      description: Update a cisco switch data source. Only credentials, nickname and notes can be updated.
      operationId: updateCiscoSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/CiscoSwitchDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CiscoSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a cisco switch data source
      tags:
        - Data Sources
  "/data-sources/cisco-switches/{id}/disable":
    post:
      description: Disable a cisco switch data source
      operationId: disableCiscoSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a cisco switch data source
      tags:
        - Data Sources
  "/data-sources/cisco-switches/{id}/enable":
    post:
      description: Enable a cisco switch data source
      operationId: enableCiscoSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a cisco switch data source
      tags:
        - Data Sources
  "/data-sources/cisco-switches/{id}/snmp-config":
    get:
      description: Show snmp config for cisco switch data source
      operationId: getCiscoSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show snmp config for cisco switch data source
      tags:
        - Data Sources
    put:
      description: Update snmp config for cisco switch data source
      operationId: updateCiscoSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        $ref: "#/components/requestBodies/SNMPConfig"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update snmp config for cisco switch data source
      tags:
        - Data Sources
  /data-sources/dell-switches:
    get:
      description: List dell switch data sources
      operationId: listDellSwitches
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List dell switch data sources
      tags:
        - Data Sources
    post:
      description: Add a dell switch as data source
      operationId: addDellSwitch
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DellSwitchDataSourceRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DellSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a dell switch data source
      tags:
        - Data Sources
  "/data-sources/dell-switches/{id}":
    delete:
      description: Delete a data source
      operationId: deleteDellSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a dell switch data source
      tags:
        - Data Sources
    get:
      description: Get a dell switch data source details
      operationId: getDellSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DellSwitchDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show dell switch data source details
      tags:
        - Data Sources
    put:
      description: Update a dell switch data source. Only credentials, nickname and notes can be updated
      operationId: updateDellSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DellSwitchDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DellSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a dell switch data source
      tags:
        - Data Sources
  "/data-sources/dell-switches/{id}/disable":
    post:
      description: Disable a dell switch data source
      operationId: disableDellSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a dell switch data source
      tags:
        - Data Sources
  "/data-sources/dell-switches/{id}/enable":
    post:
      description: Enable a dell switch data source
      operationId: enableDellSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a dell switch data source
      tags:
        - Data Sources
  "/data-sources/dell-switches/{id}/snmp-config":
    get:
      description: Show snmp config for dell switch data source
      operationId: getDellSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show snmp config for dell switch data source
      tags:
        - Data Sources
    put:
      description: Update snmp config for dell switch data source
      operationId: updateDellSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        $ref: "#/components/requestBodies/SNMPConfig"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update snmp config for dell switch data source
      tags:
        - Data Sources
  /data-sources/hpov-managers:
    get:
      description: List hp oneview manager data sources
      operationId: listHpovManagers
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List hp oneview manager data sources
      tags:
        - Data Sources
    post:
      description: Add a hp oneview manager data source
      operationId: addHpovManager
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HPOneViewManagerDataSourceRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HPOneViewManagerDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a hp oneview manager data source
      tags:
        - Data Sources
  "/data-sources/hpov-managers/{id}":
    delete:
      description: Delete a hp oneview data source
      operationId: deleteHpovManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a hp oneview data source
      tags:
        - Data Sources
    get:
      description: Show hp oneview data source details
      operationId: getHpovManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HPOneViewManagerDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show hp oneview data source details
      tags:
        - Data Sources
    put:
      description: Update a hp oneview data source
      operationId: updateHpovManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HPOneViewManagerDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HPOneViewManagerDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a hp oneview data source
      tags:
        - Data Sources
  "/data-sources/hpov-managers/{id}/disable":
    post:
      description: Disable a hp oneview data source
      operationId: disableHpovManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a hp oneview data source
      tags:
        - Data Sources
  "/data-sources/hpov-managers/{id}/enable":
    post:
      description: Enable a hp oneview data source
      operationId: enableHpovManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a hp oneview data source
      tags:
        - Data Sources
  /data-sources/hpvc-managers:
    get:
      description: List hpvc manager data sources
      operationId: listHpvcManagers
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List hpvc manager data sources
      tags:
        - Data Sources
    post:
      description: Add hpvc manager data source
      operationId: addHpvcManager
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HPVCManagerDataSourceRequest"
        description: Add a switch as datasource
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HPVCManagerDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a hpvc manager data source
      tags:
        - Data Sources
  "/data-sources/hpvc-managers/{id}":
    delete:
      description: Delete a hpvc manager data source
      operationId: deleteHpvcManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a hpvc manager data source
      tags:
        - Data Sources
    get:
      description: Show hpvc data source details
      operationId: getHpvcManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HPVCManagerDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show hpvc data source details
      tags:
        - Data Sources
    put:
      description: Update a hpvc manager data source
      operationId: updateHpvcManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/HPVCManagerDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HPVCManagerDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a hpvc manager data source
      tags:
        - Data Sources
  "/data-sources/hpvc-managers/{id}/disable":
    post:
      description: Disable a hpvc manager data source
      operationId: disableHpvcManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a hpvc manager data source
      tags:
        - Data Sources
  "/data-sources/hpvc-managers/{id}/enable":
    post:
      description: Enable a hpvc manager data source
      operationId: enableHpvcManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a hpvc manager data source
      tags:
        - Data Sources
  /data-sources/juniper-switches:
    get:
      description: List juniper switch data sources
      operationId: listJuniperSwitches
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List juniper switch data sources
      tags:
        - Data Sources
    post:
      description: Add switch Datasource
      operationId: addJuniperSwitch
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JuniperSwitchDataSourceRequest"
        description: Add a cisco switch as datasource
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JuniperSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Add a juniper switch as data source
      tags:
        - Data Sources
  "/data-sources/juniper-switches/{id}":
    delete:
      description: Delete a juniper switch data source
      operationId: deleteJuniperSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a juniper switch data source
      tags:
        - Data Sources
    get:
      description: Show juniper switch data source details
      operationId: getJuniperSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JuniperSwitchDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show juniper switch data source details
      tags:
        - Data Sources
    put:
      description: Update a juniper switch data source
      operationId: updateJuniperSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/JuniperSwitchDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/JuniperSwitchDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a juniper switch data source
      tags:
        - Data Sources
  "/data-sources/juniper-switches/{id}/disable":
    post:
      description: Disable a juniper switch data source
      operationId: disableJuniperSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a juniper switch data source
      tags:
        - Data Sources
  "/data-sources/juniper-switches/{id}/enable":
    post:
      description: Enable a juniper switch data source
      operationId: enableJuniperSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a juniper switch data source
      tags:
        - Data Sources
  "/data-sources/juniper-switches/{id}/snmp-config":
    get:
      description: Show snmp config for juniper switch data source
      operationId: getJuniperSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show snmp config for juniper switch data source
      tags:
        - Data Sources
    put:
      description: Update snmp config for a juniper switch data source
      operationId: updateJuniperSwitchSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        $ref: "#/components/requestBodies/SNMPConfig"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update snmp config for a juniper switch data source
      tags:
        - Data Sources
  /data-sources/nsxv-managers:
    get:
      description: List nsx-v manager data sources
      operationId: listNsxvManagers
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List nsx-v manager data sources
      tags:
        - Data Sources
    post:
      description: Add a nsx-v manager data source
      operationId: addNsxvManagerDatasource
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NSXVManagerDataSourceRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NSXVManagerDataSource"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a nsx-v manager data source
      tags:
        - Data Sources
  "/data-sources/nsxv-managers/{id}":
    delete:
      description: Delete a nsx-v manager data source
      operationId: deleteNsxvManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a nsx-v manager data source
      tags:
        - Data Sources
    get:
      description: Show nsx-v manager data source details
      operationId: getNsxvManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NSXVManagerDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show nsx-v manager data source details
      tags:
        - Data Sources
    put:
      description: Update a nsx-v manager data source
      operationId: updateNsxvManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NSXVManagerDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NSXVManagerDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a nsx-v manager data source
      tags:
        - Data Sources
  "/data-sources/nsxv-managers/{id}/controller-cluster":
    get:
      description: Show nsx controller-cluster details
      operationId: getNsxvControllerCluster
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NSXControllerDataCollection"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show nsx controller-cluster details
      tags:
        - Data Sources
    put:
      description: Update nsx controller-cluster details
      operationId: updateNsxvControllerCluster
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NSXControllerDataCollection"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NSXControllerDataCollection"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update nsx controller-cluster details
      tags:
        - Data Sources
  "/data-sources/nsxv-managers/{id}/disable":
    post:
      description: Disable a nsx-v manager data source
      operationId: disableNsxvManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a nsx-v manager data source
      tags:
        - Data Sources
  "/data-sources/nsxv-managers/{id}/enable":
    post:
      description: Enable a nsx-v manager data source
      operationId: enableNsxvManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a nsx-v manager data source
      tags:
        - Data Sources
  /data-sources/panorama-firewalls:
    get:
      description: List panorama firewall data sources
      operationId: listPanoramaFirewalls
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List panorama firewall data sources
      tags:
        - Data Sources
    post:
      description: Add panorama firewall as data source
      operationId: addPanoramaFirewall
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PanFirewallDataSourceRequest"
        description: Add a panorama firewall as datasource
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PanFirewallDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create panorama firewall data source
      tags:
        - Data Sources
  "/data-sources/panorama-firewalls/{id}":
    delete:
      description: Delete a panorama firewall data source
      operationId: deletePanoramaFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a panorama firewall data source
      tags:
        - Data Sources
    get:
      description: Show panorama firewall data source details
      operationId: getPanoramaFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PanFirewallDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show panorama firewall data source details
      tags:
        - Data Sources
    put:
      description: Update a panorama firewall data source
      operationId: updatePanoramaFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/PanFirewallDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PanFirewallDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a panorama firewall data source
      tags:
        - Data Sources
  "/data-sources/panorama-firewalls/{id}/disable":
    post:
      description: Disable a panorama firewall data source
      operationId: disablePanoramaFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a panorama firewall data source
      tags:
        - Data Sources
  "/data-sources/panorama-firewalls/{id}/enable":
    post:
      description: Enable a panorama firewall data source
      operationId: enablePanoramaFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a panorama firewall data source
      tags:
        - Data Sources
  /data-sources/ucs-managers:
    get:
      description: List ucs manager data sources
      operationId: listUcsManagers
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List ucs manager data sources
      tags:
        - Data Sources
    post:
      description: Add an ucs manager as data source
      operationId: addUcsManager
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UCSManagerDataSourceRequest"
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UCSManagerDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create an ucs manager data source
      tags:
        - Data Sources
  "/data-sources/ucs-managers/{id}":
    delete:
      description: Delete an ucs manager data source
      operationId: deleteUcsManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete an ucs manager data source
      tags:
        - Data Sources
    get:
      description: Show ucs manager data source details
      operationId: getUcsManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UCSManagerDataSource"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show ucs manager data source details
      tags:
        - Data Sources
    put:
      description: Update an ucs manager data source
      operationId: updateUcsManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UCSManagerDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/UCSManagerDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update an ucs manager data source
      tags:
        - Data Sources
  "/data-sources/ucs-managers/{id}/disable":
    post:
      description: Disable an ucs manager data source
      operationId: disableUcsManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable an ucs manager data source
      tags:
        - Data Sources
  "/data-sources/ucs-managers/{id}/enable":
    post:
      description: Enable an ucs manager data source
      operationId: enableUcsManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable an ucs manager data source
      tags:
        - Data Sources
  "/data-sources/ucs-managers/{id}/snmp-config":
    get:
      description: Show snmp config for ucs fabric interconnects
      operationId: getUcsSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show snmp config for ucs fabric interconnects
      tags:
        - Data Sources
    put:
      description: Update snmp config for ucs fabric interconnects
      operationId: updateUcsSnmpConfig
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        $ref: "#/components/requestBodies/SNMPConfig"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SNMPConfig"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update snmp config for ucs fabric interconnects
      tags:
        - Data Sources
  /data-sources/vcenters:
    get:
      description: List vCenter data sources
      operationId: listVcenters
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DataSourceListResponse"
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:902:993642895
                      entity_type: VCenterDataSource
                    - entity_id: 18230:902:627340998
                      entity_type: VCenterDataSource
            total_count:
              examples:
                response:
                  value: 2
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List vCenter data sources
      tags:
        - Data Sources
    post:
      description: |-
        Add a vcenter data source. User must provide one of ip or fqdn field in the request body.
        Appropriate proxy id is retrieved from infra/nodes URL to select the proxy node.
      operationId: addVcenterDatasource
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VCenterDataSourceRequest"
        description: VCenter Credentials
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VCenterDataSource"
            credentials:
              examples:
                response:
                  value:
                    password: ""
                    username: administrator@vsphere.local
            enabled:
              examples:
                response:
                  value: true
            entity_id:
              examples:
                response:
                  value: 18230:902:993642895
            entity_type:
              examples:
                response:
                  value: VCenterDataSource
            fqdn:
              examples:
                response:
                  value: null
            ip:
              examples:
                response:
                  value: 10.197.17.68
            nickname:
              examples:
                response:
                  value: aa
            notes:
              examples:
                response:
                  value: ecmp lab aa
            proxy_id:
              examples:
                response:
                  value: 18230:901:1585583463
          description: Created
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create a vCenter data source
      tags:
        - Data Sources
  "/data-sources/vcenters/{id}":
    delete:
      description: Delete a data source
      operationId: deleteVcenter
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "204":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete a vCenter data source
      tags:
        - Data Sources
    get:
      description: Show vCenter data source details
      operationId: getVcenter
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VCenterDataSource"
            credentials:
              examples:
                response:
                  value:
                    password: ""
                    username: administrator@vsphere.local
            enabled:
              examples:
                response:
                  value: true
            entity_id:
              examples:
                response:
                  value: 18230:902:993642895
            entity_type:
              examples:
                response:
                  value: VCenterDataSource
            fqdn:
              examples:
                response:
                  value: null
            ip:
              examples:
                response:
                  value: 10.197.17.68
            nickname:
              examples:
                response:
                  value: aa
            notes:
              examples:
                response:
                  value: ecmp lab
            proxy_id:
              examples:
                response:
                  value: 18230:901:1585583463
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show vCenter data source details
      tags:
        - Data Sources
    put:
      description: Update a vcenter data source. Only nickname, notes and credentials can be updated.
      operationId: updateVcenter
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/VCenterDataSource"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VCenterDataSource"
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Update a vCenter data source.
      tags:
        - Data Sources
  "/data-sources/vcenters/{id}/disable":
    post:
      description: Disable a vCenter data source
      operationId: disableVcenter
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Disable a vCenter data source
      tags:
        - Data Sources
  "/data-sources/vcenters/{id}/enable":
    post:
      description: Enable a vCenter data source
      operationId: enableVcenter
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Enable a vCenter data source
      tags:
        - Data Sources
  /entities/clusters:
    get:
      description: List clusters
      operationId: listClusters
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509337200
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:66:1293137396
                      entity_type: Cluster
                      time: 1509282803
                    - entity_id: 18230:66:670818039
                      entity_type: Cluster
                      time: 1509284911
            start_time:
              examples:
                response:
                  value: 1509337200
            total_count:
              examples:
                response:
                  value: 4
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List clusters
      tags:
        - Entities
  "/entities/clusters/{id}":
    get:
      description: Show cluster details
      operationId: getCluster
      parameters:
        - $ref: "#/components/parameters/Time"
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Cluster"
            entity_id:
              examples:
                response:
                  value: 18230:66:1293137396
            entity_type:
              examples:
                response:
                  value: Cluster
            name:
              examples:
                response:
                  value: Cluster1
            nsx_manager:
              examples:
                response:
                  value: null
            num_cpu_cores:
              examples:
                response:
                  value: 34
            num_datastores:
              examples:
                response:
                  value: 3
            num_hosts:
              examples:
                response:
                  value: 3
            total_cpus:
              examples:
                response:
                  value: 88400
            total_memory:
              examples:
                response:
                  value: 68717867008
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:2048038620
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: domain-c7
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show cluster details
      tags:
        - Entities
  /entities/datastores:
    get:
      description: List datastores
      operationId: listDatastores
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509337523
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:80:1756900216
                      entity_type: Datastore
                      time: 1509282874
                    - entity_id: 18230:80:682061552
                      entity_type: Datastore
                      time: 1509282819
            start_time:
              examples:
                response:
                  value: 1509337523
            total_count:
              examples:
                response:
                  value: 6
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List datastores
      tags:
        - Entities
  "/entities/datastores/{id}":
    get:
      description: Show datastore details
      operationId: getDatastore
      parameters:
        - $ref: "#/components/parameters/Time"
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Datastore"
            entity_id:
              examples:
                response:
                  value: 18230:80:1756898449
            entity_type:
              examples:
                response:
                  value: Datastore
            name:
              examples:
                response:
                  value: datastore1 (2)
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:824494514
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: datastore-33
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show datastore details
      tags:
        - Entities
  /entities/distributed-virtual-portgroups:
    get:
      description: List distributed virtual portgroups
      operationId: listDistributedVirtualPortgroups
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509345514
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:3:187309184
                      entity_type: DistributedVirtualPortgroup
                      time: 1509282847
                    - entity_id: 18230:3:1603334983
                      entity_type: DistributedVirtualPortgroup
                      time: 1509282885
            start_time:
              examples:
                response:
                  value: 1509345514
            total_count:
              examples:
                response:
                  value: 46
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List distributed virtual portgroups
      tags:
        - Entities
  "/entities/distributed-virtual-portgroups/{id}":
    get:
      description: Show distributed virtual portgroup details
      operationId: getDistributedVirtualPortgroup
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DistributedVirtualPortgroup"
            distributed_virtual_switch:
              examples:
                response:
                  value:
                    entity_id: 18230:2:368016825
                    entity_type: DistributedVirtualSwitch
            entity_id:
              examples:
                response:
                  value: 18230:3:187309184
            entity_type:
              examples:
                response:
                  value: DistributedVirtualPortgroup
            name:
              examples:
                response:
                  value: vxw-dvs-15-virtualwire-18-sid-5017-swargate end vm vxlan
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:2048038620
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: dvportgroup-92
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show distributed virtual portgroup details
      tags:
        - Entities
  /entities/distributed-virtual-switches:
    get:
      description: List distributed virtual switches
      operationId: listDistributedVirtualSwitches
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509345426
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:2:161257049
                      entity_type: DistributedVirtualSwitch
                      time: 1509282885
                    - entity_id: 18230:2:368016825
                      entity_type: DistributedVirtualSwitch
                      time: 1509282854
            start_time:
              examples:
                response:
                  value: 1509345426
            total_count:
              examples:
                response:
                  value: 2
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List distributed virtual switches
      tags:
        - Entities
  "/entities/distributed-virtual-switches/{id}":
    get:
      description: Show distributed virtual switch details
      operationId: getDistributedVirtualSwitch
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DistributedVirtualSwitch"
            entity_id:
              examples:
                response:
                  value: 18230:2:161257049
            entity_type:
              examples:
                response:
                  value: DistributedVirtualSwitch
            hosts:
              examples:
                response:
                  value:
                    - entity_id: 18230:4:1528136654
                      entity_type: Host
                    - entity_id: 18230:4:1528138514
                      entity_type: Host
                    - entity_id: 18230:4:1528136747
                      entity_type: Host
            name:
              examples:
                response:
                  value: dvSwitch
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:824494514
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: dvs-21
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show distributed virtual switch details
      tags:
        - Entities
  /entities/firewall-rules:
    get:
      description: List firewall rules
      operationId: listFirewallRules
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509344618
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:87:367271162
                      entity_type: NSXFirewallRule
                      time: 1509283319
                    - entity_id: 18230:87:367270232
                      entity_type: NSXFirewallRule
                      time: 1509283319
            start_time:
              examples:
                response:
                  value: 1509344618
            total_count:
              examples:
                response:
                  value: 7
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List firewall rules
      tags:
        - Entities
  "/entities/firewall-rules/{id}":
    get:
      description: Show firewall rule details
      operationId: getFirewallRule
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            action:
              examples:
                response:
                  value: ALLOW
            application/json:
              schema:
                $ref: "#/components/schemas/BaseFirewallRule"
            destination_any:
              examples:
                response:
                  value: true
            destination_inversion:
              examples:
                response:
                  value: false
            destinations:
              examples:
                response:
                  value: []
            direction:
              examples:
                response:
                  value: INOUT
            disabled:
              examples:
                response:
                  value: false
            entity_id:
              examples:
                response:
                  value: 18230:87:367271162
            entity_type:
              examples:
                response:
                  value: NSXFirewallRule
            logging_enabled:
              examples:
                response:
                  value: false
            name:
              examples:
                response:
                  value: Default Rule
            nsx_managers:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
            port_ranges:
              examples:
                response:
                  value:
                    - display: 0-65535 (ANY)
                      end: 65535
                      iana_name: ""
                      iana_port_display: ""
                      start: 0
            rule_id:
              examples:
                response:
                  value: "1001"
            scope:
              examples:
                response:
                  value: GLOBAL
            section_id:
              examples:
                response:
                  value: "1003"
            section_name:
              examples:
                response:
                  value: Default Section Layer3
            sequence_number:
              examples:
                response:
                  value: 6
            service_any:
              examples:
                response:
                  value: true
            services:
              examples:
                response:
                  value: []
            source_any:
              examples:
                response:
                  value: true
            source_inversion:
              examples:
                response:
                  value: false
            sources:
              examples:
                response:
                  value: []
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show firewall rule details
      tags:
        - Entities
  /entities/firewalls:
    get:
      description: List firewalls
      operationId: listFirewalls
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509344618
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:39:660899929
                      entity_type: NSXDistributedFirewall
                      time: 1509283319
            start_time:
              examples:
                response:
                  value: 1509344618
            total_count:
              examples:
                response:
                  value: 1
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List firewalls
      tags:
        - Entities
  "/entities/firewalls/{id}":
    get:
      description: Show firewall details
      operationId: getFirewall
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseFirewallRule"
            entity_id:
              examples:
                response:
                  value: 18230:39:660899929
            entity_type:
              examples:
                response:
                  value: NSXDistributedFirewall
            exclusions:
              examples:
                response:
                  value:
                    - entity_id: 18230:1:875338882
                      entity_type: VirtualMachine
            firewall_rules:
              examples:
                response:
                  value:
                    - rule_set_type: NSX_STANDARD
                      rules: []
                    - rules: []
            name:
              examples:
                response:
                  value: NSX Firewall
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show firewall details
      tags:
        - Entities
  /entities/flows:
    get:
      description: List flows
      operationId: getFlows
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509339942
            results:
              examples:
                response:
                  value:
                    - entity_id: 10000:515:1491521924
                      entity_type: Flow
                      time: 1509283320
            start_time:
              examples:
                response:
                  value: 1509339942
            total_count:
              examples:
                response:
                  value: 3
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List flows
      tags:
        - Entities
  "/entities/flows/{id}":
    get:
      description: Show flow details
      operationId: getFlow
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Flow"
            destination_folders:
              examples:
                response:
                  value: []
            destination_ip:
              examples:
                response:
                  value:
                    ip_address: 10.197.53.38
                    netmask: 255.255.255.255
                    network_address: 10.197.53.38
            destination_ip_sets:
              examples:
                response:
                  value: []
            destination_security_groups:
              examples:
                response:
                  value: []
            destination_security_tags:
              examples:
                response:
                  value: []
            destination_vm_tags:
              examples:
                response:
                  value: []
            entity_id:
              examples:
                response:
                  value: 10000:515:1491521924
            entity_type:
              examples:
                response:
                  value: Flow
            firewall_action:
              examples:
                response:
                  value: ALLOW
            flow_tag:
              examples:
                response:
                  value:
                    - EAST_WEST_TRAFFIC
                    - PHY_PHY_TRAFFIC
                    - SRC_IP_PHYSICAL
            name:
              examples:
                response:
                  value: 10.197.53.40 -> 10.197.53.38 [port:500]
            port:
              examples:
                response:
                  value:
                    display: "500"
                    end: 500
                    iana_name: isakmp
                    iana_port_display: 500 [isakmp]
                    start: 500
            protocol:
              examples:
                response:
                  value: UDP
            source_folders:
              examples:
                response:
                  value: []
            source_ip:
              examples:
                response:
                  value:
                    ip_address: 10.197.53.40
                    netmask: 255.255.255.255
                    network_address: 10.197.53.40
            source_ip_sets:
              examples:
                response:
                  value: []
            source_security_groups:
              examples:
                response:
                  value: []
            source_security_tags:
              examples:
                response:
                  value: []
            source_vm_tags:
              examples:
                response:
                  value: []
            traffic_type:
              examples:
                response:
                  value: EAST_WEST_TRAFFIC
            within_host:
              examples:
                response:
                  value: false
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show flow details
      tags:
        - Entities
  /entities/folders:
    get:
      description: List folders
      operationId: listFolders
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509337459
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:81:591055243
                      entity_type: Folder
                      time: 1509282871
                    - entity_id: 18230:81:520432789
                      entity_type: Folder
                      time: 1509282804
            start_time:
              examples:
                response:
                  value: 1509337459
            total_count:
              examples:
                response:
                  value: 14
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List folders
      tags:
        - Entities
  "/entities/folders/{id}":
    get:
      description: Show folder details
      operationId: getFolder
      parameters:
        - $ref: "#/components/parameters/Time"
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Folder"
            entity_id:
              examples:
                response:
                  value: 18230:81:591055243
            entity_type:
              examples:
                response:
                  value: Folder
            name:
              examples:
                response:
                  value: datastore
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:824494514
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: group-s5
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show folder details
      tags:
        - Entities
  /entities/hosts:
    get:
      description: List hosts
      operationId: listHosts
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509336095
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:4:652218965
                      entity_type: Host
                      time: 1509283414
                    - entity_id: 18230:4:1256074202
                      entity_type: Host
                      time: 1509283414
            start_time:
              examples:
                response:
                  value: 1509336095
            total_count:
              examples:
                response:
                  value: 6
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List hosts
      tags:
        - Entities
  "/entities/hosts/{id}":
    get:
      description: Show host details
      operationId: getHost
      parameters:
        - $ref: "#/components/parameters/Time"
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Host"
            cluster:
              examples:
                response:
                  value:
                    entity_id: 18230:66:1293137396
                    entity_type: Cluster
            connection_state:
              examples:
                response:
                  value: CONNECTED
            datastores:
              examples:
                response:
                  value:
                    - entity_id: 18230:80:330903629
                      entity_type: Datastore
            entity_id:
              examples:
                response:
                  value: 18230:4:1256074202
            entity_type:
              examples:
                response:
                  value: Host
            maintenance_mode:
              examples:
                response:
                  value: NOTINMAINTENANCEMODE
            name:
              examples:
                response:
                  value: 10.197.17.228
            nsx_manager:
              examples:
                response:
                  value: null
            service_tag:
              examples:
                response:
                  value: VMware-42 14 cd 9f f0 c8 0f 77-6a 53 71 8c 6d d6 e3 ff
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:2048038620
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: host-202
            vm_count:
              examples:
                response:
                  value: 0
            vmknics:
              examples:
                response:
                  value:
                    - entity_id: 18230:17:1776349286
                      entity_type: Vmknic
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show host details
      tags:
        - Entities
  /entities/ip-sets:
    get:
      description: List ip sets
      operationId: listIPSets
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509339942
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:84:347816011
                      entity_type: NSXIPSet
                      time: 1509283320
            start_time:
              examples:
                response:
                  value: 1509339942
            total_count:
              examples:
                response:
                  value: 3
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List ip sets
      tags:
        - Entities
  "/entities/ip-sets/{id}":
    get:
      description: Show ip set details
      operationId: getIPSet
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseIPSet"
            direct_destination_rules:
              examples:
                response:
                  value: []
            direct_source_rules:
              examples:
                response:
                  value: []
            entity_id:
              examples:
                response:
                  value: 18230:84:347816011
            entity_type:
              examples:
                response:
                  value: NSXIPSet
            indirect_destination_rules:
              examples:
                response:
                  value: []
            indirect_source_rules:
              examples:
                response:
                  value: []
            ip_addresses:
              examples:
                response:
                  value: []
            ip_numeric_ranges:
              examples:
                response:
                  value:
                    - end: 3232255518
                      start: 3232255509
            ip_ranges:
              examples:
                response:
                  value:
                    - end_ip: 192.168.78.30
                      start_ip: 192.168.78.21
            name:
              examples:
                response:
                  value: IPSET_ford
            nsx_managers:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
            parent_security_groups:
              examples:
                response:
                  value: []
            scope:
              examples:
                response:
                  value: GLOBAL
            translated_vm_count:
              examples:
                response:
                  value: 0
            vendor:
              examples:
                response:
                  value: ""
            vendor_id:
              examples:
                response:
                  value: ipset-3
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show ip set details
      tags:
        - Entities
  /entities/layer2-networks:
    get:
      description: List layer2 networks
      operationId: listLayer2Networks
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509339711
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:11:2095237606
                      entity_type: VxlanLayer2Network
                      time: 1509284850
                    - entity_id: 18230:11:2095237668
                      entity_type: VxlanLayer2Network
                      time: 1509284850
            start_time:
              examples:
                response:
                  value: 1509339711
            total_count:
              examples:
                response:
                  value: 38
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List layer2 networks
      tags:
        - Entities
  "/entities/layer2-networks/{id}":
    get:
      description: Show layer2 network details
      operationId: getLayer2Network
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseL2Network"
            entity_id:
              examples:
                response:
                  value: 18230:11:2095237606
            entity_type:
              examples:
                response:
                  value: VxlanLayer2Network
            gateways:
              examples:
                response:
                  value: []
            name:
              examples:
                response:
                  value: Deccan-uplink-vxlan
            network_addresses:
              examples:
                response:
                  value:
                    - 192.168.13.0/24
            nsx_managers:
              examples:
                response:
                  value: []
            scope:
              examples:
                response:
                  value: GLOBAL
            segment_id:
              examples:
                response:
                  value: 5004
            vteps:
              examples:
                response:
                  value:
                    - entity_id: 18230:17:695819287
                      entity_type: Vmknic
                    - entity_id: 18230:17:431576805
                      entity_type: Vmknic
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show layer2 network details
      tags:
        - Entities
  /entities/names:
    post:
      description: Get names for entities.Limit of 1000 entities in a single request.
      operationId: getNames
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/NamesRequest"
        description: Names Request
        required: true
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NamesResponse"
          description: OK
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Get names for entities
      tags:
        - Entities
  "/entities/names/{id}":
    get:
      description: Get name of an entity
      operationId: getName
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/EntityName"
          description: OK
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Get name of an entity
      tags:
        - Entities
  /entities/nsx-managers:
    get:
      description: List nsx managers
      operationId: listNSXManagers
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509345346
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
                      time: 1509339744
            start_time:
              examples:
                response:
                  value: 1509345346
            total_count:
              examples:
                response:
                  value: 1
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List nsx managers
      tags:
        - Entities
  "/entities/nsx-managers/{id}":
    get:
      description: Show nsx manager details
      operationId: getNSXManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseNSXManager"
            entity_id:
              examples:
                response:
                  value: 18230:7:824494449
            entity_type:
              examples:
                response:
                  value: NSXVManager
            ip_address:
              examples:
                response:
                  value:
                    ip_address: 10.197.53.187
                    netmask: 255.255.255.255
                    network_address: 10.197.53.187/32
            name:
              examples:
                response:
                  value: 10.197.53.187
            role:
              examples:
                response:
                  value: STANDALONE
            version:
              examples:
                response:
                  value: 6.2.8
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show nsx manager details
      tags:
        - Entities
  /entities/problems:
    get:
      description: List problem events.
      operationId: listProblemEvents
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509318396
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:35230:1233393386
                      entity_type: ProblemEvent
                      time: 1509283820
                    - entity_id: 18230:35228:1832167524
                      entity_type: ProblemEvent
                      time: 1509285022
            start_time:
              examples:
                response:
                  value: 1509231996
            total_count:
              examples:
                response:
                  value: 15
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List problems
      tags:
        - Entities
  "/entities/problems/{id}":
    get:
      description: Show problem event details.
      operationId: getProblemEvent
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            admin_state:
              examples:
                response:
                  value: ENABLED
            anchor_entities:
              examples:
                response:
                  value:
                    - entity_id: 18230:39:660899929
                      entity_type: NSXDistributedFirewall
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemEvent"
            archived:
              examples:
                response:
                  value: false
            entity_id:
              examples:
                response:
                  value: 18230:36050:1583312594
            entity_type:
              examples:
                response:
                  value: ProblemEvent
            event_tags:
              examples:
                response:
                  value:
                    - Best Practices
                    - Firewall
            event_time_epoch_ms:
              examples:
                response:
                  value: 1509283819834
            message:
              examples:
                response:
                  value: The distributed firewall is configured to allow all traffic by default, which increases the potential attack surface of the network
            name:
              examples:
                response:
                  value: NSXFirewallDefaultAllowAllRulesEvent
            related_entities:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
                    - entity_id: 18230:87:367271162
                      entity_type: NSXFirewallRule
                    - entity_id: 18230:39:660899929
                      entity_type: NSXDistributedFirewall
            severity:
              examples:
                response:
                  value: INFO
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show problem details
      tags:
        - Entities
  /entities/security-groups:
    get:
      description: List security groups
      operationId: listSecurityGroups
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509340012
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:82:1504518253
                      entity_type: NSXSecurityGroup
                      time: 1509283316
                    - entity_id: 18230:82:604574196
                      entity_type: NSXSecurityGroup
                      time: 1509284912
            start_time:
              examples:
                response:
                  value: 1509340012
            total_count:
              examples:
                response:
                  value: 9
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List security groups
      tags:
        - Entities
  "/entities/security-groups/{id}":
    get:
      description: Show security group details
      operationId: getSecurityGroup
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseSecurityGroup"
            direct_destination_rules:
              examples:
                response:
                  value: []
            direct_members:
              examples:
                response:
                  value:
                    - entity_id: 18230:99:922343691
                      entity_type: SecurityTag
            direct_source_rules:
              examples:
                response:
                  value: []
            entity_id:
              examples:
                response:
                  value: 18230:82:604574196
            entity_type:
              examples:
                response:
                  value: NSXSecurityGroup
            excluded_members:
              examples:
                response:
                  value: []
            indirect_destination_rules:
              examples:
                response:
                  value: []
            indirect_source_rules:
              examples:
                response:
                  value: []
            ip_sets:
              examples:
                response:
                  value: []
            members:
              examples:
                response:
                  value:
                    - entity_id: 18230:99:922343691
                      entity_type: SecurityTag
            name:
              examples:
                response:
                  value: SG-TestApp-Web
            nsx_managers:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
            parents:
              examples:
                response:
                  value: []
            scope:
              examples:
                response:
                  value: GLOBAL
            security_tags:
              examples:
                response:
                  value:
                    - entity_id: 18230:99:922343691
                      entity_type: SecurityTag
            translated_vm_count:
              examples:
                response:
                  value: 0
            vendor_id:
              examples:
                response:
                  value: securitygroup-25
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show security group details
      tags:
        - Entities
  /entities/security-tags:
    get:
      description: List security tags
      operationId: listSecurityTags
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509340096
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:99:922344652
                      entity_type: SecurityTag
                      time: 1509283319
                    - entity_id: 18230:99:1830868297
                      entity_type: SecurityTag
                      time: 1509283318
            start_time:
              examples:
                response:
                  value: 1509340096
            total_count:
              examples:
                response:
                  value: 14
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List security tags
      tags:
        - Entities
  "/entities/security-tags/{id}":
    get:
      description: Show security tag details
      operationId: getSecurityTag
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SecurityTag"
            description:
              examples:
                response:
                  value: Tag indicates that the data violation detected has a medium threat level
            direct_security_groups:
              examples:
                response:
                  value: []
            entity_id:
              examples:
                response:
                  value: 18230:99:922344652
            entity_type:
              examples:
                response:
                  value: SecurityTag
            name:
              examples:
                response:
                  value: IDS_IPS.threat=medium
            nsx_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:7:824494449
                    entity_type: NSXVManager
            security_groups:
              examples:
                response:
                  value: []
            vendor_id:
              examples:
                response:
                  value: securitytag-10
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show security tag details
      tags:
        - Entities
  /entities/service-groups:
    get:
      description: List service groups
      operationId: listServiceGroups
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509344618
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:86:1504518253
                      entity_type: NSXServiceGroup
                      time: 1509283319
            start_time:
              examples:
                response:
                  value: 1509344618
            total_count:
              examples:
                response:
                  value: 1
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List service groups
      tags:
        - Entities
  "/entities/service-groups/{id}":
    get:
      description: Show service group details
      operationId: getServiceGroup
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseServiceGroup"
            entity_id:
              examples:
                response:
                  value: 18230:86:505347433
            entity_type:
              examples:
                response:
                  value: NSXServiceGroup
            members:
              examples:
                response:
                  value:
                    - entity_id: 18230:85:676477656
                      entity_type: NSXService
                    - entity_id: 18230:85:503998082
                      entity_type: NSXService
                    - entity_id: 18230:85:504027904
                      entity_type: NSXService
                    - entity_id: 18230:85:676474897
                      entity_type: NSXService
            name:
              examples:
                response:
                  value: Oracle Enterprise Manager
            nsx_managers:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
            scope:
              examples:
                response:
                  value: GLOBAL
            vendor_id:
              examples:
                response:
                  value: applicationgroup-23
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show service group details
      tags:
        - Entities
  /entities/services:
    get:
      description: List services
      operationId: listServices
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509344618
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:85:503995168
                      entity_type: NSXService
                      time: 1509283319
            start_time:
              examples:
                response:
                  value: 1509344618
            total_count:
              examples:
                response:
                  value: 1
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List services
      tags:
        - Entities
  "/entities/services/{id}":
    get:
      description: Show service details
      operationId: getService
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseService"
            entity_id:
              examples:
                response:
                  value: 18230:85:503995168
            entity_type:
              examples:
                response:
                  value: NSXService
            name:
              examples:
                response:
                  value: PostgresSQL
            nsx_managers:
              examples:
                response:
                  value:
                    - entity_id: 18230:7:824494449
                      entity_type: NSXVManager
            port_ranges:
              examples:
                response:
                  value:
                    - display: "5432"
                      end: 5432
                      iana_name: ""
                      iana_port_display: ""
                      start: 5432
            protocol:
              examples:
                response:
                  value: TCP
            scope:
              examples:
                response:
                  value: GLOBAL
            vendor_id:
              examples:
                response:
                  value: application-211
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show service details
      tags:
        - Entities
  /entities/vc-datacenters:
    get:
      description: List vCenter datacenters
      operationId: listDatacenters
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509337402
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:105:192022336
                      entity_type: VCDatacenter
                      time: 1509282871
                    - entity_id: 18230:105:1663983066
                      entity_type: VCDatacenter
                      time: 1509282803
            start_time:
              examples:
                response:
                  value: 1509337402
            total_count:
              examples:
                response:
                  value: 2
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List vCenter datacenters
      tags:
        - Entities
  "/entities/vc-datacenters/{id}":
    get:
      description: Show vCenter datacenter details
      operationId: getDatacenter
      parameters:
        - $ref: "#/components/parameters/Time"
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VCDatacenter"
            entity_id:
              examples:
                response:
                  value: 18230:105:192022336
            entity_type:
              examples:
                response:
                  value: VCDatacenter
            name:
              examples:
                response:
                  value: DataCenter
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:824494514
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: datacenter-2
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show vCenter datacenter details
      tags:
        - Entities
  /entities/vcenter-managers:
    get:
      description: List vCenter managers
      operationId: listVcenterManagers
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: null
            end_time:
              examples:
                response:
                  value: 1509344794
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:8:2048038620
                      entity_type: VCenterManager
                      time: 1509282805
                    - entity_id: 18230:8:824494514
                      entity_type: VCenterManager
                      time: 1509283017
            start_time:
              examples:
                response:
                  value: 1509344794
            total_count:
              examples:
                response:
                  value: 2
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List vCenter managers
      tags:
        - Entities
  "/entities/vcenter-managers/{id}":
    get:
      description: Show vCenter manager details
      operationId: getVcenterManager
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VCenterManager"
            entity_id:
              examples:
                response:
                  value: 18230:8:2048038620
            entity_type:
              examples:
                response:
                  value: VCenterManager
            ip_address:
              examples:
                response:
                  value:
                    ip_address: 10.197.17.68
                    netmask: 255.255.255.255
                    network_address: 10.197.17.68/32
            name:
              examples:
                response:
                  value: 10.197.17.68
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show vCenter manager details
      tags:
        - Entities
  /entities/vmknics:
    get:
      description: List vmknics
      operationId: listVmknics
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509337586
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:17:1928372608
                      entity_type: Vmknic
                      time: 1509283321
                    - entity_id: 18230:17:695819318
                      entity_type: Vmknic
                      time: 1509282819
            start_time:
              examples:
                response:
                  value: 1509337586
            total_count:
              examples:
                response:
                  value: 11
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List vmknics
      tags:
        - Entities
  "/entities/vmknics/{id}":
    get:
      description: Show vmknic details
      operationId: getVmknic
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Vmknic"
            entity_id:
              examples:
                response:
                  value: 18230:17:695819318
            entity_type:
              examples:
                response:
                  value: Vmknic
            host:
              examples:
                response:
                  value:
                    entity_id: 18230:4:652218965
                    entity_type: Host
            ip_addresses:
              examples:
                response:
                  value:
                    - ip_address: 10.197.17.64
                      netmask: 255.255.252.0
                      network_address: 10.197.16.0/22
            layer2_network:
              examples:
                response:
                  value: null
            name:
              examples:
                response:
                  value: "[10.197.17.64]-[vmk0]"
            vlan:
              examples:
                response:
                  value:
                    begin: 0
                    end: 0
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show vmknic details
      tags:
        - Entities
  /entities/vms:
    get:
      description: List vms
      operationId: listVms
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509335034
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:1:1158969162
                      entity_type: VirtualMachine
                      time: 1509283414
                    - entity_id: 18230:1:875338851
                      entity_type: VirtualMachine
                      time: 1509283476
            start_time:
              examples:
                response:
                  value: 1509335034
            total_count:
              examples:
                response:
                  value: 39
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List vms
      tags:
        - Entities
  "/entities/vms/{id}":
    get:
      description: Show vm details
      operationId: getVm
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseVirtualMachine"
            applied_to_destination_rules:
              examples:
                response:
                  value: []
            applied_to_source_rules:
              examples:
                response:
                  value: []
            cluster:
              examples:
                response:
                  value:
                    entity_id: 18230:66:1293137396
                    entity_type: Cluster
            datacenter:
              examples:
                response:
                  value:
                    entity_id: 18230:105:1663983066
                    entity_type: VCDatacenter
            datastores:
              examples:
                response:
                  value:
                    - entity_id: 18230:80:682061552
                      entity_type: Datastore
            default_gateway:
              examples:
                response:
                  value: ""
            destination_firewall_rules:
              examples:
                response:
                  value: []
            destination_inversion_rules:
              examples:
                response:
                  value: []
            entity_id:
              examples:
                response:
                  value: 18230:1:1158969162
            entity_type:
              examples:
                response:
                  value: VirtualMachine
            folders:
              examples:
                response:
                  value:
                    - entity_id: 18230:81:520432789
                      entity_type: Folder
            host:
              examples:
                response:
                  value:
                    entity_id: 18230:4:652218965
                    entity_type: Host
            ip_addresses:
              examples:
                response:
                  value:
                    - ip_address: 10.197.17.74
                      netmask: 255.255.255.0
                      network_address: 10.197.17.0/24
            ip_sets:
              examples:
                response:
                  value: []
            layer2_networks:
              examples:
                response:
                  value: []
            name:
              examples:
                response:
                  value: NSX_Controller_9e80ec74-57ce-4671-8fd7-b5884a997535
            nsx_manager:
              examples:
                response:
                  value: null
            resource_pool:
              examples:
                response:
                  value:
                    entity_id: 18230:79:313158344
                    entity_type: ResourcePool
            security_groups:
              examples:
                response:
                  value: []
            security_tags:
              examples:
                response:
                  value: []
            source_firewall_rules:
              examples:
                response:
                  value: []
            source_inversion_rules:
              examples:
                response:
                  value: []
            vcenter_manager:
              examples:
                response:
                  value:
                    entity_id: 18230:8:2048038620
                    entity_type: VCenterManager
            vendor_id:
              examples:
                response:
                  value: vm-181
            vlans:
              examples:
                response:
                  value: []
            vnics:
              examples:
                response:
                  value:
                    - entity_id: 18230:18:863301374
                      entity_type: Vnic
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show vm details
      tags:
        - Entities
  /entities/vnics:
    get:
      description: List vnics
      operationId: listVnics
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
            cursor:
              examples:
                response:
                  value: MTA=
            end_time:
              examples:
                response:
                  value: 1509335034
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:18:1158969162
                      entity_type: Vnic
                      time: 1509283414
                    - entity_id: 18230:18:875338851
                      entity_type: Vnic
                      time: 1509283476
            start_time:
              examples:
                response:
                  value: 1509335034
            total_count:
              examples:
                response:
                  value: 39
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List vnics
      tags:
        - Entities
  "/entities/vnics/{id}":
    get:
      description: Show vnic details
      operationId: getVnic
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - $ref: "#/components/parameters/Time"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BaseVnic"
            entity_id:
              examples:
                response:
                  value: 18230:18:1285494944
            entity_type:
              examples:
                response:
                  value: Vnic
            ip_addresses:
              examples:
                response:
                  value: []
            layer2_network:
              examples:
                response:
                  value: null
            name:
              examples:
                response:
                  value: "[USA  Edge-0]-[Network adapter 8]"
            vlan:
              examples:
                response:
                  value:
                    begin: 0
                    end: 0
            vm:
              examples:
                response:
                  value:
                    entity_id: 18230:1:1158972882
                    entity_type: VirtualMachine
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show vnic details
      tags:
        - Entities
  /groups/applications:
    get:
      description: List applications
      operationId: listApplications
      parameters:
        - $ref: "#/components/parameters/Size"
        - $ref: "#/components/parameters/Cursor"
        - $ref: "#/components/parameters/StartTime"
        - $ref: "#/components/parameters/EndTime"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponse"
            results:
              examples:
                response:
                  value:
                    - entity_id: 18230:561:271275765
                      entity_type: Application
            total_count:
              examples:
                response:
                  value: 1
          description: OK
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List applications
      tags:
        - Applications
    post:
      description: |-
        Application is a group of tiers. A tier is a group of virtual machines based on membership criteria. Tiers are bound to single
        application. An application name is unique and should not conflict with another application name.
      operationId: addApplication
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/ApplicationRequest"
        required: true
      responses:
        "201":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
            create_time:
              examples:
                response:
                  value: 1509410056733
            created_by:
              examples:
                response:
                  value: admin@local
            entity_id:
              examples:
                response:
                  value: 18230:561:271275765
            entity_type:
              examples:
                response:
                  value: Application
            last_modified_by:
              examples:
                response:
                  value: ""
            last_modified_time:
              examples:
                response:
                  value: 0
            name:
              examples:
                response:
                  value: App-1
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create an application
      tags:
        - Applications
  "/groups/applications/{id}":
    delete:
      description: Deleting an application deletes all the tiers of the application along with the application
      operationId: deleteApplication
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "204":
          description: Success
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete an application
      tags:
        - Applications
    get:
      description: Show application details
      operationId: getApplication
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Application"
            create_time:
              examples:
                response:
                  value: 1509410056733
            created_by:
              examples:
                response:
                  value: admin@local
            entity_id:
              examples:
                response:
                  value: 18230:561:271275765
            entity_type:
              examples:
                response:
                  value: Application
            last_modified_by:
              examples:
                response:
                  value: ""
            last_modified_time:
              examples:
                response:
                  value: 0
            name:
              examples:
                response:
                  value: App-1
          description: OK
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show application details
      tags:
        - Applications
  "/groups/applications/{id}/tiers":
    get:
      description: List tiers of an application
      operationId: listApplicationTiers
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/TierListResponse"
            results:
              examples:
                response:
                  value:
                    - application:
                        entity_id: 18230:561:271275765
                        entity_type: Application
                      entity_id: 18230:562:1266458745
                      entity_type: Tier
                      group_membership_criteria:
                        - membership_type: SearchMembershipCriteria
                          search_membership_criteria:
                            entity_type: VirtualMachine
                            filter: security_groups.entity_id = '18230:82:604573173'
                      name: tier-1
          description: OK
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List tiers of an application
      tags:
        - Applications
    post:
      description: |-
        Create a tier of an application by with specified membership criteria. The membership criteria id defined in terms of
        virtual machines or ip addresses/subnet. Please refer to API Guide on how to construct membership criteria.
      operationId: addTier
      parameters:
        - $ref: "#/components/parameters/Identifier"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TierRequest"
        required: true
      responses:
        "201":
          content:
            application:
              examples:
                response:
                  value:
                    entity_id: 18230:561:271275765
                    entity_type: Application
            application/json:
              schema:
                $ref: "#/components/schemas/Tier"
            entity_id:
              examples:
                response:
                  value: 18230:562:1266458745
            entity_type:
              examples:
                response:
                  value: Tier
            group_membership_criteria:
              examples:
                response:
                  value:
                    - membership_type: SearchMembershipCriteria
                      search_membership_criteria:
                        entity_type: VirtualMachine
                        filter: security_groups.entity_id = '18230:82:604573173'
            name:
              examples:
                response:
                  value: tier-1
          description: OK
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Create tier in application
      tags:
        - Applications
  "/groups/applications/{id}/tiers/{tier-id}":
    delete:
      description: Delete tier of an application
      operationId: deleteTier
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - in: path
          name: tier-id
          required: true
          schema:
            type: string
      responses:
        "204":
          description: OK
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Delete tier
      tags:
        - Applications
    get:
      description: Show tier details
      operationId: getApplicationTier
      parameters:
        - $ref: "#/components/parameters/Identifier"
        - in: path
          name: tier-id
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application:
              examples:
                response:
                  value:
                    entity_id: 18230:561:271275765
                    entity_type: Application
            application/json:
              schema:
                $ref: "#/components/schemas/Tier"
            entity_id:
              examples:
                response:
                  value: 18230:562:1266458745
            entity_type:
              examples:
                response:
                  value: Tier
            group_membership_criteria:
              examples:
                response:
                  value:
                    - membership_type: SearchMembershipCriteria
                      search_membership_criteria:
                        entity_type: VirtualMachine
                        filter: security_groups.entity_id = '18230:82:604573173'
            name:
              examples:
                response:
                  value: tier-1
          description: OK
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show tier details
      tags:
        - Applications
  "/groups/tiers/{tier-id}":
    get:
      description: Show tier details
      operationId: getTier
      parameters:
        - in: path
          name: tier-id
          required: true
          schema:
            type: string
        - description: Authorization Header
          in: header
          name: Authorization
          required: true
          schema:
            format: NetworkInsight <token>
            type: string
      responses:
        "200":
          content:
            application:
              examples:
                response:
                  value:
                    entity_id: 18230:561:271275765
                    entity_type: Application
            application/json:
              schema:
                $ref: "#/components/schemas/Tier"
            entity_id:
              examples:
                response:
                  value: 18230:562:1266458745
            entity_type:
              examples:
                response:
                  value: Tier
            group_membership_criteria:
              examples:
                response:
                  value:
                    - membership_type: SearchMembershipCriteria
                      search_membership_criteria:
                        entity_type: VirtualMachine
                        filter: security_groups.entity_id = '18230:82:604573173'
            name:
              examples:
                response:
                  value: tier-1
          description: OK
        "401":
          description: Unauthorized
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show tier details
      tags:
        - Applications
  /info/version:
    get:
      description: Show version info
      operationId: getVersion
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/VersionResponse"
          description: OK
        "401":
          description: Unauthorized
      security:
        - ApiKeyAuth: []
      summary: Show version info
      tags:
        - Info
  /infra/nodes:
    get:
      description: Get list of infrastructure nodes. Only admin users can retrieve this information.
      operationId: listNodes
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/NodeListResult"
            results:
              examples:
                response:
                  value:
                    - entity_type: NODE
                      id: 18230:901:1585583463
                    - entity_type: NODE
                      id: 18230:901:1706494033
            total_count:
              examples:
                response:
                  value: 2
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: List nodes
      tags:
        - Infrastructure
  "/infra/nodes/{id}":
    get:
      description: |-
        Get details of infrastructure nodes. Only admin users can get this information. The proxy id is
        required for adding a data source for selecting appropriate proxy node to add the data source.
      operationId: getNode
      parameters:
        - $ref: "#/components/parameters/Identifier"
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Node"
            entity_type:
              examples:
                response:
                  value: NODE
            id:
              examples:
                response:
                  value: 18230:901:1585583463
            ip_address:
              examples:
                response:
                  value: 10.126.103.156
            node_id:
              examples:
                response:
                  value: IOYHU2J
            node_type:
              examples:
                response:
                  value: PROXY_VM
          description: OK
        "401":
          description: Unauthorized
        "403":
          description: Forbidden
        "404":
          description: Not Found
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Show node details
      tags:
        - Infrastructure
  /micro-seg/recommended-rules:
    post:
      description: |-
        Get recommended firewall rules based on the flow data gathered by vRealize Network Insight.
        This API provides service to retrieve recommended rules based on flow traffic that is observed between
        two groups OR for a single group based on all the inbound and outboud traffic for that group.
        In case two groups are provided, both the groups should be of same type.
        Currently supported groups are Application, Tier, NSXSecurityGroup, EC2SecurityGroup.
      operationId: listRecommendedRules
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RecommendedRulesRequest"
        description: Recommended Rules Request
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RecommendedRules"
            results:
              examples:
                response:
                  value:
                    - action: ALLOW
                      destinations:
                        - entity_id: 10000:562:1780351215
                          entity_type: Tier
                      port_ranges:
                        - end: 53
                          start: 53
                        - end: 1025
                          start: 1025
                      protocols:
                        - UDP
                      sources:
                        - entity_id: 10000:562:1904698621
                          entity_type: Tier
            time_range:
              examples:
                response:
                  value:
                    end_time_epoch: 1509083319391
                    start_time_epoch: 1508996919391
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Get logical recommended rules
      tags:
        - Microsegmentation
  /micro-seg/recommended-rules/nsx:
    post:
      description: |-
        Export recommended firewall rules based on the flow data gathered by vRealize Network Insight in NSX-V compatible
        format
      operationId: exportNsxRecommendedRules
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/RecommendedRulesRequest"
        description: NSX Recommended Rules Request
      responses:
        "200":
          content:
            application/octet-stream:
              schema:
                format: binary
                type: string
          description: Success
        "400":
          content:
            application/octet-stream:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Export recommended rules for NSX-V
      tags:
        - Microsegmentation
  /search:
    post:
      description: |-
        Using search API you can search vRealize Network Insight entities by specifying entity type and filter expression.
        A filter expression is a predicate expression (similar to SQL where clause) used to define the search criteria.
        Please refer to API Guide on details of how to construct filter expression. A successful search request will return a
        list of entity ids that matches the search criteria.
      operationId: searchEntities
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SearchRequest"
        description: Search Request
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/PagedListResponseWithTime"
          description: Success
        "400":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ApiError"
          description: Bad Request
        "401":
          description: Unauthorized
        "500":
          description: Internal Error
      security:
        - ApiKeyAuth: []
      summary: Search entities
      tags:
        - Search
components:
  parameters:
    Cursor:
      description: cursor from previous response
      in: query
      name: cursor
      required: false
      schema:
        type: string
    EndTime:
      description: end time for query in epoch seconds
      in: query
      name: end_time
      required: false
      schema:
        type: number
    Identifier:
      description: entity id
      in: path
      name: id
      required: true
      schema:
        type: string
    Size:
      description: page size of results
      in: query
      name: size
      required: false
      schema:
        default: 10
        type: number
    StartTime:
      description: start time for query in epoch seconds
      in: query
      name: start_time
      required: false
      schema:
        type: number
    Time:
      description: time in epoch seconds
      in: query
      name: time
      required: false
      schema:
        format: int64
        type: integer
  requestBodies:
    SNMPConfig:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/SNMPConfig"
  schemas:
    AllEntityType:
      enum:
        - Group
        - BaseSecurityGroup
        - BaseEvent
        - BaseVirtualMachine
        - BaseFirewallRule
        - BaseIPSet
        - BaseL2Network
        - BaseFirewall
        - BaseService
        - BaseServiceGroup
        - BaseVnic
        - VirtualMachine
        - EC2Instance
        - Host
        - Vnic
        - Vmknic
        - VxlanLayer2Network
        - VlanL2Network
        - Cluster
        - SecurityTag
        - ResourcePool
        - NSXIPSet
        - EC2IPSet
        - NSXSecurityGroup
        - EC2SecurityGroup
        - Flow
        - ProblemEvent
        - Application
        - Tier
        - NSXFirewallRule
        - EC2SGFirewallRule
        - NSXRedirectRule
        - VCenterManager
        - NSXVManager
        - BaseManager
        - BaseNSXManager
        - NSXService
        - EC2Service
        - VPC
        - NSXDistributedFirewall
        - EC2Firewall
        - NSXServiceGroup
        - DistributedVirtualSwitch
        - DistributedVirtualPortgroup
        - VCDatacenter
        - Datastore
        - Folder
      type: string
    ApiError:
      properties:
        code:
          format: int32
          type: integer
        details:
          items:
            $ref: "#/components/schemas/ErrorDetail"
          type: array
        message:
          type: string
      type: object
    Application:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            create_time:
              format: int64
              type: integer
            created_by:
              type: string
            last_modified_by:
              type: string
            last_modified_time:
              format: int64
              type: integer
    ApplicationRequest:
      properties:
        name:
          type: string
      type: object
    AristaSwitchDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    AristaSwitchDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
    BaseDataSource:
      discriminator:
        propertyName: entity_type
      properties:
        enabled:
          default: true
          type: boolean
        entity_id:
          type: string
        entity_type:
          $ref: "#/components/schemas/DataSourceType"
        fqdn:
          example: your.domain.com
          type: string
        ip:
          example: 192.168.10.1
          type: string
        nickname:
          example: vc1
          type: string
        notes:
          type: string
        proxy_id:
          description: proxy vm which should register this vcenter
          example: 1000:104:12313412
          type: string
      type: object
    BaseDataSourceRequest:
      properties:
        enabled:
          default: true
          type: boolean
        fqdn:
          example: your.domain.com
          type: string
        ip:
          example: 192.168.10.1
          type: string
        nickname:
          example: vc1
          type: string
        notes:
          type: string
        proxy_id:
          description: proxy vm which should register this vcenter
          example: 1000:104:12313412
          type: string
      required:
        - proxy_id
        - nickname
      type: object
    BaseEntity:
      discriminator:
        propertyName: entity_type
      properties:
        entity_id:
          type: string
        entity_type:
          $ref: "#/components/schemas/EntityType"
        name:
          type: string
      type: object
    BaseEvent:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            admin_state:
              enum:
                - ENABLED
                - DISABLED
              type: string
            anchor_entities:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            archived:
              type: boolean
            event_tags:
              items:
                type: string
              type: array
            event_time_epoch_ms:
              format: int64
              type: integer
            message:
              type: string
            related_entities:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
    BaseFirewall:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            exclusions:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            firewall_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
    BaseFirewallRule:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            action:
              $ref: "#/components/schemas/FirewallAction"
            destination_any:
              type: boolean
            destination_inversion:
              type: boolean
            destinations:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            disabled:
              type: boolean
            port_ranges:
              items:
                $ref: "#/components/schemas/PortRange"
              type: array
            rule_id:
              type: string
            section_id:
              type: string
            section_name:
              type: string
            sequence_number:
              type: integer
            service_any:
              type: boolean
            services:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_any:
              type: boolean
            source_inversion:
              type: boolean
            sources:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
    BaseIPSet:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            direct_destination_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            direct_source_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            indirect_destination_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            indirect_source_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            ip_addresses:
              items:
                $ref: "#/components/schemas/IpV4Address"
              type: array
            ip_numeric_ranges:
              items:
                $ref: "#/components/schemas/IpNumericRange"
              type: array
            ip_ranges:
              items:
                $ref: "#/components/schemas/IpAddressRange"
              type: array
            parent_security_groups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            translated_vm_count:
              format: int32
              type: integer
            vendor:
              type: string
            vendor_id:
              type: string
    BaseL2Network:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            gateways:
              items:
                type: string
              type: array
            network_addresses:
              items:
                type: string
              type: array
    BaseManager:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
    BaseNSXManager:
      allOf:
        - $ref: "#/components/schemas/BaseManager"
    BaseSecurityGroup:
      allOf:
        - $ref: "#/components/schemas/Group"
        - properties:
            direct_destination_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            direct_members:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            direct_source_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            excluded_members:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            indirect_destination_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            indirect_source_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            members:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            parents:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            translated_vm_count:
              type: integer
            vendor_id:
              type: string
    BaseService:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            port_ranges:
              items:
                $ref: "#/components/schemas/PortRange"
              type: array
            protocol:
              type: string
    BaseServiceGroup:
      allOf:
        - $ref: "#/components/schemas/Group"
    BaseVirtualMachine:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            default_gateway:
              type: string
            destination_firewall_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            ip_addresses:
              items:
                $ref: "#/components/schemas/IpV4Address"
              type: array
            ip_sets:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            security_groups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_firewall_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            vnics:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
      type: object
    BaseVnic:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            ip_addresses:
              items:
                $ref: "#/components/schemas/IpV4Address"
              type: array
            layer2_network:
              $ref: "#/components/schemas/Reference"
            vlan:
              $ref: "#/components/schemas/Vlan"
            vm:
              $ref: "#/components/schemas/Reference"
    BrocadeSwitchDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    BrocadeSwitchDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
    CheckpointFirewallDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    CheckpointFirewallDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
    CiscoSwitchDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
        - properties:
            switch_type:
              $ref: "#/components/schemas/CiscoSwitchType"
    CiscoSwitchDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
        - properties:
            switch_type:
              $ref: "#/components/schemas/CiscoSwitchType"
    CiscoSwitchType:
      enum:
        - CATALYST_3000
        - CATALYST_4500
        - CATALYST_6500
        - NEXUS_5K
        - NEXUS_7K
        - NEXUS_9K
      type: string
    Cluster:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            nsx_manager:
              $ref: "#/components/schemas/Reference"
            num_cpu_cores:
              format: int32
              type: integer
            num_datastores:
              format: int32
              type: integer
            num_hosts:
              format: int32
              type: integer
            total_cpus:
              format: int32
              type: integer
            total_memory:
              format: int64
              type: integer
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
      type: object
    DataSourceEntityId:
      properties:
        entity_id:
          description: Entity Identifier
          example: 1000:104:12213212
          type: string
        entity_type:
          $ref: "#/components/schemas/DataSourceType"
      type: object
    DataSourceListResponse:
      properties:
        results:
          items:
            $ref: "#/components/schemas/DataSourceEntityId"
          type: array
        total_count:
          example: 1
          type: integer
      type: object
    DataSourceType:
      enum:
        - CiscoSwitchDataSource
        - DellSwitchDataSource
        - AristaSwitchDataSource
        - BrocadeSwitchDataSource
        - JuniperSwitchDataSource
        - VCenterDataSource
        - NSXVManagerDataSource
        - UCSManagerDataSource
        - HPVCManagerDataSource
        - HPOneViewDataSource
        - PanFirewallDataSource
        - CheckpointFirewallDataSource
      type: string
    DatasourceHealth:
      description: Datasource Health state
      properties:
        health_error_code:
          type: string
        health_message:
          type: string
        health_status:
          enum:
            - HEALTHY
            - HEALTHY_WITH_WARNINGS
            - UNHEALTHY
          type: string
      type: object
    Datastore:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
      type: object
    DellSwitchDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
        - properties:
            switch_type:
              $ref: "#/components/schemas/DellSwitchType"
    DellSwitchDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
        - properties:
            switch_type:
              $ref: "#/components/schemas/DellSwitchType"
    DellSwitchType:
      enum:
        - FORCE_10_MXL_10
        - POWERCONNECT_8024
        - S4048
        - Z9100
        - S6000
      type: string
    DistributedVirtualPortgroup:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            distributed_virtual_switch:
              $ref: "#/components/schemas/Reference"
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
      type: object
    DistributedVirtualSwitch:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            hosts:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
      type: object
    Domain:
      properties:
        domain_type:
          enum:
            - LDAP
            - LOCAL
          example: LDAP
          type: string
        value:
          description: domain value, not required for LOCAL domain
          example: example.com
          type: string
      type: object
    EC2Firewall:
      allOf:
        - $ref: "#/components/schemas/BaseFirewall"
    EC2FirewallDirection:
      enum:
        - INBOUND
        - OUTBOUND
      type: string
    EC2IPSet:
      allOf:
        - $ref: "#/components/schemas/BaseIPSet"
    EC2Instance:
      allOf:
        - $ref: "#/components/schemas/BaseVirtualMachine"
        - properties:
            region:
              type: string
            vpc:
              $ref: "#/components/schemas/Reference"
    EC2NetworkInterface:
      allOf:
        - $ref: "#/components/schemas/BaseVnic"
    EC2SGFirewallRule:
      allOf:
        - $ref: "#/components/schemas/BaseFirewallRule"
        - properties:
            direction:
              $ref: "#/components/schemas/EC2FirewallDirection"
            owner_security_group:
              $ref: "#/components/schemas/Reference"
            vpc:
              $ref: "#/components/schemas/Reference"
    EC2SecurityGroup:
      allOf:
        - $ref: "#/components/schemas/BaseSecurityGroup"
        - properties:
            region:
              type: string
            vpc:
              $ref: "#/components/schemas/Reference"
    EC2Service:
      allOf:
        - $ref: "#/components/schemas/BaseService"
    EntityId:
      properties:
        entity_id:
          description: Entity Identifier
          example: 1000:104:12213212
          type: string
        entity_type:
          $ref: "#/components/schemas/EntityType"
      type: object
    EntityIdWithTime:
      properties:
        entity_id:
          description: Entity Identifier
          type: string
        entity_type:
          $ref: "#/components/schemas/EntityType"
        time:
          format: int64
          type: integer
      type: object
    EntityName:
      allOf:
        - $ref: "#/components/schemas/EntityIdWithTime"
        - properties:
            name:
              type: string
    EntityType:
      enum:
        - VirtualMachine
        - EC2Instance
        - Host
        - Vnic
        - Vmknic
        - VxlanLayer2Network
        - VlanL2Network
        - Cluster
        - SecurityTag
        - ResourcePool
        - NSXIPSet
        - EC2IPSet
        - NSXSecurityGroup
        - EC2SecurityGroup
        - Flow
        - ProblemEvent
        - Application
        - Tier
        - NSXFirewallRule
        - EC2SGFirewallRule
        - NSXRedirectRule
        - VCenterManager
        - NSXVManager
        - NSXService
        - EC2Service
        - VPC
        - NSXDistributedFirewall
        - EC2Firewall
        - NSXServiceGroup
        - DistributedVirtualSwitch
        - DistributedVirtualPortgroup
        - VCDatacenter
        - Datastore
        - Folder
      type: string
    ErrorDetail:
      properties:
        code:
          format: int32
          type: integer
        message:
          type: string
        target:
          items:
            type: string
          type: array
      type: object
    FirewallAction:
      enum:
        - ALLOW
        - ACCEPT
        - DENY
        - DROP
        - REJECT
        - REDIRECT
        - DO_NOT_REDIRECT
      type: string
    FirewallDirection:
      enum:
        - IN
        - OUT
        - INOUT
      type: string
    Flow:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            destination_cluster:
              $ref: "#/components/schemas/Reference"
            destination_datacenter:
              $ref: "#/components/schemas/Reference"
            destination_folders:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            destination_host:
              $ref: "#/components/schemas/Reference"
            destination_ip:
              $ref: "#/components/schemas/IpV4Address"
            destination_ip_sets:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            destination_l2_network:
              $ref: "#/components/schemas/Reference"
            destination_resource_pool:
              $ref: "#/components/schemas/Reference"
            destination_security_groups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            destination_security_tags:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            destination_vm:
              $ref: "#/components/schemas/Reference"
            destination_vm_tags:
              items:
                type: string
              type: array
            destination_vnic:
              $ref: "#/components/schemas/Reference"
            destination_vpc:
              $ref: "#/components/schemas/Reference"
            firewall_action:
              $ref: "#/components/schemas/FirewallAction"
            flow_tag:
              items:
                $ref: "#/components/schemas/FlowTag"
              type: array
            port:
              $ref: "#/components/schemas/PortRange"
            protocol:
              $ref: "#/components/schemas/Protocol"
            source_cluster:
              $ref: "#/components/schemas/Reference"
            source_datacenter:
              $ref: "#/components/schemas/Reference"
            source_folders:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_host:
              $ref: "#/components/schemas/Reference"
            source_ip:
              $ref: "#/components/schemas/IpV4Address"
            source_ip_sets:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_l2_network:
              $ref: "#/components/schemas/Reference"
            source_resource_pool:
              $ref: "#/components/schemas/Reference"
            source_security_groups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_security_tags:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_vm:
              $ref: "#/components/schemas/Reference"
            source_vm_tags:
              items:
                type: string
              type: array
            source_vnic:
              $ref: "#/components/schemas/Reference"
            source_vpc:
              $ref: "#/components/schemas/Reference"
            traffic_type:
              $ref: "#/components/schemas/FlowTrafficType"
            within_host:
              type: boolean
    FlowTag:
      enum:
        - TAG_TRAFFIC_TYPE_UNKNOWN
        - TAG_INTERNET_TRAFFIC
        - TAG_EAST_WEST_TRAFFIC
        - TAG_VM_VM_TRAFFIC
        - TAG_VM_PHY_TRAFFIC
        - TAG_PHY_PHY_TRAFFIC
        - TAG_SRC_IP_VMKNIC
        - TAG_DST_IP_VMKNIC
        - TAG_SRC_IP_VM
        - TAG_DST_IP_VM
        - TAG_SRC_IP_INTERNET
        - TAG_DST_IP_INTERNET
        - TAG_SRC_IP_PHYSICAL
        - TAG_DST_IP_PHYSICAL
        - TAG_SAME_HOST
        - TAG_DIFF_HOST
        - TAG_SHARED_SERVICE
        - TAG_NOT_SHARED_SERVICE
        - TAG_NETWORK_SWITCHED
        - TAG_NETWORK_ROUTED
        - TAG_NETWORK_UNKNOWN
        - TAG_SRC_IP_VTEP
        - TAG_DST_IP_VTEP
        - TAG_UNICAST
        - TAG_BROADCAST
        - TAG_MULTICAST
        - TAG_SRC_IP_LINK_LOCAL
        - TAG_DST_IP_LINK_LOCAL
        - TAG_SRC_IP_CLASS_E
        - TAG_DST_IP_CLASS_E
        - TAG_SRC_IP_CLASS_A_RESERVED
        - TAG_DST_IP_CLASS_A_RESERVED
        - TAG_INVALID_IP_PACKETS
        - TAG_NOT_ANALYZED
        - TAG_GENERIC_INTERNET_SRC_IP
        - TAG_SNAT_DNAT_FLOW
        - TAG_MULTINICS
        - TAG_SRC_VC
        - TAG_DST_VC
        - TAG_SRC_AWS
        - TAG_DST_AWS
        - TAG_WITHIN_DC
        - TAG_DIFF_DC
        - TAG_WITHIN_VPC
        - TAG_DIFF_VPC
      type: string
    FlowTrafficType:
      enum:
        - INTERNET_TRAFFIC
        - EAST_WEST_TRAFFIC
      type: string
    Folder:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
      type: object
    Group:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            members:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
    GroupMembershipCriteria:
      description: EntityType currently restricted to VirtualMachine
      properties:
        ip_address_membership_criteria:
          $ref: "#/components/schemas/IpAddressMembershipCriteria"
        membership_type:
          enum:
            - SearchMembershipCriteria
            - IPAddressMembershipCriteria
          type: string
        search_membership_criteria:
          $ref: "#/components/schemas/SearchMembershipCriteria"
      type: object
    HPOneViewManagerDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    HPOneViewManagerDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    HPVCManagerDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    HPVCManagerDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    Host:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            cluster:
              $ref: "#/components/schemas/Reference"
            connection_state:
              type: string
            datastores:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            maintenance_mode:
              type: string
            nsx_manager:
              $ref: "#/components/schemas/Reference"
            service_tag:
              type: string
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
            vm_count:
              format: int32
              type: integer
            vmknics:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
    IpAddressMembershipCriteria:
      description: Ip Address membership definition
      properties:
        ip_addresses:
          items:
            type: string
          type: array
      type: object
    IpAddressRange:
      properties:
        end_ip:
          type: string
        start_ip:
          type: string
    IpNumericRange:
      properties:
        end:
          format: int64
          type: integer
        start:
          format: int64
          type: integer
    IpV4Address:
      properties:
        ip_address:
          type: string
        netmask:
          type: string
        network_address:
          type: string
      type: object
    JuniperSwitchDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    JuniperSwitchDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
    MetaEntityType:
      enum:
        - Group
        - BaseSecurityGroup
        - BaseEvent
        - BaseVirtualMachine
        - BaseFirewallRule
        - BaseIPSet
        - BaseL2Network
        - BaseManager
        - BaseNSXManager
        - BaseFirewall
        - BaseService
        - BaseServiceGroup
        - BaseVnic
      type: string
    MicroSecGroup:
      properties:
        entity:
          $ref: "#/components/schemas/Reference"
      type: object
    NSXControllerDataCollection:
      properties:
        controller_password:
          type: string
        enabled:
          default: false
          type: boolean
      type: object
    NSXDistributedFirewall:
      allOf:
        - $ref: "#/components/schemas/BaseFirewall"
        - properties:
            vendor_id:
              type: string
    NSXFirewallRule:
      allOf:
        - $ref: "#/components/schemas/BaseFirewallRule"
        - properties:
            direction:
              $ref: "#/components/schemas/FirewallDirection"
            logging_enabled:
              type: boolean
            nsx_managers:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            scope:
              $ref: "#/components/schemas/ScopeEnum"
    NSXIPSet:
      allOf:
        - $ref: "#/components/schemas/BaseIPSet"
        - properties:
            nsx_managers:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            scope:
              $ref: "#/components/schemas/ScopeEnum"
    NSXRedirectRule:
      allOf:
        - $ref: "#/components/schemas/BaseFirewallRule"
        - properties:
            direction:
              $ref: "#/components/schemas/FirewallDirection"
            logging_enabled:
              type: boolean
            service_profile:
              type: string
    NSXSecurityGroup:
      allOf:
        - $ref: "#/components/schemas/BaseSecurityGroup"
        - properties:
            ip_sets:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            nsx_managers:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            scope:
              $ref: "#/components/schemas/ScopeEnum"
            security_tags:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
    NSXService:
      allOf:
        - $ref: "#/components/schemas/BaseService"
        - properties:
            nsx_managers:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            scope:
              $ref: "#/components/schemas/ScopeEnum"
            vendor_id:
              type: string
    NSXServiceGroup:
      allOf:
        - $ref: "#/components/schemas/BaseServiceGroup"
        - properties:
            nsx_managers:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            scope:
              $ref: "#/components/schemas/ScopeEnum"
            vendor_id:
              type: string
    NSXVManager:
      allOf:
        - $ref: "#/components/schemas/BaseNSXManager"
        - properties:
            fqdn:
              type: string
            ip_address:
              $ref: "#/components/schemas/IpV4Address"
            primary_nsx_manager:
              $ref: "#/components/schemas/Reference"
            role:
              type: string
            version:
              type: string
            vm:
              $ref: "#/components/schemas/Reference"
    NSXVManagerDataSource:
      allOf:
        - $ref: "#/components/schemas/BaseDataSource"
        - properties:
            central_cli_enabled:
              default: false
              type: boolean
            credentials:
              $ref: "#/components/schemas/PasswordCredentials"
            ipfix_enabled:
              default: false
              type: boolean
            vcenter_id:
              description: Associated vcenter data source entity Id
              type: string
    NSXVManagerDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/BaseDataSourceRequest"
        - properties:
            central_cli_enabled:
              default: false
              type: boolean
            credentials:
              $ref: "#/components/schemas/PasswordCredentials"
            ipfix_enabled:
              default: false
              type: boolean
            vcenter_id:
              description: Associated vcenter data source entity Id
              type: string
          required:
            - vcenter_id
            - credentials
    NameRequestParam:
      properties:
        entity_id:
          type: string
        time:
          format: int64
          type: integer
      type: object
    NamesRequest:
      properties:
        entities:
          items:
            $ref: "#/components/schemas/NameRequestParam"
          type: array
      type: object
    NamesResponse:
      properties:
        entities:
          items:
            $ref: "#/components/schemas/EntityName"
          type: array
      type: object
    Node:
      properties:
        entity_type:
          $ref: "#/components/schemas/NodeType"
        id:
          type: string
        ip_address:
          type: string
        name:
          type: string
        node_id:
          type: string
        node_type:
          enum:
            - PROXY_VM
            - PLATFORM_VM
          type: string
      type: object
    NodeId:
      properties:
        entity_type:
          $ref: "#/components/schemas/NodeType"
        id:
          description: Entity Identifier
          example: 1000:104:12213212
          type: string
      type: object
    NodeListResult:
      properties:
        results:
          items:
            $ref: "#/components/schemas/NodeId"
          type: array
        total_count:
          example: 1
          type: integer
      type: object
    NodeType:
      enum:
        - Node
      type: string
    PagedListResponse:
      properties:
        cursor:
          type: string
        end_time:
          format: int64
          type: integer
        results:
          items:
            $ref: "#/components/schemas/EntityId"
          type: array
        start_time:
          format: int64
          type: integer
        total_count:
          type: integer
      type: object
    PagedListResponseWithTime:
      properties:
        cursor:
          example: ML12eu02==
          type: string
        end_time:
          example: 1504739809
          format: int64
          type: integer
        results:
          items:
            $ref: "#/components/schemas/EntityIdWithTime"
          type: array
        start_time:
          example: 1504739809
          format: int64
          type: integer
        total_count:
          example: 100
          type: integer
      type: object
    PanFirewallDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    PanFirewallDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSourceRequest"
    PasswordCredentials:
      properties:
        password:
          type: string
        username:
          type: string
      required:
        - username
        - password
      type: object
    PortRange:
      properties:
        display:
          type: string
        end:
          format: int32
          type: integer
        iana_name:
          type: string
        iana_port_display:
          type: string
        start:
          format: int32
          type: integer
      type: object
    ProblemEvent:
      allOf:
        - $ref: "#/components/schemas/BaseEvent"
        - properties:
            event_close_time_epoch_ms:
              format: int64
              type: integer
            severity:
              enum:
                - CRITICAL
                - MODERATE
                - WARNING
                - INFO
              type: string
    Protocol:
      enum:
        - TCP
        - UDP
        - OTHER
      type: string
    RecommendedRule:
      properties:
        action:
          enum:
            - ALLOW
            - DROP
          type: string
        destinations:
          items:
            $ref: "#/components/schemas/Reference"
          type: array
        port_ranges:
          items:
            $ref: "#/components/schemas/SimplePortRange"
          type: array
        protocols:
          items:
            type: string
          type: array
        sources:
          items:
            $ref: "#/components/schemas/Reference"
          type: array
      type: object
    RecommendedRules:
      properties:
        results:
          items:
            $ref: "#/components/schemas/RecommendedRule"
          type: array
        time_range:
          $ref: "#/components/schemas/TimeRange"
      type: object
    RecommendedRulesRequest:
      example:
        group_1:
          entity:
            entity_id: 10000:562:1904698621
            entity_type: Tier
        group_2:
          entity:
            entity_id: 10000:562:1780351215
            entity_type: Tier
      properties:
        group_1:
          $ref: "#/components/schemas/MicroSecGroup"
        group_2:
          $ref: "#/components/schemas/MicroSecGroup"
        time_range:
          $ref: "#/components/schemas/TimeRange"
      type: object
    Reference:
      properties:
        entity_id:
          type: string
        entity_type:
          $ref: "#/components/schemas/EntityType"
      type: object
    ResourcePool:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
    RuleSet:
      properties:
        firewall:
          $ref: "#/components/schemas/Reference"
        rule_set_type:
          enum:
            - NSX_STANDARD
            - NSX_REDIRECT
            - AWS_STANDARD
          type: string
        rules:
          items:
            $ref: "#/components/schemas/Reference"
          type: array
      type: object
    SNMP2cConfig:
      properties:
        community_string:
          type: string
      type: object
    SNMP3Config:
      properties:
        authentication_password:
          type: string
        authentication_type:
          enum:
            - NO_AUTH
            - MD5
            - SHA
          type: string
        context_name:
          type: string
        privacy_password:
          type: string
        privacy_type:
          enum:
            - AES
            - DES
            - AES128
            - AES192
            - AES256
            - 3DES
            - NO_PRIV
          type: string
        username:
          type: string
      type: object
    SNMPConfig:
      properties:
        config_snmp_2c:
          $ref: "#/components/schemas/SNMP2cConfig"
        config_snmp_3:
          $ref: "#/components/schemas/SNMP3Config"
        snmp_enabled:
          default: false
          type: boolean
        snmp_version:
          enum:
            - v2c
            - v3
          type: string
      type: object
    ScopeEnum:
      enum:
        - UNIVERSAL
        - GLOBAL
      type: string
    SearchMembershipCriteria:
      properties:
        entity_type:
          $ref: "#/components/schemas/AllEntityType"
        filter:
          description: As defined in search end point
          type: string
      type: object
    SearchRequest:
      properties:
        cursor:
          type: string
        entity_type:
          $ref: "#/components/schemas/AllEntityType"
        filter:
          description: query filter
          type: string
        size:
          format: int32
          type: integer
        sort_by:
          $ref: "#/components/schemas/SortByClause"
        time_range:
          $ref: "#/components/schemas/TimeRange"
      type: object
    SecurityTag:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            description:
              type: string
            direct_security_groups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            nsx_manager:
              $ref: "#/components/schemas/Reference"
            security_groups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            vendor_id:
              type: string
    SimpleListResponse:
      properties:
        results:
          items:
            $ref: "#/components/schemas/EntityId"
          type: array
        total_count:
          type: integer
      type: object
    SimplePortRange:
      properties:
        end:
          format: int32
          type: integer
        start:
          format: int32
          type: integer
      type: object
    SortByClause:
      properties:
        field:
          type: string
        order:
          enum:
            - ASC
            - DESC
          type: string
      type: object
    SwitchDataSource:
      allOf:
        - $ref: "#/components/schemas/BaseDataSource"
        - properties:
            credentials:
              $ref: "#/components/schemas/PasswordCredentials"
    SwitchDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/BaseDataSourceRequest"
        - properties:
            credentials:
              $ref: "#/components/schemas/PasswordCredentials"
    Tier:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            application:
              $ref: "#/components/schemas/Reference"
            group_membership_criteria:
              items:
                $ref: "#/components/schemas/GroupMembershipCriteria"
              type: array
    TierListResponse:
      properties:
        results:
          items:
            $ref: "#/components/schemas/Tier"
          type: array
      type: object
    TierRequest:
      example:
        group_membership_criteria:
          - membership_type: SearchMembershipCriteria
            search_membership_criteria:
              entity_type: VirtualMachine
              filter: security_groups.entity_id = '18230:82:604573173'
        name: tier-1
      properties:
        group_membership_criteria:
          items:
            $ref: "#/components/schemas/GroupMembershipCriteria"
          type: array
        name:
          type: string
      type: object
    TimeRange:
      properties:
        end_time:
          format: int64
          type: integer
        start_time:
          format: int64
          type: integer
      type: object
    Token:
      properties:
        expiry:
          description: expiry epoch time in secs.
          format: int64
          type: integer
        token:
          type: string
      type: object
    UCSManagerDataSource:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    UCSManagerDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/SwitchDataSource"
    UserCredential:
      properties:
        domain:
          $ref: "#/components/schemas/Domain"
        password:
          example: password
          type: string
        username:
          example: admin@vrni.com
          type: string
      type: object
    VCDatacenter:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
      type: object
    VCenterDataSource:
      allOf:
        - $ref: "#/components/schemas/BaseDataSource"
        - properties:
            credentials:
              $ref: "#/components/schemas/PasswordCredentials"
      example:
        credentials:
          password: thePassword
          username: admin@vsphere.local
        enabled: true
        entity_type: VCenterDataSource
        fqdn: go.vc.org
        id: 1000:33:12890123
        ip: 192.168.10.1
        nickname: vc1
        notes: VC 1
        proxy_id: 1000:104:12313412
    VCenterDataSourceRequest:
      allOf:
        - $ref: "#/components/schemas/BaseDataSourceRequest"
        - properties:
            credentials:
              $ref: "#/components/schemas/PasswordCredentials"
    VCenterManager:
      allOf:
        - $ref: "#/components/schemas/BaseManager"
        - properties:
            fqdn:
              type: string
            ip_address:
              $ref: "#/components/schemas/IpV4Address"
            nsx_manager:
              $ref: "#/components/schemas/Reference"
            vm:
              $ref: "#/components/schemas/Reference"
    VPC:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            cidr_block:
              $ref: "#/components/schemas/IpV4Address"
            default_vpc:
              type: boolean
            last_synched_time:
              format: int64
              type: integer
            region:
              type: string
            state:
              type: string
            vendor_id:
              type: string
    VersionResponse:
      properties:
        api_version:
          type: string
      type: object
    VirtualMachine:
      allOf:
        - $ref: "#/components/schemas/BaseVirtualMachine"
        - properties:
            applied_to_destination_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            applied_to_source_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            cluster:
              $ref: "#/components/schemas/Reference"
            datacenter:
              $ref: "#/components/schemas/Reference"
            datastores:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            destination_inversion_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            folders:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            host:
              $ref: "#/components/schemas/Reference"
            layer2_networks:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            nsx_manager:
              $ref: "#/components/schemas/Reference"
            resource_pool:
              $ref: "#/components/schemas/Reference"
            security_tags:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            source_inversion_rules:
              items:
                $ref: "#/components/schemas/RuleSet"
              type: array
            vcenter_manager:
              $ref: "#/components/schemas/Reference"
            vendor_id:
              type: string
            vlans:
              items:
                $ref: "#/components/schemas/Vlan"
              type: array
    Vlan:
      properties:
        begin:
          type: integer
          x-searchable: true
        end:
          type: integer
      type: object
    VlanL2Network:
      allOf:
        - $ref: "#/components/schemas/BaseL2Network"
        - properties:
            distributed_virtual_portgroups:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            distributed_virtual_switches:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            vlan_id:
              type: string
    Vmknic:
      allOf:
        - $ref: "#/components/schemas/BaseEntity"
        - properties:
            host:
              $ref: "#/components/schemas/Reference"
            ip_addresses:
              items:
                $ref: "#/components/schemas/IpV4Address"
              type: array
            layer2_network:
              $ref: "#/components/schemas/Reference"
            vlan:
              $ref: "#/components/schemas/Vlan"
    Vnic:
      allOf:
        - $ref: "#/components/schemas/BaseVnic"
    VxlanLayer2Network:
      allOf:
        - $ref: "#/components/schemas/BaseL2Network"
        - properties:
            nsx_managers:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
            scope:
              $ref: "#/components/schemas/ScopeEnum"
            segment_id:
              format: int32
              type: integer
            vteps:
              items:
                $ref: "#/components/schemas/Reference"
              type: array
  securitySchemes:
    ApiKeyAuth:
      description: API Key - NetworkInsight {token}
      in: header
      name: Authorization
      type: apiKey
